@charset "UTF-8";
@font-face {
  font-family: 'LyonDisplay-Light';
  src: url("../fonts/LyonDisplay-Light.otf");
}

@font-face {
  font-family: 'LyonText-Regular';
  src: url("../fonts/LyonText-Regular.otf");
}

/* *******************************
 * CORE TOTOKAELO STYLES
 * VARIABLES AND MIXINS
 * ******************************* */
/* *******************************
 * HEADERS
 * ******************************* */
/*
 * tk-h1 - used for big page headers
 */
/*
 * tk-h2 - used as subheader
 */
/*
 * tk-h3 - used as subheader
 */
/*
 * tk-h4 - quaternary header
 */
/*
 * tk-h5 - used as subheader
 */
/* *******************************
 * LINKS
 * ******************************* */
/*
 * tk-l1 - primary link
 */
/*
 * tk-l2 - secondary link
 */
/*
 * tk-l3 - tertiary link
 */
/*
 * tk-l4 - quaternary link
 */
/*
 * tk-h2 - quinary link
 */
/* *******************************
 * BODY TEXT
 * ******************************* */
/*
 * tk-p1 - primary body text
 */
/*
 * tk-p2 - secondary body text
 */
/* *******************************
 * HEADERS
 * ******************************* */
/*
 * tk-h1 - used for big page headers
 */
/*
 * tk-h2 - used as subheader
 */
/*
 * tk-h3 - used as subheader
 */
/*
 * tk-h4 - quaternary header
 */
/*
 * tk-h5 - used as subheader
 */
/* *******************************
 * LINKS
 * ******************************* */
/*
 * tk-l1 - primary link
 */
/*
 * tk-l2 - secondary link
 */
/*
 * tk-l3 - tertiary link
 */
/*
 * tk-l4 - quaternary link
 */
/*
 * tk-h2 - quinary link
 */
/* *******************************
 * BODY TEXT
 * ******************************* */
/*
 * tk-p1 - primary body text
 */
/*
 * tk-p2 - secondary body text
 */
/* *******************************
 * CORE TOTOKAELO STYLES
 * VARIABLES AND MIXINS
 * ******************************* */
/* *******************************
 * HEADERS
 * ******************************* */
/*
 * tk-h1 - used for big page headers
 */
/*
 * tk-h2 - used as subheader
 */
/*
 * tk-h3 - used as subheader
 */
/*
 * tk-h4 - quaternary header
 */
/*
 * tk-h5 - used as subheader
 */
/* *******************************
 * LINKS
 * ******************************* */
/*
 * tk-l1 - primary link
 */
/*
 * tk-l2 - secondary link
 */
/*
 * tk-l3 - tertiary link
 */
/*
 * tk-l4 - quaternary link
 */
/*
 * tk-h2 - quinary link
 */
/* *******************************
 * BODY TEXT
 * ******************************* */
/*
 * tk-p1 - primary body text
 */
/*
 * tk-p2 - secondary body text
 */
/* *******************************
 * HEADERS
 * ******************************* */
/*
 * tk-h1 - used for big page headers
 */
/*
 * tk-h2 - used as subheader
 */
/*
 * tk-h3 - used as subheader
 */
/*
 * tk-h4 - quaternary header
 */
/*
 * tk-h5 - used as subheader
 */
/* *******************************
 * LINKS
 * ******************************* */
/*
 * tk-l1 - primary link
 */
/*
 * tk-l2 - secondary link
 */
/*
 * tk-l3 - tertiary link
 */
/*
 * tk-l4 - quaternary link
 */
/*
 * tk-h2 - quinary link
 */
/* *******************************
 * BODY TEXT
 * ******************************* */
/*
 * tk-p1 - primary body text
 */
/*
 * tk-p2 - secondary body text
 */
/* *******************************
 * CORE TOTOKAELO STYLES
 * VARIABLES AND MIXINS
 * ******************************* */
/* *******************************
 * HEADERS
 * ******************************* */
/*
 * tk-h1 - used for big page headers
 */
/*
 * tk-h2 - used as subheader
 */
/*
 * tk-h3 - used as subheader
 */
/*
 * tk-h4 - quaternary header
 */
/*
 * tk-h5 - used as subheader
 */
/* *******************************
 * LINKS
 * ******************************* */
/*
 * tk-l1 - primary link
 */
/*
 * tk-l2 - secondary link
 */
/*
 * tk-l3 - tertiary link
 */
/*
 * tk-l4 - quaternary link
 */
/*
 * tk-h2 - quinary link
 */
/* *******************************
 * BODY TEXT
 * ******************************* */
/*
 * tk-p1 - primary body text
 */
/*
 * tk-p2 - secondary body text
 */
/* *******************************
 * HEADERS
 * ******************************* */
/*
 * tk-h1 - used for big page headers
 */
/*
 * tk-h2 - used as subheader
 */
/*
 * tk-h3 - used as subheader
 */
/*
 * tk-h4 - quaternary header
 */
/*
 * tk-h5 - used as subheader
 */
/* *******************************
 * LINKS
 * ******************************* */
/*
 * tk-l1 - primary link
 */
/*
 * tk-l2 - secondary link
 */
/*
 * tk-l3 - tertiary link
 */
/*
 * tk-l4 - quaternary link
 */
/*
 * tk-h2 - quinary link
 */
/* *******************************
 * BODY TEXT
 * ******************************* */
/*
 * tk-p1 - primary body text
 */
/*
 * tk-p2 - secondary body text
 */
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Corrects `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}

/*
 * Corrects `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/*
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/*
 * Addresses styling for `hidden` attribute not present in IE 8/9.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/*
 * 1. Sets default font family to sans-serif.
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

/*
 * Removes default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/*
 * Addresses `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/*
 * Improves readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/*
 * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
 * Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
}

/*
 * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/*
 * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/*
 * Addresses styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/*
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/*
 * Corrects font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/*
 * Improves readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*
 * Sets consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

/*
 * Addresses inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
/*
 * Removes border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/*
 * Corrects overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/*
 * Addresses margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/*
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/*
 * 1. Corrects color not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}

/*
 * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/*
 * Re-set default cursor for disabled elements.
 */
button[disabled],
input[disabled] {
  cursor: default;
}

/*
 * 1. Addresses box sizing set to `content-box` in IE 8/9.
 * 2. Removes excess padding in IE 8/9.
 */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/*
 * Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Removes inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * 1. Removes default vertical scrollbar in IE 8/9.
 * 2. Improves readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ============================================ *
 * Reset
 * ============================================ */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-tap-highlight-color: transparent;
  /* Prevent tap highlight on iOS/Android */
  -webkit-text-size-adjust: 100%;
  /* Prevent automatic scaling on iOS */
}

body {
  background: #FFFFFF;
  color: #000000;
  line-height: 1;
}

html,
body,
img,
fieldset,
abbr,
acronym {
  border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

th,
code,
cite,
caption {
  font-weight: normal;
  font-style: normal;
  text-align: left;
}

address {
  font-style: normal;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

img {
  display: block;
}

ol,
ul {
  list-style: none;
}

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

input:focus,
input[type="search"]:focus {
  outline-offset: -2px;
}

input[type="search"] {
  -webkit-appearance: none;
  /* 1 */
  -webkit-box-sizing: border-box;
  /* 2 */
  box-sizing: border-box;
}

/* ============================================ *
 * Base Styles
 * ============================================ */
@-ms-viewport {
  width: device-width;
}

@-o-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

a, button {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

body,
button,
input,
select,
table,
textarea {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  color: #111;
  font-size: 12px;
  line-height: 14px;
}

a {
  color: #0645AD;
  text-decoration: none;
}

a:hover {
  color: #053b94;
  text-decoration: underline;
}

a:focus {
  outline: none !important;
}

b, strong {
  font-weight: normal;
}

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

/* ============================================ *
 * Shared Classes
 * ============================================ */
.address-list address {
  margin-bottom: 1em;
}

.availability {
  margin-bottom: 0;
  font-size: 12px;
  text-transform: uppercase;
}

.availability .label {
  display: none;
}

.availability.in-stock {
  color: #FAFAFA;
}

.availability.available-soon,
.availability.out-of-stock {
  color: #DC2022;
}

.availability-only {
  color: #DC2022;
  margin-bottom: 10px;
}

/* -------------------------------------------- *
 * Page Titles
 */
/* -------------------------------------------- *
 * Block Module
 */
.block,
.col-left-first {
  margin-bottom: 20px;
}

.col-left-first .block:last-of-type {
  margin-bottom: 0;
}

.block-title {
  position: relative;
  padding: 10px 0 0;
  margin-bottom: 5px;
  border-top: 1px solid #000;
}

.block-title h2,
.block-title h3,
.block-title strong {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
  color: #111;
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: 600;
}

.block-title small {
  font-size: 100%;
  font-weight: normal;
  color: #9B9B9B;
}

body:not(.customer-account) .block:first-child .block-title {
  border-top: none;
  padding-top: 0;
}

.block-subtitle {
  font-weight: bold;
  margin-bottom: 7px;
}

.block-content {
  margin-top: 5px;
}

.block-content.unpad {
  padding: 0;
}

.block-content li.item {
  margin: 0 0 10px 9px;
}

.block-content li.item:last-child {
  margin-bottom: 0;
}

.block .actions {
  margin: 10px 0 0;
}

.block .actions:after {
  content: '';
  display: table;
  clear: both;
}

.block .actions a {
  float: left;
}

.block .actions .button {
  float: right;
}

.col-left .block .actions .button ~ a,
.col-right .block .actions .button ~ a {
  line-height: 33px;
  margin-right: 5px;
}

@media only screen and (max-width: 770px) {
  .sidebar .block:not(.block-layered-nav) {
    margin-bottom: 0;
  }
  .sidebar .block:not(.block-layered-nav) .block-title {
    padding: 0;
    margin-top: 0;
    border-bottom: none;
    border-top: none;
    margin-bottom: 0;
  }
  .sidebar .block:not(.block-layered-nav) .block-title > strong {
    font-family: akzidenz-grotesk, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #000;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 1px;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-weight: normal;
    margin-bottom: 0px;
    padding: 7px 10px 7px 24px;
    border-width: 1px;
    border-style: solid;
    border-color: #000;
    position: relative;
    background-color: #F4F4F4;
    display: block;
    width: 100%;
    cursor: pointer;
    border-bottom: 0;
  }
  .sidebar .block:not(.block-layered-nav) .block-title > strong:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #0645AD;
    border-right: none;
    left: 10px;
    top: 50%;
    margin-top: -3px;
  }
  .sidebar .block:not(.block-layered-nav) .block-title > strong:hover {
    background-color: shade(#F4F4F4, 3%);
  }
  .sidebar .block:not(.block-layered-nav) .block-title.active > strong {
    font-family: akzidenz-grotesk, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #000;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 1px;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-weight: normal;
    margin-bottom: 0px;
    padding: 7px 10px 7px 24px;
    border-width: 1px;
    border-style: solid;
    border-color: #000;
    position: relative;
    background-color: #F4F4F4;
  }
  .sidebar .block:not(.block-layered-nav) .block-title.active > strong:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #0645AD;
    border-bottom: none;
    left: 10px;
    top: 50%;
    margin-top: -3px;
  }
  .sidebar .block:not(.block-layered-nav) .block-title.active > strong:hover {
    background-color: shade(#F4F4F4, 3%);
  }
  .sidebar .block:not(.block-layered-nav) .block-content {
    padding: 10px;
    margin-top: 0;
    border-width: 0 1px;
    border-style: solid;
    border-color: #000;
  }
  .sidebar .block:last-of-type {
    border-bottom: 1px solid #000;
  }
}

/* -------------------------------------------- *
 * Secondary Navigation
 */
.block-account .block-title,
.block-cms-menu .block-title {
  padding-top: 0;
  border-top: none;
}

.block-account li,
.block-cms-menu li {
  text-transform: uppercase;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  margin: 7px 0;
}

.block-account li strong,
.block-cms-menu li strong {
  font-weight: 400;
  color: #0645AD;
}

.block-account li a,
.block-cms-menu li a {
  color: #111;
}

.block-account li a:hover,
.block-cms-menu li a:hover {
  color: #0645AD;
}

/* ============================================ *
 * Buttons
 * ============================================ */
/* Secondary Buttons */
.cart .buttons-set .button,
.cart-table .button,
.sidebar .actions .button,
.button.button-secondary {
  background: #DDDDDD;
  color: #111;
  padding: 7px 15px;
}

.cart .buttons-set .button:hover,
.cart-table .button:hover,
.sidebar .actions .button:hover,
.button.button-secondary:hover {
  background: #d0d0d0;
  cursor: pointer;
}

.cart .buttons-set .button:active,
.cart-table .button:active,
.sidebar .actions .button:active,
.button.button-secondary:active {
  background: #c4c4c4;
  color: #111;
}

.cart .buttons-set .button:focus,
.cart-table .button:focus,
.sidebar .actions .button:focus,
.button.button-secondary:focus {
  color: #111;
  background: #c4c4c4;
  outline: none;
}

.sidebar .actions button.button {
  white-space: normal;
}

/* Primary Buttons */
.button,
.cart-table .product-cart-actions .button,
#co-shipping-method-form .buttons-set .button,
.footer .button {
  /*
    background: $c-button;
    display: inline-block;
    padding: 7px 15px;
    border: 0;
    color: #FFFFFF;
    font-size: $f-size-s;
    font-weight: normal;
    font-family: $f-stack-special;
    line-height: 19px;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
    white-space: nowrap;

    &:hover {
        background: $c-button-hover;
        cursor: pointer;
    }
    &:active {
        background: $c-button-active;
        color: #FFFFFF;
    }
    &:focus {
        background-color: $c-button-active;
        outline: none;
        color: #FFFFFF;
    }
    */
}

a.button {
  text-decoration: none;
}

a.button:hover {
  color: #FFFFFF;
}

/* Disabled - class for anchor, state for form elements */
.button.disabled,
.button:disabled {
  background: #C8C8C8;
  opacity: 0.6;
  cursor: not-allowed;
}

/* Adjacent buttons */
.button + .button {
  margin-left: 5px;
}

.button2 {
  border: 0;
  padding: 0 5px;
  margin: 0;
  background: transparent;
  cursor: pointer;
  vertical-align: middle;
}

.button2:focus {
  outline: none;
}

.button2 span,
.button2 span span {
  line-height: 30px;
  height: 30px;
  text-decoration: underline;
  text-transform: uppercase;
  display: inline-block;
  color: #0645AD;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.button2 span:hover,
.button2 span span:hover {
  text-decoration: none;
  color: #032863;
}

@media only screen and (max-width: 770px) {
  .col2-set .buttons-set .button,
  .col2-set .buttons-set .button2 {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .col2-set .buttons-set .back-link {
    display: none;
  }
  .col2-set .buttons-set .required {
    display: none;
  }
}

@media only screen and (max-width: 359px) {
  .buttons-set .button {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 7px;
  }
  .buttons-set .back-link {
    display: none;
  }
  .buttons-set .required {
    display: none;
  }
}

/* -------------------------------------------- *
 * Paypal Button
 */
.paypal-logo.paypal-after {
  float: left;
}

.paypal-after .paypal-or {
  float: left;
}

.paypal-or {
  line-height: 34px;
  margin: 0px 10px 5px;
}

.paypal-after .paypal-button {
  float: left;
}

.paypal-button {
  line-height: 0px;
}

.paypal-button img {
  display: inline;
}

@media only screen and (max-width: 740px) {
  .paypal-or {
    line-height: 20px;
  }
  .paypal-logo,
  .paypal-or,
  .paypal-button {
    text-align: center;
    width: 100%;
    display: block;
    margin-right: 0;
    margin-left: 0;
    float: none;
  }
}

/* -------------------------------------------- *
 * Button Sets
 */
.buttons-set {
  clear: both;
  margin: 10px 0 0;
  padding-top: 10px;
  border-top: 1px solid #EDEDED;
  text-align: right;
}

.buttons-set p.required {
  margin: 0;
  margin-left: 10px;
  line-height: 33px;
  float: right;
}

.buttons-set .back-link {
  float: left;
  margin: 0;
  line-height: 33px;
}

.buttons-set a:not(.button) {
  line-height: 20px;
  display: inline-block;
  padding: 5px;
}

.buttons-set button.button {
  float: right;
  margin-left: 5px;
  min-width: 140px;
}

.buttons-set:after {
  content: '';
  display: table;
  clear: both;
}

/* -------------------------------------------- *
 * Icons
 */
.icon-sprite, .btn-remove2, .ratings .rating-box, .ratings .rating-box .rating, .sorter > .sort-by .sort-by-switcher, .sorter > .view-mode .grid,
.sorter > .view-mode .list, .skip-nav .icon, .skip-search .icon, #search_mini_form .search-button:before, .skip-account .icon, .skip-cart .icon, .product-view .sharing-links a, .review-summary-table .rating-box .rating-number:after, .ratings-table .rating-box, .ratings-table .rating-box .rating {
  background-image: url(../images/icon_sprite.png);
  background-repeat: no-repeat;
  text-indent: -9999px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .icon-sprite, .btn-remove2, .ratings .rating-box, .ratings .rating-box .rating, .sorter > .sort-by .sort-by-switcher, .sorter > .view-mode .grid,
  .sorter > .view-mode .list, .skip-nav .icon, .skip-search .icon, #search_mini_form .search-button:before, .skip-account .icon, .skip-cart .icon, .product-view .sharing-links a, .review-summary-table .rating-box .rating-number:after, .ratings-table .rating-box, .ratings-table .rating-box .rating {
    background-image: url(../images/icon_sprite@2x.png);
    background-size: 100px 1000px;
  }
}

/* -------------------------------------------- *
 * Breadcrumbs
 */
.breadcrumbs {
  display: none;
  overflow: hidden;
  margin: -15px 0 15px;
}

.breadcrumbs li {
  float: left;
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  text-transform: uppercase;
}

.breadcrumbs a {
  float: left;
  color: #111;
}

.breadcrumbs a:hover {
  color: #0645AD;
}

.breadcrumbs strong {
  color: #111;
  font-weight: normal;
}

.breadcrumbs span {
  float: left;
  padding: 0 7px;
}

@media only screen and (max-width: 770px) {
  .breadcrumbs {
    display: none;
  }
}

/* -------------------------------------------- *
 * Button - Remove / Previous
 */
.btn-remove,
.btn-previous {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 1px solid #EDEDED;
  text-align: center;
  /* Hide text */
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  position: relative;
}

.btn-remove:hover,
.btn-previous:hover {
  background-color: #0645AD;
  border-color: #0645AD;
}

.btn-remove:after {
  content: 'X';
  color: #0645AD;
  height: 20px;
  line-height: 20px;
  width: 100%;
  font-size: 10px;
  font-family: Arial, akzidenz-grotesk, Arial, sans-serif;
  font-weight: bold;
}

.btn-remove:hover:after {
  color: #FFFFFF;
  text-decoration: none;
}

.btn-remove2 {
  background-position: 4px -648px;
  border: none;
  vertical-align: top;
}

.btn-remove2:after {
  display: none;
}

.btn-remove2:hover {
  background-color: transparent;
  opacity: 0.8;
}

.btn-previous:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid #0645AD;
  border-left: none;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -2px;
  margin-top: -4px;
}

.btn-previous:hover:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid #FFFFFF;
  border-left: none;
}

.block-layered-nav .currently .btn-remove,
.block-layered-nav .currently .btn-previous,
.mini-products-list .btn-remove,
.mini-products-list .btn-previous,
#compare-items .btn-remove,
#compare-items .btn-previous {
  float: right;
  margin-left: 6px;
}

/* -------------------------------------------- *
 * Checkout Agreements
 */
.checkout-agreements li {
  margin-bottom: 20px;
}

.checkout-agreements .agreement-content {
  overflow-y: auto;
  max-width: 670px;
  max-height: 125px;
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid #000;
  background: #F4F4F4;
}

/* -------------------------------------------- *
 * CVV Security Code
 */
.cvv-what-is-this {
  margin-left: 10px;
  font-size: 12px;
  line-height: 24px;
}

/* -------------------------------------------- *
 * Container
 */
.main-container,
.footer-container {
  position: relative;
  max-width: inherit;
  margin: 0 auto;
  padding: 30px;
}

.main-container:after,
.footer-container:after {
  content: '';
  display: table;
  clear: both;
}

/*
@include bp(min-width, 480px) {

    .main-container,
    .footer-container {
        padding: $trim;
    }
}
*/
.footer-container {
  padding-top: 0px;
}

/* -------------------------------------------- *
 * Column Layouts
 */
.main:after,
.col-wrapper:after {
  content: '';
  display: table;
  clear: both;
}

.col-left,
.col-right,
.col-main {
  padding: 0 10px;
}

.col-left {
  float: left;
  width: 25%;
  padding-left: 0;
  /* Remove the 15px padding */
  clear: left;
}

.col-left img {
  max-width: 100%;
}

.col-right {
  float: right;
  width: 25%;
  padding-right: 0;
  /* Remove the 15px padding */
}

.col-right img {
  max-width: 100%;
}

.col-main {
  float: left;
  width: 75%;
}

.col1-layout .col-main {
  float: none;
  width: auto;
  padding: 0;
  /* Remove the 15px padding */
}

.col2-left-layout .col-main {
  float: right;
  padding-right: 0;
  /* Remove the 15px padding */
}

.col2-right-layout .col-main {
  padding-left: 0;
  /* Remove the 15px padding */
}

.col3-layout .col-right {
  width: 20.83333%;
}

.col3-layout .col-wrapper {
  float: left;
  width: 79.16667%;
}

.col3-layout .col-wrapper .col-main {
  float: right;
  width: 73.68421%;
}

.col3-layout .col-wrapper .col-left {
  width: 26.31579%;
}

@media only screen and (max-width: 1000px) {
  .col3-layout .col-right {
    float: left;
    clear: left;
    padding-left: 0;
    padding-right: 10px;
    width: 25%;
  }
  .col3-layout .col-wrapper {
    float: right;
    width: 100%;
  }
  .col3-layout .col-wrapper .col-main {
    float: right;
    width: 75%;
  }
  .col3-layout .col-wrapper .col-left {
    width: 25%;
  }
}

@media only screen and (max-width: 770px) {
  .col-left,
  .col-right,
  .col-main,
  .col1-layout .col-left,
  .col1-layout .col-right,
  .col1-layout .col-main,
  .col2-left-layout .col-left,
  .col2-left-layout .col-right,
  .col2-left-layout .col-main,
  .col2-right-layout .col-left,
  .col2-right-layout .col-right,
  .col2-right-layout .col-main,
  .col3-layout .col-wrapper .col-left,
  .col3-layout .col-right,
  .col3-layout .col-wrapper .col-main {
    padding: 0;
    margin-bottom: 10px;
    float: none;
    width: auto;
  }
  .col3-layout .col-wrapper {
    float: none;
    width: auto;
  }
  .col-main {
    float: none;
    width: auto;
  }
  .col-main .col-left {
    padding: 0;
    /* On product listing pages, the left column gets moved inside col-main on small viewports */
  }
}

/* Content Columns */
.col2-set {
  width: 100%;
}

.col2-set .col-1,
.col2-set .col-2 {
  width: 50%;
  padding: 20px;
}

@media only screen and (max-width: 770px) {
  .col2-set .col-1,
  .col2-set .col-2 {
    padding: 10px;
  }
}

.col2-set .col-1 {
  float: left;
  padding-left: 0;
}

.col2-set .col-2 {
  float: right;
  padding-right: 0;
}

@media only screen and (max-width: 359px) {
  .col2-set .col-1,
  .col2-set .col-2 {
    float: none;
    width: auto;
    border: 0;
    padding-right: 0;
    padding-left: 0;
  }
}

.col2-set .narrow {
  width: 33%;
}

.col2-set .wide {
  width: 65%;
}

.col2-set:after {
  content: '';
  display: table;
  clear: both;
}

/* -------------------------------------------- *
 * Top Container
 */
@media only screen and (min-width: 771px) {
  .top-container {
    max-width: inherit;
    margin: 0 auto;
    padding: 0 30px;
  }
}

/* -------------------------------------------- *
 * Global Site Notice
 */
.global-site-notice {
  background: #676157;
  color: #E6E6E6;
  font-size: 12px;
}

.global-site-notice .notice-inner {
  padding-left: 120px;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  line-height: 12px;
  min-height: 40px;
  padding-top: 14px;
  padding-bottom: 14px;
  background-image: url("../images/demo-logo.png");
  background-position: left;
  background-repeat: no-repeat;
}

.global-site-notice p {
  margin-bottom: 0;
}

/* -------------------------------------------- *
 * Promotional Message Banner
 */
.promo-msg {
  color: #111;
  text-align: center;
  margin: 10px;
  text-transform: uppercase;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

/* -------------------------------------------- *
 * Grid
 */
.grid:after {
  content: '';
  display: table;
  clear: both;
}

/* -------------------------------------------- *
 * Messages
 */
.success {
  color: #FAFAFA;
}

.error {
  color: #DC2022;
  font-weight: bold;
}

.notice {
  color: #FAFAFA;
  font-weight: bold;
}

/* -------------------------------------------- *
 * Messages
 */
.messages {
  margin-bottom: 10px;
}

.messages li li {
  text-align: center;
  position: relative;
  margin-bottom: 5px;
  padding: 7px 10px 7px 20px;
  background: #F4F4F4;
  font-size: 12px;
  text-transform: uppercase;
}

.messages .error-msg li {
  color: #DC2022;
  background-color: #DC2022;
}

.messages .notice-msg li {
  color: #FAFAFA;
  background-color: #DC2022;
}

.messages .success-msg li {
  color: #FAFAFA;
  background-color: #2D9955;
}

@media only screen and (min-width: 915px) {
  .order-list-grid .col-1 {
    width: 30%;
  }
  .order-list-grid .col-2 {
    width: 50%;
    padding-right: 20px;
  }
  .order-list-grid .col-3 {
    clear: none;
    width: 20%;
    padding-top: 0;
  }
}

/* -------------------------------------------- *
 * Page Popup
 */
.page-popup {
  padding: 20px;
  background: #FFFFFF;
  height: auto;
}

.page-popup h1 {
  margin: 0 0 0.5em;
}

/* -------------------------------------------- *
 * Payment Methods
 */
.payment-methods {
  margin-bottom: 20px;
}

.payment-methods dt {
  padding: 5px 0;
}

.payment-methods dd {
  padding-top: 10px;
}

.payment-methods .form-list {
  position: relative;
  display: inline-block;
  max-width: 100%;
  margin: 5px 15px 15px;
  padding: 15px;
  border: 1px solid #000;
  background: #F4F4F4;
}

.payment-methods .form-list:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid #000;
  border-top: none;
  top: -11px;
  left: 30px;
}

.payment-methods .form-list:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid #F4F4F4;
  border-top: none;
  top: -10px;
  left: 30px;
}

.payment-methods .form-list li:last-child {
  margin-bottom: 0;
}

/* -------------------------------------------- *
 * Please Wait (Loading Indicator)
 */
.please-wait {
  display: inline-block;
  margin-left: 10px;
  margin-top: 5px;
  line-height: 24px;
  height: 24px;
  white-space: nowrap;
  /* Prevent the linebreak in the HTML from causing layout issues */
}

.please-wait img {
  float: left;
  margin-right: 5px;
  width: 24px;
}

/* -------------------------------------------- *
 * Price Box - Standard
 */
.price-box {
  margin: 7px 0;
}

.price-box p {
  margin-bottom: 0;
}

.price-notice {
  color: #9B9B9B;
}

.price-box .price-label {
  white-space: nowrap;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.price-box .minimal-price-link {
  padding-left: 1em;
  display: block;
  /* We want this to show on its own line, otherwise the layout looks funky */
}

/* -------------------------------------------- *
 * Price Box - Special
 */
.price-box .old-price,
.price-box .special-price {
  display: inline-block;
}

.price-box .old-price .price-label,
.price-box .special-price .price-label {
  display: none;
}

.price-box .old-price .price,
.price-box .special-price .price {
  display: inline-block;
}

.price-box .old-price .price {
  color: #000;
  text-decoration: line-through;
}

.price-box .special-price {
  color: #DC2022;
  padding-left: 1em;
}

.price-box .special-price .price-label {
  color: #DC2022;
}

/* -------------------------------------------- *
 * Price Box - Taxes
 */
.price-box .price-excluding-tax,
.price-box .price-including-tax {
  display: block;
}

span.weee {
  display: block;
}

/* -------------------------------------------- *
 * Tier Prices
 */
.product-pricing,
.tier-prices,
.tier-prices-grouped {
  display: inline-block;
  padding: 4px 8px;
  background: #FBF4DE;
  border: 1px solid #E2D4C7;
  margin-top: 7px;
}

.product-pricing li,
.tier-prices li,
.tier-prices-grouped li {
  font-size: 12px;
}

.product-pricing .benefit,
.tier-prices .benefit,
.tier-prices-grouped .benefit {
  font-style: italic;
}

.product-pricing .price,
.tier-prices .price,
.tier-prices-grouped .price {
  font-weight: bold;
}

/* ============================================ *
 * Item Options
 * ============================================ */
.item-options {
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.item-options:after {
  content: '';
  display: table;
  clear: both;
}

.item-options dt {
  float: left;
  clear: left;
  font-weight: 600;
  padding-right: 5px;
  font-style: italic;
}

.item-options dt:after {
  content: ': ';
}

.item-options dd {
  float: left;
  padding-left: 10px;
  margin: 0 0 6px;
}

.truncated,
.truncated a.dots {
  cursor: help;
}

.truncated a.details {
  cursor: help;
  height: 16px;
  line-height: 16px;
}

.truncated a.details:hover {
  text-decoration: none;
}

.truncated .truncated_full_value {
  position: relative;
  z-index: 300;
}

.truncated .truncated_full_value .item-options {
  display: none;
  position: absolute;
  z-index: 300;
  width: 200px;
  padding: 8px;
  border: 1px solid #0645AD;
  background-color: #F6F6F6;
  top: 21px;
  left: -100px;
}

.truncated .truncated_full_value .item-options:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #0645AD;
  border-top: none;
  left: 97px;
  top: -7px;
}

.truncated .truncated_full_value .item-options > p {
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.truncated .show .item-options {
  display: block;
}

@media only screen and (max-width: 359px) {
  .truncated {
    cursor: inherit;
  }
  .truncated a.details {
    display: none;
  }
  .truncated .truncated_full_value .item-options {
    display: block;
    position: static;
    z-index: 1;
    width: 100%;
    border: none;
    background-color: transparent;
  }
  .truncated .truncated_full_value .item-options p {
    float: none;
  }
  .truncated .truncated_full_value .item-options:after {
    display: none;
  }
}

/* -------------------------------------------- *
 * Printer Friendly Page
 */
.page-print {
  width: 6.5in;
  margin: 20px;
  background: #FFFFFF;
}

/* -------------------------------------------- *
 * Add to links
 */
.add-to-links {
  margin: 7px 0;
}

.add-to-links a {
  display: inline-block;
  padding: 0px 3px 3px;
}

.add-to-links .separator {
  display: none;
}

/* -------------------------------------------- *
 * Product Image
 */
.product-image,
.no-touch .product-img-box .product-image:not(.zoom-available):hover {
  position: relative;
  display: block;
}

/*
@include bp (max-width, $bp-medium) {
    body .product-img-box .product-image:hover {
    }
}

.no-touch .product-image:hover {
}
*/
/* -------------------------------------------- *
 * Ratings
 */
.ratings {
  margin: 7px 0;
}

.ratings .rating-box,
.ratings .rating-links {
  margin: 5px 0;
}

.ratings .rating-box {
  width: 65px;
  height: 13px;
  background-repeat: repeat-x;
  background-position: 0 -615px;
  overflow: hidden;
}

.ratings .rating-box .rating {
  float: left;
  height: 13px;
  background-repeat: repeat-x;
  background-position: 0 -600px;
}

.ratings .amount {
  display: block;
  margin: 5px auto;
}

.ratings .rating-links .separator {
  margin: 0 3px;
}

/* -------------------------------------------- *
 * Standard Formatted Text Block
 */
.std p {
  margin: 0 0 10px;
}

.std ol {
  margin-bottom: 10px;
}

.std ul {
  margin-bottom: 10px;
}

.std .note {
  color: #9B9B9B;
  font-size: 12px;
}

/* -------------------------------------------- *
 * Tabs
 */
.tabs {
  margin-bottom: 10px;
  background: #FFFFFF;
}

/* -------------------------------------------- *
 * Toolbar
 */
.toolbar {
  margin-top: 10px;
  margin-bottom: 15px;
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  background: #F4F4F4;
  padding: 5px 10px 0px 10px;
}

.toolbar:after {
  content: '';
  display: table;
  clear: both;
}

.pager-no-toolbar {
  margin-bottom: 10px;
}

.pager-no-toolbar ~ .pager-no-toolbar {
  margin-top: 10px;
}

.toolbar,
.pager {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  color: #111;
  line-height: 30px;
  font-size: 12px;
}

.toolbar label,
.pager-no-toolbar label {
  font-weight: normal;
  text-transform: uppercase;
}

.sorter {
  float: left;
  margin-bottom: 5px;
}

.sorter label {
  float: left;
  margin-right: 5px;
}

.sorter label:after {
  content: ':';
}

.sorter > .sort-by {
  float: left;
  margin-right: 5px;
  height: 30px;
}

.sorter > .sort-by .sort-by-switcher {
  width: 30px;
  height: 30px;
  display: inline-block;
}

.sorter > .sort-by .sort-by-switcher--asc {
  background-position: 4px -542px;
}

.sorter > .sort-by .sort-by-switcher--asc:hover {
  background-position: -46px -542px;
}

.sorter > .sort-by .sort-by-switcher--desc {
  background-position: 4px -567px;
}

.sorter > .sort-by .sort-by-switcher--desc:hover {
  background-position: -46px -567px;
}

.sorter > .view-mode {
  float: right;
}

.sorter > .view-mode .grid,
.sorter > .view-mode .list {
  float: left;
  width: 30px;
  height: 30px;
}

.sorter > .view-mode .grid {
  margin-right: 5px;
  background-position: 8px -492px;
}

.sorter > .view-mode strong.grid,
.sorter > .view-mode a.grid:hover {
  background-position: -42px -492px;
}

.sorter > .view-mode .list {
  background-position: 11px -517px;
}

.sorter > .view-mode strong.list,
.sorter > .view-mode a.list:hover {
  background-position: -39px -517px;
}

.pager {
  float: right;
  overflow: hidden;
}

.pager > .count-container {
  float: left;
}

.pager .amount {
  float: left;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  white-space: nowrap;
  margin: 0 15px 0 0;
}

.pager .limiter {
  float: left;
  height: 30px;
  line-height: 30px;
}

.pager .limiter > label {
  padding-right: 5px;
}

.pager .limiter > label:after {
  content: ':';
}

.pager .amount,
.pager .limiter,
.pager .pages {
  margin-bottom: 5px;
}

.pages {
  float: right;
  overflow: hidden;
  margin-left: 15px;
}

.pages strong {
  display: none;
}

.pages li {
  float: left;
}

.pages a,
.pages .current {
  display: inline-block;
  border: 0;
  font-size: 12px;
  text-align: center;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 30px;
  width: 25px;
  height: 30px;
  padding: 0;
  color: #0645AD;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.pages .current,
.pages .current:hover {
  color: #111;
  border: 1px solid #000;
  width: 30px;
  background-color: #FFFFFF;
  cursor: default;
}

.pages .next,
.pages .previous {
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  background-color: transparent;
  position: relative;
}

.pages .next:hover,
.pages .previous:hover {
  border: 1px solid #0645AD;
}

.pages .next:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 4px solid #0645AD;
  border-right: none;
  top: 50%;
  margin-top: -3px;
  left: 50%;
  margin-left: -2px;
}

.pages .next:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 4px solid #032863;
  border-right: none;
}

.pages .previous:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid #0645AD;
  border-left: none;
  top: 50%;
  margin-top: -3px;
  left: 50%;
  margin-left: -2px;
}

.pages .previous:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid #032863;
  border-left: none;
}

@media only screen and (max-width: 359px) {
  .pager .amount--has-pages {
    display: none;
  }
  .pages {
    float: left;
  }
  .limiter label {
    display: none;
  }
}

@media only screen and (max-width: 770px) {
  .col1-layout .sorter,
  .col1-layout .pager {
    width: 100%;
  }
  .col1-layout .pager {
    float: left;
    clear: both;
  }
  .col1-layout .pager .pages {
    float: left;
    margin-left: 0;
  }
  .col1-layout .pager .count-container {
    float: right;
  }
}

@media only screen and (max-width: 979px) {
  .col2-left-layout .sorter,
  .col2-left-layout .pager,
  .col2-right-layout .sorter,
  .col2-right-layout .pager,
  .col3-layout .sorter,
  .col3-layout .pager {
    width: 100%;
  }
  .col2-left-layout .pager,
  .col2-right-layout .pager,
  .col3-layout .pager {
    float: left;
    clear: both;
  }
  .col2-left-layout .pager .pages,
  .col2-right-layout .pager .pages,
  .col3-layout .pager .pages {
    float: left;
    margin-left: 0;
  }
  .col2-left-layout .pager .count-container,
  .col2-right-layout .pager .count-container,
  .col3-layout .pager .count-container {
    float: right;
  }
}

@media only screen and (max-width: 1279px) {
  .toolbar .view-mode > label {
    display: none;
  }
}

/* ============================================ *
 * Tax - Full Tax Summary
 * ============================================ */
#checkout-review-table .summary-collapse,
#shopping-cart-totals-table .summary-collapse,
body.customer-account .data-table .summary-collapse {
  position: relative;
  cursor: pointer;
}

#checkout-review-table .summary-collapse:before,
#shopping-cart-totals-table .summary-collapse:before,
body.customer-account .data-table .summary-collapse:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 7px solid #0645AD;
  border-bottom: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}

#checkout-review-table .summary-collapse:hover:before,
#shopping-cart-totals-table .summary-collapse:hover:before,
body.customer-account .data-table .summary-collapse:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 7px solid #032863;
  border-bottom: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}

#checkout-review-table .show-details .summary-collapse:before,
#shopping-cart-totals-table .show-details .summary-collapse:before,
body.customer-account .data-table .show-details .summary-collapse:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #0645AD;
  border-top: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}

#checkout-review-table .show-details .summary-collapse:hover:before,
#shopping-cart-totals-table .show-details .summary-collapse:hover:before,
body.customer-account .data-table .show-details .summary-collapse:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #032863;
  border-top: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}

#shopping-cart-totals-table tfoot td .summary-collapse:before, #shopping-cart-totals-table tfoot td .summary-collapse:hover:before {
  margin-bottom: 5px;
}

/* ============================================ *
 * Magento Helpers
 * ============================================ */
.a-center {
  text-align: center;
}

.a-right,
.align-right {
  text-align: right;
}

.no-display {
  display: none !important;
}

.nobr,
.nowrap {
  white-space: nowrap;
}

.width-full {
  width: 100%;
}

/* ============================================ *
 * Custom Helpers
 * ============================================ */
.hidden {
  display: none;
}

/* ============================================ *
 * Print Styles
 * ============================================ */
.page-print .print-head {
  margin: 0 0 15px;
}

.page-print .print-head .logo {
  float: none;
  max-height: 50px;
  width: auto;
}

/* ============================================ *
 * FORMS - COMMON
 * ============================================ */
/* -------------------------------------------- *
 * Fieldsets
 */
.fieldset p {
  margin-bottom: 7px;
}

.fieldset p.required {
  margin-bottom: 5px;
  float: right;
  font-size: 12px;
  margin-top: 0px;
}

.fieldset + .fieldset {
  margin-top: 5px;
}

form .legend {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 15px;
  padding-bottom: 7px;
  border-bottom: 1px solid #EDEDED;
}

/* -------------------------------------------- *
 * Input Box
 */
.input-box {
  padding-top: 2px;
}

.input-box:after {
  content: '';
  display: table;
  clear: both;
}

li.centinel-logos div.input-box img {
  display: inline;
  vertical-align: middle;
}

/* For adjacent select inputs. */
/* Example: credit card expiration month and year. */
.input-box .v-fix {
  float: left;
  margin-right: 5px;
  max-width: 100%;
}

/* -------------------------------------------- *
 * Labels
 */
label {
  display: inline-block;
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-weight: 600;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}

label.required:after,
span.required:after {
  content: ' *';
  color: #DC2022;
  font-weight: normal;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
}

label.required em,
span.required em {
  display: none;
}

/* -------------------------------------------- *
 * Hints
 */
.input-hint {
  color: #9B9B9B;
  font-size: 12px;
}

/* -------------------------------------------- *
 * Select
 */
select {
  border: 1px solid #444;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 5px 15px 5px 10px;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABCJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE3PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xMTwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxkYzpzdWJqZWN0PgogICAgICAgICAgICA8cmRmOkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVjdD4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTctMTAtMzBUMDE6MTA6NjI8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBpeGVsbWF0b3IgMy42PC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo9WpteAAAA00lEQVQoFZWPyw4BQRBFZ0s8QsIvWVv4D5EQGywkVhY+ytfYeCd2nNO6E4PxqOTM7aq6VdOdZfeoIT2ox/yb6NPvXIgG3yVsYQ4l+BT29el3zvmsC2e4Rp2iFXgX1u0/+p3PmrCAE6RFE87PTzO3nhbod875EGW+FpLhwHkG4apRza2nH+l3LhdedQUX0Oibx9CKam7dvr6iJ4fNAwxHcGAP66jm1u2/3IBaLqpkI3CBgwlz6/Z/Cq/ahx24RDUvfAK9t+HAEDZR/16QtrY5dEAtjBupQThnFk4bXwAAAABJRU5ErkJggg==");
  background-size: 10px;
  background-color: white;
  background-position: center right 10px;
  background-repeat: no-repeat;
}

select + select {
  margin-left: 5px;
}

select[multiple] {
  width: 270px;
  border: 1px solid #111;
  font-size: 12px;
  padding: 5px;
}

/* -------------------------------------------- *
 * Textarea
 */
textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 450px;
  padding: 5px;
}

/* -------------------------------------------- *
 * Inputs
 */
.input-text {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 2px;
  border: 1px solid #111;
  background: #FFFFFF;
  font-size: 12px;
}

.input-text:focus {
  border: 1px solid #0645AD;
  outline: none;
}

.input-text.validation-failed {
  border-color: #DC2022;
}

.input-text.validation-failed:focus {
  outline-color: tint(#DC2022, 50%);
}

input[type=email],
input[type=search],
input[type=number],
input[type=password],
input[type=tel],
input[type=text] {
  height: 32px;
  padding: 0 8px;
}

input[type=email],
input[type=search],
input[type=number],
input[type=password],
input[type=tel],
input[type=text] {
  width: 365px;
  max-width: 100%;
}

/* Only show on iPhones (not iPads or any other device) */
@media only screen and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 0) {
  input[type=email],
  input[type=search],
  input[type=number],
  input[type=password],
  input[type=tel],
  input[type=text],
  select {
    font-size: 16px;
    /* Prevent from zooming on focus */
  }
}

.ie8 .input-text {
  max-width: none;
}

/* -------------------------------------------- *
 * Inputs - Quantity
 */
input[type=number].qty,
input[type=text].qty {
  width: 3em;
  text-align: center;
  vertical-align: middle;
}

/* -------------------------------------------- *
 * Placeholder
 */
::-webkit-input-placeholder {
  color: #9B9B9B;
}

input:-moz-placeholder {
  color: #9B9B9B;
}

/* -------------------------------------------- *
 * Checkbox And Radio
 */
.checkbox,
.radio {
  position: relative;
  top: -1px;
  display: inline-block;
}

.checkbox + label,
.radio + label {
  width: auto;
  max-width: 85%;
  padding: 0 0 0 8px;
  font-size: 12px;
  font-weight: normal;
  vertical-align: top;
}

/* -------------------------------------------- *
 * Validation
 */
p.required,
.validation-advice {
  margin: 5px 0 0;
  color: #DC2022;
  font-size: 12px;
}

/* ============================================ *
 * Form List
 * ============================================ */
.form-list > li {
  margin-bottom: 10px;
}

.form-list select {
  margin-top: 4px;
  width: 365px;
  max-width: 100%;
}

.form-list .input-range .input-text {
  width: 74px;
}

.form-list .field,
.form-list .wide,
.form-list .control {
  margin-bottom: 10px;
}

/* Turn the label of controls (radio/checkbox) into a button style that wraps the input */
.form-list .control,
.sp-methods dt,
#checkout-shipping-method-load .sp-methods dd,
#co-shipping-method-form .sp-methods dd,
.product-options ul.options-list {
  /* When a label is next to an input that is set to not display, we should style the label in a non-clickable state */
}

.form-list .control div.input-box,
.sp-methods dt div.input-box,
#checkout-shipping-method-load .sp-methods dd div.input-box,
#co-shipping-method-form .sp-methods dd div.input-box,
.product-options ul.options-list div.input-box {
  display: inline;
  float: left;
}

.form-list .control div.input-box:after,
.sp-methods dt div.input-box:after,
#checkout-shipping-method-load .sp-methods dd div.input-box:after,
#co-shipping-method-form .sp-methods dd div.input-box:after,
.product-options ul.options-list div.input-box:after {
  display: none;
}

.form-list .control input.radio,
.form-list .control input.checkbox,
.sp-methods dt input.radio,
.sp-methods dt input.checkbox,
#checkout-shipping-method-load .sp-methods dd input.radio,
#checkout-shipping-method-load .sp-methods dd input.checkbox,
#co-shipping-method-form .sp-methods dd input.radio,
#co-shipping-method-form .sp-methods dd input.checkbox,
.product-options ul.options-list input.radio,
.product-options ul.options-list input.checkbox {
  float: left;
  margin-right: -40px;
  margin-top: 10px;
  margin-left: 15px;
}

.form-list .control label,
.sp-methods dt label,
#checkout-shipping-method-load .sp-methods dd label,
#co-shipping-method-form .sp-methods dd label,
.product-options ul.options-list label {
  color: #111;
  background-color: #F4F4F4;
  padding: 5px 10px;
  display: inline-block;
  width: auto;
  max-width: none;
  min-width: 250px;
  float: none;
  padding: 6px 10px 6px 40px;
}

.form-list .control label:hover,
.sp-methods dt label:hover,
#checkout-shipping-method-load .sp-methods dd label:hover,
#co-shipping-method-form .sp-methods dd label:hover,
.product-options ul.options-list label:hover {
  background-color: shade(#F4F4F4, 3%);
}

.form-list .control .no-display + label,
.sp-methods dt .no-display + label,
#checkout-shipping-method-load .sp-methods dd .no-display + label,
#co-shipping-method-form .sp-methods dd .no-display + label,
.product-options ul.options-list .no-display + label {
  padding-left: 10px;
  background-color: transparent;
}

.form-list .control .no-display + label:hover,
.sp-methods dt .no-display + label:hover,
#checkout-shipping-method-load .sp-methods dd .no-display + label:hover,
#co-shipping-method-form .sp-methods dd .no-display + label:hover,
.product-options ul.options-list .no-display + label:hover {
  background-color: transparent;
}

.product-options ul.options-list label,
.col2-set .form-list .control label {
  min-width: inherit;
  width: 250px;
  max-width: 100%;
}

.form-list .control.remember-me-box label {
  width: auto;
  max-width: none;
  min-width: inherit;
}

.form-list .control {
  margin-top: 10px;
}

.form-list .control label {
  float: none;
}

.form-list .control .radio,
.form-list .control .checkbox {
  margin-right: 6px;
}

.form-list .control .input-box {
  clear: none;
  display: inline-block;
  width: auto;
  padding: 0;
}

form .form-instructions {
  font-style: italic;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  color: #9B9B9B;
}

/* ============================================ *
 * Table Helpers
 * ============================================ */
.hide-th {
  text-indent: -9999px;
}

/* ============================================ *
 * Data Table
 * ============================================ */
.data-table {
  width: 100%;
}

.data-table td,
.data-table th {
  padding: 10px;
  vertical-align: top;
}

.data-table th {
  background: transparent;
  text-transform: uppercase;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  line-height: 1.4;
  white-space: nowrap;
}

.data-table thead th,
.data-table tbody td {
  border-bottom: 1px solid #C0C0C0;
}

.data-table tbody td,
.data-table tfoot td {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.data-table tfoot tr {
  background: transparent;
}

.data-table tbody td .item-options {
  margin-left: 20px;
  margin-top: 10px;
}

.data-table tbody td .item-options dt:after {
  content: ':';
}

/* ============================================ *
 * Generic Info Table
 * ============================================ */
.info-box {
  border: 1px solid #C0C0C0;
  padding: 12px 15px;
  margin: 0 0 15px;
}

.info-box h2 {
  font-weight: bold;
  font-size: 13px;
}

.info-table th,
.info-table td {
  vertical-align: top;
}

.info-table th {
  font-weight: bold;
  padding: 4px 20px 4px 0;
}

.info-table td {
  padding: 4px 0;
}

/* ============================================ *
 * Zebra-Stripe Table
 * ============================================ */
.zebra-table tr:first-child,
.zebra-table th:first-child {
  border-top: 1px solid #C0C0C0;
}

.zebra-table td,
.zebra-table th {
  border-bottom: 1px solid #C0C0C0;
  padding: 6px;
  background-color: transparent;
}

.zebra-table tr {
  background-color: #EEEDED;
}

.zebra-table tr:nth-child(odd) {
  background-color: #F8F7F5;
}

/* ============================================ *
 * Linearize Table
 * ============================================ */
@media only screen and (max-width: 359px) {
  .linearize-table {
    /* Helpers */
  }
  .linearize-table tr,
  .linearize-table th,
  .linearize-table td {
    display: block;
  }
  .linearize-table thead th {
    border-right: 0;
    border-left: 0;
  }
  .linearize-table thead th.lin-hide {
    display: none;
  }
  .linearize-table thead th:nth-child(1n+2) {
    display: none;
  }
  .linearize-table tbody tr {
    position: relative;
    border-bottom: 1px solid #000;
  }
  .linearize-table tbody td {
    padding: 0 10px 4px;
    border-right: 0;
    border-bottom: 0;
  }
  .linearize-table tbody td.lin-hide {
    display: none;
  }
  .linearize-table tbody td:first-child {
    padding-top: 10px;
  }
  .linearize-table tbody td:first-child,
  .linearize-table tbody td:first-child h3 {
    font-weight: bold;
  }
  .linearize-table tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 30px;
  }
  .linearize-table tbody td[data-rwd-label]:before {
    content: attr(data-rwd-label) ":";
    font-size: 12px;
    font-family: akzidenz-grotesk, Arial, sans-serif;
    padding-right: 5px;
    text-transform: uppercase;
  }
  .linearize-table tfoot tr {
    display: block;
    text-align: right;
  }
  .linearize-table tfoot tr:after {
    content: '';
    display: table;
    clear: both;
  }
  .linearize-table tfoot td {
    display: block;
    float: left;
  }
  .linearize-table tfoot td.lin-hide {
    display: none;
  }
  .linearize-table tfoot td:nth-child(odd) {
    clear: left;
    width: 60%;
  }
  .linearize-table tfoot td:nth-child(even) {
    text-align: left;
    width: 40%;
  }
  .linearize-table .linearize-hide {
    display: none;
  }
  .linearize-table .linearize-unpad {
    padding: 0;
  }
  .linearize-table .linearize-show {
    display: block;
  }
}

@media only screen and (max-width: 599px) {
  .linearize-table-large {
    /* Helpers */
  }
  .linearize-table-large tr,
  .linearize-table-large th,
  .linearize-table-large td {
    display: block;
  }
  .linearize-table-large thead th {
    border-right: 0;
    border-left: 0;
  }
  .linearize-table-large thead th.lin-hide {
    display: none;
  }
  .linearize-table-large thead th:nth-child(1n+2) {
    display: none;
  }
  .linearize-table-large tbody tr {
    position: relative;
    border-bottom: 1px solid #000;
  }
  .linearize-table-large tbody td {
    padding: 0 10px 4px;
    border-right: 0;
    border-bottom: 0;
  }
  .linearize-table-large tbody td.lin-hide {
    display: none;
  }
  .linearize-table-large tbody td:first-child {
    padding-top: 10px;
  }
  .linearize-table-large tbody td:first-child,
  .linearize-table-large tbody td:first-child h3 {
    font-weight: bold;
  }
  .linearize-table-large tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 30px;
  }
  .linearize-table-large tbody td[data-rwd-label]:before {
    content: attr(data-rwd-label) ":";
    font-size: 12px;
    font-family: akzidenz-grotesk, Arial, sans-serif;
    padding-right: 5px;
    text-transform: uppercase;
  }
  .linearize-table-large tfoot tr {
    display: block;
    text-align: right;
  }
  .linearize-table-large tfoot tr:after {
    content: '';
    display: table;
    clear: both;
  }
  .linearize-table-large tfoot td {
    display: block;
    float: left;
  }
  .linearize-table-large tfoot td.lin-hide {
    display: none;
  }
  .linearize-table-large tfoot td:nth-child(odd) {
    clear: left;
    width: 60%;
  }
  .linearize-table-large tfoot td:nth-child(even) {
    text-align: left;
    width: 40%;
  }
  .linearize-table-large .linearize-hide {
    display: none;
  }
  .linearize-table-large .linearize-unpad {
    padding: 0;
  }
  .linearize-table-large .linearize-show {
    display: block;
  }
}

@media only screen and (min-width: 600px) {
  .linearize-table .linearize-collapse {
    display: none;
  }
}

/* ============================================ *
 * Global
 * ============================================ */
html,
body {
  height: 100%;
}

.wrapper {
  min-width: 300px;
  min-height: 100%;
  margin: 0 auto;
  background: #FFFFFF;
}

.wrapper:after {
  content: '';
  display: table;
  clear: both;
}

/* ============================================ *
 * Header
 * ============================================ */
@media only screen and (min-width: 771px) {
  .page-header {
    max-width: inherit;
    margin: 0 auto;
    padding: 0 30px;
  }
  .page-header-container {
    position: relative;
  }
}

.header-language-container,
.page-header {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

/* ============================================ *
 * Language switcher + welcome message
 * ============================================ */
.header-language-background {
  padding: 10px;
  background-color: #0645AD;
  text-transform: uppercase;
}

.header-language-background .header-language-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.header-language-background:after {
  content: '';
  display: table;
  clear: both;
}

.header-language-background .form-language,
.header-language-background .currency-switcher {
  float: left;
  margin-right: 10px;
}

.header-language-background .welcome-msg {
  float: right;
}

.page-header-container .store-language-container {
  float: right;
  max-width: 35%;
  padding: 13px 15px 10px 10px;
}

.page-header-container .store-language-container label {
  display: none;
}

.page-header-container .store-language-container select {
  max-width: 100%;
}

@media only screen and (max-width: 359px) {
  .page-header-container .store-language-container {
    padding-top: 8px;
  }
  .page-header-container .store-language-container select {
    font-size: 12px;
  }
}

.header-language-background,
.header-language-background a {
  color: #E6E6E6;
}

@media only screen and (max-width: 770px) {
  .header-language-background {
    display: none;
  }
}

/* ============================================ *
 * Logo
 * ============================================ */
.logo {
  display: block;
  float: left;
  width: 65%;
  min-width: 100px;
  min-height: 44px;
  text-align: center;
  padding: 10px;
}

.logo img {
  max-width: 100%;
}

.logo .small {
  display: block;
}

.logo .large {
  display: none;
}

.logo:hover {
  opacity: 0.8;
}

@media only screen and (min-width: 771px) {
  .logo {
    max-width: 300px;
    min-height: 90px;
  }
  .logo .small {
    display: none;
  }
  .logo .large {
    display: block;
  }
}

/* ============================================ *
 * Skip Links
 * ============================================ */
.skip-links {
  clear: both;
  overflow: hidden;
  border-top: 1px solid #EDEDED;
  border-bottom: 1px solid #EDEDED;
}

@media only screen and (min-width: 771px) {
  .skip-links {
    border: 0;
  }
}

/* -------------------------------------------- *
 * Skip - Link
 */
.skip-link {
  position: relative;
  float: left;
  width: 20%;
  height: 44px;
  background: #FFFFFF;
  color: #111;
  line-height: 42px;
  text-align: center;
}

a.skip-link {
  text-decoration: none;
}

.skip-link:not(.skip-active):hover {
  opacity: 0.8;
}

@media only screen and (max-width: 770px) {
  .skip-link {
    border-right: 1px solid #EDEDED;
  }
  .skip-link:last-child {
    border-right: 0;
  }
}

@media only screen and (min-width: 500px) {
  .skip-link {
    width: 25%;
  }
}

/* -------------------------------------------- *
 * Skip Link - Active
 */
@media only screen and (max-width: 770px) {
  .skip-link.skip-active {
    background: #EDEDED;
    color: inherit;
  }
  .skip-link.skip-active span {
    color: inherit;
  }
}

/* -------------------------------------------- *
 * Skip Link - Icon
 */
.skip-link .icon {
  display: inline-block;
  width: 30px;
  height: 30px;
  vertical-align: middle;
}

.skip-link.skip-nav .icon,
.skip-link.skip-cart:not(.no-count) .icon {
  margin-right: 3px;
}

@media only screen and (min-width: 500px) {
  .skip-link .icon {
    margin-right: 3px;
  }
}

/* -------------------------------------------- *
 * Skip Link - Label
 */
.skip-link .label {
  display: none;
}

@media only screen and (min-width: 500px) {
  .skip-link .label {
    display: inline;
  }
}

/* ============================================ *
 * Skip Content
 * ============================================ */
.skip-content {
  display: none;
}

.skip-content.skip-active {
  display: block;
  background: #EDEDED;
}

/* ============================================ *
 * Global Header Navigation
 * ============================================ */
@media only screen and (max-width: 770px) {
  #header-account li a,
  .nav-primary a.level0 {
    padding: 0 15px 0 25px;
    border-bottom: 1px solid #000;
    text-align: left;
    color: #111;
    text-transform: uppercase;
    line-height: 30px;
  }
  #header-account li:last-child a,
  .nav-primary li.level0:last-child a.level0 {
    border-bottom: 0;
  }
  .no-touch #header-account a:hover,
  .no-touch .nav-primary a:hover {
    background-color: #F4F4F4;
    text-decoration: none;
  }
}

.account-cart-wrapper {
  position: absolute;
  top: 0px;
  right: 0px;
}

@media only screen and (max-width: 770px) {
  .account-cart-wrapper {
    position: static;
  }
}

/* ============================================ *
 * Nav - Skip Link
 * ============================================ */
.skip-nav {
  width: 40%;
}

.skip-nav:not(.skip-active):hover {
  text-decoration: none;
}

.skip-nav:not(.skip-active):hover .icon {
  background-position: -46px 4px;
}

.skip-nav .label {
  display: inline;
}

.skip-nav .icon {
  background-position: 4px 4px;
}

@media only screen and (min-width: 500px) {
  .skip-nav {
    width: 25%;
  }
}

@media only screen and (min-width: 771px) {
  .skip-nav {
    display: none;
  }
}

/* ============================================ *
 * Nav - Skip Content
 * ============================================ */
@media only screen and (max-width: 770px) {
  #header-nav {
    padding: 5px 0;
  }
}

@media only screen and (min-width: 771px) {
  #header-nav {
    display: block;
    /* Force visibility */
    border-bottom: 1px solid #EDEDED;
  }
}

/* ============================================ *
 * Nav Primary
 * ============================================ */
@media only screen and (min-width: 771px) {
  .nav-primary {
    display: block;
    margin-top: 15px;
  }
}

/* ============================================ *
 * General Navigation Styles
 * ============================================ */
.nav-primary a {
  text-decoration: none;
  position: relative;
  display: block;
  color: #111;
  line-height: 30px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.nav-primary li {
  position: relative;
}

.nav-primary li.level1 a {
  border-bottom: 1px solid #000;
}

.nav-primary .menu-active > ul.level0,
.nav-primary li.level0 li.sub-menu-active > ul {
  display: block;
}

.nav-primary li.level0 > a {
  text-transform: uppercase;
}

/* ============================================ *
 * Small Viewports - Accordion Style Menu
 * ============================================ */
@media only screen and (max-width: 770px) {
  .nav-primary a.level0,
  .nav-primary a {
    line-height: 35px;
  }
  .nav-primary li.level0 ul {
    display: none;
  }
  .nav-primary li.level0 li {
    padding: 0 0 0 25px;
  }
  .nav-primary li.level1 a {
    padding: 0 15px 0 25px;
  }
  .nav-primary li.parent > a:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #ccc;
    border-right: none;
    top: 50%;
    left: 10px;
    right: auto;
    margin-top: -5px;
  }
  .nav-primary li.parent.sub-menu-active > a:after,
  .nav-primary li.parent.menu-active > a:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-top: 5px solid #ccc;
    border-bottom: none;
    top: 50%;
    left: 10px;
    right: auto;
    margin-top: -5px;
  }
  .nav-primary li.menu-active > a,
  .nav-primary li.sub-menu-active > a {
    color: #0645AD;
  }
}

/* ============================================ *
 * Large Viewports - Dropdown Menu
 * ============================================ */
@media only screen and (min-width: 771px) {
  .nav-primary {
    /* Default styles for 1+ drop-down menus */
    /* Level 2+ */
    /* Class for js to add briefly to evaluate element positioning. */
    /* Correct menus that will hang off the page (class added by js) */
    /* Level 1+ */
  }
  .nav-primary a.level0 {
    padding: 0 25px;
  }
  .nav-primary li.level0,
  .nav-primary a.level0 {
    display: inline-block;
  }
  .nav-primary li:last-child > a {
    border-bottom: none;
  }
  .nav-primary a:hover,
  .nav-primary li:hover > a {
    color: #0645AD;
  }
  .nav-primary .menu-active {
    z-index: 200;
  }
  .nav-primary li.level0 ul {
    background: #FBFBFB;
    border: solid 1px #000;
    position: absolute;
    left: 0;
    top: 30px;
    /* Height of ".nav-primary a.level0" */
    z-index: 10;
    width: 250px;
    padding-left: 10px;
    padding-right: 10px;
    display: none;
    /* Hide until displayed. */
  }
  .nav-primary li.level1 ul {
    left: 60px;
    top: 15px;
  }
  .nav-primary li.level0 ul.level0.position-test {
    display: block;
  }
  .nav-primary li.level0 ul.level0.spill {
    right: 0;
    left: auto;
  }
  .nav-primary li.level0 ul.level0.spill li.level1 ul {
    left: auto;
    right: 50px;
    top: 20px;
  }
  .nav-primary li.level0 li.parent > a {
    position: relative;
  }
  .nav-primary li.level0 li.parent > a:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #ccc;
    border-right: none;
    right: 5px;
    top: 50%;
    margin-top: -3px;
  }
}

.nav-primary li.menu-active > ul {
  display: block;
}

/* ============================================ *
 * Search - Skip Link
 * ============================================ */
.skip-search:not(.skip-active):hover .icon {
  background-position: -46px -146px;
}

.skip-search .icon {
  background-position: 4px -146px;
}

@media only screen and (min-width: 771px) {
  .skip-search {
    display: none;
  }
}

/* ============================================ *
 * Search - Skip Content
 * ============================================ */
#header-search {
  padding: 20px;
}

@media only screen and (min-width: 771px) {
  #header-search {
    display: block;
    position: absolute;
    top: 55px;
    right: 0;
    width: 25%;
    height: 50px;
    padding: 0;
  }
}

/* ============================================ *
 * Search Input
 * ============================================ */
#search_mini_form .input-box {
  position: relative;
  padding-top: 0;
}

#search_mini_form label {
  display: none;
}

#search {
  width: 100%;
  height: 40px;
  padding-right: 40px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

#search_mini_form .search-button {
  text-indent: -9999px;
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  border: 0;
  background: none;
}

#search_mini_form .search-button:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  margin-left: -15px;
  background-position: 4px -146px;
}

#search_mini_form .search-button:hover:before {
  opacity: 0.8;
}

#search_mini_form .search-button:active:before {
  margin-top: -13px;
  margin-left: -13px;
}

/* ============================================ *
 * Header - Account
 * ============================================ */
/* -------------------------------------------- *
 * Skip Link - Account
 */
.skip-account:not(.skip-active):hover .icon {
  background-position: -46px -44px;
}

.skip-account .icon {
  background-position: 4px -44px;
}

@media only screen and (min-width: 771px) {
  .skip-account {
    float: none;
    width: auto;
    vertical-align: top;
    display: inline-block;
    padding: 0 10px;
    text-transform: uppercase;
  }
  #header-account.skip-active {
    background: #FBFBFB;
    border: solid 1px #000;
    display: block;
    position: absolute;
    z-index: 200;
    top: 40px;
    right: 115px;
    width: 200px;
  }
  #header-account a {
    display: block;
    padding: 5px 10px;
    color: #111;
    line-height: 2;
  }
  #header-account a:hover {
    color: #0645AD;
  }
}

/* -------------------------------------------- *
 * Account Links
 */
#header-account {
  padding: 5px 0;
}

#header-account a {
  position: relative;
  display: block;
  padding: 5px 10px;
  line-height: 23px;
  text-align: center;
}

#header-account a:hover {
  color: #0645AD;
}

/* ============================================ *
 * Header - Cart
 * ============================================ */
/* -------------------------------------------- *
 * Skip Link - Cart
 */
.skip-cart:not(.skip-active):hover .icon {
  background-position: -50px -95px;
}

.skip-cart .icon {
  background-position: 0px -95px;
}

@media only screen and (min-width: 771px) {
  .skip-cart {
    width: auto;
    padding: 0 10px;
  }
  #header-cart.skip-active {
    background: #FBFBFB;
    border: solid 1px #000;
    display: block;
    position: absolute;
    z-index: 200;
    top: 40px;
    right: 0;
    width: 320px;
    background: white;
  }
}

/* -------------------------------------------- *
 * Skip Cart Notifier
 */
.skip-cart .count {
  border-radius: 12px;
  display: inline-block;
  top: -6px;
  position: relative;
  z-index: 5;
  width: 22px;
  height: 22px;
  background: rgba(6, 69, 173, 0.9);
  color: #FFFFFF;
  font-size: 12px;
  line-height: 22px;
  text-align: center;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.skip-link.skip-active .count {
  color: white;
}

.skip-cart.no-count .count {
  display: none;
}

@media only screen and (max-width: 499px) {
  .skip-cart .count {
    margin-left: -12px;
  }
}

@media only screen and (min-width: 771px) {
  .skip-cart {
    color: #0645AD;
    text-transform: uppercase;
  }
  .skip-cart:hover {
    text-decoration: none;
  }
  .skip-cart .count {
    border-radius: 0px;
    position: static;
    background: none;
    margin-left: 0px;
    font-size: 12px;
    width: auto;
  }
  .skip-cart .count:before {
    content: '(';
  }
  .skip-cart .count:after {
    content: ')';
  }
  .skip-cart .count,
  .skip-link.skip-active .count {
    color: #0645AD;
  }
}

.skip-cart .count.empty {
  display: none;
}

/* -------------------------------------------- *
 * Mini Cart - Empty
 */
.cart-menu .empty {
  padding: 20px;
  text-align: center;
}

/* -------------------------------------------- *
 * Mini Cart - Full
 */
/* Actions */
.cart-menu .actions {
  overflow: hidden;
  padding: 15px;
}

.cart-menu .actions .button {
  float: left;
  width: 48%;
}

.cart-menu .actions .button + .button {
  margin-left: 4%;
}

/* Subtotal */
.cart-menu .subtotal {
  padding: 0 15px 15px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 24px;
  line-height: 1.2;
}

/* List */
.mini-cart-list {
  margin-bottom: 5px;
}

.mini-cart-list li {
  position: relative;
  min-height: 90px;
  padding: 15px 15px 15px 90px;
  border-top: 1px solid #000;
  font-size: 12px;
  line-height: 1.35;
}

.mini-cart-list .product-name {
  display: inline-block;
}

.mini-cart-list .product-image {
  position: absolute;
  left: 15px;
  top: 15px;
}

.mini-cart-list .product-image img {
  width: 60px;
  height: 60px;
}

.mini-cart-list .has-options {
  margin-bottom: 0;
  color: #9B9B9B;
  font-size: 12px;
}

/* Too full - additional items will be shown in cart */
.cart-menu .last-added {
  padding: 10px 15px 15px;
  border-top: 1px solid #000;
  font-size: 12px;
}

/* ================================================= *
 * General Product List Styles (not module-specific)
 * ================================================= */
/* -------------------------------------------- *
 * Product List General
 */
.category-title h1,
body.catalogsearch-result-index .page-title h1 {
  border-bottom: none;
}

.category-image {
  margin-bottom: 10px;
}

.products-list .action .button,
.products-grid .actions .button {
  white-space: normal;
}

/* ============================================ *
 * Product Grid
 * ============================================ */
.products-grid {
  position: relative;
}

.products-grid:after {
  content: '';
  display: table;
  clear: both;
}

.products-grid > li {
  position: relative;
  margin-bottom: 20px;
  text-align: center;
}

.products-grid > li:after {
  content: '';
  display: table;
  clear: both;
}

.products-grid .product-image {
  width: 100%;
  margin-bottom: 15px;
}

.products-grid .product-image img {
  width: 100%;
  height: auto;
}

.products-grid .product-image img:hidden {
  display: none;
}

.widget-new-products .products-grid .product-image {
  width: 75%;
  margin-bottom: 15px;
  margin-left: 10%;
}

.products-grid .product-info {
  position: relative;
  padding-bottom: 95px;
}

.products-grid .actions {
  padding-top: 10px;
  position: absolute;
  bottom: 0px;
  min-height: 85px;
  width: 100%;
}

.products-grid .ratings .rating-box {
  margin: 0 auto;
}

.products-grid .ratings .amount {
  display: none;
}

.products-grid .price-box {
  margin: 0 0 5px;
}

.products-grid .add-to-links {
  margin-bottom: 0;
}

/* Config: Two columns + flexible gutter */
/* ============================================ *
 * Product List
 * ============================================ */
.products-list {
  margin-top: 20px;
  margin-bottom: 20px;
}

.products-list > li {
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.products-list > li .product-image {
  float: left;
  width: 33.33333%;
}

.products-list > li .product-image img {
  width: 100%;
  max-width: 100%;
}

.products-list > li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.products-list .product-shop {
  float: right;
  width: 66.66667%;
  padding-left: 20px;
}

.products-list .product-shop .product-name {
  margin-bottom: 0;
}

.products-list .product-shop .ratings {
  margin: 0;
}

.products-list .product-shop .ratings .rating-box,
.products-list .product-shop .ratings .rating-links {
  float: left;
  margin-right: 7px;
}

.products-list .product-shop .ratings .rating-links {
  margin-top: 4px;
}

.products-list .product-shop .price-box {
  margin-top: 0;
}

.products-list .product-shop .action {
  margin: 7px 0;
}

.products-list .product-shop .desc {
  margin-top: 7px;
}

.products-list .product-shop .product-primary,
.products-list .product-shop .desc {
  float: left;
  width: 65%;
  overflow: hidden;
}

.products-list .product-shop .product-secondary {
  float: right;
  width: 35%;
  text-align: right;
  clear: right;
}

@media only screen and (min-width: 360px) {
  .products-list .product-name a {
    font-size: 12px;
  }
}

@media only screen and (max-width: 1279px) {
  .products-list .product-shop .product-primary,
  .products-list .product-shop .desc {
    float: left;
    width: 60%;
    padding-right: 20px;
  }
  .products-list .product-shop .product-secondary {
    float: right;
    width: 40%;
  }
}

@media only screen and (max-width: 600px) {
  .products-list .product-shop .price-box .special-price {
    padding-left: 0;
  }
  .products-list .product-shop .product-primary,
  .products-list .product-shop .product-secondary,
  .products-list .product-shop .desc {
    float: none;
    width: 100%;
    padding-right: 0;
    text-align: left;
  }
}

/* ============================================ *
 * Mini Product List
 * ============================================ */
.mini-products-list .product-image {
  float: left;
  min-width: 50px;
}

.mini-products-list .product-details {
  margin-left: 60px;
}

.mini-products-list .product-details .product-name {
  padding-top: 10px;
}

.mini-products-list li {
  margin-bottom: 10px;
  clear: both;
}

.mini-products-list li:after {
  content: '';
  display: table;
  clear: both;
}

.mini-products-images-list:after {
  content: '';
  display: table;
  clear: both;
}

.mini-products-images-list li.item {
  float: left;
  width: 50%;
  margin: 0;
  padding: 0 5px 10px 0;
}

.mini-products-images-list li.item:nth-child(even) {
  padding-right: 0;
  padding-left: 5px;
}

.mini-products-images-list li.item .product-image {
  display: block;
}

.mini-products-images-list li.item .product-image img {
  width: 100%;
  max-width: 100%;
}

/* ============================================ *
 * Catalog - List
 * ============================================ */
.category-image {
  border: 1px solid #000;
  padding: 10px;
}

.category-image img {
  width: 100%;
  max-width: 100%;
}

.category-image img:hidden {
  display: none;
}

/* ============================================ *
 * Layered Navigation
 * ============================================ */
.block-layered-nav .block-subtitle--filter {
  display: none;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
  font-weight: normal;
  margin-bottom: 0px;
  padding: 7px 10px 7px 24px;
  border-width: 1px;
  border-style: solid;
  border-color: #000;
  position: relative;
  background-color: #F4F4F4;
  cursor: pointer;
}

.block-layered-nav .block-subtitle--filter:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 4px solid #0645AD;
  border-bottom: none;
  left: 10px;
  top: 50%;
  margin-top: -3px;
}

.block-layered-nav .block-subtitle--filter:hover {
  background-color: shade(#F4F4F4, 3%);
}

.block-layered-nav .block-content .toggle-tabs {
  display: none;
}

.block-layered-nav .block-content > dl > dt {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
  font-weight: normal;
  margin-bottom: 0px;
  padding: 7px 10px 7px 24px;
  border-width: 1px;
  border-style: solid;
  border-color: #000;
  position: relative;
  background-color: #F4F4F4;
  display: block;
}

.block-layered-nav .block-content > dl > dt:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 4px solid #0645AD;
  border-bottom: none;
  left: 10px;
  top: 50%;
  margin-top: -3px;
}

.block-layered-nav .block-content > dl > dt:hover {
  background-color: shade(#F4F4F4, 3%);
}

.block-layered-nav .block-content > dl > dd {
  padding: 10px;
  margin: 0;
  border-width: 0 1px;
  border-style: solid;
  border-color: #000;
}

.block-layered-nav .block-content > dl > dd:last-child {
  border-width: 0 1px 1px 1px;
}

.block-layered-nav dl dd {
  margin-bottom: 10px;
  margin-top: 10px;
}

.block-layered-nav dl dd ol > li > span, .block-layered-nav dl dd ol > li > a {
  padding: 5px 15px;
  display: block;
}

.block-layered-nav dl dd ol > li > a .count {
  color: #9B9B9B;
}

@media only screen and (min-width: 771px) {
  .block-layered-nav .block-content > dl > dt {
    padding-left: 10px;
  }
  .block-layered-nav .block-content > dl > dt:after {
    display: none;
  }
}

@media only screen and (max-width: 770px) {
  .sidebar .block.block-layered-nav {
    border-bottom: none;
  }
  .block-layered-nav--no-filters .block-title {
    display: none;
  }
  .block-layered-nav .block-content {
    padding-top: 0;
    margin-top: 15px;
  }
  .block-layered-nav .block-content > dl > dt {
    cursor: pointer;
    border-bottom-width: 0;
  }
  .block-layered-nav .block-content > dl > dt:hover {
    color: #0645AD;
  }
  .block-layered-nav .block-content > dl > dt:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #0645AD;
    border-right: none;
  }
  .block-layered-nav .block-content > dl > dt.last {
    border-bottom-width: 1px;
  }
  .block-layered-nav .block-content > dl > dd {
    display: none;
  }
  .block-layered-nav .block-content.accordion-open > dl > dt.current {
    border-bottom-width: 1px;
  }
  .block-layered-nav .block-content.accordion-open > dl > dt.current:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #0645AD;
    border-bottom: none;
    left: 6px;
    top: 50%;
    margin-top: -3px;
  }
  .block-layered-nav .block-content.accordion-open > dl > dd.current {
    display: block;
  }
  .block-layered-nav .block-subtitle--filter {
    background-color: #0645AD;
    border: 0;
    margin-bottom: 0;
    display: block;
    color: #FFFFFF;
  }
  .block-layered-nav .block-subtitle--filter:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #FFFFFF;
    border-right: none;
    right: 10px;
    top: 50%;
    margin-top: -5px;
  }
  .block-layered-nav .block-subtitle--filter:hover {
    background-color: #053b94;
    color: #FFFFFF;
  }
  .block-layered-nav .block-subtitle--filter.active:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #FFFFFF;
    border-bottom: none;
    right: 10px;
    top: 50%;
    margin-top: -3px;
  }
  #narrow-by-list,
  #narrow-by-list2 {
    padding: 10px;
    border: 1px solid #000;
    border-top: 0;
  }
  .block-layered-nav dl ol > li > a,
  .block-layered-nav dl ol > li > span {
    padding: 7px;
    margin: 5px;
  }
  .block-layered-nav dl ol > li > a {
    color: #111;
    background-color: #F4F4F4;
    padding: 5px 10px;
  }
  .block-layered-nav dl ol > li > a:hover {
    text-decoration: none;
    background: shade(#F4F4F4, 3%);
  }
}

.block-layered-nav .currently .block-subtitle {
  display: block;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
}

.block-layered-nav .currently ol {
  padding-left: 10px;
  margin-bottom: 10px;
}

.block-layered-nav .currently ol li {
  margin-bottom: 5px;
}

.block-layered-nav .currently ol li .label {
  font-weight: bold;
}

.block-layered-nav .currently ol li:after {
  content: '';
  display: table;
  clear: both;
}

.block-layered-nav .actions {
  text-align: right;
  margin-bottom: 7px;
}

/* ============================================ *
 * Catalog - Product
 * ============================================ */
.product-view .product-essential .extra-info .ratings .rating-box,
.product-view .product-essential .extra-info .ratings .amount {
  float: left;
}

.product-view .product-essential .extra-info .ratings .rating-box {
  margin-top: 8px;
  margin-right: 10px;
}

.product-view .product-essential .extra-info .ratings:after {
  content: '';
  display: table;
  clear: both;
}

.product-view .product-essential:after {
  content: '';
  display: table;
  clear: both;
}

.product-view .product-shop .product-name .h1,
.product-view .product-img-box .product-name h1 {
  color: #0645AD;
  margin-bottom: 10px;
  border: 0;
}

.product-view .product-shop {
  width: 50%;
  float: right;
}

.product-view .product-shop .product-name {
  display: none;
  float: left;
}

.product-view .product-shop .product-name .h1 {
  float: left;
  margin-bottom: 5px;
}

.product-view .product-shop .extra-info {
  float: left;
  padding-right: 15px;
  clear: left;
  width: 70%;
}

.product-view .product-shop .price-info {
  float: right;
  padding-left: 15px;
  text-align: right;
}

.product-view .product-shop .extra-info,
.product-view .product-shop .price-info {
  max-width: 70%;
  margin-bottom: 10px;
}

.product-view .product-shop .short-description {
  margin-bottom: 10px;
  clear: both;
}

.product-view .product-shop .ratings {
  margin-bottom: 8px;
}

.product-view .product-shop .availability {
  font-size: 12px;
}

.product-view .product-shop .price-box {
  margin-top: 0;
}

.product-view .product-shop .price-box .old-price,
.product-view .product-shop .price-box .special-price,
.product-view .product-shop .price-box .regular-price {
  padding-right: 0;
  line-height: 1.2;
}

.product-view .product-shop .price-box .regular-price .price,
.product-view .product-shop .price-box .special-price .price,
.product-view .product-shop .price-box .full-product-price .price {
  color: #0645AD;
  font-size: 24px;
}

.product-view .product-shop .price-box .special-price .price-label {
  font-size: 12px;
  text-transform: uppercase;
}

.product-view .product-shop .price-box .special-price span.weee {
  color: #111;
}

.product-view .product-shop .price-box .special-price span.weee span.price {
  font-size: 12px;
}

.product-view .product-shop .price-box .price-excluding-tax,
.product-view .product-shop .price-box .price-including-tax {
  display: block;
  line-height: 1.2;
  color: #111;
}

.product-view .product-shop .price-box .price-excluding-tax .label,
.product-view .product-shop .price-box .price-including-tax .label {
  font-size: 12px;
  font-weight: 300;
}

.product-view .product-shop .price-box .price-excluding-tax .price,
.product-view .product-shop .price-box .price-including-tax .price {
  font-size: 20px;
}

.product-view .price-box.map-info a {
  display: inherit;
}

.product-view .old-price .price-label {
  display: none;
}

.product-view .add-to-cart-wrapper,
.product-view .block-related {
  width: 50%;
  float: right;
  clear: right;
}

@media only screen and (max-width: 850px) {
  .product-view .product-shop .price-box .price-excluding-tax .label,
  .product-view .product-shop .price-box .price-including-tax .label {
    font-size: 12px;
  }
  .product-view .product-shop .price-box .price-excluding-tax .price,
  .product-view .product-shop .price-box .price-including-tax .price {
    font-size: 12px;
  }
}

@media only screen and (max-width: 770px) {
  .product-view .add-to-cart-wrapper {
    float: none;
    width: 100%;
    clear: both;
  }
  .product-view .product-shop .price-box .price-excluding-tax .label,
  .product-view .product-shop .price-box .price-including-tax .label {
    font-size: 12px;
  }
  .product-view .product-shop .price-box .price-excluding-tax .price,
  .product-view .product-shop .price-box .price-including-tax .price {
    font-size: 20px;
  }
}

@media only screen and (max-width: 420px) {
  .product-view .product-shop .price-box .price-excluding-tax,
  .product-view .product-shop .price-box .price-including-tax {
    margin-bottom: 5px;
  }
  .product-view .product-shop .price-box .price-excluding-tax span,
  .product-view .product-shop .price-box .price-including-tax span {
    display: block;
  }
}

.product-img-box {
  width: 50%;
  float: left;
}

.product-img-box .product-name h1 {
  border: 0;
}

.product-img-box .product-image {
  margin-bottom: 10px;
}

.product-img-box .product-image img {
  max-width: 100%;
  max-height: 750px;
  margin: 0px auto;
}

@media only screen and (max-width: 359px) {
  .product-img-box .product-image img {
    max-height: 450px;
  }
}

.product-image-gallery {
  position: relative;
}

.product-image-gallery .gallery-image {
  display: none;
}

.product-image-gallery .gallery-image.visible {
  display: block;
}

.product-image-gallery .gallery-image.visible.hidden {
  visibility: hidden;
}

.product-image-gallery:before, .product-image-gallery:after {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: none;
}

.product-image-gallery:before {
  background-color: white;
  opacity: 0.8;
  z-index: 2;
}

.product-image-gallery:after {
  background-image: url("../images/opc-ajax-loader.gif");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}

.product-image-gallery.loading {
  position: relative;
}

.product-image-gallery.loading:before, .product-image-gallery.loading:after {
  display: block;
}

.product-image-thumbs li {
  display: inline-block;
}

.product-image-thumbs li:first-child {
  margin-left: -1px;
}

.product-image-thumbs a {
  display: inline-block;
  border: 1px solid transparent;
}

.no-touch .product-image-thumbs a:hover {
  border-color: #c7c7c7;
}

.product-view .product-shop,
.product-view .add-to-cart-wrapper,
.product-view .block-related {
  padding-left: 15px;
}

.product-img-box {
  padding-right: 15px;
}

.product-view .product-shop,
.product-img-box,
.product-collateral,
.product-view .block-related,
.box-collateral {
  margin-bottom: 10px;
}

.product-view {
  /* Set a min-height so that the floated elements break appropriately */
}

.product-view .add-to-box:after,
.product-view .add-to-cart:after {
  content: '';
  display: table;
  clear: both;
}

.product-view .add-to-cart {
  padding-bottom: 3px;
  margin-bottom: 10px;
  border-bottom: 1px solid #000;
}

.product-view .add-to-cart .qty-wrapper,
.product-view .product-options-bottom .price-box,
.product-view .add-to-cart-buttons {
  min-height: 40px;
}

.product-view .product-options-bottom .price-box,
.product-view .add-to-cart .qty-wrapper,
.product-view .add-to-cart-buttons .button,
.product-view .add-to-cart-buttons .paypal-logo {
  margin-bottom: 10px;
}

.product-view .add-to-cart .qty-wrapper,
.product-view .add-to-cart .qty-wrapper label {
  margin-right: 7px;
  float: left;
}

.product-view .add-to-cart .qty-wrapper label {
  line-height: 40px;
}

.product-view .add-to-cart .qty-wrapper .qty {
  float: left;
  height: 40px;
}

.product-view .add-to-cart-buttons {
  float: left;
  margin-right: 10px;
  max-width: 100%;
}

.product-view .add-to-cart-buttons .paypal-logo {
  clear: left;
  text-align: center;
}

.product-view .add-to-cart-buttons .paypal-logo .paypal-button {
  margin: 0 auto;
  display: block;
  width: 170px;
}

.product-view .add-to-cart-buttons .paypal-logo .bml_button {
  display: block;
  width: 174px;
  margin: 0 auto;
}

.product-view .add-to-cart-buttons .paypal-logo .bml_button a {
  text-align: center;
}

.product-view .add-to-cart-buttons .paypal-logo .paypal-or {
  display: block;
  margin-bottom: 10px;
  margin-left: 0;
  margin-right: 0;
  line-height: 1;
  text-align: center;
}

.product-view .add-to-cart-buttons .button {
  min-height: 40px;
  line-height: 40px;
  font-size: 12px;
  padding: 0px 30px;
  float: left;
  min-width: 160px;
  width: 100%;
  white-space: normal;
}

.product-view .alert-price,
.product-view .alert-stock {
  clear: both;
}

@media only screen and (max-width: 359px) {
  .product-view .add-to-cart-buttons .paypal-or {
    line-height: 20px;
  }
  .product-view .add-to-cart-buttons .paypal-logo,
  .product-view .add-to-cart-buttons .paypal-or,
  .product-view .add-to-cart-buttons .paypal-button,
  .product-view .add-to-cart-buttons .button {
    text-align: center;
    width: 100%;
    display: block;
    margin-right: 0;
    margin-left: 0;
    float: none;
  }
}

/* This is the "or" that separates the "Add to Cart" and "Add to X" links */
.add-to-box .or {
  display: none;
}

.product-view .add-to-links {
  clear: both;
  margin-top: 0px;
  margin-right: 15px;
  float: left;
}

.product-view .add-to-links:after {
  content: '';
  display: table;
  clear: both;
}

.product-view .add-to-links li {
  float: left;
}

.product-view .add-to-links a {
  padding: 2px 7px 2px 0px;
  margin-left: 7px;
  border-right: 1px solid #000;
}

.product-view .add-to-links li:first-child a {
  margin-left: 0px;
}

.product-view .add-to-links li:last-child a {
  border-right: 0px;
}

.product-view .sharing-links {
  float: left;
}

.product-view .sharing-links:after {
  content: '';
  display: table;
  clear: both;
}

.product-view .sharing-links li {
  float: left;
  padding: 0px 7px 7px;
}

.product-view .sharing-links a {
  text-indent: -9999px;
  display: block;
  width: 26px;
  height: 26px;
}

.product-view .sharing-links a:hover {
  opacity: 0.8;
}

.product-view .sharing-links a.link-wishlist {
  background-position: 0px -225px;
}

.product-view .sharing-links a.link-compare {
  background-position: 0px -250px;
}

.product-view .sharing-links a.link-email-friend {
  background-position: 0px -322px;
}

.product-view .sharing-links a.link-facebook {
  background-position: 0px -425px;
}

.product-view .sharing-links a.link-twitter {
  background-position: 0px -372px;
}

@media only screen and (max-width: 599px) {
  .add-to-box .add-to-links a {
    float: none;
    width: auto;
    text-indent: 0;
  }
}

.product-collateral {
  clear: both;
}

.collateral-tabs dd h2 {
  display: none;
}

.box-collateral {
  clear: both;
}

@media only screen and (min-width: 771px) {
  .product-collateral .toggle-tabs {
    display: block;
    width: 100%;
    position: relative;
    border: 1px solid #000;
    background-color: #F4F4F4;
  }
  .product-collateral .toggle-tabs li {
    float: left;
    border-right: 1px solid transparent;
    border-left: 1px solid transparent;
  }
  .product-collateral .toggle-tabs li > span {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    display: inline-block;
    padding: 0 30px;
    height: 40px;
    line-height: 40px;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 12px;
    position: relative;
    bottom: -1px;
  }
  .product-collateral .toggle-tabs li.current {
    border-right: 1px solid #000;
    border-left: 1px solid #000;
  }
  .product-collateral .toggle-tabs li.current > span {
    background-color: #FFFFFF;
    z-index: 5;
  }
  .product-collateral .toggle-tabs li.current span,
  .product-collateral .toggle-tabs li:hover span {
    color: #0645AD;
  }
  .product-collateral .toggle-tabs li:first-child {
    border-left: none;
  }
  .product-collateral .toggle-tabs:after {
    content: '';
    display: table;
    clear: both;
  }
  .product-collateral > dl {
    width: 100%;
  }
  .product-collateral > dl > dt {
    display: none;
  }
  .product-collateral > dl > dd {
    width: 100%;
    display: none;
    padding: 15px;
    border: 1px solid #000;
    border-top: 0;
  }
  .product-collateral > dl > dd.current {
    display: block;
  }
}

@media only screen and (max-width: 770px) {
  .product-collateral .toggle-tabs {
    display: none;
  }
  .product-collateral > dl > dt {
    font-family: akzidenz-grotesk, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #000;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 1px;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-weight: normal;
    margin-bottom: 0px;
    padding: 7px 10px 7px 24px;
    border-width: 1px;
    border-style: solid;
    border-color: #000;
    position: relative;
    background-color: #F4F4F4;
    display: block;
  }
  .product-collateral > dl > dt:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #0645AD;
    border-bottom: none;
    left: 10px;
    top: 50%;
    margin-top: -3px;
  }
  .product-collateral > dl > dt:hover {
    background-color: shade(#F4F4F4, 3%);
  }
  .product-collateral > dl > dd {
    padding: 10px;
    margin: 0;
    border-width: 0 1px;
    border-style: solid;
    border-color: #000;
  }
  .product-collateral > dl > dd:last-child {
    border-width: 0 1px 1px 1px;
  }
  .product-collateral > dl > dt {
    cursor: pointer;
    border-bottom-width: 0;
  }
  .product-collateral > dl > dt:hover {
    color: #0645AD;
  }
  .product-collateral > dl > dt:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #0645AD;
    border-right: none;
  }
  .product-collateral > dl > dt.last {
    border-bottom-width: 1px;
  }
  .product-collateral > dl > dd {
    display: none;
  }
  .product-collateral.accordion-open > dl > dt.current {
    border-bottom-width: 1px;
  }
  .product-collateral.accordion-open > dl > dt.current:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #0645AD;
    border-bottom: none;
    left: 6px;
    top: 50%;
    margin-top: -3px;
  }
  .product-collateral.accordion-open > dl > dd.current {
    display: block;
  }
}

@media only screen and (max-width: 770px) {
  .product-view .product-shop,
  .product-view .add-to-cart-wrapper,
  .product-view .block-related,
  .product-img-box,
  .product-collateral {
    width: 100%;
    float: none;
    padding-right: 0;
    padding-left: 0;
  }
}

@media only screen and (min-width: 771px) {
  .product-view .product-shop .product-name {
    display: block;
  }
  .product-img-box .product-name {
    display: none;
  }
}

@media only screen and (max-width: 359px) {
  .product-view .product-shop,
  .product-img-box,
  .product-collateral,
  .product-view .block-related,
  .box-collateral {
    margin-bottom: 15px;
  }
}

.product-view .ratings .rating-links {
  clear: left;
  float: left;
  margin-top: 0;
}

#product-attribute-specs-table {
  max-width: 50em;
  border: 1px solid #C0C0C0;
}

#product-attribute-specs-table th {
  border-right: 1px solid #C0C0C0;
  border-bottom: 1px solid #C0C0C0;
}

/* -------------------------------------------- *
 * Catalog - Grouped Product List
 */
.grouped-items-table-wrapper {
  border: solid 1px #C0C0C0;
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
}

.grouped-items-table-wrapper tbody tr:last-child td {
  border-bottom: none;
}

@media only screen and (max-width: 359px) {
  .grouped-items-table-wrapper {
    margin-bottom: 15px;
  }
}

.grouped-items-table .name-wrapper {
  color: #111;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.grouped-items-table .qty-wrapper {
  padding-top: 7px;
}

.grouped-items-table .qty-label {
  margin-left: 7px;
}

.grouped-items-table td {
  padding: 4px;
}

.grouped-items-table td:last-child {
  width: 30%;
  text-align: left;
}

.grouped-items-table .price-box {
  text-align: right;
}

/* -------------------------------------------- *
 * Catalog - Product Options
 */
.product-options {
  width: 100%;
  margin: 10px 0 0;
  padding: 10px 15px 15px;
  border: 1px solid #CCCCCC;
  clear: both;
  position: relative;
}

.product-options p.required {
  position: absolute;
  top: 6px;
  right: 15px;
  text-align: right;
}

@media only screen and (max-width: 979px) {
  .product-view .product-options .required {
    position: static;
  }
}

.product-options dt {
  margin: 10px 0 3px;
  font-weight: normal;
}

.product-options dt:first-child {
  margin-top: 0;
}

.product-options dd .qty-holder {
  display: block;
  padding: 10px 0 0 0;
}

.product-options dd .qty-holder .qty {
  width: 3em;
}

.product-options dd .qty-holder label {
  vertical-align: middle;
}

.product-options dd .qty-disabled {
  background: none;
  border: 0;
  padding: 0 2px;
}

.product-options dd {
  padding: 0 0 10px 0;
  margin: 0 0 5px;
  border-bottom: 1px solid #EDEDED;
}

.product-options dl.last dd.last {
  border-bottom: 0;
  padding-bottom: 5px;
  margin-bottom: 0;
}

.product-options dd .input-text {
  width: 98%;
}

.product-options dd .input-box {
  padding-top: 0;
}

.product-options dd input.datetime-picker {
  width: 150px;
}

.product-options dd .time-picker {
  display: inline-block;
  padding: 2px 0;
  vertical-align: middle;
}

.product-options dd textarea {
  width: 98%;
  height: 8em;
}

.product-options dd select {
  width: 330px;
  max-width: 100%;
}

.product-options ul.options-list {
  margin-right: 5px;
}

.product-options ul.options-list li {
  line-height: 1.5;
  margin-bottom: 7px;
}

.product-options ul.options-list li:last-child {
  margin-bottom: 0;
}

.product-options ul.options-list .radio,
.product-options ul.options-list .checkbox {
  float: left;
  margin-top: 5px;
}

.product-options ul.options-list .label {
  display: block;
}

.product-options ul.options-list label {
  font-weight: normal;
}

.product-options p.note {
  margin: 0;
  font-size: 12px;
}

.product-options-bottom {
  background-color: #F4F4F4;
  padding: 15px 20px;
  border: 1px solid #CCCCCC;
  border-top: 0;
  margin-bottom: 10px;
}

.product-options-bottom:after {
  content: '';
  display: table;
  clear: both;
}

.product-options-bottom .product-pricing,
.product-options-bottom .tier-prices {
  float: right;
  margin: 0;
  padding: 0 0 10px;
  border: 0;
  background: 0;
  color: #111;
}

@media only screen and (max-width: 1199px) {
  .product-options-bottom .product-pricing,
  .product-options-bottom .tier-prices {
    float: none;
    width: 100%;
    text-align: right;
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid #CCCCCC;
  }
}

.product-options-bottom .tier-prices li {
  background: 0;
  padding: 2px 0;
}

.product-options-bottom .tier-prices .price,
.product-options-bottom .tier-prices .benefit {
  color: #111;
}

/* "display: none" should be removed if products on site have a long list of product options and those product options */
/*  affect the price so that the customer can see the updated price close to the "Add to Cart" button */
.product-options-bottom .price-box {
  display: none;
  float: right;
  margin: 0 0 10px;
  padding: 0;
}

@media only screen and (max-width: 359px) {
  .product-options-bottom .price-box .price-as-configured {
    text-align: right;
  }
  .product-options-bottom .price-box .price-as-configured .price-label {
    display: block;
  }
}

.product-options-bottom .price-tax {
  float: left;
}

/* -------------------------------------------- *
 * Related Products
 */
/* Block: Related */
.block-related li {
  margin-bottom: 7px;
}

.block-related .block-title {
  border-bottom: none;
}

.block-related .block-title h2 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
  margin-bottom: 0;
}

.block-related .block-subtitle {
  margin-bottom: 7px;
}

.block-related .product {
  margin-left: 20px;
  position: relative;
}

.block-related .checkbox {
  float: left;
  margin-top: 36px;
}

.block-related .product-details {
  margin-left: 90px;
}

.block-related .product-name {
  margin-bottom: 3px;
}

.block-related .product-details .price-box {
  margin: 2px 0 3px;
}

.block-related .product-details .price-box a,
.block-related .product-details .price-box p,
.block-related .product-details .price-box span {
  float: left;
  margin-left: 3px;
}

.block-related .product-details .price-box a:first-child,
.block-related .product-details .price-box p:first-child,
.block-related .product-details .price-box span:first-child {
  margin-left: 0;
  font-size: 12px;
  padding-right: 5px;
  padding-left: 5px;
}

.block-related .product-details .price-box:after {
  content: '';
  display: table;
  clear: both;
}

.block-related .link-wishlist {
  display: none;
}

/* -------------------------------------------- *
 * Upsell Products
 */
.box-up-sell {
  margin-top: 20px;
}

.box-up-sell .ratings {
  display: none;
}

/* ============================================ *
 * Catalog - MSRP MAP Popup
 * ============================================ */
.cart-msrp-totals {
  color: red;
  font-size: 12px !important;
  font-weight: bold;
  margin: 10px 10px 0;
  padding: 10px;
  text-align: right;
  text-transform: uppercase;
}

.map-cart-sidebar-total {
  color: red;
  display: block;
  font-size: 10px;
  font-weight: bold;
  text-align: left;
  padding: 2px 5px;
}

.map-popup {
  background: #FFFFFF;
  border: 5px solid #000;
  margin: 12px 0 0;
  position: absolute;
  text-align: left;
  width: 450px;
  z-index: 100;
}

@media only screen and (min-width: 771px) {
  .map-popup.map-popup-right {
    left: 10px !important;
  }
  .map-popup.map-popup-left {
    left: auto !important;
    right: 10px !important;
  }
}

@media only screen and (max-width: 770px) {
  .map-popup {
    width: 100%;
    left: 0px !important;
  }
}

.map-popup .map-popup-heading {
  padding: 8px 10px;
  margin-right: 40px;
  width: auto;
}

.map-popup .map-popup-heading h3 {
  font-size: 12px;
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  word-wrap: break-word;
  text-align: left;
  text-overflow: ellipsis;
}

@media only screen and (max-width: 359px) {
  .map-popup .map-popup-heading h3 {
    text-align: center;
  }
}

.map-popup .map-popup-close {
  display: block;
  position: absolute;
  top: 0px;
  right: 0px;
  height: 36px;
  width: 36px;
  font-size: 20px;
  line-height: 32px;
  text-align: center;
}

.map-popup .map-popup-content {
  border-top: 1px solid #EDEDED;
  padding: 10px;
  margin: 0 10px;
  overflow: hidden;
  text-align: left;
}

@media only screen and (max-width: 359px) {
  .map-popup .map-popup-content {
    text-align: center;
  }
}

.map-popup .map-popup-checkout {
  padding: 10px 0;
}

.map-popup .map-popup-checkout form:after {
  content: '';
  display: table;
  clear: both;
}

.map-popup .map-popup-checkout span {
  display: block;
}

.map-popup .map-popup-checkout .button {
  float: left;
  margin: 0 2px;
  clear: left;
}

.map-popup .map-popup-checkout .additional-addtocart-box {
  float: left;
  min-width: 210px;
}

.map-popup .map-popup-checkout .additional-addtocart-box li {
  list-style-type: none;
}

.map-popup .map-popup-checkout .paypal-logo {
  width: auto;
}

.map-popup .map-popup-checkout .paypal-logo a {
  display: inline-block;
  float: left;
  clear: left;
}

.map-popup .map-popup-checkout .paypal-logo .paypal-or {
  float: left;
  text-align: center;
  padding: 5px 15px;
  clear: left;
}

.map-popup .map-popup-checkout .paypal-logo:after {
  content: '';
  display: table;
  clear: both;
}

.map-popup .map-popup-checkout .paypal-logo .bml_button a {
  clear: left;
}

@media only screen and (max-width: 359px) {
  .map-popup .map-popup-checkout {
    text-align: center;
  }
  .map-popup .map-popup-checkout .button,
  .map-popup .map-popup-checkout .additional-addtocart-box,
  .map-popup .map-popup-checkout .paypal-logo a,
  .map-popup .map-popup-checkout .paypal-logo .paypal-or {
    float: none;
  }
  .map-popup .map-popup-checkout .additional-addtocart-box {
    min-width: 0px;
  }
  .map-popup .map-popup-checkout .paypal-logo .paypal-or {
    margin: 0px;
    margin-bottom: 10px;
  }
}

.map-popup .map-popup-checkout:after {
  content: '';
  display: table;
  clear: both;
}

.map-popup .map-popup-price {
  padding: 10px 0;
}

@media only screen and (max-width: 359px) {
  .map-popup .map-popup-price {
    text-align: center;
    padding-top: 0px;
  }
}

.map-popup .map-popup-price .price-box,
.map-popup .map-popup-price .price-box .special-price {
  display: inline-block;
  margin: 0;
  padding: 0;
}

.map-popup .map-popup-price .price-box .minimal-price-link {
  display: inline-block;
}

.map-popup .map-popup-text {
  padding: 10px 0;
  margin: 0 10px;
  word-wrap: break-word;
}

.map-popup .map-popup-text,
.map-popup .map-popup-only-text {
  border-top: 1px solid #EDEDED;
}

/* ============================================ *
 * Catalog - MSRP Product Listing
 * ============================================ */
.price-box .map-link {
  display: block;
  text-align: center;
}

/* ============================================ *
 * Catalog - Compare
 * ============================================ */
.block-compare .product-name:after {
  content: '';
  display: table;
  clear: both;
}

.compare-table .product-image {
  display: inline-block;
}

.compare-table .product-shop-row.top td {
  padding-bottom: 0;
  border-bottom: 0;
}

.compare-table .product-shop-row.bottom td {
  padding-top: 0;
}

/* ============================================ *
 * Checkout - Layout
 * ============================================ */
.cart {
  max-width: 1200px;
  margin: 0 auto;
}

.cart .page-title {
  margin: 0 0 30px 0;
  text-align: center;
}

.cart-table {
  width: 100%;
}

.cart .button {
  white-space: normal;
}

.cart-forms,
.cart-totals-wrapper,
.crosssell {
  float: right;
  clear: right;
  width: 40%;
  padding-left: 20px;
}

.cart-totals,
.cart-forms .discount,
.cart-forms .giftcard,
.cart-forms .shipping {
  padding: 10px;
  background-color: #F4F4F4;
  border: 1px solid #000;
}

.cart-table,
.cart-totals,
.cart-forms .discount,
.cart-forms .giftcard,
.cart-forms .shipping {
  margin-bottom: 20px;
}

.checkout-cart-index #postcode {
  width: 100%;
}

.display-both-prices .cart-table {
  float: none;
  width: 100%;
}

.display-both-prices .cart-forms {
  float: left;
  padding-right: 10px;
  padding-left: 0;
}

.display-both-prices .cart-totals-wrapper,
.display-both-prices .crosssell {
  padding-left: 10px;
}

.display-both-prices .cart-forms,
.display-both-prices .cart-totals-wrapper,
.display-both-prices .crosssell {
  width: 50%;
}

.display-both-prices .crosssell {
  clear: right;
  float: right;
}

@media only screen and (max-width: 979px) {
  .display-single-price .cart-table {
    float: none;
    width: 100%;
  }
  .display-single-price .cart-forms {
    float: left;
    padding-right: 10px;
    padding-left: 0;
  }
  .display-single-price .cart-totals-wrapper,
  .display-single-price .crosssell {
    padding-left: 10px;
  }
  .display-single-price .cart-forms,
  .display-single-price .cart-totals-wrapper,
  .display-single-price .crosssell {
    width: 50%;
  }
  .display-single-price .crosssell {
    clear: right;
    float: right;
  }
}

@media only screen and (max-width: 599px) {
  .product-cart-sku {
    display: none;
  }
  .display-both-prices .cart-forms,
  .display-both-prices .cart-totals-wrapper,
  .display-both-prices .crosssell,
  .display-single-price .cart-forms,
  .display-single-price .cart-totals-wrapper,
  .display-single-price .crosssell {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    float: none;
    width: 100%;
  }
}

.display-single-price:after {
  content: '';
  display: table;
  clear: both;
}

/* ============================================ *
 * Checkout - Cart
 * ============================================ */
.checkout-types {
  float: right;
  text-align: right;
  max-width: 100%;
  /* We always want this shipping method to display on its own line */
}

.checkout-types li {
  vertical-align: top;
  margin: 0 0 5px 5px;
}

.checkout-types li:after {
  content: '';
  display: table;
  clear: both;
}

.checkout-types li img {
  display: inline;
  vertical-align: top;
}

.checkout-types li:first-child {
  margin-left: 0;
}

.checkout-types .method-checkout-cart-methods-multishipping {
  display: block;
}

.checkout-types.top li {
  display: inline-block;
}

.checkout-types.top .bml_button {
  display: inline-block;
  vertical-align: top;
}

.checkout-types.top .bml_button img {
  display: block;
}

.checkout-types.top .paypal-logo .paypal-or {
  margin-top: 5px;
}

.checkout-types.bottom .paypal-logo a, .checkout-types.minicart .paypal-logo a {
  display: block;
}

.checkout-types.bottom .paypal-or, .checkout-types.minicart .paypal-or {
  margin: 0px;
  display: block;
  text-align: center;
}

@media only screen and (min-width: 741px) {
  .checkout-types.bottom .paypal-or {
    text-align: right;
    padding-right: 70px;
  }
}

.cart-totals .checkout-types .btn-checkout {
  margin-bottom: 7px;
}

@media only screen and (max-width: 740px) {
  .checkout-types {
    float: none;
    text-align: center;
  }
  .checkout-types.bottom .paypal-or, .checkout-types.minicart .paypal-or {
    width: auto;
    float: none;
  }
  .checkout-types li {
    float: none;
    width: 100%;
    margin-left: 0;
  }
}

@media only screen and (max-width: 599px) {
  .btn-checkout {
    width: 100%;
  }
}

.cart-table {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.cart-table th,
.cart-table td,
.cart-table tbody td {
  border-bottom: none;
  vertical-align: top;
}

.cart-table h2 {
  color: #000;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 0;
}

.cart-table thead th,
.cart-table tbody td {
  background-color: transparent;
  padding: 10px 5px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.cart-table .product-cart-info,
.cart-table .product-cart-actions {
  padding-left: 15px;
}

.cart-table tfoot tr {
  background: none;
}

.cart-table tfoot tr > td:after {
  content: '';
  display: table;
  clear: both;
}

.cart-table span.or {
  font-size: 9px;
  padding: 0 5px;
  text-transform: uppercase;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.cart-table .product-cart-image .cart-links,
.cart-table .product-cart-info .btn-remove,
.cart-table .product-cart-actions .button {
  display: none;
}

.cart-table .product-cart-image {
  padding-left: 0;
  padding-right: 0;
}

.cart-table .product-cart-image .product-image img {
  max-width: 100%;
  width: 100%;
}

.cart-table .product-cart-image a.cart-edit {
  display: none;
}

.cart-table .product-cart-sku {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: italic;
  font-size: 12px;
  margin: 5px 0 12px;
}

.cart-table .product-cart-sku .label {
  font-weight: 600;
}

.cart-table .btn-empty {
  float: left;
}

.cart-table .product-cart-total,
.cart-table .product-cart-price {
  text-align: center;
}

.cart-table .cart-tax-total {
  position: relative;
  cursor: pointer;
}

.cart-table .cart-tax-total:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 6px solid #111;
  border-left: none;
  position: absolute;
  top: 3px;
  right: -11px;
}

.cart-table .cart-tax-total.cart-tax-total-expanded:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  border-top: 6px solid #111;
  border-bottom: none;
  right: -15px;
  top: 6px;
}

.cart-table .cart-links > li {
  white-space: nowrap;
  line-height: 1.3;
  margin-bottom: 5px;
  min-width: 65px;
  font-size: 12px;
}

.cart-table .cart-links > li > a {
  display: block;
}

.cart-table .cart-links > li:last-child {
  margin-bottom: 0;
}

.cart-table .product-cart-actions {
  min-width: 60px;
  text-align: center;
}

.cart-table .product-cart-actions .qty {
  height: 30px;
  border-color: #111;
  border-radius: 0;
  margin-bottom: 10px;
  text-align: center;
  width: 3.2em;
}

.cart-table .product-cart-actions .button {
  margin-bottom: 5px;
}

.cart-table .item-options {
  padding-left: 15px;
}

@media only screen and (max-width: 770px) {
  .cart-table th {
    font-size: 12px;
  }
  .cart-table th,
  .cart-table td {
    padding: 7px 6px;
  }
  .cart-table .product-cart-actions > li {
    white-space: inherit;
  }
}

@media only screen and (max-width: 699px) {
  .display-both-prices .cart-table thead th.cart-total-head,
  .display-both-prices .cart-table td.product-cart-total {
    display: none;
  }
}

@media only screen and (max-width: 599px) {
  .cart-table colgroup, .cart-table thead {
    display: none;
  }
  .cart-table tr {
    display: block;
    margin-bottom: 10px;
    padding-bottom: 10px;
    position: relative;
    width: 100%;
  }
  .cart-table tr:after {
    content: '';
    display: table;
    clear: both;
  }
  .cart-table tr:last-child {
    margin-bottom: 0;
  }
  .cart-table tfoot tr {
    padding-bottom: 0;
  }
  .cart-table td {
    border: none;
    display: block;
  }
  .cart-table td[data-rwd-label] {
    padding-left: 15px;
    margin-bottom: 6px;
  }
  .cart-table td[data-rwd-label] .price {
    font-weight: normal;
  }
  .cart-table td[data-rwd-label]:before {
    content: attr(data-rwd-label) ":";
    font-size: 12px;
    font-family: akzidenz-grotesk, Arial, sans-serif;
    padding-right: 5px;
    text-transform: uppercase;
  }
  .cart-table td.product-cart-price {
    text-align: left;
  }
  .cart-table h2 {
    font-size: 12px;
  }
  .cart-table .cart-links {
    padding-top: 5px;
    padding-right: 5px;
  }
  .cart-table .cart-links > li {
    white-space: normal;
    text-align: center;
  }
  .cart-table .cart-links > li > a {
    padding: 2px 0px;
  }
  .cart-table .cart-tax-info {
    font-style: italic;
    padding-left: 15px;
    font-size: 12px;
  }
  .cart-table .cart-tax-info .price {
    font-size: 12px;
  }
  .cart-table .product-cart-image {
    width: 25%;
    float: left;
    padding-bottom: 0;
  }
  .cart-table .product-cart-image a.cart-edit {
    display: block;
    font-size: 12px;
    text-align: center;
    text-transform: uppercase;
  }
  .cart-table .product-cart-info,
  .cart-table td[data-rwd-label] {
    float: right;
    width: 75%;
  }
  .cart-table .product-cart-actions,
  .cart-table .product-cart-price {
    padding-bottom: 0;
    padding-top: 0;
    float: right;
  }
  .cart-table .product-cart-remove,
  .cart-table .product-cart-total,
  .cart-table .product-cart-actions .cart-links {
    display: none;
  }
  .cart-table .product-cart-image .cart-links,
  .cart-table .product-cart-info .btn-remove {
    display: block;
  }
  .cart-table .product-cart-actions .button {
    display: none;
  }
  .cart-table .product-cart-info .btn-remove {
    float: right;
    margin: -4px 0px 2px 7px;
  }
  .cart-table .product-cart-info .product-cart-sku {
    margin-bottom: 5px;
  }
  .cart-table .product-cart-actions {
    text-align: left;
  }
  .cart-table .product-cart-actions .qty {
    margin-right: 7px;
    margin-bottom: 7px;
  }
  .cart-table .price,
  .cart-table .product-cart-price:before {
    font-weight: 500;
    font-size: 12px;
    font-family: akzidenz-grotesk, Arial, sans-serif;
  }
  .cart-table .cart-footer-actions {
    text-align: center;
    width: 100%;
  }
  .cart-table .cart-footer-actions #empty_cart_button {
    float: right;
  }
  .cart-table .cart-footer-actions .btn-continue {
    float: left;
  }
  .cart-table .cart-footer-actions .btn-update,
  .cart-table .cart-footer-actions span.or {
    display: none;
  }
  .display-both-prices .cart-table td[data-rwd-tax-label]:before {
    content: attr(data-rwd-tax-label) ":";
  }
}

/* ============================================ *
 * Checkout - Estimate Shipping and Tax
 * ============================================ */
.shipping h2 {
  font-size: 12px;
  font-weight: bold;
  margin: 0 0 5px;
}

.shipping select {
  max-width: 100%;
  height: 30px;
  display: block;
  border: 1px solid #111;
}

.shipping select.validation-failed {
  border-color: #DC2022;
}

.shipping .shipping-desc {
  display: none;
}

.shipping .buttons-set {
  border: none;
  margin: 0;
  padding: 0;
}

.shipping .form-list:after {
  content: '';
  display: table;
  clear: both;
}

.shipping .form-list li {
  float: left;
  margin: 5px 2% 10px 0;
}

.shipping .form-list .shipping-country {
  width: 37%;
}

.shipping .form-list .shipping-region {
  width: 41%;
}

.shipping .form-list .shipping-postcode {
  margin-right: 0;
  width: 18%;
}

.shipping .form-list .shipping-postcode input {
  margin-top: 4px;
}

.shipping .form-list .input-box {
  padding-top: 0;
}

.shipping .form-list input {
  height: 30px;
  margin-top: 4px;
}

.shipping .form-list label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  white-space: nowrap;
}

.shipping .sp-methods {
  padding: 10px 0 0;
  text-align: left;
}

.shipping .sp-methods dd {
  margin-bottom: 10px;
}

.shipping .sp-methods label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  font-style: italic;
  min-width: 100px;
}

.shipping .sp-methods label span {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-weight: bold;
  font-style: normal;
}

.shipping #co-shipping-method-form .buttons-set .button {
  float: left;
  margin-left: 0;
}

.shipping #co-shipping-method-form .sp-methods dd label {
  border: 1px solid #000;
  background-color: shade(#F4F4F4, 3%);
  min-width: 220px;
}

.shipping #co-shipping-method-form .sp-methods dd label:hover {
  background-color: shade(#F4F4F4, 10%);
}

@media only screen and (max-width: 770px) {
  .shipping .shipping-form .form-list > li {
    width: 100%;
    float: none;
  }
  .shipping .shipping-form .form-list > li label {
    display: block;
  }
  .shipping .shipping-form .form-list > li input,
  .shipping .shipping-form .form-list > li select {
    width: 100%;
  }
}

.cart .cart-totals {
  text-align: right;
}

.cart .cart-totals:after {
  content: '';
  display: table;
  clear: both;
}

.cart .cart-totals table {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  margin-bottom: 20px;
  text-transform: uppercase;
  width: 100%;
}

.cart .cart-totals table td {
  padding: 2px 0px;
}

.cart .cart-totals table td:first-child {
  padding-right: 10px;
  min-width: 120px;
}

.cart .cart-totals table tbody tr:last-child td,
.cart .cart-totals table tbody tr:last-child th {
  padding-bottom: 10px;
}

.cart .cart-totals table tfoot {
  border-top: 1px solid #E6E6E6;
  border-bottom: 1px solid #E6E6E6;
}

.cart .cart-totals table tfoot td {
  font-size: 24px;
  padding: 2px 5px;
  vertical-align: top;
}

.cart .cart-totals table tfoot strong span,
.cart .cart-totals table tfoot span.price {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.cart .cart-totals table tfoot strong {
  font-weight: 400;
}

@media only screen and (max-width: 600px) {
  .cart-totals {
    text-align: right;
  }
}

@media only screen and (max-width: 770px) {
  .cart .cart-totals table tfoot td {
    font-size: 12px;
  }
}

.discount-form:after,
#giftcard-form:after {
  content: '';
  display: table;
  clear: both;
}

#discount-coupon-form,
.cart .giftcard {
  width: 100%;
}

#discount-coupon-form h2,
.cart .giftcard h2 {
  display: none;
}

#discount-coupon-form .field-wrapper,
.cart .giftcard .field-wrapper {
  display: inline-block;
}

#discount-coupon-form .validation-advice,
.cart .giftcard .validation-advice {
  display: inline;
}

#discount-coupon-form .button-wrapper,
.cart .giftcard .button-wrapper {
  display: inline-block;
  vertical-align: bottom;
}

#discount-coupon-form .button-wrapper > button,
.cart .giftcard .button-wrapper > button {
  float: left;
}

#discount-coupon-form .input-text,
.cart .giftcard .input-text {
  border-radius: 0;
  height: 30px;
  margin: 4px 10px 0 0;
  width: 190px;
}

.cart .giftcard p {
  margin-bottom: 7px;
}

.cart .giftcard .check-gc-status {
  float: left;
  padding: 0px;
}

.cart .giftcard .check-gc-status > span > span {
  font-size: 12px;
  text-transform: none;
}

/* ============================================ *
 * Checkout - Cart Cross sell
 * ============================================ */
.crosssell h2 {
  color: #0645AD;
}

.crosssell .item a.product-image {
  width: auto;
  float: left;
}

/* Change the layout to 2 columns at a breakpoint that is higher than a 3 columns layout would normally break */
@media only screen and (max-width: 979px) {
  .crosssell {
    /* Undo three-column config */
  }
  .crosssell .products-grid > li:nth-child(even),
  .crosssell .products-grid > li:nth-child(3n),
  .crosssell .products-grid > li {
    width: 47.72727%;
    margin-right: 4.54545%;
  }
  .crosssell .products-grid > li:nth-child(odd) {
    clear: left;
  }
  .crosssell .products-grid > li:nth-child(even) {
    margin-right: 0;
  }
  .crosssell .products-grid > li:nth-child(3n+1) {
    clear: none;
  }
}

@media only screen and (max-width: 599px) {
  .cart-table .cart-tax-total:after {
    right: -9px;
  }
  .cart-table .cart-tax-total.cart-tax-total-expanded:after {
    right: -13px;
  }
}

@media only screen and (max-width: 320px) {
  .crosssell ul .item {
    padding: 0 0px 40px;
  }
  .crosssell ul .product-details .crosssell-actions {
    padding: 0 5px;
  }
}

/* ============================================ *
 * Checkout - One Page
 * ============================================ */
.checkout-onepage-index .col-right,
.checkout-onepage-index .col-left {
  display: none;
}

.checkout-onepage-index .col-main {
  width: auto;
  float: none;
}

@media only screen and (min-width: 980px) {
  .checkout-onepage-index .col-main {
    float: left;
    width: 68.75%;
    padding-right: 20px;
  }
  .checkout-onepage-index .col-right,
  .checkout-onepage-index .col-left {
    width: 31.25%;
    display: block;
  }
  .checkout-onepage-index .col-right {
    padding-left: 0;
  }
}

.opc select {
  width: 365px;
}

/* -------------------------------------------- *
 * Section Styling - Default
 */
.opc .section .step-title {
  width: 100%;
  border-top: 1px solid #9b9b9b;
  position: relative;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.opc .section .step-title:after {
  content: '';
  display: table;
  clear: both;
}

.opc .section.allow:not(.active) .step-title {
  cursor: pointer;
}

/* Using .no-touch since touch devices emulate hover, thereby making steps look active that are not */
.no-touch .opc .section.allow:not(.active) .step-title:hover {
  background-color: #F4F4F4;
}

.opc .section .step-title a {
  display: none;
}

.opc .section.allow:not(.active) .step-title a {
  display: block;
  position: absolute;
  top: 10px;
  right: 0;
  padding: 10px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #0645AD !important;
  letter-spacing: 1px;
}

.opc .section.allow:not(.active) .step-title a:hover {
  text-decoration: underline;
}

.no-touch .opc .section .step-title a:hover {
  text-decoration: none;
}

.opc .section .step-title .number,
.opc .section.allow.active .step-title .number,
.no-touch .opc .section.allow:hover .step-title .number {
  width: 26px;
  height: 26px;
  text-align: center;
  color: #000;
  line-height: 26px;
  border: 1px solid #000;
  display: block;
}

.opc .section .step {
  padding: 20px;
}

.opc .section .step:after {
  content: '';
  display: table;
  clear: both;
}

@media only screen and (max-width: 979px) {
  .opc .section .step {
    padding: 10px;
  }
}

.opc select {
  max-width: 365px;
  width: 100%;
}

.opc h3 {
  font-weight: 500;
}

.opc .buttons-set {
  text-align: left;
}

.opc .buttons-set button.button {
  float: left;
  margin-left: 0;
  margin-right: 10px;
  margin-bottom: 0;
}

.opc .buttons-set p.required {
  float: right;
  margin-left: 5px;
  margin-bottom: 0;
}

.opc .buttons-set .back-link {
  float: right;
  margin: 0;
}

.opc .buttons-set a {
  line-height: 20px;
  display: inline-block;
  padding: 5px 5px 5px 0;
}

@media only screen and (max-width: 359px) {
  .opc .buttons-set .button + .buttons-set .button,
  .paypal-express-review .buttons-set .button + .buttons-set .button {
    margin-left: 0;
  }
}

.opc #opc-login .step {
  padding: 0px;
}

.opc #opc-login .buttons-set {
  border-top: 0;
  padding-top: 5px;
}

@media only screen and (max-width: 770px) {
  .opc #opc-login .description,
  .opc #opc-login p.required {
    display: none;
  }
}

#opc-payment .note {
  padding: 10px;
}

/* -------------------------------------------- *
 * This section hides everything but the "Checkout Method" step of the checkout process and fades in the content
 * once the customer progresses to the next step. The purpose of this is to simplify what the customer has to focus on.
 * It is limited to larger viewports since smaller devices are inherently going to be focused solely on the
 * "Checkout Method" step.
 */
.opc.opc-firststep-login .section:not(#opc-login) .step-title,
.opc-block-progress-step-login {
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.opc.opc-firststep-login .section#opc-login .step-title .number {
  -webkit-transition: width 80ms;
  transition: width 80ms;
}

.opc.opc-firststep-login .section#opc-login .step-title h2 {
  -webkit-transition: margin-left 80ms;
  transition: margin-left 80ms;
}

/* When a user progresses from the "Checkout Method" to "Billing Information" for the first time, the              */
/* "opc-has-progressed-from-login" class gets added to the body. Also, the .opc element will only have the         */
/* "opc-firststep-login" class if the first step of the checkout is the "Checkout Method" (eg, not when logged in) */
/* -------------------------------------------- *
 * Shipping and Payment methods
 */
.sp-methods {
  margin: 0 0 8px;
}

.sp-methods dt {
  margin: 13px 0 5px;
  font-weight: bold;
}

.sp-methods dt:first-child {
  margin: 0 0 5px;
}

.sp-methods dd li {
  margin: 5px 0;
}

.sp-methods label img {
  float: left;
}

.sp-methods label a {
  margin-top: 6px;
  float: right;
  margin-left: 10px;
}

.sp-methods .price {
  font-weight: bold;
}

.sp-methods .form-list {
  padding-left: 20px;
}

.sp-methods .form-list li {
  margin: 0 0 8px;
}

.sp-methods select.month {
  width: 120px;
  margin-right: 10px;
}

.sp-methods select.year {
  width: 96px;
}

.sp-methods input.cvv {
  width: 4em !important;
}

.sp-methods #advice-validate-cc-exp-ccsave_expiration {
  max-width: 130px;
}

.sp-methods .checkmo-list li {
  margin: 0 0 5px;
  content: '';
  display: table;
  clear: both;
}

.sp-methods .checkmo-list label {
  width: 165px;
  padding-right: 15px;
  text-align: right;
  float: left;
}

.sp-methods .checkmo-list address {
  float: left;
}

@media only screen and (max-width: 359px) {
  .sp-methods .checkmo-list {
    padding-left: 0;
  }
  .sp-methods .checkmo-list label {
    width: 135px;
  }
}

.sp-methods .release-amounts {
  margin: 0.5em 0;
}

.sp-methods .release-amounts button {
  float: left;
  margin: 5px 10px 0 0;
}

/* One Page Checkout */
.block-progress {
  border: 0;
  margin: 0;
  border-left: 1px solid #9b9b9b;
  padding-left: 20px;
}

.block-progress .block-content {
  font-size: 12px;
}

.block-progress dt {
  padding-top: 6px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
  margin-bottom: 6px;
  text-transform: uppercase;
  font-weight: normal;
  color: #9B9B9B;
}

.block-progress dt.complete {
  color: #000;
}

.block-progress dd {
  padding-left: 15px;
  margin-bottom: 10px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: italic;
}

.block-progress dd address {
  font-style: italic;
}

.block-progress #payment-progress-opcheckout .subtitle {
  margin-bottom: 3px;
}

.block-progress .payment-info dt {
  padding: 0;
  margin: 0 0 3px 0;
  color: #111;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  text-transform: none;
  font-style: italic;
  float: left;
  clear: both;
  font-size: 12px;
}

.block-progress .payment-info dt:after {
  content: ': ';
}

.block-progress .payment-info dd {
  float: left;
  margin-bottom: 3px;
  font-size: 12px;
}

.block-progress .payment-info:after {
  content: '';
  display: table;
  clear: both;
}

/* review step */
#checkout-review-table .btn-remove img {
  display: none;
}

#checkout-review-table-wrapper {
  clear: both;
}

#review-buttons-container {
  width: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
}

#review-buttons-container .btn-checkout {
  min-width: 220px;
}

#review-buttons-container .please-wait {
  float: left;
  margin-right: 10px;
}

#review-buttons-container .f-left {
  float: right;
}

@media only screen and (max-width: 599px) {
  .linearize-table-large.checkout-review-table thead tr:nth-child(1n+2) {
    display: none;
  }
}

@media only screen and (max-width: 359px) {
  .linearize-table.checkout-review-table thead tr:nth-child(1n+2) {
    display: none;
  }
}

/* show/hide "change" link for progress step depend on complete status
 * should be placed in .css file */
.opc-block-progress dt.complete a,
.opc-block-progress dt.complete .separator {
  display: inline;
}

.opc-block-progress dt a,
.opc-block-progress dt .separator {
  display: none;
}

/* On small screens, the progress review content will be moved to the review step via JS. Styled via this CSS: */
#checkout-step-review .opc-block-progress {
  border-left: none;
  padding-left: 0;
}

#checkout-step-review .opc-block-progress .block-title {
  display: none;
}

#checkout-step-review .opc-block-progress .block-content {
  display: block !important;
  padding: 0;
}

#checkout-step-review .opc-block-progress .block-content > dl > div {
  float: left;
  width: 50%;
}

@media only screen and (max-width: 359px) {
  #checkout-step-review .opc-block-progress .block-content > dl > div {
    float: none;
    width: auto;
  }
}

#checkout-step-review .opc-block-progress .block-content .changelink {
  display: none;
}

@media only screen and (max-width: 359px) {
  #checkout-review-table thead > tr > th {
    display: none;
  }
  #checkout-review-table thead > tr > th:first-child {
    display: block;
  }
  #checkout-review-table thead > tr > th:first-child {
    display: block;
  }
}

#checkout-step-review .centinel > p {
  margin-bottom: 10px;
}

#checkout-step-review .centinel iframe {
  width: 100%;
  min-height: 400px;
}

/* Gift options */
.gift-messages-form .item {
  content: '';
  display: table;
  clear: both;
  margin-top: 30px;
}

.gift-messages-form .item h5 {
  font-weight: bold;
}

.gift-messages-form .item .product-img-box {
  width: auto;
  float: left;
  padding-right: 15px;
}

.gift-messages-form .item .details {
  float: left;
}

.gift-message-form .inner-box > div {
  content: '';
  display: table;
  clear: both;
  width: 100%;
  margin-top: 15px;
  display: block;
}

.gift-message-form .inner-box > div.extra-options-container p {
  margin-bottom: 15px;
}

.gift-message-form .gift-wrapping-form label {
  margin-right: 10px;
}

.gift-message-form .gift-wrapping-form img {
  float: left;
}

.gift-message-form .gift-wrapping-form .gift-wrapping-design {
  height: 75px;
}

.gift-message-form .gift-wrapping-form .gift-wrapping-design:after {
  content: '';
  display: table;
  clear: both;
}

.gift-message-form .gift-wrapping-form .gift-wrapping-design .image-box {
  margin-right: 5px;
}

.gift-message-form .gift-item {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: solid 1px #9b9b9b;
}

.gift-message-form .gift-item:after {
  content: '';
  display: table;
  clear: both;
}

.gift-message-form .gift-item .product-img-box {
  width: 200px;
}

.gift-message-form .gift-item .product-img-box .product-image {
  width: 75px;
  margin-left: auto;
  margin-right: auto;
}

.gift-message-form .gift-item .product-img-box .product-name {
  display: block;
}

.gift-message-form .gift-item .fieldset {
  margin-left: 200px;
}

@media only screen and (max-width: 770px) {
  .gift-message-form .giftmessage-area {
    max-width: 100%;
  }
  .gift-message-form .gift-item .product-img-box {
    width: 100%;
    float: none;
  }
  .gift-message-form .gift-item .fieldset {
    margin-left: 0px;
  }
  .gift-message-form .gift-item .fieldset textarea {
    width: 100%;
  }
}

/* ============================================ *
 * Checkout - Success
 * ============================================ */
.checkout-onepage-success .col-main {
  padding: 0;
  text-align: center;
}

.checkout-onepage-success .buttons-set {
  margin: 10px 0;
  text-align: center;
}

.checkout-onepage-success .buttons-set button {
  float: none;
}

/* ============================================ *
 * Configurable Swatches
 * ============================================ */
/* Clears */
.clearfix:after,
.configurable-swatch-list:after,
.product-view .product-options .swatch-attr:after {
  content: '';
  display: table;
  clear: both;
}

/* General Swatch Styling */
.swatch-link,
.swatch-label {
  display: block;
  border-radius: -2px;
  font-size: 12px;
  text-align: center;
  color: #000;
  text-decoration: none;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.swatch-link {
  border: 1px solid #000;
  margin: 0 0 3px;
}

.swatch-link img {
  border-radius: -3px;
}

.swatch-link:hover {
  cursor: pointer;
  text-decoration: none;
}

.swatch-link .x {
  display: none;
  text-indent: -999em;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../images/bg_x.png) center no-repeat transparent;
  z-index: 10;
}

.swatch-link.has-image .swatch-label {
  position: relative;
}

.swatch-link.has-image img {
  position: absolute;
  top: 0;
  left: 0;
}

.swatch-label {
  border: 1px solid #fff;
  margin: 0;
  white-space: nowrap;
  background: #F4F4F4;
}

.configurable-swatch-list {
  margin-left: -3px;
  zoom: 1;
  clear: both;
  -webkit-transform: translateZ(0px);
}

.configurable-swatch-list li {
  float: left;
  zoom: 1;
  margin: 0 0 0 3px;
}

.products-grid .configurable-swatch-list li {
  display: inline-block;
  float: none;
  margin: 0;
  vertical-align: top;
}

.configurable-swatch-list .not-available .x {
  display: block;
}

.configurable-swatch-list .not-available .swatch-link {
  border-color: #EDEDED;
  position: relative;
}

.configurable-swatch-list .not-available .swatch-link.has-image img {
  opacity: 0.4;
  filter: alpha(opacity=40);
}

.configurable-swatch-list .not-available .swatch-label {
  color: #aaa;
  background: #fff;
}

.configurable-swatch-list .wide-swatch .swatch-label {
  padding: 0 6px;
}

.configurable-swatch-list .not-available a:focus {
  outline: 0;
}

#narrow-by-list dd .configurable-swatch-list li {
  margin: 0 0 0 3px;
  width: 47%;
}

#narrow-by-list dd .swatch-link {
  border: none;
  line-height: 23px;
  margin-right: 2px;
  text-align: left;
}

#narrow-by-list dd .swatch-link.has-image {
  line-height: inherit;
}

#narrow-by-list dd .swatch-link:hover .swatch-label {
  border-color: #0645AD;
}

#narrow-by-list dd .swatch-label {
  background: #F4F4F4;
  border: 1px solid #000;
  border-radius: -2px;
  display: block;
  float: left;
  line-height: 1.5em;
  margin: 0 5px 0 0;
  padding: 1px 5px;
  white-space: nowrap;
}

#narrow-by-list dd .swatch-label img {
  border: 1px solid #fff;
  border-radius: -2px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

#narrow-by-list dd .has-image .swatch-label {
  padding: 0;
}

@media only screen and (max-width: 770px) {
  #narrow-by-list dd .configurable-swatch-list li:nth-child(odd) {
    clear: left;
  }
}

.currently .swatch-current {
  position: relative;
}

.currently .swatch-current .btn-remove {
  margin-top: -10px;
  position: absolute;
  right: 0;
  top: 50%;
}

.currently .swatch-current span {
  display: block;
  float: left;
}

.currently .swatch-link {
  display: inline-block;
  margin: 0 0 0 3px;
}

.currently .swatch-link:hover {
  border-color: #000;
  cursor: default;
}

/* Other Swatch States */
.configurable-swatch-list .hover .swatch-link,
.configurable-swatch-list .selected .swatch-link,
.swatch-link:hover {
  border-color: #0645AD;
}

.configurable-swatch-box {
  background: none !important;
}

.configurable-swatch-box select.swatch-select {
  display: none;
}

.configurable-swatch-box .validation-advice {
  margin: 0 0 5px;
  background: #DC2022;
  padding: 2px 5px !important;
  font-weight: bold;
  color: #fff !important;
  float: left;
  display: block;
  border-radius: -2px;
}

/* CUSTOM */
.availability.out-of-stock span {
  color: #9B9B9B;
}

.product-view .product-options .swatch-attr {
  float: none;
  display: block;
  clear: both;
  border: 0;
}

.product-view .product-options .swatch-attr label,
.product-view .product-options .swatch-attr .select-label {
  font-size: 12px;
}

.product-view .product-options .swatch-attr label {
  display: block;
  line-height: 1.3;
}

.product-view .product-options .swatch-attr .select-label {
  display: inline;
  font-weight: normal;
  color: #111;
  padding-left: 5px;
}

.product-view .product-options dd .input-box {
  width: auto;
  height: auto;
}

.product-view .product-options .select-label {
  display: none;
}

.product-view .add-to-cart button.out-of-stock {
  background-position: -80px -362px;
  cursor: default;
}

/* ============================================ *
 * Customer
 * ============================================ */
.customer-account-login .scaffold-form label:first-child {
  width: 115px;
}

.customer-account-login .col2-set .buttons-set {
  text-align: left;
  border-top: 0;
}

.customer-account-login .col2-set .buttons-set button,
.customer-account-login .col2-set .buttons-set .button {
  float: none;
  min-width: 50%;
  margin: 0;
}

.customer-account-login .col2-set .col-1 ul {
  list-style: disc;
  padding-left: 20px;
  margin: 10px 0 20px 0;
}

@media only screen and (min-width: 360px) {
  .customer-account-login .col2-set .col-1,
  .customer-account-login .col2-set .col-2 {
    padding-top: 0;
    margin-top: 20px;
  }
  .customer-account-login .col2-set .col-1 {
    padding-right: 20px;
  }
  .customer-account-login .col2-set .col-2 {
    padding-left: 20px;
    border-left: 1px solid #EDEDED;
  }
}

@media only screen and (min-width: 770px) {
  .customer-account-login .col2-set .col-1 {
    padding-right: 0;
  }
  .customer-account-login .col2-set .col-2 {
    padding-left: 60px;
    border-left: 1px solid #EDEDED;
  }
}

@media only screen and (max-width: 359px) {
  .customer-account-login .col2-set .col-1 {
    padding-bottom: 30px;
  }
  .customer-account-login .col2-set .col-2 {
    padding-top: 30px;
    border-top: 1px solid #EDEDED;
  }
}

@media only screen and (max-width: 770px) {
  .customer-account-login .col2-set p.required {
    display: none;
  }
}

.customer-account-create .scaffold-form label:first-child {
  width: 140px;
}

.remember-me-box a.hide {
  display: none;
}

.remember-me-box .link-tip {
  font-size: 12px;
  padding-left: 10px;
}

.remember-me-popup {
  display: none;
  border: 1px solid #000;
  padding: 10px;
  position: relative;
}

.remember-me-popup.show {
  display: block;
}

.remember-me-popup p {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.remember-me-popup .remember-me-popup-close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 10px;
  font-size: 12px;
}

.remember-me-popup .remember-me-popup-close-button {
  display: none;
}

.customer-account-create .buttons-set {
  max-width: 455px;
}

.customer-account-create .fieldset,
.customer-account-create .buttons-set {
  margin-left: 30px;
}

@media only screen and (max-width: 359px) {
  .customer-account-create .fieldset,
  .customer-account-create .buttons-set {
    margin-left: 0;
  }
}

.customer-account-create .fieldset .hidden {
  display: none;
}

.customer-account-create #remember-me-popup {
  max-width: 455px;
}

.customer-account-forgotpassword .fieldset,
.customer-account-forgotpassword .buttons-set {
  margin-left: 30px;
  max-width: 400px;
}

@media only screen and (max-width: 359px) {
  .customer-account-forgotpassword .fieldset,
  .customer-account-forgotpassword .buttons-set {
    margin-left: 0;
  }
}

.customer-account-forgotpassword .fieldset .input-box input.input-text {
  width: 100%;
}

/* ============================================ *
 * My Account Global Styles
 * ============================================ */
body.customer-account .my-account .fieldset h2,
body.customer-account .my-account .addresses-list h2,
body.customer-account .my-account .order-details h2 {
  font-weight: bold;
  width: 100%;
  display: inline-block;
}

body.customer-account .my-account .order-details h2 {
  margin-bottom: 1em;
}

body.customer-account .my-account .order-details .order-links {
  display: none;
}

body.customer-account .my-account .addresses-list h3 {
  font-size: 12px;
  font-weight: 600;
}

body.customer-account .my-account .fieldset {
  margin-top: 30px;
  margin-bottom: 30px;
}

body.customer-account .my-account .fieldset h2.legend {
  border: 0;
}

body.customer-account .page-title {
  margin-bottom: 40px;
}

body.customer-account .page-title h1 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #000;
  font-weight: bold;
  padding-bottom: 1em;
  text-align: left;
}

body.customer-account .title-buttons {
  border-bottom: 1px solid #000;
  padding-bottom: 1em;
  position: relative;
  text-align: right;
}

body.customer-account .title-buttons:after {
  content: '';
  display: table;
  clear: both;
}

body.customer-account .title-buttons h1 {
  float: left;
  border: 0;
  padding-bottom: 0;
  text-align: left;
}

body.customer-account .title-buttons .button {
  background: transparent;
  color: #0645AD;
  float: right;
  padding: 0;
  text-transform: none;
}

body.customer-account .form-list .input-box {
  padding-top: 1em;
}

body.customer-account .form-list .input-text {
  border-radius: 0;
}

body.customer-account .form-list select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOC42MDFweCIgaGVpZ2h0PSI1LjM2cHgiIHZpZXdCb3g9IjAgMCA4LjYwMSA1LjM2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4LjYwMSA1LjM2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwb2x5Z29uIGZpbGw9IiM5Nzk3OTciIHBvaW50cz0iNC4zLDUuMzYgMCwxLjA2MSAxLjA2MSwwIDQuMywzLjIzOSA3LjU0MSwwIDguNjAxLDEuMDYxIAkiLz4NCjwvZz4NCjwvc3ZnPg0K");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 11px;
  border-radius: 0;
  border: 1px solid #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  font-size: 10px;
  line-height: 1em;
  max-width: 100%;
  padding: 8px 32px 8px 8px;
  position: relative;
  width: 365px;
}

body.customer-account .form-list select::-ms-expand {
  display: none;
}

@-moz-document url-prefix() {
  body.customer-account .form-list select {
    background-image: none !important;
    -moz-appearance: menulist !important;
    height: 50px !important;
  }
}

body.customer-account .form-list .control {
  line-height: 1.4em;
}

body.customer-account .form-list .control input[type=checkbox] {
  display: inline-block;
  float: none;
  margin: 0.4em 1em 0 0;
}

body.customer-account .form-list .control label {
  background-color: transparent;
  display: inline-block;
  padding: 0;
}

body.customer-account .buttons-set {
  margin: 0;
  padding: 0;
}

body.customer-account .buttons-set .required {
  display: block;
  float: none;
  margin: 0 0 1em 0;
  padding: 0;
  text-align: left;
}

body.customer-account .buttons-set .back-link {
  float: right;
}

body.customer-account .buttons-set button.button {
  float: left;
  margin: 0;
}

body.customer-account .data-table {
  margin-top: 5px;
}

body.customer-account .data-table colgroup {
  display: none;
}

body.customer-account .data-table th {
  background: transparent;
  border: 0;
  padding: 10px 10px 10px 0;
  text-transform: none;
}

body.customer-account .data-table td {
  border: 0;
  padding: 10px 10px 10px 0;
}

body.customer-account .data-table td a {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  text-transform: uppercase;
  font-style: normal;
  font-size: 12px;
}

body.customer-account .data-table span.nobr {
  white-space: normal;
}

body.customer-account .data-table span.nobr a {
  display: inline-block;
  white-space: nowrap;
  padding: 0 0.5em;
}

body.customer-account .data-table td.view a {
  display: block;
}

body.customer-account .data-table .separator {
  display: none;
}

body.customer-account .pager .limiter select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOC42MDFweCIgaGVpZ2h0PSI1LjM2cHgiIHZpZXdCb3g9IjAgMCA4LjYwMSA1LjM2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4LjYwMSA1LjM2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwb2x5Z29uIGZpbGw9IiM5Nzk3OTciIHBvaW50cz0iNC4zLDUuMzYgMCwxLjA2MSAxLjA2MSwwIDQuMywzLjIzOSA3LjU0MSwwIDguNjAxLDEuMDYxIAkiLz4NCjwvZz4NCjwvc3ZnPg0K");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 11px;
  border-radius: 0;
  border: 1px solid #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  font-size: 10px;
  line-height: 1em;
  padding: 8px 32px 8px 8px;
  position: relative;
}

body.customer-account .pager .limiter select::-ms-expand {
  display: none;
}

@-moz-document url-prefix() {
  body.customer-account .pager .limiter select {
    background-image: none !important;
    -moz-appearance: menulist !important;
    height: 50px !important;
  }
}

body.customer-account .separator {
  color: #9b9b9b;
}

body.customer-account .sidebar .block-account .block-title {
  margin-bottom: 40px;
}

body.customer-account .sidebar .block-account .block-title strong {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: block;
  border-bottom: 1px solid #000;
  padding-bottom: 1em;
}

body.customer-account .sidebar .block-account li {
  text-transform: none;
}

body.customer-account .sidebar .block-account .current strong {
  color: #000;
}

body.customer-account .sidebar .block-account a {
  color: #9B9B9B;
}

body.customer-account .sidebar .block-account a:hover {
  color: #000;
}

body.customer-account .sidebar .block ol#compare-items li {
  margin: 10px 0;
}

body.customer-account .sidebar .block .block-content p.block-subtitle {
  margin-bottom: 15px;
}

body.customer-account .sidebar .block .block-content .actions {
  margin-top: 30px;
}

body.customer-account .sidebar ol#cart-sidebar-reorder li {
  margin-top: 10px;
  margin-bottom: 0;
}

body.customer-account .sidebar ol#cart-sidebar-reorder p.product-name {
  display: inline-block;
  margin-bottom: 0;
}

body.customer-account .sidebar .block-cart .summary {
  margin-bottom: 15px;
}

body.customer-account .sidebar .block-reorder {
  padding-top: 30px;
}

body.customer-account .sidebar .block-reorder .block-title {
  border: 0;
  margin-bottom: 40px;
}

body.customer-account .sidebar .block-reorder .block-title strong {
  display: block;
  border-bottom: 1px solid #000;
  padding-bottom: 1em;
}

body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder li {
  margin: 10px 0 0 0;
}

body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder li input {
  margin-right: 10px;
}

body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder p.product-name {
  display: inline;
  margin-bottom: 0;
}

body.customer-account .messages {
  margin: 20px 0;
}

.form-list .customer-dob .dob-month,
.form-list .customer-dob .dob-day {
  width: 40px;
  float: left;
  margin-right: 10px;
}

.form-list .customer-dob .dob-year {
  width: 80px;
  float: left;
}

/* ============================================ *
 * Dashboard
 * ============================================ */
.dashboard .box-head {
  margin-top: 30px;
  border: 0;
}

.dashboard .box-head h2 {
  font-size: 12px;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 0;
  text-transform: uppercase;
}

.dashboard .box-head a {
  padding: 10px;
}

.dashboard .box-title a,
.dashboard .box-head a {
  text-transform: uppercase;
  font-size: 12px;
}

.dashboard .box-account {
  border: 0;
  padding: 0;
  margin-bottom: 45px;
}

.dashboard .box-account p,
.dashboard .box-account address {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: italic;
}

.dashboard .box-recent {
  border-bottom: 1px solid #9b9b9b;
  padding-bottom: 30px;
}

.dashboard #my-orders-table {
  margin: 20px 0 0 0;
}

.dashboard .col2-set {
  border-bottom: 1px solid #9b9b9b;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.dashboard .col2-set:last-child {
  border: 0;
  padding: 0;
  margin-bottom: 0;
}

.dashboard .col2-set .col-1,
.dashboard .col2-set .col-2 {
  padding-right: 12.09677%;
  padding-bottom: 0;
}

.dashboard .col2-set .box-title {
  position: relative;
  padding-bottom: 10px;
}

.dashboard .col2-set .box-title h2,
.dashboard .col2-set .box-title h3 {
  font-weight: 600;
  font-size: 12px;
  margin-bottom: 0;
}

.dashboard .col2-set .box-title a {
  line-height: 16.8px;
}

.dashboard .col2-set .box-content h4 {
  margin-bottom: 1em;
}

.dashboard .welcome-msg {
  border-bottom: 1px solid #9b9b9b;
  padding-bottom: 30px;
}

.dashboard .welcome-msg .hello {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
  margin-bottom: 1em;
}

.dashboard .box-reviews.box-account {
  padding-bottom: 0;
}

.dashboard .box-reviews li {
  padding: 10px 0;
  border-top: 1px solid #EDEDED;
}

.dashboard .box-reviews li:first-child {
  border-top: 0;
}

.dashboard .box-reviews li .number {
  margin-right: -20px;
  float: left;
  line-height: 1.4;
  font-size: 12px;
}

.dashboard .box-reviews li .details {
  margin-left: 20px;
}

.dashboard .box-reviews li .details .ratings {
  content: '';
  display: table;
  clear: both;
  margin-bottom: 0;
}

.dashboard .box-reviews li .details .ratings strong {
  float: left;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  margin-right: 5px;
}

.dashboard .box-reviews li .details .ratings .rating-box {
  float: left;
  margin: 3px 0 0 0;
}

/* ============================================ *
 * Address Book
 * ============================================ */
.my-account .addresses-list {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.my-account .addresses-list .col-1,
.my-account .addresses-list .col-2 {
  padding-top: 0;
  padding-bottom: 0;
}

.my-account .addresses-list h2 {
  margin-bottom: 1em;
}

.my-account .addresses-list .item {
  margin: 0 0 30px 0;
}

.my-account .addresses-list .item h3 {
  margin-bottom: 0.5em;
}

.my-account .addresses-list .item p {
  margin-top: 10px;
}

@media only screen and (max-width: 770px) {
  .my-account .addresses-list .col-1,
  .my-account .addresses-list .col-2 {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .my-account .addresses-list .col-1 li.empty,
  .my-account .addresses-list .col-2 li.empty {
    width: 100%;
  }
}

@media only screen and (max-width: 599px) {
  .my-account .addresses-list .addresses-additional p a {
    white-space: nowrap;
  }
}

/* ============================================ *
 * Order View
 * ============================================ */
.order-info {
  padding-bottom: 10px;
  border-bottom: 1px solid #EDEDED;
  width: 100%;
  margin-bottom: 30px;
}

.order-info dt,
.order-info dd,
.order-info ul,
.order-info li {
  display: inline;
}

.order-info dt {
  margin-right: 20px;
}

.order-info li {
  margin: 0 0 0 20px;
}

.order-info li.current {
  font-weight: 600;
}

.order-info li:first-child {
  margin-left: 0;
}

.order-date {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.order-info-box {
  margin-bottom: 40px;
  margin-top: 20px;
}

.order-info-box + .order-info-box {
  padding-bottom: 40px;
  border-bottom: 1px solid #EDEDED;
}

.order-info-box .col-1 {
  padding-right: 0;
  width: 48%;
}

.order-info-box .col-2 {
  width: 52%;
}

.order-info-box .col-1,
.order-info-box .col-2 {
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}

.order-info-box .box-title {
  width: 150px;
  padding-right: 10px;
  float: left;
}

.order-info-box .box-title h2 {
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-weight: bold;
  line-height: 1.5;
}

.order-info-box .box-title h2:after {
  content: ':';
}

.order-info-box .box-content {
  float: left;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.order-info-box .box-content td,
.order-info-box .box-content th {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  line-height: 1.3;
}

.order-info-box .box-content th {
  padding-top: 10px;
}

.order-info-box .box-content td {
  padding-left: 15px;
}

.order-info-box .box-content strong {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-weight: normal;
  text-transform: uppercase;
}

#my-orders-table {
  margin: 30px 0;
}

#my-orders-table .option-label {
  margin-left: 10px;
  font-weight: 600;
  font-style: italic;
}

#my-orders-table .option-value {
  margin-left: 20px;
}

#my-orders-table tr.bundle:not(:last-child) td {
  border-bottom: none;
  border-top: none;
}

#my-orders-table .item-options dt,
#my-orders-table .item-options dd {
  color: #9B9B9B;
  font-style: normal;
  font-weight: normal;
}

#my-orders-table tbody .a-right,
#my-orders-table tbody .a-center,
#my-orders-table thead .a-right,
#my-orders-table thead .a-center {
  text-align: left;
}

#my-orders-table tbody th:last-child.a-right,
#my-orders-table thead th:last-child.a-right {
  text-align: right;
}

#my-orders-table tbody .a-right.last,
#my-orders-table thead .a-right.last {
  text-align: right;
}

ol#cart-sidebar-reorder li {
  margin-top: 10px;
  margin-bottom: 0;
}

ol#cart-sidebar-reorder li input {
  margin-right: 10px;
}

ol#cart-sidebar-reorder p.product-name {
  display: inline;
}

@media only screen and (max-width: 599px) {
  #my-orders-table .option-label {
    margin-left: 20px;
  }
  #my-orders-table .option-value {
    margin-left: 35px;
  }
  #my-orders-table td[data-rwd-label=Qty] .nobr br {
    display: none;
  }
  #my-orders-table td[data-rwd-label=Qty] .nobr strong {
    margin-right: 10px;
  }
  #my-orders-table tr.bundle {
    border-color: #EDEDED;
  }
  #my-orders-table tr.bundle.child td[data-rwd-label] {
    padding-left: 60px;
  }
  #my-orders-table tbody:last-child tr:last-child td {
    padding-bottom: 10px;
    border-bottom: 0;
  }
  #my-orders-table tbody:last-child tr:last-child td:last-child {
    padding-bottom: 15px;
  }
  #my-orders-table tfoot tr.shipping {
    margin-top: 0;
  }
}

.order-additional {
  margin: 40px 0;
}

.order-gift-message dd {
  margin-top: 10px;
}

@media only screen and (max-width: 1199px) {
  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    padding-right: 30px;
    padding-bottom: 0;
  }
  body.customer-account .data-table td.view a {
    white-space: normal;
  }
}

@media only screen and (max-width: 979px) {
  body.customer-account .my-account .title-buttons {
    text-align: left;
  }
}

@media only screen and (max-width: 770px) {
  body.customer-account .sidebar .block:not(.block-layered-nav) .block-content {
    border-bottom: 1px solid #000;
  }
  body.customer-account .sidebar .block-account {
    border: 0;
    margin-top: 45px;
  }
  body.customer-account .sidebar .block-account .block-title {
    margin-bottom: 0;
  }
  body.customer-account .data-table.orders th.ship,
  body.customer-account .data-table.orders td.ship,
  body.customer-account .data-table.orders td.status,
  body.customer-account .data-table.orders th.status {
    display: none;
  }
  .order-info-box .box-content {
    clear: left;
  }
  .addresses-list .item {
    float: left;
    width: 50%;
    padding-right: 30px;
  }
  .order-info dt {
    display: none;
  }
  .dashboard .page-title {
    margin-top: 20px;
  }
  .dashboard .page-title h1 {
    margin-top: 0;
  }
  .dashboard .welcome-msg {
    font-family: akzidenz-grotesk, Arial, sans-serif;
  }
  .dashboard .welcome-msg .hello {
    font-style: italic;
  }
  .dashboard .box-account {
    padding-bottom: 15px;
    margin-bottom: 30px;
  }
  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    width: 48%;
    padding-right: 0;
    padding-left: 0;
  }
  .dashboard .col2-set .col-1 {
    float: left;
    margin-right: 4%;
  }
  .dashboard .col2-set .col-2 {
    float: right;
  }
}

@media only screen and (max-width: 599px) {
  body.customer-account .my-account .title-buttons h1, body.customer-account .my-account .title-buttons .button {
    float: none;
  }
  body.customer-account .my-account .title-buttons h1 {
    margin-bottom: 2em;
  }
  body.customer-account .my-account .form-list .control {
    padding-left: 0;
  }
}

@media only screen and (max-width: 359px) {
  body.customer-account .my-account .page-title h1 {
    text-align: center;
  }
  body.customer-account .my-account .title-buttons {
    text-align: center;
  }
  body.customer-account .my-account .title-buttons .button {
    width: 100%;
    position: static;
    margin-bottom: 15px;
  }
  body.customer-account .my-account .title-buttons .button + .button {
    margin-left: 0px;
  }
  body.customer-account .my-account .fieldset h2 {
    margin-bottom: 15px;
  }
  body.customer-account .my-account .order-details h2 {
    margin-bottom: 15px;
  }
  body.customer-account .my-account .buttons-set {
    border-top: 0;
  }
  body.customer-account .my-account .addresses-list .item {
    margin-bottom: 15px;
    padding-right: 0;
    float: none;
    width: auto;
  }
  body.customer-account .my-account .addresses-list h2 {
    margin-bottom: 15px;
  }
  .order-info {
    margin-top: 15px;
  }
  .data-table.orders .link-reorder,
  .data-table.orders .date {
    display: none;
  }
  .data-table.orders td.view {
    text-align: right;
  }
  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    width: 100%;
    margin-top: 15px;
  }
  .order-info-box {
    margin: 0;
  }
  .order-info-box .col-1,
  .order-info-box .col-2 {
    width: 100%;
    border-bottom: 1px solid #EDEDED;
    padding: 15px 0;
  }
  .order-info-box + .order-info-box {
    padding-bottom: 0;
    border-bottom: 0;
    margin-bottom: 30px;
  }
  #my-reviews-table .nobr {
    white-space: normal;
  }
}

/* ============================================ *
 * Newsletter Subscriptions
 * ============================================ */
body.newsletter-manage-index .my-account .fieldset {
  margin-bottom: 20px;
}

body.newsletter-manage-index .my-account .fieldset h2 {
  display: none;
}

body.newsletter-manage-index .my-account .form-list {
  margin-bottom: 30px;
}

body.newsletter-manage-index .my-account .form-list .control {
  display: none;
}

body.newsletter-manage-index .my-account .form-list .control.-m, body.newsletter-manage-index .my-account .form-list .control.-w {
  display: block;
}

/* ============================================ *
 * Page Pop Up
 * ============================================ */
.page-popup .page-title {
  margin-bottom: 40px;
}

.page-popup .page-title h1 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #000;
  font-weight: bold;
  padding-bottom: 1em;
  text-align: left;
}

.page-popup .title-buttons {
  border-bottom: 1px solid #000;
  padding-bottom: 1em;
  position: relative;
  text-align: right;
}

.page-popup .title-buttons:after {
  content: '';
  display: table;
  clear: both;
}

.page-popup .title-buttons h1 {
  float: left;
  border: 0;
  padding-bottom: 0;
  text-align: left;
}

.page-popup .title-buttons .button {
  background: transparent;
  color: #0645AD;
  float: right;
  padding: 0;
  text-transform: none;
}

.page-popup .sub-title {
  margin-bottom: 1em;
}

.page-popup .buttons-set {
  margin-top: 30px;
}

.page-popup .buttons-set button.button {
  float: left;
  margin: 0;
}

.customer-paymentinfo-index .col-1 {
  content: '';
  display: table;
  clear: both;
  padding-top: 0;
}

.customer-paymentinfo-index .col-1 .buttons-set {
  margin-top: 20px !important;
}

.customer-paymentinfo-index .col-1 .buttons-set .button {
  margin-right: 1em;
}

.customer-paymentinfo-index .col-2 {
  padding-top: 0;
}

.customer-paymentinfo-index .col-2 .buttons-set {
  text-align: left;
}

.customer-paymentinfo-index .col-2 .buttons-set a {
  margin-left: 1em;
}

@media only screen and (max-width: 770px) {
  .customer-account.customer-paymentinfo-index .my-account .col-1,
  .customer-account.customer-paymentinfo-index .my-account .col-2 {
    display: block;
    width: 100%;
    padding: 0;
  }
  .customer-account.customer-paymentinfo-index .my-account .col-1 {
    margin-bottom: 30px;
  }
  .customer-account.customer-paymentinfo-index .my-account .col-1 .box-title .pages {
    float: right;
  }
  .customer-account.customer-paymentinfo-index .my-account .col-1 .buttons-set form {
    margin-top: 1em;
  }
  .customer-account.customer-paymentinfo-index .my-account .col-1 .buttons-set .button {
    float: none;
  }
  .customer-account.customer-paymentinfo-index .my-account .col-2 .buttons-set button {
    float: none;
  }
  .customer-account.customer-paymentinfo-index .my-account .col-2 .buttons-set a {
    display: block;
    margin-left: 0;
    padding: 10px;
    text-align: center;
  }
  .customer-account.customer-paymentinfo-index .my-account .addresses-list .item {
    display: block;
    float: none;
    width: auto;
    padding-right: 15px;
  }
}

/* ============================================ *
 * Contacts
 * ============================================ */
.contacts-index-index .buttons-set {
  margin-left: 30px;
  max-width: 435px;
}

.contacts-index-index .buttons-set p.required {
  float: left;
}

@media only screen and (max-width: 599px) {
  .contacts-index-index .buttons-set {
    max-width: 330px;
    margin-left: 0;
  }
  .contacts-index-index .buttons-set button {
    float: left;
    margin-left: 0px;
  }
  .contacts-index-index .buttons-set p.required {
    float: right;
  }
}

/* ============================================ *
 * PayPal
 * ============================================ */
@media only screen and (max-width: 870px) and (min-width: 771px) {
  .paypal-review-order .col2-set .col-1,
  .paypal-review-order .col2-set .col-2 {
    padding: 0px;
  }
}

.paypal-review-order .info-set {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #EDEDED;
}

.paypal-review-order .buttons-set {
  margin-top: 0px;
  padding-top: 0px;
  border: 0;
}

.paypal-review-order .buttons-set button {
  margin-bottom: 10px;
}

@media only screen and (max-width: 770px) {
  .paypal-review-order .col-1 {
    padding-bottom: 0;
  }
  .paypal-review-order .field.inactive {
    display: none;
  }
}

.top-container .bml-ad {
  margin-top: 7px;
  margin-bottom: 7px;
  text-align: center;
}

.top-container .bml-ad span {
  display: inline-block;
}

.top-container .bml-ad span a {
  display: block;
}

.bml-ad {
  display: none;
  text-align: center;
  margin-bottom: 5px;
}

.bml-ad span {
  display: block;
  line-height: 0;
}

.bml-ad a {
  display: inline-block;
  max-width: 100%;
}

.bml-ad a:hover {
  opacity: 0.7;
}

.bml-ad img {
  height: auto !important;
  max-width: 100%;
}

.cart-totals-wrapper .bml-ad.large img {
  display: block;
  margin: 0;
}

@media only screen and (max-width: 770px) {
  .bml-ad.small {
    display: block;
  }
}

@media only screen and (min-width: 771px) {
  .bml-ad.large {
    display: block;
  }
}

div.paypal-logo {
  text-align: center;
  margin: 15px 0;
  max-width: 100%;
}

div.paypal-logo span {
  display: block;
  width: 100%;
}

div.paypal-logo span a {
  display: inline-block;
  max-width: 100%;
}

div.paypal-logo span a img {
  max-width: 100%;
}

div.paypal-logo span > img {
  display: none;
}

.checkout-types div.paypal-logo {
  text-align: right;
}

.bml-checkout-type {
  list-style-type: none;
}

.sidebar .paypal-logo {
  text-align: center;
  line-height: 0;
}

.sidebar .paypal-logo > a {
  display: inline-block;
  max-width: 100%;
}

.sidebar .paypal-logo > a:hover {
  opacity: 0.8;
}

.sidebar .paypal-logo > a img {
  display: block;
}

.sidebar .paypal-logo .label {
  margin-top: 4px;
}

.sidebar .paypal-logo .label a {
  font-size: 12px;
  line-height: 1.5;
}

/* ============================================ *
 * Review - Customer
 * ============================================ */
#customer-reviews {
  width: auto;
  float: none;
}

#customer-reviews .review-heading {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 10px 0 5px;
}

#customer-reviews .review-heading:after {
  content: '';
  display: table;
  clear: both;
}

#customer-reviews .review-heading h2 {
  float: left;
  display: block;
}

#customer-reviews .review-heading .pager {
  clear: none;
  float: right;
  width: auto;
}

#customer-reviews .review-heading .pager .count-container .limiter {
  margin-bottom: 0;
}

#customer-reviews .review-heading .pager .count-container .limiter label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 10px;
  text-transform: uppercase;
}

#customer-reviews .review-heading .pager .amount {
  display: none;
}

#customer-reviews h2 {
  color: #0645AD;
  font-size: 12px;
  text-transform: uppercase;
}

#customer-reviews h2 span {
  color: #111;
}

#customer-reviews h3 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  font-weight: normal;
  text-transform: uppercase;
}

#customer-reviews h3 span {
  color: #0645AD;
}

#customer-reviews .fieldset {
  padding-top: 25px;
  width: 470px;
}

#customer-reviews .fieldset h4 {
  border-bottom: 1px solid #000;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  font-weight: normal;
  padding-bottom: 5px;
  text-transform: uppercase;
}

#customer-reviews .fieldset h4 em {
  display: none;
}

#customer-reviews .fieldset .form-list {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  font-weight: normal;
  margin: 10px 0;
  text-transform: uppercase;
  width: 470px;
}

#customer-reviews .fieldset .form-list .inline-label:after {
  content: '';
  display: table;
  clear: both;
}

#customer-reviews .fieldset .form-list label {
  font-size: 12px;
  font-weight: normal;
}

#customer-reviews .fieldset .form-list textarea {
  border: 1px solid #000;
  border-radius: 0;
  min-width: 100%;
  -webkit-appearance: none;
}

#customer-reviews .fieldset .form-list input {
  border: 1px solid #000;
  border-radius: 0;
}

#customer-reviews .fieldset .form-list input[type="text"] {
  width: 100%;
}

#customer-reviews .buttons-set {
  border: none;
  margin: 0;
  width: 470px;
}

#customer-reviews dl {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  font-weight: normal;
  margin-bottom: 10px;
}

#customer-reviews dl dt {
  margin: 10px 0;
  text-transform: uppercase;
}

#customer-reviews dl dd {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  margin: 10px 0;
}

#customer-reviews dl dd .ratings-table {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  width: 100%;
}

#customer-reviews dl dd .ratings-table tr {
  margin-right: 15px;
}

#customer-reviews dl dd .ratings-table .review-label {
  width: 300px;
  max-width: 70%;
}

#customer-reviews dl dd table {
  margin: 15px 0;
}

#customer-reviews dl dd .review-meta {
  color: #0645AD;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 10px;
  font-weight: normal;
  text-transform: uppercase;
}

.review-summary-table {
  border-bottom: 1px solid #000;
  margin: 0 0 10px;
}

.review-summary-table thead {
  background: transparent;
}

.review-summary-table thead th {
  background: transparent;
  border: none;
  padding: 15px 7px 10px 8px;
}

.review-summary-table tbody th {
  background: #FFFFFF;
  font-size: 12px;
}

.review-summary-table tbody td {
  border: none;
  text-align: center;
  padding: 0;
}

.review-summary-table tbody td label {
  width: 100%;
  display: block;
  padding: 11px 0;
}

.review-summary-table .rating-box .rating-number {
  display: none;
}

.review-summary-table .rating-box .rating-number:after {
  content: "";
  display: inline-block;
  background-position: 0px -599px;
  width: 13px;
  height: 12px;
  margin-left: 5px;
  position: relative;
  top: 2px;
}

/* ============================================ *
 * Ratings - Global
 * ============================================ */
.ratings-table {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
}

.ratings-table th {
  padding-right: 10px;
}

.ratings-table .rating-box {
  background-position: 0 -615px;
  background-repeat: repeat-x;
  height: 13px;
  overflow: hidden;
  text-indent: -9999px;
  width: 65px;
}

.ratings-table .rating-box .rating {
  background-position: 0 -600px;
  background-repeat: repeat-x;
  float: left;
  height: 13px;
  text-indent: -9999px;
}

@media only screen and (max-width: 770px) {
  body.review-product-list .product-view .product-shop .price-info {
    padding-left: 0;
  }
  body.review-product-list .product-view .product-shop .extra-info {
    padding: 0;
    min-width: 84%;
  }
  body.review-product-list .product-view .product-shop .extra-info .ratings-table {
    margin: 10px 0;
    width: 100%;
  }
  body.review-product-list .product-view .product-shop .extra-info .ratings-table tr {
    margin-right: 15px;
  }
}

@media only screen and (max-width: 535px) {
  body.review-product-list .product-view .product-shop .extra-info {
    min-width: 0;
  }
  body.review-product-list .product-view .product-shop .extra-info .ratings-table tr {
    float: none;
    margin-right: 0;
  }
}

@media only screen and (max-width: 520px) {
  #customer-reviews .fieldset {
    width: 100%;
  }
  #customer-reviews .fieldset .form-list {
    width: 100%;
  }
  #customer-reviews .fieldset .form-list .inline-label label,
  #customer-reviews .fieldset .form-list .inline-label .input-box {
    float: none;
  }
  #customer-reviews .buttons-set {
    width: 100%;
  }
  #customer-reviews .review-summary-table thead th {
    padding-left: 0px;
    padding-right: 0px;
  }
  #customer-reviews .review-summary-table tbody th {
    padding-left: 0px;
    padding-right: 0px;
  }
  #customer-reviews .review-summary-table tbody td {
    width: 20%;
    padding: 0px;
  }
  #customer-reviews .review-summary-table .rating-box {
    text-indent: 0px;
    text-align: center;
    background: none;
    height: 16.8px;
    width: 100%;
  }
  #customer-reviews .review-summary-table .rating-box .rating {
    display: none;
  }
  #customer-reviews .review-summary-table .rating-box .rating-number {
    display: inline-block;
  }
}

@media only screen and (max-width: 450px) {
  #customer-reviews dl dd .ratings-table tr {
    float: none;
  }
}

/* ============================================ *
 * Review View Page
 * ============================================ */
.review-product-view .product-review .product-details h2 {
  border-bottom: none;
}

.review-product-view .product-review .product-img-box {
  width: auto;
  max-width: 50%;
}

.review-product-view .product-review .product-img-box > a {
  width: 100%;
}

.review-product-view .product-review .product-img-box .product-image {
  width: 100%;
}

@media only screen and (max-width: 770px) {
  .review-product-view .product-review .product-img-box {
    max-width: 100%;
  }
}

/* ============================================ *
 * Slideshow
 * ============================================ */
.slideshow-container {
  position: relative;
  display: block;
  width: 100%;
  margin: 10px 0;
  border: 1px solid #EDEDED;
}

.slideshow-container .slideshow {
  width: 100%;
  padding: 0;
  position: relative;
  margin: 0;
  border: 10px solid #FFFFFF;
}

.slideshow-container .slideshow > li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0;
  display: block;
  margin: 0;
}

.slideshow-container .slideshow > li:first-child {
  position: static;
  z-index: 100;
}

.slideshow-container .slideshow > li img {
  max-width: 100%;
  width: 100%;
}

.slideshow-pager {
  text-align: center;
  width: 100%;
  z-index: 115;
  position: absolute;
  bottom: 0px;
  top: auto;
  overflow: hidden;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.slideshow-pager span {
  font-family: arial;
  width: 44px;
  height: 44px;
  display: inline-block;
  color: #DDDDDD;
  cursor: pointer;
}

.slideshow-pager span:before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  left: 50%;
  top: 50%;
  margin-left: -8px;
  margin-top: -8px;
  border-radius: 1px;
  background-color: #FFFFFF;
  position: relative;
}

.slideshow-pager span:hover:before {
  background-color: #053b94;
}

.slideshow-pager span.cycle-pager-active:before {
  background-color: #04317c;
}

.slideshow-pager > * {
  cursor: pointer;
}

.slideshow-prev,
.slideshow-next {
  position: absolute;
  top: 0;
  width: 15%;
  max-width: 80px;
  height: 100%;
  opacity: 0.6;
  z-index: 110;
  cursor: pointer;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.slideshow-prev:before,
.slideshow-next:before {
  content: '';
  width: 0;
  height: 0;
  font-size: 0;
  position: absolute;
  border-style: solid;
  display: block;
  top: 50%;
  margin-top: -15px;
}

.slideshow-prev:hover,
.slideshow-next:hover {
  opacity: 1;
}

.slideshow-prev.disabled,
.slideshow-next.disabled {
  opacity: 0.5;
  cursor: default;
}

.slideshow-prev {
  left: 8px;
}

.slideshow-prev:before {
  border-width: 15px 15px 15px 0;
  border-color: transparent #FFFFFF transparent transparent;
  top: 50%;
  left: 10px;
}

.slideshow-prev:hover:before {
  border-color: transparent #053b94 transparent transparent;
}

.slideshow-next {
  right: 8px;
}

.slideshow-next:before {
  border-width: 15px 0 15px 15px;
  border-color: transparent transparent transparent #FFFFFF;
  top: 50%;
  right: 10px;
}

.slideshow-next:hover:before {
  border-color: transparent transparent transparent #053b94;
}

.cycle-caption {
  position: absolute;
  color: white;
  bottom: 15px;
  right: 15px;
  z-index: 110;
}

.cycle-overlay {
  font-family: tahoma, arial;
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 120;
  background: black;
  color: white;
  padding: 15px;
  opacity: .5;
}

/* ============================================ *
 * Wishlist
 * ============================================ */
#wishlist-table th {
  text-align: center;
}

#wishlist-table.clean-table {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  width: 100%;
}

#wishlist-table.clean-table th {
  border-bottom: 1px solid #C0C0C0;
}

#wishlist-table.clean-table td {
  padding: 15px;
  vertical-align: top;
}

#wishlist-table.clean-table thead th {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
}

#wishlist-table .product-name {
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  margin-bottom: 0;
  text-transform: uppercase;
}

#wishlist-table .product-name a {
  color: #0645AD;
}

#wishlist-table .wishlist-sku {
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  margin: 5px 0;
}

#wishlist-table textarea {
  border: 1px solid #111;
  width: 100%;
  height: 45px;
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

#wishlist-table textarea::-webkit-input-placeholder {
  text-transform: uppercase;
}

#wishlist-table textarea:-moz-placeholder {
  text-transform: uppercase;
}

#wishlist-table textarea::-moz-placeholder {
  text-transform: uppercase;
}

#wishlist-table textarea:-ms-input-placeholder {
  text-transform: uppercase;
}

#wishlist-table textarea:focus {
  border: 1px solid #0645AD;
}

#wishlist-table .item-manage {
  text-align: right;
  max-width: 450px;
  padding-top: 5px;
}

#wishlist-table .item-manage .button {
  font-size: 12px;
  padding: 3px 5px;
}

#wishlist-table .cart-cell {
  text-align: center;
}

#wishlist-table td.customer-wishlist-item-image {
  width: 113px;
}

#wishlist-table td.customer-wishlist-item-quantity {
  width: 3em;
}

#wishlist-table td.customer-wishlist-item-price {
  width: 120px;
  text-align: center;
}

#wishlist-table td.customer-wishlist-item-cart {
  width: 150px;
}

#wishlist-table td.customer-wishlist-item-cart .button {
  font-size: 12px;
  margin-bottom: 10px;
  padding: 3px 5px;
  width: 100%;
}

#wishlist-table td.customer-wishlist-item-cart .truncated {
  margin-bottom: 10px;
}

#wishlist-table td.customer-wishlist-item-cart > p {
  margin-bottom: 0;
}

#wishlist-table td.customer-wishlist-item-cart .remove-whishlist-item {
  text-align: center;
}

#wishlist-table td.customer-wishlist-item-cart .btn-remove {
  vertical-align: top;
}

#wishlist-table td.customer-wishlist-item-remove {
  width: 20px;
}

#wishlist-table td .button,
#wishlist-table td button {
  white-space: normal;
}

#wishlist-table .price-box {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
}

#wishlist-table .price-box .price {
  color: #111;
}

#wishlist-table .giftregisty-add {
  margin-top: 5px;
}

#wishlist-table .giftregisty-add .change {
  display: none;
}

#wishlist-table .giftregisty-add li {
  cursor: pointer;
  color: #0645AD;
  margin-bottom: 3px;
}

#wishlist-table .truncated .details {
  background: none;
  color: #0645AD;
}

#wishlist-table td[data-rwd-label]:before {
  font-weight: 600;
}

@media only screen and (max-width: 1199px) {
  #wishlist-table.clean-table td {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media only screen and (max-width: 979px) {
  #wishlist-table.clean-table td {
    padding-left: 5px;
    padding-right: 5px;
  }
  #wishlist-table.clean-table td textarea {
    height: 100px;
  }
  #wishlist-table.clean-table td.customer-wishlist-item-cart {
    width: 110px;
  }
  #wishlist-table .product-name {
    font-size: 12px;
  }
}

@media only screen and (max-width: 770px) {
  #wishlist-table:after {
    content: '';
    display: table;
    clear: both;
  }
  #wishlist-table .product-name {
    font-size: 12px;
  }
  #wishlist-table textarea {
    height: 68px;
    max-width: 100%;
  }
  #wishlist-table .item-manage {
    max-width: 100%;
  }
  #wishlist-table tr {
    position: relative;
  }
  #wishlist-table tr:after {
    content: '';
    display: table;
    clear: both;
  }
  #wishlist-table td.customer-wishlist-item-image {
    width: 70px;
  }
  #wishlist-table td.customer-wishlist-item-image img {
    width: 70px;
    height: 70px;
  }
  #wishlist-table td.customer-wishlist-item-cart p {
    margin-bottom: 0;
  }
  #wishlist-table td.customer-wishlist-item-cart .remove-whishlist-item {
    margin-right: 0;
    padding-top: 4px;
  }
  #wishlist-table td.customer-wishlist-item-cart {
    padding-right: 15px;
  }
}

@media only screen and (max-width: 599px) {
  #wishlist-table td.customer-wishlist-item-quantity {
    padding-left: 0;
  }
  #wishlist-table td.customer-wishlist-item-image,
  #wishlist-table th.customer-wishlist-item-image {
    display: none;
  }
}

@media only screen and (max-width: 359px) {
  #wishlist-table tr {
    position: relative;
  }
  #wishlist-table th.customer-wishlist-item-image {
    display: block;
  }
  #wishlist-table td.customer-wishlist-item-image, #wishlist-table td.customer-wishlist-item-info, #wishlist-table td.customer-wishlist-item-quantity, #wishlist-table td.customer-wishlist-item-price, #wishlist-table td.customer-wishlist-item-cart {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    empty-cells: hide;
  }
  #wishlist-table td.customer-wishlist-item-image {
    display: block;
    overflow: hidden;
  }
  #wishlist-table td.customer-wishlist-item-image a {
    float: left;
  }
  #wishlist-table td.customer-wishlist-item-image a img {
    width: 113px;
    height: 113px;
  }
  #wishlist-table td.customer-wishlist-item-quantity, #wishlist-table td.customer-wishlist-item-price {
    text-align: left;
  }
  #wishlist-table td.customer-wishlist-item-quantity:before, #wishlist-table td.customer-wishlist-item-price:before {
    float: left;
    margin-right: 15px;
  }
  #wishlist-table td.customer-wishlist-item-quantity .cart-cell, #wishlist-table td.customer-wishlist-item-price .cart-cell {
    text-align: left;
  }
  #wishlist-table td.customer-wishlist-item-quantity .price-box, #wishlist-table td.customer-wishlist-item-price .price-box {
    margin-top: 0;
  }
  #wishlist-table td.customer-wishlist-item-cart .cart-cell {
    float: left;
    width: 48%;
  }
  #wishlist-table td.customer-wishlist-item-cart > p {
    float: right;
    width: 48%;
  }
  #wishlist-table td.customer-wishlist-item-remove {
    position: absolute;
    top: 15px;
    right: 0px;
    display: block;
    padding: 0px;
    height: 20px;
  }
  #wishlist-table.clean-table td.customer-wishlist-item-cart {
    width: 100%;
  }
}

/* ============================================ *
 * Wishlist Sidebar
 * ============================================ */
.block-wishlist .mini-products-list > li:not(:last-child) {
  padding-bottom: 5px;
}

.block-wishlist .product-details .product-name {
  padding-top: 0;
  margin-bottom: 5px;
}

.block-wishlist .price-box {
  float: left;
  margin: 0;
}

.block-wishlist .price-box,
.block-wishlist .price-box .price,
.block-wishlist .link-cart {
  font-size: 12px;
}

.block-wishlist .link-cart {
  float: left;
  text-transform: uppercase;
  margin-right: 7px;
  padding-right: 7px;
  border-right: 1px solid #EDEDED;
}

/* ============================================ *
 * Checkout - Mini cart
 * ============================================ */
.header-minicart {
  display: inline-block;
}

@media only screen and (max-width: 770px) {
  .header-minicart {
    display: block;
  }
}

.header-minicart .minicart-message {
  display: block;
  padding: 10px;
}

.header-minicart .empty {
  padding: 10px;
  text-align: center;
}

.header-minicart .minicart-wrapper {
  clear: both;
  position: relative;
}

.header-minicart .minicart-wrapper:before, .header-minicart .minicart-wrapper:after {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: none;
}

.header-minicart .minicart-wrapper:before {
  background-color: white;
  opacity: 0.8;
  z-index: 2;
}

.header-minicart .minicart-wrapper:after {
  background-image: url("../images/opc-ajax-loader.gif");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}

.header-minicart .minicart-wrapper.loading {
  position: relative;
}

.header-minicart .minicart-wrapper.loading:before, .header-minicart .minicart-wrapper.loading:after {
  display: block;
}

.header-minicart .block-cart {
  display: none;
}

.header-minicart .block-subtitle {
  color: #50A4CF;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 10px;
  font-weight: bold;
  line-height: 1.4;
  padding: 5px;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 0px;
}

.header-minicart .block-subtitle .close {
  width: 40px;
  float: right;
  display: block;
  color: #111;
  text-decoration: none;
  font-weight: normal;
  font-size: 30px;
  position: absolute;
  top: -8px;
  right: -3px;
}

.header-minicart .mini-products-list {
  padding: 10px;
  padding-top: 0px;
}

.header-minicart .mini-products-list li {
  padding: 8px 5px 8px 11px;
  border-bottom: 1px solid #DDDDDD;
  position: relative;
}

.header-minicart .mini-products-list li.last {
  border: none;
}

.header-minicart .mini-products-list li .product-details {
  position: relative;
}

.header-minicart .product-details .product-name {
  padding-top: 0px;
  font-weight: bold;
}

.header-minicart .product-details .product-name a {
  color: #0645AD;
}

.header-minicart .info-wrapper {
  margin-bottom: 0.5em;
}

.header-minicart .info-wrapper th {
  text-transform: uppercase;
  padding-right: 10px;
}

.header-minicart .info-wrapper td {
  color: #111;
  clear: right;
}

.header-minicart .info-wrapper .qty-wrapper td {
  height: 33px;
  line-height: 33px;
}

.header-minicart .info-wrapper .qty {
  padding-left: 4px;
  padding-right: 4px;
  margin-right: 2px;
  width: 3.2em;
  text-align: center;
  height: 30px;
}

.header-minicart .info-wrapper .quantity-button {
  opacity: 0;
  -webkit-transition: opacity 100ms;
  transition: opacity 100ms;
}

.header-minicart .info-wrapper .quantity-button[disabled] {
  cursor: default;
}

.header-minicart .info-wrapper .quantity-button.visible {
  opacity: 1;
}

.header-minicart .subtotal {
  background-color: #DDDDDD;
  text-align: center;
  line-height: 2em;
}

.header-minicart .subtotal .label {
  color: white;
  text-transform: uppercase;
}

.header-minicart .subtotal .price {
  color: #111;
}

.header-minicart .minicart-actions {
  padding: 10px;
  margin-top: 0px;
  overflow: hidden;
  position: relative;
  text-align: center;
}

.header-minicart .minicart-actions .checkout-button {
  min-width: 145px;
}

.header-minicart .minicart-actions .cart-link {
  height: 33px;
  line-height: 39px;
  text-transform: uppercase;
  font-size: 12px;
}

.header-minicart .minicart-actions .paypal-logo .paypal-or {
  line-height: 1.6;
}

.header-minicart #minicart-error-message {
  text-align: center;
  color: red;
  display: none;
}

.header-minicart #minicart-success-message {
  text-align: center;
  color: green;
  display: none;
}

.header-minicart .jcarousel-control-prev,
.header-minicart .jcarousel-control-next {
  display: none;
}

.header-minicart.skip-active .block-cart,
.block-cart.skip-active {
  display: block;
}

@media only screen and (min-width: 771px) {
  .checkout-types.minicart {
    float: none;
    text-align: center;
  }
}

@media only screen and (max-width: 359px) {
  .header-minicart a.skip-cart {
    z-index: 1;
  }
}

@media only screen and (max-width: 770px) {
  .header-minicart .subtotal .label {
    color: #111;
  }
  .header-minicart .minicart-wrapper:before {
    background-color: #EDEDED;
  }
  .header-minicart .quantity-button {
    float: none;
  }
  .header-minicart .header-minicart .block-cart {
    padding: 15px;
  }
  .header-minicart .header-minicart .block-subtitle {
    padding-top: 59px;
  }
  .header-minicart .minicart-actions {
    padding-bottom: 33px;
  }
  .header-minicart .minicart-actions .cart-link {
    bottom: 0;
    right: 10px;
    position: absolute;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li {
    display: inline-block;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo > a {
    display: inline;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .bml_button {
    display: inline-block;
    vertical-align: top;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-or {
    width: auto;
    float: none;
    display: inline;
    margin: 0 10px 5px 10px;
    line-height: 40px;
  }
}

@media only screen and (max-width: 740px) {
  .header-minicart .minicart-actions .cart-link {
    right: auto;
    left: 0;
    text-align: center;
    width: 100%;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-or,
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-button {
    width: 100%;
    display: block;
    margin-left: 0;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-or {
    line-height: 1.6;
  }
}

@media only screen and (max-width: 599px) {
  .header-minicart .minicart-actions .checkout-button {
    width: 100%;
  }
}

/* ============================================ *
 * Search - Auto Suggest
 * ============================================ */
.search-autocomplete {
  left: 0 !important;
  overflow: visible !important;
  position: relative !important;
  top: 15px !important;
  width: 100% !important;
  z-index: 200;
}

.search-autocomplete ul {
  border-radius: 2px;
  background-color: #FFFFFF;
  border: 1px solid #0645AD;
  left: 0;
  padding-left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.search-autocomplete ul li {
  border-bottom: 1px solid #F4F4F4;
  color: #0645AD;
  cursor: pointer;
  font-size: 12px;
  padding: 4px 6px;
  text-align: left;
}

.search-autocomplete ul li:hover {
  color: #053b94;
}

.search-autocomplete ul li.selected {
  background-color: #0645AD;
  color: white;
}

.search-autocomplete ul li .amount {
  float: right;
  font-weight: bold;
}

.search-autocomplete ul li:last-child {
  border-bottom: none;
}

.search-autocomplete:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #0645AD;
  border-top: none;
  left: 50%;
  top: -7px;
}

/* ============================================ *
 * Search - Advanced
 * ============================================ */
.advanced-search {
  background: #F4F4F4;
  border: 1px solid #EDEDED;
  padding: 30px;
}

.advanced-search select.multiselect option {
  border-bottom: 1px solid #EDEDED;
  padding: 2px 5px;
}

@media only screen and (max-width: 359px) {
  .advanced-search {
    padding: 15px;
  }
}

/* ============================================ *
 * Account - Reviews
 * ============================================ */
.product-review .product-img-box p.label {
  border-bottom: 1px solid #000;
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  margin-top: 20px;
  padding-bottom: 10px;
  text-transform: uppercase;
}

.product-review .product-img-box .rating-box {
  margin: 15px 0;
}

.product-review .product-details h2 {
  border-bottom: 1px solid #000;
  color: #3399CC;
  font-size: 12px;
  font-weight: 600;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  padding-bottom: 10px;
}

.product-review .ratings-table {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.product-review .ratings-table th {
  padding-right: 10px;
}

.product-review .ratings-table tr {
  float: left;
  font-size: 12px;
  margin-right: 10px;
  text-transform: uppercase;
}

.product-review .ratings-description dt {
  border-bottom: 1px solid #000;
  font-size: 12px;
  font-weight: 400;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  margin-top: 20px;
  padding: 10px 0;
  text-transform: uppercase;
}

.product-review .ratings-description dd {
  color: #737373;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
}

@media only screen and (min-width: 771px) {
  .product-review .ratings-table tr {
    float: none;
  }
}

@media only screen and (min-width: 1126px) {
  .product-review .ratings-table tr {
    float: left;
    margin-right: 15px;
  }
}

@media only screen and (max-width: 320px) {
  .product-review .ratings-table tr {
    float: none;
  }
}

/* ============================================ *
 * Pricing Conditions
 * ============================================ */
.price-box .minimal-price-link .label {
  color: #DC2022;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
}

.map-info {
  white-space: nowrap;
}

.catalog-product-view .map-info {
  white-space: normal;
}

.catalog-product-view .map-info > span {
  float: right;
  margin-bottom: 5px;
}

.catalog-product-view .map-info .price-box.map-info > a {
  float: right;
  width: 100%;
}

/* ============================================ *
 * Cookies
 * ============================================ */
.notice-cookie .notice-inner {
  padding-bottom: 0;
}

.notice-cookie .notice-inner:after {
  content: '';
  display: table;
  clear: both;
}

.notice-cookie .notice-text {
  float: left;
  max-width: 90%;
  padding-top: 4px;
  text-align: left;
}

.notice-cookie .notice-text p {
  padding-bottom: 14px;
  line-height: 1.3;
}

.notice-cookie .actions {
  float: left;
  text-align: right;
  padding-bottom: 14px;
}

@media only screen and (max-width: 979px) {
  .notice-cookie .notice-text {
    max-width: 86%;
  }
}

@media only screen and (max-width: 770px) {
  .notice-cookie {
    padding: 0 20px;
  }
  .notice-cookie .notice-text {
    max-width: 82%;
    padding-top: 0;
  }
}

@media only screen and (max-width: 620px) {
  .notice-cookie {
    padding: 0 20px;
  }
  .notice-cookie .notice-inner {
    background-position: left 10px;
  }
  .notice-cookie .notice-inner:after {
    content: '';
    display: table;
    clear: both;
  }
  .notice-cookie .notice-text {
    float: none;
    max-width: 100%;
    padding-top: 0;
  }
  .notice-cookie .actions {
    text-align: left;
  }
}

/* ============================================ *
 * Tags
 * ============================================ */
#addTagForm button {
  margin-top: 5px;
  margin-bottom: 10px;
}

#addTagForm .form-add {
  margin-top: 10px;
}

.product-tags {
  background-color: #F4F4F4;
  border: 1px solid #000;
  float: left;
  margin-bottom: 10px;
  padding: 5px 1% 10px;
  width: 98%;
}

.product-tags li {
  float: left;
  margin-right: 15px;
}

.product-tags li.last {
  margin-right: 0px;
}

.tags-list {
  float: left;
  width: 100%;
  margin-bottom: 10px;
}

.tags-list > li {
  float: left;
  margin-right: 10px;
}

.block-tags .actions > a {
  font-size: 12px;
}

.my-tag-edit .button.btn-remove {
  padding: 0;
}

.my-tag-edit .button.btn-remove:after {
  color: white;
}

@media only screen and (max-width: 770px) {
  .tags-list > li,
  .tags-list {
    float: none;
  }
}

/* ============================================ *
 * Captcha
 * ============================================ */
.captcha-note {
  clear: left;
  padding-top: 5px;
}

.captcha-image {
  float: left;
  display: inline;
  max-width: 100%;
  position: relative;
  width: 258px;
  margin-bottom: 10px;
}

.captcha-image .captcha-img {
  border: 1px solid #b6b6b6;
  vertical-align: bottom;
  width: 100%;
}

.registered-users .captcha-image {
  margin: 0;
}

.captcha-reload {
  cursor: pointer;
  position: absolute;
  top: 2px;
  right: 2px;
}

.captcha-reload.refreshing {
  animation: rotate 1.5s infinite linear;
  -webkit-animation: rotate 1.5s infinite linear;
  -moz-animation: rotate 1.5s infinite linear;
}

.customer-account-create .scaffold-form .captcha-input-container label:first-child {
  width: 100%;
}

.captcha-reload {
  position: absolute;
  right: 4px;
  top: 4px;
}

.captcha-img {
  border: 20px solid #bbb;
}

.captcha-input-container {
  margin-bottom: 10px;
}

.control.newsletter-box, .captcha-input-container, .captcha-img-container {
  float: none;
  clear: both;
}

.control.newsletter-box:after, .captcha-input-container:after, .captcha-img-container:after {
  content: '';
  content: '';
  display: table;
  clear: both;
}

/* ============================================ *
 * Checkout Billing Fix to place the Captcha properly
 * ============================================ */
#co-billing-form ul.form-list > .control {
  float: left;
  margin: 0 0 5px;
  width: 100%;
}

/* ============================================ *
 * Account - Orders, Invoices, Credit Memos.
 * ============================================ */
@media only screen and (max-width: 359px) {
  .sales-order-invoice .sub-title,
  .sales-order-creditmemo .sub-title,
  .sales-order-shipment .sub-title {
    float: left;
    font-size: 12px;
    text-align: center;
    width: 100%;
  }
  .sales-order-invoice .order-links,
  .sales-order-creditmemo .order-links,
  .sales-order-shipment .order-links {
    text-align: center;
    width: 100%;
  }
}

/* ============================================ *
 * Recurring Profiles
 * ============================================ */
#recurring_profile_list_view th {
  white-space: normal;
}

#recurring_profile_list_view th span {
  white-space: inherit;
}

@media only screen and (max-width: 359px) {
  #recurring_profile_list_view {
    font-size: 12px;
  }
  #recurring_profile_list_view a {
    font-size: inherit;
  }
  #recurring_profile_list_view th,
  #recurring_profile_list_view td {
    padding: 2px;
  }
}

.recurring-profiles-title {
  float: left;
}

.recurring-profiles-title h1 {
  margin-bottom: 7px;
}

body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons {
  float: right;
  text-align: right;
  margin-bottom: 30px;
}

@media only screen and (max-width: 359px) {
  body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons {
    text-align: center;
    float: none;
  }
}

body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons .button {
  position: static;
}

.recurring-profiles-messages:after {
  content: '';
  display: table;
  clear: both;
}

#recurring_start_date_trig {
  display: inline;
}

/* ============================================ *
 * Billing Agreements
 * ============================================ */
.billing-agreements .info-box {
  margin-bottom: 30px;
}

.billing-agreements .info-box:after {
  content: '';
  display: table;
  clear: both;
}

.billing-agreements .info-box .form-list {
  max-width: 400px;
  width: 100%;
}

.billing-agreements .info-box .box-title {
  margin-top: 20px;
  margin-bottom: 7px;
}

.billing-agreements .info-box .button {
  float: right;
  margin-top: 7px;
}

@media only screen and (max-width: 359px) {
  .billing-agreements .info-box .button {
    width: 100%;
    float: none;
  }
}

.billing-agreements #payment_method {
  width: 100%;
  margin-top: 7px;
  margin-bottom: 7px;
}

.billing-agreement-view-header-wrapper .heading {
  max-width: 80%;
}

@media only screen and (max-width: 359px) {
  .billing-agreement-view-header-wrapper .heading {
    max-width: 100%;
  }
}

.billing-agreement-details td, .billing-agreement-details th {
  padding: 3.5px;
}

@media only screen and (max-width: 979px) {
  .billing-agreements .data-table .created-at,
  .billing-agreements .data-table .updated-at {
    display: none;
  }
}

/* ============================================ *
 * Popular Search Terms Cloud
 * ============================================ */
.catalogsearch-term-popular .tags-list {
  float: left;
  width: 100%;
}

.catalogsearch-term-popular .tags-list > li {
  float: left;
  height: 40px;
  margin-right: 25px;
}

/* ============================================ *
 * Widgets
 * ============================================ */
/* -------------------------------------------- *
 * Add to cart by SKU
 */
.sidebar .widget-addbysku .sku-table .input-text:not(.qty) {
  width: 100%;
}

@media only screen and (min-width: 771px) {
  .sidebar .widget-addbysku .sku-table .input-text:not(.qty) {
    max-width: 100px;
  }
}

.widget {
  clear: both;
}

.widget .pager {
  float: none;
  width: 100%;
}

/* ============================================ *
 * Checkout - Multiple Addresses
 * ============================================ */
body[class*="checkout-multishipping-"] .checkout-progress {
  width: 100%;
  float: left;
  margin-bottom: 25px;
}

body[class*="checkout-multishipping-"] .checkout-progress > li {
  float: left;
  width: 20%;
  text-align: center;
  padding: 8px 1% 6px;
  background: #F4F4F4;
  text-transform: uppercase;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  margin-bottom: 10px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

body[class*="checkout-multishipping-"] .checkout-progress > li.active {
  background-color: #DDDDDD;
}

body[class*="checkout-multishipping-"] .checkout-progress > li.last {
  border-right: 0px;
}

body[class*="checkout-multishipping-"] .page-title {
  float: left;
  width: 100%;
  margin-bottom: 15px;
}

body[class*="checkout-multishipping-"] .page-title h1 {
  border: 0 none;
  float: left;
  margin-top: 2px;
  margin-right: 2%;
}

body[class*="checkout-multishipping-"] .page-title .button {
  float: right;
}

body[class*="checkout-multishipping-"] .multiple-checkout > h2 {
  text-transform: none;
  font-size: 17px;
  margin-bottom: 15px;
}

body[class*="checkout-multishipping-"] .messages {
  float: left;
  width: 100%;
}

body[class*="checkout-multishipping-"] .col-2.col-wide {
  width: 66%;
}

body[class*="checkout-multishipping-"] .col-1.col-narrow {
  width: 30%;
}

body[class*="checkout-multishipping-"] .actions {
  margin-bottom: 10px;
}

body[class*="checkout-multishipping-"] .grand-total {
  text-align: right;
  font-size: 12px;
  font-weight: bold;
}

body[class*="checkout-multishipping-"] #checkout-review-submit {
  float: right;
}

body[class*="checkout-multishipping-"] #review-buttons-container {
  float: right;
  text-align: right;
}

.checkout-multishipping-addresses .btn-remove2 {
  text-indent: -5555px;
  display: block;
  width: 22px;
  height: 22px;
}

.checkout-multishipping-shipping .gift-messages {
  margin-top: 20px;
}

.checkout-multishipping-shipping .gift-messages-form {
  margin-top: 15px;
}

.checkout-multishipping-shipping .gift-messages-form h4 {
  margin-top: 15px;
  margin-bottom: 5px;
}

.checkout-multishipping-shipping .gift-messages-form .form-list {
  margin-top: 10px;
  margin-bottom: 25px;
}

.checkout-multishipping-shipping .gift-messages-form .item {
  margin-top: 15px;
}

.checkout-multishipping-shipping .col-1 .box-title h2, .checkout-multishipping-shipping .col-1 .box-title h3, .checkout-multishipping-shipping .col-1 .box-title h4, .checkout-multishipping-shipping .col-2 .box-title h2, .checkout-multishipping-shipping .col-2 .box-title h3, .checkout-multishipping-shipping .col-2 .box-title h4,
.checkout-multishipping-billing .col-1 .box-title h2,
.checkout-multishipping-billing .col-1 .box-title h3,
.checkout-multishipping-billing .col-1 .box-title h4,
.checkout-multishipping-billing .col-2 .box-title h2,
.checkout-multishipping-billing .col-2 .box-title h3,
.checkout-multishipping-billing .col-2 .box-title h4,
.checkout-multishipping-overview .col-1 .box-title h2,
.checkout-multishipping-overview .col-1 .box-title h3,
.checkout-multishipping-overview .col-1 .box-title h4,
.checkout-multishipping-overview .col-2 .box-title h2,
.checkout-multishipping-overview .col-2 .box-title h3,
.checkout-multishipping-overview .col-2 .box-title h4 {
  font-weight: normal;
  width: 100%;
  background: #F4F4F4;
  border-bottom: 1px solid #000;
  padding: 10px;
  font-size: 14px;
}

.checkout-multishipping-shipping .col-1 > h4, .checkout-multishipping-shipping .col-2 > h4,
.checkout-multishipping-billing .col-1 > h4,
.checkout-multishipping-billing .col-2 > h4,
.checkout-multishipping-overview .col-1 > h4,
.checkout-multishipping-overview .col-2 > h4 {
  font-weight: normal;
  width: 100%;
  background: #F4F4F4;
  border-bottom: 1px solid #000;
  padding: 10px;
  font-size: 14px;
}

.checkout-multishipping-shipping .col-1 .box-content, .checkout-multishipping-shipping .col-2 .box-content,
.checkout-multishipping-billing .col-1 .box-content,
.checkout-multishipping-billing .col-2 .box-content,
.checkout-multishipping-overview .col-1 .box-content,
.checkout-multishipping-overview .col-2 .box-content {
  margin-bottom: 25px;
  padding-left: 10px;
  margin-top: 10px;
}

.checkout-multishipping-billing .sp-methods dt {
  float: left;
  width: 100%;
}

#multiship-addresses-table > tbody > tr > td.a-center.last > a {
  background-image: none;
}

#review-order-form > div:nth-child(3) > div.divider {
  width: 100%;
  clear: both;
}

@media only screen and (max-width: 979px) {
  body[class*="checkout-multishipping-"] .checkout-progress span {
    word-spacing: 300px;
  }
  #review-order-form .col-1,
  #review-order-form .col-2 {
    float: none;
    width: auto;
    border: 0;
    padding-right: 0;
    padding-left: 0;
  }
}

@media only screen and (max-width: 770px) {
  body[class*="checkout-multishipping-"] .checkout-progress span {
    width: 12px;
  }
  body[class*="checkout-multishipping-"] .checkout-progress li {
    width: 100%;
    margin: 0;
    text-align: left;
    padding-left: 3%;
    border-right: 0px;
  }
  body[class*="checkout-multishipping-"] .checkout-progress span {
    word-spacing: 1px;
    width: 12px;
  }
  body[class*="checkout-multishipping-"] .box-title {
    float: left;
    width: 100%;
  }
  body[class*="checkout-multishipping-"] .page-title .button {
    float: left;
    margin-bottom: 10px;
  }
  body[class*="checkout-multishipping-"] .linearize-table tfoot td {
    text-align: right;
  }
  body[class*="checkout-multishipping-"] .linearize-table select {
    width: 100%;
    min-width: 200px;
  }
  body[class*="checkout-multishipping-"] .col-1.col-narrow, body[class*="checkout-multishipping-"] .col-2.col-wide {
    width: 100%;
    padding: 0;
  }
}

@media only screen and (max-width: 599px) {
  .checkout-multishipping-addresses .linearize-table tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 10px;
    margin-top: 12px;
  }
}

@media only screen and (max-width: 359px) {
  body[class*="checkout-multishipping-"] .buttons-set .back-link {
    display: block;
  }
}

/* ============================================ *
 * Calendar styles (restore styles from /js/calendar)
 * ============================================ */
div.calendar table {
  border-collapse: separate;
}

div.calendar table td.button {
  display: table-cell;
  background: inherit;
  color: inherit;
  text-transform: none;
}

img {
  max-width: 100%;
}

label {
  font-weight: normal;
}

label.required:after, span.required:after {
  content: none;
}

.button {
  background-color: #000;
}

.buttons-set {
  border-top: none;
}

body.customer-account-forgotpassword .back-link,
body.customer-account-forgotpassword p.required,
body.customer-account-forgotpassword h2.legend,
body.customer-account-create .back-link,
body.customer-account-create p.required,
body.customer-account-create h2.legend,
body.customer-account-login .back-link,
body.customer-account-login p.required,
body.customer-account-login h2.legend {
  display: none;
}

body.customer-account-forgotpassword .buttons-set, body.customer-account-forgotpassword .fieldset,
body.customer-account-create .buttons-set,
body.customer-account-create .fieldset,
body.customer-account-login .buttons-set,
body.customer-account-login .fieldset {
  margin-left: 0;
}

body.customer-account-forgotpassword .page-title,
body.customer-account-create .page-title,
body.customer-account-login .page-title {
  margin-bottom: 20px;
}

body.customer-account-forgotpassword .fieldset p,
body.customer-account-create .fieldset p,
body.customer-account-login .fieldset p {
  margin-bottom: 23px;
}

body.customer-account-create .customer-name-middlename .name-middlename,
body.customer-account-login .customer-name-middlename .name-middlename {
  display: none;
}

body.customer-account-create ul.form-list li.control,
body.customer-account-login ul.form-list li.control {
  display: none;
}

body.customer-account-create .buttons-set,
body.customer-account-login .buttons-set {
  max-width: 365px;
}

.messages .error-msg ul li {
  background-color: #DC2022;
  color: white;
  text-transform: uppercase;
  border-left: none;
}

.messages .error-msg ul li:before {
  border-left: none;
}

.messages .success-msg ul li {
  background-color: #2D9955;
  color: white;
  text-transform: uppercase;
  border-left: none;
}

.messages .success-msg ul li:before {
  border-left: none;
}

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

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  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);
  transform: translate3d(0, 0, 0);
}

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

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

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

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

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

[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;
}

.tk-l1, .tk-l2, .tk-l3, .tk-l4, .tk-l5,
.tk-h1, .tk-h2, .tk-h3, .tk-h4, .tk-h5,
.tk-p1, .tk-p2 {
  font-weight: normal;
}

.tk-l1.-bold, .tk-l2.-bold, .tk-l3.-bold, .tk-l4.-bold, .tk-l5.-bold,
.tk-h1.-bold, .tk-h2.-bold, .tk-h3.-bold, .tk-h4.-bold, .tk-h5.-bold,
.tk-p1.-bold, .tk-p2.-bold {
  font-weight: bold;
}

.tk-l1.-block, .tk-l2.-block, .tk-l3.-block, .tk-l4.-block, .tk-l5.-block,
.tk-h1.-block, .tk-h2.-block, .tk-h3.-block, .tk-h4.-block, .tk-h5.-block,
.tk-p1.-block, .tk-p2.-block {
  display: block;
}

.tk-l1.-disabled, .tk-l1.-disabled:hover, .tk-l2.-disabled, .tk-l2.-disabled:hover, .tk-l3.-disabled, .tk-l3.-disabled:hover, .tk-l4.-disabled, .tk-l4.-disabled:hover, .tk-l5.-disabled, .tk-l5.-disabled:hover,
.tk-h1.-disabled,
.tk-h1.-disabled:hover, .tk-h2.-disabled, .tk-h2.-disabled:hover, .tk-h3.-disabled, .tk-h3.-disabled:hover, .tk-h4.-disabled, .tk-h4.-disabled:hover, .tk-h5.-disabled, .tk-h5.-disabled:hover,
.tk-p1.-disabled,
.tk-p1.-disabled:hover, .tk-p2.-disabled, .tk-p2.-disabled:hover {
  text-decoration: none;
  color: #9B9B9B;
}

.tk-l1.-title-case, .tk-l2.-title-case, .tk-l3.-title-case, .tk-l4.-title-case, .tk-l5.-title-case,
.tk-h1.-title-case, .tk-h2.-title-case, .tk-h3.-title-case, .tk-h4.-title-case, .tk-h5.-title-case,
.tk-p1.-title-case, .tk-p2.-title-case {
  text-transform: capitalize;
}

.tk-l1.-downcase, .tk-l2.-downcase, .tk-l3.-downcase, .tk-l4.-downcase, .tk-l5.-downcase,
.tk-h1.-downcase, .tk-h2.-downcase, .tk-h3.-downcase, .tk-h4.-downcase, .tk-h5.-downcase,
.tk-p1.-downcase, .tk-p2.-downcase {
  text-transform: lowercase;
}

.tk-l1.-no-case, .tk-l2.-no-case, .tk-l3.-no-case, .tk-l4.-no-case, .tk-l5.-no-case,
.tk-h1.-no-case, .tk-h2.-no-case, .tk-h3.-no-case, .tk-h4.-no-case, .tk-h5.-no-case,
.tk-p1.-no-case, .tk-p2.-no-case {
  text-transform: none;
}

.tk-l1.-margin, .tk-l2.-margin, .tk-l3.-margin, .tk-l4.-margin, .tk-l5.-margin,
.tk-h1.-margin, .tk-h2.-margin, .tk-h3.-margin, .tk-h4.-margin, .tk-h5.-margin,
.tk-p1.-margin, .tk-p2.-margin {
  margin: 10px 0;
}

.tk-l1.-underlined, .tk-l2.-underlined, .tk-l3.-underlined, .tk-l4.-underlined, .tk-l5.-underlined,
.tk-h1.-underlined, .tk-h2.-underlined, .tk-h3.-underlined, .tk-h4.-underlined, .tk-h5.-underlined,
.tk-p1.-underlined, .tk-p2.-underlined {
  text-decoration: underline;
}

.tk-l1.-no-hover:hover, .tk-l2.-no-hover:hover, .tk-l3.-no-hover:hover, .tk-l4.-no-hover:hover, .tk-l5.-no-hover:hover,
.tk-h1.-no-hover:hover, .tk-h2.-no-hover:hover, .tk-h3.-no-hover:hover, .tk-h4.-no-hover:hover, .tk-h5.-no-hover:hover,
.tk-p1.-no-hover:hover, .tk-p2.-no-hover:hover {
  text-decoration: none;
}

.tk-l1.-red, .tk-l2.-red, .tk-l3.-red, .tk-l4.-red, .tk-l5.-red,
.tk-h1.-red, .tk-h2.-red, .tk-h3.-red, .tk-h4.-red, .tk-h5.-red,
.tk-p1.-red, .tk-p2.-red {
  color: #DC2022;
}

.tk-l1.-soldOut, .tk-l2.-soldOut, .tk-l3.-soldOut, .tk-l4.-soldOut, .tk-l5.-soldOut,
.tk-h1.-soldOut, .tk-h2.-soldOut, .tk-h3.-soldOut, .tk-h4.-soldOut, .tk-h5.-soldOut,
.tk-p1.-soldOut, .tk-p2.-soldOut {
  color: #9B9B9B;
}

.tk-h1 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.tk-h2 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
}

.tk-h3 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.tk-h4 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
}

.tk-h5 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  margin: 0 0 20px 0;
}

.tk-l1 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #0645AD !important;
  letter-spacing: 1px;
}

.tk-l1:hover {
  text-decoration: underline;
}

.tk-l2 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
}

.tk-l2:hover {
  color: #0645AD;
  text-decoration: underline;
}

.tk-l2:hover {
  text-decoration: underline;
}

.tk-l2.--blue, .tk-l2.-blue {
  color: #0645AD;
}

.tk-l2.--grey {
  color: #9B9B9B;
}

.tk-l2.--remove:hover {
  color: #DC2022;
}

.tk-l3 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #9B9B9B;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.tk-l3:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-l3:hover {
  color: #0645AD;
  text-decoration: underline;
}

.tk-l4 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
}

.tk-l4:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-l5 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
}

.tk-l5:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-p1 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
}

.tk-p2 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
}

.tk-section {
  margin: 40px 0;
}

.tk-text {
  margin: 20px 0 0 0;
}

.tku-blurred {
  -webkit-filter: opacity(50%) blur(2px);
          filter: opacity(50%) blur(2px);
}

.tku-fixed-footer {
  position: fixed;
  bottom: 0;
  right: 0;
}

.tku-responsive-debug {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  background: #0645AD;
  color: #FAFAFA;
  padding: 8px 16px;
  text-align: center;
}

@media only screen and (max-width: 598px) {
  .tku-responsive-debug:after {
    content: 'mobile';
  }
}

@media only screen and (min-width: 599px) and (max-width: 978px) {
  .tku-responsive-debug:after {
    content: 'tablet';
  }
}

@media only screen and (min-width: 979px) {
  .tku-responsive-debug:after {
    content: 'desktop';
  }
}

.tku-todo {
  color: white;
  background-color: #DC2022;
}

.tk-accordion > .__header {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #9B9B9B;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  margin-bottom: 20px;
}

.tk-accordion > .__header:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-accordion > .__header:hover {
  color: #000;
}

.tk-accordion > .__section {
  display: none;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  margin: 20px 0;
}

.tk-accordion > .__section > p {
  margin: 8px 0;
}

.tk-accordion > .__section.-active {
  display: block;
}

.tk-accordion .tk-accordion--active {
  display: block;
}

.tk-accordion .tk-accordion--active.__header {
  color: #000;
}

.tk-affiliates {
  max-width: 800px;
}

.tk-affiliates h2, .tk-affiliates p, .tk-affiliates ol {
  margin: 20px 0;
}

.tk-affiliates ol {
  list-style-type: decimal;
  padding-left: 20px;
}

.tk-affiliates .button {
  float: left;
}

.tk-button, .button,
.cart-table .product-cart-actions .button,
#co-shipping-method-form .buttons-set .button,
.footer .button, .checkout-cart-index .cart-forms .discount button,
.checkout-cart-index .cart-forms .giftcard button,
.checkout-cart-index .cart-forms .shipping button, .checkout-cart-index .checkout-types button, .checkout-onepage-index .col-main .checkout-types > li button, .checkout-onepage-index .buttons-set button, .checkout-onepage-index .buttons-set .button {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 10px 15px 10px 15px;
  color: white;
  background-color: #000;
  border: none;
  border-radius: 0;
  cursor: pointer;
  /* TODO: DONT USE '--' PREFIX! IT BREAKS ON SAFARI
     * naming convention
     * -blue    blue bg
     * -o-blue  blue outline
     * -h-o-red hover outline red
     */
}

.tk-button.-plain-text, .-plain-text.button,
.cart-table .product-cart-actions .-plain-text.button,
#co-shipping-method-form .buttons-set .-plain-text.button, .checkout-cart-index .cart-forms .discount button.-plain-text,
.checkout-cart-index .cart-forms .giftcard button.-plain-text,
.checkout-cart-index .cart-forms .shipping button.-plain-text, .checkout-cart-index .checkout-types button.-plain-text, .checkout-onepage-index .col-main .checkout-types > li button.-plain-text, .checkout-onepage-index .buttons-set button.-plain-text, .checkout-onepage-index .buttons-set .-plain-text.button, .tk-button.--plain-text, .--plain-text.button,
.cart-table .product-cart-actions .--plain-text.button,
#co-shipping-method-form .buttons-set .--plain-text.button, .checkout-cart-index .cart-forms .discount button.--plain-text,
.checkout-cart-index .cart-forms .giftcard button.--plain-text,
.checkout-cart-index .cart-forms .shipping button.--plain-text, .checkout-cart-index .checkout-types button.--plain-text, .checkout-onepage-index .col-main .checkout-types > li button.--plain-text, .checkout-onepage-index .buttons-set button.--plain-text, .checkout-onepage-index .buttons-set .--plain-text.button {
  color: #000;
  text-transform: none;
  background-color: inherit;
  border: none;
  outline: none;
  background: transparent;
  padding: 0;
}

.tk-button.-o-black, .-o-black.button,
.cart-table .product-cart-actions .-o-black.button,
#co-shipping-method-form .buttons-set .-o-black.button,
#co-shipping-method-form .buttons-set .checkout-cart-index .cart-forms .discount button.button, .checkout-cart-index .cart-forms .discount
#co-shipping-method-form .buttons-set button.button,
#co-shipping-method-form .buttons-set
.checkout-cart-index .cart-forms .giftcard button.button,
.checkout-cart-index .cart-forms .giftcard
#co-shipping-method-form .buttons-set button.button,
#co-shipping-method-form .buttons-set
.checkout-cart-index .cart-forms .shipping button.button,
.checkout-cart-index .cart-forms .shipping
#co-shipping-method-form .buttons-set button.button, .checkout-cart-index .cart-forms .discount button,
.checkout-cart-index .cart-forms .giftcard button,
.checkout-cart-index .cart-forms .shipping button, .checkout-cart-index .checkout-types button.-o-black, .checkout-onepage-index .col-main .checkout-types > li button.-o-black, .checkout-onepage-index .col-main .checkout-types > li .checkout-cart-index .cart-forms .discount button, .checkout-cart-index .cart-forms .discount .checkout-onepage-index .col-main .checkout-types > li button, .checkout-onepage-index .col-main .checkout-types > li
.checkout-cart-index .cart-forms .giftcard button,
.checkout-cart-index .cart-forms .giftcard .checkout-onepage-index .col-main .checkout-types > li button, .checkout-onepage-index .col-main .checkout-types > li
.checkout-cart-index .cart-forms .shipping button,
.checkout-cart-index .cart-forms .shipping .checkout-onepage-index .col-main .checkout-types > li button, .checkout-onepage-index .buttons-set button.-o-black, .checkout-onepage-index .buttons-set .-o-black.button, .tk-button.--oblack, .--oblack.button,
.cart-table .product-cart-actions .--oblack.button,
#co-shipping-method-form .buttons-set .--oblack.button, .checkout-cart-index .cart-forms .discount button.--oblack,
.checkout-cart-index .cart-forms .giftcard button.--oblack,
.checkout-cart-index .cart-forms .shipping button.--oblack, .checkout-cart-index .checkout-types button.--oblack, .checkout-onepage-index .col-main .checkout-types > li button.--oblack, .checkout-onepage-index .buttons-set button.--oblack, .checkout-onepage-index .buttons-set .--oblack.button {
  border: 1px solid #000;
  background: transparent;
  color: #000;
}

.tk-button.-o-black:hover, .-o-black.button:hover,
#co-shipping-method-form .buttons-set .-o-black.button:hover,
#co-shipping-method-form .buttons-set .checkout-cart-index .cart-forms .discount button.button:hover, .checkout-cart-index .cart-forms .discount
#co-shipping-method-form .buttons-set button.button:hover,
#co-shipping-method-form .buttons-set
.checkout-cart-index .cart-forms .giftcard button.button:hover,
.checkout-cart-index .cart-forms .giftcard
#co-shipping-method-form .buttons-set button.button:hover,
#co-shipping-method-form .buttons-set
.checkout-cart-index .cart-forms .shipping button.button:hover,
.checkout-cart-index .cart-forms .shipping
#co-shipping-method-form .buttons-set button.button:hover, .checkout-cart-index .cart-forms .discount button:hover,
.checkout-cart-index .cart-forms .giftcard button:hover,
.checkout-cart-index .cart-forms .shipping button:hover, .checkout-cart-index .checkout-types button.-o-black:hover, .checkout-onepage-index .col-main .checkout-types > li button.-o-black:hover, .checkout-onepage-index .buttons-set button.-o-black:hover, .tk-button.--oblack:hover, .--oblack.button:hover,
#co-shipping-method-form .buttons-set .--oblack.button:hover, .checkout-cart-index .cart-forms .discount button.--oblack:hover,
.checkout-cart-index .cart-forms .giftcard button.--oblack:hover,
.checkout-cart-index .cart-forms .shipping button.--oblack:hover, .checkout-cart-index .checkout-types button.--oblack:hover, .checkout-onepage-index .col-main .checkout-types > li button.--oblack:hover, .checkout-onepage-index .buttons-set button.--oblack:hover {
  border-color: #0645AD;
  color: #0645AD;
}

.tk-button.-blue, .-blue.button,
.cart-table .product-cart-actions .-blue.button,
#co-shipping-method-form .buttons-set .-blue.button, .checkout-cart-index .cart-forms .discount button.-blue,
.checkout-cart-index .cart-forms .giftcard button.-blue,
.checkout-cart-index .cart-forms .shipping button.-blue, .checkout-cart-index .checkout-types button.-blue, .checkout-onepage-index .col-main .checkout-types > li button.-blue, .checkout-onepage-index .buttons-set button.-blue, .checkout-onepage-index .buttons-set .-blue.button {
  background-color: #0645AD;
  color: white;
}

.tk-button.-o-blue, .button,
.cart-table .product-cart-actions .button,
#co-shipping-method-form .buttons-set .button,
.footer .button, .checkout-cart-index .cart-forms .discount button.-o-blue, .checkout-cart-index .cart-forms .discount button.button, .checkout-cart-index .cart-forms .discount .checkout-types button, .checkout-cart-index .checkout-types .cart-forms .discount button, .checkout-cart-index .cart-forms .discount .checkout-onepage-index .buttons-set button, .checkout-onepage-index .buttons-set .checkout-cart-index .cart-forms .discount button,
.checkout-cart-index .cart-forms .giftcard button.-o-blue,
.checkout-cart-index .cart-forms .giftcard button.button, .checkout-cart-index .cart-forms .giftcard .checkout-types button, .checkout-cart-index .checkout-types .cart-forms .giftcard button,
.checkout-cart-index .cart-forms .giftcard .checkout-onepage-index .buttons-set button, .checkout-onepage-index .buttons-set
.checkout-cart-index .cart-forms .giftcard button,
.checkout-cart-index .cart-forms .shipping button.-o-blue,
.checkout-cart-index .cart-forms .shipping button.button, .checkout-cart-index .cart-forms .shipping .checkout-types button, .checkout-cart-index .checkout-types .cart-forms .shipping button,
.checkout-cart-index .cart-forms .shipping .checkout-onepage-index .buttons-set button, .checkout-onepage-index .buttons-set
.checkout-cart-index .cart-forms .shipping button, .checkout-cart-index .checkout-types button, .checkout-onepage-index .col-main .checkout-types > li button, .checkout-onepage-index .buttons-set button, .checkout-onepage-index .buttons-set .button, .tk-button.--blue, .--blue.button,
.cart-table .product-cart-actions .--blue.button,
#co-shipping-method-form .buttons-set .--blue.button, .checkout-cart-index .cart-forms .discount button.--blue,
.checkout-cart-index .cart-forms .giftcard button.--blue,
.checkout-cart-index .cart-forms .shipping button.--blue, .checkout-cart-index .checkout-types button.--blue, .checkout-onepage-index .col-main .checkout-types > li button.--blue, .checkout-onepage-index .buttons-set button.--blue, .checkout-onepage-index .buttons-set .--blue.button {
  border: 1px solid #0645AD;
  background: transparent;
  color: #0645AD;
}

.tk-button.-h-o-blue:hover, .-h-o-blue.button:hover,
#co-shipping-method-form .buttons-set .-h-o-blue.button:hover,
#co-shipping-method-form .buttons-set .checkout-cart-index .cart-forms .discount button.button:hover, .checkout-cart-index .cart-forms .discount
#co-shipping-method-form .buttons-set button.button:hover,
#co-shipping-method-form .buttons-set
.checkout-cart-index .cart-forms .giftcard button.button:hover,
.checkout-cart-index .cart-forms .giftcard
#co-shipping-method-form .buttons-set button.button:hover,
#co-shipping-method-form .buttons-set
.checkout-cart-index .cart-forms .shipping button.button:hover,
.checkout-cart-index .cart-forms .shipping
#co-shipping-method-form .buttons-set button.button:hover, .checkout-cart-index .cart-forms .discount button:hover,
.checkout-cart-index .cart-forms .giftcard button:hover,
.checkout-cart-index .cart-forms .shipping button:hover, .checkout-cart-index .checkout-types button.-h-o-blue:hover, .checkout-onepage-index .col-main .checkout-types > li button.-h-o-blue:hover, .checkout-onepage-index .buttons-set button.-h-o-blue:hover {
  background-color: white;
  color: #0645AD;
  border-color: #0645AD;
}

.tk-button.-wide, .-wide.button,
.cart-table .product-cart-actions .-wide.button,
#co-shipping-method-form .buttons-set .-wide.button, .checkout-cart-index .cart-forms .discount button.-wide,
.checkout-cart-index .cart-forms .giftcard button.-wide,
.checkout-cart-index .cart-forms .shipping button.-wide, .checkout-cart-index .checkout-types button.-wide, .checkout-onepage-index .col-main .checkout-types > li button.-wide, .checkout-onepage-index .buttons-set button.-wide, .checkout-onepage-index .buttons-set .-wide.button, .tk-button.--wide, .--wide.button,
.cart-table .product-cart-actions .--wide.button,
#co-shipping-method-form .buttons-set .--wide.button, .checkout-cart-index .cart-forms .discount button.--wide,
.checkout-cart-index .cart-forms .giftcard button.--wide,
.checkout-cart-index .cart-forms .shipping button.--wide, .checkout-cart-index .checkout-types button.--wide, .checkout-onepage-index .col-main .checkout-types > li button.--wide, .checkout-onepage-index .buttons-set button.--wide, .checkout-onepage-index .buttons-set .--wide.button {
  display: block;
  width: 100%;
  text-align: center;
}

.tk-button.-o-red, .-o-red.button,
.cart-table .product-cart-actions .-o-red.button,
#co-shipping-method-form .buttons-set .-o-red.button, .checkout-cart-index .cart-forms .discount button.-o-red, .checkout-cart-index .cart-forms #discount-coupon-form .discount .discount-form button.-remove,
.checkout-cart-index .cart-forms .giftcard button.-o-red,
.checkout-cart-index .cart-forms .shipping button.-o-red, .checkout-cart-index .checkout-types button.-o-red, .checkout-onepage-index .col-main .checkout-types > li button.-o-red, .checkout-onepage-index .buttons-set button.-o-red, .checkout-onepage-index .buttons-set .-o-red.button {
  color: #DC2022;
  border-color: #DC2022;
}

.tk-button.-h-o-red:hover, .-h-o-red.button:hover,
#co-shipping-method-form .buttons-set .-h-o-red.button:hover, .checkout-cart-index .cart-forms .discount button.-h-o-red:hover, .checkout-cart-index .cart-forms #discount-coupon-form .discount .discount-form button.-remove:hover,
.checkout-cart-index .cart-forms .giftcard button.-h-o-red:hover,
.checkout-cart-index .cart-forms .shipping button.-h-o-red:hover, .checkout-cart-index .checkout-types button.-h-o-red:hover, .checkout-onepage-index .col-main .checkout-types > li button.-h-o-red:hover, .checkout-onepage-index .buttons-set button.-h-o-red:hover {
  color: #DC2022;
  border-color: #DC2022;
}

a.tk-button, a.button,
.cart-table .product-cart-actions a.button,
#co-shipping-method-form .buttons-set a.button,
.footer a.button, .checkout-onepage-index .buttons-set a.button {
  padding: 9px 15px;
}

a.tk-button:hover, a.button:hover,
.cart-table .product-cart-actions a.button:hover,
#co-shipping-method-form .buttons-set a.button:hover, .checkout-onepage-index .buttons-set a.button:hover {
  text-decoration: none;
}

.tk-careers {
  max-width: 640px;
  margin: 0;
}

.tk-careers .tk-h1 {
  margin: 10px 0;
}

.tk-careers .__blurb p {
  margin: 20px 0;
}

.tk-careers .__list .__location {
  margin: 40px 0 20px 0;
}

.tk-careers .__list .__city {
  margin: 10px 0;
}

.tk-cart-summary {
  display: block;
  margin: 50px 0 30px 0;
}

@media only screen and (max-width: 598px) {
  .tk-cart-summary {
    margin-top: 10px;
  }
}

.tk-cart-summary .__list {
  border-bottom: 1px solid #000;
}

@media only screen and (max-width: 598px) {
  .tk-cart-summary .__list .__header {
    display: none;
  }
}

.tk-cart-summary .__header {
  border-bottom: 1px solid #000;
  padding-bottom: 11px;
}

.tk-cart-summary .__header > .__desc,
.tk-cart-summary .__header > .__price,
.tk-cart-summary .__header > .__qty {
  text-transform: uppercase;
  padding-right: 10px;
}

.tk-cart-summary .__header,
.tk-cart-summary .__product {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-cart-summary .__header > .__desc,
.tk-cart-summary .__product > .__desc {
  -ms-flex-preferred-size: 40%;
      flex-basis: 40%;
}

.tk-cart-summary .__header > .__price,
.tk-cart-summary .__product > .__price {
  -ms-flex-preferred-size: 20%;
      flex-basis: 20%;
}

.tk-cart-summary .__header > .__qty,
.tk-cart-summary .__product > .__qty {
  -ms-flex-preferred-size: 30%;
      flex-basis: 30%;
}

.tk-cart-summary .__header > .__subtotal,
.tk-cart-summary .__product > .__subtotal {
  -ms-flex-preferred-size: 10%;
      flex-basis: 10%;
  text-align: right;
}

.tk-cart-summary .__product {
  margin: 20px 0;
  /*
        @include tk-bp-mobile {
            .__image {
                float: left;
                width: 50%;
            }

            .__description {
                .__configurable {
                    padding-top: 6px;
                }
            }

            .__price {
                padding-top: 0;
                margin-top: 20px;

                .__quantity {
                    margin-top: 12px;
                }

                .__subtotal {
                    margin-top: 7px;
                    margin-bottom: 42px;
                }
            }
        }
        */
}

@media only screen and (max-width: 598px) {
  .tk-cart-summary .__product {
    border-bottom: 1px solid #000;
    display: block;
    position: relative;
  }
  .tk-cart-summary .__product:after {
    content: '';
    display: table;
    clear: both;
  }
  .tk-cart-summary .__product:last-child {
    border-bottom: none;
    margin-bottom: 0;
  }
}

.tk-cart-summary .__product .__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-cart-summary .__product .__desc .__image {
  width: 86px;
  -ms-flex-preferred-size: 86px;
      flex-basis: 86px;
}

.tk-cart-summary .__product .__desc .__description {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  margin: 0 0 20px 0;
  margin: 4px 15px 10px 7px;
  -ms-flex-preferred-size: 310px;
      flex-basis: 310px;
}

.tk-cart-summary .__product .__desc .__description .__designer-name {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.tk-cart-summary .__product .__desc .__description .__designer-name a {
  color: #000;
}

.tk-cart-summary .__product .__desc .__description .__product-name a {
  color: #666666;
}

.tk-cart-summary .__product .__desc .__sku {
  margin-top: 15px;
}

.tk-cart-summary .__product .__desc .__sku > dt, .tk-cart-summary .__product .__desc .__sku > dd {
  display: inline;
}

.tk-cart-summary .__product .__desc .__sku > dt {
  padding-right: 5px;
}

@media only screen and (max-width: 598px) {
  .tk-cart-summary .__product .__desc .__sku {
    margin-top: 0;
  }
}

.tk-cart-summary .__product .__desc .__low-quantity {
  color: #DC2022;
}

@media only screen and (max-width: 598px) {
  .tk-cart-summary .__product .__desc {
    display: block;
  }
  .tk-cart-summary .__product .__desc .__image {
    float: left;
    margin-right: 10px;
  }
}

.tk-cart-summary .__product .__price {
  margin-top: 5px;
}

@media only screen and (max-width: 598px) {
  .tk-cart-summary .__product .__price {
    display: none;
  }
}

.tk-cart-summary .__product .__qty {
  margin-top: -1px;
}

.tk-cart-summary .__product .__qty label {
  display: none;
  text-transform: uppercase;
  padding-right: 10px;
}

.tk-cart-summary .__product .__qty input.qty {
  margin-top: 1px;
  margin-right: 5px;
}

.tk-cart-summary .__product .__qty .__update,
.tk-cart-summary .__product .__qty .__remove {
  margin-left: 20px;
  text-transform: uppercase;
  color: #444;
  border-bottom: 1px solid #444;
}

.tk-cart-summary .__product .__qty .__update:hover,
.tk-cart-summary .__product .__qty .__remove:hover {
  color: #000;
  border-bottom: 1px solid #000;
}

.tk-cart-summary .__product .__qty button.__update {
  padding-bottom: 1px;
}

.tk-cart-summary .__product .__qty a.__remove {
  padding-bottom: 0;
}

@media only screen and (max-width: 598px) {
  .tk-cart-summary .__product .__qty {
    margin-top: 10px;
    margin-right: 0;
    margin-left: auto;
    max-width: calc(100% - 96px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .tk-cart-summary .__product .__qty label {
    display: block;
  }
  .tk-cart-summary .__product .__qty input.qty {
    margin-right: auto;
  }
  .tk-cart-summary .__product .__qty a.__remove {
    padding-bottom: 0;
  }
}

.tk-cart-summary .__product .__subtotal {
  margin-top: 5px;
}

@media only screen and (max-width: 598px) {
  .tk-cart-summary .__product .__subtotal {
    clear: both;
    margin-top: 25px;
    margin-bottom: 25px;
    font-size: 16px;
  }
}

.tk-cart-title {
  border-bottom: 1px solid #000;
  padding-bottom: 2px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.tk-cart-title .__title {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 16px;
}

@media only screen and (max-width: 598px) {
  .tk-cart-title {
    padding-bottom: 10px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .tk-cart-title .__continue {
    border: 1px solid #0645AD;
    padding: 5px 9px;
  }
  .tk-cart-title .__continue .__extra {
    display: none;
  }
}

.tk-catalog-nav a {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
}

.tk-catalog-nav a:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-catalog-nav a.-current {
  color: #0645AD;
  text-decoration: underline;
}

.tk-catalog-nav > h6 {
  margin-bottom: 15px;
}

.tk-catalog-nav > h6, .tk-catalog-nav > a {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  display: block;
  margin-top: 16px;
}

.tk-catalog-nav > h6:first-child, .tk-catalog-nav > a:first-child {
  margin-top: 0;
}

.tk-catalog-nav > h6 > a, .tk-catalog-nav > a {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
}

.tk-catalog-nav > h6 > a:hover, .tk-catalog-nav > a:hover {
  color: #0645AD;
  text-decoration: underline;
}

.tk-catalog-nav > h6 > a.-sale, .tk-catalog-nav > a.-sale {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
  margin-top: 0;
  text-transform: none;
}

.tk-catalog-nav > h6 > a.-sale:hover, .tk-catalog-nav > a.-sale:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-catalog-nav > h6 > a.-sale.-current, .tk-catalog-nav > a.-sale.-current {
  color: #0645AD;
  text-decoration: underline;
}

.tk-catalog-nav > .__list .__list, .tk-catalog-nav > .__list.-sale {
  margin-left: 16px;
  margin-bottom: 8px;
}

.tk-category-title {
  position: relative;
  padding-right: 6px;
}

.tk-category-title .__description h1 {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 36px;
  text-align: center;
  z-index: 1;
}

@media only screen and (min-width: 599px) {
  .tk-category-title .__description h1 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

@media only screen and (max-width: 598px) {
  .tk-category-title .__description h1 {
    font-size: 22px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.tk-category-title .__description h1.-white {
  color: white;
}

@media only screen and (min-width: 599px) {
  .tk-category-title .__description.-noImage h1 {
    padding-top: 52px;
  }
}

@media only screen and (max-width: 598px) {
  .tk-category-title .__description.-noImage h1 {
    padding-top: 10px;
  }
}

.tk-category-title .__description.-withImage {
  margin-bottom: 30px;
}

.tk-category-title .__image {
  margin-bottom: 30px;
}

.tk-category-title .__image img {
  width: 100%;
}

.tk-checkout-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: 1px solid #000;
  position: relative;
}

.tk-checkout-header *:focus {
  outline: 0;
}

.tk-checkout-header > span {
  padding-top: 13.5px;
  padding-bottom: 12.5px;
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%;
}

.tk-checkout-header > span.__lhs {
  text-align: left;
  padding-right: 30px;
  padding-left: 15px;
}

.tk-checkout-header > span.__lhs > a {
  padding-top: 13.5px;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 12.5px;
}

.tk-checkout-header > span.__rhs {
  text-align: right;
  padding-top: 0;
  padding-bottom: 0;
}

.tk-checkout-header > span.__rhs > a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse nowrap;
          flex-flow: row-reverse nowrap;
  padding-top: 27px;
  padding-right: 30px;
  padding-bottom: 25px;
}

.tk-checkout-header > span > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  color: #000;
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 25px;
}

.tk-checkout-header > span > a > * {
  padding-right: 7.5px;
}

.tk-checkout-header > span > a .__icon {
  display: none;
}

.tk-checkout-header > span > a .__text {
  display: block;
}

@media only screen and (max-width: 598px) {
  .tk-checkout-header > span > a .__text {
    display: none;
  }
}

.tk-checkout-header > span > a:hover, .tk-checkout-header > span > a:hover > * {
  text-decoration: none;
  color: #0645AD;
}

.tk-checkout-header > span > a:hover > .__text {
  text-decoration: underline;
}

.tk-checkout-header > span .fa {
  font-size: 18px;
}

.tk-checkout-header > .__logo {
  padding-top: 27px;
  padding-bottom: 25px;
  text-align: center;
}

.tk-checkout-header > .__logo img {
  margin: 0 auto;
}

.tk-checkout-header .__contact {
  background: white;
  position: absolute;
  right: 0;
  top: 76px;
  z-index: 1;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  border-left: 1px solid black;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
  width: 33%;
}

.tk-checkout-header .__contact.-visible {
  visibility: visible;
  opacity: 1.0;
}

@media only screen and (max-width: 978px) {
  .tk-checkout-header .__contact {
    border-left: none;
    border-right: none;
    width: 100%;
  }
}

.tk-checkout-header .__contact > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  text-align: right;
  padding: 15px 30px;
  border-bottom: 1px solid #EFEFEF;
}

.tk-checkout-header .__contact > a:last-child {
  border-bottom: none;
}

.tk-checkout-header .__contact > a > span {
  margin-top: -1px;
  padding-right: 7.5px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #0645AD !important;
  letter-spacing: 1px;
}

.tk-checkout-header .__contact > a > span:hover {
  text-decoration: underline;
}

.tk-checkout-header .__contact > a > .fa {
  color: #000;
}

.tk-checkout-header .__contact > a:hover {
  text-decoration: none;
}

.tk-checkout-header .__contact > a:hover > span {
  text-decoration: underline;
  color: #0645AD;
}

.tk-checkout-header .__contact > a:hover > .fa {
  color: #0645AD;
}

@media only screen and (max-width: 598px) {
  .tk-checkout-header .__lhs, .tk-checkout-header .__rhs {
    display: none;
  }
  .tk-checkout-header .__logo img {
    text-align: left;
    width: 100px;
    margin-left: 16px;
  }
}

body .tk-checkout-header {
  display: none;
}

body.checkout-onepage-index div.header-container div.header .tk-nav-header {
  display: none;
}

body.checkout-onepage-index div.header-container div.header .tk-checkout-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tk-checkout #remember-me-box {
  display: none;
}

.tk-checkout .__checkout-steps .__step-sign-in-breadcrumb {
  display: none;
}

@media only screen and (max-width: 598px) {
  .tk-checkout .__help {
    display: none;
  }
  .tk-checkout .section .step-title h2 {
    padding-left: 40px;
  }
  .tk-checkout .__sign-in .__title {
    display: none;
  }
  .tk-checkout .__sign-in .__member {
    display: none;
  }
  .tk-checkout.-mobile-sign-in .__checkout-steps .__step-sign-in-breadcrumb {
    display: inline;
  }
  .tk-checkout.-mobile-sign-in .__checkout-steps .__step-sign-in-breadcrumb::before {
    content: ' – ';
  }
  .tk-checkout.-mobile-sign-in .__sign-in .__member {
    display: block;
  }
  .tk-checkout.-mobile-sign-in .__sign-in .__anonymous {
    display: none;
  }
  .tk-checkout .button {
    display: block;
    width: 100%;
  }
}

@media only screen and (min-width: 599px) {
  .tk-checkout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    max-width: 1024px;
  }
  .tk-checkout .__funnel {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  .tk-checkout .__help {
    margin-left: 80px;
  }
  .tk-checkout .__checkout-steps .__step-sign-in-breadcrumb {
    display: none !important;
  }
}

.tk-checkout .__help p {
  margin: 20px 0;
}

.tk-checkout .__title {
  margin-bottom: 15px;
}

@media only screen and (min-width: 599px) {
  .tk-checkout .__sign-in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    margin: 0 0 60px 0;
  }
  .tk-checkout .__sign-in .__member, .tk-checkout .__sign-in .__anonymous {
    width: 50%;
    margin: 0;
    padding: 40px 50px 20px 50px;
  }
  .tk-checkout .__sign-in .__member {
    border-right: 1px solid #9b9b9b;
  }
  .tk-checkout .__sign-in .__mobile-sign-in {
    display: none;
  }
}

.tk-checkout .__sign-in .__member .input-text {
  height: unset;
  padding: 10px;
}

.tk-checkout .__sign-in .__member .form-list > li {
  margin-bottom: 20px;
}

.tk-checkout .__sign-in .__member .__forgot-password {
  margin-top: 20px;
}

.tk-checkout .__sign-in .__member .__forgot-password a {
  text-decoration: underline;
}

@media only screen and (max-width: 598px) {
  .tk-checkout .__sign-in .__member .__forgot-password {
    padding-bottom: 20px;
    text-align: center;
  }
}

.tk-checkout .__sign-in .__anonymous {
  padding-bottom: 20px;
}

@media only screen and (min-width: 599px) {
  .tk-checkout .__sign-in .__anonymous .__mobile-sign-in-link-container {
    display: none;
  }
}

.tk-checkout .__sign-in .__anonymous a.__mobile-sign-in,
.tk-checkout .__sign-in .__anonymous label {
  display: block;
  width: 100%;
  padding: 10px;
  text-align: center;
}

.tk-checkout .__sign-in .__anonymous a.__mobile-sign-in.-o-blue, .tk-checkout .__sign-in .__anonymous a.__mobile-sign-in.button, .tk-checkout .__sign-in .__anonymous
#co-shipping-method-form .buttons-set a.__mobile-sign-in.button,
#co-shipping-method-form .buttons-set .tk-checkout .__sign-in .__anonymous a.__mobile-sign-in.button,
.tk-checkout .__sign-in .__anonymous label.-o-blue,
.tk-checkout .__sign-in .__anonymous label.button,
.tk-checkout .__sign-in .__anonymous
#co-shipping-method-form .buttons-set label.button,
#co-shipping-method-form .buttons-set
.tk-checkout .__sign-in .__anonymous label.button {
  color: #0645AD;
}

.tk-checkout .__sign-in .__anonymous input[type=radio] {
  visibility: hidden;
}

.tk-editorial-image .__products {
  position: absolute;
  list-style-type: disc;
  transition: opacity 0.5s ease, height 0.5s ease;
  -webkit-transition: opacity 0.5s ease, height 0.5s ease;
  visibility: hidden;
  opacity: 0;
}

.tk-editorial-image .__products.-visible {
  padding-left: 13px;
  padding-top: 8px;
  visibility: visible;
  opacity: 1;
}

.tk-editorial-image:hover .__products {
  padding-left: 13px;
  padding-top: 8px;
  visibility: visible;
  opacity: 1;
}

@media only screen and (max-width: 598px) {
  .tk-editorial-image .__products {
    height: 0;
    position: relative;
    opacity: 1;
    overflow: hidden;
  }
  .tk-editorial-image:hover .__products {
    height: inherit;
  }
}

@media only screen and (min-width: 599px) {
  .tk-editorial-image.-overlay-products {
    position: relative;
  }
  .tk-editorial-image.-overlay-products .__products {
    bottom: 20px;
    left: 20px;
    color: white;
  }
  .tk-editorial-image.-overlay-products .__products a {
    color: white;
  }
  .tk-editorial-image.-overlay-products .__products a:hover {
    color: white;
  }
}

@media only screen and (max-width: 598px) {
  .tk-editorial, .tkEditorial {
    margin-top: 50px;
    margin-left: 0px;
    margin-right: 0px;
  }
}

@media only screen and (min-width: 599px) {
  .tk-editorial, .tkEditorial {
    margin-top: 100px;
    margin-bottom: 83px;
  }
}

.tk-editorial .__title, .tkEditorial .__title {
  text-align: center;
  max-width: 600px;
  margin: 20px auto;
}

@media only screen and (min-width: 599px) {
  .tk-editorial .__title, .tkEditorial .__title {
    margin-bottom: 100px;
  }
}

.tk-editorial .__subtitle, .tkEditorial .__subtitle {
  padding-top: 20px;
  padding-left: 20px;
  padding-right: 20px;
}

@media only screen and (max-width: 598px) {
  .tk-editorial .__row .__image, .tkEditorial .__row .__image {
    margin-bottom: 30px;
  }
}

@media only screen and (min-width: 599px) {
  .tk-editorial .__row, .tkEditorial .__row {
    margin-bottom: 100px;
  }
  .tk-editorial .__row.-noBottom, .tkEditorial .__row.-noBottom {
    margin-bottom: 0;
  }
  .tk-editorial .__row.-padBottom, .tkEditorial .__row.-padBottom {
    margin-bottom: 200px;
  }
  .tk-editorial .__row.-negMargin1, .tkEditorial .__row.-negMargin1 {
    margin-top: -1px;
  }
}

.tk-editorial .__credits, .tkEditorial .__credits {
  padding: 10px 10px 10px 20px;
  border: 1px solid #000;
  width: 29em;
}

.tk-editorial .__credits ul, .tk-editorial .__credits, .tkEditorial .__credits ul, .tkEditorial .__credits {
  list-style-type: disc !important;
}

.tk-editorial .__credits ul li, .tk-editorial .__credits li, .tkEditorial .__credits ul li, .tkEditorial .__credits li {
  padding-left: 10px !important;
}

.tk-editorial .__credits ul li::before, .tk-editorial .__credits li::before, .tkEditorial .__credits ul li::before, .tkEditorial .__credits li::before {
  content: none !important;
}

@media only screen and (min-width: 599px) {
  .tk-editorial.--sagHarbor .__row.-sagPair1, .tkEditorial.--sagHarbor .__row.-sagPair1 {
    height: 50.25vw;
  }
  .tk-editorial.--sagHarbor .__row.-sagPair1 .-lh img, .tkEditorial.--sagHarbor .__row.-sagPair1 .-lh img {
    height: 25.5vw;
  }
  .tk-editorial.--sagHarbor .__row.-sagPair1 .-rh img, .tkEditorial.--sagHarbor .__row.-sagPair1 .-rh img {
    height: 37.6vw;
  }
  .tk-editorial.--sagHarbor .__row.-sagPair2, .tkEditorial.--sagHarbor .__row.-sagPair2 {
    height: 63.5vw;
  }
  .tk-editorial.--sagHarbor .__row.-sagPair2 .-lh img, .tkEditorial.--sagHarbor .__row.-sagPair2 .-lh img {
    height: 50.8vw;
  }
  .tk-editorial.--sagHarbor .__row.-sagPair2 .-rh, .tkEditorial.--sagHarbor .__row.-sagPair2 .-rh {
    margin-right: calc(2.63 * 100vw / 18);
  }
  .tk-editorial.--sagHarbor .__row.-sagPair2 .-rh img, .tkEditorial.--sagHarbor .__row.-sagPair2 .-rh img {
    height: 25.5vw;
  }
  .tk-editorial.--sagHarbor .__row.-sagPair3, .tkEditorial.--sagHarbor .__row.-sagPair3 {
    height: calc(11.86/18 * 100vw);
  }
  .tk-editorial.--sagHarbor .__row.-sagPair3 .-lh img, .tkEditorial.--sagHarbor .__row.-sagPair3 .-lh img {
    height: calc(5.55/18 * 100vw);
  }
  .tk-editorial.--sagHarbor .__row.-sagPair3 .-rh img, .tkEditorial.--sagHarbor .__row.-sagPair3 .-rh img {
    height: calc(9.05/18 * 100vw);
  }
  .tk-editorial.--sagHarbor .__row.-sagPair4, .tkEditorial.--sagHarbor .__row.-sagPair4 {
    height: calc(14.12/18 * 100vw);
  }
  .tk-editorial.--sagHarbor .__row.-sagPair4 .-rh img, .tkEditorial.--sagHarbor .__row.-sagPair4 .-rh img {
    height: calc(11.35/18 * 100vw);
  }
}

.tk-editorials-list {
  margin: 15px 15px 0 15px;
}

.tk-editorials-list .__cell {
  display: block;
  margin-bottom: 25px;
}

.tk-editorials-list .__cell .__cover {
  margin-bottom: 4px;
  width: 100%;
}

.tk-editorials-list .__cell img {
  width: 100%;
  margin-bottom: 5px;
}

.tk-editorials-list .__cell .tk-l2:hover * {
  color: #0645AD !important;
}

@media only screen and (min-width: 599px) {
  .tk-editorials-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .tk-editorials-list .__cell {
    -ms-flex-preferred-size: calc(33% - 10px);
        flex-basis: calc(33% - 10px);
  }
}

@media only screen and (min-width: 979px) {
  .tk-editorials-list {
    margin: 80px 50px 50px 50px;
  }
}

.tk-final-sale {
  font-weight: bold;
  color: #DC2022;
}

@media only screen and (min-width: 599px) {
  .tk-flex-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .tk-flex-row .-lh {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .tk-flex-row .-rh {
    -webkit-box-ordinal-group: 1000;
        -ms-flex-order: 999;
            order: 999;
  }
  .tk-flex-row .-w0 {
    width: calc( (0/12 * (100% - (11 * 10px))) + 10px * -1);
  }
  .tk-flex-row .-o0 {
    margin-left: calc( (0/12 * (100% - (11 * 10px))) + 10px * 0);
  }
  .tk-flex-row .-ro0 {
    margin-right: calc( (0/12 * (100% - (11 * 10px))) + 10px * 0);
  }
  .tk-flex-row .-w1 {
    width: calc( (1/12 * (100% - (11 * 10px))) + 10px * 0);
  }
  .tk-flex-row .-o1 {
    margin-left: calc( (1/12 * (100% - (11 * 10px))) + 10px * 1);
  }
  .tk-flex-row .-ro1 {
    margin-right: calc( (1/12 * (100% - (11 * 10px))) + 10px * 1);
  }
  .tk-flex-row .-w2 {
    width: calc( (2/12 * (100% - (11 * 10px))) + 10px * 1);
  }
  .tk-flex-row .-o2 {
    margin-left: calc( (2/12 * (100% - (11 * 10px))) + 10px * 2);
  }
  .tk-flex-row .-ro2 {
    margin-right: calc( (2/12 * (100% - (11 * 10px))) + 10px * 2);
  }
  .tk-flex-row .-w3 {
    width: calc( (3/12 * (100% - (11 * 10px))) + 10px * 2);
  }
  .tk-flex-row .-o3 {
    margin-left: calc( (3/12 * (100% - (11 * 10px))) + 10px * 3);
  }
  .tk-flex-row .-ro3 {
    margin-right: calc( (3/12 * (100% - (11 * 10px))) + 10px * 3);
  }
  .tk-flex-row .-w4 {
    width: calc( (4/12 * (100% - (11 * 10px))) + 10px * 3);
  }
  .tk-flex-row .-o4 {
    margin-left: calc( (4/12 * (100% - (11 * 10px))) + 10px * 4);
  }
  .tk-flex-row .-ro4 {
    margin-right: calc( (4/12 * (100% - (11 * 10px))) + 10px * 4);
  }
  .tk-flex-row .-w5 {
    width: calc( (5/12 * (100% - (11 * 10px))) + 10px * 4);
  }
  .tk-flex-row .-o5 {
    margin-left: calc( (5/12 * (100% - (11 * 10px))) + 10px * 5);
  }
  .tk-flex-row .-ro5 {
    margin-right: calc( (5/12 * (100% - (11 * 10px))) + 10px * 5);
  }
  .tk-flex-row .-w6 {
    width: calc( (6/12 * (100% - (11 * 10px))) + 10px * 5);
  }
  .tk-flex-row .-o6 {
    margin-left: calc( (6/12 * (100% - (11 * 10px))) + 10px * 6);
  }
  .tk-flex-row .-ro6 {
    margin-right: calc( (6/12 * (100% - (11 * 10px))) + 10px * 6);
  }
  .tk-flex-row .-w7 {
    width: calc( (7/12 * (100% - (11 * 10px))) + 10px * 6);
  }
  .tk-flex-row .-o7 {
    margin-left: calc( (7/12 * (100% - (11 * 10px))) + 10px * 7);
  }
  .tk-flex-row .-ro7 {
    margin-right: calc( (7/12 * (100% - (11 * 10px))) + 10px * 7);
  }
  .tk-flex-row .-w8 {
    width: calc( (8/12 * (100% - (11 * 10px))) + 10px * 7);
  }
  .tk-flex-row .-o8 {
    margin-left: calc( (8/12 * (100% - (11 * 10px))) + 10px * 8);
  }
  .tk-flex-row .-ro8 {
    margin-right: calc( (8/12 * (100% - (11 * 10px))) + 10px * 8);
  }
  .tk-flex-row .-w9 {
    width: calc( (9/12 * (100% - (11 * 10px))) + 10px * 8);
  }
  .tk-flex-row .-o9 {
    margin-left: calc( (9/12 * (100% - (11 * 10px))) + 10px * 9);
  }
  .tk-flex-row .-ro9 {
    margin-right: calc( (9/12 * (100% - (11 * 10px))) + 10px * 9);
  }
  .tk-flex-row .-w10 {
    width: calc( (10/12 * (100% - (11 * 10px))) + 10px * 9);
  }
  .tk-flex-row .-o10 {
    margin-left: calc( (10/12 * (100% - (11 * 10px))) + 10px * 10);
  }
  .tk-flex-row .-ro10 {
    margin-right: calc( (10/12 * (100% - (11 * 10px))) + 10px * 10);
  }
  .tk-flex-row .-w11 {
    width: calc( (11/12 * (100% - (11 * 10px))) + 10px * 10);
  }
  .tk-flex-row .-o11 {
    margin-left: calc( (11/12 * (100% - (11 * 10px))) + 10px * 11);
  }
  .tk-flex-row .-ro11 {
    margin-right: calc( (11/12 * (100% - (11 * 10px))) + 10px * 11);
  }
  .tk-flex-row .-w12 {
    width: calc( (12/12 * (100% - (11 * 10px))) + 10px * 11);
  }
  .tk-flex-row .-o12 {
    margin-left: calc( (12/12 * (100% - (11 * 10px))) + 10px * 12);
  }
  .tk-flex-row .-ro12 {
    margin-right: calc( (12/12 * (100% - (11 * 10px))) + 10px * 12);
  }
  .tk-flex-row .-w13 {
    width: calc( (13/12 * (100% - (11 * 10px))) + 10px * 12);
  }
  .tk-flex-row .-o13 {
    margin-left: calc( (13/12 * (100% - (11 * 10px))) + 10px * 13);
  }
  .tk-flex-row .-ro13 {
    margin-right: calc( (13/12 * (100% - (11 * 10px))) + 10px * 13);
  }
  .tk-flex-row .-w14 {
    width: calc( (14/12 * (100% - (11 * 10px))) + 10px * 13);
  }
  .tk-flex-row .-o14 {
    margin-left: calc( (14/12 * (100% - (11 * 10px))) + 10px * 14);
  }
  .tk-flex-row .-ro14 {
    margin-right: calc( (14/12 * (100% - (11 * 10px))) + 10px * 14);
  }
  .tk-flex-row .-w15 {
    width: calc( (15/12 * (100% - (11 * 10px))) + 10px * 14);
  }
  .tk-flex-row .-o15 {
    margin-left: calc( (15/12 * (100% - (11 * 10px))) + 10px * 15);
  }
  .tk-flex-row .-ro15 {
    margin-right: calc( (15/12 * (100% - (11 * 10px))) + 10px * 15);
  }
  .tk-flex-row .-w16 {
    width: calc( (16/12 * (100% - (11 * 10px))) + 10px * 15);
  }
  .tk-flex-row .-o16 {
    margin-left: calc( (16/12 * (100% - (11 * 10px))) + 10px * 16);
  }
  .tk-flex-row .-ro16 {
    margin-right: calc( (16/12 * (100% - (11 * 10px))) + 10px * 16);
  }
  .tk-flex-row .-w17 {
    width: calc( (17/12 * (100% - (11 * 10px))) + 10px * 16);
  }
  .tk-flex-row .-o17 {
    margin-left: calc( (17/12 * (100% - (11 * 10px))) + 10px * 17);
  }
  .tk-flex-row .-ro17 {
    margin-right: calc( (17/12 * (100% - (11 * 10px))) + 10px * 17);
  }
  .tk-flex-row .-w18 {
    width: calc( (18/12 * (100% - (11 * 10px))) + 10px * 17);
  }
  .tk-flex-row .-o18 {
    margin-left: calc( (18/12 * (100% - (11 * 10px))) + 10px * 18);
  }
  .tk-flex-row .-ro18 {
    margin-right: calc( (18/12 * (100% - (11 * 10px))) + 10px * 18);
  }
  .tk-flex-row .-v-top {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
  .tk-flex-row .-v-center {
    -ms-flex-item-align: center;
        align-self: center;
  }
  .tk-flex-row .-pull-down,
  .tk-flex-row .-v-bottom {
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
  .tk-flex-row .-stretch {
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
  .tk-flex-row.-left-align {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .tk-flex-row.-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .tk-flex-row.-center {
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .tk-flex-row .-text-center {
    text-align: center;
  }
  .tk-flex-row .-text-right {
    text-align: right;
  }
}

.tk-flex-row.-margin {
  margin-left: 30px;
  margin-right: 30px;
}

@media only screen and (max-width: 978px) {
  .tk-flex-row.-margin {
    margin-left: 20px;
    margin-right: 20px;
  }
}

.tk-flex-row.-bleed img {
  width: 100% !important;
}

@media only screen and (max-width: 598px) {
  .tk-flex-row.-bleed {
    margin-left: 20px;
    margin-right: 20px;
  }
}

@media only screen and (min-width: 599px) {
  .tk-flex-row.-bleed .-w1 {
    width: 8.33333%;
  }
  .tk-flex-row.-bleed .-w2 {
    width: 16.66667%;
  }
  .tk-flex-row.-bleed .-w3 {
    width: 25%;
  }
  .tk-flex-row.-bleed .-w4 {
    width: 33.33333%;
  }
  .tk-flex-row.-bleed .-w5 {
    width: 41.66667%;
  }
  .tk-flex-row.-bleed .-w6 {
    width: 50%;
  }
  .tk-flex-row.-bleed .-w7 {
    width: 58.33333%;
  }
  .tk-flex-row.-bleed .-w8 {
    width: 66.66667%;
  }
  .tk-flex-row.-bleed .-w9 {
    width: 75%;
  }
  .tk-flex-row.-bleed .-w10 {
    width: 83.33333%;
  }
  .tk-flex-row.-bleed .-w11 {
    width: 91.66667%;
  }
  .tk-flex-row.-bleed .-w12 {
    width: 100%;
  }
}

.tk-flex-row.-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.tk-flex-row .video-js {
  width: 100.1%;
}

@media only screen and (min-width: 599px) {
  .tk-flex-row--18 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .tk-flex-row--18 .-lh {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .tk-flex-row--18 .-rh {
    -webkit-box-ordinal-group: 1000;
        -ms-flex-order: 999;
            order: 999;
  }
  .tk-flex-row--18 .-w0 {
    width: calc( (0/18 * (100% - (17 * 10px))) + 10px * -1);
  }
  .tk-flex-row--18 .-o0 {
    margin-left: calc( (0/18 * (100% - (17 * 10px))) + 10px * 0);
  }
  .tk-flex-row--18 .-ro0 {
    margin-right: calc( (0/18 * (100% - (17 * 10px))) + 10px * 0);
  }
  .tk-flex-row--18 .-w1 {
    width: calc( (1/18 * (100% - (17 * 10px))) + 10px * 0);
  }
  .tk-flex-row--18 .-o1 {
    margin-left: calc( (1/18 * (100% - (17 * 10px))) + 10px * 1);
  }
  .tk-flex-row--18 .-ro1 {
    margin-right: calc( (1/18 * (100% - (17 * 10px))) + 10px * 1);
  }
  .tk-flex-row--18 .-w2 {
    width: calc( (2/18 * (100% - (17 * 10px))) + 10px * 1);
  }
  .tk-flex-row--18 .-o2 {
    margin-left: calc( (2/18 * (100% - (17 * 10px))) + 10px * 2);
  }
  .tk-flex-row--18 .-ro2 {
    margin-right: calc( (2/18 * (100% - (17 * 10px))) + 10px * 2);
  }
  .tk-flex-row--18 .-w3 {
    width: calc( (3/18 * (100% - (17 * 10px))) + 10px * 2);
  }
  .tk-flex-row--18 .-o3 {
    margin-left: calc( (3/18 * (100% - (17 * 10px))) + 10px * 3);
  }
  .tk-flex-row--18 .-ro3 {
    margin-right: calc( (3/18 * (100% - (17 * 10px))) + 10px * 3);
  }
  .tk-flex-row--18 .-w4 {
    width: calc( (4/18 * (100% - (17 * 10px))) + 10px * 3);
  }
  .tk-flex-row--18 .-o4 {
    margin-left: calc( (4/18 * (100% - (17 * 10px))) + 10px * 4);
  }
  .tk-flex-row--18 .-ro4 {
    margin-right: calc( (4/18 * (100% - (17 * 10px))) + 10px * 4);
  }
  .tk-flex-row--18 .-w5 {
    width: calc( (5/18 * (100% - (17 * 10px))) + 10px * 4);
  }
  .tk-flex-row--18 .-o5 {
    margin-left: calc( (5/18 * (100% - (17 * 10px))) + 10px * 5);
  }
  .tk-flex-row--18 .-ro5 {
    margin-right: calc( (5/18 * (100% - (17 * 10px))) + 10px * 5);
  }
  .tk-flex-row--18 .-w6 {
    width: calc( (6/18 * (100% - (17 * 10px))) + 10px * 5);
  }
  .tk-flex-row--18 .-o6 {
    margin-left: calc( (6/18 * (100% - (17 * 10px))) + 10px * 6);
  }
  .tk-flex-row--18 .-ro6 {
    margin-right: calc( (6/18 * (100% - (17 * 10px))) + 10px * 6);
  }
  .tk-flex-row--18 .-w7 {
    width: calc( (7/18 * (100% - (17 * 10px))) + 10px * 6);
  }
  .tk-flex-row--18 .-o7 {
    margin-left: calc( (7/18 * (100% - (17 * 10px))) + 10px * 7);
  }
  .tk-flex-row--18 .-ro7 {
    margin-right: calc( (7/18 * (100% - (17 * 10px))) + 10px * 7);
  }
  .tk-flex-row--18 .-w8 {
    width: calc( (8/18 * (100% - (17 * 10px))) + 10px * 7);
  }
  .tk-flex-row--18 .-o8 {
    margin-left: calc( (8/18 * (100% - (17 * 10px))) + 10px * 8);
  }
  .tk-flex-row--18 .-ro8 {
    margin-right: calc( (8/18 * (100% - (17 * 10px))) + 10px * 8);
  }
  .tk-flex-row--18 .-w9 {
    width: calc( (9/18 * (100% - (17 * 10px))) + 10px * 8);
  }
  .tk-flex-row--18 .-o9 {
    margin-left: calc( (9/18 * (100% - (17 * 10px))) + 10px * 9);
  }
  .tk-flex-row--18 .-ro9 {
    margin-right: calc( (9/18 * (100% - (17 * 10px))) + 10px * 9);
  }
  .tk-flex-row--18 .-w10 {
    width: calc( (10/18 * (100% - (17 * 10px))) + 10px * 9);
  }
  .tk-flex-row--18 .-o10 {
    margin-left: calc( (10/18 * (100% - (17 * 10px))) + 10px * 10);
  }
  .tk-flex-row--18 .-ro10 {
    margin-right: calc( (10/18 * (100% - (17 * 10px))) + 10px * 10);
  }
  .tk-flex-row--18 .-w11 {
    width: calc( (11/18 * (100% - (17 * 10px))) + 10px * 10);
  }
  .tk-flex-row--18 .-o11 {
    margin-left: calc( (11/18 * (100% - (17 * 10px))) + 10px * 11);
  }
  .tk-flex-row--18 .-ro11 {
    margin-right: calc( (11/18 * (100% - (17 * 10px))) + 10px * 11);
  }
  .tk-flex-row--18 .-w12 {
    width: calc( (12/18 * (100% - (17 * 10px))) + 10px * 11);
  }
  .tk-flex-row--18 .-o12 {
    margin-left: calc( (12/18 * (100% - (17 * 10px))) + 10px * 12);
  }
  .tk-flex-row--18 .-ro12 {
    margin-right: calc( (12/18 * (100% - (17 * 10px))) + 10px * 12);
  }
  .tk-flex-row--18 .-w13 {
    width: calc( (13/18 * (100% - (17 * 10px))) + 10px * 12);
  }
  .tk-flex-row--18 .-o13 {
    margin-left: calc( (13/18 * (100% - (17 * 10px))) + 10px * 13);
  }
  .tk-flex-row--18 .-ro13 {
    margin-right: calc( (13/18 * (100% - (17 * 10px))) + 10px * 13);
  }
  .tk-flex-row--18 .-w14 {
    width: calc( (14/18 * (100% - (17 * 10px))) + 10px * 13);
  }
  .tk-flex-row--18 .-o14 {
    margin-left: calc( (14/18 * (100% - (17 * 10px))) + 10px * 14);
  }
  .tk-flex-row--18 .-ro14 {
    margin-right: calc( (14/18 * (100% - (17 * 10px))) + 10px * 14);
  }
  .tk-flex-row--18 .-w15 {
    width: calc( (15/18 * (100% - (17 * 10px))) + 10px * 14);
  }
  .tk-flex-row--18 .-o15 {
    margin-left: calc( (15/18 * (100% - (17 * 10px))) + 10px * 15);
  }
  .tk-flex-row--18 .-ro15 {
    margin-right: calc( (15/18 * (100% - (17 * 10px))) + 10px * 15);
  }
  .tk-flex-row--18 .-w16 {
    width: calc( (16/18 * (100% - (17 * 10px))) + 10px * 15);
  }
  .tk-flex-row--18 .-o16 {
    margin-left: calc( (16/18 * (100% - (17 * 10px))) + 10px * 16);
  }
  .tk-flex-row--18 .-ro16 {
    margin-right: calc( (16/18 * (100% - (17 * 10px))) + 10px * 16);
  }
  .tk-flex-row--18 .-w17 {
    width: calc( (17/18 * (100% - (17 * 10px))) + 10px * 16);
  }
  .tk-flex-row--18 .-o17 {
    margin-left: calc( (17/18 * (100% - (17 * 10px))) + 10px * 17);
  }
  .tk-flex-row--18 .-ro17 {
    margin-right: calc( (17/18 * (100% - (17 * 10px))) + 10px * 17);
  }
  .tk-flex-row--18 .-w18 {
    width: calc( (18/18 * (100% - (17 * 10px))) + 10px * 17);
  }
  .tk-flex-row--18 .-o18 {
    margin-left: calc( (18/18 * (100% - (17 * 10px))) + 10px * 18);
  }
  .tk-flex-row--18 .-ro18 {
    margin-right: calc( (18/18 * (100% - (17 * 10px))) + 10px * 18);
  }
  .tk-flex-row--18 .-v-center {
    -ms-flex-item-align: center;
        align-self: center;
  }
  .tk-flex-row--18 .-pull-down {
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
  .tk-flex-row--18 .-stretch {
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
  .tk-flex-row--18.-left-align {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .tk-flex-row--18.-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .tk-flex-row--18.-center {
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .tk-flex-row--18 .-text-center {
    text-align: center;
  }
  .tk-flex-row--18 .-text-right {
    text-align: right;
  }
}

.tk-flex-row--18.-margin {
  margin-left: 30px;
  margin-right: 30px;
}

@media only screen and (max-width: 978px) {
  .tk-flex-row--18.-margin {
    margin-left: 20px;
    margin-right: 20px;
  }
}

.tk-flex-row--18.-bleed img {
  width: 100% !important;
}

@media only screen and (max-width: 598px) {
  .tk-flex-row--18.-bleed {
    margin-left: 20px;
    margin-right: 20px;
  }
}

@media only screen and (min-width: 599px) {
  .tk-flex-row--18.-bleed .-w1 {
    width: 5.55556%;
  }
  .tk-flex-row--18.-bleed .-w2 {
    width: 11.11111%;
  }
  .tk-flex-row--18.-bleed .-w3 {
    width: 16.66667%;
  }
  .tk-flex-row--18.-bleed .-w4 {
    width: 22.22222%;
  }
  .tk-flex-row--18.-bleed .-w5 {
    width: 27.77778%;
  }
  .tk-flex-row--18.-bleed .-w6 {
    width: 33.33333%;
  }
  .tk-flex-row--18.-bleed .-w7 {
    width: 38.88889%;
  }
  .tk-flex-row--18.-bleed .-w8 {
    width: 44.44444%;
  }
  .tk-flex-row--18.-bleed .-w9 {
    width: 50%;
  }
  .tk-flex-row--18.-bleed .-w10 {
    width: 55.55556%;
  }
  .tk-flex-row--18.-bleed .-w11 {
    width: 61.11111%;
  }
  .tk-flex-row--18.-bleed .-w12 {
    width: 66.66667%;
  }
  .tk-flex-row--18.-bleed .-w13 {
    width: 72.22222%;
  }
  .tk-flex-row--18.-bleed .-w14 {
    width: 77.77778%;
  }
  .tk-flex-row--18.-bleed .-w15 {
    width: 83.33333%;
  }
  .tk-flex-row--18.-bleed .-w16 {
    width: 88.88889%;
  }
  .tk-flex-row--18.-bleed .-w17 {
    width: 94.44444%;
  }
  .tk-flex-row--18.-bleed .-w18 {
    width: 100%;
  }
}

.tk-flex-row--18.-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.tk-flex-row--18 .video-js {
  width: 100.1%;
}

.tk-footer {
  border-top: 1px solid #000;
  padding: 27px 30px 30px 30px;
}

@media only screen and (max-width: 598px) {
  .tk-footer {
    padding: 27px 30px 30px 30px;
  }
}

.tk-footer .__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-footer .__container ul {
  margin-bottom: 30px;
}

@media only screen and (max-width: 598px) {
  .tk-footer .__container {
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap;
  }
  .tk-footer .__container a {
    padding: 2px 62px 3px 62px;
  }
  .tk-footer .__container .__client-service {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .tk-footer .__container .__contact {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .tk-footer .__container .__social {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .tk-footer .__container .__mailing-list {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .tk-footer .__container .__header.-desktop {
    display: none;
  }
}

@media only screen and (min-width: 599px) {
  .tk-footer .__container h5 {
    margin-bottom: 10px;
  }
  .tk-footer .__container .__header.-mobile {
    display: none;
  }
  .tk-footer .__container .__client-service,
  .tk-footer .__container .__contact,
  .tk-footer .__container .__social {
    padding-right: 25px;
  }
  .tk-footer .__container .__mailing-list {
    margin-right: auto;
  }
}

.tk-footer .__terms {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  margin: 0 0 20px 0;
  margin-top: 20px;
}

@media only screen and (max-width: 598px) {
  .tk-footer .__terms {
    text-transform: uppercase;
  }
  .tk-footer .__terms span {
    display: block;
    text-align: center;
  }
}

@media only screen and (min-width: 599px) {
  .tk-footer .__terms {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.tk-footer .__terms > * {
  padding: 0 5px 0 0;
}

@media only screen and (max-width: 598px) {
  .tk-footer {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .tk-footer .tk-mailing-list-subscribe {
    margin-bottom: 0;
  }
  .tk-footer .tk-mailing-list-subscribe .input-box {
    min-height: none;
  }
  .tk-footer .__container > div {
    border-bottom: 1px solid #000;
    padding-left: 30px;
    padding-right: 30px;
  }
  .tk-footer .__container > div .block-subscribe, .tk-footer .__container > div ul {
    display: none;
  }
  .tk-footer .__container > div.-open .block-subscribe, .tk-footer .__container > div.-open ul {
    display: block;
  }
  .tk-footer .__container > div.-open .__header.-mobile img {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg);
  }
  .tk-footer .__container ul {
    text-align: left;
  }
  .tk-footer .__container ul a {
    padding-left: 20px;
    color: #000;
  }
  .tk-footer .__header.-mobile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 15px 0;
    cursor: pointer;
    height: 4em;
  }
  .tk-footer .__header.-mobile img {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    margin-right: 10px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
}

.tk-front-page--11-20 {
  margin: 30px;
  margin-bottom: 200px;
}

.tk-front-page--11-20 .__header-link {
  display: block;
  color: #000;
  text-align: center;
  padding-top: 24px;
  padding-bottom: 54px;
}

@media only screen and (max-width: 598px) {
  .tk-front-page--11-20 .__header-link {
    padding-top: 9px;
    padding-bottom: 39px;
  }
}

.tk-front-page--11-20 .__header-link:hover {
  text-decoration: none;
}

.tk-front-page--11-20 .__header-link:hover > * {
  text-decoration: underline;
}

.tk-front-page--11-20 .__header-link .__helvetica {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
  font-size: 24px;
  line-height: 30px;
  text-transform: uppercase;
  padding-right: 3px;
}

.tk-front-page--11-20 .__header-link .__times {
  font-family: Times, serif;
  font-size: 24px;
  line-height: 30px;
}

.tk-front-page--11-20 > .__row .__title a {
  display: block;
}

@media only screen and (max-width: 598px) {
  .tk-front-page--11-20 > .__row .__title {
    margin-top: 5px;
  }
  .tk-front-page--11-20 > .__row.-titles {
    display: none;
  }
  .tk-front-page--11-20 > .__row .__feature {
    margin-bottom: 32px;
  }
}

@media only screen and (min-width: 599px) {
  .tk-front-page--11-20 > .__row.__row1 > *:first-child {
    margin-right: 15px;
  }
  .tk-front-page--11-20 > .__row.__row1 > *:last-child {
    margin-left: 15px;
  }
  .tk-front-page--11-20 > .__row.__row1 .__title {
    margin-top: 15px;
  }
  .tk-front-page--11-20 > .__row.-features {
    margin-bottom: 35px;
  }
  .tk-front-page--11-20 > .__row.__row1, .tk-front-page--11-20 > .__row.-titles {
    margin-bottom: 95px;
  }
}

.tk-front-page--12-05 {
  margin: 30px;
  margin-bottom: 200px;
}

.tk-front-page--12-05 .__header-link {
  display: block;
  color: #000;
  text-align: center;
  padding-top: 24px;
  padding-bottom: 54px;
}

@media only screen and (max-width: 598px) {
  .tk-front-page--12-05 .__header-link {
    padding-top: 9px;
    padding-bottom: 39px;
  }
}

.tk-front-page--12-05 .__header-link:hover {
  text-decoration: none;
}

.tk-front-page--12-05 .__header-link:hover > * {
  text-decoration: underline;
}

.tk-front-page--12-05 .__header-link .__helvetica {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
  font-size: 24px;
  line-height: 30px;
  text-transform: uppercase;
  padding-right: 3px;
}

.tk-front-page--12-05 .__header-link .__times {
  font-family: Times, serif;
  font-size: 24px;
  line-height: 30px;
}

.tk-front-page--12-05 > .__row .__title a {
  display: block;
}

@media only screen and (max-width: 598px) {
  .tk-front-page--12-05 > .__row .__title {
    margin-top: 5px;
  }
  .tk-front-page--12-05 > .__row .__feature {
    margin-bottom: 32px;
  }
}

@media only screen and (min-width: 599px) {
  .tk-front-page--12-05 > .__row {
    margin-bottom: 95px;
  }
  .tk-front-page--12-05 > .__row.__row1 > *:first-child {
    margin-right: 15px;
  }
  .tk-front-page--12-05 > .__row.__row1 > *:last-child {
    margin-left: 15px;
  }
  .tk-front-page--12-05 > .__row.__row1 .__title {
    margin-top: 15px;
  }
  .tk-front-page--12-05 > .__row.-features .__feature:hover, .tk-front-page--12-05 > .__row.-features .__feature:hover * {
    border: none;
    outline: none;
  }
  .tk-front-page--12-05 > .__row.-features .__feature .__image {
    height: 32vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .tk-front-page--12-05 > .__row.-features .__feature .__title {
    padding: 8px 0;
    text-align: center;
  }
}

.tk-front-page--2018-02-13 {
  margin: 30px 0;
}

@media only screen and (max-width: 598px) {
  .tk-front-page--2018-02-13 {
    margin-top: 0;
  }
}

@media only screen and (min-width: 599px) {
  .tk-front-page--2018-02-13 {
    margin-left: 30px;
    margin-right: 30px;
  }
}

.tk-front-page--2018-02-13 .__cell {
  margin-bottom: 10px;
}

.tk-front-page--2018-02-13 .__cell * {
  width: 100%;
}

.tk-front-page--2018-02-13 .tku-todo {
  width: 100%;
  min-height: 192px;
  background: #eee;
  color: #000;
}

.tk-front-page--9-28 {
  margin: 30px;
  margin-bottom: 200px;
}

@media only screen and (max-width: 598px) {
  .tk-front-page--9-28 > .__row.-titles {
    display: none;
  }
  .tk-front-page--9-28 > .__row .__feature {
    margin-bottom: 32px;
  }
}

@media only screen and (min-width: 599px) {
  .tk-front-page--9-28 > .__row.__row1 > *:first-child {
    margin-right: 15px;
  }
  .tk-front-page--9-28 > .__row.__row1 > *:last-child {
    margin-left: 15px;
  }
  .tk-front-page--9-28 > .__row.__row1 .__title {
    margin-top: 15px;
  }
  .tk-front-page--9-28 > .__row.-features {
    margin-bottom: 35px;
  }
  .tk-front-page--9-28 > .__row.__row1, .tk-front-page--9-28 > .__row.-titles {
    margin-bottom: 95px;
  }
}

/* consolidated help page. totokaelo.com/help */
.tk-help .tk-h1, .tk-help .tk-h2 {
  margin: 20px 0;
}

.tk-help .__nav a {
  display: block;
}

.tk-help .__current-section {
  display: none;
}

@media only screen and (min-width: 599px) {
  .tk-help {
    font-family: akzidenz-grotesk, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #000;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 1px;
  }
  .tk-help .__nav {
    position: absolute;
    left: 30px;
    -webkit-transition: top 2s ease;
    transition: top 2s ease;
  }
  .tk-help .__nav.headroom--not-top {
    position: fixed;
    top: 30px;
    left: 30px;
  }
  .tk-help .__body {
    margin-left: 180px;
    max-width: 800px;
    min-height: 256px;
  }
}

@media only screen and (max-width: 598px) {
  .tk-help {
    font-family: akzidenz-grotesk, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #666666;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 0.8px;
  }
  .tk-help .__nav-container {
    height: 80px;
  }
  .tk-help .__nav-container .__nav {
    position: fixed;
    top: 125px;
    left: 0;
    width: 100%;
    padding: 30px 30px 0 30px;
  }
  .tk-help .__nav-container .__nav::before {
    z-index: -1;
    display: block;
    position: absolute;
    content: ' ';
    width: 100%;
    height: 80px;
    background-size: cover;
    opacity: 0.9;
    -webkit-filter: blur(5px);
            filter: blur(5px);
    background: white;
    top: -10px;
    left: 0;
    height: 100px;
  }
  .tk-help .__nav-container .__nav .__current-section {
    z-index: 2;
    border: 1px solid black;
    background: white;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 10px;
    height: 3em;
    cursor: pointer;
  }
  .tk-help .__nav-container .__nav .__current-section img {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    margin-right: 10px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
  .tk-help .__nav-container .__nav .__list {
    z-index: 2;
    background: white;
    border-right: 1px solid black;
    border-bottom: 1px solid black;
    border-left: 1px solid black;
    display: none;
  }
  .tk-help .__nav-container .__nav .__list a {
    padding: 10px;
  }
  .tk-help .__nav-container .__nav .__list a.-current {
    color: #666666;
  }
  .tk-help .__nav-container .__nav.-open .__list {
    display: block;
  }
}

.tk-help .tk-section.-shipping h4 {
  margin: 20px 0 10px 0;
}

@media only screen and (min-width: 599px) {
  .tk-help .tk-section.-shipping table .__name {
    width: 150px;
  }
  .tk-help .tk-section.-shipping table .__delivered {
    width: 175px;
  }
  .tk-help .tk-section.-shipping table .__cost {
    width: 100%;
  }
}

.tk-help .tk-section.-size-guide .__definitionTitle, .tk-help .tk-section.-size-guide dt {
  margin: 20px 0 10px 0;
}

.tk-help .tk-section.-payment ul {
  list-style-type: disc;
  padding: 20px;
}

@media only screen and (max-width: 598px) {
  .tk-help .tk-section.-m-anchor {
    padding-top: 155px;
    margin-top: -155px;
  }
}

.tk-holiday-shipping {
  max-width: 550px;
  margin-bottom: 40px;
}

.tk-holiday-shipping h6 {
  margin-top: 20px;
}

.tk-holiday-shipping .__grey {
  background-color: #eee;
  padding: 10px;
  margin-bottom: 20px;
  margin-left: -10px;
}

.tk-hover-cell img {
  width: 100%;
}

@media only screen and (min-width: 599px) {
  .tk-hover-cell .__title {
    padding-top: 5px;
  }
}

.tk-hover-cell:hover .__image {
  outline: 1px solid #0645AD;
  outline-offset: -1px;
}

.tk-hover-cell:hover, .tk-hover-cell:hover p, .tk-hover-cell:hover .__title {
  text-decoration: underline;
  color: #0645AD;
}

.tk-hover-cell:hover .-no-underline, .tk-hover-cell:hover p .-no-underline, .tk-hover-cell:hover .__title .-no-underline {
  text-decoration: none;
}

@media only screen and (min-width: 599px) {
  .tk-hover-cell.-desktop-hide-title .__title {
    display: none !important;
  }
}

@media only screen and (min-width: 599px) {
  .tk-hover-cell.-overlay-title {
    position: relative;
  }
  .tk-hover-cell.-overlay-title .__title {
    position: absolute;
    bottom: 6px;
    left: 10px;
    color: #111;
    visibility: hidden;
  }
  .tk-hover-cell.-overlay-title .__title .__link {
    display: block;
  }
  .tk-hover-cell.-overlay-title:hover .__title, .tk-hover-cell.-overlay-title.-always-visible .__title {
    visibility: visible;
  }
  .tk-hover-cell.-overlay-title:hover .__image, .tk-hover-cell.-overlay-title.-always-visible .__image {
    outline: none;
  }
}

.tk-hover-cell.-mobile-overlay-title {
  position: relative;
}

.tk-hover-cell.-mobile-overlay-title .__title {
  position: absolute;
  bottom: 6px;
  left: 10px;
  color: #111;
  visibility: hidden;
}

.tk-hover-cell.-mobile-overlay-title .__title .__link {
  display: block;
}

.tk-hover-cell.-mobile-overlay-title:hover .__title {
  visibility: visible;
}

.tk-hover-cell.-mobile-overlay-title:hover .__image {
  outline: none;
}

.tk-hover-cell.-mobile-overlay-title.-whiteText, .tk-hover-cell.-mobile-overlay-title.-whiteText p, .tk-hover-cell.-mobile-overlay-title.-whiteText .__title, .tk-hover-cell.-mobile-overlay-title.-whiteText .__title > *, .tk-hover-cell.-mobile-overlay-title.-white-text, .tk-hover-cell.-mobile-overlay-title.-white-text p, .tk-hover-cell.-mobile-overlay-title.-white-text .__title, .tk-hover-cell.-mobile-overlay-title.-white-text .__title > * {
  color: white;
}

@media only screen and (max-width: 598px) {
  .tk-hover-cell.-mobile-hide {
    display: none;
  }
}

.tk-hover-cell.-noTextHover, .tk-hover-cell.-noTextHover p, .tk-hover-cell.-noTextHover .__title, .tk-hover-cell.-no-text-hover, .tk-hover-cell.-no-text-hover p, .tk-hover-cell.-no-text-hover .__title {
  text-decoration: none;
}

@media only screen and (min-width: 599px) {
  .tk-hover-cell.-whiteText, .tk-hover-cell.-whiteText p, .tk-hover-cell.-whiteText .__title, .tk-hover-cell.-whiteText .__title *, .tk-hover-cell.-whiteText:hover, .tk-hover-cell.-whiteText:hover p, .tk-hover-cell.-whiteText:hover .__title, .tk-hover-cell.-whiteText:hover .__title *, .tk-hover-cell.-white-text, .tk-hover-cell.-white-text p, .tk-hover-cell.-white-text .__title, .tk-hover-cell.-white-text .__title *, .tk-hover-cell.-white-text:hover, .tk-hover-cell.-white-text:hover p, .tk-hover-cell.-white-text:hover .__title, .tk-hover-cell.-white-text:hover .__title * {
    color: white !important;
  }
}

.tk-image-zoom {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  padding: 16px;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.tk-image-zoom .__mask {
  background: white;
  -webkit-filter: opacity(95%) blur(5px);
          filter: opacity(95%) blur(5px);
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
}

.tk-image-zoom .container {
  z-index: 3;
  cursor: pointer;
  position: relative;
}

.tk-image-zoom .container .close {
  position: absolute;
  top: 0;
  right: 0;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.tk-image-zoom .container .next,
.tk-image-zoom .container .previous {
  position: absolute;
  top: 40vh;
}

.tk-image-zoom .container .next {
  right: 0;
}

.tk-image-zoom .container .previous {
  left: 0;
}

@media only screen and (max-width: 598px) {
  .tk-image-zoom .container .previous {
    right: 8px;
  }
}

.tk-image-zoom .container img {
  display: block;
  max-width: 80%;
  margin: 0 auto;
}

@media only screen and (max-width: 598px) {
  .tk-image-zoom .container img {
    max-width: 90%;
  }
}

.tk-list {
  margin: 20px 0 20px 40px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
}

.tk-list.-disc {
  list-style-type: disc;
}

.tk-list.-numeric {
  list-style-type: decimal;
}

.tk-list.-alpha {
  list-style-type: lower-alpha;
}

.tk-list > li {
  margin: 10px 0;
}

.tk-mailing-list-subscribe {
  width: 280px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 598px) {
  .tk-mailing-list-subscribe {
    width: 100%;
  }
}

.tk-mailing-list-subscribe .input-box {
  min-height: 54px;
}

.tk-mailing-list-subscribe .input-text {
  width: 100%;
}

.tk-mailing-list-subscribe .__choices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tk-mailing-list-subscribe .__choices > p {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.tk-mailing-list-subscribe .__choices label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  padding: 5px;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  text-align: left;
}

.tk-mailing-list-subscribe .__choices label:hover {
  color: #0645AD;
  text-decoration: underline;
}

.tk-mailing-list-subscribe .__choices label:hover {
  text-decoration: underline;
  cursor: pointer;
}

.tk-mailing-list-subscribe .__choices label.-valid {
  color: #DC2022;
}

.tk-mailing-list-subscribe .__choices .validation-advice ~ label {
  color: #DC2022;
}

.tk-mailing-list-subscribe .__choices .validation-advice {
  display: none;
}

@media only screen and (max-width: 598px) {
  .tk-mailing-list-subscribe .__choices {
    margin-left: 30px;
    margin-right: 30px;
  }
  .tk-mailing-list-subscribe .__choices > p {
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .tk-mailing-list-subscribe .__choices label {
    -webkit-box-flex: unset;
        -ms-flex-positive: unset;
            flex-grow: unset;
    padding-left: 80px;
    margin-left: -72px;
  }
}

.tk-mailing-list-subscribe .__error {
  color: #DC2022;
  visibility: hidden;
  height: 0;
  opacity: 0.0;
  -webkit-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
}

.tk-mailing-list-subscribe .__error.-visible {
  visibility: visible;
  height: unset;
  opacity: 1.0;
}

@media only screen and (max-width: 598px) {
  .tk-nav-and-products > .__nav {
    display: none;
  }
}

@media only screen and (min-width: 599px) {
  .tk-nav-and-products {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .tk-nav-and-products > .__nav {
    -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
  }
  .tk-nav-and-products > .__products {
    -ms-flex-preferred-size: 80%;
        flex-basis: 80%;
  }
}

*[v-cloak] {
  opacity: 0;
}

.tk-nav-catalog {
  -webkit-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out;
}

.tk-nav-catalog a {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
}

.tk-nav-catalog a:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-nav-catalog a.-current {
  color: #0645AD;
  text-decoration: underline;
}

.tk-nav-catalog h6 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 15px;
}

.tk-nav-catalog > .__list {
  margin: 15px 0;
}

.tk-nav-catalog > .__list > li > a {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
}

.tk-nav-catalog > .__list > li > a:hover {
  color: #0645AD;
  text-decoration: underline;
}

.tk-nav-catalog > .__list > li > a.-sale {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
  margin-top: 0;
  text-transform: none;
}

.tk-nav-catalog > .__list > li > a.-sale:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-nav-catalog > .__list > li > a.-sale.-current {
  color: #0645AD;
  text-decoration: underline;
}

.tk-nav-catalog > .__list > li > .__list {
  display: none;
  padding-left: 15px;
  padding-bottom: 15px;
}

.tk-nav-catalog > .__list > li.-expanded > .__list {
  display: block;
}

.tk-nav-desktop {
  background-color: white;
  position: relative;
  z-index: 1;
  border-bottom: 1px solid #000;
  font-size: 12px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.tk-nav-desktop > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

.tk-nav-desktop > ul > li.__l.--last {
  margin-right: auto;
}

.tk-nav-desktop > ul > li.__r.--first {
  margin-left: auto;
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop > ul > li.--mobile-hide {
    display: none;
  }
}

.tk-nav-desktop .__link {
  display: block;
  padding: 15px;
}

.tk-nav-desktop .__link.--first {
  padding-left: 30px;
}

.tk-nav-desktop .__logo a {
  display: block;
  width: 150px;
  padding-top: 18px;
  padding-right: 15px;
  padding-left: 30px;
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop .__account {
    background: transparent url("../images/nav/account.svg") no-repeat center left;
    background-size: 30px;
  }
  .tk-nav-desktop .__account .__rText {
    display: none;
  }
}

.tk-nav-desktop .__search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-nav-desktop .__search .__link:focus {
  outline: none;
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop .__search .__link {
    background: transparent url("../images/nav/search.svg") no-repeat center left;
    background-size: 30px;
  }
  .tk-nav-desktop .__search .__link .__rText {
    display: none;
  }
}

.tk-nav-desktop .__search .__search-form .__input {
  outline: none;
}

.tk-nav-desktop .__search .__search-form input#search {
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
  border-bottom: 1px solid #000;
  height: inherit;
  padding: 16px 0px 4px 0px;
  width: 0;
  -webkit-transition: width 0.4s ease;
  transition: width 0.4s ease;
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop .__search .__search-form input#search {
    position: absolute;
    left: 0;
    top: 48px;
    width: 100%;
    height: 0;
    z-index: 2;
    visibility: hidden;
    padding: 20px 30px !important;
  }
  .tk-nav-desktop .__search .__search-form input#search:placeholder, .tk-nav-desktop .__search .__search-form input#search::-webkit-input-placeholder {
    color: #000;
  }
  .tk-nav-desktop .__search .__search-form input#search:placeholder, .tk-nav-desktop .__search .__search-form input#search:-ms-input-placeholder {
    color: #000;
  }
  .tk-nav-desktop .__search .__search-form input#search:placeholder, .tk-nav-desktop .__search .__search-form input#search::placeholder {
    color: #000;
  }
  .tk-nav-desktop .__search .__search-form input#search::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #000;
  }
  .tk-nav-desktop .__search .__search-form input#search::-moz-placeholder {
    /* Firefox 19+ */
    color: #000;
  }
  .tk-nav-desktop .__search .__search-form input#search:-ms-input-placeholder {
    /* IE 10+ */
    color: #000;
  }
  .tk-nav-desktop .__search .__search-form input#search:-moz-placeholder {
    /* Firefox 18- */
    color: #000;
  }
}

.tk-nav-desktop .__search .__search-form button, .tk-nav-desktop .__search .__search-form input[type=submit] {
  display: none;
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop .__search.--active .__link {
    background: transparent url("../images/nav/search_inverted.svg") no-repeat center left;
    background-size: 30px;
  }
}

.tk-nav-desktop .__search.--active input#search {
  width: 100%;
  height: 30px;
  visibility: visible;
}

.tk-nav-desktop .__account {
  position: relative;
}

.tk-nav-desktop .__account:hover .__popup-login-container {
  display: block;
}

.tk-nav-desktop .__account .__popup-login-container {
  display: none;
  position: absolute;
  left: -240px;
}

.tk-nav-desktop .__account .__popup-login-container.--visible {
  display: block;
}

.tk-nav-desktop .__account .__popup-login-container.--logged-in {
  left: -30px;
}

.tk-nav-desktop .__account .__popup-login-container .buttons-set {
  margin-left: 0 !important;
}

.tk-nav-desktop .__cart-count .__cart {
  color: #000;
  border: 1px solid #000;
  padding: 3px 7px;
  margin-top: 12px;
  margin-right: 30px;
  margin-left: 15px;
}

.tk-nav-desktop .__cart-count .__cart:hover {
  color: #0645AD;
  border: 1px solid #0645AD;
  text-decoration: none;
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop .__cart-count .__cart {
    color: white;
    background-color: #000;
    border-radius: 50%;
    margin: 9px 0 0 0;
    padding: 6px 0 0 0;
    height: 29px;
    width: 30px;
    text-align: center;
  }
  .tk-nav-desktop .__cart-count .__cart:hover {
    color: white;
    border-color: #000;
  }
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop .__search, .tk-nav-desktop .__account {
    margin-right: 10px;
  }
  .tk-nav-desktop .__cart-count {
    margin-right: 30px;
  }
}

.tk-nav-drawer {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: calc(100vw - 91px);
  max-width: calc(100vw - 91px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: scroll;
  background-color: white;
  border-right: 1px solid #000;
  z-index: 10;
}

.tk-nav-drawer.-closed {
  display: none;
}

.tk-nav-drawer.-open {
  display: block;
}

.tk-nav-drawer .__search .__label {
  padding-left: 30px;
  padding-right: 20px;
  padding-top: 24px;
  padding-bottom: 19px;
  float: left;
}

.tk-nav-drawer .__search .tk-nav-search {
  padding-top: 17px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
}

.tk-nav-drawer .__search .tk-nav-search .__input {
  width: calc(100% - 100px);
}

.tk-nav-drawer .__search .tk-nav-search .__input:focus {
  outline: none;
}

.tk-nav-drawer .__search .tk-nav-search .__submit {
  display: none;
}

.tk-nav-drawer > .__categories li .__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.tk-nav-drawer > .__categories li .__category .__link {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
  padding: 20px 15px 18px 30px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-right: 20px;
}

.tk-nav-drawer > .__categories li .__category .__toggle {
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background: url("../images/nav/caret.svg") center center/10px 10px no-repeat;
  padding: 30px;
  padding-left: 60px;
  height: 8px;
  width: 8px;
  text-decoration: none;
}

.tk-nav-drawer > .__categories li .__category .__toggle:hover {
  text-decoration: none;
  cursor: pointer;
}

.tk-nav-drawer > .__categories li .__list {
  border-top: 1px solid #000;
  display: none;
}

.tk-nav-drawer > .__categories li.-expanded > .__category .__toggle {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.tk-nav-drawer > .__categories li.-expanded > .__list {
  display: block;
}

.tk-nav-drawer > .__categories > .__list > li {
  border-bottom: 1px solid #000;
}

.tk-nav-drawer > .__categories > .__list > li > .__category .__link {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.tk-nav-drawer > .__categories > .__list > li > .__list > li {
  border-bottom: 1px solid #000;
}

.tk-nav-drawer > .__categories > .__list > li > .__list > li:last-child {
  border-bottom: none;
}

.tk-nav-drawer > .__categories > .__list > li > .__list > li > .__category > .__link {
  padding-left: 45px;
}

.tk-nav-drawer > .__categories > .__list > li > .__list > li > .__list {
  padding-top: 16px;
  padding-bottom: 16px;
}

.tk-nav-drawer > .__categories > .__list > li > .__list > li > .__list > li > .__category > .__link {
  padding: 9px 15px 10px 60px;
}

.tk-nav-drawer > .__policy-links {
  margin-top: auto;
  margin-bottom: 30px;
}

.tk-nav-drawer > .__policy-links .__link {
  display: block;
  padding-left: 30px;
  padding-top: 7.5px;
  padding-bottom: 7.5px;
}

.tk-nav-header .__mobile {
  display: none;
}

.tk-nav-header .__tablet {
  display: block;
}

@media only screen and (max-width: 978px) {
  .tk-nav-header .__mobile {
    display: block;
  }
  .tk-nav-header .__tablet {
    display: none;
  }
}

.tk-nav-mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  border-bottom: 1px solid #000;
}

.tk-nav-mobile *:focus {
  outline: 0;
}

.tk-nav-mobile > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tk-nav-mobile > span.__rhs {
  text-align: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.tk-nav-mobile > span a {
  color: #000;
  padding-top: 28px;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 25px;
}

.tk-nav-mobile > span a:last-child {
  padding-right: 30px;
}

.tk-nav-mobile > span a.-bars {
  padding-top: 32px;
}

.tk-nav-mobile > .__logo {
  padding-top: 26px;
  padding-left: 30px;
  padding-bottom: 25px;
  margin-right: auto;
}

.tk-nav-mobile > .__logo > a {
  padding-top: 28px;
  padding-bottom: 25px;
}

.tk-nav-mobile > .__logo > a > img {
  width: 132px;
  margin: 0 auto;
}

.tk-nav-mobile .__nav-drawer-padder,
.tk-nav-mobile .__drawer-x {
  display: none;
}

.tk-nav-mobile .__drawer-x {
  text-align: center;
}

.tk-nav-mobile .__drawer-x a {
  display: block;
  padding: 24px 30px 19px 30px;
}

.tk-nav-mobile .__drawer-x a:hover {
  text-decoration: none;
}

.tk-nav-mobile.-nav-drawer-open {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.tk-nav-mobile.-nav-drawer-open .__lhs {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
}

.tk-nav-mobile.-nav-drawer-open .__logo,
.tk-nav-mobile.-nav-drawer-open .__rhs {
  display: none;
}

.tk-nav-mobile.-nav-drawer-open .__drawer-x {
  display: block;
}

.tk-nav-mobile.-nav-drawer-open .__nav-drawer-padder {
  display: block;
  width: 400px;
  max-width: 80vw;
  min-height: 74px;
}

@media only screen and (max-width: 598px) {
  .tk-nav-mobile.-nav-drawer-open .__logo {
    display: none;
  }
}

.tk-nav-search .__input {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  border: none;
}

.tk-option-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-option-list dt {
  display: none;
}

.tk-option-list dd.__color {
  margin-right: 7.5px;
}

.tk-option-list dd.__color::after {
  content: '/';
}

.tk-popup-login {
  background-color: white;
  border: 1px solid #000;
  padding: 20px 30px 10px 30px;
  width: 333px;
}

.tk-popup-login label {
  font-weight: normal;
}

.tk-popup-login .block-title {
  display: none;
}

.tk-popup-login .__actions-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 15px;
}

.tk-popup-login .__actions-container .links a {
  display: block;
}

.tk-popup-login .__actions-container .links a:first-child {
  margin-bottom: 10px;
}

.tk-popup-login #mini-login, .tk-popup-login #mini-password {
  margin-bottom: 20px;
}

.tk-popup-login .block .actions {
  margin-top: 4px;
  width: 100px;
}

.tk-popup-login.--logged-in {
  width: 160px;
  text-align: center;
  padding-top: 15px;
  padding-bottom: 5px;
}

.tk-popup-login.--logged-in a {
  padding-bottom: 10px;
  display: block;
}

.tk-product-images .__list {
  display: block;
}

@media only screen and (max-width: 978px) {
  .tk-product-images .__list img {
    max-height: 90vh;
    margin: 0 auto;
  }
}

@media only screen and (min-width: 979px) {
  .tk-product-images .__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .tk-product-images .__list > li {
    -ms-flex-preferred-size: calc(50% - 5px);
        flex-basis: calc(50% - 5px);
    margin-bottom: 10px;
  }
  .tk-product-images .__list > li > img {
    width: 100%;
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
  }
}

.tk-product-images .__slick {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 15px;
}

.tk-product-images .__slick .__prev,
.tk-product-images .__slick .__dots ul button,
.tk-product-images .__slick .__next {
  cursor: pointer;
  padding: 15px;
  margin: 0 15px;
}

.tk-product-images .__slick .__dots > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-product-images .__slick .__dots > ul li button {
  background: transparent;
  border: none;
  color: #666666;
  outline: none;
}

.tk-product-images .__slick .__dots > ul li .slick-active {
  color: #000;
}

.tk-product-images .__slick .__dots .slick-dots {
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.tk-product-images .__slick .__dots .slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 8px 5px;
  padding: 0;
  cursor: pointer;
}

.tk-product-images .__slick .__dots .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;
}

.tk-product-images .__slick .__dots .slick-dots li button:hover, .tk-product-images .__slick .__dots .slick-dots li button:focus {
  outline: none;
}

.tk-product-images .__slick .__dots .slick-dots li button:hover:before, .tk-product-images .__slick .__dots .slick-dots li button:focus:before {
  opacity: 1;
}

.tk-product-images .__slick .__dots .slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\2219";
  font-size: 46px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.tk-product-images .__slick .__dots .slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

@media only screen and (min-width: 979px) {
  .tk-product-images .__slick {
    display: none;
  }
}

.tk-product-link {
  position: relative;
}

.tk-product-link span {
  color: #000;
}

.tk-product-link .__image {
  border: 1px solid transparent;
  margin-bottom: 10px;
}

.tk-product-link .__image.-rollover {
  display: none;
}

.tk-product-link:hover, .tk-product-link:hover * {
  color: #0645AD;
  text-decoration: none;
}

.tk-product-link:hover .__image.-rollover {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
}

.tk-product-price .__original-price {
  text-decoration: line-through;
}

.tk-product-price .__current-price.-sale {
  color: #DC2022 !important;
}

.tk-product-related-products {
  margin: 60px 0;
}

.tk-product-related-products .__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 15px;
}

.tk-product-related-products .__nav a {
  padding: 10px;
  margin: 0 5px;
  color: #000;
}

.tk-product-related-products .__nav a.-current {
  text-decoration: underline;
}

.tk-product-related-products .__lists .__list {
  display: none;
}

.tk-product-related-products .__lists .__list.-current {
  display: block;
}

.tk-product-related-products .__lists .__list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.tk-product-related-products .__lists .__list ul li {
  margin-right: 10px;
  width: calc(16.66% - 5px);
}

.tk-product-related-products .__lists .__list ul li:last-child {
  margin-right: 0;
}

.tk-product-related-products .__lists .__list ul li a {
  display: block;
  text-align: center;
  color: #000;
}

@media only screen and (max-width: 598px) {
  .tk-product-related-products .__lists .__list ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
  .tk-product-related-products .__lists .__list ul li {
    width: calc(50% - 5px);
  }
  .tk-product-related-products .__lists .__list ul li:nth-child(2n) {
    margin-right: 0;
  }
}

.tk-product-view > .__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-product-view .__images {
  -ms-flex-preferred-size: 66%;
      flex-basis: 66%;
}

@media only screen and (min-width: 599px) {
  .tk-product-view .__images {
    max-width: 66%;
  }
}

.tk-product-view .__details {
  -ms-flex-preferred-size: 33%;
      flex-basis: 33%;
}

@media only screen and (max-width: 598px) {
  .tk-product-view .__details {
    margin-top: 15px;
  }
}

@media only screen and (min-width: 599px) {
  .tk-product-view .__details {
    margin-top: 100px;
    max-width: 33%;
    padding-left: 30px;
  }
}

.tk-product-view .__details .__vendor-sku {
  display: none;
}

.tk-product-view .__details .__product-name,
.tk-product-view .__details .__accordion {
  max-width: 400px;
  margin: 0 auto;
  text-align: center;
}

.tk-product-view .__in-store-only {
  text-align: center;
  margin: 30px 0;
}

.tk-product-view .__sold-out {
  text-align: center;
  color: #000;
  margin: 30px 0;
}

.tk-product-view .product-options,
.tk-product-view .product-options dd,
.tk-product-view .product-options-bottom {
  max-width: 400px;
  margin: 0 auto;
  padding: 0;
  padding-bottom: 10px;
  background-color: transparent;
  border: none;
}

.tk-product-view .product-options dd.last {
  padding: 0;
}

.tk-product-view .product-add-form {
  margin: 30px 0;
}

.tk-product-view .product-options dt,
.tk-product-view .product-options label.required,
.tk-product-view .product-options p.required {
  display: none;
}

.tk-product-view .product-options select,
.tk-product-view .product-options-bottom button {
  outline: none;
  font-size: 12px;
  display: block;
  width: 100%;
  border: 1px solid #0645AD;
  border-radius: 0;
  color: #0645AD;
  background-color: white;
}

.tk-product-view .product-options select {
  color: #000;
  border: 1px solid #000;
  border-radius: 0;
  background-color: white;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 10px 10px 10px 30px;
  text-transform: uppercase;
}

.tk-product-view .product-options select.-invisible {
  margin-top: -50px;
  visibility: hidden;
}

@media only screen and (max-width: 598px) {
  .tk-product-view > .__container {
    display: block;
  }
}

.tk-product-view .giftcard-form label.required {
  display: block;
}

.tk-product-view .giftcard-form label.required em {
  display: inline-block;
}

.tk-product-view .giftcard-form p.required {
  display: inline-block;
}

.tk-product-view .giftcard-form .input-text {
  width: 100%;
}

.tk-product-view .giftcard-form select {
  display: inline-block;
}

.tk-product-view .giftcard-form .availability {
  display: none;
}

.tk-size-guide {
  max-width: 960px;
}

.tk-size-guide .__border {
  padding: 0;
  margin: 10px 0;
  border-bottom: 1px solid black;
}

.tk-size-guide .__header {
  margin: 0;
  padding: 10px;
}

.tk-size-guide .__tables .__table-container {
  overflow-x: auto;
  margin-bottom: 60px;
}

.tk-size-guide .__tables table th, .tk-size-guide .__tables table td {
  text-align: center;
  max-width: 110px;
}

.tk-size-guide .__definitionTitle, .tk-size-guide dt {
  margin-top: 20px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
}

.tk-size-guide .__definitionGuide, .tk-size-guide dd {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
}

.tk-size-guide .__definitions {
  margin: 20px 0;
}

@media only screen and (min-width: 599px) {
  .tk-social-login-container, .inchoo-socialconnect-login {
    max-width: 365px;
  }
}

.tk-social-login-container .inchoo-socialconnect-login-lower, .inchoo-socialconnect-login .inchoo-socialconnect-login-lower {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.tk-social-login-container a, .inchoo-socialconnect-login a {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.tk-social-login-container img, .inchoo-socialconnect-login img {
  padding-right: 10px;
}

.tk-social-login.-google a {
  color: #DC2022;
}

.tk-social-login.-facebook a {
  color: #0645AD;
}

.tk-social-prelude {
  padding-bottom: 10px;
  margin: 10px 0;
}

.tk-social-prelude .__line {
  border-bottom: 1px solid #9B9B9B;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tk-social-prelude .__copy {
  background-color: white;
  color: #9B9B9B;
  margin: 0 auto -18px auto;
  text-align: center;
  padding: 10px 20px;
  letter-spacing: 1px;
}

.tk-store-info {
  max-width: 960px;
  margin: 0 auto;
}

.tk-store-info > h1 {
  margin: 50px 0;
}

.tk-store-info .__store {
  margin: 0 0 80px 0;
}

.tk-store-info .__store .__images .__image, .tk-store-info .__store .__images .__map {
  margin: 20px 0;
}

.tk-store-info .__store .__images .__map > iframe {
  width: calc(100vw - 75px);
  height: calc(1.33 * (100vw - 75px));
  filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");
  /* Firefox 10+ */
  filter: gray;
  /* IE6-9 */
  -webkit-filter: grayscale(99%);
  /* Chrome 19+ & Safari 6+ */
  -webkit-backface-visibility: hidden;
  /* Fix for transition flickering */
}

.tk-store-info .__store .__info {
  margin: 0;
}

.tk-store-info .__store .__info .__title {
  margin: 0 0 20px 0;
}

.tk-store-info .__store .__info .__location,
.tk-store-info .__store .__info .__hours {
  margin: 0 0 20px 16%;
}

.tk-store-info .__store .__info .__description {
  margin: 0 0 20px 0;
}

@media only screen and (min-width: 599px) {
  .tk-store-info .__store .__images {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .tk-store-info .__store .__images > * {
    width: calc(50% - 5px);
  }
  .tk-store-info .__store .__images .__img {
    margin: 20px 0;
  }
  .tk-store-info .__store .__images .__map > iframe {
    width: calc(50vw - 70px);
    height: calc(1.33 * (50vw - 70px) + 28px);
    max-width: 475px;
    max-height: 622px;
  }
  .tk-store-info .__store .__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .tk-store-info .__store .__info .__title {
    width: calc(20% - 5px);
  }
  .tk-store-info .__store .__info .__details {
    width: calc(30% - 5px);
  }
  .tk-store-info .__store .__info .__details .__location,
  .tk-store-info .__store .__info .__details .__hours {
    margin: 0 0 20px 0;
  }
  .tk-store-info .__store .__info .__description {
    width: calc(50% - 5px);
  }
}

.tk-table {
  height: auto;
  text-align: left;
  max-width: 100%;
  table-layout: fixed;
}

.tk-table .master {
  font-weight: normal;
}

.tk-table th, .tk-table td {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  color: #000;
  vertical-align: top;
  padding: 10px;
}

@media only screen and (min-width: 599px) {
  .tk-table th, .tk-table td {
    width: 150px;
  }
}

.tk-table.-tiger tr:nth-child(odd) {
  background-color: #EFEFEF;
}

.tk-table.-wide {
  width: 100%;
}

.tk-top-bar {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 15px 0;
  text-align: center;
  text-transform: uppercase;
  color: #0645AD !important;
  background-color: white;
  border-top: 1px solid #0645AD;
  border-bottom: 1px solid #0645AD;
}

.tk-top-bar a {
  color: #0645AD;
  text-decoration: underline;
}

.tk-ugly-header {
  text-align: center;
}

.tk-ugly-header .__h1 {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
  font-size: 100px;
  line-height: 118px;
  text-transform: uppercase;
}

.tk-ugly-header .__p, .tk-ugly-header .__link {
  font-family: Times, serif;
  font-size: 18px;
  line-height: 21px;
  color: #000;
}

.tk-ugly-header .__p {
  margin-bottom: 21px;
}

.tk-ugly-header .__cta-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 45px;
}

.tk-ugly-header .__cta-row > .__link {
  padding: 0 10px;
}

.tk-vendor-terms .__section {
  margin: 40px 0 40px 40px;
}

.tk-vendor-terms .__address {
  margin: 20px 0 20px 20px;
}

/*
 * Styling for our Zendesk chat ~~* experience *~~
 */
.tk-zendesk-chat {
  position: fixed;
  bottom: 0;
  right: 20px;
  width: 250px;
  z-index: 10;
  display: none;
}

.tk-zendesk-chat .__widget {
  display: none;
}

.tk-zendesk-chat .__minimized {
  display: none;
}

.tk-zendesk-chat.-online .__minimized {
  display: block;
}

.tk-zendesk-chat.-online.-open .__widget {
  display: block;
}

.tk-zendesk-chat.-online.-open .__minimized {
  display: none;
}

.tk-zendesk-chat .__widget .__body {
  background: white;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
}

.tk-zendesk-chat .__widget .__agent {
  padding: 10px 20px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
  border-bottom: 1px solid #000;
}

.tk-zendesk-chat .__widget .__chat-log {
  min-height: 100px;
  max-height: 200px;
  overflow-y: scroll;
  padding: 0 10px 0 20px;
}

.tk-zendesk-chat .__widget .__chat-log-message {
  margin: 10px 0;
}

.tk-zendesk-chat .__widget .__chat-log-message .__user {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
}

.tk-zendesk-chat .__widget .__chat-log-message .__message {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
}

.tk-zendesk-chat .__widget .__input-form {
  border-top: 1px solid #000;
}

.tk-zendesk-chat .__widget .__input-form .__input {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  width: 100%;
  resize: none;
  padding: 10px 20px;
  border: none;
}

.tk-zendesk-chat .__widget .__input-form .__input:focus {
  outline: none !important;
}

.tk-zendesk-chat .__widget .__input-form .__input:focus::before {
  content: '> ';
}

.tk-zendesk-chat .__widget .__input-form .__submit {
  border-left: none;
  border-right: none;
}

.tk-zendesk-chat .__widget .__title-bar,
.tk-zendesk-chat .__minimized {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
  background: white;
  border: 1px solid #000;
  padding: 10px 20px;
  cursor: pointer;
}

.tk-zendesk-chat .__widget .__title-bar .__title,
.tk-zendesk-chat .__minimized .__title {
  padding-left: 5px;
}

body.catalog-category-view .page-title,
body.catalogsearch-result-index .page-title {
  margin: 30px auto;
  text-align: center;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

body.catalog-category-view .category-title,
body.catalogsearch-result-index .category-title {
  display: none;
}

body.catalog-category-view .toolbar,
body.catalogsearch-result-index .toolbar {
  background-color: transparent;
  border-top: none;
  border-bottom: none;
}

body.catalog-category-view .toolbar .sorter,
body.catalogsearch-result-index .toolbar .sorter {
  display: none;
}

body.catalog-category-view .toolbar .pager .amount,
body.catalog-category-view .toolbar .pager .limiter,
body.catalogsearch-result-index .toolbar .pager .amount,
body.catalogsearch-result-index .toolbar .pager .limiter {
  display: none;
}

body.catalog-category-view .toolbar .pager .pages .current, body.catalog-category-view .toolbar .pager .pages a,
body.catalogsearch-result-index .toolbar .pager .pages .current,
body.catalogsearch-result-index .toolbar .pager .pages a {
  font-size: inherit;
  line-height: inherit;
  height: inherit;
  width: inherit;
  padding: 4px 8px 0 8px;
  margin: 0 1px;
  border: none;
}

body.catalog-category-view .toolbar .pager .pages .current,
body.catalogsearch-result-index .toolbar .pager .pages .current {
  border-bottom: 1px solid #000;
}

body.catalog-category-view .toolbar .pager .pages a:hover,
body.catalogsearch-result-index .toolbar .pager .pages a:hover {
  text-decoration: none;
  border-bottom: 1px solid #0645AD;
}

body.catalog-category-view .toolbar .pager .pages a.i-previous:hover, body.catalog-category-view .toolbar .pager .pages a.i-next:hover,
body.catalogsearch-result-index .toolbar .pager .pages a.i-previous:hover,
body.catalogsearch-result-index .toolbar .pager .pages a.i-next:hover {
  border-bottom: none;
}

body.catalog-category-view .products-grid,
body.catalogsearch-result-index .products-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

body.catalog-category-view .products-grid .__product,
body.catalogsearch-result-index .products-grid .__product {
  -ms-flex-preferred-size: calc(33% - 28px);
      flex-basis: calc(33% - 28px);
  margin-bottom: 32px;
  margin-left: 30px;
  position: relative;
}

@media only screen and (min-width: 599px) and (max-width: 978px) {
  body.catalog-category-view .products-grid .__product,
  body.catalogsearch-result-index .products-grid .__product {
    -ms-flex-preferred-size: calc(50% - 30px);
        flex-basis: calc(50% - 30px);
  }
}

@media only screen and (max-width: 598px) {
  body.catalog-category-view .products-grid .__product,
  body.catalogsearch-result-index .products-grid .__product {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-left: 0;
  }
}

body.catalog-category-view .products-grid .__product .product-link span,
body.catalogsearch-result-index .products-grid .__product .product-link span {
  color: #000;
}

body.catalog-category-view .products-grid .__product .product-link .product-image,
body.catalogsearch-result-index .products-grid .__product .product-link .product-image {
  border: 1px solid transparent;
}

body.catalog-category-view .products-grid .__product .product-link .product-image.-rollover,
body.catalogsearch-result-index .products-grid .__product .product-link .product-image.-rollover {
  display: none;
}

body.catalog-category-view .products-grid .__product .product-link:hover, body.catalog-category-view .products-grid .__product .product-link:hover *,
body.catalogsearch-result-index .products-grid .__product .product-link:hover,
body.catalogsearch-result-index .products-grid .__product .product-link:hover * {
  color: #0645AD;
  text-decoration: none;
}

body.catalog-category-view .products-grid .__product .product-link:hover .product-image.-rollover,
body.catalogsearch-result-index .products-grid .__product .product-link:hover .product-image.-rollover {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
}

body.catalog-category-view .products-grid .__product .product-link .__common,
body.catalogsearch-result-index .products-grid .__product .product-link .__common {
  display: block;
}

body.catalog-category-view .products-grid .__product .product-link .__rollover,
body.catalogsearch-result-index .products-grid .__product .product-link .__rollover {
  display: none;
}

body.catalog-category-view .products-grid .__product .product-link.-withRollover:hover .__common,
body.catalogsearch-result-index .products-grid .__product .product-link.-withRollover:hover .__common {
  display: none;
}

body.catalog-category-view .products-grid .__product .product-link.-withRollover:hover .__rollover,
body.catalogsearch-result-index .products-grid .__product .product-link.-withRollover:hover .__rollover {
  display: block;
}

body.catalog-category-view .products-grid .__product .actions,
body.catalogsearch-result-index .products-grid .__product .actions {
  display: none;
}

body.catalog-category-view.-hide-side-nav .tk-nav-and-products,
body.catalogsearch-result-index.-hide-side-nav .tk-nav-and-products {
  display: block;
}

body.catalog-category-view.-hide-side-nav .tk-nav-and-products > .__nav,
body.catalogsearch-result-index.-hide-side-nav .tk-nav-and-products > .__nav {
  display: none;
}

.checkout-cart-index .cart {
  max-width: 1024px;
}

.checkout-cart-index .cart-empty {
  text-align: center;
}

@media only screen and (min-width: 599px) {
  .checkout-cart-index .cart-empty {
    margin-bottom: 100px;
  }
}

.checkout-cart-index ul.messages {
  margin-top: 10px;
  margin-bottom: 10px;
}

.checkout-cart-index .cart-forms {
  float: left;
  padding-right: 0;
  padding-left: 0;
}

.checkout-cart-index .cart-forms .discount,
.checkout-cart-index .cart-forms .giftcard,
.checkout-cart-index .cart-forms .shipping {
  border: none;
  background: transparent;
  padding: 10px 0;
}

.checkout-cart-index .cart-forms .discount .buttons-set,
.checkout-cart-index .cart-forms .giftcard .buttons-set,
.checkout-cart-index .cart-forms .shipping .buttons-set {
  margin-top: 0;
  padding-top: 6px;
}

.checkout-cart-index .cart-forms .discount label,
.checkout-cart-index .cart-forms .giftcard label,
.checkout-cart-index .cart-forms .shipping label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  width: 100%;
  text-align: left;
  text-transform: capitalize;
  margin-right: 0;
}

.checkout-cart-index .cart-forms .discount input.input-text,
.checkout-cart-index .cart-forms .giftcard input.input-text,
.checkout-cart-index .cart-forms .shipping input.input-text {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
}

.checkout-cart-index .cart-forms .discount button,
.checkout-cart-index .cart-forms .giftcard button,
.checkout-cart-index .cart-forms .shipping button {
  min-width: unset;
  width: 87px;
  padding-top: 7px;
  padding-bottom: 7px;
}

.checkout-cart-index .cart-forms .discount button.button2 span, .checkout-cart-index .cart-forms .discount button .button2 span span,
.checkout-cart-index .cart-forms .giftcard button.button2 span,
.checkout-cart-index .cart-forms .giftcard button .button2 span span,
.checkout-cart-index .cart-forms .shipping button.button2 span,
.checkout-cart-index .cart-forms .shipping button .button2 span span {
  color: #000;
  line-height: inherit;
  height: inherit;
  text-decoration: none;
}

.checkout-cart-index .cart-forms .discount button.button2 span:hover, .checkout-cart-index .cart-forms .discount button .button2 span span:hover,
.checkout-cart-index .cart-forms .giftcard button.button2 span:hover,
.checkout-cart-index .cart-forms .giftcard button .button2 span span:hover,
.checkout-cart-index .cart-forms .shipping button.button2 span:hover,
.checkout-cart-index .cart-forms .shipping button .button2 span span:hover {
  text-decoration: underline;
}

.checkout-cart-index .cart-forms #discount-coupon-form .discount .discount-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.checkout-cart-index .cart-forms #discount-coupon-form .discount .discount-form > .input-box {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-right: 10px;
}

.checkout-cart-index .cart-forms #discount-coupon-form .discount .discount-form > .input-box input.input-text {
  width: 100%;
  padding: 5px;
  margin-right: 0;
}

@media only screen and (max-width: 598px) {
  .checkout-cart-index .cart-forms #discount-coupon-form .discount .discount-form > .input-box {
    margin-right: 0;
  }
}

.checkout-cart-index .cart-forms .giftcard .check-gc-status {
  float: none;
  padding-top: 5px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #0645AD !important;
  letter-spacing: 1px;
}

.checkout-cart-index .cart-forms .giftcard .check-gc-status:hover {
  text-decoration: underline;
}

.checkout-cart-index .cart-forms .giftcard .field-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.checkout-cart-index .cart-forms .giftcard .field-wrapper input.input-text {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: inherit;
  max-width: inherit;
  padding: 5px;
  margin-top: 4px;
}

.checkout-cart-index .cart-forms .giftcard .field-wrapper #advice-required-entry-giftcard_code {
  display: none !important;
}

.checkout-cart-index .cart-forms .giftcard .field-wrapper .button-wrapper {
  display: block;
  margin-top: 4px;
  vertical-align: inherit;
}

@media only screen and (max-width: 598px) {
  .checkout-cart-index .cart-forms .giftcard label {
    display: block;
    text-align: right;
    margin-right: 0;
    margin-bottom: 10px;
  }
}

.checkout-cart-index .shipping {
  display: none;
}

.checkout-cart-index .cart-totals-wrapper {
  padding-left: 0;
}

.checkout-cart-index .cart-totals {
  background: transparent;
  border: none;
  padding-right: 0;
  padding-left: 0;
}

.checkout-cart-index .cart-totals td {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.checkout-cart-index .cart-totals tfoot {
  display: none;
}

.checkout-cart-index .method-checkout-cart-methods-multishipping {
  display: none;
}

.checkout-cart-index .checkout-types {
  float: none;
}

.checkout-cart-index .checkout-types button {
  padding: 10px;
  width: 100%;
}

.checkout-cart-index .checkout-types li {
  margin-bottom: 0;
}

.checkout-cart-index .checkout-types .paypal-logo {
  display: none;
}

.checkout-onepage-index .col-main {
  margin: 0 auto;
  padding: 0;
  float: none;
  width: 100%;
}

.checkout-onepage-index .col-main .checkout-types {
  float: right;
  margin-top: -7px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  /*
             * Hide the ugly "-or-", but show the Paypal button.
             * Selectors are all over the place. :(
             */
}

.checkout-onepage-index .col-main .checkout-types > li {
  margin: 0;
  padding: 0;
  width: inherit;
  display: none;
}

.checkout-onepage-index .col-main .checkout-types > li.method-checkout-cart-methods-paypal_express-bottom {
  display: none;
}

.checkout-onepage-index .col-main .checkout-types > li.method-checkout-cart-methods-onepage-bottom {
  display: block;
}

.checkout-onepage-index .col-main .checkout-types .paypal-logo {
  display: none;
}

.checkout-onepage-index .col-main .checkout-types .method-checkout-cart-methods-paypal_express-bottom {
  margin-right: 10px;
}

.checkout-onepage-index .col-main .checkout-types .method-checkout-cart-methods-paypal_express-bottom .paypal-logo {
  display: block;
}

@media only screen and (max-width: 598px) {
  .checkout-onepage-index .col-main .checkout-types {
    float: none;
    margin-top: 15px;
    width: 100%;
  }
}

@media only screen and (max-width: 358px) {
  .checkout-onepage-index .col-main .checkout-types {
    display: block;
  }
  .checkout-onepage-index .col-main .checkout-types > li {
    margin-bottom: 5px;
  }
}

.checkout-onepage-index {
  /*
     * STEP 2
     */
  /*
     * STEP 3 SHIPPING INFORMATION
     */
  /*
     * STEP 4 SHIPPING METHOD INPUT
     */
  /*
     * STEP 4 PAYMENT
     */
  /*
     * STEP 5 CONFIRM
     */
}

@media only screen and (max-width: 598px) {
  .checkout-onepage-index .main-container {
    padding-top: 15px;
  }
}

.checkout-onepage-index .header-container .header {
  padding-bottom: 0;
}

.checkout-onepage-index .col-main {
  max-width: 1200px;
}

.checkout-onepage-index select {
  padding-top: 10px;
  padding-bottom: 10px;
}

@media only screen and (max-width: 598px) {
  .checkout-onepage-index input[text],
  .checkout-onepage-index input[password] {
    width: 100%;
  }
  .checkout-onepage-index .main-container {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.checkout-onepage-index .opc select {
  max-width: none;
}

.checkout-onepage-index .opc .section {
  opacity: 0.5;
}

.checkout-onepage-index .opc .section.allow {
  opacity: 1.0;
}

.checkout-onepage-index .opc .section .step-title .number {
  position: absolute;
  top: 20px;
  left: 0;
}

.checkout-onepage-index .opc .section .step-title h2 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
  color: #666666;
  padding: 20px 0 20px 50px;
}

.checkout-onepage-index .opc .section .step {
  padding: 30px;
}

@media only screen and (max-width: 598px) {
  .checkout-onepage-index .opc .section .step {
    padding: 30px 0 60px 0;
  }
}

.checkout-onepage-index .back-link {
  display: none;
}

.checkout-onepage-index .sp-methods label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
}

.checkout-onepage-index .sp-methods label:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.checkout-onepage-index .sp-methods label:hover {
  cursor: pointer;
}

.checkout-onepage-index #co-billing-form,
.checkout-onepage-index #co-shipping-form,
.checkout-onepage-index #co-shipping-method-form {
  padding-left: 15px;
  width: calc(50% - 15px);
}

@media only screen and (max-width: 598px) {
  .checkout-onepage-index #co-billing-form,
  .checkout-onepage-index #co-shipping-form,
  .checkout-onepage-index #co-shipping-method-form {
    width: 100%;
  }
}

.checkout-onepage-index .form-list .control label {
  background-color: transparent;
  display: block;
  width: 100%;
  cursor: pointer;
}

.checkout-onepage-index .buttons-set .required {
  display: none;
}

.checkout-onepage-index #opc-login h3 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 598px) {
  .checkout-onepage-index #opc-login h3 {
    margin-bottom: 0;
  }
}

.checkout-onepage-index #opc-login .col2-set .col-1, .checkout-onepage-index #opc-login .col2-set .col-2 {
  padding: 0 15px;
}

.checkout-onepage-index #opc-login .col2-set .col-1 .form-list {
  margin-top: 48px;
}

@media only screen and (max-width: 598px) {
  .checkout-onepage-index #opc-login .col2-set .col-1 .form-list {
    margin-top: 0;
    margin-bottom: 0;
  }
  .checkout-onepage-index #opc-login .col2-set .col-1 .form-list > .li {
    margin-bottom: 0;
  }
}

.checkout-onepage-index #opc-login .col2-set .col-2 {
  padding-bottom: 0;
}

.checkout-onepage-index #opc-login .col2-set .col-2 .input-box {
  min-height: 51px;
}

.checkout-onepage-index #opc-login .col2-set > div h4, .checkout-onepage-index #opc-login .col2-set > div p, .checkout-onepage-index #opc-login .col2-set > div .ul {
  display: none;
}

.checkout-onepage-index #opc-login .col2-set:nth-child(2) .col-1 {
  padding-top: 30px;
}

.checkout-onepage-index #opc-login .col2-set:nth-child(2) .col-2 {
  padding-top: 0;
}

.checkout-onepage-index #opc-login #login-form .input-text {
  width: 100%;
}

.checkout-onepage-index #opc-login #remember-me-box .link-tip {
  display: none;
}

.checkout-onepage-index #opc-login .buttons-set {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  margin-top: 0;
}

.checkout-onepage-index #opc-login .buttons-set button {
  margin-right: 0;
}

.checkout-onepage-index #opc-billing form#co-billing-form {
  padding-left: 15px;
  width: calc(50% - 15px);
}

.checkout-onepage-index #opc-billing form#co-billing-form input[type=text], .checkout-onepage-index #opc-billing form#co-billing-form select {
  width: 100%;
}

@media only screen and (max-width: 598px) {
  .checkout-onepage-index #opc-billing form#co-billing-form {
    width: 100%;
  }
}

.checkout-onepage-index #opc-billing .button {
  width: 100%;
}

.checkout-onepage-index #opc-shipping input[type=text], .checkout-onepage-index #opc-shipping select {
  width: 100%;
}

@media only screen and (max-width: 598px) {
  .checkout-onepage-index #opc-shipping input[type=text], .checkout-onepage-index #opc-shipping select {
    width: 100%;
  }
}

.checkout-onepage-index #opc-shipping button {
  width: 100%;
}

.checkout-onepage-index #opc-shipping_method input[type=text], .checkout-onepage-index #opc-shipping_method select {
  width: 100%;
}

.checkout-onepage-index #opc-shipping_method #onepage-checkout-shipping-method-additional-load {
  display: none;
}

.checkout-onepage-index #opc-shipping_method .button {
  width: 100%;
}

.checkout-onepage-index #opc-shipping_method .sp-methods dt {
  display: none;
}

.checkout-onepage-index #opc-shipping_method .sp-methods dd ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.checkout-onepage-index #opc-shipping_method .sp-methods dd ul li input.radio {
  float: none;
  margin-right: 0;
  margin-top: 0;
  margin-left: 0;
  margin-bottom: -3px;
}

.checkout-onepage-index #opc-shipping_method .sp-methods dd ul li label {
  display: block;
  padding: 15px;
  -webkit-box-flex: 99;
      -ms-flex-positive: 99;
          flex-grow: 99;
  background-color: transparent;
}

.checkout-onepage-index #opc-shipping_method .sp-methods dd ul li label:hover {
  color: #0645AD !important;
}

.checkout-onepage-index #opc-payment > .step {
  max-width: 600px;
  padding-left: 45px;
  padding-right: 15px;
}

@media only screen and (max-width: 598px) {
  .checkout-onepage-index #opc-payment > .step {
    padding-left: 15px;
    padding-right: 15px;
    max-width: 100%;
  }
}

.checkout-onepage-index #opc-payment form#co-payment-form #dt_method_ccsave label {
  padding-left: 0;
}

.checkout-onepage-index #opc-payment form#co-payment-form .form-list {
  padding-left: 0;
}

.checkout-onepage-index #opc-payment form#co-payment-form .form-list input[type=text] {
  width: 100%;
}

.checkout-onepage-index #opc-payment form#co-payment-form .form-list li:nth-child(4) .input-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.checkout-onepage-index #opc-payment form#co-payment-form .form-list li:nth-child(4) .input-box:after {
  content: none;
}

.checkout-onepage-index #opc-payment form#co-payment-form .form-list li:nth-child(4) .input-box .v-fix {
  float: none;
  margin-right: 0;
  width: 48%;
}

.checkout-onepage-index #opc-payment form#co-payment-form .form-list li:nth-child(4) .input-box .v-fix > select {
  margin-right: 0;
  width: 100%;
}

.checkout-onepage-index #opc-payment form#co-payment-form .sp-methods dt label {
  display: block;
  float: none;
  width: 100%;
}

.checkout-onepage-index #opc-payment form#co-payment-form .sp-methods dt label img {
  float: none;
}

.checkout-onepage-index #opc-payment form#co-payment-form .sp-methods dt label[for="p_method_paypal_express"] a {
  display: none;
}

.checkout-onepage-index #opc-payment form#co-payment-form .sp-methods #advice-validate-cc-exp-ccsave_expiration {
  max-width: none;
}

.checkout-onepage-index #opc-payment .button {
  width: 100%;
}

.checkout-onepage-index #opc-review #checkout-step-review {
  padding: 30px 0 30px 34px;
}

@media only screen and (max-width: 598px) {
  .checkout-onepage-index #opc-review #checkout-step-review {
    padding-left: 15px;
    padding-left: 15px;
  }
}

.checkout-onepage-index #opc-review #checkout-review-table thead {
  display: none;
}

.checkout-onepage-index #opc-review #checkout-review-table td {
  border: none;
}

.checkout-onepage-index #opc-review #checkout-review-table td.a-right {
  padding-right: 0;
}

.checkout-onepage-index #opc-review #checkout-review-table td .__product-details {
  max-width: 500px;
}

.checkout-onepage-index #opc-review #checkout-review-table td .__product-details .__product-image img {
  width: 30%;
  max-width: 400px;
  float: left;
  padding-right: 16px;
}

.checkout-onepage-index #opc-review #checkout-review-table td .__product-details .__final-sale {
  margin-top: 10px;
}

.checkout-onepage-index #opc-review #review-buttons-container .btn-checkout {
  width: 100%;
  float: none;
}

.checkout-onepage-index #opc-review .buttons-set .button {
  float: right;
  margin-right: 0;
}

.checkout-onepage-index #opc-review .f-left {
  display: none;
}

body.cms-about-style-guide .main-container {
  padding-left: 0;
  padding-right: 0;
}

body.cms-about-style-guide .col-main > * {
  margin: 20px 0;
}

body.cms-about-style-guide .__reference,
body.cms-about-style-guide .__examples {
  padding: 0px 30px;
  max-width: 800px;
}

body.cms-about-style-guide .__examples.-inputs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

body.cms-about-style-guide .__examples.-inputs > * {
  width: calc(33% - 5px);
}

body.cms-about-style-guide .__responsive > * {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background-color: #0645AD;
  color: white;
  margin: 10px 0;
  padding: 10px 30px;
}

@media only screen and (max-width: 359px) {
  body.cms-about-style-guide .__responsive .__current .__bp-name:after {
    content: '< xsmall';
  }
}

@media only screen and (min-width: 359px) {
  body.cms-about-style-guide .__responsive .__current .__bp-name:after {
    content: 'xsmall';
  }
}

@media only screen and (min-width: 599px) {
  body.cms-about-style-guide .__responsive .__current .__bp-name:after {
    content: 'small';
  }
}

@media only screen and (min-width: 770px) {
  body.cms-about-style-guide .__responsive .__current .__bp-name:after {
    content: 'medium';
  }
}

@media only screen and (min-width: 979px) {
  body.cms-about-style-guide .__responsive .__current .__bp-name:after {
    content: 'large';
  }
}

@media only screen and (min-width: 1199px) {
  body.cms-about-style-guide .__responsive .__current .__bp-name:after {
    content: 'xlarge';
  }
}

body.cms-about-style-guide .__responsive .__xsmall, body.cms-about-style-guide .__responsive .__small, body.cms-about-style-guide .__responsive .__medium, body.cms-about-style-guide .__responsive .__large, body.cms-about-style-guide .__responsive .__xlarge {
  display: none;
}

body.cms-about-style-guide .__responsive .__xsmall {
  width: 359px;
}

body.cms-about-style-guide .__responsive .__small {
  width: 599px;
}

body.cms-about-style-guide .__responsive .__medium {
  width: 770px;
}

body.cms-about-style-guide .__responsive .__large {
  width: 979px;
}

@media only screen and (min-width: 979px) and (max-width: 1198px) {
  body.cms-about-style-guide .__responsive .__large {
    background: red;
  }
}

@media only screen and (max-width: 979px) {
  body.cms-about-style-guide .__responsive .__large {
    display: none;
  }
}

body.cms-about-style-guide .__responsive .__xlarge {
  width: 100%;
}

@media only screen and (min-width: 1199px) {
  body.cms-about-style-guide .__responsive .__xlarge {
    background: red;
  }
}

@media only screen and (max-width: 1199px) {
  body.cms-about-style-guide .__responsive .__xlarge {
    display: none;
  }
}

.cms-home .main-container,
.cms-index-index .main-container {
  padding: 0;
}

.cms-page-view .std p {
  color: unset;
  font-size: unset;
  line-height: unset;
  font-family: unset;
  font-style: unset;
}

@media only screen and (min-width: 599px) {
  .contacts-index-index .contacts-index-index__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .contacts-index-index .__info {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    padding-right: 20px;
  }
  .contacts-index-index .__info h1 {
    margin: 20px 0;
  }
  .contacts-index-index .__info p {
    margin: 10px 0;
  }
  .contacts-index-index .__form {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    padding-left: 20px;
  }
}

.contacts-index-index .contacts-index-index__container {
  max-width: 960px;
  margin: 0 auto;
}

.contacts-index-index .contacts-index-index__container h1 {
  margin: 20px 0;
}

.contacts-index-index .contacts-index-index__container p {
  margin: 10px 0;
}

.contacts-index-index .contacts-index-index__container .field {
  margin: 15px 0;
}

.contacts-index-index .__info, .contacts-index-index .__form {
  margin-bottom: 40px;
}

.contacts-index-index .__form input, .contacts-index-index .__form textarea, .contacts-index-index .__form select {
  width: 100%;
  max-width: unset;
}

.contacts-index-index .__form input.validation-failed, .contacts-index-index .__form textarea.validation-failed, .contacts-index-index .__form select.validation-failed {
  border: 1px solid #DC2022;
}

@media only screen and (max-width: 598px) {
  body.customer-account-create input[type=text],
  body.customer-account-create input[type=email],
  body.customer-account-create input[type=password],
  body.customer-account-create .buttons-set,
  body.customer-account-create .fieldset,
  body.customer-account-login input[type=text],
  body.customer-account-login input[type=email],
  body.customer-account-login input[type=password],
  body.customer-account-login .buttons-set,
  body.customer-account-login .fieldset,
  body.customer-account-forgotpassword input[type=text],
  body.customer-account-forgotpassword input[type=email],
  body.customer-account-forgotpassword input[type=password],
  body.customer-account-forgotpassword .buttons-set,
  body.customer-account-forgotpassword .fieldset {
    width: 100%;
    max-width: 100%;
  }
}

body.customer-account-create .form-instructions,
body.customer-account-login .form-instructions,
body.customer-account-forgotpassword .form-instructions {
  display: none;
}

body.customer-account-create .fields.-mailing-list .field,
body.customer-account-login .fields.-mailing-list .field,
body.customer-account-forgotpassword .fields.-mailing-list .field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 365px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

body.customer-account-create .fields.-mailing-list .field > p,
body.customer-account-login .fields.-mailing-list .field > p,
body.customer-account-forgotpassword .fields.-mailing-list .field > p {
  margin-bottom: 10px;
}

@media only screen and (max-width: 598px) {
  body.customer-account-create .fields.-mailing-list .field,
  body.customer-account-login .fields.-mailing-list .field,
  body.customer-account-forgotpassword .fields.-mailing-list .field {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
  body.customer-account-create .fields.-mailing-list .field .__prompt,
  body.customer-account-login .fields.-mailing-list .field .__prompt,
  body.customer-account-forgotpassword .fields.-mailing-list .field .__prompt {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  body.customer-account-create .fields.-mailing-list .field .__women, body.customer-account-create .fields.-mailing-list .field .__men,
  body.customer-account-login .fields.-mailing-list .field .__women,
  body.customer-account-login .fields.-mailing-list .field .__men,
  body.customer-account-forgotpassword .fields.-mailing-list .field .__women,
  body.customer-account-forgotpassword .fields.-mailing-list .field .__men {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    text-align: center;
  }
}

@media only screen and (max-width: 978px) {
  .header-container .header {
    padding-bottom: 64px;
  }
  .header-container .header.-withNotificationBar {
    padding-bottom: 128px;
  }
  .header-container .header .tk-nav-header {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0px;
    background: #FAFAFA;
    z-index: 2;
  }
}

.tk-about > p {
  margin: 20px 0;
  max-width: 800px;
}

.tk-about.--affiliates > p, .tk-about.--affiliates ol {
  margin: 20px 0 40px 0;
}

.tk-about .tk-h1 {
  margin: 30px 0 10px 0;
}

.tk-about .tk-l2 {
  margin: 10px 0;
}

.tk-about .tk-p1 {
  margin-top: 10px;
  margin-bottom: 10px;
}

.tk-about ul {
  list-style-type: disc;
  padding-left: 20px;
}

.tk-about ol {
  list-style-type: decimal;
  padding-left: 20px;
}

.tk-about a:hover {
  cursor: pointer;
}

@media only screen and (min-width: 360px) {
  .tk-about.--two-col .__info {
    float: left;
    max-width: 450px;
  }
  .tk-about.--two-col .__image {
    float: right;
    width: calc(50% - 10px);
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCJfZm9udHMuc2NzcyIsIm1peGluL190eXBvZ3JhcGh5LnNjc3MiLCJ2ZW5kb3IvX25vcm1hbGl6ZS5zY3NzIiwiY29yZS9fcmVzZXQuc2NzcyIsImZ1bmN0aW9uL19ibGFjay5zY3NzIiwiY29yZS9fY29tbW9uLnNjc3MiLCJfdmFyLnNjc3MiLCJtaXhpbi9fY2xlYXJmaXguc2NzcyIsIm1peGluL19icmVha3BvaW50LnNjc3MiLCJtaXhpbi9fbm90LXNlbGVjdGFibGUuc2NzcyIsIm1peGluL190b2dnbGUtY29udGVudC5zY3NzIiwibWl4aW4vX3RyaWFuZ2xlLnNjc3MiLCJtaXhpbi9faW1hZ2UtcmVwbGFjZW1lbnQuc2NzcyIsIm1peGluL19pZi1yZXNvbHV0aW9uLnNjc3MiLCJjb3JlL19mb3JtLnNjc3MiLCJjb3JlL190YWJsZS5zY3NzIiwibGF5b3V0L19nbG9iYWwuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2hlYWRlci1uYXYuc2NzcyIsIm1peGluL19tZW51LnNjc3MiLCJsYXlvdXQvX2hlYWRlci1zZWFyY2guc2NzcyIsImxheW91dC9faGVhZGVyLWFjY291bnQuc2NzcyIsImxheW91dC9faGVhZGVyLWNhcnQuc2NzcyIsIm1vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MiLCJtb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzIiwibWl4aW4vX2xvYWRpbmctb3ZlcmxheS5zY3NzIiwibW9kdWxlL19jYXRhbG9nLW1zcnAuc2NzcyIsIm1vZHVsZS9fY2F0YWxvZy1jb21wYXJlLnNjc3MiLCJtb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyIsIm1vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzIiwibW9kdWxlL19jaGVja291dC1zdWNjZXNzLnNjc3MiLCJtb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MiLCJtb2R1bGUvX2N1c3RvbWVyLnNjc3MiLCJtb2R1bGUvX2N1c3RvbWVyLXBheW1lbnQuc2NzcyIsIm1vZHVsZS9fY29udGFjdHMuc2NzcyIsIm1vZHVsZS9fcGF5cGFsLnNjc3MiLCJtb2R1bGUvX3Jldmlldy5zY3NzIiwibW9kdWxlL19zbGlkZXNob3cuc2NzcyIsIm1vZHVsZS9fd2lzaGxpc3Quc2NzcyIsIm1vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzIiwibW9kdWxlL19zZWFyY2guc2NzcyIsIm1vZHVsZS9fYWNjb3VudC1yZXZpZXdzLnNjc3MiLCJtb2R1bGUvX3ByaWNpbmdfY29uZGl0aW9ucy5zY3NzIiwibW9kdWxlL19jb29raWVzLnNjc3MiLCJtb2R1bGUvX3RhZ3Muc2NzcyIsIm1vZHVsZS9fY2FwdGNoYS5zY3NzIiwibW9kdWxlL19hY2NvdW50LW9yZGVycy5zY3NzIiwibW9kdWxlL19yZWN1cnJpbmctcHJvZmlsZXMuc2NzcyIsIm1vZHVsZS9fYmlsbGluZy1hZ3JlZW1lbnRzLnNjc3MiLCJtb2R1bGUvX3BvcHVsYXItdGVybXMuc2NzcyIsIm1vZHVsZS9fd2lkZ2V0LnNjc3MiLCJtb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyIsIm92ZXJyaWRlL19wbHVnaW4uc2NzcyIsIl9jb3JlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsIl90ay1jb3JlLnNjc3MiLCJfdGt1LnNjc3MiLCJ0ay9fdGstYWNjb3JkaW9uLnNjc3MiLCJ0ay9fdGstYWZmaWxpYXRlcy5zY3NzIiwidGsvX3RrLWJ1dHRvbi5zY3NzIiwidGsvX3RrLWNhcmVlcnMuc2NzcyIsInRrL190ay1jYXJ0LXN1bW1hcnkuc2NzcyIsInRrL190ay1jYXJ0LXRpdGxlLnNjc3MiLCJ0ay9fdGstY2F0YWxvZy1uYXYuc2NzcyIsInRrL190ay1jYXRlZ29yeS10aXRsZS5zY3NzIiwidGsvX3RrLWNoZWNrb3V0LWhlYWRlci5zY3NzIiwidGsvX3RrLWNoZWNrb3V0LnNjc3MiLCJ0ay9fdGstZWRpdG9yaWFsLWltYWdlLnNjc3MiLCJ0ay9fdGstZWRpdG9yaWFsLnNjc3MiLCJ0ay9fdGstZWRpdG9yaWFscy1saXN0LnNjc3MiLCJ0ay9fdGstZmluYWwtc2FsZS5zY3NzIiwidGsvX3RrLWZsZXgtcm93LnNjc3MiLCJ0ay9fdGstZm9vdGVyLnNjc3MiLCJ0ay9fdGstZnJvbnQtcGFnZS0tMTEtMjAuc2NzcyIsInRrL190ay1mcm9udC1wYWdlLS0xMi0wNS5zY3NzIiwidGsvX3RrLWZyb250LXBhZ2UtLTIwMTgtMDItMTMuc2NzcyIsInRrL190ay1mcm9udC1wYWdlLS05LTI4LnNjc3MiLCJ0ay9fdGstaGVscC5zY3NzIiwidGsvX3RrLWhvbGlkYXktc2hpcHBpbmcuc2NzcyIsInRrL190ay1ob3Zlci1jZWxsLnNjc3MiLCJ0ay9fdGstaW1hZ2Utem9vbS5zY3NzIiwidGsvX3RrLWxpc3Quc2NzcyIsInRrL190ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlLnNjc3MiLCJ0ay9fdGstbmF2LWFuZC1wcm9kdWN0cy5zY3NzIiwidGsvX3RrLW5hdi1jYXRhbG9nLnNjc3MiLCJ0ay9fdGstbmF2LWRlc2t0b3Auc2NzcyIsInRrL190ay1uYXYtZHJhd2VyLnNjc3MiLCJ0ay9fdGstbmF2LWhlYWRlci5zY3NzIiwidGsvX3RrLW5hdi1tb2JpbGUuc2NzcyIsInRrL190ay1uYXYtc2VhcmNoLnNjc3MiLCJ0ay9fdGstb3B0aW9uLWxpc3Quc2NzcyIsInRrL190ay1wb3B1cC1sb2dpbi5zY3NzIiwidGsvX3RrLXByb2R1Y3QtaW1hZ2VzLnNjc3MiLCJ0ay9fdGstcHJvZHVjdC1saW5rLnNjc3MiLCJ0ay9fdGstcHJvZHVjdC1wcmljZS5zY3NzIiwidGsvX3RrLXByb2R1Y3QtcmVsYXRlZC1wcm9kdWN0cy5zY3NzIiwidGsvX3RrLXByb2R1Y3Qtdmlldy5zY3NzIiwidGsvX3RrLXNpemUtZ3VpZGUuc2NzcyIsInRrL190ay1zb2NpYWwtbG9naW4tY29udGFpbmVyLnNjc3MiLCJ0ay9fdGstc29jaWFsLWxvZ2luLnNjc3MiLCJ0ay9fdGstc29jaWFsLXByZWx1ZGUuc2NzcyIsInRrL190ay1zdG9yZS1pbmZvLnNjc3MiLCJ0ay9fdGstdGFibGUuc2NzcyIsInRrL190ay10b3AtYmFyLnNjc3MiLCJ0ay9fdGstdWdseS1oZWFkZXIuc2NzcyIsInRrL190ay12ZW5kb3ItdGVybXMuc2NzcyIsInRrL190ay16ZW5kZXNrLWNoYXQuc2NzcyIsImNvbnRlbnQvX2NhdGFsb2ctY2F0ZWdvcnktdmlldy5zY3NzIiwiY29udGVudC9fY2hlY2tvdXQtY2FydC1pbmRleC5zY3NzIiwiY29udGVudC9fY2hlY2tvdXQtb25lcGFnZS1pbmRleC5zY3NzIiwiY29udGVudC9fY21zLWFib3V0LXN0eWxlLWd1aWRlLnNjc3MiLCJjb250ZW50L19jbXMtaG9tZS5zY3NzIiwiY29udGVudC9fY21zLXBhZ2Utdmlldy5zY3NzIiwiY29udGVudC9fY29udGFjdHMtaW5kZXgtaW5kZXguc2NzcyIsImNvbnRlbnQvX2N1c3RvbWVyLWFjY291bnQtbG9naW4uc2NzcyIsImNvbnRlbnQvX2hlYWRlci5zY3NzIiwiY29udGVudC9fdGstYWJvdXQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBaEI7RUFDRSxpQ0FBZ0M7RUFDaEMsMkNBQTBDO0NERTVDOztBQ0NBO0VBQ0UsZ0NBQStCO0VBQy9CLDBDQUF5QztDREUzQzs7QUVDRDs7O3FDQUdxQztBQWNyQzs7cUNBRXFDO0FBRXJDOztHQUVHO0FBVUg7O0dBRUc7QUFTSDs7R0FFRztBQVVIOztHQUVHO0FBU0g7O0dBRUc7QUFTSDs7cUNBRXFDO0FBRXJDOztHQUVHO0FBVUg7O0dBRUc7QUFXSDs7R0FFRztBQWNIOztHQUVHO0FBYUg7O0dBRUc7QUFZSDs7cUNBRXFDO0FBRXJDOztHQUVHO0FBU0g7O0dBRUc7QUFVSDs7cUNBRXFDO0FBRXJDOztHQUVHO0FBVUg7O0dBRUc7QUFTSDs7R0FFRztBQVVIOztHQUVHO0FBU0g7O0dBRUc7QUFVSDs7cUNBRXFDO0FBRXJDOztHQUVHO0FBV0g7O0dBRUc7QUFX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SHk0Z0JaIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMeW9uRGlzcGxheS1MaWdodCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvTHlvbkRpc3BsYXktTGlnaHQub3RmXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMeW9uVGV4dC1SZWd1bGFyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9MeW9uVGV4dC1SZWd1bGFyLm90ZlwiKTtcbn1cblxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ09SRSBUT1RPS0FFTE8gU1RZTEVTXG4gKiBWQVJJQUJMRVMgQU5EIE1JWElOU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogSEVBREVSU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWgxIC0gdXNlZCBmb3IgYmlnIHBhZ2UgaGVhZGVyc1xuICovXG4vKlxuICogdGstaDIgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDMgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDQgLSBxdWF0ZXJuYXJ5IGhlYWRlclxuICovXG4vKlxuICogdGstaDUgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBMSU5LU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWwxIC0gcHJpbWFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMiAtIHNlY29uZGFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMyAtIHRlcnRpYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWw0IC0gcXVhdGVybmFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1oMiAtIHF1aW5hcnkgbGlua1xuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBCT0RZIFRFWFRcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qXG4gKiB0ay1wMSAtIHByaW1hcnkgYm9keSB0ZXh0XG4gKi9cbi8qXG4gKiB0ay1wMiAtIHNlY29uZGFyeSBib2R5IHRleHRcbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogSEVBREVSU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWgxIC0gdXNlZCBmb3IgYmlnIHBhZ2UgaGVhZGVyc1xuICovXG4vKlxuICogdGstaDIgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDMgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDQgLSBxdWF0ZXJuYXJ5IGhlYWRlclxuICovXG4vKlxuICogdGstaDUgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBMSU5LU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWwxIC0gcHJpbWFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMiAtIHNlY29uZGFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMyAtIHRlcnRpYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWw0IC0gcXVhdGVybmFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1oMiAtIHF1aW5hcnkgbGlua1xuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBCT0RZIFRFWFRcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qXG4gKiB0ay1wMSAtIHByaW1hcnkgYm9keSB0ZXh0XG4gKi9cbi8qXG4gKiB0ay1wMiAtIHNlY29uZGFyeSBib2R5IHRleHRcbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ09SRSBUT1RPS0FFTE8gU1RZTEVTXG4gKiBWQVJJQUJMRVMgQU5EIE1JWElOU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogSEVBREVSU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWgxIC0gdXNlZCBmb3IgYmlnIHBhZ2UgaGVhZGVyc1xuICovXG4vKlxuICogdGstaDIgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDMgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDQgLSBxdWF0ZXJuYXJ5IGhlYWRlclxuICovXG4vKlxuICogdGstaDUgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBMSU5LU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWwxIC0gcHJpbWFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMiAtIHNlY29uZGFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMyAtIHRlcnRpYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWw0IC0gcXVhdGVybmFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1oMiAtIHF1aW5hcnkgbGlua1xuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBCT0RZIFRFWFRcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qXG4gKiB0ay1wMSAtIHByaW1hcnkgYm9keSB0ZXh0XG4gKi9cbi8qXG4gKiB0ay1wMiAtIHNlY29uZGFyeSBib2R5IHRleHRcbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogSEVBREVSU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWgxIC0gdXNlZCBmb3IgYmlnIHBhZ2UgaGVhZGVyc1xuICovXG4vKlxuICogdGstaDIgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDMgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDQgLSBxdWF0ZXJuYXJ5IGhlYWRlclxuICovXG4vKlxuICogdGstaDUgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBMSU5LU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWwxIC0gcHJpbWFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMiAtIHNlY29uZGFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMyAtIHRlcnRpYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWw0IC0gcXVhdGVybmFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1oMiAtIHF1aW5hcnkgbGlua1xuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBCT0RZIFRFWFRcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qXG4gKiB0ay1wMSAtIHByaW1hcnkgYm9keSB0ZXh0XG4gKi9cbi8qXG4gKiB0ay1wMiAtIHNlY29uZGFyeSBib2R5IHRleHRcbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ09SRSBUT1RPS0FFTE8gU1RZTEVTXG4gKiBWQVJJQUJMRVMgQU5EIE1JWElOU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogSEVBREVSU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWgxIC0gdXNlZCBmb3IgYmlnIHBhZ2UgaGVhZGVyc1xuICovXG4vKlxuICogdGstaDIgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDMgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDQgLSBxdWF0ZXJuYXJ5IGhlYWRlclxuICovXG4vKlxuICogdGstaDUgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBMSU5LU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWwxIC0gcHJpbWFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMiAtIHNlY29uZGFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMyAtIHRlcnRpYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWw0IC0gcXVhdGVybmFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1oMiAtIHF1aW5hcnkgbGlua1xuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBCT0RZIFRFWFRcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qXG4gKiB0ay1wMSAtIHByaW1hcnkgYm9keSB0ZXh0XG4gKi9cbi8qXG4gKiB0ay1wMiAtIHNlY29uZGFyeSBib2R5IHRleHRcbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogSEVBREVSU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWgxIC0gdXNlZCBmb3IgYmlnIHBhZ2UgaGVhZGVyc1xuICovXG4vKlxuICogdGstaDIgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDMgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDQgLSBxdWF0ZXJuYXJ5IGhlYWRlclxuICovXG4vKlxuICogdGstaDUgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBMSU5LU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWwxIC0gcHJpbWFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMiAtIHNlY29uZGFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMyAtIHRlcnRpYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWw0IC0gcXVhdGVybmFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1oMiAtIHF1aW5hcnkgbGlua1xuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBCT0RZIFRFWFRcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qXG4gKiB0ay1wMSAtIHByaW1hcnkgYm9keSB0ZXh0XG4gKi9cbi8qXG4gKiB0ay1wMiAtIHNlY29uZGFyeSBib2R5IHRleHRcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjIuMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBDb3JyZWN0cyBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBDb3JyZWN0cyBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLypcbiAqIFByZXZlbnRzIG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgZm9yIGBoaWRkZW5gIGF0dHJpYnV0ZSBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0cyBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cblxuLypcbiAqIFJlbW92ZXMgZGVmYXVsdCBtYXJnaW4uXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGRyZXNzZXMgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qXG4gKiBJbXByb3ZlcyByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZHJlc3NlcyBgaDFgIGZvbnQgc2l6ZXMgd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgIGluIEZpcmVmb3ggNCssXG4gKiBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLypcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOSwgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLypcbiAqIEFkZHJlc3NlcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLypcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLypcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKlxuICogQ29ycmVjdHMgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKlxuICogSW1wcm92ZXMgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qXG4gKiBTZXRzIGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuXG4gKi9cbnEge1xuICBxdW90ZXM6IFwiXFwyMDFDXCIgXCJcXDIwMURcIiBcIlxcMjAxOFwiIFwiXFwyMDE5XCI7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKlxuICogUHJldmVudHMgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlcyBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LlxuICovXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qXG4gKiBDb3JyZWN0cyBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGRyZXNzZXMgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0cyBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cblxuLypcbiAqIDEuIENvcnJlY3RzIGZvbnQgZmFtaWx5IG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdHMgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gQWRkcmVzc2VzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovXG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi9cbn1cblxuLypcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5pbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qXG4gKiAxLiBBZGRyZXNzZXMgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmVzIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS5cbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qXG4gKiAxLiBBZGRyZXNzZXMgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzZXMgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKlxuICogUmVtb3ZlcyBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLypcbiAqIFJlbW92ZXMgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogMS4gUmVtb3ZlcyBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlcyByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAvKiAyICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBSZXNldFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmh0bWwge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiBQcmV2ZW50IHRhcCBoaWdobGlnaHQgb24gaU9TL0FuZHJvaWQgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiBQcmV2ZW50IGF1dG9tYXRpYyBzY2FsaW5nIG9uIGlPUyAqL1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5odG1sLFxuYm9keSxcbmltZyxcbmZpZWxkc2V0LFxuYWJicixcbmFjcm9ueW0ge1xuICBib3JkZXI6IDA7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxudGgsXG5jb2RlLFxuY2l0ZSxcbmNhcHRpb24ge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5vbCxcbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxucTpiZWZvcmUsXG5xOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG59XG5cbmlucHV0OmZvY3VzLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEJhc2UgU3R5bGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQC1tcy12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cbkAtby12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cbkB2aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cbmEsIGJ1dHRvbiB7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRhYmxlLFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMTExO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xufVxuXG5hIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpob3ZlciB7XG4gIGNvbG9yOiAjMDUzYjk0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxub2wsXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2hhcmVkIENsYXNzZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYWRkcmVzcy1saXN0IGFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5hdmFpbGFiaWxpdHkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5hdmFpbGFiaWxpdHkgLmxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmF2YWlsYWJpbGl0eS5pbi1zdG9jayB7XG4gIGNvbG9yOiAjRkFGQUZBO1xufVxuXG4uYXZhaWxhYmlsaXR5LmF2YWlsYWJsZS1zb29uLFxuLmF2YWlsYWJpbGl0eS5vdXQtb2Ytc3RvY2sge1xuICBjb2xvcjogI0RDMjAyMjtcbn1cblxuLmF2YWlsYWJpbGl0eS1vbmx5IHtcbiAgY29sb3I6ICNEQzIwMjI7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBhZ2UgVGl0bGVzXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEJsb2NrIE1vZHVsZVxuICovXG4uYmxvY2ssXG4uY29sLWxlZnQtZmlyc3Qge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uY29sLWxlZnQtZmlyc3QgLmJsb2NrOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ibG9jay10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAwIDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7XG59XG5cbi5ibG9jay10aXRsZSBoMixcbi5ibG9jay10aXRsZSBoMyxcbi5ibG9jay10aXRsZSBzdHJvbmcge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGNvbG9yOiAjMTExO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYmxvY2stdGl0bGUgc21hbGwge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjOUI5QjlCO1xufVxuXG5ib2R5Om5vdCguY3VzdG9tZXItYWNjb3VudCkgLmJsb2NrOmZpcnN0LWNoaWxkIC5ibG9jay10aXRsZSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uYmxvY2stc3VidGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuXG4uYmxvY2stY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLmJsb2NrLWNvbnRlbnQudW5wYWQge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uYmxvY2stY29udGVudCBsaS5pdGVtIHtcbiAgbWFyZ2luOiAwIDAgMTBweCA5cHg7XG59XG5cbi5ibG9jay1jb250ZW50IGxpLml0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ibG9jayAuYWN0aW9ucyB7XG4gIG1hcmdpbjogMTBweCAwIDA7XG59XG5cbi5ibG9jayAuYWN0aW9uczphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5ibG9jayAuYWN0aW9ucyBhIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5ibG9jayAuYWN0aW9ucyAuYnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uY29sLWxlZnQgLmJsb2NrIC5hY3Rpb25zIC5idXR0b24gfiBhLFxuLmNvbC1yaWdodCAuYmxvY2sgLmFjdGlvbnMgLmJ1dHRvbiB+IGEge1xuICBsaW5lLWhlaWdodDogMzNweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnNpZGViYXIgLmJsb2NrOm5vdCguYmxvY2stbGF5ZXJlZC1uYXYpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5zaWRlYmFyIC5ibG9jazpub3QoLmJsb2NrLWxheWVyZWQtbmF2KSAuYmxvY2stdGl0bGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuc2lkZWJhciAuYmxvY2s6bm90KC5ibG9jay1sYXllcmVkLW5hdikgLmJsb2NrLXRpdGxlID4gc3Ryb25nIHtcbiAgICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBwYWRkaW5nOiA3cHggMTBweCA3cHggMjRweDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuICAuc2lkZWJhciAuYmxvY2s6bm90KC5ibG9jay1sYXllcmVkLW5hdikgLmJsb2NrLXRpdGxlID4gc3Ryb25nOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMDY0NUFEO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbiAgLnNpZGViYXIgLmJsb2NrOm5vdCguYmxvY2stbGF5ZXJlZC1uYXYpIC5ibG9jay10aXRsZSA+IHN0cm9uZzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoI0Y0RjRGNCwgMyUpO1xuICB9XG4gIC5zaWRlYmFyIC5ibG9jazpub3QoLmJsb2NrLWxheWVyZWQtbmF2KSAuYmxvY2stdGl0bGUuYWN0aXZlID4gc3Ryb25nIHtcbiAgICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBwYWRkaW5nOiA3cHggMTBweCA3cHggMjRweDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgfVxuICAuc2lkZWJhciAuYmxvY2s6bm90KC5ibG9jay1sYXllcmVkLW5hdikgLmJsb2NrLXRpdGxlLmFjdGl2ZSA+IHN0cm9uZzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAjMDY0NUFEO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbGVmdDogMTBweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5zaWRlYmFyIC5ibG9jazpub3QoLmJsb2NrLWxheWVyZWQtbmF2KSAuYmxvY2stdGl0bGUuYWN0aXZlID4gc3Ryb25nOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjRjRGNEY0LCAzJSk7XG4gIH1cbiAgLnNpZGViYXIgLmJsb2NrOm5vdCguYmxvY2stbGF5ZXJlZC1uYXYpIC5ibG9jay1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgfVxuICAuc2lkZWJhciAuYmxvY2s6bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTZWNvbmRhcnkgTmF2aWdhdGlvblxuICovXG4uYmxvY2stYWNjb3VudCAuYmxvY2stdGl0bGUsXG4uYmxvY2stY21zLW1lbnUgLmJsb2NrLXRpdGxlIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi5ibG9jay1hY2NvdW50IGxpLFxuLmJsb2NrLWNtcy1tZW51IGxpIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBtYXJnaW46IDdweCAwO1xufVxuXG4uYmxvY2stYWNjb3VudCBsaSBzdHJvbmcsXG4uYmxvY2stY21zLW1lbnUgbGkgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi5ibG9jay1hY2NvdW50IGxpIGEsXG4uYmxvY2stY21zLW1lbnUgbGkgYSB7XG4gIGNvbG9yOiAjMTExO1xufVxuXG4uYmxvY2stYWNjb3VudCBsaSBhOmhvdmVyLFxuLmJsb2NrLWNtcy1tZW51IGxpIGE6aG92ZXIge1xuICBjb2xvcjogIzA2NDVBRDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQnV0dG9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNlY29uZGFyeSBCdXR0b25zICovXG4uY2FydCAuYnV0dG9ucy1zZXQgLmJ1dHRvbixcbi5jYXJ0LXRhYmxlIC5idXR0b24sXG4uc2lkZWJhciAuYWN0aW9ucyAuYnV0dG9uLFxuLmJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogI0RERERERDtcbiAgY29sb3I6ICMxMTE7XG4gIHBhZGRpbmc6IDdweCAxNXB4O1xufVxuXG4uY2FydCAuYnV0dG9ucy1zZXQgLmJ1dHRvbjpob3Zlcixcbi5jYXJ0LXRhYmxlIC5idXR0b246aG92ZXIsXG4uc2lkZWJhciAuYWN0aW9ucyAuYnV0dG9uOmhvdmVyLFxuLmJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2QwZDBkMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2FydCAuYnV0dG9ucy1zZXQgLmJ1dHRvbjphY3RpdmUsXG4uY2FydC10YWJsZSAuYnV0dG9uOmFjdGl2ZSxcbi5zaWRlYmFyIC5hY3Rpb25zIC5idXR0b246YWN0aXZlLFxuLmJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNjNGM0YzQ7XG4gIGNvbG9yOiAjMTExO1xufVxuXG4uY2FydCAuYnV0dG9ucy1zZXQgLmJ1dHRvbjpmb2N1cyxcbi5jYXJ0LXRhYmxlIC5idXR0b246Zm9jdXMsXG4uc2lkZWJhciAuYWN0aW9ucyAuYnV0dG9uOmZvY3VzLFxuLmJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgY29sb3I6ICMxMTE7XG4gIGJhY2tncm91bmQ6ICNjNGM0YzQ7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5zaWRlYmFyIC5hY3Rpb25zIGJ1dHRvbi5idXR0b24ge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vKiBQcmltYXJ5IEJ1dHRvbnMgKi9cbi5idXR0b24sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLmJ1dHRvbixcbi5mb290ZXIgLmJ1dHRvbiB7XG4gIC8qXG4gICAgYmFja2dyb3VuZDogJGMtYnV0dG9uO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA3cHggMTVweDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtYnV0dG9uLWhvdmVyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtYnV0dG9uLWFjdGl2ZTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1idXR0b24tYWN0aXZlO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG4gICAgKi9cbn1cblxuYS5idXR0b24ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmEuYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qIERpc2FibGVkIC0gY2xhc3MgZm9yIGFuY2hvciwgc3RhdGUgZm9yIGZvcm0gZWxlbWVudHMgKi9cbi5idXR0b24uZGlzYWJsZWQsXG4uYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogI0M4QzhDODtcbiAgb3BhY2l0eTogMC42O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKiBBZGphY2VudCBidXR0b25zICovXG4uYnV0dG9uICsgLmJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5idXR0b24yIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uYnV0dG9uMjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5idXR0b24yIHNwYW4sXG4uYnV0dG9uMiBzcGFuIHNwYW4ge1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogIzA2NDVBRDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uYnV0dG9uMiBzcGFuOmhvdmVyLFxuLmJ1dHRvbjIgc3BhbiBzcGFuOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAzMjg2Mztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAuY29sMi1zZXQgLmJ1dHRvbnMtc2V0IC5idXR0b24sXG4gIC5jb2wyLXNldCAuYnV0dG9ucy1zZXQgLmJ1dHRvbjIge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuY29sMi1zZXQgLmJ1dHRvbnMtc2V0IC5iYWNrLWxpbmsge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmNvbDItc2V0IC5idXR0b25zLXNldCAucmVxdWlyZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAuYnV0dG9ucy1zZXQgLmJ1dHRvbiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgfVxuICAuYnV0dG9ucy1zZXQgLmJhY2stbGluayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYnV0dG9ucy1zZXQgLnJlcXVpcmVkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBheXBhbCBCdXR0b25cbiAqL1xuLnBheXBhbC1sb2dvLnBheXBhbC1hZnRlciB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucGF5cGFsLWFmdGVyIC5wYXlwYWwtb3Ige1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnBheXBhbC1vciB7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICBtYXJnaW46IDBweCAxMHB4IDVweDtcbn1cblxuLnBheXBhbC1hZnRlciAucGF5cGFsLWJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucGF5cGFsLWJ1dHRvbiB7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG59XG5cbi5wYXlwYWwtYnV0dG9uIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDBweCkge1xuICAucGF5cGFsLW9yIHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuICAucGF5cGFsLWxvZ28sXG4gIC5wYXlwYWwtb3IsXG4gIC5wYXlwYWwtYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEJ1dHRvbiBTZXRzXG4gKi9cbi5idXR0b25zLXNldCB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDEwcHggMCAwO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFREVERUQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYnV0dG9ucy1zZXQgcC5yZXF1aXJlZCB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5idXR0b25zLXNldCAuYmFjay1saW5rIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDMzcHg7XG59XG5cbi5idXR0b25zLXNldCBhOm5vdCguYnV0dG9uKSB7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1pbi13aWR0aDogMTQwcHg7XG59XG5cbi5idXR0b25zLXNldDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEljb25zXG4gKi9cbi5pY29uLXNwcml0ZSwgLmJ0bi1yZW1vdmUyLCAucmF0aW5ncyAucmF0aW5nLWJveCwgLnJhdGluZ3MgLnJhdGluZy1ib3ggLnJhdGluZywgLnNvcnRlciA+IC5zb3J0LWJ5IC5zb3J0LWJ5LXN3aXRjaGVyLCAuc29ydGVyID4gLnZpZXctbW9kZSAuZ3JpZCxcbi5zb3J0ZXIgPiAudmlldy1tb2RlIC5saXN0LCAuc2tpcC1uYXYgLmljb24sIC5za2lwLXNlYXJjaCAuaWNvbiwgI3NlYXJjaF9taW5pX2Zvcm0gLnNlYXJjaC1idXR0b246YmVmb3JlLCAuc2tpcC1hY2NvdW50IC5pY29uLCAuc2tpcC1jYXJ0IC5pY29uLCAucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGEsIC5yZXZpZXctc3VtbWFyeS10YWJsZSAucmF0aW5nLWJveCAucmF0aW5nLW51bWJlcjphZnRlciwgLnJhdGluZ3MtdGFibGUgLnJhdGluZy1ib3gsIC5yYXRpbmdzLXRhYmxlIC5yYXRpbmctYm94IC5yYXRpbmcge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25fc3ByaXRlLnBuZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xufVxuXG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogNCAvIDIpLCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAuaWNvbi1zcHJpdGUsIC5idG4tcmVtb3ZlMiwgLnJhdGluZ3MgLnJhdGluZy1ib3gsIC5yYXRpbmdzIC5yYXRpbmctYm94IC5yYXRpbmcsIC5zb3J0ZXIgPiAuc29ydC1ieSAuc29ydC1ieS1zd2l0Y2hlciwgLnNvcnRlciA+IC52aWV3LW1vZGUgLmdyaWQsXG4gIC5zb3J0ZXIgPiAudmlldy1tb2RlIC5saXN0LCAuc2tpcC1uYXYgLmljb24sIC5za2lwLXNlYXJjaCAuaWNvbiwgI3NlYXJjaF9taW5pX2Zvcm0gLnNlYXJjaC1idXR0b246YmVmb3JlLCAuc2tpcC1hY2NvdW50IC5pY29uLCAuc2tpcC1jYXJ0IC5pY29uLCAucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGEsIC5yZXZpZXctc3VtbWFyeS10YWJsZSAucmF0aW5nLWJveCAucmF0aW5nLW51bWJlcjphZnRlciwgLnJhdGluZ3MtdGFibGUgLnJhdGluZy1ib3gsIC5yYXRpbmdzLXRhYmxlIC5yYXRpbmctYm94IC5yYXRpbmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbl9zcHJpdGVAMngucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4IDEwMDBweDtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBCcmVhZGNydW1ic1xuICovXG4uYnJlYWRjcnVtYnMge1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IC0xNXB4IDAgMTVweDtcbn1cblxuLmJyZWFkY3J1bWJzIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYnJlYWRjcnVtYnMgYSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogIzExMTtcbn1cblxuLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICBjb2xvcjogIzA2NDVBRDtcbn1cblxuLmJyZWFkY3J1bWJzIHN0cm9uZyB7XG4gIGNvbG9yOiAjMTExO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uYnJlYWRjcnVtYnMgc3BhbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAwIDdweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQnV0dG9uIC0gUmVtb3ZlIC8gUHJldmlvdXNcbiAqL1xuLmJ0bi1yZW1vdmUsXG4uYnRuLXByZXZpb3VzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRURFREVEO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIEhpZGUgdGV4dCAqL1xuICBmb250OiAwLzAgYTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYnRuLXJlbW92ZTpob3Zlcixcbi5idG4tcHJldmlvdXM6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDY0NUFEO1xuICBib3JkZXItY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi5idG4tcmVtb3ZlOmFmdGVyIHtcbiAgY29udGVudDogJ1gnO1xuICBjb2xvcjogIzA2NDVBRDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5idG4tcmVtb3ZlOmhvdmVyOmFmdGVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ0bi1yZW1vdmUyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNHB4IC02NDhweDtcbiAgYm9yZGVyOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uYnRuLXJlbW92ZTI6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYnRuLXJlbW92ZTI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4uYnRuLXByZXZpb3VzOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjMDY0NUFEO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTJweDtcbiAgbWFyZ2luLXRvcDogLTRweDtcbn1cblxuLmJ0bi1wcmV2aW91czpob3ZlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgI0ZGRkZGRjtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuY3VycmVudGx5IC5idG4tcmVtb3ZlLFxuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgLmJ0bi1wcmV2aW91cyxcbi5taW5pLXByb2R1Y3RzLWxpc3QgLmJ0bi1yZW1vdmUsXG4ubWluaS1wcm9kdWN0cy1saXN0IC5idG4tcHJldmlvdXMsXG4jY29tcGFyZS1pdGVtcyAuYnRuLXJlbW92ZSxcbiNjb21wYXJlLWl0ZW1zIC5idG4tcHJldmlvdXMge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENoZWNrb3V0IEFncmVlbWVudHNcbiAqL1xuLmNoZWNrb3V0LWFncmVlbWVudHMgbGkge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uY2hlY2tvdXQtYWdyZWVtZW50cyAuYWdyZWVtZW50LWNvbnRlbnQge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtd2lkdGg6IDY3MHB4O1xuICBtYXgtaGVpZ2h0OiAxMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQ1ZWIFNlY3VyaXR5IENvZGVcbiAqL1xuLmN2di13aGF0LWlzLXRoaXMge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQ29udGFpbmVyXG4gKi9cbi5tYWluLWNvbnRhaW5lcixcbi5mb290ZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAzMHB4O1xufVxuXG4ubWFpbi1jb250YWluZXI6YWZ0ZXIsXG4uZm9vdGVyLWNvbnRhaW5lcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qXG5AaW5jbHVkZSBicChtaW4td2lkdGgsIDQ4MHB4KSB7XG5cbiAgICAubWFpbi1jb250YWluZXIsXG4gICAgLmZvb3Rlci1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAkdHJpbTtcbiAgICB9XG59XG4qL1xuLmZvb3Rlci1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMHB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDb2x1bW4gTGF5b3V0c1xuICovXG4ubWFpbjphZnRlcixcbi5jb2wtd3JhcHBlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jb2wtbGVmdCxcbi5jb2wtcmlnaHQsXG4uY29sLW1haW4ge1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5jb2wtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIC8qIFJlbW92ZSB0aGUgMTVweCBwYWRkaW5nICovXG4gIGNsZWFyOiBsZWZ0O1xufVxuXG4uY29sLWxlZnQgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29sLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAvKiBSZW1vdmUgdGhlIDE1cHggcGFkZGluZyAqL1xufVxuXG4uY29sLXJpZ2h0IGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNvbC1tYWluIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi5jb2wxLWxheW91dCAuY29sLW1haW4ge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIC8qIFJlbW92ZSB0aGUgMTVweCBwYWRkaW5nICovXG59XG5cbi5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbWFpbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi9cbn1cblxuLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbWFpbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi9cbn1cblxuLmNvbDMtbGF5b3V0IC5jb2wtcmlnaHQge1xuICB3aWR0aDogMjAuODMzMzMlO1xufVxuXG4uY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA3OS4xNjY2NyU7XG59XG5cbi5jb2wzLWxheW91dCAuY29sLXdyYXBwZXIgLmNvbC1tYWluIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogNzMuNjg0MjElO1xufVxuXG4uY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIC5jb2wtbGVmdCB7XG4gIHdpZHRoOiAyNi4zMTU3OSU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gIC5jb2wzLWxheW91dCAuY29sLXJpZ2h0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jb2wzLWxheW91dCAuY29sLXdyYXBwZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIC5jb2wtbWFpbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciAuY29sLWxlZnQge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAuY29sLWxlZnQsXG4gIC5jb2wtcmlnaHQsXG4gIC5jb2wtbWFpbixcbiAgLmNvbDEtbGF5b3V0IC5jb2wtbGVmdCxcbiAgLmNvbDEtbGF5b3V0IC5jb2wtcmlnaHQsXG4gIC5jb2wxLWxheW91dCAuY29sLW1haW4sXG4gIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbGVmdCxcbiAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1yaWdodCxcbiAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1tYWluLFxuICAuY29sMi1yaWdodC1sYXlvdXQgLmNvbC1sZWZ0LFxuICAuY29sMi1yaWdodC1sYXlvdXQgLmNvbC1yaWdodCxcbiAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbWFpbixcbiAgLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciAuY29sLWxlZnQsXG4gIC5jb2wzLWxheW91dCAuY29sLXJpZ2h0LFxuICAuY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIC5jb2wtbWFpbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5jb2wzLWxheW91dCAuY29sLXdyYXBwZXIge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5jb2wtbWFpbiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmNvbC1tYWluIC5jb2wtbGVmdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICAvKiBPbiBwcm9kdWN0IGxpc3RpbmcgcGFnZXMsIHRoZSBsZWZ0IGNvbHVtbiBnZXRzIG1vdmVkIGluc2lkZSBjb2wtbWFpbiBvbiBzbWFsbCB2aWV3cG9ydHMgKi9cbiAgfVxufVxuXG4vKiBDb250ZW50IENvbHVtbnMgKi9cbi5jb2wyLXNldCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY29sMi1zZXQgLmNvbC0xLFxuLmNvbDItc2V0IC5jb2wtMiB7XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLmNvbDItc2V0IC5jb2wtMSxcbiAgLmNvbDItc2V0IC5jb2wtMiB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxufVxuXG4uY29sMi1zZXQgLmNvbC0xIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmNvbDItc2V0IC5jb2wtMiB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAuY29sMi1zZXQgLmNvbC0xLFxuICAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmNvbDItc2V0IC5uYXJyb3cge1xuICB3aWR0aDogMzMlO1xufVxuXG4uY29sMi1zZXQgLndpZGUge1xuICB3aWR0aDogNjUlO1xufVxuXG4uY29sMi1zZXQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUb3AgQ29udGFpbmVyXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLnRvcC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogR2xvYmFsIFNpdGUgTm90aWNlXG4gKi9cbi5nbG9iYWwtc2l0ZS1ub3RpY2Uge1xuICBiYWNrZ3JvdW5kOiAjNjc2MTU3O1xuICBjb2xvcjogI0U2RTZFNjtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uZ2xvYmFsLXNpdGUtbm90aWNlIC5ub3RpY2UtaW5uZXIge1xuICBwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLXRvcDogMTRweDtcbiAgcGFkZGluZy1ib3R0b206IDE0cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kZW1vLWxvZ28ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uZ2xvYmFsLXNpdGUtbm90aWNlIHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcm9tb3Rpb25hbCBNZXNzYWdlIEJhbm5lclxuICovXG4ucHJvbW8tbXNnIHtcbiAgY29sb3I6ICMxMTE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEdyaWRcbiAqL1xuLmdyaWQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBNZXNzYWdlc1xuICovXG4uc3VjY2VzcyB7XG4gIGNvbG9yOiAjRkFGQUZBO1xufVxuXG4uZXJyb3Ige1xuICBjb2xvcjogI0RDMjAyMjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5ub3RpY2Uge1xuICBjb2xvcjogI0ZBRkFGQTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIE1lc3NhZ2VzXG4gKi9cbi5tZXNzYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5tZXNzYWdlcyBsaSBsaSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIHBhZGRpbmc6IDdweCAxMHB4IDdweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5tZXNzYWdlcyAuZXJyb3ItbXNnIGxpIHtcbiAgY29sb3I6ICNEQzIwMjI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQzIwMjI7XG59XG5cbi5tZXNzYWdlcyAubm90aWNlLW1zZyBsaSB7XG4gIGNvbG9yOiAjRkFGQUZBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREMyMDIyO1xufVxuXG4ubWVzc2FnZXMgLnN1Y2Nlc3MtbXNnIGxpIHtcbiAgY29sb3I6ICNGQUZBRkE7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRDk5NTU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTE1cHgpIHtcbiAgLm9yZGVyLWxpc3QtZ3JpZCAuY29sLTEge1xuICAgIHdpZHRoOiAzMCU7XG4gIH1cbiAgLm9yZGVyLWxpc3QtZ3JpZCAuY29sLTIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuICAub3JkZXItbGlzdC1ncmlkIC5jb2wtMyB7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQYWdlIFBvcHVwXG4gKi9cbi5wYWdlLXBvcHVwIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ucGFnZS1wb3B1cCBoMSB7XG4gIG1hcmdpbjogMCAwIDAuNWVtO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQYXltZW50IE1ldGhvZHNcbiAqL1xuLnBheW1lbnQtbWV0aG9kcyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5wYXltZW50LW1ldGhvZHMgZHQge1xuICBwYWRkaW5nOiA1cHggMDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyBkZCB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG4ucGF5bWVudC1tZXRob2RzIC5mb3JtLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDVweCAxNXB4IDE1cHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGJhY2tncm91bmQ6ICNGNEY0RjQ7XG59XG5cbi5wYXltZW50LW1ldGhvZHMgLmZvcm0tbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjMDAwO1xuICBib3JkZXItdG9wOiBub25lO1xuICB0b3A6IC0xMXB4O1xuICBsZWZ0OiAzMHB4O1xufVxuXG4ucGF5bWVudC1tZXRob2RzIC5mb3JtLWxpc3Q6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjRjRGNEY0O1xuICBib3JkZXItdG9wOiBub25lO1xuICB0b3A6IC0xMHB4O1xuICBsZWZ0OiAzMHB4O1xufVxuXG4ucGF5bWVudC1tZXRob2RzIC5mb3JtLWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBsZWFzZSBXYWl0IChMb2FkaW5nIEluZGljYXRvcilcbiAqL1xuLnBsZWFzZS13YWl0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvKiBQcmV2ZW50IHRoZSBsaW5lYnJlYWsgaW4gdGhlIEhUTUwgZnJvbSBjYXVzaW5nIGxheW91dCBpc3N1ZXMgKi9cbn1cblxuLnBsZWFzZS13YWl0IGltZyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgd2lkdGg6IDI0cHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByaWNlIEJveCAtIFN0YW5kYXJkXG4gKi9cbi5wcmljZS1ib3gge1xuICBtYXJnaW46IDdweCAwO1xufVxuXG4ucHJpY2UtYm94IHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucHJpY2Utbm90aWNlIHtcbiAgY29sb3I6ICM5QjlCOUI7XG59XG5cbi5wcmljZS1ib3ggLnByaWNlLWxhYmVsIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ucHJpY2UtYm94IC5taW5pbWFsLXByaWNlLWxpbmsge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIFdlIHdhbnQgdGhpcyB0byBzaG93IG9uIGl0cyBvd24gbGluZSwgb3RoZXJ3aXNlIHRoZSBsYXlvdXQgbG9va3MgZnVua3kgKi9cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJpY2UgQm94IC0gU3BlY2lhbFxuICovXG4ucHJpY2UtYm94IC5vbGQtcHJpY2UsXG4ucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlLWxhYmVsLFxuLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlLFxuLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2Uge1xuICBjb2xvcjogI0RDMjAyMjtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG59XG5cbi5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWxhYmVsIHtcbiAgY29sb3I6ICNEQzIwMjI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByaWNlIEJveCAtIFRheGVzXG4gKi9cbi5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4ucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnNwYW4ud2VlZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUaWVyIFByaWNlc1xuICovXG4ucHJvZHVjdC1wcmljaW5nLFxuLnRpZXItcHJpY2VzLFxuLnRpZXItcHJpY2VzLWdyb3VwZWQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGJhY2tncm91bmQ6ICNGQkY0REU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFMkQ0Qzc7XG4gIG1hcmdpbi10b3A6IDdweDtcbn1cblxuLnByb2R1Y3QtcHJpY2luZyBsaSxcbi50aWVyLXByaWNlcyBsaSxcbi50aWVyLXByaWNlcy1ncm91cGVkIGxpIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucHJvZHVjdC1wcmljaW5nIC5iZW5lZml0LFxuLnRpZXItcHJpY2VzIC5iZW5lZml0LFxuLnRpZXItcHJpY2VzLWdyb3VwZWQgLmJlbmVmaXQge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5wcm9kdWN0LXByaWNpbmcgLnByaWNlLFxuLnRpZXItcHJpY2VzIC5wcmljZSxcbi50aWVyLXByaWNlcy1ncm91cGVkIC5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBJdGVtIE9wdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaXRlbS1vcHRpb25zIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5pdGVtLW9wdGlvbnM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uaXRlbS1vcHRpb25zIGR0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBsZWZ0O1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLml0ZW0tb3B0aW9ucyBkdDphZnRlciB7XG4gIGNvbnRlbnQ6ICc6ICc7XG59XG5cbi5pdGVtLW9wdGlvbnMgZGQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBtYXJnaW46IDAgMCA2cHg7XG59XG5cbi50cnVuY2F0ZWQsXG4udHJ1bmNhdGVkIGEuZG90cyB7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuLnRydW5jYXRlZCBhLmRldGFpbHMge1xuICBjdXJzb3I6IGhlbHA7XG4gIGhlaWdodDogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG59XG5cbi50cnVuY2F0ZWQgYS5kZXRhaWxzOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMzAwO1xufVxuXG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAzMDA7XG4gIHdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDY0NUFEO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuICB0b3A6IDIxcHg7XG4gIGxlZnQ6IC0xMDBweDtcbn1cblxuLnRydW5jYXRlZCAudHJ1bmNhdGVkX2Z1bGxfdmFsdWUgLml0ZW0tb3B0aW9uczphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICMwNjQ1QUQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGxlZnQ6IDk3cHg7XG4gIHRvcDogLTdweDtcbn1cblxuLnRydW5jYXRlZCAudHJ1bmNhdGVkX2Z1bGxfdmFsdWUgLml0ZW0tb3B0aW9ucyA+IHAge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udHJ1bmNhdGVkIC5zaG93IC5pdGVtLW9wdGlvbnMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAudHJ1bmNhdGVkIHtcbiAgICBjdXJzb3I6IGluaGVyaXQ7XG4gIH1cbiAgLnRydW5jYXRlZCBhLmRldGFpbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRydW5jYXRlZCAudHJ1bmNhdGVkX2Z1bGxfdmFsdWUgLml0ZW0tb3B0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAudHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zIHAge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC50cnVuY2F0ZWQgLnRydW5jYXRlZF9mdWxsX3ZhbHVlIC5pdGVtLW9wdGlvbnM6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJpbnRlciBGcmllbmRseSBQYWdlXG4gKi9cbi5wYWdlLXByaW50IHtcbiAgd2lkdGg6IDYuNWluO1xuICBtYXJnaW46IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEFkZCB0byBsaW5rc1xuICovXG4uYWRkLXRvLWxpbmtzIHtcbiAgbWFyZ2luOiA3cHggMDtcbn1cblxuLmFkZC10by1saW5rcyBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwcHggM3B4IDNweDtcbn1cblxuLmFkZC10by1saW5rcyAuc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJvZHVjdCBJbWFnZVxuICovXG4ucHJvZHVjdC1pbWFnZSxcbi5uby10b3VjaCAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LWltYWdlOm5vdCguem9vbS1hdmFpbGFibGUpOmhvdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbkBpbmNsdWRlIGJwIChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICBib2R5IC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2U6aG92ZXIge1xuICAgIH1cbn1cblxuLm5vLXRvdWNoIC5wcm9kdWN0LWltYWdlOmhvdmVyIHtcbn1cbiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBSYXRpbmdzXG4gKi9cbi5yYXRpbmdzIHtcbiAgbWFyZ2luOiA3cHggMDtcbn1cblxuLnJhdGluZ3MgLnJhdGluZy1ib3gsXG4ucmF0aW5ncyAucmF0aW5nLWxpbmtzIHtcbiAgbWFyZ2luOiA1cHggMDtcbn1cblxuLnJhdGluZ3MgLnJhdGluZy1ib3gge1xuICB3aWR0aDogNjVweDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYxNXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmF0aW5ncyAucmF0aW5nLWJveCAucmF0aW5nIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTNweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MDBweDtcbn1cblxuLnJhdGluZ3MgLmFtb3VudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDVweCBhdXRvO1xufVxuXG4ucmF0aW5ncyAucmF0aW5nLWxpbmtzIC5zZXBhcmF0b3Ige1xuICBtYXJnaW46IDAgM3B4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTdGFuZGFyZCBGb3JtYXR0ZWQgVGV4dCBCbG9ja1xuICovXG4uc3RkIHAge1xuICBtYXJnaW46IDAgMCAxMHB4O1xufVxuXG4uc3RkIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnN0ZCB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5zdGQgLm5vdGUge1xuICBjb2xvcjogIzlCOUI5QjtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUYWJzXG4gKi9cbi50YWJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogVG9vbGJhclxuICovXG4udG9vbGJhciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgcGFkZGluZzogNXB4IDEwcHggMHB4IDEwcHg7XG59XG5cbi50b29sYmFyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnBhZ2VyLW5vLXRvb2xiYXIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ucGFnZXItbm8tdG9vbGJhciB+IC5wYWdlci1uby10b29sYmFyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnRvb2xiYXIsXG4ucGFnZXIge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMTExO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4udG9vbGJhciBsYWJlbCxcbi5wYWdlci1uby10b29sYmFyIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnNvcnRlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5zb3J0ZXIgbGFiZWwge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5zb3J0ZXIgbGFiZWw6YWZ0ZXIge1xuICBjb250ZW50OiAnOic7XG59XG5cbi5zb3J0ZXIgPiAuc29ydC1ieSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4uc29ydGVyID4gLnNvcnQtYnkgLnNvcnQtYnktc3dpdGNoZXIge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5zb3J0ZXIgPiAuc29ydC1ieSAuc29ydC1ieS1zd2l0Y2hlci0tYXNjIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNHB4IC01NDJweDtcbn1cblxuLnNvcnRlciA+IC5zb3J0LWJ5IC5zb3J0LWJ5LXN3aXRjaGVyLS1hc2M6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDZweCAtNTQycHg7XG59XG5cbi5zb3J0ZXIgPiAuc29ydC1ieSAuc29ydC1ieS1zd2l0Y2hlci0tZGVzYyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDRweCAtNTY3cHg7XG59XG5cbi5zb3J0ZXIgPiAuc29ydC1ieSAuc29ydC1ieS1zd2l0Y2hlci0tZGVzYzpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NnB4IC01NjdweDtcbn1cblxuLnNvcnRlciA+IC52aWV3LW1vZGUge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5zb3J0ZXIgPiAudmlldy1tb2RlIC5ncmlkLFxuLnNvcnRlciA+IC52aWV3LW1vZGUgLmxpc3Qge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbn1cblxuLnNvcnRlciA+IC52aWV3LW1vZGUgLmdyaWQge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogOHB4IC00OTJweDtcbn1cblxuLnNvcnRlciA+IC52aWV3LW1vZGUgc3Ryb25nLmdyaWQsXG4uc29ydGVyID4gLnZpZXctbW9kZSBhLmdyaWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtNDkycHg7XG59XG5cbi5zb3J0ZXIgPiAudmlldy1tb2RlIC5saXN0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTFweCAtNTE3cHg7XG59XG5cbi5zb3J0ZXIgPiAudmlldy1tb2RlIHN0cm9uZy5saXN0LFxuLnNvcnRlciA+IC52aWV3LW1vZGUgYS5saXN0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggLTUxN3B4O1xufVxuXG4ucGFnZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wYWdlciA+IC5jb3VudC1jb250YWluZXIge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnBhZ2VyIC5hbW91bnQge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXJnaW46IDAgMTVweCAwIDA7XG59XG5cbi5wYWdlciAubGltaXRlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuXG4ucGFnZXIgLmxpbWl0ZXIgPiBsYWJlbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuLnBhZ2VyIC5saW1pdGVyID4gbGFiZWw6YWZ0ZXIge1xuICBjb250ZW50OiAnOic7XG59XG5cbi5wYWdlciAuYW1vdW50LFxuLnBhZ2VyIC5saW1pdGVyLFxuLnBhZ2VyIC5wYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnBhZ2VzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuLnBhZ2VzIHN0cm9uZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYWdlcyBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucGFnZXMgYSxcbi5wYWdlcyAuY3VycmVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5wYWdlcyAuY3VycmVudCxcbi5wYWdlcyAuY3VycmVudDpob3ZlciB7XG4gIGNvbG9yOiAjMTExO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICB3aWR0aDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ucGFnZXMgLm5leHQsXG4ucGFnZXMgLnByZXZpb3VzIHtcbiAgZm9udDogMC8wIGE7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlcyAubmV4dDpob3Zlcixcbi5wYWdlcyAucHJldmlvdXM6aG92ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDY0NUFEO1xufVxuXG4ucGFnZXMgLm5leHQ6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMwNjQ1QUQ7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0ycHg7XG59XG5cbi5wYWdlcyAubmV4dDpob3ZlcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzAzMjg2MztcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4ucGFnZXMgLnByZXZpb3VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgIzA2NDVBRDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xufVxuXG4ucGFnZXMgLnByZXZpb3VzOmhvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgIzAzMjg2MztcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLnBhZ2VyIC5hbW91bnQtLWhhcy1wYWdlcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucGFnZXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5saW1pdGVyIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLmNvbDEtbGF5b3V0IC5zb3J0ZXIsXG4gIC5jb2wxLWxheW91dCAucGFnZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wxLWxheW91dCAucGFnZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5jb2wxLWxheW91dCAucGFnZXIgLnBhZ2VzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuY29sMS1sYXlvdXQgLnBhZ2VyIC5jb3VudC1jb250YWluZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC5jb2wyLWxlZnQtbGF5b3V0IC5zb3J0ZXIsXG4gIC5jb2wyLWxlZnQtbGF5b3V0IC5wYWdlcixcbiAgLmNvbDItcmlnaHQtbGF5b3V0IC5zb3J0ZXIsXG4gIC5jb2wyLXJpZ2h0LWxheW91dCAucGFnZXIsXG4gIC5jb2wzLWxheW91dCAuc29ydGVyLFxuICAuY29sMy1sYXlvdXQgLnBhZ2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sMi1sZWZ0LWxheW91dCAucGFnZXIsXG4gIC5jb2wyLXJpZ2h0LWxheW91dCAucGFnZXIsXG4gIC5jb2wzLWxheW91dCAucGFnZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5jb2wyLWxlZnQtbGF5b3V0IC5wYWdlciAucGFnZXMsXG4gIC5jb2wyLXJpZ2h0LWxheW91dCAucGFnZXIgLnBhZ2VzLFxuICAuY29sMy1sYXlvdXQgLnBhZ2VyIC5wYWdlcyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmNvbDItbGVmdC1sYXlvdXQgLnBhZ2VyIC5jb3VudC1jb250YWluZXIsXG4gIC5jb2wyLXJpZ2h0LWxheW91dCAucGFnZXIgLmNvdW50LWNvbnRhaW5lcixcbiAgLmNvbDMtbGF5b3V0IC5wYWdlciAuY291bnQtY29udGFpbmVyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLnRvb2xiYXIgLnZpZXctbW9kZSA+IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFRheCAtIEZ1bGwgVGF4IFN1bW1hcnlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jY2hlY2tvdXQtcmV2aWV3LXRhYmxlIC5zdW1tYXJ5LWNvbGxhcHNlLFxuI3Nob3BwaW5nLWNhcnQtdG90YWxzLXRhYmxlIC5zdW1tYXJ5LWNvbGxhcHNlLFxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIC5zdW1tYXJ5LWNvbGxhcHNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNjaGVja291dC1yZXZpZXctdGFibGUgLnN1bW1hcnktY29sbGFwc2U6YmVmb3JlLFxuI3Nob3BwaW5nLWNhcnQtdG90YWxzLXRhYmxlIC5zdW1tYXJ5LWNvbGxhcHNlOmJlZm9yZSxcbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSAuc3VtbWFyeS1jb2xsYXBzZTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDdweCBzb2xpZCAjMDY0NUFEO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4jY2hlY2tvdXQtcmV2aWV3LXRhYmxlIC5zdW1tYXJ5LWNvbGxhcHNlOmhvdmVyOmJlZm9yZSxcbiNzaG9wcGluZy1jYXJ0LXRvdGFscy10YWJsZSAuc3VtbWFyeS1jb2xsYXBzZTpob3ZlcjpiZWZvcmUsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUgLnN1bW1hcnktY29sbGFwc2U6aG92ZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA3cHggc29saWQgIzAzMjg2MztcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuI2NoZWNrb3V0LXJldmlldy10YWJsZSAuc2hvdy1kZXRhaWxzIC5zdW1tYXJ5LWNvbGxhcHNlOmJlZm9yZSxcbiNzaG9wcGluZy1jYXJ0LXRvdGFscy10YWJsZSAuc2hvdy1kZXRhaWxzIC5zdW1tYXJ5LWNvbGxhcHNlOmJlZm9yZSxcbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSAuc2hvdy1kZXRhaWxzIC5zdW1tYXJ5LWNvbGxhcHNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICMwNjQ1QUQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbiNjaGVja291dC1yZXZpZXctdGFibGUgLnNob3ctZGV0YWlscyAuc3VtbWFyeS1jb2xsYXBzZTpob3ZlcjpiZWZvcmUsXG4jc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgLnNob3ctZGV0YWlscyAuc3VtbWFyeS1jb2xsYXBzZTpob3ZlcjpiZWZvcmUsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUgLnNob3ctZGV0YWlscyAuc3VtbWFyeS1jb2xsYXBzZTpob3ZlcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjMDMyODYzO1xuICBib3JkZXItdG9wOiBub25lO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4jc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgdGZvb3QgdGQgLnN1bW1hcnktY29sbGFwc2U6YmVmb3JlLCAjc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgdGZvb3QgdGQgLnN1bW1hcnktY29sbGFwc2U6aG92ZXI6YmVmb3JlIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBNYWdlbnRvIEhlbHBlcnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hLXJpZ2h0LFxuLmFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5uby1kaXNwbGF5IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubm9icixcbi5ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ud2lkdGgtZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDdXN0b20gSGVscGVyc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBQcmludCBTdHlsZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS1wcmludCAucHJpbnQtaGVhZCB7XG4gIG1hcmdpbjogMCAwIDE1cHg7XG59XG5cbi5wYWdlLXByaW50IC5wcmludC1oZWFkIC5sb2dvIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1heC1oZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBGT1JNUyAtIENPTU1PTlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEZpZWxkc2V0c1xuICovXG4uZmllbGRzZXQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbn1cblxuLmZpZWxkc2V0IHAucmVxdWlyZWQge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG5cbi5maWVsZHNldCArIC5maWVsZHNldCB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuZm9ybSAubGVnZW5kIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSW5wdXQgQm94XG4gKi9cbi5pbnB1dC1ib3gge1xuICBwYWRkaW5nLXRvcDogMnB4O1xufVxuXG4uaW5wdXQtYm94OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxubGkuY2VudGluZWwtbG9nb3MgZGl2LmlucHV0LWJveCBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIEZvciBhZGphY2VudCBzZWxlY3QgaW5wdXRzLiAqL1xuLyogRXhhbXBsZTogY3JlZGl0IGNhcmQgZXhwaXJhdGlvbiBtb250aCBhbmQgeWVhci4gKi9cbi5pbnB1dC1ib3ggLnYtZml4IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIExhYmVsc1xuICovXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG5sYWJlbC5yZXF1aXJlZDphZnRlcixcbnNwYW4ucmVxdWlyZWQ6YWZ0ZXIge1xuICBjb250ZW50OiAnIConO1xuICBjb2xvcjogI0RDMjAyMjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbmxhYmVsLnJlcXVpcmVkIGVtLFxuc3Bhbi5yZXF1aXJlZCBlbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEhpbnRzXG4gKi9cbi5pbnB1dC1oaW50IHtcbiAgY29sb3I6ICM5QjlCOUI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2VsZWN0XG4gKi9cbnNlbGVjdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NDQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBhZGRpbmc6IDVweCAxNXB4IDVweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJFQUFBQUxDQVlBQUFDWklHWUhBQUFBQVhOU1IwSUFyczRjNlFBQUFBbHdTRmx6QUFBTEV3QUFDeE1CQUpxY0dBQUFCQ0pwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJbGhOVUNCRGIzSmxJRFV1TkM0d0lqNEtJQ0FnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0S0lDQWdJQ0FnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJS0lDQWdJQ0FnSUNBZ0lDQWdlRzFzYm5NNmRHbG1aajBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5MGFXWm1MekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tVjRhV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlpYaHBaaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGtZejBpYUhSMGNEb3ZMM0IxY213dWIzSm5MMlJqTDJWc1pXMWxiblJ6THpFdU1TOGlDaUFnSUNBZ0lDQWdJQ0FnSUhodGJHNXpPbmh0Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9sSmxjMjlzZFhScGIyNVZibWwwUGpJOEwzUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStDaUFnSUNBZ0lDQWdJRHgwYVdabU9rTnZiWEJ5WlhOemFXOXVQalU4TDNScFptWTZRMjl0Y0hKbGMzTnBiMjQrQ2lBZ0lDQWdJQ0FnSUR4MGFXWm1PbGhTWlhOdmJIVjBhVzl1UGpjeVBDOTBhV1ptT2xoU1pYTnZiSFYwYVc5dVBnb2dJQ0FnSUNBZ0lDQThkR2xtWmpwUGNtbGxiblJoZEdsdmJqNHhQQzkwYVdabU9rOXlhV1Z1ZEdGMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajQzTWp3dmRHbG1aanBaVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakUzUEM5bGVHbG1PbEJwZUdWc1dFUnBiV1Z1YzJsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlEyOXNiM0pUY0dGalpUNHhQQzlsZUdsbU9rTnZiRzl5VTNCaFkyVStDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0eE1Ud3ZaWGhwWmpwUWFYaGxiRmxFYVcxbGJuTnBiMjQrQ2lBZ0lDQWdJQ0FnSUR4a1l6cHpkV0pxWldOMFBnb2dJQ0FnSUNBZ0lDQWdJQ0E4Y21SbU9rSmhaeTgrQ2lBZ0lDQWdJQ0FnSUR3dlpHTTZjM1ZpYW1WamRENEtJQ0FnSUNBZ0lDQWdQSGh0Y0RwTmIyUnBabmxFWVhSbFBqSXdNVGN0TVRBdE16QlVNREU2TVRBNk5qSThMM2h0Y0RwTmIyUnBabmxFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3T2tOeVpXRjBiM0pVYjI5c1BsQnBlR1ZzYldGMGIzSWdNeTQyUEM5NGJYQTZRM0psWVhSdmNsUnZiMncrQ2lBZ0lDQWdJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQZ29nSUNBOEwzSmtaanBTUkVZK0Nqd3ZlRHA0YlhCdFpYUmhQZ285V3B0ZUFBQUEwMGxFUVZRb0ZaV1B5dzRCUVJCRlowczhRc0l2V1Z2NEQ1RVFHeXdrVmhZK3l0ZlllQ2Qybk5PNkU0UHhxT1RNN2FxNlZkT2RaZmVvSVQyb3gveWI2TlB2WElnRzN5VnNZUTRsK0JUMjllbDN6dm1zQzJlNFJwMmlGWGdYMXUwLytwM1BtckNBRTZSRkU4N1BUek8zbmhib2Q4NzVFR1crRnBMaHdIa0c0YXBSemEybkgrbDNMaGRlZFFVWDBPaWJ4OUNLYW03ZHZyNmlKNGZOQXd4SGNHQVA2NmptMXUyLzNJQmFMcXBrSTNDQmd3bHo2L1ovQ3EvYWh4MjRSRFV2ZkFLOXQrSEFFRFpSLzE2UXRyWTVkRUF0akJ1cFFUaG5GazRiWHdBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAxMHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5zZWxlY3QgKyBzZWxlY3Qge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG5zZWxlY3RbbXVsdGlwbGVdIHtcbiAgd2lkdGg6IDI3MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTExO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogVGV4dGFyZWFcbiAqL1xudGV4dGFyZWEge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0NTBweDtcbiAgcGFkZGluZzogNXB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBJbnB1dHNcbiAqL1xuLmlucHV0LXRleHQge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxMTE7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmlucHV0LXRleHQ6Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDY0NUFEO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaW5wdXQtdGV4dC52YWxpZGF0aW9uLWZhaWxlZCB7XG4gIGJvcmRlci1jb2xvcjogI0RDMjAyMjtcbn1cblxuLmlucHV0LXRleHQudmFsaWRhdGlvbi1mYWlsZWQ6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiB0aW50KCNEQzIwMjIsIDUwJSk7XG59XG5cbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1zZWFyY2hdLFxuaW5wdXRbdHlwZT1udW1iZXJdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXRleHRdIHtcbiAgaGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nOiAwIDhweDtcbn1cblxuaW5wdXRbdHlwZT1lbWFpbF0sXG5pbnB1dFt0eXBlPXNlYXJjaF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9dGVsXSxcbmlucHV0W3R5cGU9dGV4dF0ge1xuICB3aWR0aDogMzY1cHg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogT25seSBzaG93IG9uIGlQaG9uZXMgKG5vdCBpUGFkcyBvciBhbnkgb3RoZXIgZGV2aWNlKSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWRldmljZS13aWR0aDogNTY4cHgpIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gIGlucHV0W3R5cGU9ZW1haWxdLFxuICBpbnB1dFt0eXBlPXNlYXJjaF0sXG4gIGlucHV0W3R5cGU9bnVtYmVyXSxcbiAgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gIGlucHV0W3R5cGU9dGVsXSxcbiAgaW5wdXRbdHlwZT10ZXh0XSxcbiAgc2VsZWN0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgLyogUHJldmVudCBmcm9tIHpvb21pbmcgb24gZm9jdXMgKi9cbiAgfVxufVxuXG4uaWU4IC5pbnB1dC10ZXh0IHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBJbnB1dHMgLSBRdWFudGl0eVxuICovXG5pbnB1dFt0eXBlPW51bWJlcl0ucXR5LFxuaW5wdXRbdHlwZT10ZXh0XS5xdHkge1xuICB3aWR0aDogM2VtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBsYWNlaG9sZGVyXG4gKi9cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOUI5QjlCO1xufVxuXG5pbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5QjlCOUI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENoZWNrYm94IEFuZCBSYWRpb1xuICovXG4uY2hlY2tib3gsXG4ucmFkaW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uY2hlY2tib3ggKyBsYWJlbCxcbi5yYWRpbyArIGxhYmVsIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogODUlO1xuICBwYWRkaW5nOiAwIDAgMCA4cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogVmFsaWRhdGlvblxuICovXG5wLnJlcXVpcmVkLFxuLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgbWFyZ2luOiA1cHggMCAwO1xuICBjb2xvcjogI0RDMjAyMjtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBGb3JtIExpc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZm9ybS1saXN0ID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZm9ybS1saXN0IHNlbGVjdCB7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgd2lkdGg6IDM2NXB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWxpc3QgLmlucHV0LXJhbmdlIC5pbnB1dC10ZXh0IHtcbiAgd2lkdGg6IDc0cHg7XG59XG5cbi5mb3JtLWxpc3QgLmZpZWxkLFxuLmZvcm0tbGlzdCAud2lkZSxcbi5mb3JtLWxpc3QgLmNvbnRyb2wge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4vKiBUdXJuIHRoZSBsYWJlbCBvZiBjb250cm9scyAocmFkaW8vY2hlY2tib3gpIGludG8gYSBidXR0b24gc3R5bGUgdGhhdCB3cmFwcyB0aGUgaW5wdXQgKi9cbi5mb3JtLWxpc3QgLmNvbnRyb2wsXG4uc3AtbWV0aG9kcyBkdCxcbiNjaGVja291dC1zaGlwcGluZy1tZXRob2QtbG9hZCAuc3AtbWV0aG9kcyBkZCxcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCxcbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IHtcbiAgLyogV2hlbiBhIGxhYmVsIGlzIG5leHQgdG8gYW4gaW5wdXQgdGhhdCBpcyBzZXQgdG8gbm90IGRpc3BsYXksIHdlIHNob3VsZCBzdHlsZSB0aGUgbGFiZWwgaW4gYSBub24tY2xpY2thYmxlIHN0YXRlICovXG59XG5cbi5mb3JtLWxpc3QgLmNvbnRyb2wgZGl2LmlucHV0LWJveCxcbi5zcC1tZXRob2RzIGR0IGRpdi5pbnB1dC1ib3gsXG4jY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLWxvYWQgLnNwLW1ldGhvZHMgZGQgZGl2LmlucHV0LWJveCxcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCBkaXYuaW5wdXQtYm94LFxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgZGl2LmlucHV0LWJveCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5mb3JtLWxpc3QgLmNvbnRyb2wgZGl2LmlucHV0LWJveDphZnRlcixcbi5zcC1tZXRob2RzIGR0IGRpdi5pbnB1dC1ib3g6YWZ0ZXIsXG4jY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLWxvYWQgLnNwLW1ldGhvZHMgZGQgZGl2LmlucHV0LWJveDphZnRlcixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCBkaXYuaW5wdXQtYm94OmFmdGVyLFxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgZGl2LmlucHV0LWJveDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mb3JtLWxpc3QgLmNvbnRyb2wgaW5wdXQucmFkaW8sXG4uZm9ybS1saXN0IC5jb250cm9sIGlucHV0LmNoZWNrYm94LFxuLnNwLW1ldGhvZHMgZHQgaW5wdXQucmFkaW8sXG4uc3AtbWV0aG9kcyBkdCBpbnB1dC5jaGVja2JveCxcbiNjaGVja291dC1zaGlwcGluZy1tZXRob2QtbG9hZCAuc3AtbWV0aG9kcyBkZCBpbnB1dC5yYWRpbyxcbiNjaGVja291dC1zaGlwcGluZy1tZXRob2QtbG9hZCAuc3AtbWV0aG9kcyBkZCBpbnB1dC5jaGVja2JveCxcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCBpbnB1dC5yYWRpbyxcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCBpbnB1dC5jaGVja2JveCxcbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGlucHV0LnJhZGlvLFxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgaW5wdXQuY2hlY2tib3gge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG5cbi5mb3JtLWxpc3QgLmNvbnRyb2wgbGFiZWwsXG4uc3AtbWV0aG9kcyBkdCBsYWJlbCxcbiNjaGVja291dC1zaGlwcGluZy1tZXRob2QtbG9hZCAuc3AtbWV0aG9kcyBkZCBsYWJlbCxcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCBsYWJlbCxcbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxhYmVsIHtcbiAgY29sb3I6ICMxMTE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMjUwcHg7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiA2cHggMTBweCA2cHggNDBweDtcbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbCBsYWJlbDpob3Zlcixcbi5zcC1tZXRob2RzIGR0IGxhYmVsOmhvdmVyLFxuI2NoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZC1sb2FkIC5zcC1tZXRob2RzIGRkIGxhYmVsOmhvdmVyLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIGxhYmVsOmhvdmVyLFxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgbGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjRjRGNEY0LCAzJSk7XG59XG5cbi5mb3JtLWxpc3QgLmNvbnRyb2wgLm5vLWRpc3BsYXkgKyBsYWJlbCxcbi5zcC1tZXRob2RzIGR0IC5uby1kaXNwbGF5ICsgbGFiZWwsXG4jY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLWxvYWQgLnNwLW1ldGhvZHMgZGQgLm5vLWRpc3BsYXkgKyBsYWJlbCxcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCAubm8tZGlzcGxheSArIGxhYmVsLFxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgLm5vLWRpc3BsYXkgKyBsYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5mb3JtLWxpc3QgLmNvbnRyb2wgLm5vLWRpc3BsYXkgKyBsYWJlbDpob3Zlcixcbi5zcC1tZXRob2RzIGR0IC5uby1kaXNwbGF5ICsgbGFiZWw6aG92ZXIsXG4jY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLWxvYWQgLnNwLW1ldGhvZHMgZGQgLm5vLWRpc3BsYXkgKyBsYWJlbDpob3ZlcixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCAubm8tZGlzcGxheSArIGxhYmVsOmhvdmVyLFxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgLm5vLWRpc3BsYXkgKyBsYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBsYWJlbCxcbi5jb2wyLXNldCAuZm9ybS1saXN0IC5jb250cm9sIGxhYmVsIHtcbiAgbWluLXdpZHRoOiBpbmhlcml0O1xuICB3aWR0aDogMjUwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbC5yZW1lbWJlci1tZS1ib3ggbGFiZWwge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IGluaGVyaXQ7XG59XG5cbi5mb3JtLWxpc3QgLmNvbnRyb2wge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uZm9ybS1saXN0IC5jb250cm9sIGxhYmVsIHtcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi5mb3JtLWxpc3QgLmNvbnRyb2wgLnJhZGlvLFxuLmZvcm0tbGlzdCAuY29udHJvbCAuY2hlY2tib3gge1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbCAuaW5wdXQtYm94IHtcbiAgY2xlYXI6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDA7XG59XG5cbmZvcm0gLmZvcm0taW5zdHJ1Y3Rpb25zIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM5QjlCOUI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFRhYmxlIEhlbHBlcnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGlkZS10aCB7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBEYXRhIFRhYmxlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRhdGEtdGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmRhdGEtdGFibGUgdGQsXG4uZGF0YS10YWJsZSB0aCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5kYXRhLXRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmRhdGEtdGFibGUgdGhlYWQgdGgsXG4uZGF0YS10YWJsZSB0Ym9keSB0ZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzBDMEMwO1xufVxuXG4uZGF0YS10YWJsZSB0Ym9keSB0ZCxcbi5kYXRhLXRhYmxlIHRmb290IHRkIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uZGF0YS10YWJsZSB0Zm9vdCB0ciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uZGF0YS10YWJsZSB0Ym9keSB0ZCAuaXRlbS1vcHRpb25zIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5kYXRhLXRhYmxlIHRib2R5IHRkIC5pdGVtLW9wdGlvbnMgZHQ6YWZ0ZXIge1xuICBjb250ZW50OiAnOic7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEdlbmVyaWMgSW5mbyBUYWJsZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5pbmZvLWJveCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDMEMwQzA7XG4gIHBhZGRpbmc6IDEycHggMTVweDtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbn1cblxuLmluZm8tYm94IGgyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLmluZm8tdGFibGUgdGgsXG4uaW5mby10YWJsZSB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5pbmZvLXRhYmxlIHRoIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDRweCAyMHB4IDRweCAwO1xufVxuXG4uaW5mby10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDRweCAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBaZWJyYS1TdHJpcGUgVGFibGVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uemVicmEtdGFibGUgdHI6Zmlyc3QtY2hpbGQsXG4uemVicmEtdGFibGUgdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0MwQzBDMDtcbn1cblxuLnplYnJhLXRhYmxlIHRkLFxuLnplYnJhLXRhYmxlIHRoIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDMEMwQzA7XG4gIHBhZGRpbmc6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi56ZWJyYS10YWJsZSB0ciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRUVERUQ7XG59XG5cbi56ZWJyYS10YWJsZSB0cjpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY3RjU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIExpbmVhcml6ZSBUYWJsZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLmxpbmVhcml6ZS10YWJsZSB7XG4gICAgLyogSGVscGVycyAqL1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdHIsXG4gIC5saW5lYXJpemUtdGFibGUgdGgsXG4gIC5saW5lYXJpemUtdGFibGUgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdGhlYWQgdGgge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIHRoZWFkIHRoLmxpbi1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdGhlYWQgdGg6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdGJvZHkgdHIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwIDEwcHggNHB4O1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdGJvZHkgdGQubGluLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCxcbiAgLmxpbmVhcml6ZS10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZSB0Ym9keSB0ZFtkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdGJvZHkgdGRbZGF0YS1yd2QtbGFiZWxdOmJlZm9yZSB7XG4gICAgY29udGVudDogYXR0cihkYXRhLXJ3ZC1sYWJlbCkgXCI6XCI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIHRmb290IHRyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIHRmb290IHRyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIHRmb290IHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIHRmb290IHRkLmxpbi1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdGZvb3QgdGQ6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZSB0Zm9vdCB0ZDpudGgtY2hpbGQoZXZlbikge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIC5saW5lYXJpemUtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIC5saW5lYXJpemUtdW5wYWQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZSAubGluZWFyaXplLXNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB7XG4gICAgLyogSGVscGVycyAqL1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdHIsXG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGgsXG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGhlYWQgdGgge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRoZWFkIHRoLmxpbi1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGhlYWQgdGg6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGJvZHkgdHIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwIDEwcHggNHB4O1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGJvZHkgdGQubGluLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCxcbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Ym9keSB0ZFtkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGJvZHkgdGRbZGF0YS1yd2QtbGFiZWxdOmJlZm9yZSB7XG4gICAgY29udGVudDogYXR0cihkYXRhLXJ3ZC1sYWJlbCkgXCI6XCI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRmb290IHRyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRmb290IHRyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRmb290IHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRmb290IHRkLmxpbi1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGZvb3QgdGQ6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Zm9vdCB0ZDpudGgtY2hpbGQoZXZlbikge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIC5saW5lYXJpemUtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIC5saW5lYXJpemUtdW5wYWQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSAubGluZWFyaXplLXNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmxpbmVhcml6ZS10YWJsZSAubGluZWFyaXplLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEdsb2JhbFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ud3JhcHBlciB7XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4ud3JhcHBlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEhlYWRlclxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICB9XG4gIC5wYWdlLWhlYWRlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4uaGVhZGVyLWxhbmd1YWdlLWNvbnRhaW5lcixcbi5wYWdlLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTGFuZ3VhZ2Ugc3dpdGNoZXIgKyB3ZWxjb21lIG1lc3NhZ2VcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQge1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQgLmhlYWRlci1sYW5ndWFnZS1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmhlYWRlci1sYW5ndWFnZS1iYWNrZ3JvdW5kOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmhlYWRlci1sYW5ndWFnZS1iYWNrZ3JvdW5kIC5mb3JtLWxhbmd1YWdlLFxuLmhlYWRlci1sYW5ndWFnZS1iYWNrZ3JvdW5kIC5jdXJyZW5jeS1zd2l0Y2hlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCAud2VsY29tZS1tc2cge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5wYWdlLWhlYWRlci1jb250YWluZXIgLnN0b3JlLWxhbmd1YWdlLWNvbnRhaW5lciB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWF4LXdpZHRoOiAzNSU7XG4gIHBhZGRpbmc6IDEzcHggMTVweCAxMHB4IDEwcHg7XG59XG5cbi5wYWdlLWhlYWRlci1jb250YWluZXIgLnN0b3JlLWxhbmd1YWdlLWNvbnRhaW5lciBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYWdlLWhlYWRlci1jb250YWluZXIgLnN0b3JlLWxhbmd1YWdlLWNvbnRhaW5lciBzZWxlY3Qge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc3RvcmUtbGFuZ3VhZ2UtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICB9XG4gIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnN0b3JlLWxhbmd1YWdlLWNvbnRhaW5lciBzZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuXG4uaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQsXG4uaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQgYSB7XG4gIGNvbG9yOiAjRTZFNkU2O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMb2dvXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA2NSU7XG4gIG1pbi13aWR0aDogMTAwcHg7XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLmxvZ28gaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ubG9nbyAuc21hbGwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxvZ28gLmxhcmdlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxvZ286aG92ZXIge1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLmxvZ28ge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgbWluLWhlaWdodDogOTBweDtcbiAgfVxuICAubG9nbyAuc21hbGwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxvZ28gLmxhcmdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTa2lwIExpbmtzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNraXAtbGlua3Mge1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFREVERUQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRURFREVEO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5za2lwLWxpbmtzIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCAtIExpbmtcbiAqL1xuLnNraXAtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7XG4gIGhlaWdodDogNDRweDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgY29sb3I6ICMxMTE7XG4gIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbmEuc2tpcC1saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2tpcC1saW5rOm5vdCguc2tpcC1hY3RpdmUpOmhvdmVyIHtcbiAgb3BhY2l0eTogMC44O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5za2lwLWxpbmsge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNFREVERUQ7XG4gIH1cbiAgLnNraXAtbGluazpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAuc2tpcC1saW5rIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNraXAgTGluayAtIEFjdGl2ZVxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5za2lwLWxpbmsuc2tpcC1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNFREVERUQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgLnNraXAtbGluay5za2lwLWFjdGl2ZSBzcGFuIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIExpbmsgLSBJY29uXG4gKi9cbi5za2lwLWxpbmsgLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5za2lwLWxpbmsuc2tpcC1uYXYgLmljb24sXG4uc2tpcC1saW5rLnNraXAtY2FydDpub3QoLm5vLWNvdW50KSAuaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5za2lwLWxpbmsgLmljb24ge1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNraXAgTGluayAtIExhYmVsXG4gKi9cbi5za2lwLWxpbmsgLmxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAuc2tpcC1saW5rIC5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNraXAgQ29udGVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5za2lwLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2tpcC1jb250ZW50LnNraXAtYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICNFREVERUQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEdsb2JhbCBIZWFkZXIgTmF2aWdhdGlvblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgI2hlYWRlci1hY2NvdW50IGxpIGEsXG4gIC5uYXYtcHJpbWFyeSBhLmxldmVsMCB7XG4gICAgcGFkZGluZzogMCAxNXB4IDAgMjVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAjMTExO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cbiAgI2hlYWRlci1hY2NvdW50IGxpOmxhc3QtY2hpbGQgYSxcbiAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMDpsYXN0LWNoaWxkIGEubGV2ZWwwIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG4gIC5uby10b3VjaCAjaGVhZGVyLWFjY291bnQgYTpob3ZlcixcbiAgLm5vLXRvdWNoIC5uYXYtcHJpbWFyeSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uYWNjb3VudC1jYXJ0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICByaWdodDogMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5hY2NvdW50LWNhcnQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBOYXYgLSBTa2lwIExpbmtcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2tpcC1uYXYge1xuICB3aWR0aDogNDAlO1xufVxuXG4uc2tpcC1uYXY6bm90KC5za2lwLWFjdGl2ZSk6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5za2lwLW5hdjpub3QoLnNraXAtYWN0aXZlKTpob3ZlciAuaWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NnB4IDRweDtcbn1cblxuLnNraXAtbmF2IC5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLnNraXAtbmF2IC5pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNHB4IDRweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAuc2tpcC1uYXYge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAuc2tpcC1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTmF2IC0gU2tpcCBDb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAjaGVhZGVyLW5hdiB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAjaGVhZGVyLW5hdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogRm9yY2UgdmlzaWJpbGl0eSAqL1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRURFREVEO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE5hdiBQcmltYXJ5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAubmF2LXByaW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogR2VuZXJhbCBOYXZpZ2F0aW9uIFN0eWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uYXYtcHJpbWFyeSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzExMTtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLm5hdi1wcmltYXJ5IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubmF2LXByaW1hcnkgbGkubGV2ZWwxIGEge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbn1cblxuLm5hdi1wcmltYXJ5IC5tZW51LWFjdGl2ZSA+IHVsLmxldmVsMCxcbi5uYXYtcHJpbWFyeSBsaS5sZXZlbDAgbGkuc3ViLW1lbnUtYWN0aXZlID4gdWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdi1wcmltYXJ5IGxpLmxldmVsMCA+IGEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTbWFsbCBWaWV3cG9ydHMgLSBBY2NvcmRpb24gU3R5bGUgTWVudVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLm5hdi1wcmltYXJ5IGEubGV2ZWwwLFxuICAubmF2LXByaW1hcnkgYSB7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gIH1cbiAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMCB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2LXByaW1hcnkgbGkubGV2ZWwwIGxpIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xuICB9XG4gIC5uYXYtcHJpbWFyeSBsaS5sZXZlbDEgYSB7XG4gICAgcGFkZGluZzogMCAxNXB4IDAgMjVweDtcbiAgfVxuICAubmF2LXByaW1hcnkgbGkucGFyZW50ID4gYTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMTBweDtcbiAgICByaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICB9XG4gIC5uYXYtcHJpbWFyeSBsaS5wYXJlbnQuc3ViLW1lbnUtYWN0aXZlID4gYTphZnRlcixcbiAgLm5hdi1wcmltYXJ5IGxpLnBhcmVudC5tZW51LWFjdGl2ZSA+IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgI2NjYztcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgfVxuICAubmF2LXByaW1hcnkgbGkubWVudS1hY3RpdmUgPiBhLFxuICAubmF2LXByaW1hcnkgbGkuc3ViLW1lbnUtYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICMwNjQ1QUQ7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTGFyZ2UgVmlld3BvcnRzIC0gRHJvcGRvd24gTWVudVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLm5hdi1wcmltYXJ5IHtcbiAgICAvKiBEZWZhdWx0IHN0eWxlcyBmb3IgMSsgZHJvcC1kb3duIG1lbnVzICovXG4gICAgLyogTGV2ZWwgMisgKi9cbiAgICAvKiBDbGFzcyBmb3IganMgdG8gYWRkIGJyaWVmbHkgdG8gZXZhbHVhdGUgZWxlbWVudCBwb3NpdGlvbmluZy4gKi9cbiAgICAvKiBDb3JyZWN0IG1lbnVzIHRoYXQgd2lsbCBoYW5nIG9mZiB0aGUgcGFnZSAoY2xhc3MgYWRkZWQgYnkganMpICovXG4gICAgLyogTGV2ZWwgMSsgKi9cbiAgfVxuICAubmF2LXByaW1hcnkgYS5sZXZlbDAge1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgfVxuICAubmF2LXByaW1hcnkgbGkubGV2ZWwwLFxuICAubmF2LXByaW1hcnkgYS5sZXZlbDAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAubmF2LXByaW1hcnkgbGk6bGFzdC1jaGlsZCA+IGEge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbiAgLm5hdi1wcmltYXJ5IGE6aG92ZXIsXG4gIC5uYXYtcHJpbWFyeSBsaTpob3ZlciA+IGEge1xuICAgIGNvbG9yOiAjMDY0NUFEO1xuICB9XG4gIC5uYXYtcHJpbWFyeSAubWVudS1hY3RpdmUge1xuICAgIHotaW5kZXg6IDIwMDtcbiAgfVxuICAubmF2LXByaW1hcnkgbGkubGV2ZWwwIHVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkJGQkZCO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICMwMDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAzMHB4O1xuICAgIC8qIEhlaWdodCBvZiBcIi5uYXYtcHJpbWFyeSBhLmxldmVsMFwiICovXG4gICAgei1pbmRleDogMTA7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogSGlkZSB1bnRpbCBkaXNwbGF5ZWQuICovXG4gIH1cbiAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMSB1bCB7XG4gICAgbGVmdDogNjBweDtcbiAgICB0b3A6IDE1cHg7XG4gIH1cbiAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMCB1bC5sZXZlbDAucG9zaXRpb24tdGVzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMCB1bC5sZXZlbDAuc3BpbGwge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMCB1bC5sZXZlbDAuc3BpbGwgbGkubGV2ZWwxIHVsIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiA1MHB4O1xuICAgIHRvcDogMjBweDtcbiAgfVxuICAubmF2LXByaW1hcnkgbGkubGV2ZWwwIGxpLnBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAubmF2LXByaW1hcnkgbGkubGV2ZWwwIGxpLnBhcmVudCA+IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxufVxuXG4ubmF2LXByaW1hcnkgbGkubWVudS1hY3RpdmUgPiB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTZWFyY2ggLSBTa2lwIExpbmtcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2tpcC1zZWFyY2g6bm90KC5za2lwLWFjdGl2ZSk6aG92ZXIgLmljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDZweCAtMTQ2cHg7XG59XG5cbi5za2lwLXNlYXJjaCAuaWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDRweCAtMTQ2cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLnNraXAtc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNlYXJjaCAtIFNraXAgQ29udGVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNoZWFkZXItc2VhcmNoIHtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAjaGVhZGVyLXNlYXJjaCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTVweDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMjUlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNlYXJjaCBJbnB1dFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNzZWFyY2hfbWluaV9mb3JtIC5pbnB1dC1ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4jc2VhcmNoX21pbmlfZm9ybSBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNzZWFyY2gge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbiNzZWFyY2hfbWluaV9mb3JtIC5zZWFyY2gtYnV0dG9uIHtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4jc2VhcmNoX21pbmlfZm9ybSAuc2VhcmNoLWJ1dHRvbjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0cHggLTE0NnB4O1xufVxuXG4jc2VhcmNoX21pbmlfZm9ybSAuc2VhcmNoLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbiNzZWFyY2hfbWluaV9mb3JtIC5zZWFyY2gtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICBtYXJnaW4tdG9wOiAtMTNweDtcbiAgbWFyZ2luLWxlZnQ6IC0xM3B4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBIZWFkZXIgLSBBY2NvdW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gQWNjb3VudFxuICovXG4uc2tpcC1hY2NvdW50Om5vdCguc2tpcC1hY3RpdmUpOmhvdmVyIC5pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2cHggLTQ0cHg7XG59XG5cbi5za2lwLWFjY291bnQgLmljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0cHggLTQ0cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLnNraXAtYWNjb3VudCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgI2hlYWRlci1hY2NvdW50LnNraXAtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkJGQkZCO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICB0b3A6IDQwcHg7XG4gICAgcmlnaHQ6IDExNXB4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgfVxuICAjaGVhZGVyLWFjY291bnQgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgY29sb3I6ICMxMTE7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gIH1cbiAgI2hlYWRlci1hY2NvdW50IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMDY0NUFEO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEFjY291bnQgTGlua3NcbiAqL1xuI2hlYWRlci1hY2NvdW50IHtcbiAgcGFkZGluZzogNXB4IDA7XG59XG5cbiNoZWFkZXItYWNjb3VudCBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNoZWFkZXItYWNjb3VudCBhOmhvdmVyIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEhlYWRlciAtIENhcnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIExpbmsgLSBDYXJ0XG4gKi9cbi5za2lwLWNhcnQ6bm90KC5za2lwLWFjdGl2ZSk6aG92ZXIgLmljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtOTVweDtcbn1cblxuLnNraXAtY2FydCAuaWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtOTVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAuc2tpcC1jYXJ0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cbiAgI2hlYWRlci1jYXJ0LnNraXAtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkJGQkZCO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICB0b3A6IDQwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDMyMHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNraXAgQ2FydCBOb3RpZmllclxuICovXG4uc2tpcC1jYXJ0IC5jb3VudCB7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdG9wOiAtNnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoNiwgNjksIDE3MywgMC45KTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uc2tpcC1saW5rLnNraXAtYWN0aXZlIC5jb3VudCB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnNraXAtY2FydC5uby1jb3VudCAuY291bnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gIC5za2lwLWNhcnQgLmNvdW50IHtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAuc2tpcC1jYXJ0IHtcbiAgICBjb2xvcjogIzA2NDVBRDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5za2lwLWNhcnQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAuc2tpcC1jYXJ0IC5jb3VudCB7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuc2tpcC1jYXJ0IC5jb3VudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcoJztcbiAgfVxuICAuc2tpcC1jYXJ0IC5jb3VudDphZnRlciB7XG4gICAgY29udGVudDogJyknO1xuICB9XG4gIC5za2lwLWNhcnQgLmNvdW50LFxuICAuc2tpcC1saW5rLnNraXAtYWN0aXZlIC5jb3VudCB7XG4gICAgY29sb3I6ICMwNjQ1QUQ7XG4gIH1cbn1cblxuLnNraXAtY2FydCAuY291bnQuZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBNaW5pIENhcnQgLSBFbXB0eVxuICovXG4uY2FydC1tZW51IC5lbXB0eSB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTWluaSBDYXJ0IC0gRnVsbFxuICovXG4vKiBBY3Rpb25zICovXG4uY2FydC1tZW51IC5hY3Rpb25zIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLmNhcnQtbWVudSAuYWN0aW9ucyAuYnV0dG9uIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA0OCU7XG59XG5cbi5jYXJ0LW1lbnUgLmFjdGlvbnMgLmJ1dHRvbiArIC5idXR0b24ge1xuICBtYXJnaW4tbGVmdDogNCU7XG59XG5cbi8qIFN1YnRvdGFsICovXG4uY2FydC1tZW51IC5zdWJ0b3RhbCB7XG4gIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLyogTGlzdCAqL1xuLm1pbmktY2FydC1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ubWluaS1jYXJ0LWxpc3QgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDkwcHg7XG4gIHBhZGRpbmc6IDE1cHggMTVweCAxNXB4IDkwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG4ubWluaS1jYXJ0LWxpc3QgLnByb2R1Y3QtbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1pbmktY2FydC1saXN0IC5wcm9kdWN0LWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxNXB4O1xuICB0b3A6IDE1cHg7XG59XG5cbi5taW5pLWNhcnQtbGlzdCAucHJvZHVjdC1pbWFnZSBpbWcge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuXG4ubWluaS1jYXJ0LWxpc3QgLmhhcy1vcHRpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICM5QjlCOUI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLyogVG9vIGZ1bGwgLSBhZGRpdGlvbmFsIGl0ZW1zIHdpbGwgYmUgc2hvd24gaW4gY2FydCAqL1xuLmNhcnQtbWVudSAubGFzdC1hZGRlZCB7XG4gIHBhZGRpbmc6IDEwcHggMTVweCAxNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEdlbmVyYWwgUHJvZHVjdCBMaXN0IFN0eWxlcyAobm90IG1vZHVsZS1zcGVjaWZpYylcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByb2R1Y3QgTGlzdCBHZW5lcmFsXG4gKi9cbi5jYXRlZ29yeS10aXRsZSBoMSxcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnBhZ2UtdGl0bGUgaDEge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY2F0ZWdvcnktaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ucHJvZHVjdHMtbGlzdCAuYWN0aW9uIC5idXR0b24sXG4ucHJvZHVjdHMtZ3JpZCAuYWN0aW9ucyAuYnV0dG9uIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUHJvZHVjdCBHcmlkXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2R1Y3RzLWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0cy1ncmlkOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJvZHVjdHMtZ3JpZCA+IGxpOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2UgaW1nOmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53aWRnZXQtbmV3LXByb2R1Y3RzIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWltYWdlIHtcbiAgd2lkdGg6IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWxlZnQ6IDEwJTtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW5mbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDk1cHg7XG59XG5cbi5wcm9kdWN0cy1ncmlkIC5hY3Rpb25zIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwcHg7XG4gIG1pbi1oZWlnaHQ6IDg1cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdHMtZ3JpZCAucmF0aW5ncyAucmF0aW5nLWJveCB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucHJvZHVjdHMtZ3JpZCAucmF0aW5ncyAuYW1vdW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByaWNlLWJveCB7XG4gIG1hcmdpbjogMCAwIDVweDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLmFkZC10by1saW5rcyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIENvbmZpZzogVHdvIGNvbHVtbnMgKyBmbGV4aWJsZSBndXR0ZXIgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFByb2R1Y3QgTGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9kdWN0cy1saXN0IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnByb2R1Y3RzLWxpc3QgPiBsaSB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucHJvZHVjdHMtbGlzdCA+IGxpIC5wcm9kdWN0LWltYWdlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5wcm9kdWN0cy1saXN0ID4gbGkgLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3RzLWxpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3Age1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1uYW1lIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAucmF0aW5ncyB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAucmF0aW5ncyAucmF0aW5nLWJveCxcbi5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnJhdGluZ3MgLnJhdGluZy1saW5rcyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbn1cblxuLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAucmF0aW5ncyAucmF0aW5nLWxpbmtzIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3gge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5hY3Rpb24ge1xuICBtYXJnaW46IDdweCAwO1xufVxuXG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5kZXNjIHtcbiAgbWFyZ2luLXRvcDogN3B4O1xufVxuXG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LXByaW1hcnksXG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5kZXNjIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA2NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByb2R1Y3Qtc2Vjb25kYXJ5IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMzUlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY2xlYXI6IHJpZ2h0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM2MHB4KSB7XG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LW5hbWUgYSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtcHJpbWFyeSxcbiAgLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAuZGVzYyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByb2R1Y3Qtc2Vjb25kYXJ5IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtcHJpbWFyeSxcbiAgLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1zZWNvbmRhcnksXG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLmRlc2Mge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBNaW5pIFByb2R1Y3QgTGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5taW5pLXByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtaW1hZ2Uge1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiA1MHB4O1xufVxuXG4ubWluaS1wcm9kdWN0cy1saXN0IC5wcm9kdWN0LWRldGFpbHMge1xuICBtYXJnaW4tbGVmdDogNjBweDtcbn1cblxuLm1pbmktcHJvZHVjdHMtbGlzdCAucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LW5hbWUge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLm1pbmktcHJvZHVjdHMtbGlzdCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ubWluaS1wcm9kdWN0cy1saXN0IGxpOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLm1pbmktcHJvZHVjdHMtaW1hZ2VzLWxpc3Q6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ubWluaS1wcm9kdWN0cy1pbWFnZXMtbGlzdCBsaS5pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA1cHggMTBweCAwO1xufVxuXG4ubWluaS1wcm9kdWN0cy1pbWFnZXMtbGlzdCBsaS5pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4ubWluaS1wcm9kdWN0cy1pbWFnZXMtbGlzdCBsaS5pdGVtIC5wcm9kdWN0LWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5taW5pLXByb2R1Y3RzLWltYWdlcy1saXN0IGxpLml0ZW0gLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2F0YWxvZyAtIExpc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2F0ZWdvcnktaW1hZ2Uge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uY2F0ZWdvcnktaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNhdGVnb3J5LWltYWdlIGltZzpoaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMYXllcmVkIE5hdmlnYXRpb25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLXN1YnRpdGxlLS1maWx0ZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIHBhZGRpbmc6IDdweCAxMHB4IDdweCAyNHB4O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1zdWJ0aXRsZS0tZmlsdGVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA0cHggc29saWQgIzA2NDVBRDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgbGVmdDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stc3VidGl0bGUtLWZpbHRlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNGNEY0RjQsIDMlKTtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50IC50b2dnbGUtdGFicyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIHBhZGRpbmc6IDdweCAxMHB4IDdweCAyNHB4O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQgPiBkbCA+IGR0OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA0cHggc29saWQgIzA2NDVBRDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgbGVmdDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjRjRGNEY0LCAzJSk7XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZGQge1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci13aWR0aDogMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzAwMDtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50ID4gZGwgPiBkZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4O1xufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgZGwgZGQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgZGwgZGQgb2wgPiBsaSA+IHNwYW4sIC5ibG9jay1sYXllcmVkLW5hdiBkbCBkZCBvbCA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDVweCAxNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IGRsIGRkIG9sID4gbGkgPiBhIC5jb3VudCB7XG4gIGNvbG9yOiAjOUI5QjlCO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQgPiBkbCA+IGR0OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnNpZGViYXIgLmJsb2NrLmJsb2NrLWxheWVyZWQtbmF2IHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdi0tbm8tZmlsdGVycyAuYmxvY2stdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQ6aG92ZXIge1xuICAgIGNvbG9yOiAjMDY0NUFEO1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMwNjQ1QUQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQubGFzdCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50LmFjY29yZGlvbi1vcGVuID4gZGwgPiBkdC5jdXJyZW50IHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIH1cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50LmFjY29yZGlvbi1vcGVuID4gZGwgPiBkdC5jdXJyZW50OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMwNjQ1QUQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBsZWZ0OiA2cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQuYWNjb3JkaW9uLW9wZW4gPiBkbCA+IGRkLmN1cnJlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stc3VidGl0bGUtLWZpbHRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2NDVBRDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgfVxuICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLXN1YnRpdGxlLS1maWx0ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNGRkZGRkY7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gIH1cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1zdWJ0aXRsZS0tZmlsdGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDUzYjk0O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stc3VidGl0bGUtLWZpbHRlci5hY3RpdmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgI0ZGRkZGRjtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbiAgI25hcnJvdy1ieS1saXN0LFxuICAjbmFycm93LWJ5LWxpc3QyIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuICAuYmxvY2stbGF5ZXJlZC1uYXYgZGwgb2wgPiBsaSA+IGEsXG4gIC5ibG9jay1sYXllcmVkLW5hdiBkbCBvbCA+IGxpID4gc3BhbiB7XG4gICAgcGFkZGluZzogN3B4O1xuICAgIG1hcmdpbjogNXB4O1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiBkbCBvbCA+IGxpID4gYSB7XG4gICAgY29sb3I6ICMxMTE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgfVxuICAuYmxvY2stbGF5ZXJlZC1uYXYgZGwgb2wgPiBsaSA+IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBzaGFkZSgjRjRGNEY0LCAzJSk7XG4gIH1cbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgLmJsb2NrLXN1YnRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgb2wge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuY3VycmVudGx5IG9sIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmN1cnJlbnRseSBvbCBsaSAubGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgb2wgbGk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmFjdGlvbnMge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXRhbG9nIC0gUHJvZHVjdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtZXNzZW50aWFsIC5leHRyYS1pbmZvIC5yYXRpbmdzIC5yYXRpbmctYm94LFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1lc3NlbnRpYWwgLmV4dHJhLWluZm8gLnJhdGluZ3MgLmFtb3VudCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LWVzc2VudGlhbCAuZXh0cmEtaW5mbyAucmF0aW5ncyAucmF0aW5nLWJveCB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LWVzc2VudGlhbCAuZXh0cmEtaW5mbyAucmF0aW5nczphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtZXNzZW50aWFsOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LW5hbWUgLmgxLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUgaDEge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3Age1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1uYW1lIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1uYW1lIC5oMSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAuZXh0cmEtaW5mbyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBjbGVhcjogbGVmdDtcbiAgd2lkdGg6IDcwJTtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1pbmZvIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLmV4dHJhLWluZm8sXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWluZm8ge1xuICBtYXgtd2lkdGg6IDcwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5zaG9ydC1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnJhdGluZ3Mge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAuYXZhaWxhYmlsaXR5IHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5vbGQtcHJpY2UsXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSxcbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5yZWd1bGFyLXByaWNlIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnJlZ3VsYXItcHJpY2UgLnByaWNlLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLmZ1bGwtcHJvZHVjdC1wcmljZSAucHJpY2Uge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtbGFiZWwge1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIHNwYW4ud2VlZSB7XG4gIGNvbG9yOiAjMTExO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSBzcGFuLndlZWUgc3Bhbi5wcmljZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtaW5jbHVkaW5nLXRheCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogIzExMTtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXggLmxhYmVsLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXggLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2UsXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtaW5jbHVkaW5nLXRheCAucHJpY2Uge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByaWNlLWJveC5tYXAtaW5mbyBhIHtcbiAgZGlzcGxheTogaW5oZXJpdDtcbn1cblxuLnByb2R1Y3QtdmlldyAub2xkLXByaWNlIC5wcmljZS1sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LXdyYXBwZXIsXG4ucHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjbGVhcjogcmlnaHQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXggLmxhYmVsLFxuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtaW5jbHVkaW5nLXRheCAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2UsXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4IC5wcmljZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtd3JhcHBlciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXggLmxhYmVsLFxuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtaW5jbHVkaW5nLXRheCAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2UsXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4IC5wcmljZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXggc3BhbixcbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXggc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnByb2R1Y3QtaW1nLWJveCB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUgaDEge1xuICBib3JkZXI6IDA7XG59XG5cbi5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LWltYWdlIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNzUwcHg7XG4gIG1hcmdpbjogMHB4IGF1dG87XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDQ1MHB4O1xuICB9XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnkgLmdhbGxlcnktaW1hZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5IC5nYWxsZXJ5LWltYWdlLnZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeSAuZ2FsbGVyeS1pbWFnZS52aXNpYmxlLmhpZGRlbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeTpiZWZvcmUsIC5wcm9kdWN0LWltYWdlLWdhbGxlcnk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBvcGFjaXR5OiAwLjg7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnk6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3BjLWFqYXgtbG9hZGVyLmdpZlwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB6LWluZGV4OiAzO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5LmxvYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnkubG9hZGluZzpiZWZvcmUsIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkubG9hZGluZzphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJvZHVjdC1pbWFnZS10aHVtYnMgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5wcm9kdWN0LWltYWdlLXRodW1icyBsaTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuXG4ucHJvZHVjdC1pbWFnZS10aHVtYnMgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5uby10b3VjaCAucHJvZHVjdC1pbWFnZS10aHVtYnMgYTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2M3YzdjNztcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wLFxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtd3JhcHBlcixcbi5wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5wcm9kdWN0LWltZy1ib3gge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AsXG4ucHJvZHVjdC1pbWctYm94LFxuLnByb2R1Y3QtY29sbGF0ZXJhbCxcbi5wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQsXG4uYm94LWNvbGxhdGVyYWwge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ucHJvZHVjdC12aWV3IHtcbiAgLyogU2V0IGEgbWluLWhlaWdodCBzbyB0aGF0IHRoZSBmbG9hdGVkIGVsZW1lbnRzIGJyZWFrIGFwcHJvcHJpYXRlbHkgKi9cbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWJveDphZnRlcixcbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQge1xuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJpY2UtYm94LFxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyB7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCxcbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0IC5xdHktd3JhcHBlcixcbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLmJ1dHRvbixcbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyLFxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyIGxhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydCAucXR5LXdyYXBwZXIgbGFiZWwge1xuICBsaW5lLWhlaWdodDogNDBweDtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyIC5xdHkge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC1idXR0b25zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC1idXR0b25zIC5wYXlwYWwtbG9nbyB7XG4gIGNsZWFyOiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIC5wYXlwYWwtYnV0dG9uIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTcwcHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIC5ibWxfYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNzRweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIC5ibWxfYnV0dG9uIGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAuYnV0dG9uIHtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMHB4IDMwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWxlcnQtcHJpY2UsXG4ucHJvZHVjdC12aWV3IC5hbGVydC1zdG9jayB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1vciB7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIH1cbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAucGF5cGFsLWxvZ28sXG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1vcixcbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAucGF5cGFsLWJ1dHRvbixcbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAuYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8qIFRoaXMgaXMgdGhlIFwib3JcIiB0aGF0IHNlcGFyYXRlcyB0aGUgXCJBZGQgdG8gQ2FydFwiIGFuZCBcIkFkZCB0byBYXCIgbGlua3MgKi9cbi5hZGQtdG8tYm94IC5vciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1saW5rcyB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1saW5rczphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1saW5rcyBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tbGlua3MgYSB7XG4gIHBhZGRpbmc6IDJweCA3cHggMnB4IDBweDtcbiAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWxpbmtzIGxpOmZpcnN0LWNoaWxkIGEge1xuICBtYXJnaW4tbGVmdDogMHB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tbGlua3MgbGk6bGFzdC1jaGlsZCBhIHtcbiAgYm9yZGVyLXJpZ2h0OiAwcHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3Mge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnByb2R1Y3QtdmlldyAuc2hhcmluZy1saW5rczphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMHB4IDdweCA3cHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgYSB7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbn1cblxuLnByb2R1Y3QtdmlldyAuc2hhcmluZy1saW5rcyBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4ucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGEubGluay13aXNobGlzdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjI1cHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgYS5saW5rLWNvbXBhcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTI1MHB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGEubGluay1lbWFpbC1mcmllbmQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTMyMnB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGEubGluay1mYWNlYm9vayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDI1cHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgYS5saW5rLXR3aXR0ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTM3MnB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5hZGQtdG8tYm94IC5hZGQtdG8tbGlua3MgYSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG4gIH1cbn1cblxuLnByb2R1Y3QtY29sbGF0ZXJhbCB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29sbGF0ZXJhbC10YWJzIGRkIGgyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJveC1jb2xsYXRlcmFsIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMgbGkgPiBzcGFuIHtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm90dG9tOiAtMXB4O1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgLnRvZ2dsZS10YWJzIGxpLmN1cnJlbnQge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMDAwO1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgLnRvZ2dsZS10YWJzIGxpLmN1cnJlbnQgPiBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIHotaW5kZXg6IDU7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMgbGkuY3VycmVudCBzcGFuLFxuICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyBsaTpob3ZlciBzcGFuIHtcbiAgICBjb2xvcjogIzA2NDVBRDtcbiAgfVxuICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgPiBkbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZGQuY3VycmVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkdCB7XG4gICAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgcGFkZGluZzogN3B4IDEwcHggN3B4IDI0cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzA2NDVBRDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoI0Y0RjRGNCwgMyUpO1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgPiBkbCA+IGRkIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgPiBkbCA+IGRkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweDtcbiAgfVxuICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkdCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZHQ6aG92ZXIge1xuICAgIGNvbG9yOiAjMDY0NUFEO1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgPiBkbCA+IGR0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMDY0NUFEO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgfVxuICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkdC5sYXN0IHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbC5hY2NvcmRpb24tb3BlbiA+IGRsID4gZHQuY3VycmVudCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwuYWNjb3JkaW9uLW9wZW4gPiBkbCA+IGR0LmN1cnJlbnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzA2NDVBRDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGxlZnQ6IDZweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwuYWNjb3JkaW9uLW9wZW4gPiBkbCA+IGRkLmN1cnJlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wLFxuICAucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC13cmFwcGVyLFxuICAucHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkLFxuICAucHJvZHVjdC1pbWctYm94LFxuICAucHJvZHVjdC1jb2xsYXRlcmFsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1uYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AsXG4gIC5wcm9kdWN0LWltZy1ib3gsXG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwsXG4gIC5wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQsXG4gIC5ib3gtY29sbGF0ZXJhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG4ucHJvZHVjdC12aWV3IC5yYXRpbmdzIC5yYXRpbmctbGlua3Mge1xuICBjbGVhcjogbGVmdDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbiNwcm9kdWN0LWF0dHJpYnV0ZS1zcGVjcy10YWJsZSB7XG4gIG1heC13aWR0aDogNTBlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0MwQzBDMDtcbn1cblxuI3Byb2R1Y3QtYXR0cmlidXRlLXNwZWNzLXRhYmxlIHRoIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0MwQzBDMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDMEMwQzA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENhdGFsb2cgLSBHcm91cGVkIFByb2R1Y3QgTGlzdFxuICovXG4uZ3JvdXBlZC1pdGVtcy10YWJsZS13cmFwcGVyIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI0MwQzBDMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5ncm91cGVkLWl0ZW1zLXRhYmxlLXdyYXBwZXIgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLmdyb3VwZWQtaXRlbXMtdGFibGUtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG4uZ3JvdXBlZC1pdGVtcy10YWJsZSAubmFtZS13cmFwcGVyIHtcbiAgY29sb3I6ICMxMTE7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLmdyb3VwZWQtaXRlbXMtdGFibGUgLnF0eS13cmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDdweDtcbn1cblxuLmdyb3VwZWQtaXRlbXMtdGFibGUgLnF0eS1sYWJlbCB7XG4gIG1hcmdpbi1sZWZ0OiA3cHg7XG59XG5cbi5ncm91cGVkLWl0ZW1zLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogNHB4O1xufVxuXG4uZ3JvdXBlZC1pdGVtcy10YWJsZSB0ZDpsYXN0LWNoaWxkIHtcbiAgd2lkdGg6IDMwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmdyb3VwZWQtaXRlbXMtdGFibGUgLnByaWNlLWJveCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDYXRhbG9nIC0gUHJvZHVjdCBPcHRpb25zXG4gKi9cbi5wcm9kdWN0LW9wdGlvbnMge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgcGFkZGluZzogMTBweCAxNXB4IDE1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0NDQ0M7XG4gIGNsZWFyOiBib3RoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgcC5yZXF1aXJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnJlcXVpcmVkIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZHQge1xuICBtYXJnaW46IDEwcHggMCAzcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZHQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5xdHktaG9sZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMCAwIDA7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgLnF0eS1ob2xkZXIgLnF0eSB7XG4gIHdpZHRoOiAzZW07XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgLnF0eS1ob2xkZXIgbGFiZWwge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5xdHktZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDAgMnB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIHtcbiAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkbC5sYXN0IGRkLmxhc3Qge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5pbnB1dC10ZXh0IHtcbiAgd2lkdGg6IDk4JTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCAuaW5wdXQtYm94IHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgaW5wdXQuZGF0ZXRpbWUtcGlja2VyIHtcbiAgd2lkdGg6IDE1MHB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC50aW1lLXBpY2tlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMnB4IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgdGV4dGFyZWEge1xuICB3aWR0aDogOTglO1xuICBoZWlnaHQ6IDhlbTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCBzZWxlY3Qge1xuICB3aWR0aDogMzMwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgbGkge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAucmFkaW8sXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAuY2hlY2tib3gge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgbGFiZWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHAubm90ZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0NDQztcbiAgYm9yZGVyLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b206YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJvZHVjdC1wcmljaW5nLFxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnRpZXItcHJpY2VzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IDA7XG4gIGNvbG9yOiAjMTExO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJvZHVjdC1wcmljaW5nLFxuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAudGllci1wcmljZXMge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQ0NDQztcbiAgfVxufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAudGllci1wcmljZXMgbGkge1xuICBiYWNrZ3JvdW5kOiAwO1xuICBwYWRkaW5nOiAycHggMDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnRpZXItcHJpY2VzIC5wcmljZSxcbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC50aWVyLXByaWNlcyAuYmVuZWZpdCB7XG4gIGNvbG9yOiAjMTExO1xufVxuXG4vKiBcImRpc3BsYXk6IG5vbmVcIiBzaG91bGQgYmUgcmVtb3ZlZCBpZiBwcm9kdWN0cyBvbiBzaXRlIGhhdmUgYSBsb25nIGxpc3Qgb2YgcHJvZHVjdCBvcHRpb25zIGFuZCB0aG9zZSBwcm9kdWN0IG9wdGlvbnMgKi9cbi8qICBhZmZlY3QgdGhlIHByaWNlIHNvIHRoYXQgdGhlIGN1c3RvbWVyIGNhbiBzZWUgdGhlIHVwZGF0ZWQgcHJpY2UgY2xvc2UgdG8gdGhlIFwiQWRkIHRvIENhcnRcIiBidXR0b24gKi9cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1ib3gge1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCAucHJpY2UtYXMtY29uZmlndXJlZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCAucHJpY2UtYXMtY29uZmlndXJlZCAucHJpY2UtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS10YXgge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUmVsYXRlZCBQcm9kdWN0c1xuICovXG4vKiBCbG9jazogUmVsYXRlZCAqL1xuLmJsb2NrLXJlbGF0ZWQgbGkge1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbi5ibG9jay1yZWxhdGVkIC5ibG9jay10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5ibG9jay1yZWxhdGVkIC5ibG9jay10aXRsZSBoMiB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJsb2NrLXJlbGF0ZWQgLmJsb2NrLXN1YnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuXG4uYmxvY2stcmVsYXRlZCAucHJvZHVjdCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ibG9jay1yZWxhdGVkIC5jaGVja2JveCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAzNnB4O1xufVxuXG4uYmxvY2stcmVsYXRlZCAucHJvZHVjdC1kZXRhaWxzIHtcbiAgbWFyZ2luLWxlZnQ6IDkwcHg7XG59XG5cbi5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LW5hbWUge1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbi5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveCB7XG4gIG1hcmdpbjogMnB4IDAgM3B4O1xufVxuXG4uYmxvY2stcmVsYXRlZCAucHJvZHVjdC1kZXRhaWxzIC5wcmljZS1ib3ggYSxcbi5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveCBwLFxuLmJsb2NrLXJlbGF0ZWQgLnByb2R1Y3QtZGV0YWlscyAucHJpY2UtYm94IHNwYW4ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbn1cblxuLmJsb2NrLXJlbGF0ZWQgLnByb2R1Y3QtZGV0YWlscyAucHJpY2UtYm94IGE6Zmlyc3QtY2hpbGQsXG4uYmxvY2stcmVsYXRlZCAucHJvZHVjdC1kZXRhaWxzIC5wcmljZS1ib3ggcDpmaXJzdC1jaGlsZCxcbi5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveCBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLmJsb2NrLXJlbGF0ZWQgLnByb2R1Y3QtZGV0YWlscyAucHJpY2UtYm94OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmJsb2NrLXJlbGF0ZWQgLmxpbmstd2lzaGxpc3Qge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBVcHNlbGwgUHJvZHVjdHNcbiAqL1xuLmJveC11cC1zZWxsIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmJveC11cC1zZWxsIC5yYXRpbmdzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2F0YWxvZyAtIE1TUlAgTUFQIFBvcHVwXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhcnQtbXNycC10b3RhbHMge1xuICBjb2xvcjogcmVkO1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMTBweCAxMHB4IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubWFwLWNhcnQtc2lkZWJhci10b3RhbCB7XG4gIGNvbG9yOiByZWQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAycHggNXB4O1xufVxuXG4ubWFwLXBvcHVwIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiA1cHggc29saWQgIzAwMDtcbiAgbWFyZ2luOiAxMnB4IDAgMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogNDUwcHg7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAubWFwLXBvcHVwLm1hcC1wb3B1cC1yaWdodCB7XG4gICAgbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tYXAtcG9wdXAubWFwLXBvcHVwLWxlZnQge1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICByaWdodDogMTBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLm1hcC1wb3B1cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm1hcC1wb3B1cCAubWFwLXBvcHVwLWhlYWRpbmcge1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICB3aWR0aDogYXV0bztcbn1cblxuLm1hcC1wb3B1cCAubWFwLXBvcHVwLWhlYWRpbmcgaDMge1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtaGVhZGluZyBoMyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jbG9zZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICByaWdodDogMHB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIHdpZHRoOiAzNnB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFREVERUQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbjogMCAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IHtcbiAgcGFkZGluZzogMTBweCAwO1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgZm9ybTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAuYnV0dG9uIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAycHg7XG4gIGNsZWFyOiBsZWZ0O1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLmFkZGl0aW9uYWwtYWRkdG9jYXJ0LWJveCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6IDIxMHB4O1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLmFkZGl0aW9uYWwtYWRkdG9jYXJ0LWJveCBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5wYXlwYWwtbG9nbyB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLnBheXBhbC1sb2dvIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbGVmdDtcbn1cblxuLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5wYXlwYWwtbG9nbyAucGF5cGFsLW9yIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNXB4IDE1cHg7XG4gIGNsZWFyOiBsZWZ0O1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLnBheXBhbC1sb2dvOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5wYXlwYWwtbG9nbyAuYm1sX2J1dHRvbiBhIHtcbiAgY2xlYXI6IGxlZnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5idXR0b24sXG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAuYWRkaXRpb25hbC1hZGR0b2NhcnQtYm94LFxuICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLnBheXBhbC1sb2dvIGEsXG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAucGF5cGFsLWxvZ28gLnBheXBhbC1vciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5hZGRpdGlvbmFsLWFkZHRvY2FydC1ib3gge1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAucGF5cGFsLWxvZ28gLnBheXBhbC1vciB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtcHJpY2Uge1xuICBwYWRkaW5nOiAxMHB4IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLXByaWNlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgfVxufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtcHJpY2UgLnByaWNlLWJveCxcbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1wcmljZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1wcmljZSAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC10ZXh0IHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBtYXJnaW46IDAgMTBweDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtdGV4dCxcbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1vbmx5LXRleHQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2F0YWxvZyAtIE1TUlAgUHJvZHVjdCBMaXN0aW5nXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByaWNlLWJveCAubWFwLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXRhbG9nIC0gQ29tcGFyZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ibG9jay1jb21wYXJlIC5wcm9kdWN0LW5hbWU6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29tcGFyZS10YWJsZSAucHJvZHVjdC1pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNvbXBhcmUtdGFibGUgLnByb2R1Y3Qtc2hvcC1yb3cudG9wIHRkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jb21wYXJlLXRhYmxlIC5wcm9kdWN0LXNob3Atcm93LmJvdHRvbSB0ZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIExheW91dFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYXJ0IHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uY2FydCAucGFnZS10aXRsZSB7XG4gIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2FydC10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2FydCAuYnV0dG9uIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLmNhcnQtZm9ybXMsXG4uY2FydC10b3RhbHMtd3JhcHBlcixcbi5jcm9zc3NlbGwge1xuICBmbG9hdDogcmlnaHQ7XG4gIGNsZWFyOiByaWdodDtcbiAgd2lkdGg6IDQwJTtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4uY2FydC10b3RhbHMsXG4uY2FydC1mb3JtcyAuZGlzY291bnQsXG4uY2FydC1mb3JtcyAuZ2lmdGNhcmQsXG4uY2FydC1mb3JtcyAuc2hpcHBpbmcge1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xufVxuXG4uY2FydC10YWJsZSxcbi5jYXJ0LXRvdGFscyxcbi5jYXJ0LWZvcm1zIC5kaXNjb3VudCxcbi5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCxcbi5jYXJ0LWZvcm1zIC5zaGlwcGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4ICNwb3N0Y29kZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZGlzcGxheS1ib3RoLXByaWNlcyAuY2FydC10YWJsZSB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtZm9ybXMge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uZGlzcGxheS1ib3RoLXByaWNlcyAuY2FydC10b3RhbHMtd3JhcHBlcixcbi5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jcm9zc3NlbGwge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jYXJ0LWZvcm1zLFxuLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4uZGlzcGxheS1ib3RoLXByaWNlcyAuY3Jvc3NzZWxsIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmRpc3BsYXktYm90aC1wcmljZXMgLmNyb3Nzc2VsbCB7XG4gIGNsZWFyOiByaWdodDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY2FydC10YWJsZSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmRpc3BsYXktc2luZ2xlLXByaWNlIC5jYXJ0LWZvcm1zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAuZGlzcGxheS1zaW5nbGUtcHJpY2UgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY3Jvc3NzZWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbiAgLmRpc3BsYXktc2luZ2xlLXByaWNlIC5jYXJ0LWZvcm1zLFxuICAuZGlzcGxheS1zaW5nbGUtcHJpY2UgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY3Jvc3NzZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY3Jvc3NzZWxsIHtcbiAgICBjbGVhcjogcmlnaHQ7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnByb2R1Y3QtY2FydC1za3Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtZm9ybXMsXG4gIC5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jYXJ0LXRvdGFscy13cmFwcGVyLFxuICAuZGlzcGxheS1ib3RoLXByaWNlcyAuY3Jvc3NzZWxsLFxuICAuZGlzcGxheS1zaW5nbGUtcHJpY2UgLmNhcnQtZm9ybXMsXG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY2FydC10b3RhbHMtd3JhcHBlcixcbiAgLmRpc3BsYXktc2luZ2xlLXByaWNlIC5jcm9zc3NlbGwge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5kaXNwbGF5LXNpbmdsZS1wcmljZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gQ2FydFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jaGVja291dC10eXBlcyB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogV2UgYWx3YXlzIHdhbnQgdGhpcyBzaGlwcGluZyBtZXRob2QgdG8gZGlzcGxheSBvbiBpdHMgb3duIGxpbmUgKi9cbn1cblxuLmNoZWNrb3V0LXR5cGVzIGxpIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luOiAwIDAgNXB4IDVweDtcbn1cblxuLmNoZWNrb3V0LXR5cGVzIGxpOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmNoZWNrb3V0LXR5cGVzIGxpIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmNoZWNrb3V0LXR5cGVzIGxpOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jaGVja291dC10eXBlcyAubWV0aG9kLWNoZWNrb3V0LWNhcnQtbWV0aG9kcy1tdWx0aXNoaXBwaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jaGVja291dC10eXBlcy50b3AgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jaGVja291dC10eXBlcy50b3AgLmJtbF9idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5jaGVja291dC10eXBlcy50b3AgLmJtbF9idXR0b24gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jaGVja291dC10eXBlcy50b3AgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5jaGVja291dC10eXBlcy5ib3R0b20gLnBheXBhbC1sb2dvIGEsIC5jaGVja291dC10eXBlcy5taW5pY2FydCAucGF5cGFsLWxvZ28gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2hlY2tvdXQtdHlwZXMuYm90dG9tIC5wYXlwYWwtb3IsIC5jaGVja291dC10eXBlcy5taW5pY2FydCAucGF5cGFsLW9yIHtcbiAgbWFyZ2luOiAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzQxcHgpIHtcbiAgLmNoZWNrb3V0LXR5cGVzLmJvdHRvbSAucGF5cGFsLW9yIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xuICB9XG59XG5cbi5jYXJ0LXRvdGFscyAuY2hlY2tvdXQtdHlwZXMgLmJ0bi1jaGVja291dCB7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDBweCkge1xuICAuY2hlY2tvdXQtdHlwZXMge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuY2hlY2tvdXQtdHlwZXMuYm90dG9tIC5wYXlwYWwtb3IsIC5jaGVja291dC10eXBlcy5taW5pY2FydCAucGF5cGFsLW9yIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAuY2hlY2tvdXQtdHlwZXMgbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmJ0bi1jaGVja291dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNhcnQtdGFibGUge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5jYXJ0LXRhYmxlIHRoLFxuLmNhcnQtdGFibGUgdGQsXG4uY2FydC10YWJsZSB0Ym9keSB0ZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5jYXJ0LXRhYmxlIGgyIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcnQtdGFibGUgdGhlYWQgdGgsXG4uY2FydC10YWJsZSB0Ym9keSB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWluZm8sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5jYXJ0LXRhYmxlIHRmb290IHRyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmNhcnQtdGFibGUgdGZvb3QgdHIgPiB0ZDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jYXJ0LXRhYmxlIHNwYW4ub3Ige1xuICBmb250LXNpemU6IDlweDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbWFnZSAuY2FydC1saW5rcyxcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtaW5mbyAuYnRuLXJlbW92ZSxcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbWFnZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbWFnZSAucHJvZHVjdC1pbWFnZSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWltYWdlIGEuY2FydC1lZGl0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1za3Uge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW46IDVweCAwIDEycHg7XG59XG5cbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtc2t1IC5sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jYXJ0LXRhYmxlIC5idG4tZW1wdHkge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC10b3RhbCxcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtcHJpY2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jYXJ0LXRhYmxlIC5jYXJ0LXRheC10b3RhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2FydC10YWJsZSAuY2FydC10YXgtdG90YWw6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkICMxMTE7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogM3B4O1xuICByaWdodDogLTExcHg7XG59XG5cbi5jYXJ0LXRhYmxlIC5jYXJ0LXRheC10b3RhbC5jYXJ0LXRheC10b3RhbC1leHBhbmRlZDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICMxMTE7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHJpZ2h0OiAtMTVweDtcbiAgdG9wOiA2cHg7XG59XG5cbi5jYXJ0LXRhYmxlIC5jYXJ0LWxpbmtzID4gbGkge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIG1pbi13aWR0aDogNjVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uY2FydC10YWJsZSAuY2FydC1saW5rcyA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FydC10YWJsZSAuY2FydC1saW5rcyA+IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMge1xuICBtaW4td2lkdGg6IDYwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC5xdHkge1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1jb2xvcjogIzExMTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMy4yZW07XG59XG5cbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uY2FydC10YWJsZSAuaXRlbS1vcHRpb25zIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5jYXJ0LXRhYmxlIHRoIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgdGgsXG4gIC5jYXJ0LXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiA3cHggNnB4O1xuICB9XG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyA+IGxpIHtcbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5OXB4KSB7XG4gIC5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jYXJ0LXRhYmxlIHRoZWFkIHRoLmNhcnQtdG90YWwtaGVhZCxcbiAgLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtdGFibGUgdGQucHJvZHVjdC1jYXJ0LXRvdGFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmNhcnQtdGFibGUgY29sZ3JvdXAsIC5jYXJ0LXRhYmxlIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jYXJ0LXRhYmxlIHRyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY2FydC10YWJsZSB0cjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmNhcnQtdGFibGUgdHI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuY2FydC10YWJsZSB0Zm9vdCB0ciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLmNhcnQtdGFibGUgdGQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuY2FydC10YWJsZSB0ZFtkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgdGRbZGF0YS1yd2QtbGFiZWxdIC5wcmljZSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuICAuY2FydC10YWJsZSB0ZFtkYXRhLXJ3ZC1sYWJlbF06YmVmb3JlIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtcndkLWxhYmVsKSBcIjpcIjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5jYXJ0LXRhYmxlIHRkLnByb2R1Y3QtY2FydC1wcmljZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAuY2FydC10YWJsZSBoMiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG4gIC5jYXJ0LXRhYmxlIC5jYXJ0LWxpbmtzIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxuICAuY2FydC10YWJsZSAuY2FydC1saW5rcyA+IGxpIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuY2FydC10YWJsZSAuY2FydC1saW5rcyA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMnB4IDBweDtcbiAgfVxuICAuY2FydC10YWJsZSAuY2FydC10YXgtaW5mbyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgLmNhcnQtdGF4LWluZm8gLnByaWNlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbWFnZSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWltYWdlIGEuY2FydC1lZGl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbmZvLFxuICAuY2FydC10YWJsZSB0ZFtkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyxcbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1wcmljZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtcmVtb3ZlLFxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LXRvdGFsLFxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmNhcnQtbGlua3Mge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbWFnZSAuY2FydC1saW5rcyxcbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbmZvIC5idG4tcmVtb3ZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWluZm8gLmJ0bi1yZW1vdmUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IC00cHggMHB4IDJweCA3cHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbmZvIC5wcm9kdWN0LWNhcnQtc2t1IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAucXR5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgLnByaWNlLFxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LXByaWNlOmJlZm9yZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB9XG4gIC5jYXJ0LXRhYmxlIC5jYXJ0LWZvb3Rlci1hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNhcnQtdGFibGUgLmNhcnQtZm9vdGVyLWFjdGlvbnMgI2VtcHR5X2NhcnRfYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLmNhcnQtdGFibGUgLmNhcnQtZm9vdGVyLWFjdGlvbnMgLmJ0bi1jb250aW51ZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmNhcnQtdGFibGUgLmNhcnQtZm9vdGVyLWFjdGlvbnMgLmJ0bi11cGRhdGUsXG4gIC5jYXJ0LXRhYmxlIC5jYXJ0LWZvb3Rlci1hY3Rpb25zIHNwYW4ub3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtdGFibGUgdGRbZGF0YS1yd2QtdGF4LWxhYmVsXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1yd2QtdGF4LWxhYmVsKSBcIjpcIjtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIEVzdGltYXRlIFNoaXBwaW5nIGFuZCBUYXhcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2hpcHBpbmcgaDIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDAgMCA1cHg7XG59XG5cbi5zaGlwcGluZyBzZWxlY3Qge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxMTE7XG59XG5cbi5zaGlwcGluZyBzZWxlY3QudmFsaWRhdGlvbi1mYWlsZWQge1xuICBib3JkZXItY29sb3I6ICNEQzIwMjI7XG59XG5cbi5zaGlwcGluZyAuc2hpcHBpbmctZGVzYyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zaGlwcGluZyAuYnV0dG9ucy1zZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnNoaXBwaW5nIC5mb3JtLWxpc3Q6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc2hpcHBpbmcgLmZvcm0tbGlzdCBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDVweCAyJSAxMHB4IDA7XG59XG5cbi5zaGlwcGluZyAuZm9ybS1saXN0IC5zaGlwcGluZy1jb3VudHJ5IHtcbiAgd2lkdGg6IDM3JTtcbn1cblxuLnNoaXBwaW5nIC5mb3JtLWxpc3QgLnNoaXBwaW5nLXJlZ2lvbiB7XG4gIHdpZHRoOiA0MSU7XG59XG5cbi5zaGlwcGluZyAuZm9ybS1saXN0IC5zaGlwcGluZy1wb3N0Y29kZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IDE4JTtcbn1cblxuLnNoaXBwaW5nIC5mb3JtLWxpc3QgLnNoaXBwaW5nLXBvc3Rjb2RlIGlucHV0IHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4uc2hpcHBpbmcgLmZvcm0tbGlzdCAuaW5wdXQtYm94IHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5zaGlwcGluZyAuZm9ybS1saXN0IGlucHV0IHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5zaGlwcGluZyAuZm9ybS1saXN0IGxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zaGlwcGluZyAuc3AtbWV0aG9kcyB7XG4gIHBhZGRpbmc6IDEwcHggMCAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uc2hpcHBpbmcgLnNwLW1ldGhvZHMgZGQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uc2hpcHBpbmcgLnNwLW1ldGhvZHMgbGFiZWwge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBtaW4td2lkdGg6IDEwMHB4O1xufVxuXG4uc2hpcHBpbmcgLnNwLW1ldGhvZHMgbGFiZWwgc3BhbiB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLnNoaXBwaW5nICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLmJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnNoaXBwaW5nICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCBsYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNGNEY0RjQsIDMlKTtcbiAgbWluLXdpZHRoOiAyMjBweDtcbn1cblxuLnNoaXBwaW5nICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCBsYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNGNEY0RjQsIDEwJSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnNoaXBwaW5nIC5zaGlwcGluZy1mb3JtIC5mb3JtLWxpc3QgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgLnNoaXBwaW5nIC5zaGlwcGluZy1mb3JtIC5mb3JtLWxpc3QgPiBsaSBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnNoaXBwaW5nIC5zaGlwcGluZy1mb3JtIC5mb3JtLWxpc3QgPiBsaSBpbnB1dCxcbiAgLnNoaXBwaW5nIC5zaGlwcGluZy1mb3JtIC5mb3JtLWxpc3QgPiBsaSBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5jYXJ0IC5jYXJ0LXRvdGFscyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY2FydCAuY2FydC10b3RhbHM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY2FydCAuY2FydC10b3RhbHMgdGFibGUge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDJweCAwcHg7XG59XG5cbi5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0ZDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIG1pbi13aWR0aDogMTIwcHg7XG59XG5cbi5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkLFxuLmNhcnQgLmNhcnQtdG90YWxzIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGgge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLmNhcnQgLmNhcnQtdG90YWxzIHRhYmxlIHRmb290IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFNkU2RTY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTZFNkU2O1xufVxuXG4uY2FydCAuY2FydC10b3RhbHMgdGFibGUgdGZvb3QgdGQge1xuICBmb250LXNpemU6IDI0cHg7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0Zm9vdCBzdHJvbmcgc3Bhbixcbi5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0Zm9vdCBzcGFuLnByaWNlIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uY2FydCAuY2FydC10b3RhbHMgdGFibGUgdGZvb3Qgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuY2FydC10b3RhbHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLmNhcnQgLmNhcnQtdG90YWxzIHRhYmxlIHRmb290IHRkIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cblxuLmRpc2NvdW50LWZvcm06YWZ0ZXIsXG4jZ2lmdGNhcmQtZm9ybTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbiNkaXNjb3VudC1jb3Vwb24tZm9ybSxcbi5jYXJ0IC5naWZ0Y2FyZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jZGlzY291bnQtY291cG9uLWZvcm0gaDIsXG4uY2FydCAuZ2lmdGNhcmQgaDIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jZGlzY291bnQtY291cG9uLWZvcm0gLmZpZWxkLXdyYXBwZXIsXG4uY2FydCAuZ2lmdGNhcmQgLmZpZWxkLXdyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNkaXNjb3VudC1jb3Vwb24tZm9ybSAudmFsaWRhdGlvbi1hZHZpY2UsXG4uY2FydCAuZ2lmdGNhcmQgLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4jZGlzY291bnQtY291cG9uLWZvcm0gLmJ1dHRvbi13cmFwcGVyLFxuLmNhcnQgLmdpZnRjYXJkIC5idXR0b24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuI2Rpc2NvdW50LWNvdXBvbi1mb3JtIC5idXR0b24td3JhcHBlciA+IGJ1dHRvbixcbi5jYXJ0IC5naWZ0Y2FyZCAuYnV0dG9uLXdyYXBwZXIgPiBidXR0b24ge1xuICBmbG9hdDogbGVmdDtcbn1cblxuI2Rpc2NvdW50LWNvdXBvbi1mb3JtIC5pbnB1dC10ZXh0LFxuLmNhcnQgLmdpZnRjYXJkIC5pbnB1dC10ZXh0IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDRweCAxMHB4IDAgMDtcbiAgd2lkdGg6IDE5MHB4O1xufVxuXG4uY2FydCAuZ2lmdGNhcmQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbn1cblxuLmNhcnQgLmdpZnRjYXJkIC5jaGVjay1nYy1zdGF0dXMge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMHB4O1xufVxuXG4uY2FydCAuZ2lmdGNhcmQgLmNoZWNrLWdjLXN0YXR1cyA+IHNwYW4gPiBzcGFuIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBDYXJ0IENyb3NzIHNlbGxcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY3Jvc3NzZWxsIGgyIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi5jcm9zc3NlbGwgLml0ZW0gYS5wcm9kdWN0LWltYWdlIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiBDaGFuZ2UgdGhlIGxheW91dCB0byAyIGNvbHVtbnMgYXQgYSBicmVha3BvaW50IHRoYXQgaXMgaGlnaGVyIHRoYW4gYSAzIGNvbHVtbnMgbGF5b3V0IHdvdWxkIG5vcm1hbGx5IGJyZWFrICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC5jcm9zc3NlbGwge1xuICAgIC8qIFVuZG8gdGhyZWUtY29sdW1uIGNvbmZpZyAqL1xuICB9XG4gIC5jcm9zc3NlbGwgLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQoZXZlbiksXG4gIC5jcm9zc3NlbGwgLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQoM24pLFxuICAuY3Jvc3NzZWxsIC5wcm9kdWN0cy1ncmlkID4gbGkge1xuICAgIHdpZHRoOiA0Ny43MjcyNyU7XG4gICAgbWFyZ2luLXJpZ2h0OiA0LjU0NTQ1JTtcbiAgfVxuICAuY3Jvc3NzZWxsIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5jcm9zc3NlbGwgLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuY3Jvc3NzZWxsIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5jYXJ0LXRhYmxlIC5jYXJ0LXRheC10b3RhbDphZnRlciB7XG4gICAgcmlnaHQ6IC05cHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgLmNhcnQtdGF4LXRvdGFsLmNhcnQtdGF4LXRvdGFsLWV4cGFuZGVkOmFmdGVyIHtcbiAgICByaWdodDogLTEzcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAuY3Jvc3NzZWxsIHVsIC5pdGVtIHtcbiAgICBwYWRkaW5nOiAwIDBweCA0MHB4O1xuICB9XG4gIC5jcm9zc3NlbGwgdWwgLnByb2R1Y3QtZGV0YWlscyAuY3Jvc3NzZWxsLWFjdGlvbnMge1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gT25lIFBhZ2VcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLXJpZ2h0LFxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1sZWZ0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY4Ljc1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtcmlnaHQsXG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbGVmdCB7XG4gICAgd2lkdGg6IDMxLjI1JTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLXJpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLm9wYyBzZWxlY3Qge1xuICB3aWR0aDogMzY1cHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNlY3Rpb24gU3R5bGluZyAtIERlZmF1bHRcbiAqL1xuLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzliOWI5YjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5vcGMgLnNlY3Rpb24uYWxsb3c6bm90KC5hY3RpdmUpIC5zdGVwLXRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBVc2luZyAubm8tdG91Y2ggc2luY2UgdG91Y2ggZGV2aWNlcyBlbXVsYXRlIGhvdmVyLCB0aGVyZWJ5IG1ha2luZyBzdGVwcyBsb29rIGFjdGl2ZSB0aGF0IGFyZSBub3QgKi9cbi5uby10b3VjaCAub3BjIC5zZWN0aW9uLmFsbG93Om5vdCguYWN0aXZlKSAuc3RlcC10aXRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG59XG5cbi5vcGMgLnNlY3Rpb24gLnN0ZXAtdGl0bGUgYSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vcGMgLnNlY3Rpb24uYWxsb3c6bm90KC5hY3RpdmUpIC5zdGVwLXRpdGxlIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDY0NUFEICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi5vcGMgLnNlY3Rpb24uYWxsb3c6bm90KC5hY3RpdmUpIC5zdGVwLXRpdGxlIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm5vLXRvdWNoIC5vcGMgLnNlY3Rpb24gLnN0ZXAtdGl0bGUgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZSAubnVtYmVyLFxuLm9wYyAuc2VjdGlvbi5hbGxvdy5hY3RpdmUgLnN0ZXAtdGl0bGUgLm51bWJlcixcbi5uby10b3VjaCAub3BjIC5zZWN0aW9uLmFsbG93OmhvdmVyIC5zdGVwLXRpdGxlIC5udW1iZXIge1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDAwO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vcGMgLnNlY3Rpb24gLnN0ZXAge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4ub3BjIC5zZWN0aW9uIC5zdGVwOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAub3BjIC5zZWN0aW9uIC5zdGVwIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG59XG5cbi5vcGMgc2VsZWN0IHtcbiAgbWF4LXdpZHRoOiAzNjVweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5vcGMgaDMge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ub3BjIC5idXR0b25zLXNldCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5vcGMgLmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b24ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm9wYyAuYnV0dG9ucy1zZXQgcC5yZXF1aXJlZCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm9wYyAuYnV0dG9ucy1zZXQgLmJhY2stbGluayB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwO1xufVxuXG4ub3BjIC5idXR0b25zLXNldCBhIHtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNXB4IDVweCA1cHggMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAub3BjIC5idXR0b25zLXNldCAuYnV0dG9uICsgLmJ1dHRvbnMtc2V0IC5idXR0b24sXG4gIC5wYXlwYWwtZXhwcmVzcy1yZXZpZXcgLmJ1dHRvbnMtc2V0IC5idXR0b24gKyAuYnV0dG9ucy1zZXQgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLm9wYyAjb3BjLWxvZ2luIC5zdGVwIHtcbiAgcGFkZGluZzogMHB4O1xufVxuXG4ub3BjICNvcGMtbG9naW4gLmJ1dHRvbnMtc2V0IHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAub3BjICNvcGMtbG9naW4gLmRlc2NyaXB0aW9uLFxuICAub3BjICNvcGMtbG9naW4gcC5yZXF1aXJlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jb3BjLXBheW1lbnQgLm5vdGUge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUaGlzIHNlY3Rpb24gaGlkZXMgZXZlcnl0aGluZyBidXQgdGhlIFwiQ2hlY2tvdXQgTWV0aG9kXCIgc3RlcCBvZiB0aGUgY2hlY2tvdXQgcHJvY2VzcyBhbmQgZmFkZXMgaW4gdGhlIGNvbnRlbnRcbiAqIG9uY2UgdGhlIGN1c3RvbWVyIHByb2dyZXNzZXMgdG8gdGhlIG5leHQgc3RlcC4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBpcyB0byBzaW1wbGlmeSB3aGF0IHRoZSBjdXN0b21lciBoYXMgdG8gZm9jdXMgb24uXG4gKiBJdCBpcyBsaW1pdGVkIHRvIGxhcmdlciB2aWV3cG9ydHMgc2luY2Ugc21hbGxlciBkZXZpY2VzIGFyZSBpbmhlcmVudGx5IGdvaW5nIHRvIGJlIGZvY3VzZWQgc29sZWx5IG9uIHRoZVxuICogXCJDaGVja291dCBNZXRob2RcIiBzdGVwLlxuICovXG4ub3BjLm9wYy1maXJzdHN0ZXAtbG9naW4gLnNlY3Rpb246bm90KCNvcGMtbG9naW4pIC5zdGVwLXRpdGxlLFxuLm9wYy1ibG9jay1wcm9ncmVzcy1zdGVwLWxvZ2luIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbn1cblxuLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uI29wYy1sb2dpbiAuc3RlcC10aXRsZSAubnVtYmVyIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggODBtcztcbn1cblxuLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uI29wYy1sb2dpbiAuc3RlcC10aXRsZSBoMiB7XG4gIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IDgwbXM7XG59XG5cbi8qIFdoZW4gYSB1c2VyIHByb2dyZXNzZXMgZnJvbSB0aGUgXCJDaGVja291dCBNZXRob2RcIiB0byBcIkJpbGxpbmcgSW5mb3JtYXRpb25cIiBmb3IgdGhlIGZpcnN0IHRpbWUsIHRoZSAgICAgICAgICAgICAgKi9cbi8qIFwib3BjLWhhcy1wcm9ncmVzc2VkLWZyb20tbG9naW5cIiBjbGFzcyBnZXRzIGFkZGVkIHRvIHRoZSBib2R5LiBBbHNvLCB0aGUgLm9wYyBlbGVtZW50IHdpbGwgb25seSBoYXZlIHRoZSAgICAgICAgICovXG4vKiBcIm9wYy1maXJzdHN0ZXAtbG9naW5cIiBjbGFzcyBpZiB0aGUgZmlyc3Qgc3RlcCBvZiB0aGUgY2hlY2tvdXQgaXMgdGhlIFwiQ2hlY2tvdXQgTWV0aG9kXCIgKGVnLCBub3Qgd2hlbiBsb2dnZWQgaW4pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTaGlwcGluZyBhbmQgUGF5bWVudCBtZXRob2RzXG4gKi9cbi5zcC1tZXRob2RzIHtcbiAgbWFyZ2luOiAwIDAgOHB4O1xufVxuXG4uc3AtbWV0aG9kcyBkdCB7XG4gIG1hcmdpbjogMTNweCAwIDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5zcC1tZXRob2RzIGR0OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwIDAgNXB4O1xufVxuXG4uc3AtbWV0aG9kcyBkZCBsaSB7XG4gIG1hcmdpbjogNXB4IDA7XG59XG5cbi5zcC1tZXRob2RzIGxhYmVsIGltZyB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc3AtbWV0aG9kcyBsYWJlbCBhIHtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4uc3AtbWV0aG9kcyAucHJpY2Uge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnNwLW1ldGhvZHMgLmZvcm0tbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLnNwLW1ldGhvZHMgLmZvcm0tbGlzdCBsaSB7XG4gIG1hcmdpbjogMCAwIDhweDtcbn1cblxuLnNwLW1ldGhvZHMgc2VsZWN0Lm1vbnRoIHtcbiAgd2lkdGg6IDEyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5zcC1tZXRob2RzIHNlbGVjdC55ZWFyIHtcbiAgd2lkdGg6IDk2cHg7XG59XG5cbi5zcC1tZXRob2RzIGlucHV0LmN2diB7XG4gIHdpZHRoOiA0ZW0gIWltcG9ydGFudDtcbn1cblxuLnNwLW1ldGhvZHMgI2FkdmljZS12YWxpZGF0ZS1jYy1leHAtY2NzYXZlX2V4cGlyYXRpb24ge1xuICBtYXgtd2lkdGg6IDEzMHB4O1xufVxuXG4uc3AtbWV0aG9kcyAuY2hlY2ttby1saXN0IGxpIHtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc3AtbWV0aG9kcyAuY2hlY2ttby1saXN0IGxhYmVsIHtcbiAgd2lkdGg6IDE2NXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zcC1tZXRob2RzIC5jaGVja21vLWxpc3QgYWRkcmVzcyB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIC5zcC1tZXRob2RzIC5jaGVja21vLWxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAuc3AtbWV0aG9kcyAuY2hlY2ttby1saXN0IGxhYmVsIHtcbiAgICB3aWR0aDogMTM1cHg7XG4gIH1cbn1cblxuLnNwLW1ldGhvZHMgLnJlbGVhc2UtYW1vdW50cyB7XG4gIG1hcmdpbjogMC41ZW0gMDtcbn1cblxuLnNwLW1ldGhvZHMgLnJlbGVhc2UtYW1vdW50cyBidXR0b24ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiA1cHggMTBweCAwIDA7XG59XG5cbi8qIE9uZSBQYWdlIENoZWNrb3V0ICovXG4uYmxvY2stcHJvZ3Jlc3Mge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWI5YjliO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5ibG9jay1wcm9ncmVzcyAuYmxvY2stY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmJsb2NrLXByb2dyZXNzIGR0IHtcbiAgcGFkZGluZy10b3A6IDZweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjOUI5QjlCO1xufVxuXG4uYmxvY2stcHJvZ3Jlc3MgZHQuY29tcGxldGUge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLmJsb2NrLXByb2dyZXNzIGRkIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmJsb2NrLXByb2dyZXNzIGRkIGFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5ibG9jay1wcm9ncmVzcyAjcGF5bWVudC1wcm9ncmVzcy1vcGNoZWNrb3V0IC5zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbn1cblxuLmJsb2NrLXByb2dyZXNzIC5wYXltZW50LWluZm8gZHQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAzcHggMDtcbiAgY29sb3I6ICMxMTE7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5ibG9jay1wcm9ncmVzcyAucGF5bWVudC1pbmZvIGR0OmFmdGVyIHtcbiAgY29udGVudDogJzogJztcbn1cblxuLmJsb2NrLXByb2dyZXNzIC5wYXltZW50LWluZm8gZGQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5ibG9jay1wcm9ncmVzcyAucGF5bWVudC1pbmZvOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLyogcmV2aWV3IHN0ZXAgKi9cbiNjaGVja291dC1yZXZpZXctdGFibGUgLmJ0bi1yZW1vdmUgaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2NoZWNrb3V0LXJldmlldy10YWJsZS13cmFwcGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbiNyZXZpZXctYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuI3Jldmlldy1idXR0b25zLWNvbnRhaW5lciAuYnRuLWNoZWNrb3V0IHtcbiAgbWluLXdpZHRoOiAyMjBweDtcbn1cblxuI3Jldmlldy1idXR0b25zLWNvbnRhaW5lciAucGxlYXNlLXdhaXQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4jcmV2aWV3LWJ1dHRvbnMtY29udGFpbmVyIC5mLWxlZnQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZS5jaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgdHI6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLmxpbmVhcml6ZS10YWJsZS5jaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgdHI6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qIHNob3cvaGlkZSBcImNoYW5nZVwiIGxpbmsgZm9yIHByb2dyZXNzIHN0ZXAgZGVwZW5kIG9uIGNvbXBsZXRlIHN0YXR1c1xuICogc2hvdWxkIGJlIHBsYWNlZCBpbiAuY3NzIGZpbGUgKi9cbi5vcGMtYmxvY2stcHJvZ3Jlc3MgZHQuY29tcGxldGUgYSxcbi5vcGMtYmxvY2stcHJvZ3Jlc3MgZHQuY29tcGxldGUgLnNlcGFyYXRvciB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLm9wYy1ibG9jay1wcm9ncmVzcyBkdCBhLFxuLm9wYy1ibG9jay1wcm9ncmVzcyBkdCAuc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogT24gc21hbGwgc2NyZWVucywgdGhlIHByb2dyZXNzIHJldmlldyBjb250ZW50IHdpbGwgYmUgbW92ZWQgdG8gdGhlIHJldmlldyBzdGVwIHZpYSBKUy4gU3R5bGVkIHZpYSB0aGlzIENTUzogKi9cbiNjaGVja291dC1zdGVwLXJldmlldyAub3BjLWJsb2NrLXByb2dyZXNzIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5vcGMtYmxvY2stcHJvZ3Jlc3MgLmJsb2NrLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5vcGMtYmxvY2stcHJvZ3Jlc3MgLmJsb2NrLWNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xufVxuXG4jY2hlY2tvdXQtc3RlcC1yZXZpZXcgLm9wYy1ibG9jay1wcm9ncmVzcyAuYmxvY2stY29udGVudCA+IGRsID4gZGl2IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5vcGMtYmxvY2stcHJvZ3Jlc3MgLmJsb2NrLWNvbnRlbnQgPiBkbCA+IGRpdiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5vcGMtYmxvY2stcHJvZ3Jlc3MgLmJsb2NrLWNvbnRlbnQgLmNoYW5nZWxpbmsge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gICNjaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgPiB0ciA+IHRoIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICNjaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAjY2hlY2tvdXQtcmV2aWV3LXRhYmxlIHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5jZW50aW5lbCA+IHAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4jY2hlY2tvdXQtc3RlcC1yZXZpZXcgLmNlbnRpbmVsIGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbn1cblxuLyogR2lmdCBvcHRpb25zICovXG4uZ2lmdC1tZXNzYWdlcy1mb3JtIC5pdGVtIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmdpZnQtbWVzc2FnZXMtZm9ybSAuaXRlbSBoNSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZ2lmdC1tZXNzYWdlcy1mb3JtIC5pdGVtIC5wcm9kdWN0LWltZy1ib3gge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbi5naWZ0LW1lc3NhZ2VzLWZvcm0gLml0ZW0gLmRldGFpbHMge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5pbm5lci1ib3ggPiBkaXYge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5naWZ0LW1lc3NhZ2UtZm9ybSAuaW5uZXItYm94ID4gZGl2LmV4dHJhLW9wdGlvbnMtY29udGFpbmVyIHAge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uZ2lmdC1tZXNzYWdlLWZvcm0gLmdpZnQtd3JhcHBpbmctZm9ybSBsYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LXdyYXBwaW5nLWZvcm0gaW1nIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdC13cmFwcGluZy1mb3JtIC5naWZ0LXdyYXBwaW5nLWRlc2lnbiB7XG4gIGhlaWdodDogNzVweDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LXdyYXBwaW5nLWZvcm0gLmdpZnQtd3JhcHBpbmctZGVzaWduOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LXdyYXBwaW5nLWZvcm0gLmdpZnQtd3JhcHBpbmctZGVzaWduIC5pbWFnZS1ib3gge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LWl0ZW0ge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICM5YjliOWI7XG59XG5cbi5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdC1pdGVtOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LWl0ZW0gLnByb2R1Y3QtaW1nLWJveCB7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LWl0ZW0gLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZSB7XG4gIHdpZHRoOiA3NXB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uZ2lmdC1tZXNzYWdlLWZvcm0gLmdpZnQtaXRlbSAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LWl0ZW0gLmZpZWxkc2V0IHtcbiAgbWFyZ2luLWxlZnQ6IDIwMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdG1lc3NhZ2UtYXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdC1pdGVtIC5wcm9kdWN0LWltZy1ib3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdC1pdGVtIC5maWVsZHNldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxuICAuZ2lmdC1tZXNzYWdlLWZvcm0gLmdpZnQtaXRlbSAuZmllbGRzZXQgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gU3VjY2Vzc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNvbC1tYWluIHtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5idXR0b25zLXNldCB7XG4gIG1hcmdpbjogMTBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmJ1dHRvbnMtc2V0IGJ1dHRvbiB7XG4gIGZsb2F0OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDb25maWd1cmFibGUgU3dhdGNoZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDbGVhcnMgKi9cbi5jbGVhcmZpeDphZnRlcixcbi5jb25maWd1cmFibGUtc3dhdGNoLWxpc3Q6YWZ0ZXIsXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnN3YXRjaC1hdHRyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLyogR2VuZXJhbCBTd2F0Y2ggU3R5bGluZyAqL1xuLnN3YXRjaC1saW5rLFxuLnN3YXRjaC1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAtMnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5zd2F0Y2gtbGluayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIG1hcmdpbjogMCAwIDNweDtcbn1cblxuLnN3YXRjaC1saW5rIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IC0zcHg7XG59XG5cbi5zd2F0Y2gtbGluazpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc3dhdGNoLWxpbmsgLngge1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZ194LnBuZykgY2VudGVyIG5vLXJlcGVhdCB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTA7XG59XG5cbi5zd2F0Y2gtbGluay5oYXMtaW1hZ2UgLnN3YXRjaC1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN3YXRjaC1saW5rLmhhcy1pbWFnZSBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLnN3YXRjaC1sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbn1cblxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICB6b29tOiAxO1xuICBjbGVhcjogYm90aDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMHB4KTtcbn1cblxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB6b29tOiAxO1xuICBtYXJnaW46IDAgMCAwIDNweDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCAubm90LWF2YWlsYWJsZSAueCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ub3QtYXZhaWxhYmxlIC5zd2F0Y2gtbGluayB7XG4gIGJvcmRlci1jb2xvcjogI0VERURFRDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ub3QtYXZhaWxhYmxlIC5zd2F0Y2gtbGluay5oYXMtaW1hZ2UgaW1nIHtcbiAgb3BhY2l0eTogMC40O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApO1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ub3QtYXZhaWxhYmxlIC5zd2F0Y2gtbGFiZWwge1xuICBjb2xvcjogI2FhYTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCAud2lkZS1zd2F0Y2ggLnN3YXRjaC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgNnB4O1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ub3QtYXZhaWxhYmxlIGE6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4jbmFycm93LWJ5LWxpc3QgZGQgLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCBsaSB7XG4gIG1hcmdpbjogMCAwIDAgM3B4O1xuICB3aWR0aDogNDclO1xufVxuXG4jbmFycm93LWJ5LWxpc3QgZGQgLnN3YXRjaC1saW5rIHtcbiAgYm9yZGVyOiBub25lO1xuICBsaW5lLWhlaWdodDogMjNweDtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNuYXJyb3ctYnktbGlzdCBkZCAuc3dhdGNoLWxpbmsuaGFzLWltYWdlIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbiNuYXJyb3ctYnktbGlzdCBkZCAuc3dhdGNoLWxpbms6aG92ZXIgLnN3YXRjaC1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzA2NDVBRDtcbn1cblxuI25hcnJvdy1ieS1saXN0IGRkIC5zd2F0Y2gtbGFiZWwge1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAtMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgbWFyZ2luOiAwIDVweCAwIDA7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbiNuYXJyb3ctYnktbGlzdCBkZCAuc3dhdGNoLWxhYmVsIGltZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IC0ycHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4jbmFycm93LWJ5LWxpc3QgZGQgLmhhcy1pbWFnZSAuc3dhdGNoLWxhYmVsIHtcbiAgcGFkZGluZzogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAjbmFycm93LWJ5LWxpc3QgZGQgLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCBsaTpudGgtY2hpbGQob2RkKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbn1cblxuLmN1cnJlbnRseSAuc3dhdGNoLWN1cnJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jdXJyZW50bHkgLnN3YXRjaC1jdXJyZW50IC5idG4tcmVtb3ZlIHtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xufVxuXG4uY3VycmVudGx5IC5zd2F0Y2gtY3VycmVudCBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uY3VycmVudGx5IC5zd2F0Y2gtbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMCAzcHg7XG59XG5cbi5jdXJyZW50bHkgLnN3YXRjaC1saW5rOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qIE90aGVyIFN3YXRjaCBTdGF0ZXMgKi9cbi5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QgLmhvdmVyIC5zd2F0Y2gtbGluayxcbi5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QgLnNlbGVjdGVkIC5zd2F0Y2gtbGluayxcbi5zd2F0Y2gtbGluazpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzA2NDVBRDtcbn1cblxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtYm94IHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1ib3ggc2VsZWN0LnN3YXRjaC1zZWxlY3Qge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1ib3ggLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBiYWNrZ3JvdW5kOiAjREMyMDIyO1xuICBwYWRkaW5nOiAycHggNXB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IC0ycHg7XG59XG5cbi8qIENVU1RPTSAqL1xuLmF2YWlsYWJpbGl0eS5vdXQtb2Ytc3RvY2sgc3BhbiB7XG4gIGNvbG9yOiAjOUI5QjlCO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnN3YXRjaC1hdHRyIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnN3YXRjaC1hdHRyIGxhYmVsLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIC5zd2F0Y2gtYXR0ciAuc2VsZWN0LWxhYmVsIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnN3YXRjaC1hdHRyIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyAuc3dhdGNoLWF0dHIgLnNlbGVjdC1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMxMTE7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgZGQgLmlucHV0LWJveCB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyAuc2VsZWN0LWxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQgYnV0dG9uLm91dC1vZi1zdG9jayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zNjJweDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDdXN0b21lclxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5zY2FmZm9sZC1mb3JtIGxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgd2lkdGg6IDExNXB4O1xufVxuXG4uY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLmJ1dHRvbnMtc2V0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5idXR0b25zLXNldCBidXR0b24sXG4uY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuICBmbG9hdDogbm9uZTtcbiAgbWluLXdpZHRoOiA1MCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMSB1bCB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM2MHB4KSB7XG4gIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAuY29sLTEsXG4gIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAuY29sLTIge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRURFREVEO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcwcHgpIHtcbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRURFREVEO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMiB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFREVERUQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgcC5yZXF1aXJlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLnNjYWZmb2xkLWZvcm0gbGFiZWw6Zmlyc3QtY2hpbGQge1xuICB3aWR0aDogMTQwcHg7XG59XG5cbi5yZW1lbWJlci1tZS1ib3ggYS5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnJlbWVtYmVyLW1lLWJveCAubGluay10aXAge1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLnJlbWVtYmVyLW1lLXBvcHVwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZzogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucmVtZW1iZXItbWUtcG9wdXAuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucmVtZW1iZXItbWUtcG9wdXAgcCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnJlbWVtYmVyLW1lLXBvcHVwIC5yZW1lbWJlci1tZS1wb3B1cC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucmVtZW1iZXItbWUtcG9wdXAgLnJlbWVtYmVyLW1lLXBvcHVwLWNsb3NlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuYnV0dG9ucy1zZXQge1xuICBtYXgtd2lkdGg6IDQ1NXB4O1xufVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZpZWxkc2V0LFxuLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5idXR0b25zLXNldCB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzZXQsXG4gIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuYnV0dG9ucy1zZXQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzZXQgLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAjcmVtZW1iZXItbWUtcG9wdXAge1xuICBtYXgtd2lkdGg6IDQ1NXB4O1xufVxuXG4uY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuZmllbGRzZXQsXG4uY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuYnV0dG9ucy1zZXQge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuZmllbGRzZXQsXG4gIC5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5idXR0b25zLXNldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLmZpZWxkc2V0IC5pbnB1dC1ib3ggaW5wdXQuaW5wdXQtdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBNeSBBY2NvdW50IEdsb2JhbCBTdHlsZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmZpZWxkc2V0IGgyLFxuYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC5hZGRyZXNzZXMtbGlzdCBoMixcbmJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAub3JkZXItZGV0YWlscyBoMiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLm9yZGVyLWRldGFpbHMgaDIge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAub3JkZXItZGV0YWlscyAub3JkZXItbGlua3Mge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IGgzIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmZpZWxkc2V0IHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC5maWVsZHNldCBoMi5sZWdlbmQge1xuICBib3JkZXI6IDA7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAucGFnZS10aXRsZSBoMSB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAudGl0bGUtYnV0dG9ucyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnRpdGxlLWJ1dHRvbnM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnRpdGxlLWJ1dHRvbnMgaDEge1xuICBmbG9hdDogbGVmdDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC50aXRsZS1idXR0b25zIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZm9ybS1saXN0IC5pbnB1dC1ib3gge1xuICBwYWRkaW5nLXRvcDogMWVtO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmZvcm0tbGlzdCAuaW5wdXQtdGV4dCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZm9ybS1saXN0IHNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0TkNqd2hMUzBnUjJWdVpYSmhkRzl5T2lCQlpHOWlaU0JKYkd4MWMzUnlZWFJ2Y2lBeE5TNHhMakFzSUZOV1J5QkZlSEJ2Y25RZ1VHeDFaeTFKYmlBdUlGTldSeUJXWlhKemFXOXVPaUEyTGpBd0lFSjFhV3hrSURBcElDQXRMVDROQ2p3aFJFOURWRmxRUlNCemRtY2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JUVmtjZ01TNHhMeTlGVGlJZ0ltaDBkSEE2THk5M2QzY3Vkek11YjNKbkwwZHlZWEJvYVdOekwxTldSeTh4TGpFdlJGUkVMM04yWnpFeExtUjBaQ0krRFFvOGMzWm5JSFpsY25OcGIyNDlJakV1TVNJZ2FXUTlJa3hoZVdWeVh6RWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWcwS0NTQjNhV1IwYUQwaU9DNDJNREZ3ZUNJZ2FHVnBaMmgwUFNJMUxqTTJjSGdpSUhacFpYZENiM2c5SWpBZ01DQTRMall3TVNBMUxqTTJJaUJsYm1GaWJHVXRZbUZqYTJkeWIzVnVaRDBpYm1WM0lEQWdNQ0E0TGpZd01TQTFMak0ySWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNE5DanhuUGcwS0NUeHdiMng1WjI5dUlHWnBiR3c5SWlNNU56azNPVGNpSUhCdmFXNTBjejBpTkM0ekxEVXVNellnTUN3eExqQTJNU0F4TGpBMk1Td3dJRFF1TXl3ekxqSXpPU0EzTGpVME1Td3dJRGd1TmpBeExERXVNRFl4SUFraUx6NE5Dand2Wno0TkNqd3ZjM1puUGcwS1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTJweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTFweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDMycHggOHB4IDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzY1cHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZm9ybS1saXN0IHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuZm9ybS1saXN0IHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC1tb3otYXBwZWFyYW5jZTogbWVudWxpc3QgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmZvcm0tbGlzdCAuY29udHJvbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5mb3JtLWxpc3QgLmNvbnRyb2wgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDAuNGVtIDFlbSAwIDA7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZm9ybS1saXN0IC5jb250cm9sIGxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5idXR0b25zLXNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5idXR0b25zLXNldCAucmVxdWlyZWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFlbSAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmJ1dHRvbnMtc2V0IC5iYWNrLWxpbmsge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDA7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIGNvbGdyb3VwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSB0ZCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHRkIGEge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUgc3Bhbi5ub2JyIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHNwYW4ubm9iciBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiAwIDAuNWVtO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUgdGQudmlldyBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSAuc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5wYWdlciAubGltaXRlciBzZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NE5DandoTFMwZ1IyVnVaWEpoZEc5eU9pQkJaRzlpWlNCSmJHeDFjM1J5WVhSdmNpQXhOUzR4TGpBc0lGTldSeUJGZUhCdmNuUWdVR3gxWnkxSmJpQXVJRk5XUnlCV1pYSnphVzl1T2lBMkxqQXdJRUoxYVd4a0lEQXBJQ0F0TFQ0TkNqd2hSRTlEVkZsUVJTQnpkbWNnVUZWQ1RFbERJQ0l0THk5WE0wTXZMMFJVUkNCVFZrY2dNUzR4THk5RlRpSWdJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MMGR5WVhCb2FXTnpMMU5XUnk4eExqRXZSRlJFTDNOMlp6RXhMbVIwWkNJK0RRbzhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4aGVXVnlYekVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElnMEtDU0IzYVdSMGFEMGlPQzQyTURGd2VDSWdhR1ZwWjJoMFBTSTFMak0yY0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0E0TGpZd01TQTFMak0ySWlCbGJtRmliR1V0WW1GamEyZHliM1Z1WkQwaWJtVjNJREFnTUNBNExqWXdNU0ExTGpNMklpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajROQ2p4blBnMEtDVHh3YjJ4NVoyOXVJR1pwYkd3OUlpTTVOemszT1RjaUlIQnZhVzUwY3owaU5DNHpMRFV1TXpZZ01Dd3hMakEyTVNBeExqQTJNU3d3SURRdU15d3pMakl6T1NBM0xqVTBNU3d3SURndU5qQXhMREV1TURZeElBa2lMejROQ2p3dlp6NE5Dand2YzNablBnMEtcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEycHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDExcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBwYWRkaW5nOiA4cHggMzJweCA4cHggOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAucGFnZXIgLmxpbWl0ZXIgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5wYWdlciAubGltaXRlciBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG1lbnVsaXN0ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zZXBhcmF0b3Ige1xuICBjb2xvcjogIzliOWI5Yjtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1hY2NvdW50IC5ibG9jay10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stYWNjb3VudCAuYmxvY2stdGl0bGUgc3Ryb25nIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1hY2NvdW50IGxpIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stYWNjb3VudCAuY3VycmVudCBzdHJvbmcge1xuICBjb2xvcjogIzAwMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1hY2NvdW50IGEge1xuICBjb2xvcjogIzlCOUI5Qjtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1hY2NvdW50IGE6aG92ZXIge1xuICBjb2xvcjogIzAwMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jayBvbCNjb21wYXJlLWl0ZW1zIGxpIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2sgLmJsb2NrLWNvbnRlbnQgcC5ibG9jay1zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2sgLmJsb2NrLWNvbnRlbnQgLmFjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnNpZGViYXIgb2wjY2FydC1zaWRlYmFyLXJlb3JkZXIgbGkge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnNpZGViYXIgb2wjY2FydC1zaWRlYmFyLXJlb3JkZXIgcC5wcm9kdWN0LW5hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stY2FydCAuc3VtbWFyeSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stcmVvcmRlciB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnNpZGViYXIgLmJsb2NrLXJlb3JkZXIgLmJsb2NrLXRpdGxlIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnNpZGViYXIgLmJsb2NrLXJlb3JkZXIgLmJsb2NrLXRpdGxlIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1yZW9yZGVyIG9sI2NhcnQtc2lkZWJhci1yZW9yZGVyIGxpIHtcbiAgbWFyZ2luOiAxMHB4IDAgMCAwO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnNpZGViYXIgLmJsb2NrLXJlb3JkZXIgb2wjY2FydC1zaWRlYmFyLXJlb3JkZXIgbGkgaW5wdXQge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stcmVvcmRlciBvbCNjYXJ0LXNpZGViYXItcmVvcmRlciBwLnByb2R1Y3QtbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5tZXNzYWdlcyB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG4uZm9ybS1saXN0IC5jdXN0b21lci1kb2IgLmRvYi1tb250aCxcbi5mb3JtLWxpc3QgLmN1c3RvbWVyLWRvYiAuZG9iLWRheSB7XG4gIHdpZHRoOiA0MHB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uZm9ybS1saXN0IC5jdXN0b21lci1kb2IgLmRvYi15ZWFyIHtcbiAgd2lkdGg6IDgwcHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBEYXNoYm9hcmRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGFzaGJvYXJkIC5ib3gtaGVhZCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGJvcmRlcjogMDtcbn1cblxuLmRhc2hib2FyZCAuYm94LWhlYWQgaDIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmRhc2hib2FyZCAuYm94LWhlYWQgYSB7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5kYXNoYm9hcmQgLmJveC10aXRsZSBhLFxuLmRhc2hib2FyZCAuYm94LWhlYWQgYSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmRhc2hib2FyZCAuYm94LWFjY291bnQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7XG59XG5cbi5kYXNoYm9hcmQgLmJveC1hY2NvdW50IHAsXG4uZGFzaGJvYXJkIC5ib3gtYWNjb3VudCBhZGRyZXNzIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5kYXNoYm9hcmQgLmJveC1yZWNlbnQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzliOWI5YjtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG59XG5cbi5kYXNoYm9hcmQgI215LW9yZGVycy10YWJsZSB7XG4gIG1hcmdpbjogMjBweCAwIDAgMDtcbn1cblxuLmRhc2hib2FyZCAuY29sMi1zZXQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzliOWI5YjtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5kYXNoYm9hcmQgLmNvbDItc2V0Omxhc3QtY2hpbGQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSxcbi5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDEyLjA5Njc3JTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5kYXNoYm9hcmQgLmNvbDItc2V0IC5ib3gtdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4uZGFzaGJvYXJkIC5jb2wyLXNldCAuYm94LXRpdGxlIGgyLFxuLmRhc2hib2FyZCAuY29sMi1zZXQgLmJveC10aXRsZSBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmRhc2hib2FyZCAuY29sMi1zZXQgLmJveC10aXRsZSBhIHtcbiAgbGluZS1oZWlnaHQ6IDE2LjhweDtcbn1cblxuLmRhc2hib2FyZCAuY29sMi1zZXQgLmJveC1jb250ZW50IGg0IHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uZGFzaGJvYXJkIC53ZWxjb21lLW1zZyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWI5YjliO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbn1cblxuLmRhc2hib2FyZCAud2VsY29tZS1tc2cgLmhlbGxvIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5kYXNoYm9hcmQgLmJveC1yZXZpZXdzLmJveC1hY2NvdW50IHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5kYXNoYm9hcmQgLmJveC1yZXZpZXdzIGxpIHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLmRhc2hib2FyZCAuYm94LXJldmlld3MgbGk6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4uZGFzaGJvYXJkIC5ib3gtcmV2aWV3cyBsaSAubnVtYmVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmRhc2hib2FyZCAuYm94LXJldmlld3MgbGkgLmRldGFpbHMge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuLmRhc2hib2FyZCAuYm94LXJldmlld3MgbGkgLmRldGFpbHMgLnJhdGluZ3Mge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZGFzaGJvYXJkIC5ib3gtcmV2aWV3cyBsaSAuZGV0YWlscyAucmF0aW5ncyBzdHJvbmcge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uZGFzaGJvYXJkIC5ib3gtcmV2aWV3cyBsaSAuZGV0YWlscyAucmF0aW5ncyAucmF0aW5nLWJveCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDNweCAwIDAgMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQWRkcmVzcyBCb29rXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgLmNvbC0xLFxuLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgLml0ZW0ge1xuICBtYXJnaW46IDAgMCAzMHB4IDA7XG59XG5cbi5teS1hY2NvdW50IC5hZGRyZXNzZXMtbGlzdCAuaXRlbSBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG4ubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgLml0ZW0gcCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMSxcbiAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMSBsaS5lbXB0eSxcbiAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMiBsaS5lbXB0eSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgLmFkZHJlc3Nlcy1hZGRpdGlvbmFsIHAgYSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBPcmRlciBWaWV3XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm9yZGVyLWluZm8ge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFREVERUQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ub3JkZXItaW5mbyBkdCxcbi5vcmRlci1pbmZvIGRkLFxuLm9yZGVyLWluZm8gdWwsXG4ub3JkZXItaW5mbyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLm9yZGVyLWluZm8gZHQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5vcmRlci1pbmZvIGxpIHtcbiAgbWFyZ2luOiAwIDAgMCAyMHB4O1xufVxuXG4ub3JkZXItaW5mbyBsaS5jdXJyZW50IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm9yZGVyLWluZm8gbGk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm9yZGVyLWRhdGUge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5vcmRlci1pbmZvLWJveCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5vcmRlci1pbmZvLWJveCArIC5vcmRlci1pbmZvLWJveCB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLm9yZGVyLWluZm8tYm94IC5jb2wtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHdpZHRoOiA0OCU7XG59XG5cbi5vcmRlci1pbmZvLWJveCAuY29sLTIge1xuICB3aWR0aDogNTIlO1xufVxuXG4ub3JkZXItaW5mby1ib3ggLmNvbC0xLFxuLm9yZGVyLWluZm8tYm94IC5jb2wtMiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLm9yZGVyLWluZm8tYm94IC5ib3gtdGl0bGUge1xuICB3aWR0aDogMTUwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ub3JkZXItaW5mby1ib3ggLmJveC10aXRsZSBoMiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLm9yZGVyLWluZm8tYm94IC5ib3gtdGl0bGUgaDI6YWZ0ZXIge1xuICBjb250ZW50OiAnOic7XG59XG5cbi5vcmRlci1pbmZvLWJveCAuYm94LWNvbnRlbnQge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ub3JkZXItaW5mby1ib3ggLmJveC1jb250ZW50IHRkLFxuLm9yZGVyLWluZm8tYm94IC5ib3gtY29udGVudCB0aCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLm9yZGVyLWluZm8tYm94IC5ib3gtY29udGVudCB0aCB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG4ub3JkZXItaW5mby1ib3ggLmJveC1jb250ZW50IHRkIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4ub3JkZXItaW5mby1ib3ggLmJveC1jb250ZW50IHN0cm9uZyB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI215LW9yZGVycy10YWJsZSB7XG4gIG1hcmdpbjogMzBweCAwO1xufVxuXG4jbXktb3JkZXJzLXRhYmxlIC5vcHRpb24tbGFiZWwge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4jbXktb3JkZXJzLXRhYmxlIC5vcHRpb24tdmFsdWUge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuI215LW9yZGVycy10YWJsZSB0ci5idW5kbGU6bm90KDpsYXN0LWNoaWxkKSB0ZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbiNteS1vcmRlcnMtdGFibGUgLml0ZW0tb3B0aW9ucyBkdCxcbiNteS1vcmRlcnMtdGFibGUgLml0ZW0tb3B0aW9ucyBkZCB7XG4gIGNvbG9yOiAjOUI5QjlCO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbiNteS1vcmRlcnMtdGFibGUgdGJvZHkgLmEtcmlnaHQsXG4jbXktb3JkZXJzLXRhYmxlIHRib2R5IC5hLWNlbnRlcixcbiNteS1vcmRlcnMtdGFibGUgdGhlYWQgLmEtcmlnaHQsXG4jbXktb3JkZXJzLXRhYmxlIHRoZWFkIC5hLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNteS1vcmRlcnMtdGFibGUgdGJvZHkgdGg6bGFzdC1jaGlsZC5hLXJpZ2h0LFxuI215LW9yZGVycy10YWJsZSB0aGVhZCB0aDpsYXN0LWNoaWxkLmEtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuI215LW9yZGVycy10YWJsZSB0Ym9keSAuYS1yaWdodC5sYXN0LFxuI215LW9yZGVycy10YWJsZSB0aGVhZCAuYS1yaWdodC5sYXN0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbm9sI2NhcnQtc2lkZWJhci1yZW9yZGVyIGxpIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxub2wjY2FydC1zaWRlYmFyLXJlb3JkZXIgbGkgaW5wdXQge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbm9sI2NhcnQtc2lkZWJhci1yZW9yZGVyIHAucHJvZHVjdC1uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICNteS1vcmRlcnMtdGFibGUgLm9wdGlvbi1sYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cbiAgI215LW9yZGVycy10YWJsZSAub3B0aW9uLXZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgfVxuICAjbXktb3JkZXJzLXRhYmxlIHRkW2RhdGEtcndkLWxhYmVsPVF0eV0gLm5vYnIgYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgI215LW9yZGVycy10YWJsZSB0ZFtkYXRhLXJ3ZC1sYWJlbD1RdHldIC5ub2JyIHN0cm9uZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG4gICNteS1vcmRlcnMtdGFibGUgdHIuYnVuZGxlIHtcbiAgICBib3JkZXItY29sb3I6ICNFREVERUQ7XG4gIH1cbiAgI215LW9yZGVycy10YWJsZSB0ci5idW5kbGUuY2hpbGQgdGRbZGF0YS1yd2QtbGFiZWxdIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbiAgI215LW9yZGVycy10YWJsZSB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbiAgI215LW9yZGVycy10YWJsZSB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIH1cbiAgI215LW9yZGVycy10YWJsZSB0Zm9vdCB0ci5zaGlwcGluZyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4ub3JkZXItYWRkaXRpb25hbCB7XG4gIG1hcmdpbjogNDBweCAwO1xufVxuXG4ub3JkZXItZ2lmdC1tZXNzYWdlIGRkIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmRhc2hib2FyZCAuY29sMi1zZXQgLmNvbC0xLFxuICAuZGFzaGJvYXJkIC5jb2wyLXNldCAuY29sLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHRkLnZpZXcgYSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2s6bm90KC5ibG9jay1sYXllcmVkLW5hdikgLmJsb2NrLWNvbnRlbnQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stYWNjb3VudCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gIH1cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1hY2NvdW50IC5ibG9jay10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUub3JkZXJzIHRoLnNoaXAsXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZS5vcmRlcnMgdGQuc2hpcCxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlLm9yZGVycyB0ZC5zdGF0dXMsXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZS5vcmRlcnMgdGguc3RhdHVzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vcmRlci1pbmZvLWJveCAuYm94LWNvbnRlbnQge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5hZGRyZXNzZXMtbGlzdCAuaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG4gIC5vcmRlci1pbmZvIGR0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5kYXNoYm9hcmQgLnBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLmRhc2hib2FyZCAucGFnZS10aXRsZSBoMSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAuZGFzaGJvYXJkIC53ZWxjb21lLW1zZyB7XG4gICAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB9XG4gIC5kYXNoYm9hcmQgLndlbGNvbWUtbXNnIC5oZWxsbyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG4gIC5kYXNoYm9hcmQgLmJveC1hY2NvdW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSxcbiAgLmRhc2hib2FyZCAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICB3aWR0aDogNDglO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgfVxuICAuZGFzaGJvYXJkIC5jb2wyLXNldCAuY29sLTIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucyBoMSwgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zIC5idXR0b24ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucyBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAuZm9ybS1saXN0IC5jb250cm9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnBhZ2UtdGl0bGUgaDEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnRpdGxlLWJ1dHRvbnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnRpdGxlLWJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucyAuYnV0dG9uICsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmZpZWxkc2V0IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAub3JkZXItZGV0YWlscyBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmJ1dHRvbnMtc2V0IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgLml0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG4gIC5vcmRlci1pbmZvIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC5kYXRhLXRhYmxlLm9yZGVycyAubGluay1yZW9yZGVyLFxuICAuZGF0YS10YWJsZS5vcmRlcnMgLmRhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmRhdGEtdGFibGUub3JkZXJzIHRkLnZpZXcge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSxcbiAgLmRhc2hib2FyZCAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC5vcmRlci1pbmZvLWJveCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5vcmRlci1pbmZvLWJveCAuY29sLTEsXG4gIC5vcmRlci1pbmZvLWJveCAuY29sLTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRURFREVEO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgfVxuICAub3JkZXItaW5mby1ib3ggKyAub3JkZXItaW5mby1ib3gge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAjbXktcmV2aWV3cy10YWJsZSAubm9iciB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBOZXdzbGV0dGVyIFN1YnNjcmlwdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5Lm5ld3NsZXR0ZXItbWFuYWdlLWluZGV4IC5teS1hY2NvdW50IC5maWVsZHNldCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbmJvZHkubmV3c2xldHRlci1tYW5hZ2UtaW5kZXggLm15LWFjY291bnQgLmZpZWxkc2V0IGgyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5uZXdzbGV0dGVyLW1hbmFnZS1pbmRleCAubXktYWNjb3VudCAuZm9ybS1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuYm9keS5uZXdzbGV0dGVyLW1hbmFnZS1pbmRleCAubXktYWNjb3VudCAuZm9ybS1saXN0IC5jb250cm9sIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5uZXdzbGV0dGVyLW1hbmFnZS1pbmRleCAubXktYWNjb3VudCAuZm9ybS1saXN0IC5jb250cm9sLi1tLCBib2R5Lm5ld3NsZXR0ZXItbWFuYWdlLWluZGV4IC5teS1hY2NvdW50IC5mb3JtLWxpc3QgLmNvbnRyb2wuLXcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUGFnZSBQb3AgVXBcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS1wb3B1cCAucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5wYWdlLXBvcHVwIC5wYWdlLXRpdGxlIGgxIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnBhZ2UtcG9wdXAgLnRpdGxlLWJ1dHRvbnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnBhZ2UtcG9wdXAgLnRpdGxlLWJ1dHRvbnM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucGFnZS1wb3B1cCAudGl0bGUtYnV0dG9ucyBoMSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ucGFnZS1wb3B1cCAudGl0bGUtYnV0dG9ucyAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4ucGFnZS1wb3B1cCAuc3ViLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ucGFnZS1wb3B1cCAuYnV0dG9ucy1zZXQge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4ucGFnZS1wb3B1cCAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDA7XG59XG5cbi5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAuY29sLTEge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IC5jb2wtMSAuYnV0dG9ucy1zZXQge1xuICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAuY29sLTEgLmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cblxuLmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IC5jb2wtMiB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uY3VzdG9tZXItcGF5bWVudGluZm8taW5kZXggLmNvbC0yIC5idXR0b25zLXNldCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAuY29sLTIgLmJ1dHRvbnMtc2V0IGEge1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5jdXN0b21lci1hY2NvdW50LmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IC5teS1hY2NvdW50IC5jb2wtMSxcbiAgLmN1c3RvbWVyLWFjY291bnQuY3VzdG9tZXItcGF5bWVudGluZm8taW5kZXggLm15LWFjY291bnQgLmNvbC0yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5jdXN0b21lci1hY2NvdW50LmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IC5teS1hY2NvdW50IC5jb2wtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAuY3VzdG9tZXItYWNjb3VudC5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAubXktYWNjb3VudCAuY29sLTEgLmJveC10aXRsZSAucGFnZXMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAuY3VzdG9tZXItYWNjb3VudC5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAubXktYWNjb3VudCAuY29sLTEgLmJ1dHRvbnMtc2V0IGZvcm0ge1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgfVxuICAuY3VzdG9tZXItYWNjb3VudC5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAubXktYWNjb3VudCAuY29sLTEgLmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC5jdXN0b21lci1hY2NvdW50LmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IC5teS1hY2NvdW50IC5jb2wtMiAuYnV0dG9ucy1zZXQgYnV0dG9uIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAuY3VzdG9tZXItYWNjb3VudC5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAubXktYWNjb3VudCAuY29sLTIgLmJ1dHRvbnMtc2V0IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5jdXN0b21lci1hY2NvdW50LmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IC5teS1hY2NvdW50IC5hZGRyZXNzZXMtbGlzdCAuaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDb250YWN0c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250YWN0cy1pbmRleC1pbmRleCAuYnV0dG9ucy1zZXQge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgbWF4LXdpZHRoOiA0MzVweDtcbn1cblxuLmNvbnRhY3RzLWluZGV4LWluZGV4IC5idXR0b25zLXNldCBwLnJlcXVpcmVkIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmNvbnRhY3RzLWluZGV4LWluZGV4IC5idXR0b25zLXNldCB7XG4gICAgbWF4LXdpZHRoOiAzMzBweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuY29udGFjdHMtaW5kZXgtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxuICAuY29udGFjdHMtaW5kZXgtaW5kZXggLmJ1dHRvbnMtc2V0IHAucmVxdWlyZWQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBQYXlQYWxcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg3MHB4KSBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLnBheXBhbC1yZXZpZXctb3JkZXIgLmNvbDItc2V0IC5jb2wtMSxcbiAgLnBheXBhbC1yZXZpZXctb3JkZXIgLmNvbDItc2V0IC5jb2wtMiB7XG4gICAgcGFkZGluZzogMHB4O1xuICB9XG59XG5cbi5wYXlwYWwtcmV2aWV3LW9yZGVyIC5pbmZvLXNldCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLnBheXBhbC1yZXZpZXctb3JkZXIgLmJ1dHRvbnMtc2V0IHtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBwYWRkaW5nLXRvcDogMHB4O1xuICBib3JkZXI6IDA7XG59XG5cbi5wYXlwYWwtcmV2aWV3LW9yZGVyIC5idXR0b25zLXNldCBidXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5wYXlwYWwtcmV2aWV3LW9yZGVyIC5jb2wtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLnBheXBhbC1yZXZpZXctb3JkZXIgLmZpZWxkLmluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b3AtY29udGFpbmVyIC5ibWwtYWQge1xuICBtYXJnaW4tdG9wOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udG9wLWNvbnRhaW5lciAuYm1sLWFkIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50b3AtY29udGFpbmVyIC5ibWwtYWQgc3BhbiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ibWwtYWQge1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmJtbC1hZCBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uYm1sLWFkIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmJtbC1hZCBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uYm1sLWFkIGltZyB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jYXJ0LXRvdGFscy13cmFwcGVyIC5ibWwtYWQubGFyZ2UgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAuYm1sLWFkLnNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5ibWwtYWQubGFyZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbmRpdi5wYXlwYWwtbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuZGl2LnBheXBhbC1sb2dvIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmRpdi5wYXlwYWwtbG9nbyBzcGFuIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuZGl2LnBheXBhbC1sb2dvIHNwYW4gYSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmRpdi5wYXlwYWwtbG9nbyBzcGFuID4gaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LXR5cGVzIGRpdi5wYXlwYWwtbG9nbyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYm1sLWNoZWNrb3V0LXR5cGUge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5zaWRlYmFyIC5wYXlwYWwtbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5zaWRlYmFyIC5wYXlwYWwtbG9nbyA+IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnNpZGViYXIgLnBheXBhbC1sb2dvID4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLnNpZGViYXIgLnBheXBhbC1sb2dvID4gYSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNpZGViYXIgLnBheXBhbC1sb2dvIC5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLnNpZGViYXIgLnBheXBhbC1sb2dvIC5sYWJlbCBhIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBSZXZpZXcgLSBDdXN0b21lclxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNjdXN0b21lci1yZXZpZXdzIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBub25lO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyAucmV2aWV3LWhlYWRpbmcge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIHBhZGRpbmc6IDEwcHggMCA1cHg7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIC5yZXZpZXctaGVhZGluZzphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIC5yZXZpZXctaGVhZGluZyBoMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1oZWFkaW5nIC5wYWdlciB7XG4gIGNsZWFyOiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyAucmV2aWV3LWhlYWRpbmcgLnBhZ2VyIC5jb3VudC1jb250YWluZXIgLmxpbWl0ZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyAucmV2aWV3LWhlYWRpbmcgLnBhZ2VyIC5jb3VudC1jb250YWluZXIgLmxpbWl0ZXIgbGFiZWwge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1oZWFkaW5nIC5wYWdlciAuYW1vdW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgaDIge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyBoMiBzcGFuIHtcbiAgY29sb3I6ICMxMTE7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIGgzIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIGgzIHNwYW4ge1xuICBjb2xvcjogIzA2NDVBRDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IHtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHdpZHRoOiA0NzBweDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IGg0IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgaDQgZW0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgLmZvcm0tbGlzdCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDEwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDQ3MHB4O1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgLmZvcm0tbGlzdCAuaW5saW5lLWxhYmVsOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IC5mb3JtLWxpc3QgbGFiZWwge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIC5maWVsZHNldCAuZm9ybS1saXN0IHRleHRhcmVhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIC5maWVsZHNldCAuZm9ybS1saXN0IGlucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IC5mb3JtLWxpc3QgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLmJ1dHRvbnMtc2V0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiA0NzBweDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgZGwge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgZGwgZHQge1xuICBtYXJnaW46IDEwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgZGwgZGQge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIGRsIGRkIC5yYXRpbmdzLXRhYmxlIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyBkbCBkZCAucmF0aW5ncy10YWJsZSB0ciB7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgZGwgZGQgLnJhdGluZ3MtdGFibGUgLnJldmlldy1sYWJlbCB7XG4gIHdpZHRoOiAzMDBweDtcbiAgbWF4LXdpZHRoOiA3MCU7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIGRsIGRkIHRhYmxlIHtcbiAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIGRsIGRkIC5yZXZpZXctbWV0YSB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnJldmlldy1zdW1tYXJ5LXRhYmxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG59XG5cbi5yZXZpZXctc3VtbWFyeS10YWJsZSB0aGVhZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4ucmV2aWV3LXN1bW1hcnktdGFibGUgdGhlYWQgdGgge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxNXB4IDdweCAxMHB4IDhweDtcbn1cblxuLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRib2R5IHRoIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucmV2aWV3LXN1bW1hcnktdGFibGUgdGJvZHkgdGQge1xuICBib3JkZXI6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbn1cblxuLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRib2R5IHRkIGxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMXB4IDA7XG59XG5cbi5yZXZpZXctc3VtbWFyeS10YWJsZSAucmF0aW5nLWJveCAucmF0aW5nLW51bWJlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yZXZpZXctc3VtbWFyeS10YWJsZSAucmF0aW5nLWJveCAucmF0aW5nLW51bWJlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC01OTlweDtcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmF0aW5ncyAtIEdsb2JhbFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5yYXRpbmdzLXRhYmxlIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5yYXRpbmdzLXRhYmxlIHRoIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLnJhdGluZ3MtdGFibGUgLnJhdGluZy1ib3gge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MTVweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBoZWlnaHQ6IDEzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICB3aWR0aDogNjVweDtcbn1cblxuLnJhdGluZ3MtdGFibGUgLnJhdGluZy1ib3ggLnJhdGluZyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwMHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEzcHg7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWluZm8ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICBib2R5LnJldmlldy1wcm9kdWN0LWxpc3QgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5leHRyYS1pbmZvIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi13aWR0aDogODQlO1xuICB9XG4gIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLmV4dHJhLWluZm8gLnJhdGluZ3MtdGFibGUge1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLmV4dHJhLWluZm8gLnJhdGluZ3MtdGFibGUgdHIge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzNXB4KSB7XG4gIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLmV4dHJhLWluZm8ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuICBib2R5LnJldmlldy1wcm9kdWN0LWxpc3QgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5leHRyYS1pbmZvIC5yYXRpbmdzLXRhYmxlIHRyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MjBweCkge1xuICAjY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNjdXN0b21lci1yZXZpZXdzIC5maWVsZHNldCAuZm9ybS1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgLmZvcm0tbGlzdCAuaW5saW5lLWxhYmVsIGxhYmVsLFxuICAjY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgLmZvcm0tbGlzdCAuaW5saW5lLWxhYmVsIC5pbnB1dC1ib3gge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gICNjdXN0b21lci1yZXZpZXdzIC5idXR0b25zLXNldCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRoZWFkIHRoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gIH1cbiAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRib2R5IHRoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gIH1cbiAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRib2R5IHRkIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgfVxuICAjY3VzdG9tZXItcmV2aWV3cyAucmV2aWV3LXN1bW1hcnktdGFibGUgLnJhdGluZy1ib3gge1xuICAgIHRleHQtaW5kZW50OiAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgaGVpZ2h0OiAxNi44cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1zdW1tYXJ5LXRhYmxlIC5yYXRpbmctYm94IC5yYXRpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1zdW1tYXJ5LXRhYmxlIC5yYXRpbmctYm94IC5yYXRpbmctbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuICAjY3VzdG9tZXItcmV2aWV3cyBkbCBkZCAucmF0aW5ncy10YWJsZSB0ciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmV2aWV3IFZpZXcgUGFnZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5yZXZpZXctcHJvZHVjdC12aWV3IC5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1kZXRhaWxzIGgyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnJldmlldy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtcmV2aWV3IC5wcm9kdWN0LWltZy1ib3gge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5yZXZpZXctcHJvZHVjdC12aWV3IC5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1pbWctYm94ID4gYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucmV2aWV3LXByb2R1Y3QtdmlldyAucHJvZHVjdC1yZXZpZXcgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5yZXZpZXctcHJvZHVjdC12aWV3IC5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1pbWctYm94IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2xpZGVzaG93XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNsaWRlc2hvdy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFREVERUQ7XG59XG5cbi5zbGlkZXNob3ctY29udGFpbmVyIC5zbGlkZXNob3cge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMTBweCBzb2xpZCAjRkZGRkZGO1xufVxuXG4uc2xpZGVzaG93LWNvbnRhaW5lciAuc2xpZGVzaG93ID4gbGkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG59XG5cbi5zbGlkZXNob3ctY29udGFpbmVyIC5zbGlkZXNob3cgPiBsaTpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLnNsaWRlc2hvdy1jb250YWluZXIgLnNsaWRlc2hvdyA+IGxpIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zbGlkZXNob3ctcGFnZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMTU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwcHg7XG4gIHRvcDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5zbGlkZXNob3ctcGFnZXIgc3BhbiB7XG4gIGZvbnQtZmFtaWx5OiBhcmlhbDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogI0RERERERDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2xpZGVzaG93LXBhZ2VyIHNwYW46YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLThweDtcbiAgbWFyZ2luLXRvcDogLThweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zbGlkZXNob3ctcGFnZXIgc3Bhbjpob3ZlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDUzYjk0O1xufVxuXG4uc2xpZGVzaG93LXBhZ2VyIHNwYW4uY3ljbGUtcGFnZXItYWN0aXZlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNDMxN2M7XG59XG5cbi5zbGlkZXNob3ctcGFnZXIgPiAqIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2xpZGVzaG93LXByZXYsXG4uc2xpZGVzaG93LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDE1JTtcbiAgbWF4LXdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDAuNjtcbiAgei1pbmRleDogMTEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uc2xpZGVzaG93LXByZXY6YmVmb3JlLFxuLnNsaWRlc2hvdy1uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBmb250LXNpemU6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMTVweDtcbn1cblxuLnNsaWRlc2hvdy1wcmV2OmhvdmVyLFxuLnNsaWRlc2hvdy1uZXh0OmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNsaWRlc2hvdy1wcmV2LmRpc2FibGVkLFxuLnNsaWRlc2hvdy1uZXh0LmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5zbGlkZXNob3ctcHJldiB7XG4gIGxlZnQ6IDhweDtcbn1cblxuLnNsaWRlc2hvdy1wcmV2OmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMTVweCAxNXB4IDE1cHggMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMTBweDtcbn1cblxuLnNsaWRlc2hvdy1wcmV2OmhvdmVyOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzA1M2I5NCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWRlc2hvdy1uZXh0IHtcbiAgcmlnaHQ6IDhweDtcbn1cblxuLnNsaWRlc2hvdy1uZXh0OmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMTVweCAwIDE1cHggMTVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjRkZGRkZGO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDEwcHg7XG59XG5cbi5zbGlkZXNob3ctbmV4dDpob3ZlcjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwNTNiOTQ7XG59XG5cbi5jeWNsZS1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvdHRvbTogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIHotaW5kZXg6IDExMDtcbn1cblxuLmN5Y2xlLW92ZXJsYXkge1xuICBmb250LWZhbWlseTogdGFob21hLCBhcmlhbDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMjA7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG9wYWNpdHk6IC41O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBXaXNobGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiN3aXNobGlzdC10YWJsZSB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3dpc2hsaXN0LXRhYmxlLmNsZWFuLXRhYmxlIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jd2lzaGxpc3QtdGFibGUuY2xlYW4tdGFibGUgdGgge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0MwQzBDMDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlLmNsZWFuLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogMTVweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlLmNsZWFuLXRhYmxlIHRoZWFkIHRoIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiN3aXNobGlzdC10YWJsZSAucHJvZHVjdC1uYW1lIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiN3aXNobGlzdC10YWJsZSAucHJvZHVjdC1uYW1lIGEge1xuICBjb2xvcjogIzA2NDVBRDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIC53aXNobGlzdC1za3Uge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiA1cHggMDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRleHRhcmVhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzExMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbiN3aXNobGlzdC10YWJsZSB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiN3aXNobGlzdC10YWJsZSB0ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiN3aXNobGlzdC10YWJsZSB0ZXh0YXJlYTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwNjQ1QUQ7XG59XG5cbiN3aXNobGlzdC10YWJsZSAuaXRlbS1tYW5hZ2Uge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWF4LXdpZHRoOiA0NTBweDtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIC5pdGVtLW1hbmFnZSAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAzcHggNXB4O1xufVxuXG4jd2lzaGxpc3QtdGFibGUgLmNhcnQtY2VsbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICB3aWR0aDogMTEzcHg7XG59XG5cbiN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXF1YW50aXR5IHtcbiAgd2lkdGg6IDNlbTtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcHJpY2Uge1xuICB3aWR0aDogMTIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCB7XG4gIHdpZHRoOiAxNTBweDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCAudHJ1bmNhdGVkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCA+IHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4jd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IC5yZW1vdmUtd2hpc2hsaXN0LWl0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQgLmJ0bi1yZW1vdmUge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4jd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1yZW1vdmUge1xuICB3aWR0aDogMjBweDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkIC5idXR0b24sXG4jd2lzaGxpc3QtdGFibGUgdGQgYnV0dG9uIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIC5wcmljZS1ib3gge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIC5wcmljZS1ib3ggLnByaWNlIHtcbiAgY29sb3I6ICMxMTE7XG59XG5cbiN3aXNobGlzdC10YWJsZSAuZ2lmdHJlZ2lzdHktYWRkIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4jd2lzaGxpc3QtdGFibGUgLmdpZnRyZWdpc3R5LWFkZCAuY2hhbmdlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIC5naWZ0cmVnaXN0eS1hZGQgbGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbiN3aXNobGlzdC10YWJsZSAudHJ1bmNhdGVkIC5kZXRhaWxzIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbiN3aXNobGlzdC10YWJsZSB0ZFtkYXRhLXJ3ZC1sYWJlbF06YmVmb3JlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgI3dpc2hsaXN0LXRhYmxlLmNsZWFuLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gICN3aXNobGlzdC10YWJsZS5jbGVhbi10YWJsZSB0ZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG4gICN3aXNobGlzdC10YWJsZS5jbGVhbi10YWJsZSB0ZCB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUuY2xlYW4tdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICB3aWR0aDogMTEwcHg7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gICN3aXNobGlzdC10YWJsZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGV4dGFyZWEge1xuICAgIGhlaWdodDogNjhweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIC5pdGVtLW1hbmFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0cjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgIHdpZHRoOiA3MHB4O1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IC5yZW1vdmUtd2hpc2hsaXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1xdWFudGl0eSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWltYWdlLFxuICAjd2lzaGxpc3QtdGFibGUgdGguY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gICN3aXNobGlzdC10YWJsZSB0ciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0aC5jdXN0b21lci13aXNobGlzdC1pdGVtLWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSwgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW5mbywgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcXVhbnRpdHksICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXByaWNlLCAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBlbXB0eS1jZWxsczogaGlkZTtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSBhIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSBhIGltZyB7XG4gICAgd2lkdGg6IDExM3B4O1xuICAgIGhlaWdodDogMTEzcHg7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcXVhbnRpdHksICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXByaWNlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXF1YW50aXR5OmJlZm9yZSwgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcHJpY2U6YmVmb3JlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcXVhbnRpdHkgLmNhcnQtY2VsbCwgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcHJpY2UgLmNhcnQtY2VsbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1xdWFudGl0eSAucHJpY2UtYm94LCAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1wcmljZSAucHJpY2UtYm94IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQgLmNhcnQtY2VsbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQ4JTtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0ID4gcCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA0OCU7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcmVtb3ZlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUuY2xlYW4tdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBXaXNobGlzdCBTaWRlYmFyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJsb2NrLXdpc2hsaXN0IC5taW5pLXByb2R1Y3RzLWxpc3QgPiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cblxuLmJsb2NrLXdpc2hsaXN0IC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtbmFtZSB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5ibG9jay13aXNobGlzdCAucHJpY2UtYm94IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMDtcbn1cblxuLmJsb2NrLXdpc2hsaXN0IC5wcmljZS1ib3gsXG4uYmxvY2std2lzaGxpc3QgLnByaWNlLWJveCAucHJpY2UsXG4uYmxvY2std2lzaGxpc3QgLmxpbmstY2FydCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmJsb2NrLXdpc2hsaXN0IC5saW5rLWNhcnQge1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBNaW5pIGNhcnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGVhZGVyLW1pbmljYXJ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5oZWFkZXItbWluaWNhcnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LW1lc3NhZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLmhlYWRlci1taW5pY2FydCAuZW1wdHkge1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LXdyYXBwZXIge1xuICBjbGVhcjogYm90aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5taW5pY2FydC13cmFwcGVyOmJlZm9yZSwgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LXdyYXBwZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIG9wYWNpdHk6IDAuODtcbiAgei1pbmRleDogMjtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlcjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGMtYWpheC1sb2FkZXIuZ2lmXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LXdyYXBwZXIubG9hZGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlci5sb2FkaW5nOmJlZm9yZSwgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlci5sb2FkaW5nOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLmJsb2NrLWNhcnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5ibG9jay1zdWJ0aXRsZSB7XG4gIGNvbG9yOiAjNTBBNENGO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHBhZGRpbmc6IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLmJsb2NrLXN1YnRpdGxlIC5jbG9zZSB7XG4gIHdpZHRoOiA0MHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzExMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDMwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOHB4O1xuICByaWdodDogLTNweDtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaS1wcm9kdWN0cy1saXN0IHtcbiAgcGFkZGluZzogMTBweDtcbiAgcGFkZGluZy10b3A6IDBweDtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaS1wcm9kdWN0cy1saXN0IGxpIHtcbiAgcGFkZGluZzogOHB4IDVweCA4cHggMTFweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEREREREQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaS1wcm9kdWN0cy1saXN0IGxpLmxhc3Qge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmktcHJvZHVjdHMtbGlzdCBsaSAucHJvZHVjdC1kZXRhaWxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtbmFtZSB7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtbmFtZSBhIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLmluZm8td3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgdGQge1xuICBjb2xvcjogIzExMTtcbiAgY2xlYXI6IHJpZ2h0O1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgLnF0eS13cmFwcGVyIHRkIHtcbiAgaGVpZ2h0OiAzM3B4O1xuICBsaW5lLWhlaWdodDogMzNweDtcbn1cblxuLmhlYWRlci1taW5pY2FydCAuaW5mby13cmFwcGVyIC5xdHkge1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgcGFkZGluZy1yaWdodDogNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgd2lkdGg6IDMuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogMzBweDtcbn1cblxuLmhlYWRlci1taW5pY2FydCAuaW5mby13cmFwcGVyIC5xdWFudGl0eS1idXR0b24ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgLnF1YW50aXR5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLmluZm8td3JhcHBlciAucXVhbnRpdHktYnV0dG9uLnZpc2libGUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5zdWJ0b3RhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbn1cblxuLmhlYWRlci1taW5pY2FydCAuc3VidG90YWwgLmxhYmVsIHtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5zdWJ0b3RhbCAucHJpY2Uge1xuICBjb2xvcjogIzExMTtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LWJ1dHRvbiB7XG4gIG1pbi13aWR0aDogMTQ1cHg7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNhcnQtbGluayB7XG4gIGhlaWdodDogMzNweDtcbiAgbGluZS1oZWlnaHQ6IDM5cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAucGF5cGFsLWxvZ28gLnBheXBhbC1vciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgI21pbmljYXJ0LWVycm9yLW1lc3NhZ2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiByZWQ7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgI21pbmljYXJ0LXN1Y2Nlc3MtbWVzc2FnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IGdyZWVuO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5qY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmhlYWRlci1taW5pY2FydCAuamNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oZWFkZXItbWluaWNhcnQuc2tpcC1hY3RpdmUgLmJsb2NrLWNhcnQsXG4uYmxvY2stY2FydC5za2lwLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5jaGVja291dC10eXBlcy5taW5pY2FydCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLmhlYWRlci1taW5pY2FydCBhLnNraXAtY2FydCB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5oZWFkZXItbWluaWNhcnQgLnN1YnRvdGFsIC5sYWJlbCB7XG4gICAgY29sb3I6ICMxMTE7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFREVERUQ7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAucXVhbnRpdHktYnV0dG9uIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAuaGVhZGVyLW1pbmljYXJ0IC5oZWFkZXItbWluaWNhcnQgLmJsb2NrLWNhcnQge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAuaGVhZGVyLW1pbmljYXJ0IC5ibG9jay1zdWJ0aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDU5cHg7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyB7XG4gICAgcGFkZGluZy1ib3R0b206IDMzcHg7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2FydC1saW5rIHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQgbGkgLnBheXBhbC1sb2dvID4gYSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG4gIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IGxpIC5wYXlwYWwtbG9nbyAuYm1sX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQgbGkgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDAgMTBweCA1cHggMTBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0MHB4KSB7XG4gIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNhcnQtbGluayB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQgbGkgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3IsXG4gIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IGxpIC5wYXlwYWwtbG9nbyAucGF5cGFsLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQgbGkgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuaGVhZGVyLW1pbmljYXJ0IC5taW5pY2FydC1hY3Rpb25zIC5jaGVja291dC1idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNlYXJjaCAtIEF1dG8gU3VnZ2VzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDIwMDtcbn1cblxuLnNlYXJjaC1hdXRvY29tcGxldGUgdWwge1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwNjQ1QUQ7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VhcmNoLWF1dG9jb21wbGV0ZSB1bCBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRjRGNEY0O1xuICBjb2xvcjogIzA2NDVBRDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDRweCA2cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zZWFyY2gtYXV0b2NvbXBsZXRlIHVsIGxpOmhvdmVyIHtcbiAgY29sb3I6ICMwNTNiOTQ7XG59XG5cbi5zZWFyY2gtYXV0b2NvbXBsZXRlIHVsIGxpLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2NDVBRDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uc2VhcmNoLWF1dG9jb21wbGV0ZSB1bCBsaSAuYW1vdW50IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnNlYXJjaC1hdXRvY29tcGxldGUgdWwgbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5zZWFyY2gtYXV0b2NvbXBsZXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICMwNjQ1QUQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiAtN3B4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTZWFyY2ggLSBBZHZhbmNlZFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hZHZhbmNlZC1zZWFyY2gge1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRURFREVEO1xuICBwYWRkaW5nOiAzMHB4O1xufVxuXG4uYWR2YW5jZWQtc2VhcmNoIHNlbGVjdC5tdWx0aXNlbGVjdCBvcHRpb24ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbiAgcGFkZGluZzogMnB4IDVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAuYWR2YW5jZWQtc2VhcmNoIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEFjY291bnQgLSBSZXZpZXdzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2R1Y3QtcmV2aWV3IC5wcm9kdWN0LWltZy1ib3ggcC5sYWJlbCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1pbWctYm94IC5yYXRpbmctYm94IHtcbiAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbi5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1kZXRhaWxzIGgyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIGNvbG9yOiAjMzM5OUNDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5wcm9kdWN0LXJldmlldyAucmF0aW5ncy10YWJsZSB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnByb2R1Y3QtcmV2aWV3IC5yYXRpbmdzLXRhYmxlIHRoIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLnByb2R1Y3QtcmV2aWV3IC5yYXRpbmdzLXRhYmxlIHRyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucHJvZHVjdC1yZXZpZXcgLnJhdGluZ3MtZGVzY3JpcHRpb24gZHQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnByb2R1Y3QtcmV2aWV3IC5yYXRpbmdzLWRlc2NyaXB0aW9uIGRkIHtcbiAgY29sb3I6ICM3MzczNzM7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5wcm9kdWN0LXJldmlldyAucmF0aW5ncy10YWJsZSB0ciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTI2cHgpIHtcbiAgLnByb2R1Y3QtcmV2aWV3IC5yYXRpbmdzLXRhYmxlIHRyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAucHJvZHVjdC1yZXZpZXcgLnJhdGluZ3MtdGFibGUgdHIge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFByaWNpbmcgQ29uZGl0aW9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2UtbGluayAubGFiZWwge1xuICBjb2xvcjogI0RDMjAyMjtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5tYXAtaW5mbyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jYXRhbG9nLXByb2R1Y3QtdmlldyAubWFwLWluZm8ge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLm1hcC1pbmZvID4gc3BhbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLm1hcC1pbmZvIC5wcmljZS1ib3gubWFwLWluZm8gPiBhIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ29va2llc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ub3RpY2UtY29va2llIC5ub3RpY2UtaW5uZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLm5vdGljZS1jb29raWUgLm5vdGljZS1pbm5lcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5ub3RpY2UtY29va2llIC5ub3RpY2UtdGV4dCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXgtd2lkdGg6IDkwJTtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLm5vdGljZS1jb29raWUgLm5vdGljZS10ZXh0IHAge1xuICBwYWRkaW5nLWJvdHRvbTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLm5vdGljZS1jb29raWUgLmFjdGlvbnMge1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctYm90dG9tOiAxNHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC5ub3RpY2UtY29va2llIC5ub3RpY2UtdGV4dCB7XG4gICAgbWF4LXdpZHRoOiA4NiU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAubm90aWNlLWNvb2tpZSB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG4gIC5ub3RpY2UtY29va2llIC5ub3RpY2UtdGV4dCB7XG4gICAgbWF4LXdpZHRoOiA4MiU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAubm90aWNlLWNvb2tpZSB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG4gIC5ub3RpY2UtY29va2llIC5ub3RpY2UtaW5uZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMTBweDtcbiAgfVxuICAubm90aWNlLWNvb2tpZSAubm90aWNlLWlubmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubm90aWNlLWNvb2tpZSAubm90aWNlLXRleHQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAubm90aWNlLWNvb2tpZSAuYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBUYWdzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2FkZFRhZ0Zvcm0gYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4jYWRkVGFnRm9ybSAuZm9ybS1hZGQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ucHJvZHVjdC10YWdzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDVweCAxJSAxMHB4O1xuICB3aWR0aDogOTglO1xufVxuXG4ucHJvZHVjdC10YWdzIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuLnByb2R1Y3QtdGFncyBsaS5sYXN0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5cbi50YWdzLWxpc3Qge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi50YWdzLWxpc3QgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5ibG9jay10YWdzIC5hY3Rpb25zID4gYSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLm15LXRhZy1lZGl0IC5idXR0b24uYnRuLXJlbW92ZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5teS10YWctZWRpdCAuYnV0dG9uLmJ0bi1yZW1vdmU6YWZ0ZXIge1xuICBjb2xvcjogd2hpdGU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnRhZ3MtbGlzdCA+IGxpLFxuICAudGFncy1saXN0IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXB0Y2hhXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhcHRjaGEtbm90ZSB7XG4gIGNsZWFyOiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG4uY2FwdGNoYS1pbWFnZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjU4cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5jYXB0Y2hhLWltYWdlIC5jYXB0Y2hhLWltZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiNmI2YjY7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucmVnaXN0ZXJlZC11c2VycyAuY2FwdGNoYS1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNhcHRjaGEtcmVsb2FkIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMnB4O1xuICByaWdodDogMnB4O1xufVxuXG4uY2FwdGNoYS1yZWxvYWQucmVmcmVzaGluZyB7XG4gIGFuaW1hdGlvbjogcm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuICAtbW96LWFuaW1hdGlvbjogcm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLnNjYWZmb2xkLWZvcm0gLmNhcHRjaGEtaW5wdXQtY29udGFpbmVyIGxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXB0Y2hhLXJlbG9hZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDRweDtcbiAgdG9wOiA0cHg7XG59XG5cbi5jYXB0Y2hhLWltZyB7XG4gIGJvcmRlcjogMjBweCBzb2xpZCAjYmJiO1xufVxuXG4uY2FwdGNoYS1pbnB1dC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uY29udHJvbC5uZXdzbGV0dGVyLWJveCwgLmNhcHRjaGEtaW5wdXQtY29udGFpbmVyLCAuY2FwdGNoYS1pbWctY29udGFpbmVyIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29udHJvbC5uZXdzbGV0dGVyLWJveDphZnRlciwgLmNhcHRjaGEtaW5wdXQtY29udGFpbmVyOmFmdGVyLCAuY2FwdGNoYS1pbWctY29udGFpbmVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IEJpbGxpbmcgRml4IHRvIHBsYWNlIHRoZSBDYXB0Y2hhIHByb3Blcmx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2NvLWJpbGxpbmctZm9ybSB1bC5mb3JtLWxpc3QgPiAuY29udHJvbCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBBY2NvdW50IC0gT3JkZXJzLCBJbnZvaWNlcywgQ3JlZGl0IE1lbW9zLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLnNhbGVzLW9yZGVyLWludm9pY2UgLnN1Yi10aXRsZSxcbiAgLnNhbGVzLW9yZGVyLWNyZWRpdG1lbW8gLnN1Yi10aXRsZSxcbiAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5zdWItdGl0bGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNhbGVzLW9yZGVyLWludm9pY2UgLm9yZGVyLWxpbmtzLFxuICAuc2FsZXMtb3JkZXItY3JlZGl0bWVtbyAub3JkZXItbGlua3MsXG4gIC5zYWxlcy1vcmRlci1zaGlwbWVudCAub3JkZXItbGlua3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBSZWN1cnJpbmcgUHJvZmlsZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jcmVjdXJyaW5nX3Byb2ZpbGVfbGlzdF92aWV3IHRoIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuI3JlY3VycmluZ19wcm9maWxlX2xpc3RfdmlldyB0aCBzcGFuIHtcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgI3JlY3VycmluZ19wcm9maWxlX2xpc3RfdmlldyB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG4gICNyZWN1cnJpbmdfcHJvZmlsZV9saXN0X3ZpZXcgYSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG4gICNyZWN1cnJpbmdfcHJvZmlsZV9saXN0X3ZpZXcgdGgsXG4gICNyZWN1cnJpbmdfcHJvZmlsZV9saXN0X3ZpZXcgdGQge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgfVxufVxuXG4ucmVjdXJyaW5nLXByb2ZpbGVzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5yZWN1cnJpbmctcHJvZmlsZXMtdGl0bGUgaDEge1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucy5yZWN1cnJpbmctcHJvZmlsZXMtdGl0bGUtYnV0dG9ucyB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zLnJlY3VycmluZy1wcm9maWxlcy10aXRsZS1idXR0b25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zLnJlY3VycmluZy1wcm9maWxlcy10aXRsZS1idXR0b25zIC5idXR0b24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ucmVjdXJyaW5nLXByb2ZpbGVzLW1lc3NhZ2VzOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuI3JlY3VycmluZ19zdGFydF9kYXRlX3RyaWcge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEJpbGxpbmcgQWdyZWVtZW50c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5iaWxsaW5nLWFncmVlbWVudHMgLmluZm8tYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmJpbGxpbmctYWdyZWVtZW50cyAuaW5mby1ib3g6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYmlsbGluZy1hZ3JlZW1lbnRzIC5pbmZvLWJveCAuZm9ybS1saXN0IHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5iaWxsaW5nLWFncmVlbWVudHMgLmluZm8tYm94IC5ib3gtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbi5iaWxsaW5nLWFncmVlbWVudHMgLmluZm8tYm94IC5idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDdweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAuYmlsbGluZy1hZ3JlZW1lbnRzIC5pbmZvLWJveCAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4uYmlsbGluZy1hZ3JlZW1lbnRzICNwYXltZW50X21ldGhvZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbn1cblxuLmJpbGxpbmctYWdyZWVtZW50LXZpZXctaGVhZGVyLXdyYXBwZXIgLmhlYWRpbmcge1xuICBtYXgtd2lkdGg6IDgwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAuYmlsbGluZy1hZ3JlZW1lbnQtdmlldy1oZWFkZXItd3JhcHBlciAuaGVhZGluZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5iaWxsaW5nLWFncmVlbWVudC1kZXRhaWxzIHRkLCAuYmlsbGluZy1hZ3JlZW1lbnQtZGV0YWlscyB0aCB7XG4gIHBhZGRpbmc6IDMuNXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC5iaWxsaW5nLWFncmVlbWVudHMgLmRhdGEtdGFibGUgLmNyZWF0ZWQtYXQsXG4gIC5iaWxsaW5nLWFncmVlbWVudHMgLmRhdGEtdGFibGUgLnVwZGF0ZWQtYXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUG9wdWxhciBTZWFyY2ggVGVybXMgQ2xvdWRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2F0YWxvZ3NlYXJjaC10ZXJtLXBvcHVsYXIgLnRhZ3MtbGlzdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhdGFsb2dzZWFyY2gtdGVybS1wb3B1bGFyIC50YWdzLWxpc3QgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1yaWdodDogMjVweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogV2lkZ2V0c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEFkZCB0byBjYXJ0IGJ5IFNLVVxuICovXG4uc2lkZWJhciAud2lkZ2V0LWFkZGJ5c2t1IC5za3UtdGFibGUgLmlucHV0LXRleHQ6bm90KC5xdHkpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLnNpZGViYXIgLndpZGdldC1hZGRieXNrdSAuc2t1LXRhYmxlIC5pbnB1dC10ZXh0Om5vdCgucXR5KSB7XG4gICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgfVxufVxuXG4ud2lkZ2V0IHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi53aWRnZXQgLnBhZ2VyIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIE11bHRpcGxlIEFkZHJlc3Nlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmNoZWNrb3V0LXByb2dyZXNzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5jaGVja291dC1wcm9ncmVzcyA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4IDElIDZweDtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY2hlY2tvdXQtcHJvZ3Jlc3MgPiBsaS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREREREREO1xufVxuXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5jaGVja291dC1wcm9ncmVzcyA+IGxpLmxhc3Qge1xuICBib3JkZXItcmlnaHQ6IDBweDtcbn1cblxuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAucGFnZS10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAucGFnZS10aXRsZSBoMSB7XG4gIGJvcmRlcjogMCBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDIlO1xufVxuXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5wYWdlLXRpdGxlIC5idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLm11bHRpcGxlLWNoZWNrb3V0ID4gaDIge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5tZXNzYWdlcyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cblxuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY29sLTIuY29sLXdpZGUge1xuICB3aWR0aDogNjYlO1xufVxuXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5jb2wtMS5jb2wtbmFycm93IHtcbiAgd2lkdGg6IDMwJTtcbn1cblxuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuYWN0aW9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmdyYW5kLXRvdGFsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gI2NoZWNrb3V0LXJldmlldy1zdWJtaXQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gI3Jldmlldy1idXR0b25zLWNvbnRhaW5lciB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWFkZHJlc3NlcyAuYnRuLXJlbW92ZTIge1xuICB0ZXh0LWluZGVudDogLTU1NTVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5naWZ0LW1lc3NhZ2VzIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctc2hpcHBpbmcgLmdpZnQtbWVzc2FnZXMtZm9ybSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5naWZ0LW1lc3NhZ2VzLWZvcm0gaDQge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5naWZ0LW1lc3NhZ2VzLWZvcm0gLmZvcm0tbGlzdCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5naWZ0LW1lc3NhZ2VzLWZvcm0gLml0ZW0ge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuY29sLTEgLmJveC10aXRsZSBoMiwgLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctc2hpcHBpbmcgLmNvbC0xIC5ib3gtdGl0bGUgaDMsIC5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5jb2wtMSAuYm94LXRpdGxlIGg0LCAuY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuY29sLTIgLmJveC10aXRsZSBoMiwgLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctc2hpcHBpbmcgLmNvbC0yIC5ib3gtdGl0bGUgaDMsIC5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5jb2wtMiAuYm94LXRpdGxlIGg0LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyAuY29sLTEgLmJveC10aXRsZSBoMixcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcgLmNvbC0xIC5ib3gtdGl0bGUgaDMsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1iaWxsaW5nIC5jb2wtMSAuYm94LXRpdGxlIGg0LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyAuY29sLTIgLmJveC10aXRsZSBoMixcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcgLmNvbC0yIC5ib3gtdGl0bGUgaDMsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1iaWxsaW5nIC5jb2wtMiAuYm94LXRpdGxlIGg0LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcgLmNvbC0xIC5ib3gtdGl0bGUgaDIsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1vdmVydmlldyAuY29sLTEgLmJveC10aXRsZSBoMyxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLW92ZXJ2aWV3IC5jb2wtMSAuYm94LXRpdGxlIGg0LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcgLmNvbC0yIC5ib3gtdGl0bGUgaDIsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1vdmVydmlldyAuY29sLTIgLmJveC10aXRsZSBoMyxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLW92ZXJ2aWV3IC5jb2wtMiAuYm94LXRpdGxlIGg0IHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNGNEY0RjQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5jb2wtMSA+IGg0LCAuY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuY29sLTIgPiBoNCxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcgLmNvbC0xID4gaDQsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1iaWxsaW5nIC5jb2wtMiA+IGg0LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcgLmNvbC0xID4gaDQsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1vdmVydmlldyAuY29sLTIgPiBoNCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuY29sLTEgLmJveC1jb250ZW50LCAuY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuY29sLTIgLmJveC1jb250ZW50LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyAuY29sLTEgLmJveC1jb250ZW50LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyAuY29sLTIgLmJveC1jb250ZW50LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcgLmNvbC0xIC5ib3gtY29udGVudCxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLW92ZXJ2aWV3IC5jb2wtMiAuYm94LWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcgLnNwLW1ldGhvZHMgZHQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiNtdWx0aXNoaXAtYWRkcmVzc2VzLXRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmEtY2VudGVyLmxhc3QgPiBhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuI3Jldmlldy1vcmRlci1mb3JtID4gZGl2Om50aC1jaGlsZCgzKSA+IGRpdi5kaXZpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmNoZWNrb3V0LXByb2dyZXNzIHNwYW4ge1xuICAgIHdvcmQtc3BhY2luZzogMzAwcHg7XG4gIH1cbiAgI3Jldmlldy1vcmRlci1mb3JtIC5jb2wtMSxcbiAgI3Jldmlldy1vcmRlci1mb3JtIC5jb2wtMiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY2hlY2tvdXQtcHJvZ3Jlc3Mgc3BhbiB7XG4gICAgd2lkdGg6IDEycHg7XG4gIH1cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY2hlY2tvdXQtcHJvZ3Jlc3MgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMyU7XG4gICAgYm9yZGVyLXJpZ2h0OiAwcHg7XG4gIH1cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY2hlY2tvdXQtcHJvZ3Jlc3Mgc3BhbiB7XG4gICAgd29yZC1zcGFjaW5nOiAxcHg7XG4gICAgd2lkdGg6IDEycHg7XG4gIH1cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuYm94LXRpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5wYWdlLXRpdGxlIC5idXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAubGluZWFyaXplLXRhYmxlIHRmb290IHRkIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5saW5lYXJpemUtdGFibGUgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICB9XG4gIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmNvbC0xLmNvbC1uYXJyb3csIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmNvbC0yLmNvbC13aWRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYWRkcmVzc2VzIC5saW5lYXJpemUtdGFibGUgdGJvZHkgdGRbZGF0YS1yd2QtbGFiZWxdIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuYnV0dG9ucy1zZXQgLmJhY2stbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2FsZW5kYXIgc3R5bGVzIChyZXN0b3JlIHN0eWxlcyBmcm9tIC9qcy9jYWxlbmRhcilcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5kaXYuY2FsZW5kYXIgdGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xufVxuXG5kaXYuY2FsZW5kYXIgdGFibGUgdGQuYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxubGFiZWwucmVxdWlyZWQ6YWZ0ZXIsIHNwYW4ucmVxdWlyZWQ6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuXG4uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLmJ1dHRvbnMtc2V0IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5iYWNrLWxpbmssXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgcC5yZXF1aXJlZCxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCBoMi5sZWdlbmQsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5iYWNrLWxpbmssXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIHAucmVxdWlyZWQsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIGgyLmxlZ2VuZCxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYmFjay1saW5rLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIHAucmVxdWlyZWQsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gaDIubGVnZW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5idXR0b25zLXNldCwgYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5maWVsZHNldCxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmJ1dHRvbnMtc2V0LFxuYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzZXQsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmJ1dHRvbnMtc2V0LFxuYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5maWVsZHNldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLnBhZ2UtdGl0bGUsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5wYWdlLXRpdGxlLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5maWVsZHNldCBwLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzZXQgcCxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuZmllbGRzZXQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDIzcHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmN1c3RvbWVyLW5hbWUtbWlkZGxlbmFtZSAubmFtZS1taWRkbGVuYW1lLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5jdXN0b21lci1uYW1lLW1pZGRsZW5hbWUgLm5hbWUtbWlkZGxlbmFtZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgdWwuZm9ybS1saXN0IGxpLmNvbnRyb2wsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gdWwuZm9ybS1saXN0IGxpLmNvbnRyb2wge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5idXR0b25zLXNldCxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYnV0dG9ucy1zZXQge1xuICBtYXgtd2lkdGg6IDM2NXB4O1xufVxuXG4ubWVzc2FnZXMgLmVycm9yLW1zZyB1bCBsaSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQzIwMjI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi5tZXNzYWdlcyAuZXJyb3ItbXNnIHVsIGxpOmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4ubWVzc2FnZXMgLnN1Y2Nlc3MtbXNnIHVsIGxpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJEOTk1NTtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLm1lc3NhZ2VzIC5zdWNjZXNzLW1zZyB1bCBsaTpiZWZvcmUge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiBoYW5kO1xufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5zbGljay10cmFjazphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stc2xpZGUge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5zbGljay1zbGlkZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLWwxLCAudGstbDIsIC50ay1sMywgLnRrLWw0LCAudGstbDUsXG4udGstaDEsIC50ay1oMiwgLnRrLWgzLCAudGstaDQsIC50ay1oNSxcbi50ay1wMSwgLnRrLXAyIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnRrLWwxLi1ib2xkLCAudGstbDIuLWJvbGQsIC50ay1sMy4tYm9sZCwgLnRrLWw0Li1ib2xkLCAudGstbDUuLWJvbGQsXG4udGstaDEuLWJvbGQsIC50ay1oMi4tYm9sZCwgLnRrLWgzLi1ib2xkLCAudGstaDQuLWJvbGQsIC50ay1oNS4tYm9sZCxcbi50ay1wMS4tYm9sZCwgLnRrLXAyLi1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50ay1sMS4tYmxvY2ssIC50ay1sMi4tYmxvY2ssIC50ay1sMy4tYmxvY2ssIC50ay1sNC4tYmxvY2ssIC50ay1sNS4tYmxvY2ssXG4udGstaDEuLWJsb2NrLCAudGstaDIuLWJsb2NrLCAudGstaDMuLWJsb2NrLCAudGstaDQuLWJsb2NrLCAudGstaDUuLWJsb2NrLFxuLnRrLXAxLi1ibG9jaywgLnRrLXAyLi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGstbDEuLWRpc2FibGVkLCAudGstbDEuLWRpc2FibGVkOmhvdmVyLCAudGstbDIuLWRpc2FibGVkLCAudGstbDIuLWRpc2FibGVkOmhvdmVyLCAudGstbDMuLWRpc2FibGVkLCAudGstbDMuLWRpc2FibGVkOmhvdmVyLCAudGstbDQuLWRpc2FibGVkLCAudGstbDQuLWRpc2FibGVkOmhvdmVyLCAudGstbDUuLWRpc2FibGVkLCAudGstbDUuLWRpc2FibGVkOmhvdmVyLFxuLnRrLWgxLi1kaXNhYmxlZCxcbi50ay1oMS4tZGlzYWJsZWQ6aG92ZXIsIC50ay1oMi4tZGlzYWJsZWQsIC50ay1oMi4tZGlzYWJsZWQ6aG92ZXIsIC50ay1oMy4tZGlzYWJsZWQsIC50ay1oMy4tZGlzYWJsZWQ6aG92ZXIsIC50ay1oNC4tZGlzYWJsZWQsIC50ay1oNC4tZGlzYWJsZWQ6aG92ZXIsIC50ay1oNS4tZGlzYWJsZWQsIC50ay1oNS4tZGlzYWJsZWQ6aG92ZXIsXG4udGstcDEuLWRpc2FibGVkLFxuLnRrLXAxLi1kaXNhYmxlZDpob3ZlciwgLnRrLXAyLi1kaXNhYmxlZCwgLnRrLXAyLi1kaXNhYmxlZDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM5QjlCOUI7XG59XG5cbi50ay1sMS4tdGl0bGUtY2FzZSwgLnRrLWwyLi10aXRsZS1jYXNlLCAudGstbDMuLXRpdGxlLWNhc2UsIC50ay1sNC4tdGl0bGUtY2FzZSwgLnRrLWw1Li10aXRsZS1jYXNlLFxuLnRrLWgxLi10aXRsZS1jYXNlLCAudGstaDIuLXRpdGxlLWNhc2UsIC50ay1oMy4tdGl0bGUtY2FzZSwgLnRrLWg0Li10aXRsZS1jYXNlLCAudGstaDUuLXRpdGxlLWNhc2UsXG4udGstcDEuLXRpdGxlLWNhc2UsIC50ay1wMi4tdGl0bGUtY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4udGstbDEuLWRvd25jYXNlLCAudGstbDIuLWRvd25jYXNlLCAudGstbDMuLWRvd25jYXNlLCAudGstbDQuLWRvd25jYXNlLCAudGstbDUuLWRvd25jYXNlLFxuLnRrLWgxLi1kb3duY2FzZSwgLnRrLWgyLi1kb3duY2FzZSwgLnRrLWgzLi1kb3duY2FzZSwgLnRrLWg0Li1kb3duY2FzZSwgLnRrLWg1Li1kb3duY2FzZSxcbi50ay1wMS4tZG93bmNhc2UsIC50ay1wMi4tZG93bmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuXG4udGstbDEuLW5vLWNhc2UsIC50ay1sMi4tbm8tY2FzZSwgLnRrLWwzLi1uby1jYXNlLCAudGstbDQuLW5vLWNhc2UsIC50ay1sNS4tbm8tY2FzZSxcbi50ay1oMS4tbm8tY2FzZSwgLnRrLWgyLi1uby1jYXNlLCAudGstaDMuLW5vLWNhc2UsIC50ay1oNC4tbm8tY2FzZSwgLnRrLWg1Li1uby1jYXNlLFxuLnRrLXAxLi1uby1jYXNlLCAudGstcDIuLW5vLWNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnRrLWwxLi1tYXJnaW4sIC50ay1sMi4tbWFyZ2luLCAudGstbDMuLW1hcmdpbiwgLnRrLWw0Li1tYXJnaW4sIC50ay1sNS4tbWFyZ2luLFxuLnRrLWgxLi1tYXJnaW4sIC50ay1oMi4tbWFyZ2luLCAudGstaDMuLW1hcmdpbiwgLnRrLWg0Li1tYXJnaW4sIC50ay1oNS4tbWFyZ2luLFxuLnRrLXAxLi1tYXJnaW4sIC50ay1wMi4tbWFyZ2luIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi50ay1sMS4tdW5kZXJsaW5lZCwgLnRrLWwyLi11bmRlcmxpbmVkLCAudGstbDMuLXVuZGVybGluZWQsIC50ay1sNC4tdW5kZXJsaW5lZCwgLnRrLWw1Li11bmRlcmxpbmVkLFxuLnRrLWgxLi11bmRlcmxpbmVkLCAudGstaDIuLXVuZGVybGluZWQsIC50ay1oMy4tdW5kZXJsaW5lZCwgLnRrLWg0Li11bmRlcmxpbmVkLCAudGstaDUuLXVuZGVybGluZWQsXG4udGstcDEuLXVuZGVybGluZWQsIC50ay1wMi4tdW5kZXJsaW5lZCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstbDEuLW5vLWhvdmVyOmhvdmVyLCAudGstbDIuLW5vLWhvdmVyOmhvdmVyLCAudGstbDMuLW5vLWhvdmVyOmhvdmVyLCAudGstbDQuLW5vLWhvdmVyOmhvdmVyLCAudGstbDUuLW5vLWhvdmVyOmhvdmVyLFxuLnRrLWgxLi1uby1ob3Zlcjpob3ZlciwgLnRrLWgyLi1uby1ob3Zlcjpob3ZlciwgLnRrLWgzLi1uby1ob3Zlcjpob3ZlciwgLnRrLWg0Li1uby1ob3Zlcjpob3ZlciwgLnRrLWg1Li1uby1ob3Zlcjpob3Zlcixcbi50ay1wMS4tbm8taG92ZXI6aG92ZXIsIC50ay1wMi4tbm8taG92ZXI6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50ay1sMS4tcmVkLCAudGstbDIuLXJlZCwgLnRrLWwzLi1yZWQsIC50ay1sNC4tcmVkLCAudGstbDUuLXJlZCxcbi50ay1oMS4tcmVkLCAudGstaDIuLXJlZCwgLnRrLWgzLi1yZWQsIC50ay1oNC4tcmVkLCAudGstaDUuLXJlZCxcbi50ay1wMS4tcmVkLCAudGstcDIuLXJlZCB7XG4gIGNvbG9yOiAjREMyMDIyO1xufVxuXG4udGstbDEuLXNvbGRPdXQsIC50ay1sMi4tc29sZE91dCwgLnRrLWwzLi1zb2xkT3V0LCAudGstbDQuLXNvbGRPdXQsIC50ay1sNS4tc29sZE91dCxcbi50ay1oMS4tc29sZE91dCwgLnRrLWgyLi1zb2xkT3V0LCAudGstaDMuLXNvbGRPdXQsIC50ay1oNC4tc29sZE91dCwgLnRrLWg1Li1zb2xkT3V0LFxuLnRrLXAxLi1zb2xkT3V0LCAudGstcDIuLXNvbGRPdXQge1xuICBjb2xvcjogIzlCOUI5Qjtcbn1cblxuLnRrLWgxIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi50ay1oMiB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLnRrLWgzIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGstaDQge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi50ay1oNSB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xufVxuXG4udGstbDEge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwNjQ1QUQgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLnRrLWwxOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ay1sMiB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnRrLWwyOmhvdmVyIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstbDI6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRrLWwyLi0tYmx1ZSwgLnRrLWwyLi1ibHVlIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi50ay1sMi4tLWdyZXkge1xuICBjb2xvcjogIzlCOUI5Qjtcbn1cblxuLnRrLWwyLi0tcmVtb3ZlOmhvdmVyIHtcbiAgY29sb3I6ICNEQzIwMjI7XG59XG5cbi50ay1sMyB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzlCOUI5QjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGstbDM6aG92ZXIge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRrLWwzOmhvdmVyIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstbDQge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRrLWw0OmhvdmVyIHtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50ay1sNSB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udGstbDU6aG92ZXIge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRrLXAxIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG59XG5cbi50ay1wMiB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLnRrLXNlY3Rpb24ge1xuICBtYXJnaW46IDQwcHggMDtcbn1cblxuLnRrLXRleHQge1xuICBtYXJnaW46IDIwcHggMCAwIDA7XG59XG5cbi50a3UtYmx1cnJlZCB7XG4gIGZpbHRlcjogb3BhY2l0eSg1MCUpIGJsdXIoMnB4KTtcbn1cblxuLnRrdS1maXhlZC1mb290ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi50a3UtcmVzcG9uc2l2ZS1kZWJ1ZyB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuICBiYWNrZ3JvdW5kOiAjMDY0NUFEO1xuICBjb2xvcjogI0ZBRkFGQTtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGt1LXJlc3BvbnNpdmUtZGVidWc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdtb2JpbGUnO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTk5cHgpIGFuZCAobWF4LXdpZHRoOiA5NzhweCkge1xuICAudGt1LXJlc3BvbnNpdmUtZGVidWc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICd0YWJsZXQnO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTc5cHgpIHtcbiAgLnRrdS1yZXNwb25zaXZlLWRlYnVnOmFmdGVyIHtcbiAgICBjb250ZW50OiAnZGVza3RvcCc7XG4gIH1cbn1cblxuLnRrdS10b2RvIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREMyMDIyO1xufVxuXG4udGstYWNjb3JkaW9uID4gLl9faGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM5QjlCOUI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4udGstYWNjb3JkaW9uID4gLl9faGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50ay1hY2NvcmRpb24gPiAuX19oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnRrLWFjY29yZGlvbiA+IC5fX3NlY3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi50ay1hY2NvcmRpb24gPiAuX19zZWN0aW9uID4gcCB7XG4gIG1hcmdpbjogOHB4IDA7XG59XG5cbi50ay1hY2NvcmRpb24gPiAuX19zZWN0aW9uLi1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLWFjY29yZGlvbiAudGstYWNjb3JkaW9uLS1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLWFjY29yZGlvbiAudGstYWNjb3JkaW9uLS1hY3RpdmUuX19oZWFkZXIge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnRrLWFmZmlsaWF0ZXMge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuXG4udGstYWZmaWxpYXRlcyBoMiwgLnRrLWFmZmlsaWF0ZXMgcCwgLnRrLWFmZmlsaWF0ZXMgb2wge1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLnRrLWFmZmlsaWF0ZXMgb2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLnRrLWFmZmlsaWF0ZXMgLmJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udGstYnV0dG9uLCAuYnV0dG9uLFxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC5idXR0b24sXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC5idXR0b24sXG4uZm9vdGVyIC5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24sXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAxNXB4O1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiBUT0RPOiBET05UIFVTRSAnLS0nIFBSRUZJWCEgSVQgQlJFQUtTIE9OIFNBRkFSSVxuICAgICAqIG5hbWluZyBjb252ZW50aW9uXG4gICAgICogLWJsdWUgICAgYmx1ZSBiZ1xuICAgICAqIC1vLWJsdWUgIGJsdWUgb3V0bGluZVxuICAgICAqIC1oLW8tcmVkIGhvdmVyIG91dGxpbmUgcmVkXG4gICAgICovXG59XG5cbi50ay1idXR0b24uLXBsYWluLXRleHQsIC4tcGxhaW4tdGV4dC5idXR0b24sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLi1wbGFpbi10ZXh0LmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLi1wbGFpbi10ZXh0LmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi4tcGxhaW4tdGV4dCxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b24uLXBsYWluLXRleHQsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLi1wbGFpbi10ZXh0LCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLi1wbGFpbi10ZXh0LCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzID4gbGkgYnV0dG9uLi1wbGFpbi10ZXh0LCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uLi1wbGFpbi10ZXh0LCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgLi1wbGFpbi10ZXh0LmJ1dHRvbiwgLnRrLWJ1dHRvbi4tLXBsYWluLXRleHQsIC4tLXBsYWluLXRleHQuYnV0dG9uLFxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC4tLXBsYWluLXRleHQuYnV0dG9uLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuLS1wbGFpbi10ZXh0LmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi4tLXBsYWluLXRleHQsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLi0tcGxhaW4tdGV4dCxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24uLS1wbGFpbi10ZXh0LCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLi0tcGxhaW4tdGV4dCwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4tLXBsYWluLXRleHQsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBidXR0b24uLS1wbGFpbi10ZXh0LCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgLi0tcGxhaW4tdGV4dC5idXR0b24ge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi50ay1idXR0b24uLW8tYmxhY2ssIC4tby1ibGFjay5idXR0b24sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLi1vLWJsYWNrLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLi1vLWJsYWNrLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCBidXR0b24uYnV0dG9uLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbi5idXR0b24sXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmRcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXRcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24uYnV0dG9uLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24sXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbi4tby1ibGFjaywgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4tby1ibGFjaywgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzID4gbGkgYnV0dG9uLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzID4gbGlcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b24sXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSBidXR0b24sIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBidXR0b24uLW8tYmxhY2ssIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCAuLW8tYmxhY2suYnV0dG9uLCAudGstYnV0dG9uLi0tb2JsYWNrLCAuLS1vYmxhY2suYnV0dG9uLFxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC4tLW9ibGFjay5idXR0b24sXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC4tLW9ibGFjay5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uLS1vYmxhY2ssXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLi0tb2JsYWNrLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbi4tLW9ibGFjaywgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbi4tLW9ibGFjaywgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4tLW9ibGFjaywgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbi4tLW9ibGFjaywgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC4tLW9ibGFjay5idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi50ay1idXR0b24uLW8tYmxhY2s6aG92ZXIsIC4tby1ibGFjay5idXR0b246aG92ZXIsXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC4tby1ibGFjay5idXR0b246aG92ZXIsXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uYnV0dG9uOmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnRcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbjpob3ZlcixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXRcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b24uYnV0dG9uOmhvdmVyLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b246aG92ZXIsXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0XG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLmJ1dHRvbjpob3Zlcixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZ1xuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCBidXR0b24uYnV0dG9uOmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uOmhvdmVyLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbjpob3Zlcixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b246aG92ZXIsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jaGVja291dC10eXBlcyBidXR0b24uLW8tYmxhY2s6aG92ZXIsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSBidXR0b24uLW8tYmxhY2s6aG92ZXIsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBidXR0b24uLW8tYmxhY2s6aG92ZXIsIC50ay1idXR0b24uLS1vYmxhY2s6aG92ZXIsIC4tLW9ibGFjay5idXR0b246aG92ZXIsXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC4tLW9ibGFjay5idXR0b246aG92ZXIsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uLS1vYmxhY2s6aG92ZXIsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLi0tb2JsYWNrOmhvdmVyLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbi4tLW9ibGFjazpob3ZlciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbi4tLW9ibGFjazpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4tLW9ibGFjazpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbi4tLW9ibGFjazpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzA2NDVBRDtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi50ay1idXR0b24uLWJsdWUsIC4tYmx1ZS5idXR0b24sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLi1ibHVlLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLi1ibHVlLmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi4tYmx1ZSxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b24uLWJsdWUsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLi1ibHVlLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLi1ibHVlLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzID4gbGkgYnV0dG9uLi1ibHVlLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uLi1ibHVlLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgLi1ibHVlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNjQ1QUQ7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnRrLWJ1dHRvbi4tby1ibHVlLCAuYnV0dG9uLFxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC5idXR0b24sXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC5idXR0b24sXG4uZm9vdGVyIC5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uLW8tYmx1ZSwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBidXR0b24sIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbi4tby1ibHVlLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbi5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXRcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b24sXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLi1vLWJsdWUsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIC5jaGVja291dC10eXBlcyBidXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jaGVja291dC10eXBlcyAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBidXR0b24sIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC5idXR0b24sIC50ay1idXR0b24uLS1ibHVlLCAuLS1ibHVlLmJ1dHRvbixcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuLS1ibHVlLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLi0tYmx1ZS5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uLS1ibHVlLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbi4tLWJsdWUsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLi0tYmx1ZSwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbi4tLWJsdWUsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSBidXR0b24uLS1ibHVlLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uLi0tYmx1ZSwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC4tLWJsdWUuYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzA2NDVBRDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDY0NUFEO1xufVxuXG4udGstYnV0dG9uLi1oLW8tYmx1ZTpob3ZlciwgLi1oLW8tYmx1ZS5idXR0b246aG92ZXIsXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC4taC1vLWJsdWUuYnV0dG9uOmhvdmVyLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uLmJ1dHRvbjpob3ZlciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50XG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b246aG92ZXIsXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0XG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLmJ1dHRvbjpob3Zlcixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCBidXR0b24uYnV0dG9uOmhvdmVyLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbi5idXR0b246aG92ZXIsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmdcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbjpob3ZlciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbjpob3Zlcixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b246aG92ZXIsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uOmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLi1oLW8tYmx1ZTpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4taC1vLWJsdWU6aG92ZXIsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBidXR0b24uLWgtby1ibHVlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICBib3JkZXItY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi50ay1idXR0b24uLXdpZGUsIC4td2lkZS5idXR0b24sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLi13aWRlLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLi13aWRlLmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi4td2lkZSxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b24uLXdpZGUsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLi13aWRlLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLi13aWRlLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzID4gbGkgYnV0dG9uLi13aWRlLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uLi13aWRlLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgLi13aWRlLmJ1dHRvbiwgLnRrLWJ1dHRvbi4tLXdpZGUsIC4tLXdpZGUuYnV0dG9uLFxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC4tLXdpZGUuYnV0dG9uLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuLS13aWRlLmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi4tLXdpZGUsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLi0td2lkZSxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24uLS13aWRlLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLi0td2lkZSwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4tLXdpZGUsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBidXR0b24uLS13aWRlLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgLi0td2lkZS5idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRrLWJ1dHRvbi4tby1yZWQsIC4tby1yZWQuYnV0dG9uLFxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC4tby1yZWQuYnV0dG9uLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuLW8tcmVkLmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi4tby1yZWQsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zICNkaXNjb3VudC1jb3Vwb24tZm9ybSAuZGlzY291bnQgLmRpc2NvdW50LWZvcm0gYnV0dG9uLi1yZW1vdmUsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLi1vLXJlZCxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24uLW8tcmVkLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLi1vLXJlZCwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4tby1yZWQsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBidXR0b24uLW8tcmVkLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgLi1vLXJlZC5idXR0b24ge1xuICBjb2xvcjogI0RDMjAyMjtcbiAgYm9yZGVyLWNvbG9yOiAjREMyMDIyO1xufVxuXG4udGstYnV0dG9uLi1oLW8tcmVkOmhvdmVyLCAuLWgtby1yZWQuYnV0dG9uOmhvdmVyLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuLWgtby1yZWQuYnV0dG9uOmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uLi1oLW8tcmVkOmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAjZGlzY291bnQtY291cG9uLWZvcm0gLmRpc2NvdW50IC5kaXNjb3VudC1mb3JtIGJ1dHRvbi4tcmVtb3ZlOmhvdmVyLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbi4taC1vLXJlZDpob3Zlcixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24uLWgtby1yZWQ6aG92ZXIsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jaGVja291dC10eXBlcyBidXR0b24uLWgtby1yZWQ6aG92ZXIsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSBidXR0b24uLWgtby1yZWQ6aG92ZXIsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBidXR0b24uLWgtby1yZWQ6aG92ZXIge1xuICBjb2xvcjogI0RDMjAyMjtcbiAgYm9yZGVyLWNvbG9yOiAjREMyMDIyO1xufVxuXG5hLnRrLWJ1dHRvbiwgYS5idXR0b24sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgYS5idXR0b24sXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IGEuYnV0dG9uLFxuLmZvb3RlciBhLmJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGEuYnV0dG9uIHtcbiAgcGFkZGluZzogOXB4IDE1cHg7XG59XG5cbmEudGstYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpob3Zlcixcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyBhLmJ1dHRvbjpob3ZlcixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgYS5idXR0b246aG92ZXIsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBhLmJ1dHRvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRrLWNhcmVlcnMge1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICBtYXJnaW46IDA7XG59XG5cbi50ay1jYXJlZXJzIC50ay1oMSB7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4udGstY2FyZWVycyAuX19ibHVyYiBwIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi50ay1jYXJlZXJzIC5fX2xpc3QgLl9fbG9jYXRpb24ge1xuICBtYXJnaW46IDQwcHggMCAyMHB4IDA7XG59XG5cbi50ay1jYXJlZXJzIC5fX2xpc3QgLl9fY2l0eSB7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4udGstY2FydC1zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNTBweCAwIDMwcHggMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstY2FydC1zdW1tYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9fbGlzdCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC50ay1jYXJ0LXN1bW1hcnkgLl9fbGlzdCAuX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZy1ib3R0b206IDExcHg7XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9faGVhZGVyID4gLl9fZGVzYyxcbi50ay1jYXJ0LXN1bW1hcnkgLl9faGVhZGVyID4gLl9fcHJpY2UsXG4udGstY2FydC1zdW1tYXJ5IC5fX2hlYWRlciA+IC5fX3F0eSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9faGVhZGVyLFxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX2hlYWRlciA+IC5fX2Rlc2MsXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgPiAuX19kZXNjIHtcbiAgZmxleC1iYXNpczogNDAlO1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX2hlYWRlciA+IC5fX3ByaWNlLFxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0ID4gLl9fcHJpY2Uge1xuICBmbGV4LWJhc2lzOiAyMCU7XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9faGVhZGVyID4gLl9fcXR5LFxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0ID4gLl9fcXR5IHtcbiAgZmxleC1iYXNpczogMzAlO1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX2hlYWRlciA+IC5fX3N1YnRvdGFsLFxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0ID4gLl9fc3VidG90YWwge1xuICBmbGV4LWJhc2lzOiAxMCU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3Qge1xuICBtYXJnaW46IDIwcHggMDtcbiAgLypcbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgIC5fX2ltYWdlIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgLl9fY29uZmlndXJhYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX3ByaWNlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgLl9fcXVhbnRpdHkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5fX3N1YnRvdGFsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAqL1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fZGVzYyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX2Rlc2MgLl9faW1hZ2Uge1xuICB3aWR0aDogODZweDtcbiAgZmxleC1iYXNpczogODZweDtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX2Rlc2MgLl9fZGVzY3JpcHRpb24ge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgbWFyZ2luOiA0cHggMTVweCAxMHB4IDdweDtcbiAgZmxleC1iYXNpczogMzEwcHg7XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19kZXNjIC5fX2Rlc2NyaXB0aW9uIC5fX2Rlc2lnbmVyLW5hbWUge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19kZXNjIC5fX2Rlc2NyaXB0aW9uIC5fX2Rlc2lnbmVyLW5hbWUgYSB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fZGVzYyAuX19kZXNjcmlwdGlvbiAuX19wcm9kdWN0LW5hbWUgYSB7XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fZGVzYyAuX19za3Uge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fZGVzYyAuX19za3UgPiBkdCwgLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX2Rlc2MgLl9fc2t1ID4gZGQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19kZXNjIC5fX3NrdSA+IGR0IHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19kZXNjIC5fX3NrdSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fZGVzYyAuX19sb3ctcXVhbnRpdHkge1xuICBjb2xvcjogI0RDMjAyMjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fZGVzYyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX2Rlc2MgLl9faW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fcHJpY2Uge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3ByaWNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19xdHkge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fcXR5IGxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3F0eSBpbnB1dC5xdHkge1xuICBtYXJnaW4tdG9wOiAxcHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fcXR5IC5fX3VwZGF0ZSxcbi50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19xdHkgLl9fcmVtb3ZlIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNDQ0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQ0NDtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3F0eSAuX191cGRhdGU6aG92ZXIsXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fcXR5IC5fX3JlbW92ZTpob3ZlciB7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3F0eSBidXR0b24uX191cGRhdGUge1xuICBwYWRkaW5nLWJvdHRvbTogMXB4O1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fcXR5IGEuX19yZW1vdmUge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fcXR5IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDk2cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgfVxuICAudGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fcXR5IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fcXR5IGlucHV0LnF0eSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19xdHkgYS5fX3JlbW92ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3N1YnRvdGFsIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19zdWJ0b3RhbCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuXG4udGstY2FydC10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnRrLWNhcnQtdGl0bGUgLl9fdGl0bGUge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC50ay1jYXJ0LXRpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC50ay1jYXJ0LXRpdGxlIC5fX2NvbnRpbnVlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDY0NUFEO1xuICAgIHBhZGRpbmc6IDVweCA5cHg7XG4gIH1cbiAgLnRrLWNhcnQtdGl0bGUgLl9fY29udGludWUgLl9fZXh0cmEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRrLWNhdGFsb2ctbmF2IGEge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRrLWNhdGFsb2ctbmF2IGE6aG92ZXIge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRrLWNhdGFsb2ctbmF2IGEuLWN1cnJlbnQge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ay1jYXRhbG9nLW5hdiA+IGg2IHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnRrLWNhdGFsb2ctbmF2ID4gaDYsIC50ay1jYXRhbG9nLW5hdiA+IGEge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4udGstY2F0YWxvZy1uYXYgPiBoNjpmaXJzdC1jaGlsZCwgLnRrLWNhdGFsb2ctbmF2ID4gYTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi50ay1jYXRhbG9nLW5hdiA+IGg2ID4gYSwgLnRrLWNhdGFsb2ctbmF2ID4gYSB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnRrLWNhdGFsb2ctbmF2ID4gaDYgPiBhOmhvdmVyLCAudGstY2F0YWxvZy1uYXYgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstY2F0YWxvZy1uYXYgPiBoNiA+IGEuLXNhbGUsIC50ay1jYXRhbG9nLW5hdiA+IGEuLXNhbGUge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi50ay1jYXRhbG9nLW5hdiA+IGg2ID4gYS4tc2FsZTpob3ZlciwgLnRrLWNhdGFsb2ctbmF2ID4gYS4tc2FsZTpob3ZlciB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udGstY2F0YWxvZy1uYXYgPiBoNiA+IGEuLXNhbGUuLWN1cnJlbnQsIC50ay1jYXRhbG9nLW5hdiA+IGEuLXNhbGUuLWN1cnJlbnQge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ay1jYXRhbG9nLW5hdiA+IC5fX2xpc3QgLl9fbGlzdCwgLnRrLWNhdGFsb2ctbmF2ID4gLl9fbGlzdC4tc2FsZSB7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50ay1jYXRlZ29yeS10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xufVxuXG4udGstY2F0ZWdvcnktdGl0bGUgLl9fZGVzY3JpcHRpb24gaDEge1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAzNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDE7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWNhdGVnb3J5LXRpdGxlIC5fX2Rlc2NyaXB0aW9uIGgxIHtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC50ay1jYXRlZ29yeS10aXRsZSAuX19kZXNjcmlwdGlvbiBoMSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5cbi50ay1jYXRlZ29yeS10aXRsZSAuX19kZXNjcmlwdGlvbiBoMS4td2hpdGUge1xuICBjb2xvcjogd2hpdGU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWNhdGVnb3J5LXRpdGxlIC5fX2Rlc2NyaXB0aW9uLi1ub0ltYWdlIGgxIHtcbiAgICBwYWRkaW5nLXRvcDogNTJweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC50ay1jYXRlZ29yeS10aXRsZSAuX19kZXNjcmlwdGlvbi4tbm9JbWFnZSBoMSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cbn1cblxuLnRrLWNhdGVnb3J5LXRpdGxlIC5fX2Rlc2NyaXB0aW9uLi13aXRoSW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4udGstY2F0ZWdvcnktdGl0bGUgLl9faW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4udGstY2F0ZWdvcnktdGl0bGUgLl9faW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciAqOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4ge1xuICBwYWRkaW5nLXRvcDogMTMuNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTIuNXB4O1xuICBmbGV4LWJhc2lzOiAyNSU7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgPiBzcGFuLl9fbGhzIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyID4gc3Bhbi5fX2xocyA+IGEge1xuICBwYWRkaW5nLXRvcDogMTMuNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMi41cHg7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgPiBzcGFuLl9fcmhzIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4uX19yaHMgPiBhIHtcbiAgZmxleC1mbG93OiByb3ctcmV2ZXJzZSBub3dyYXA7XG4gIHBhZGRpbmctdG9wOiAyN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4gPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4gPiBhID4gKiB7XG4gIHBhZGRpbmctcmlnaHQ6IDcuNXB4O1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyID4gc3BhbiA+IGEgLl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgPiBzcGFuID4gYSAuX190ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4gPiBhIC5fX3RleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4gPiBhOmhvdmVyLCAudGstY2hlY2tvdXQtaGVhZGVyID4gc3BhbiA+IGE6aG92ZXIgPiAqIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzA2NDVBRDtcbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4gPiBhOmhvdmVyID4gLl9fdGV4dCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyID4gc3BhbiAuZmEge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgPiAuX19sb2dvIHtcbiAgcGFkZGluZy10b3A6IDI3cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgPiAuX19sb2dvIGltZyB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyIC5fX2NvbnRhY3Qge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiA3NnB4O1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgYmxhY2s7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBibGFjaztcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7XG4gIHdpZHRoOiAzMyU7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgLl9fY29udGFjdC4tdmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDEuMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzhweCkge1xuICAudGstY2hlY2tvdXQtaGVhZGVyIC5fX2NvbnRhY3Qge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyIC5fX2NvbnRhY3QgPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFRkVGRUY7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgLl9fY29udGFjdCA+IGE6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgLl9fY29udGFjdCA+IGEgPiBzcGFuIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgcGFkZGluZy1yaWdodDogNy41cHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzA2NDVBRCAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyIC5fX2NvbnRhY3QgPiBhID4gc3Bhbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyIC5fX2NvbnRhY3QgPiBhID4gLmZhIHtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgLl9fY29udGFjdCA+IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgLl9fY29udGFjdCA+IGE6aG92ZXIgPiBzcGFuIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjMDY0NUFEO1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyIC5fX2NvbnRhY3QgPiBhOmhvdmVyID4gLmZhIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWNoZWNrb3V0LWhlYWRlciAuX19saHMsIC50ay1jaGVja291dC1oZWFkZXIgLl9fcmhzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50ay1jaGVja291dC1oZWFkZXIgLl9fbG9nbyBpbWcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB9XG59XG5cbmJvZHkgLnRrLWNoZWNrb3V0LWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY2hlY2tvdXQtb25lcGFnZS1pbmRleCBkaXYuaGVhZGVyLWNvbnRhaW5lciBkaXYuaGVhZGVyIC50ay1uYXYtaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5jaGVja291dC1vbmVwYWdlLWluZGV4IGRpdi5oZWFkZXItY29udGFpbmVyIGRpdi5oZWFkZXIgLnRrLWNoZWNrb3V0LWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udGstY2hlY2tvdXQgI3JlbWVtYmVyLW1lLWJveCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1jaGVja291dCAuX19jaGVja291dC1zdGVwcyAuX19zdGVwLXNpZ24taW4tYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWNoZWNrb3V0IC5fX2hlbHAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRrLWNoZWNrb3V0IC5zZWN0aW9uIC5zdGVwLXRpdGxlIGgyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbiAgLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fbWVtYmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50ay1jaGVja291dC4tbW9iaWxlLXNpZ24taW4gLl9fY2hlY2tvdXQtc3RlcHMgLl9fc3RlcC1zaWduLWluLWJyZWFkY3J1bWIge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAudGstY2hlY2tvdXQuLW1vYmlsZS1zaWduLWluIC5fX2NoZWNrb3V0LXN0ZXBzIC5fX3N0ZXAtc2lnbi1pbi1icmVhZGNydW1iOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcg4oCTICc7XG4gIH1cbiAgLnRrLWNoZWNrb3V0Li1tb2JpbGUtc2lnbi1pbiAuX19zaWduLWluIC5fX21lbWJlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnRrLWNoZWNrb3V0Li1tb2JpbGUtc2lnbi1pbiAuX19zaWduLWluIC5fX2Fub255bW91cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudGstY2hlY2tvdXQgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstY2hlY2tvdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIG1heC13aWR0aDogMTAyNHB4O1xuICB9XG4gIC50ay1jaGVja291dCAuX19mdW5uZWwge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gIH1cbiAgLnRrLWNoZWNrb3V0IC5fX2hlbHAge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICB9XG4gIC50ay1jaGVja291dCAuX19jaGVja291dC1zdGVwcyAuX19zdGVwLXNpZ24taW4tYnJlYWRjcnVtYiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi50ay1jaGVja291dCAuX19oZWxwIHAge1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLnRrLWNoZWNrb3V0IC5fX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstY2hlY2tvdXQgLl9fc2lnbi1pbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgbWFyZ2luOiAwIDAgNjBweCAwO1xuICB9XG4gIC50ay1jaGVja291dCAuX19zaWduLWluIC5fX21lbWJlciwgLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fYW5vbnltb3VzIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA0MHB4IDUwcHggMjBweCA1MHB4O1xuICB9XG4gIC50ay1jaGVja291dCAuX19zaWduLWluIC5fX21lbWJlciB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzliOWI5YjtcbiAgfVxuICAudGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19tb2JpbGUtc2lnbi1pbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19tZW1iZXIgLmlucHV0LXRleHQge1xuICBoZWlnaHQ6IHVuc2V0O1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4udGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19tZW1iZXIgLmZvcm0tbGlzdCA+IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fbWVtYmVyIC5fX2ZvcmdvdC1wYXNzd29yZCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi50ay1jaGVja291dCAuX19zaWduLWluIC5fX21lbWJlciAuX19mb3Jnb3QtcGFzc3dvcmQgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC50ay1jaGVja291dCAuX19zaWduLWluIC5fX21lbWJlciAuX19mb3Jnb3QtcGFzc3dvcmQge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4udGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19hbm9ueW1vdXMge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19hbm9ueW1vdXMgLl9fbW9iaWxlLXNpZ24taW4tbGluay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fYW5vbnltb3VzIGEuX19tb2JpbGUtc2lnbi1pbixcbi50ay1jaGVja291dCAuX19zaWduLWluIC5fX2Fub255bW91cyBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19hbm9ueW1vdXMgYS5fX21vYmlsZS1zaWduLWluLi1vLWJsdWUsIC50ay1jaGVja291dCAuX19zaWduLWluIC5fX2Fub255bW91cyBhLl9fbW9iaWxlLXNpZ24taW4uYnV0dG9uLCAudGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19hbm9ueW1vdXNcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgYS5fX21vYmlsZS1zaWduLWluLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fYW5vbnltb3VzIGEuX19tb2JpbGUtc2lnbi1pbi5idXR0b24sXG4udGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19hbm9ueW1vdXMgbGFiZWwuLW8tYmx1ZSxcbi50ay1jaGVja291dCAuX19zaWduLWluIC5fX2Fub255bW91cyBsYWJlbC5idXR0b24sXG4udGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19hbm9ueW1vdXNcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgbGFiZWwuYnV0dG9uLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldFxuLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fYW5vbnltb3VzIGxhYmVsLmJ1dHRvbiB7XG4gIGNvbG9yOiAjMDY0NUFEO1xufVxuXG4udGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19hbm9ueW1vdXMgaW5wdXRbdHlwZT1yYWRpb10ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi50ay1lZGl0b3JpYWwtaW1hZ2UgLl9fcHJvZHVjdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIGhlaWdodCAwLjVzIGVhc2U7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIGhlaWdodCAwLjVzIGVhc2U7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnRrLWVkaXRvcmlhbC1pbWFnZSAuX19wcm9kdWN0cy4tdmlzaWJsZSB7XG4gIHBhZGRpbmctbGVmdDogMTNweDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnRrLWVkaXRvcmlhbC1pbWFnZTpob3ZlciAuX19wcm9kdWN0cyB7XG4gIHBhZGRpbmctbGVmdDogMTNweDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstZWRpdG9yaWFsLWltYWdlIC5fX3Byb2R1Y3RzIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAudGstZWRpdG9yaWFsLWltYWdlOmhvdmVyIC5fX3Byb2R1Y3RzIHtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstZWRpdG9yaWFsLWltYWdlLi1vdmVybGF5LXByb2R1Y3RzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnRrLWVkaXRvcmlhbC1pbWFnZS4tb3ZlcmxheS1wcm9kdWN0cyAuX19wcm9kdWN0cyB7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIC50ay1lZGl0b3JpYWwtaW1hZ2UuLW92ZXJsYXktcHJvZHVjdHMgLl9fcHJvZHVjdHMgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIC50ay1lZGl0b3JpYWwtaW1hZ2UuLW92ZXJsYXktcHJvZHVjdHMgLl9fcHJvZHVjdHMgYTpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWVkaXRvcmlhbCwgLnRrRWRpdG9yaWFsIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstZWRpdG9yaWFsLCAudGtFZGl0b3JpYWwge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgzcHg7XG4gIH1cbn1cblxuLnRrLWVkaXRvcmlhbCAuX190aXRsZSwgLnRrRWRpdG9yaWFsIC5fX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBtYXJnaW46IDIwcHggYXV0bztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstZWRpdG9yaWFsIC5fX3RpdGxlLCAudGtFZGl0b3JpYWwgLl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICB9XG59XG5cbi50ay1lZGl0b3JpYWwgLl9fc3VidGl0bGUsIC50a0VkaXRvcmlhbCAuX19zdWJ0aXRsZSB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWVkaXRvcmlhbCAuX19yb3cgLl9faW1hZ2UsIC50a0VkaXRvcmlhbCAuX19yb3cgLl9faW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstZWRpdG9yaWFsIC5fX3JvdywgLnRrRWRpdG9yaWFsIC5fX3JvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gIH1cbiAgLnRrLWVkaXRvcmlhbCAuX19yb3cuLW5vQm90dG9tLCAudGtFZGl0b3JpYWwgLl9fcm93Li1ub0JvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAudGstZWRpdG9yaWFsIC5fX3Jvdy4tcGFkQm90dG9tLCAudGtFZGl0b3JpYWwgLl9fcm93Li1wYWRCb3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICB9XG4gIC50ay1lZGl0b3JpYWwgLl9fcm93Li1uZWdNYXJnaW4xLCAudGtFZGl0b3JpYWwgLl9fcm93Li1uZWdNYXJnaW4xIHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICB9XG59XG5cbi50ay1lZGl0b3JpYWwgLl9fY3JlZGl0cywgLnRrRWRpdG9yaWFsIC5fX2NyZWRpdHMge1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICB3aWR0aDogMjllbTtcbn1cblxuLnRrLWVkaXRvcmlhbCAuX19jcmVkaXRzIHVsLCAudGstZWRpdG9yaWFsIC5fX2NyZWRpdHMsIC50a0VkaXRvcmlhbCAuX19jcmVkaXRzIHVsLCAudGtFZGl0b3JpYWwgLl9fY3JlZGl0cyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xufVxuXG4udGstZWRpdG9yaWFsIC5fX2NyZWRpdHMgdWwgbGksIC50ay1lZGl0b3JpYWwgLl9fY3JlZGl0cyBsaSwgLnRrRWRpdG9yaWFsIC5fX2NyZWRpdHMgdWwgbGksIC50a0VkaXRvcmlhbCAuX19jcmVkaXRzIGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50ay1lZGl0b3JpYWwgLl9fY3JlZGl0cyB1bCBsaTo6YmVmb3JlLCAudGstZWRpdG9yaWFsIC5fX2NyZWRpdHMgbGk6OmJlZm9yZSwgLnRrRWRpdG9yaWFsIC5fX2NyZWRpdHMgdWwgbGk6OmJlZm9yZSwgLnRrRWRpdG9yaWFsIC5fX2NyZWRpdHMgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstZWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjEsIC50a0VkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXIxIHtcbiAgICBoZWlnaHQ6IDUwLjI1dnc7XG4gIH1cbiAgLnRrLWVkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXIxIC4tbGggaW1nLCAudGtFZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMSAuLWxoIGltZyB7XG4gICAgaGVpZ2h0OiAyNS41dnc7XG4gIH1cbiAgLnRrLWVkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXIxIC4tcmggaW1nLCAudGtFZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMSAuLXJoIGltZyB7XG4gICAgaGVpZ2h0OiAzNy42dnc7XG4gIH1cbiAgLnRrLWVkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXIyLCAudGtFZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMiB7XG4gICAgaGVpZ2h0OiA2My41dnc7XG4gIH1cbiAgLnRrLWVkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXIyIC4tbGggaW1nLCAudGtFZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMiAuLWxoIGltZyB7XG4gICAgaGVpZ2h0OiA1MC44dnc7XG4gIH1cbiAgLnRrLWVkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXIyIC4tcmgsIC50a0VkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXIyIC4tcmgge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygyLjYzICogMTAwdncgLyAxOCk7XG4gIH1cbiAgLnRrLWVkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXIyIC4tcmggaW1nLCAudGtFZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMiAuLXJoIGltZyB7XG4gICAgaGVpZ2h0OiAyNS41dnc7XG4gIH1cbiAgLnRrLWVkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXIzLCAudGtFZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDExLjg2LzE4ICogMTAwdncpO1xuICB9XG4gIC50ay1lZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMyAuLWxoIGltZywgLnRrRWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjMgLi1saCBpbWcge1xuICAgIGhlaWdodDogY2FsYyg1LjU1LzE4ICogMTAwdncpO1xuICB9XG4gIC50ay1lZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMyAuLXJoIGltZywgLnRrRWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjMgLi1yaCBpbWcge1xuICAgIGhlaWdodDogY2FsYyg5LjA1LzE4ICogMTAwdncpO1xuICB9XG4gIC50ay1lZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyNCwgLnRrRWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjQge1xuICAgIGhlaWdodDogY2FsYygxNC4xMi8xOCAqIDEwMHZ3KTtcbiAgfVxuICAudGstZWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjQgLi1yaCBpbWcsIC50a0VkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXI0IC4tcmggaW1nIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTEuMzUvMTggKiAxMDB2dyk7XG4gIH1cbn1cblxuLnRrLWVkaXRvcmlhbHMtbGlzdCB7XG4gIG1hcmdpbjogMTVweCAxNXB4IDAgMTVweDtcbn1cblxuLnRrLWVkaXRvcmlhbHMtbGlzdCAuX19jZWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi50ay1lZGl0b3JpYWxzLWxpc3QgLl9fY2VsbCAuX19jb3ZlciB7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50ay1lZGl0b3JpYWxzLWxpc3QgLl9fY2VsbCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4udGstZWRpdG9yaWFscy1saXN0IC5fX2NlbGwgLnRrLWwyOmhvdmVyICoge1xuICBjb2xvcjogIzA2NDVBRCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1lZGl0b3JpYWxzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLnRrLWVkaXRvcmlhbHMtbGlzdCAuX19jZWxsIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMzJSAtIDEwcHgpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTc5cHgpIHtcbiAgLnRrLWVkaXRvcmlhbHMtbGlzdCB7XG4gICAgbWFyZ2luOiA4MHB4IDUwcHggNTBweCA1MHB4O1xuICB9XG59XG5cbi50ay1maW5hbC1zYWxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjREMyMDIyO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1mbGV4LXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLWxoIHtcbiAgICBvcmRlcjogMDtcbiAgfVxuICAudGstZmxleC1yb3cgLi1yaCB7XG4gICAgb3JkZXI6IDk5OTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13MCB7XG4gICAgd2lkdGg6IGNhbGMoICgwLzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIC0xKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgwLzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDApO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMC8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiAwKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13MSB7XG4gICAgd2lkdGg6IGNhbGMoICgxLzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDApO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW8xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDEvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogMSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcm8xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxLzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDEpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXcyIHtcbiAgICB3aWR0aDogY2FsYyggKDIvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogMSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tbzIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMi8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiAyKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1ybzIge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDIvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogMik7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzMge1xuICAgIHdpZHRoOiBjYWxjKCAoMy8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiAyKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgzLzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDMpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMy8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiAzKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13NCB7XG4gICAgd2lkdGg6IGNhbGMoICg0LzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDMpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW80IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDQvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogNCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcm80IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICg0LzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDQpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXc1IHtcbiAgICB3aWR0aDogY2FsYyggKDUvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogNCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tbzUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoNS8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiA1KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1ybzUge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDUvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogNSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzYge1xuICAgIHdpZHRoOiBjYWxjKCAoNi8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiA1KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICg2LzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDYpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvNiB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoNi8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiA2KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13NyB7XG4gICAgd2lkdGg6IGNhbGMoICg3LzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDYpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW83IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDcvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogNyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcm83IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICg3LzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDcpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXc4IHtcbiAgICB3aWR0aDogY2FsYyggKDgvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogNyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tbzgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoOC8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiA4KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1ybzgge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDgvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogOCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzkge1xuICAgIHdpZHRoOiBjYWxjKCAoOS8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiA4KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICg5LzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDkpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvOSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoOS8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiA5KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13MTAge1xuICAgIHdpZHRoOiBjYWxjKCAoMTAvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogOSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tbzEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDEwLzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDEwKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1ybzEwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxMC8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiAxMCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzExIHtcbiAgICB3aWR0aDogY2FsYyggKDExLzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDEwKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMTEvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogMTEpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvMTEge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDExLzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDExKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13MTIge1xuICAgIHdpZHRoOiBjYWxjKCAoMTIvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogMTEpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW8xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgxMi8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiAxMik7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcm8xMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMTIvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogMTIpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXcxMyB7XG4gICAgd2lkdGg6IGNhbGMoICgxMy8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiAxMik7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tbzEzIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDEzLzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDEzKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1ybzEzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxMy8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiAxMyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzE0IHtcbiAgICB3aWR0aDogY2FsYyggKDE0LzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDEzKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vMTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMTQvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogMTQpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvMTQge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDE0LzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDE0KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13MTUge1xuICAgIHdpZHRoOiBjYWxjKCAoMTUvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogMTQpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW8xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgxNS8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiAxNSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcm8xNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMTUvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogMTUpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXcxNiB7XG4gICAgd2lkdGg6IGNhbGMoICgxNi8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiAxNSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tbzE2IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDE2LzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDE2KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1ybzE2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxNi8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiAxNik7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzE3IHtcbiAgICB3aWR0aDogY2FsYyggKDE3LzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDE2KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vMTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMTcvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogMTcpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvMTcge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDE3LzEyICogKDEwMCUgLSAoMTEgKiAxMHB4KSkpICsgMTBweCAqIDE3KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13MTgge1xuICAgIHdpZHRoOiBjYWxjKCAoMTgvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogMTcpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW8xOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgxOC8xMiAqICgxMDAlIC0gKDExICogMTBweCkpKSArIDEwcHggKiAxOCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcm8xOCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMTgvMTIgKiAoMTAwJSAtICgxMSAqIDEwcHgpKSkgKyAxMHB4ICogMTgpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXYtdG9wIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXYtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcHVsbC1kb3duLFxuICAudGstZmxleC1yb3cgLi12LWJvdHRvbSB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgfVxuICAudGstZmxleC1yb3cuLWxlZnQtYWxpZ24ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAudGstZmxleC1yb3cuLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAudGstZmxleC1yb3cuLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAudGstZmxleC1yb3cgLi10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi50ay1mbGV4LXJvdy4tbWFyZ2luIHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzhweCkge1xuICAudGstZmxleC1yb3cuLW1hcmdpbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbi50ay1mbGV4LXJvdy4tYmxlZWQgaW1nIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstZmxleC1yb3cuLWJsZWVkIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstZmxleC1yb3cuLWJsZWVkIC4tdzEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAudGstZmxleC1yb3cuLWJsZWVkIC4tdzIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnRrLWZsZXgtcm93Li1ibGVlZCAuLXczIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC50ay1mbGV4LXJvdy4tYmxlZWQgLi13NCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAudGstZmxleC1yb3cuLWJsZWVkIC4tdzUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLnRrLWZsZXgtcm93Li1ibGVlZCAuLXc2IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC50ay1mbGV4LXJvdy4tYmxlZWQgLi13NyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAudGstZmxleC1yb3cuLWJsZWVkIC4tdzgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLnRrLWZsZXgtcm93Li1ibGVlZCAuLXc5IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC50ay1mbGV4LXJvdy4tYmxlZWQgLi13MTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLnRrLWZsZXgtcm93Li1ibGVlZCAuLXcxMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAudGstZmxleC1yb3cuLWJsZWVkIC4tdzEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4udGstZmxleC1yb3cuLXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50ay1mbGV4LXJvdyAudmlkZW8tanMge1xuICB3aWR0aDogMTAwLjElO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1mbGV4LXJvdy0tMTgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbGgge1xuICAgIG9yZGVyOiAwO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1yaCB7XG4gICAgb3JkZXI6IDk5OTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzAge1xuICAgIHdpZHRoOiBjYWxjKCAoMC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAtMSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW8wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDAvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAwKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzEge1xuICAgIHdpZHRoOiBjYWxjKCAoMS8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAwKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbzEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMS8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcm8xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDEpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi13MiB7XG4gICAgd2lkdGg6IGNhbGMoICgyLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDEpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgyLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDIpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzIge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDIvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMik7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXczIHtcbiAgICB3aWR0aDogY2FsYyggKDMvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMik7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW8zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDMvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMy8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAzKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzQge1xuICAgIHdpZHRoOiBjYWxjKCAoNC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAzKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbzQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoNC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiA0KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcm80IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICg0LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDQpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi13NSB7XG4gICAgd2lkdGg6IGNhbGMoICg1LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDQpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICg1LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDUpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzUge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDUvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogNSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXc2IHtcbiAgICB3aWR0aDogY2FsYyggKDYvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogNSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW82IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDYvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogNik7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvNiB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoNi8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiA2KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzcge1xuICAgIHdpZHRoOiBjYWxjKCAoNy8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiA2KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbzcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoNy8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiA3KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcm83IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICg3LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDcpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi13OCB7XG4gICAgd2lkdGg6IGNhbGMoICg4LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDcpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICg4LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDgpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzgge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDgvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogOCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXc5IHtcbiAgICB3aWR0aDogY2FsYyggKDkvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogOCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW85IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDkvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogOSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvOSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoOS8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiA5KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzEwIHtcbiAgICB3aWR0aDogY2FsYyggKDEwLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDkpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMTAvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTApO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzEwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxMC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxMCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXcxMSB7XG4gICAgd2lkdGg6IGNhbGMoICgxMS8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxMCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW8xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgxMS8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxMSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvMTEge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDExLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDExKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzEyIHtcbiAgICB3aWR0aDogY2FsYyggKDEyLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDExKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbzEyIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDEyLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDEyKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcm8xMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMTIvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTIpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi13MTMge1xuICAgIHdpZHRoOiBjYWxjKCAoMTMvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTIpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vMTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMTMvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTMpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzEzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxMy8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxMyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXcxNCB7XG4gICAgd2lkdGg6IGNhbGMoICgxNC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxMyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW8xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgxNC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxNCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvMTQge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDE0LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDE0KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzE1IHtcbiAgICB3aWR0aDogY2FsYyggKDE1LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDE0KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbzE1IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDE1LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDE1KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcm8xNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMTUvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTUpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi13MTYge1xuICAgIHdpZHRoOiBjYWxjKCAoMTYvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTUpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vMTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMTYvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTYpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzE2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxNi8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxNik7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXcxNyB7XG4gICAgd2lkdGg6IGNhbGMoICgxNy8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxNik7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW8xNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgxNy8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxNyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvMTcge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDE3LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDE3KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzE4IHtcbiAgICB3aWR0aDogY2FsYyggKDE4LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDE3KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbzE4IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDE4LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDE4KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcm8xOCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMTgvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTgpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi12LWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1wdWxsLWRvd24ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTguLWxlZnQtYWxpZ24ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4udGstZmxleC1yb3ctLTE4Li1tYXJnaW4ge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OHB4KSB7XG4gIC50ay1mbGV4LXJvdy0tMTguLW1hcmdpbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbi50ay1mbGV4LXJvdy0tMTguLWJsZWVkIGltZyB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1mbGV4LXJvdy0tMTguLWJsZWVkIC4tdzEge1xuICAgIHdpZHRoOiA1LjU1NTU2JTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXcyIHtcbiAgICB3aWR0aDogMTEuMTExMTElO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTguLWJsZWVkIC4tdzMge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13NCB7XG4gICAgd2lkdGg6IDIyLjIyMjIyJTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXc1IHtcbiAgICB3aWR0aDogMjcuNzc3NzglO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTguLWJsZWVkIC4tdzYge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13NyB7XG4gICAgd2lkdGg6IDM4Ljg4ODg5JTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXc4IHtcbiAgICB3aWR0aDogNDQuNDQ0NDQlO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTguLWJsZWVkIC4tdzkge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13MTAge1xuICAgIHdpZHRoOiA1NS41NTU1NiU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13MTEge1xuICAgIHdpZHRoOiA2MS4xMTExMSU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13MTIge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13MTMge1xuICAgIHdpZHRoOiA3Mi4yMjIyMiU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13MTQge1xuICAgIHdpZHRoOiA3Ny43Nzc3OCU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13MTUge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13MTYge1xuICAgIHdpZHRoOiA4OC44ODg4OSU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13MTcge1xuICAgIHdpZHRoOiA5NC40NDQ0NCU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13MTgge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi50ay1mbGV4LXJvdy0tMTguLXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50ay1mbGV4LXJvdy0tMTggLnZpZGVvLWpzIHtcbiAgd2lkdGg6IDEwMC4xJTtcbn1cblxuLnRrLWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiAyN3B4IDMwcHggMzBweCAzMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC50ay1mb290ZXIge1xuICAgIHBhZGRpbmc6IDI3cHggMzBweCAzMHB4IDMwcHg7XG4gIH1cbn1cblxuLnRrLWZvb3RlciAuX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG59XG5cbi50ay1mb290ZXIgLl9fY29udGFpbmVyIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstZm9vdGVyIC5fX2NvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgfVxuICAudGstZm9vdGVyIC5fX2NvbnRhaW5lciBhIHtcbiAgICBwYWRkaW5nOiAycHggNjJweCAzcHggNjJweDtcbiAgfVxuICAudGstZm9vdGVyIC5fX2NvbnRhaW5lciAuX19jbGllbnQtc2VydmljZSB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgLl9fY29udGFjdCB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgLl9fc29jaWFsIHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAudGstZm9vdGVyIC5fX2NvbnRhaW5lciAuX19tYWlsaW5nLWxpc3Qge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyIC5fX2hlYWRlci4tZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyIC5fX2hlYWRlci4tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyIC5fX2NsaWVudC1zZXJ2aWNlLFxuICAudGstZm9vdGVyIC5fX2NvbnRhaW5lciAuX19jb250YWN0LFxuICAudGstZm9vdGVyIC5fX2NvbnRhaW5lciAuX19zb2NpYWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgLl9fbWFpbGluZy1saXN0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLnRrLWZvb3RlciAuX190ZXJtcyB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC50ay1mb290ZXIgLl9fdGVybXMge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLnRrLWZvb3RlciAuX190ZXJtcyBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstZm9vdGVyIC5fX3Rlcm1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLnRrLWZvb3RlciAuX190ZXJtcyA+ICoge1xuICBwYWRkaW5nOiAwIDVweCAwIDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnRrLWZvb3RlciAudGstbWFpbGluZy1saXN0LXN1YnNjcmliZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAudGstZm9vdGVyIC50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIC5pbnB1dC1ib3gge1xuICAgIG1pbi1oZWlnaHQ6IG5vbmU7XG4gIH1cbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgPiBkaXYge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyID4gZGl2IC5ibG9jay1zdWJzY3JpYmUsIC50ay1mb290ZXIgLl9fY29udGFpbmVyID4gZGl2IHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyID4gZGl2Li1vcGVuIC5ibG9jay1zdWJzY3JpYmUsIC50ay1mb290ZXIgLl9fY29udGFpbmVyID4gZGl2Li1vcGVuIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudGstZm9vdGVyIC5fX2NvbnRhaW5lciA+IGRpdi4tb3BlbiAuX19oZWFkZXIuLW1vYmlsZSBpbWcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gIH1cbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgdWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgdWwgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG4gIC50ay1mb290ZXIgLl9faGVhZGVyLi1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogNGVtO1xuICB9XG4gIC50ay1mb290ZXIgLl9faGVhZGVyLi1tb2JpbGUgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG59XG5cbi50ay1mcm9udC1wYWdlLS0xMS0yMCB7XG4gIG1hcmdpbjogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG59XG5cbi50ay1mcm9udC1wYWdlLS0xMS0yMCAuX19oZWFkZXItbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IDU0cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWZyb250LXBhZ2UtLTExLTIwIC5fX2hlYWRlci1saW5rIHtcbiAgICBwYWRkaW5nLXRvcDogOXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzOXB4O1xuICB9XG59XG5cbi50ay1mcm9udC1wYWdlLS0xMS0yMCAuX19oZWFkZXItbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRrLWZyb250LXBhZ2UtLTExLTIwIC5fX2hlYWRlci1saW5rOmhvdmVyID4gKiB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstZnJvbnQtcGFnZS0tMTEtMjAgLl9faGVhZGVyLWxpbmsgLl9faGVsdmV0aWNhIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZS1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctcmlnaHQ6IDNweDtcbn1cblxuLnRrLWZyb250LXBhZ2UtLTExLTIwIC5fX2hlYWRlci1saW5rIC5fX3RpbWVzIHtcbiAgZm9udC1mYW1pbHk6IFRpbWVzLCBzZXJpZjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLnRrLWZyb250LXBhZ2UtLTExLTIwID4gLl9fcm93IC5fX3RpdGxlIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstZnJvbnQtcGFnZS0tMTEtMjAgPiAuX19yb3cgLl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tMTEtMjAgPiAuX19yb3cuLXRpdGxlcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tMTEtMjAgPiAuX19yb3cgLl9fZmVhdHVyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1mcm9udC1wYWdlLS0xMS0yMCA+IC5fX3Jvdy5fX3JvdzEgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UtLTExLTIwID4gLl9fcm93Ll9fcm93MSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UtLTExLTIwID4gLl9fcm93Ll9fcm93MSAuX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tMTEtMjAgPiAuX19yb3cuLWZlYXR1cmVzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICB9XG4gIC50ay1mcm9udC1wYWdlLS0xMS0yMCA+IC5fX3Jvdy5fX3JvdzEsIC50ay1mcm9udC1wYWdlLS0xMS0yMCA+IC5fX3Jvdy4tdGl0bGVzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NXB4O1xuICB9XG59XG5cbi50ay1mcm9udC1wYWdlLS0xMi0wNSB7XG4gIG1hcmdpbjogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG59XG5cbi50ay1mcm9udC1wYWdlLS0xMi0wNSAuX19oZWFkZXItbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IDU0cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWZyb250LXBhZ2UtLTEyLTA1IC5fX2hlYWRlci1saW5rIHtcbiAgICBwYWRkaW5nLXRvcDogOXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzOXB4O1xuICB9XG59XG5cbi50ay1mcm9udC1wYWdlLS0xMi0wNSAuX19oZWFkZXItbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRrLWZyb250LXBhZ2UtLTEyLTA1IC5fX2hlYWRlci1saW5rOmhvdmVyID4gKiB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstZnJvbnQtcGFnZS0tMTItMDUgLl9faGVhZGVyLWxpbmsgLl9faGVsdmV0aWNhIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZS1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctcmlnaHQ6IDNweDtcbn1cblxuLnRrLWZyb250LXBhZ2UtLTEyLTA1IC5fX2hlYWRlci1saW5rIC5fX3RpbWVzIHtcbiAgZm9udC1mYW1pbHk6IFRpbWVzLCBzZXJpZjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLnRrLWZyb250LXBhZ2UtLTEyLTA1ID4gLl9fcm93IC5fX3RpdGxlIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstZnJvbnQtcGFnZS0tMTItMDUgPiAuX19yb3cgLl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tMTItMDUgPiAuX19yb3cgLl9fZmVhdHVyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1mcm9udC1wYWdlLS0xMi0wNSA+IC5fX3JvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTVweDtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tMTItMDUgPiAuX19yb3cuX19yb3cxID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB9XG4gIC50ay1mcm9udC1wYWdlLS0xMi0wNSA+IC5fX3Jvdy5fX3JvdzEgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICB9XG4gIC50ay1mcm9udC1wYWdlLS0xMi0wNSA+IC5fX3Jvdy5fX3JvdzEgLl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UtLTEyLTA1ID4gLl9fcm93Li1mZWF0dXJlcyAuX19mZWF0dXJlOmhvdmVyLCAudGstZnJvbnQtcGFnZS0tMTItMDUgPiAuX19yb3cuLWZlYXR1cmVzIC5fX2ZlYXR1cmU6aG92ZXIgKiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UtLTEyLTA1ID4gLl9fcm93Li1mZWF0dXJlcyAuX19mZWF0dXJlIC5fX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDMydnc7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UtLTEyLTA1ID4gLl9fcm93Li1mZWF0dXJlcyAuX19mZWF0dXJlIC5fX3RpdGxlIHtcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLnRrLWZyb250LXBhZ2UtLTIwMTgtMDItMTMge1xuICBtYXJnaW46IDMwcHggMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstZnJvbnQtcGFnZS0tMjAxOC0wMi0xMyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1mcm9udC1wYWdlLS0yMDE4LTAyLTEzIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLnRrLWZyb250LXBhZ2UtLTIwMTgtMDItMTMgLl9fY2VsbCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi50ay1mcm9udC1wYWdlLS0yMDE4LTAyLTEzIC5fX2NlbGwgKiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGstZnJvbnQtcGFnZS0tMjAxOC0wMi0xMyAudGt1LXRvZG8ge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTkycHg7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4udGstZnJvbnQtcGFnZS0tOS0yOCB7XG4gIG1hcmdpbjogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWZyb250LXBhZ2UtLTktMjggPiAuX19yb3cuLXRpdGxlcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tOS0yOCA+IC5fX3JvdyAuX19mZWF0dXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWZyb250LXBhZ2UtLTktMjggPiAuX19yb3cuX19yb3cxID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB9XG4gIC50ay1mcm9udC1wYWdlLS05LTI4ID4gLl9fcm93Ll9fcm93MSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UtLTktMjggPiAuX19yb3cuX19yb3cxIC5fX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC50ay1mcm9udC1wYWdlLS05LTI4ID4gLl9fcm93Li1mZWF0dXJlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tOS0yOCA+IC5fX3Jvdy5fX3JvdzEsIC50ay1mcm9udC1wYWdlLS05LTI4ID4gLl9fcm93Li10aXRsZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDk1cHg7XG4gIH1cbn1cblxuLyogY29uc29saWRhdGVkIGhlbHAgcGFnZS4gdG90b2thZWxvLmNvbS9oZWxwICovXG4udGstaGVscCAudGstaDEsIC50ay1oZWxwIC50ay1oMiB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG4udGstaGVscCAuX19uYXYgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGstaGVscCAuX19jdXJyZW50LXNlY3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1oZWxwIHtcbiAgICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIH1cbiAgLnRrLWhlbHAgLl9fbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMzBweDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMnMgZWFzZTtcbiAgfVxuICAudGstaGVscCAuX19uYXYuaGVhZHJvb20tLW5vdC10b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDMwcHg7XG4gICAgbGVmdDogMzBweDtcbiAgfVxuICAudGstaGVscCAuX19ib2R5IHtcbiAgICBtYXJnaW4tbGVmdDogMTgwcHg7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtaW4taGVpZ2h0OiAyNTZweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC50ay1oZWxwIHtcbiAgICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgfVxuICAudGstaGVscCAuX19uYXYtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gIH1cbiAgLnRrLWhlbHAgLl9fbmF2LWNvbnRhaW5lciAuX19uYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDEyNXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcbiAgfVxuICAudGstaGVscCAuX19uYXYtY29udGFpbmVyIC5fX25hdjo6YmVmb3JlIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogODBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICBmaWx0ZXI6IGJsdXIoNXB4KTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuICAudGstaGVscCAuX19uYXYtY29udGFpbmVyIC5fX25hdiAuX19jdXJyZW50LXNlY3Rpb24ge1xuICAgIHotaW5kZXg6IDI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC50ay1oZWxwIC5fX25hdi1jb250YWluZXIgLl9fbmF2IC5fX2N1cnJlbnQtc2VjdGlvbiBpbWcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbiAgLnRrLWhlbHAgLl9fbmF2LWNvbnRhaW5lciAuX19uYXYgLl9fbGlzdCB7XG4gICAgei1pbmRleDogMjtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBibGFjaztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBibGFjaztcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50ay1oZWxwIC5fX25hdi1jb250YWluZXIgLl9fbmF2IC5fX2xpc3QgYSB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuICAudGstaGVscCAuX19uYXYtY29udGFpbmVyIC5fX25hdiAuX19saXN0IGEuLWN1cnJlbnQge1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICB9XG4gIC50ay1oZWxwIC5fX25hdi1jb250YWluZXIgLl9fbmF2Li1vcGVuIC5fX2xpc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi50ay1oZWxwIC50ay1zZWN0aW9uLi1zaGlwcGluZyBoNCB7XG4gIG1hcmdpbjogMjBweCAwIDEwcHggMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstaGVscCAudGstc2VjdGlvbi4tc2hpcHBpbmcgdGFibGUgLl9fbmFtZSB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICB9XG4gIC50ay1oZWxwIC50ay1zZWN0aW9uLi1zaGlwcGluZyB0YWJsZSAuX19kZWxpdmVyZWQge1xuICAgIHdpZHRoOiAxNzVweDtcbiAgfVxuICAudGstaGVscCAudGstc2VjdGlvbi4tc2hpcHBpbmcgdGFibGUgLl9fY29zdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnRrLWhlbHAgLnRrLXNlY3Rpb24uLXNpemUtZ3VpZGUgLl9fZGVmaW5pdGlvblRpdGxlLCAudGstaGVscCAudGstc2VjdGlvbi4tc2l6ZS1ndWlkZSBkdCB7XG4gIG1hcmdpbjogMjBweCAwIDEwcHggMDtcbn1cblxuLnRrLWhlbHAgLnRrLXNlY3Rpb24uLXBheW1lbnQgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWhlbHAgLnRrLXNlY3Rpb24uLW0tYW5jaG9yIHtcbiAgICBwYWRkaW5nLXRvcDogMTU1cHg7XG4gICAgbWFyZ2luLXRvcDogLTE1NXB4O1xuICB9XG59XG5cbi50ay1ob2xpZGF5LXNoaXBwaW5nIHtcbiAgbWF4LXdpZHRoOiA1NTBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLnRrLWhvbGlkYXktc2hpcHBpbmcgaDYge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4udGstaG9saWRheS1zaGlwcGluZyAuX19ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuXG4udGstaG92ZXItY2VsbCBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstaG92ZXItY2VsbCAuX190aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgfVxufVxuXG4udGstaG92ZXItY2VsbDpob3ZlciAuX19pbWFnZSB7XG4gIG91dGxpbmU6IDFweCBzb2xpZCAjMDY0NUFEO1xuICBvdXRsaW5lLW9mZnNldDogLTFweDtcbn1cblxuLnRrLWhvdmVyLWNlbGw6aG92ZXIsIC50ay1ob3Zlci1jZWxsOmhvdmVyIHAsIC50ay1ob3Zlci1jZWxsOmhvdmVyIC5fX3RpdGxlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjMDY0NUFEO1xufVxuXG4udGstaG92ZXItY2VsbDpob3ZlciAuLW5vLXVuZGVybGluZSwgLnRrLWhvdmVyLWNlbGw6aG92ZXIgcCAuLW5vLXVuZGVybGluZSwgLnRrLWhvdmVyLWNlbGw6aG92ZXIgLl9fdGl0bGUgLi1uby11bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWhvdmVyLWNlbGwuLWRlc2t0b3AtaGlkZS10aXRsZSAuX190aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWhvdmVyLWNlbGwuLW92ZXJsYXktdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAudGstaG92ZXItY2VsbC4tb3ZlcmxheS10aXRsZSAuX190aXRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNnB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgY29sb3I6ICMxMTE7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC50ay1ob3Zlci1jZWxsLi1vdmVybGF5LXRpdGxlIC5fX3RpdGxlIC5fX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC50ay1ob3Zlci1jZWxsLi1vdmVybGF5LXRpdGxlOmhvdmVyIC5fX3RpdGxlLCAudGstaG92ZXItY2VsbC4tb3ZlcmxheS10aXRsZS4tYWx3YXlzLXZpc2libGUgLl9fdGl0bGUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnRrLWhvdmVyLWNlbGwuLW92ZXJsYXktdGl0bGU6aG92ZXIgLl9faW1hZ2UsIC50ay1ob3Zlci1jZWxsLi1vdmVybGF5LXRpdGxlLi1hbHdheXMtdmlzaWJsZSAuX19pbWFnZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4udGstaG92ZXItY2VsbC4tbW9iaWxlLW92ZXJsYXktdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50ay1ob3Zlci1jZWxsLi1tb2JpbGUtb3ZlcmxheS10aXRsZSAuX190aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA2cHg7XG4gIGxlZnQ6IDEwcHg7XG4gIGNvbG9yOiAjMTExO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi50ay1ob3Zlci1jZWxsLi1tb2JpbGUtb3ZlcmxheS10aXRsZSAuX190aXRsZSAuX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1ob3Zlci1jZWxsLi1tb2JpbGUtb3ZlcmxheS10aXRsZTpob3ZlciAuX190aXRsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi50ay1ob3Zlci1jZWxsLi1tb2JpbGUtb3ZlcmxheS10aXRsZTpob3ZlciAuX19pbWFnZSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi50ay1ob3Zlci1jZWxsLi1tb2JpbGUtb3ZlcmxheS10aXRsZS4td2hpdGVUZXh0LCAudGstaG92ZXItY2VsbC4tbW9iaWxlLW92ZXJsYXktdGl0bGUuLXdoaXRlVGV4dCBwLCAudGstaG92ZXItY2VsbC4tbW9iaWxlLW92ZXJsYXktdGl0bGUuLXdoaXRlVGV4dCAuX190aXRsZSwgLnRrLWhvdmVyLWNlbGwuLW1vYmlsZS1vdmVybGF5LXRpdGxlLi13aGl0ZVRleHQgLl9fdGl0bGUgPiAqLCAudGstaG92ZXItY2VsbC4tbW9iaWxlLW92ZXJsYXktdGl0bGUuLXdoaXRlLXRleHQsIC50ay1ob3Zlci1jZWxsLi1tb2JpbGUtb3ZlcmxheS10aXRsZS4td2hpdGUtdGV4dCBwLCAudGstaG92ZXItY2VsbC4tbW9iaWxlLW92ZXJsYXktdGl0bGUuLXdoaXRlLXRleHQgLl9fdGl0bGUsIC50ay1ob3Zlci1jZWxsLi1tb2JpbGUtb3ZlcmxheS10aXRsZS4td2hpdGUtdGV4dCAuX190aXRsZSA+ICoge1xuICBjb2xvcjogd2hpdGU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWhvdmVyLWNlbGwuLW1vYmlsZS1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50ay1ob3Zlci1jZWxsLi1ub1RleHRIb3ZlciwgLnRrLWhvdmVyLWNlbGwuLW5vVGV4dEhvdmVyIHAsIC50ay1ob3Zlci1jZWxsLi1ub1RleHRIb3ZlciAuX190aXRsZSwgLnRrLWhvdmVyLWNlbGwuLW5vLXRleHQtaG92ZXIsIC50ay1ob3Zlci1jZWxsLi1uby10ZXh0LWhvdmVyIHAsIC50ay1ob3Zlci1jZWxsLi1uby10ZXh0LWhvdmVyIC5fX3RpdGxlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1ob3Zlci1jZWxsLi13aGl0ZVRleHQsIC50ay1ob3Zlci1jZWxsLi13aGl0ZVRleHQgcCwgLnRrLWhvdmVyLWNlbGwuLXdoaXRlVGV4dCAuX190aXRsZSwgLnRrLWhvdmVyLWNlbGwuLXdoaXRlVGV4dCAuX190aXRsZSAqLCAudGstaG92ZXItY2VsbC4td2hpdGVUZXh0OmhvdmVyLCAudGstaG92ZXItY2VsbC4td2hpdGVUZXh0OmhvdmVyIHAsIC50ay1ob3Zlci1jZWxsLi13aGl0ZVRleHQ6aG92ZXIgLl9fdGl0bGUsIC50ay1ob3Zlci1jZWxsLi13aGl0ZVRleHQ6aG92ZXIgLl9fdGl0bGUgKiwgLnRrLWhvdmVyLWNlbGwuLXdoaXRlLXRleHQsIC50ay1ob3Zlci1jZWxsLi13aGl0ZS10ZXh0IHAsIC50ay1ob3Zlci1jZWxsLi13aGl0ZS10ZXh0IC5fX3RpdGxlLCAudGstaG92ZXItY2VsbC4td2hpdGUtdGV4dCAuX190aXRsZSAqLCAudGstaG92ZXItY2VsbC4td2hpdGUtdGV4dDpob3ZlciwgLnRrLWhvdmVyLWNlbGwuLXdoaXRlLXRleHQ6aG92ZXIgcCwgLnRrLWhvdmVyLWNlbGwuLXdoaXRlLXRleHQ6aG92ZXIgLl9fdGl0bGUsIC50ay1ob3Zlci1jZWxsLi13aGl0ZS10ZXh0OmhvdmVyIC5fX3RpdGxlICoge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi50ay1pbWFnZS16b29tIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi50ay1pbWFnZS16b29tIC5fX21hc2sge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgZmlsdGVyOiBvcGFjaXR5KDk1JSkgYmx1cig1cHgpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xufVxuXG4udGstaW1hZ2Utem9vbSAuY29udGFpbmVyIHtcbiAgei1pbmRleDogMztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50ay1pbWFnZS16b29tIC5jb250YWluZXIgLmNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjdXJzb3I6IHpvb20tb3V0O1xufVxuXG4udGstaW1hZ2Utem9vbSAuY29udGFpbmVyIC5uZXh0LFxuLnRrLWltYWdlLXpvb20gLmNvbnRhaW5lciAucHJldmlvdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDB2aDtcbn1cblxuLnRrLWltYWdlLXpvb20gLmNvbnRhaW5lciAubmV4dCB7XG4gIHJpZ2h0OiAwO1xufVxuXG4udGstaW1hZ2Utem9vbSAuY29udGFpbmVyIC5wcmV2aW91cyB7XG4gIGxlZnQ6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLWltYWdlLXpvb20gLmNvbnRhaW5lciAucHJldmlvdXMge1xuICAgIHJpZ2h0OiA4cHg7XG4gIH1cbn1cblxuLnRrLWltYWdlLXpvb20gLmNvbnRhaW5lciBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiA4MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC50ay1pbWFnZS16b29tIC5jb250YWluZXIgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDkwJTtcbiAgfVxufVxuXG4udGstbGlzdCB7XG4gIG1hcmdpbjogMjBweCAwIDIwcHggNDBweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG59XG5cbi50ay1saXN0Li1kaXNjIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG4udGstbGlzdC4tbnVtZXJpYyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxuLnRrLWxpc3QuLWFscGhhIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcbn1cblxuLnRrLWxpc3QgPiBsaSB7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4udGstbWFpbGluZy1saXN0LXN1YnNjcmliZSB7XG4gIHdpZHRoOiAyODBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstbWFpbGluZy1saXN0LXN1YnNjcmliZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLmlucHV0LWJveCB7XG4gIG1pbi1oZWlnaHQ6IDU0cHg7XG59XG5cbi50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIC5pbnB1dC10ZXh0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIC5fX2Nob2ljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udGstbWFpbGluZy1saXN0LXN1YnNjcmliZSAuX19jaG9pY2VzID4gcCB7XG4gIGZsZXgtYmFzaXM6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLl9fY2hvaWNlcyBsYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogNXB4O1xuICBmbGV4LWdyb3c6IDI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIC5fX2Nob2ljZXMgbGFiZWw6aG92ZXIge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIC5fX2Nob2ljZXMgbGFiZWw6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGstbWFpbGluZy1saXN0LXN1YnNjcmliZSAuX19jaG9pY2VzIGxhYmVsLi12YWxpZCB7XG4gIGNvbG9yOiAjREMyMDIyO1xufVxuXG4udGstbWFpbGluZy1saXN0LXN1YnNjcmliZSAuX19jaG9pY2VzIC52YWxpZGF0aW9uLWFkdmljZSB+IGxhYmVsIHtcbiAgY29sb3I6ICNEQzIwMjI7XG59XG5cbi50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIC5fX2Nob2ljZXMgLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstbWFpbGluZy1saXN0LXN1YnNjcmliZSAuX19jaG9pY2VzIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIH1cbiAgLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLl9fY2hvaWNlcyA+IHAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAudGstbWFpbGluZy1saXN0LXN1YnNjcmliZSAuX19jaG9pY2VzIGxhYmVsIHtcbiAgICBmbGV4LWdyb3c6IHVuc2V0O1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICBtYXJnaW4tbGVmdDogLTcycHg7XG4gIH1cbn1cblxuLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLl9fZXJyb3Ige1xuICBjb2xvcjogI0RDMjAyMjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBoZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDAuMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLWluLW91dDtcbn1cblxuLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLl9fZXJyb3IuLXZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IHVuc2V0O1xuICBvcGFjaXR5OiAxLjA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLW5hdi1hbmQtcHJvZHVjdHMgPiAuX19uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstbmF2LWFuZC1wcm9kdWN0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC50ay1uYXYtYW5kLXByb2R1Y3RzID4gLl9fbmF2IHtcbiAgICBmbGV4LWJhc2lzOiAyMCU7XG4gIH1cbiAgLnRrLW5hdi1hbmQtcHJvZHVjdHMgPiAuX19wcm9kdWN0cyB7XG4gICAgZmxleC1iYXNpczogODAlO1xuICB9XG59XG5cbipbdi1jbG9ha10ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4udGstbmF2LWNhdGFsb2cge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuXG4udGstbmF2LWNhdGFsb2cgYSB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udGstbmF2LWNhdGFsb2cgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udGstbmF2LWNhdGFsb2cgYS4tY3VycmVudCB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRrLW5hdi1jYXRhbG9nIGg2IHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4udGstbmF2LWNhdGFsb2cgPiAuX19saXN0IHtcbiAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbi50ay1uYXYtY2F0YWxvZyA+IC5fX2xpc3QgPiBsaSA+IGEge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi50ay1uYXYtY2F0YWxvZyA+IC5fX2xpc3QgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ay1uYXYtY2F0YWxvZyA+IC5fX2xpc3QgPiBsaSA+IGEuLXNhbGUge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi50ay1uYXYtY2F0YWxvZyA+IC5fX2xpc3QgPiBsaSA+IGEuLXNhbGU6aG92ZXIge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRrLW5hdi1jYXRhbG9nID4gLl9fbGlzdCA+IGxpID4gYS4tc2FsZS4tY3VycmVudCB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRrLW5hdi1jYXRhbG9nID4gLl9fbGlzdCA+IGxpID4gLl9fbGlzdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi50ay1uYXYtY2F0YWxvZyA+IC5fX2xpc3QgPiBsaS4tZXhwYW5kZWQgPiAuX19saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1uYXYtZGVza3RvcCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRrLW5hdi1kZXNrdG9wID4gdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xufVxuXG4udGstbmF2LWRlc2t0b3AgPiB1bCA+IGxpLl9fbC4tLWxhc3Qge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi50ay1uYXYtZGVza3RvcCA+IHVsID4gbGkuX19yLi0tZmlyc3Qge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAudGstbmF2LWRlc2t0b3AgPiB1bCA+IGxpLi0tbW9iaWxlLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRrLW5hdi1kZXNrdG9wIC5fX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLnRrLW5hdi1kZXNrdG9wIC5fX2xpbmsuLS1maXJzdCB7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxuLnRrLW5hdi1kZXNrdG9wIC5fX2xvZ28gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTUwcHg7XG4gIHBhZGRpbmctdG9wOiAxOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLnRrLW5hdi1kZXNrdG9wIC5fX2FjY291bnQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltYWdlcy9uYXYvYWNjb3VudC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBsZWZ0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzBweDtcbiAgfVxuICAudGstbmF2LWRlc2t0b3AgLl9fYWNjb3VudCAuX19yVGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udGstbmF2LWRlc2t0b3AgLl9fc2VhcmNoIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xufVxuXG4udGstbmF2LWRlc2t0b3AgLl9fc2VhcmNoIC5fX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC50ay1uYXYtZGVza3RvcCAuX19zZWFyY2ggLl9fbGluayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL25hdi9zZWFyY2guc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgbGVmdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHg7XG4gIH1cbiAgLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaCAuX19saW5rIC5fX3JUZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19zZWFyY2ggLl9fc2VhcmNoLWZvcm0gLl9faW5wdXQge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4udGstbmF2LWRlc2t0b3AgLl9fc2VhcmNoIC5fX3NlYXJjaC1mb3JtIGlucHV0I3NlYXJjaCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgcGFkZGluZzogMTZweCAwcHggNHB4IDBweDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNHMgZWFzZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAudGstbmF2LWRlc2t0b3AgLl9fc2VhcmNoIC5fX3NlYXJjaC1mb3JtIGlucHV0I3NlYXJjaCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA0OHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAyMHB4IDMwcHggIWltcG9ydGFudDtcbiAgfVxuICAudGstbmF2LWRlc2t0b3AgLl9fc2VhcmNoIC5fX3NlYXJjaC1mb3JtIGlucHV0I3NlYXJjaDpwbGFjZWhvbGRlciwgLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaCAuX19zZWFyY2gtZm9ybSBpbnB1dCNzZWFyY2g6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuICAudGstbmF2LWRlc2t0b3AgLl9fc2VhcmNoIC5fX3NlYXJjaC1mb3JtIGlucHV0I3NlYXJjaDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG4gIC50ay1uYXYtZGVza3RvcCAuX19zZWFyY2ggLl9fc2VhcmNoLWZvcm0gaW5wdXQjc2VhcmNoOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBGaXJlZm94IDE5KyAqL1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG4gIC50ay1uYXYtZGVza3RvcCAuX19zZWFyY2ggLl9fc2VhcmNoLWZvcm0gaW5wdXQjc2VhcmNoOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgLyogSUUgMTArICovXG4gICAgY29sb3I6ICMwMDA7XG4gIH1cbiAgLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaCAuX19zZWFyY2gtZm9ybSBpbnB1dCNzZWFyY2g6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgLyogRmlyZWZveCAxOC0gKi9cbiAgICBjb2xvcjogIzAwMDtcbiAgfVxufVxuXG4udGstbmF2LWRlc2t0b3AgLl9fc2VhcmNoIC5fX3NlYXJjaC1mb3JtIGJ1dHRvbiwgLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaCAuX19zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC50ay1uYXYtZGVza3RvcCAuX19zZWFyY2guLS1hY3RpdmUgLl9fbGluayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL25hdi9zZWFyY2hfaW52ZXJ0ZWQuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgbGVmdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHg7XG4gIH1cbn1cblxuLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaC4tLWFjdGl2ZSBpbnB1dCNzZWFyY2gge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4udGstbmF2LWRlc2t0b3AgLl9fYWNjb3VudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRrLW5hdi1kZXNrdG9wIC5fX2FjY291bnQ6aG92ZXIgLl9fcG9wdXAtbG9naW4tY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19hY2NvdW50IC5fX3BvcHVwLWxvZ2luLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTI0MHB4O1xufVxuXG4udGstbmF2LWRlc2t0b3AgLl9fYWNjb3VudCAuX19wb3B1cC1sb2dpbi1jb250YWluZXIuLS12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19hY2NvdW50IC5fX3BvcHVwLWxvZ2luLWNvbnRhaW5lci4tLWxvZ2dlZC1pbiB7XG4gIGxlZnQ6IC0zMHB4O1xufVxuXG4udGstbmF2LWRlc2t0b3AgLl9fYWNjb3VudCAuX19wb3B1cC1sb2dpbi1jb250YWluZXIgLmJ1dHRvbnMtc2V0IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnRrLW5hdi1kZXNrdG9wIC5fX2NhcnQtY291bnQgLl9fY2FydCB7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiAzcHggN3B4O1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuXG4udGstbmF2LWRlc2t0b3AgLl9fY2FydC1jb3VudCAuX19jYXJ0OmhvdmVyIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwNjQ1QUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAudGstbmF2LWRlc2t0b3AgLl9fY2FydC1jb3VudCAuX19jYXJ0IHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luOiA5cHggMCAwIDA7XG4gICAgcGFkZGluZzogNnB4IDAgMCAwO1xuICAgIGhlaWdodDogMjlweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnRrLW5hdi1kZXNrdG9wIC5fX2NhcnQtY291bnQgLl9fY2FydDpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC50ay1uYXYtZGVza3RvcCAuX19zZWFyY2gsIC50ay1uYXYtZGVza3RvcCAuX19hY2NvdW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbiAgLnRrLW5hdi1kZXNrdG9wIC5fX2NhcnQtY291bnQge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgfVxufVxuXG4udGstbmF2LWRyYXdlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogY2FsYygxMDB2dyAtIDkxcHgpO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSA5MXB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDAwO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLnRrLW5hdi1kcmF3ZXIuLWNsb3NlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1uYXYtZHJhd2VyLi1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1uYXYtZHJhd2VyIC5fX3NlYXJjaCAuX19sYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxOXB4O1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgLl9fc2VhcmNoIC50ay1uYXYtc2VhcmNoIHtcbiAgcGFkZGluZy10b3A6IDE3cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgLl9fc2VhcmNoIC50ay1uYXYtc2VhcmNoIC5fX2lucHV0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgLl9fc2VhcmNoIC50ay1uYXYtc2VhcmNoIC5fX2lucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgLl9fc2VhcmNoIC50ay1uYXYtc2VhcmNoIC5fX3N1Ym1pdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyBsaSAuX19jYXRlZ29yeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGstbmF2LWRyYXdlciA+IC5fX2NhdGVnb3JpZXMgbGkgLl9fY2F0ZWdvcnkgLl9fbGluayB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgcGFkZGluZzogMjBweCAxNXB4IDE4cHggMzBweDtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyBsaSAuX19jYXRlZ29yeSAuX190b2dnbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9uYXYvY2FyZXQuc3ZnXCIpIGNlbnRlciBjZW50ZXIvMTBweCAxMHB4IG5vLXJlcGVhdDtcbiAgcGFkZGluZzogMzBweDtcbiAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgd2lkdGg6IDhweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udGstbmF2LWRyYXdlciA+IC5fX2NhdGVnb3JpZXMgbGkgLl9fY2F0ZWdvcnkgLl9fdG9nZ2xlOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyBsaSAuX19saXN0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyBsaS4tZXhwYW5kZWQgPiAuX19jYXRlZ29yeSAuX190b2dnbGUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyBsaS4tZXhwYW5kZWQgPiAuX19saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyA+IC5fX2xpc3QgPiBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xufVxuXG4udGstbmF2LWRyYXdlciA+IC5fX2NhdGVnb3JpZXMgPiAuX19saXN0ID4gbGkgPiAuX19jYXRlZ29yeSAuX19saW5rIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGstbmF2LWRyYXdlciA+IC5fX2NhdGVnb3JpZXMgPiAuX19saXN0ID4gbGkgPiAuX19saXN0ID4gbGkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgPiAuX19jYXRlZ29yaWVzID4gLl9fbGlzdCA+IGxpID4gLl9fbGlzdCA+IGxpOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udGstbmF2LWRyYXdlciA+IC5fX2NhdGVnb3JpZXMgPiAuX19saXN0ID4gbGkgPiAuX19saXN0ID4gbGkgPiAuX19jYXRlZ29yeSA+IC5fX2xpbmsge1xuICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyA+IC5fX2xpc3QgPiBsaSA+IC5fX2xpc3QgPiBsaSA+IC5fX2xpc3Qge1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyA+IC5fX2xpc3QgPiBsaSA+IC5fX2xpc3QgPiBsaSA+IC5fX2xpc3QgPiBsaSA+IC5fX2NhdGVnb3J5ID4gLl9fbGluayB7XG4gIHBhZGRpbmc6IDlweCAxNXB4IDEwcHggNjBweDtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgPiAuX19wb2xpY3ktbGlua3Mge1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4udGstbmF2LWRyYXdlciA+IC5fX3BvbGljeS1saW5rcyAuX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy10b3A6IDcuNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNy41cHg7XG59XG5cbi50ay1uYXYtaGVhZGVyIC5fX21vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1uYXYtaGVhZGVyIC5fX3RhYmxldCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OHB4KSB7XG4gIC50ay1uYXYtaGVhZGVyIC5fX21vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnRrLW5hdi1oZWFkZXIgLl9fdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50ay1uYXYtbW9iaWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xufVxuXG4udGstbmF2LW1vYmlsZSAqOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnRrLW5hdi1tb2JpbGUgPiBzcGFuIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnRrLW5hdi1tb2JpbGUgPiBzcGFuLl9fcmhzIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi50ay1uYXYtbW9iaWxlID4gc3BhbiBhIHtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmctdG9wOiAyOHB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xufVxuXG4udGstbmF2LW1vYmlsZSA+IHNwYW4gYTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbn1cblxuLnRrLW5hdi1tb2JpbGUgPiBzcGFuIGEuLWJhcnMge1xuICBwYWRkaW5nLXRvcDogMzJweDtcbn1cblxuLnRrLW5hdi1tb2JpbGUgPiAuX19sb2dvIHtcbiAgcGFkZGluZy10b3A6IDI2cHg7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnRrLW5hdi1tb2JpbGUgPiAuX19sb2dvID4gYSB7XG4gIHBhZGRpbmctdG9wOiAyOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbn1cblxuLnRrLW5hdi1tb2JpbGUgPiAuX19sb2dvID4gYSA+IGltZyB7XG4gIHdpZHRoOiAxMzJweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi50ay1uYXYtbW9iaWxlIC5fX25hdi1kcmF3ZXItcGFkZGVyLFxuLnRrLW5hdi1tb2JpbGUgLl9fZHJhd2VyLXgge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGstbmF2LW1vYmlsZSAuX19kcmF3ZXIteCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRrLW5hdi1tb2JpbGUgLl9fZHJhd2VyLXggYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAyNHB4IDMwcHggMTlweCAzMHB4O1xufVxuXG4udGstbmF2LW1vYmlsZSAuX19kcmF3ZXIteCBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udGstbmF2LW1vYmlsZS4tbmF2LWRyYXdlci1vcGVuIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLnRrLW5hdi1tb2JpbGUuLW5hdi1kcmF3ZXItb3BlbiAuX19saHMge1xuICBmbGV4LWJhc2lzOiAwO1xufVxuXG4udGstbmF2LW1vYmlsZS4tbmF2LWRyYXdlci1vcGVuIC5fX2xvZ28sXG4udGstbmF2LW1vYmlsZS4tbmF2LWRyYXdlci1vcGVuIC5fX3JocyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1uYXYtbW9iaWxlLi1uYXYtZHJhd2VyLW9wZW4gLl9fZHJhd2VyLXgge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLW5hdi1tb2JpbGUuLW5hdi1kcmF3ZXItb3BlbiAuX19uYXYtZHJhd2VyLXBhZGRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogODB2dztcbiAgbWluLWhlaWdodDogNzRweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstbmF2LW1vYmlsZS4tbmF2LWRyYXdlci1vcGVuIC5fX2xvZ28ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRrLW5hdi1zZWFyY2ggLl9faW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi50ay1vcHRpb24tbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cblxuLnRrLW9wdGlvbi1saXN0IGR0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLW9wdGlvbi1saXN0IGRkLl9fY29sb3Ige1xuICBtYXJnaW4tcmlnaHQ6IDcuNXB4O1xufVxuXG4udGstb3B0aW9uLWxpc3QgZGQuX19jb2xvcjo6YWZ0ZXIge1xuICBjb250ZW50OiAnLyc7XG59XG5cbi50ay1wb3B1cC1sb2dpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiAyMHB4IDMwcHggMTBweCAzMHB4O1xuICB3aWR0aDogMzMzcHg7XG59XG5cbi50ay1wb3B1cC1sb2dpbiBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi50ay1wb3B1cC1sb2dpbiAuYmxvY2stdGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGstcG9wdXAtbG9naW4gLl9fYWN0aW9ucy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnRrLXBvcHVwLWxvZ2luIC5fX2FjdGlvbnMtY29udGFpbmVyIC5saW5rcyBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1wb3B1cC1sb2dpbiAuX19hY3Rpb25zLWNvbnRhaW5lciAubGlua3MgYTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi50ay1wb3B1cC1sb2dpbiAjbWluaS1sb2dpbiwgLnRrLXBvcHVwLWxvZ2luICNtaW5pLXBhc3N3b3JkIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnRrLXBvcHVwLWxvZ2luIC5ibG9jayAuYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4udGstcG9wdXAtbG9naW4uLS1sb2dnZWQtaW4ge1xuICB3aWR0aDogMTYwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG59XG5cbi50ay1wb3B1cC1sb2dpbi4tLWxvZ2dlZC1pbiBhIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGstcHJvZHVjdC1pbWFnZXMgLl9fbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OHB4KSB7XG4gIC50ay1wcm9kdWN0LWltYWdlcyAuX19saXN0IGltZyB7XG4gICAgbWF4LWhlaWdodDogOTB2aDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3OXB4KSB7XG4gIC50ay1wcm9kdWN0LWltYWdlcyAuX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC50ay1wcm9kdWN0LWltYWdlcyAuX19saXN0ID4gbGkge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gNXB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC50ay1wcm9kdWN0LWltYWdlcyAuX19saXN0ID4gbGkgPiBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogem9vbS1pbjtcbiAgfVxufVxuXG4udGstcHJvZHVjdC1pbWFnZXMgLl9fc2xpY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDE1cHg7XG59XG5cbi50ay1wcm9kdWN0LWltYWdlcyAuX19zbGljayAuX19wcmV2LFxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIC5fX2RvdHMgdWwgYnV0dG9uLFxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIC5fX25leHQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbjogMCAxNXB4O1xufVxuXG4udGstcHJvZHVjdC1pbWFnZXMgLl9fc2xpY2sgLl9fZG90cyA+IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xufVxuXG4udGstcHJvZHVjdC1pbWFnZXMgLl9fc2xpY2sgLl9fZG90cyA+IHVsIGxpIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4udGstcHJvZHVjdC1pbWFnZXMgLl9fc2xpY2sgLl9fZG90cyA+IHVsIGxpIC5zbGljay1hY3RpdmUge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIC5fX2RvdHMgLnNsaWNrLWRvdHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGstcHJvZHVjdC1pbWFnZXMgLl9fc2xpY2sgLl9fZG90cyAuc2xpY2stZG90cyBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBtYXJnaW46IDhweCA1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIC5fX2RvdHMgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGstcHJvZHVjdC1pbWFnZXMgLl9fc2xpY2sgLl9fZG90cyAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsIC50ay1wcm9kdWN0LWltYWdlcyAuX19zbGljayAuX19kb3RzIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi50ay1wcm9kdWN0LWltYWdlcyAuX19zbGljayAuX19kb3RzIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsIC50ay1wcm9kdWN0LWltYWdlcyAuX19zbGljayAuX19kb3RzIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4udGstcHJvZHVjdC1pbWFnZXMgLl9fc2xpY2sgLl9fZG90cyAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGNvbnRlbnQ6IFwiXFwyMjE5XCI7XG4gIGZvbnQtc2l6ZTogNDZweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IGJsYWNrO1xuICBvcGFjaXR5OiAwLjI1O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIC5fX2RvdHMgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICBjb2xvcjogYmxhY2s7XG4gIG9wYWNpdHk6IDAuNzU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTc5cHgpIHtcbiAgLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50ay1wcm9kdWN0LWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50ay1wcm9kdWN0LWxpbmsgc3BhbiB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4udGstcHJvZHVjdC1saW5rIC5fX2ltYWdlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi50ay1wcm9kdWN0LWxpbmsgLl9faW1hZ2UuLXJvbGxvdmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXByb2R1Y3QtbGluazpob3ZlciwgLnRrLXByb2R1Y3QtbGluazpob3ZlciAqIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRrLXByb2R1Y3QtbGluazpob3ZlciAuX19pbWFnZS4tcm9sbG92ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGstcHJvZHVjdC1wcmljZSAuX19vcmlnaW5hbC1wcmljZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4udGstcHJvZHVjdC1wcmljZSAuX19jdXJyZW50LXByaWNlLi1zYWxlIHtcbiAgY29sb3I6ICNEQzIwMjIgIWltcG9ydGFudDtcbn1cblxuLnRrLXByb2R1Y3QtcmVsYXRlZC1wcm9kdWN0cyB7XG4gIG1hcmdpbjogNjBweCAwO1xufVxuXG4udGstcHJvZHVjdC1yZWxhdGVkLXByb2R1Y3RzIC5fX25hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi50ay1wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMgLl9fbmF2IGEge1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDAgNXB4O1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnRrLXByb2R1Y3QtcmVsYXRlZC1wcm9kdWN0cyAuX19uYXYgYS4tY3VycmVudCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstcHJvZHVjdC1yZWxhdGVkLXByb2R1Y3RzIC5fX2xpc3RzIC5fX2xpc3Qge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGstcHJvZHVjdC1yZWxhdGVkLXByb2R1Y3RzIC5fX2xpc3RzIC5fX2xpc3QuLWN1cnJlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLXByb2R1Y3QtcmVsYXRlZC1wcm9kdWN0cyAuX19saXN0cyAuX19saXN0IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi50ay1wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMgLl9fbGlzdHMgLl9fbGlzdCB1bCBsaSB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgd2lkdGg6IGNhbGMoMTYuNjYlIC0gNXB4KTtcbn1cblxuLnRrLXByb2R1Y3QtcmVsYXRlZC1wcm9kdWN0cyAuX19saXN0cyAuX19saXN0IHVsIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi50ay1wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMgLl9fbGlzdHMgLl9fbGlzdCB1bCBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMwMDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLXByb2R1Y3QtcmVsYXRlZC1wcm9kdWN0cyAuX19saXN0cyAuX19saXN0IHVsIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG4gIC50ay1wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMgLl9fbGlzdHMgLl9fbGlzdCB1bCBsaSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNXB4KTtcbiAgfVxuICAudGstcHJvZHVjdC1yZWxhdGVkLXByb2R1Y3RzIC5fX2xpc3RzIC5fX2xpc3QgdWwgbGk6bnRoLWNoaWxkKDJuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgPiAuX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLl9faW1hZ2VzIHtcbiAgZmxleC1iYXNpczogNjYlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1wcm9kdWN0LXZpZXcgLl9faW1hZ2VzIHtcbiAgICBtYXgtd2lkdGg6IDY2JTtcbiAgfVxufVxuXG4udGstcHJvZHVjdC12aWV3IC5fX2RldGFpbHMge1xuICBmbGV4LWJhc2lzOiAzMyU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLnRrLXByb2R1Y3QtdmlldyAuX19kZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTk5cHgpIHtcbiAgLnRrLXByb2R1Y3QtdmlldyAuX19kZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICBtYXgtd2lkdGg6IDMzJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cblxuLnRrLXByb2R1Y3QtdmlldyAuX19kZXRhaWxzIC5fX3ZlbmRvci1za3Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGstcHJvZHVjdC12aWV3IC5fX2RldGFpbHMgLl9fcHJvZHVjdC1uYW1lLFxuLnRrLXByb2R1Y3QtdmlldyAuX19kZXRhaWxzIC5fX2FjY29yZGlvbiB7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLl9faW4tc3RvcmUtb25seSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAzMHB4IDA7XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLl9fc29sZC1vdXQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW46IDMwcHggMDtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zLFxuLnRrLXByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIGRkLFxuLnRrLXByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIGRkLmxhc3Qge1xuICBwYWRkaW5nOiAwO1xufVxuXG4udGstcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtIHtcbiAgbWFyZ2luOiAzMHB4IDA7XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyBkdCxcbi50ay1wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyBsYWJlbC5yZXF1aXJlZCxcbi50ay1wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyBwLnJlcXVpcmVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIHNlbGVjdCxcbi50ay1wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gYnV0dG9uIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwNjQ1QUQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIHNlbGVjdCB7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMzBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIHNlbGVjdC4taW52aXNpYmxlIHtcbiAgbWFyZ2luLXRvcDogLTUwcHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAudGstcHJvZHVjdC12aWV3ID4gLl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4udGstcHJvZHVjdC12aWV3IC5naWZ0Y2FyZC1mb3JtIGxhYmVsLnJlcXVpcmVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLmdpZnRjYXJkLWZvcm0gbGFiZWwucmVxdWlyZWQgZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLmdpZnRjYXJkLWZvcm0gcC5yZXF1aXJlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAuZ2lmdGNhcmQtZm9ybSAuaW5wdXQtdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGstcHJvZHVjdC12aWV3IC5naWZ0Y2FyZC1mb3JtIHNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAuZ2lmdGNhcmQtZm9ybSAuYXZhaWxhYmlsaXR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXNpemUtZ3VpZGUge1xuICBtYXgtd2lkdGg6IDk2MHB4O1xufVxuXG4udGstc2l6ZS1ndWlkZSAuX19ib3JkZXIge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDEwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xufVxuXG4udGstc2l6ZS1ndWlkZSAuX19oZWFkZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi50ay1zaXplLWd1aWRlIC5fX3RhYmxlcyAuX190YWJsZS1jb250YWluZXIge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuXG4udGstc2l6ZS1ndWlkZSAuX190YWJsZXMgdGFibGUgdGgsIC50ay1zaXplLWd1aWRlIC5fX3RhYmxlcyB0YWJsZSB0ZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAxMTBweDtcbn1cblxuLnRrLXNpemUtZ3VpZGUgLl9fZGVmaW5pdGlvblRpdGxlLCAudGstc2l6ZS1ndWlkZSBkdCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLnRrLXNpemUtZ3VpZGUgLl9fZGVmaW5pdGlvbkd1aWRlLCAudGstc2l6ZS1ndWlkZSBkZCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xufVxuXG4udGstc2l6ZS1ndWlkZSAuX19kZWZpbml0aW9ucyB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1zb2NpYWwtbG9naW4tY29udGFpbmVyLCAuaW5jaG9vLXNvY2lhbGNvbm5lY3QtbG9naW4ge1xuICAgIG1heC13aWR0aDogMzY1cHg7XG4gIH1cbn1cblxuLnRrLXNvY2lhbC1sb2dpbi1jb250YWluZXIgLmluY2hvby1zb2NpYWxjb25uZWN0LWxvZ2luLWxvd2VyLCAuaW5jaG9vLXNvY2lhbGNvbm5lY3QtbG9naW4gLmluY2hvby1zb2NpYWxjb25uZWN0LWxvZ2luLWxvd2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi50ay1zb2NpYWwtbG9naW4tY29udGFpbmVyIGEsIC5pbmNob28tc29jaWFsY29ubmVjdC1sb2dpbiBhIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50ay1zb2NpYWwtbG9naW4tY29udGFpbmVyIGltZywgLmluY2hvby1zb2NpYWxjb25uZWN0LWxvZ2luIGltZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi50ay1zb2NpYWwtbG9naW4uLWdvb2dsZSBhIHtcbiAgY29sb3I6ICNEQzIwMjI7XG59XG5cbi50ay1zb2NpYWwtbG9naW4uLWZhY2Vib29rIGEge1xuICBjb2xvcjogIzA2NDVBRDtcbn1cblxuLnRrLXNvY2lhbC1wcmVsdWRlIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4udGstc29jaWFsLXByZWx1ZGUgLl9fbGluZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOUI5QjlCO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udGstc29jaWFsLXByZWx1ZGUgLl9fY29weSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzlCOUI5QjtcbiAgbWFyZ2luOiAwIGF1dG8gLTE4cHggYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi50ay1zdG9yZS1pbmZvIHtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi50ay1zdG9yZS1pbmZvID4gaDEge1xuICBtYXJnaW46IDUwcHggMDtcbn1cblxuLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUge1xuICBtYXJnaW46IDAgMCA4MHB4IDA7XG59XG5cbi50ay1zdG9yZS1pbmZvIC5fX3N0b3JlIC5fX2ltYWdlcyAuX19pbWFnZSwgLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW1hZ2VzIC5fX21hcCB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG4udGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbWFnZXMgLl9fbWFwID4gaWZyYW1lIHtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSA3NXB4KTtcbiAgaGVpZ2h0OiBjYWxjKDEuMzMgKiAoMTAwdncgLSA3NXB4KSk7XG4gIGZpbHRlcjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxmaWx0ZXIgaWQ9J2dyYXlzY2FsZSc+PGZlQ29sb3JNYXRyaXggdHlwZT0nbWF0cml4JyB2YWx1ZXM9JzAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAgMCAwIDEgMCcvPjwvZmlsdGVyPjwvc3ZnPiNncmF5c2NhbGVcIik7XG4gIC8qIEZpcmVmb3ggMTArICovXG4gIGZpbHRlcjogZ3JheTtcbiAgLyogSUU2LTkgKi9cbiAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSg5OSUpO1xuICAvKiBDaHJvbWUgMTkrICYgU2FmYXJpIDYrICovXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAvKiBGaXggZm9yIHRyYW5zaXRpb24gZmxpY2tlcmluZyAqL1xufVxuXG4udGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbmZvIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4udGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbmZvIC5fX3RpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xufVxuXG4udGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbmZvIC5fX2xvY2F0aW9uLFxuLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW5mbyAuX19ob3VycyB7XG4gIG1hcmdpbjogMCAwIDIwcHggMTYlO1xufVxuXG4udGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbmZvIC5fX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU5OXB4KSB7XG4gIC50ay1zdG9yZS1pbmZvIC5fX3N0b3JlIC5fX2ltYWdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC50ay1zdG9yZS1pbmZvIC5fX3N0b3JlIC5fX2ltYWdlcyA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDVweCk7XG4gIH1cbiAgLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW1hZ2VzIC5fX2ltZyB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gIH1cbiAgLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW1hZ2VzIC5fX21hcCA+IGlmcmFtZSB7XG4gICAgd2lkdGg6IGNhbGMoNTB2dyAtIDcwcHgpO1xuICAgIGhlaWdodDogY2FsYygxLjMzICogKDUwdncgLSA3MHB4KSArIDI4cHgpO1xuICAgIG1heC13aWR0aDogNDc1cHg7XG4gICAgbWF4LWhlaWdodDogNjIycHg7XG4gIH1cbiAgLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC50ay1zdG9yZS1pbmZvIC5fX3N0b3JlIC5fX2luZm8gLl9fdGl0bGUge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDVweCk7XG4gIH1cbiAgLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW5mbyAuX19kZXRhaWxzIHtcbiAgICB3aWR0aDogY2FsYygzMCUgLSA1cHgpO1xuICB9XG4gIC50ay1zdG9yZS1pbmZvIC5fX3N0b3JlIC5fX2luZm8gLl9fZGV0YWlscyAuX19sb2NhdGlvbixcbiAgLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW5mbyAuX19kZXRhaWxzIC5fX2hvdXJzIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIH1cbiAgLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW5mbyAuX19kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNXB4KTtcbiAgfVxufVxuXG4udGstdGFibGUge1xuICBoZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuLnRrLXRhYmxlIC5tYXN0ZXIge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4udGstdGFibGUgdGgsIC50ay10YWJsZSB0ZCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuICBjb2xvcjogIzAwMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkge1xuICAudGstdGFibGUgdGgsIC50ay10YWJsZSB0ZCB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICB9XG59XG5cbi50ay10YWJsZS4tdGlnZXIgdHI6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGO1xufVxuXG4udGstdGFibGUuLXdpZGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRrLXRvcC1iYXIge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzA2NDVBRCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwNjQ1QUQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDY0NUFEO1xufVxuXG4udGstdG9wLWJhciBhIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstdWdseS1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ay11Z2x5LWhlYWRlciAuX19oMSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWUtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZSBMaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIFwiTHVjaWRhIEdyYW5kZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDEwMHB4O1xuICBsaW5lLWhlaWdodDogMTE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50ay11Z2x5LWhlYWRlciAuX19wLCAudGstdWdseS1oZWFkZXIgLl9fbGluayB7XG4gIGZvbnQtZmFtaWx5OiBUaW1lcywgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4udGstdWdseS1oZWFkZXIgLl9fcCB7XG4gIG1hcmdpbi1ib3R0b206IDIxcHg7XG59XG5cbi50ay11Z2x5LWhlYWRlciAuX19jdGEtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7XG59XG5cbi50ay11Z2x5LWhlYWRlciAuX19jdGEtcm93ID4gLl9fbGluayB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbn1cblxuLnRrLXZlbmRvci10ZXJtcyAuX19zZWN0aW9uIHtcbiAgbWFyZ2luOiA0MHB4IDAgNDBweCA0MHB4O1xufVxuXG4udGstdmVuZG9yLXRlcm1zIC5fX2FkZHJlc3Mge1xuICBtYXJnaW46IDIwcHggMCAyMHB4IDIwcHg7XG59XG5cbi8qXG4gKiBTdHlsaW5nIGZvciBvdXIgWmVuZGVzayBjaGF0IH5+KiBleHBlcmllbmNlICp+flxuICovXG4udGstemVuZGVzay1jaGF0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjUwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGstemVuZGVzay1jaGF0IC5fX3dpZGdldCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fbWluaW1pemVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXplbmRlc2stY2hhdC4tb25saW5lIC5fX21pbmltaXplZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGstemVuZGVzay1jaGF0Li1vbmxpbmUuLW9wZW4gLl9fd2lkZ2V0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQuLW9ubGluZS4tb3BlbiAuX19taW5pbWl6ZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGstemVuZGVzay1jaGF0IC5fX3dpZGdldCAuX19ib2R5IHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX193aWRnZXQgLl9fYWdlbnQge1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX2NoYXQtbG9nIHtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHBhZGRpbmc6IDAgMTBweCAwIDIwcHg7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX2NoYXQtbG9nLW1lc3NhZ2Uge1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX193aWRnZXQgLl9fY2hhdC1sb2ctbWVzc2FnZSAuX191c2VyIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4udGstemVuZGVzay1jaGF0IC5fX3dpZGdldCAuX19jaGF0LWxvZy1tZXNzYWdlIC5fX21lc3NhZ2Uge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX2lucHV0LWZvcm0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX193aWRnZXQgLl9faW5wdXQtZm9ybSAuX19pbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHJlc2l6ZTogbm9uZTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX2lucHV0LWZvcm0gLl9faW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX2lucHV0LWZvcm0gLl9faW5wdXQ6Zm9jdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICc+ICc7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX2lucHV0LWZvcm0gLl9fc3VibWl0IHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX193aWRnZXQgLl9fdGl0bGUtYmFyLFxuLnRrLXplbmRlc2stY2hhdCAuX19taW5pbWl6ZWQge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX193aWRnZXQgLl9fdGl0bGUtYmFyIC5fX3RpdGxlLFxuLnRrLXplbmRlc2stY2hhdCAuX19taW5pbWl6ZWQgLl9fdGl0bGUge1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnBhZ2UtdGl0bGUsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS10aXRsZSxcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmNhdGVnb3J5LXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnRvb2xiYXIsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC50b29sYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5zb3J0ZXIsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC50b29sYmFyIC5zb3J0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldyAudG9vbGJhciAucGFnZXIgLmFtb3VudCxcbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5wYWdlciAubGltaXRlcixcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnRvb2xiYXIgLnBhZ2VyIC5hbW91bnQsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC50b29sYmFyIC5wYWdlciAubGltaXRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5wYWdlciAucGFnZXMgLmN1cnJlbnQsIGJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5wYWdlciAucGFnZXMgYSxcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnRvb2xiYXIgLnBhZ2VyIC5wYWdlcyAuY3VycmVudCxcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnRvb2xiYXIgLnBhZ2VyIC5wYWdlcyBhIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgcGFkZGluZzogNHB4IDhweCAwIDhweDtcbiAgbWFyZ2luOiAwIDFweDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5ib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldyAudG9vbGJhciAucGFnZXIgLnBhZ2VzIC5jdXJyZW50LFxuYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAudG9vbGJhciAucGFnZXIgLnBhZ2VzIC5jdXJyZW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5wYWdlciAucGFnZXMgYTpob3ZlcixcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnRvb2xiYXIgLnBhZ2VyIC5wYWdlcyBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzA2NDVBRDtcbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnRvb2xiYXIgLnBhZ2VyIC5wYWdlcyBhLmktcHJldmlvdXM6aG92ZXIsIGJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5wYWdlciAucGFnZXMgYS5pLW5leHQ6aG92ZXIsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC50b29sYmFyIC5wYWdlciAucGFnZXMgYS5pLXByZXZpb3VzOmhvdmVyLFxuYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAudG9vbGJhciAucGFnZXIgLnBhZ2VzIGEuaS1uZXh0OmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLWdyaWQsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wcm9kdWN0cy1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG5ib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucHJvZHVjdHMtZ3JpZCAuX19wcm9kdWN0LFxuYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucHJvZHVjdHMtZ3JpZCAuX19wcm9kdWN0IHtcbiAgZmxleC1iYXNpczogY2FsYygzMyUgLSAyOHB4KTtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTlweCkgYW5kIChtYXgtd2lkdGg6IDk3OHB4KSB7XG4gIGJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wcm9kdWN0cy1ncmlkIC5fX3Byb2R1Y3QsXG4gIGJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCB7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAzMHB4KTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIGJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wcm9kdWN0cy1ncmlkIC5fX3Byb2R1Y3QsXG4gIGJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5ib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucHJvZHVjdHMtZ3JpZCAuX19wcm9kdWN0IC5wcm9kdWN0LWxpbmsgc3BhbixcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCAucHJvZHVjdC1saW5rIHNwYW4ge1xuICBjb2xvcjogIzAwMDtcbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCAucHJvZHVjdC1saW5rIC5wcm9kdWN0LWltYWdlLFxuYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucHJvZHVjdHMtZ3JpZCAuX19wcm9kdWN0IC5wcm9kdWN0LWxpbmsgLnByb2R1Y3QtaW1hZ2Uge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCAucHJvZHVjdC1saW5rIC5wcm9kdWN0LWltYWdlLi1yb2xsb3ZlcixcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCAucHJvZHVjdC1saW5rIC5wcm9kdWN0LWltYWdlLi1yb2xsb3ZlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wcm9kdWN0cy1ncmlkIC5fX3Byb2R1Y3QgLnByb2R1Y3QtbGluazpob3ZlciwgYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCAucHJvZHVjdC1saW5rOmhvdmVyICosXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5fX3Byb2R1Y3QgLnByb2R1Y3QtbGluazpob3ZlcixcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCAucHJvZHVjdC1saW5rOmhvdmVyICoge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5ib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucHJvZHVjdHMtZ3JpZCAuX19wcm9kdWN0IC5wcm9kdWN0LWxpbms6aG92ZXIgLnByb2R1Y3QtaW1hZ2UuLXJvbGxvdmVyLFxuYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucHJvZHVjdHMtZ3JpZCAuX19wcm9kdWN0IC5wcm9kdWN0LWxpbms6aG92ZXIgLnByb2R1Y3QtaW1hZ2UuLXJvbGxvdmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCAucHJvZHVjdC1saW5rIC5fX2NvbW1vbixcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCAucHJvZHVjdC1saW5rIC5fX2NvbW1vbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5ib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucHJvZHVjdHMtZ3JpZCAuX19wcm9kdWN0IC5wcm9kdWN0LWxpbmsgLl9fcm9sbG92ZXIsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5fX3Byb2R1Y3QgLnByb2R1Y3QtbGluayAuX19yb2xsb3ZlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wcm9kdWN0cy1ncmlkIC5fX3Byb2R1Y3QgLnByb2R1Y3QtbGluay4td2l0aFJvbGxvdmVyOmhvdmVyIC5fX2NvbW1vbixcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCAucHJvZHVjdC1saW5rLi13aXRoUm9sbG92ZXI6aG92ZXIgLl9fY29tbW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCAucHJvZHVjdC1saW5rLi13aXRoUm9sbG92ZXI6aG92ZXIgLl9fcm9sbG92ZXIsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5fX3Byb2R1Y3QgLnByb2R1Y3QtbGluay4td2l0aFJvbGxvdmVyOmhvdmVyIC5fX3JvbGxvdmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wcm9kdWN0cy1ncmlkIC5fX3Byb2R1Y3QgLmFjdGlvbnMsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5fX3Byb2R1Y3QgLmFjdGlvbnMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldy4taGlkZS1zaWRlLW5hdiAudGstbmF2LWFuZC1wcm9kdWN0cyxcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXguLWhpZGUtc2lkZS1uYXYgLnRrLW5hdi1hbmQtcHJvZHVjdHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcuLWhpZGUtc2lkZS1uYXYgLnRrLW5hdi1hbmQtcHJvZHVjdHMgPiAuX19uYXYsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4Li1oaWRlLXNpZGUtbmF2IC50ay1uYXYtYW5kLXByb2R1Y3RzID4gLl9fbmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQge1xuICBtYXgtd2lkdGg6IDEwMjRweDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZW1wdHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTk5cHgpIHtcbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZW1wdHkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICB9XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IHVsLm1lc3NhZ2VzIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAxMHB4IDA7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCAuYnV0dG9ucy1zZXQsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgLmJ1dHRvbnMtc2V0LFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIC5idXR0b25zLXNldCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiA2cHg7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBsYWJlbCxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBsYWJlbCxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBsYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBpbnB1dC5pbnB1dC10ZXh0LFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGlucHV0LmlucHV0LXRleHQsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgaW5wdXQuaW5wdXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24ge1xuICBtaW4td2lkdGg6IHVuc2V0O1xuICB3aWR0aDogODdweDtcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgcGFkZGluZy1ib3R0b206IDdweDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi5idXR0b24yIHNwYW4sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24gLmJ1dHRvbjIgc3BhbiBzcGFuLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbi5idXR0b24yIHNwYW4sXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uIC5idXR0b24yIHNwYW4gc3Bhbixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24uYnV0dG9uMiBzcGFuLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbiAuYnV0dG9uMiBzcGFuIHNwYW4ge1xuICBjb2xvcjogIzAwMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uLmJ1dHRvbjIgc3Bhbjpob3ZlciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbiAuYnV0dG9uMiBzcGFuIHNwYW46aG92ZXIsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLmJ1dHRvbjIgc3Bhbjpob3Zlcixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b24gLmJ1dHRvbjIgc3BhbiBzcGFuOmhvdmVyLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbi5idXR0b24yIHNwYW46aG92ZXIsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uIC5idXR0b24yIHNwYW4gc3Bhbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAjZGlzY291bnQtY291cG9uLWZvcm0gLmRpc2NvdW50IC5kaXNjb3VudC1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgI2Rpc2NvdW50LWNvdXBvbi1mb3JtIC5kaXNjb3VudCAuZGlzY291bnQtZm9ybSA+IC5pbnB1dC1ib3gge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zICNkaXNjb3VudC1jb3Vwb24tZm9ybSAuZGlzY291bnQgLmRpc2NvdW50LWZvcm0gPiAuaW5wdXQtYm94IGlucHV0LmlucHV0LXRleHQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgI2Rpc2NvdW50LWNvdXBvbi1mb3JtIC5kaXNjb3VudCAuZGlzY291bnQtZm9ybSA+IC5pbnB1dC1ib3gge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgLmNoZWNrLWdjLXN0YXR1cyB7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDY0NUFEICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCAuY2hlY2stZ2Mtc3RhdHVzOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCAuZmllbGQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCAuZmllbGQtd3JhcHBlciBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogaW5oZXJpdDtcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICBwYWRkaW5nOiA1cHg7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIC5maWVsZC13cmFwcGVyICNhZHZpY2UtcmVxdWlyZWQtZW50cnktZ2lmdGNhcmRfY29kZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIC5maWVsZC13cmFwcGVyIC5idXR0b24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLnNoaXBwaW5nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtdG90YWxzLXdyYXBwZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LXRvdGFscyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtdG90YWxzIHRkIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC10b3RhbHMgdGZvb3Qge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAubWV0aG9kLWNoZWNrb3V0LWNhcnQtbWV0aG9kcy1tdWx0aXNoaXBwaW5nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIHtcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jaGVja291dC10eXBlcyBidXR0b24ge1xuICBwYWRkaW5nOiAxMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIC5wYXlwYWwtbG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IC03cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgLypcbiAgICAgICAgICAgICAqIEhpZGUgdGhlIHVnbHkgXCItb3ItXCIsIGJ1dCBzaG93IHRoZSBQYXlwYWwgYnV0dG9uLlxuICAgICAgICAgICAgICogU2VsZWN0b3JzIGFyZSBhbGwgb3ZlciB0aGUgcGxhY2UuIDooXG4gICAgICAgICAgICAgKi9cbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogaW5oZXJpdDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpLm1ldGhvZC1jaGVja291dC1jYXJ0LW1ldGhvZHMtcGF5cGFsX2V4cHJlc3MtYm90dG9tIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpLm1ldGhvZC1jaGVja291dC1jYXJ0LW1ldGhvZHMtb25lcGFnZS1ib3R0b20ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyAucGF5cGFsLWxvZ28ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzIC5tZXRob2QtY2hlY2tvdXQtY2FydC1tZXRob2RzLXBheXBhbF9leHByZXNzLWJvdHRvbSB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyAubWV0aG9kLWNoZWNrb3V0LWNhcnQtbWV0aG9kcy1wYXlwYWxfZXhwcmVzcy1ib3R0b20gLnBheXBhbC1sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OHB4KSB7XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IHtcbiAgLypcbiAgICAgKiBTVEVQIDJcbiAgICAgKi9cbiAgLypcbiAgICAgKiBTVEVQIDMgU0hJUFBJTkcgSU5GT1JNQVRJT05cbiAgICAgKi9cbiAgLypcbiAgICAgKiBTVEVQIDQgU0hJUFBJTkcgTUVUSE9EIElOUFVUXG4gICAgICovXG4gIC8qXG4gICAgICogU1RFUCA0IFBBWU1FTlRcbiAgICAgKi9cbiAgLypcbiAgICAgKiBTVEVQIDUgQ09ORklSTVxuICAgICAqL1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5tYWluLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gIH1cbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmhlYWRlci1jb250YWluZXIgLmhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4ge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggc2VsZWN0IHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IGlucHV0W3RleHRdLFxuICAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCBpbnB1dFtwYXNzd29yZF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5tYWluLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLm9wYyBzZWxlY3Qge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5vcGMgLnNlY3Rpb24ge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5vcGMgLnNlY3Rpb24uYWxsb3cge1xuICBvcGFjaXR5OiAxLjA7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5vcGMgLnNlY3Rpb24gLnN0ZXAtdGl0bGUgLm51bWJlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICBsZWZ0OiAwO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAub3BjIC5zZWN0aW9uIC5zdGVwLXRpdGxlIGgyIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBjb2xvcjogIzY2NjY2NjtcbiAgcGFkZGluZzogMjBweCAwIDIwcHggNTBweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLm9wYyAuc2VjdGlvbiAuc3RlcCB7XG4gIHBhZGRpbmc6IDMwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLm9wYyAuc2VjdGlvbiAuc3RlcCB7XG4gICAgcGFkZGluZzogMzBweCAwIDYwcHggMDtcbiAgfVxufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYmFjay1saW5rIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLnNwLW1ldGhvZHMgbGFiZWwge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLnNwLW1ldGhvZHMgbGFiZWw6aG92ZXIge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLnNwLW1ldGhvZHMgbGFiZWw6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNjby1iaWxsaW5nLWZvcm0sXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjY28tc2hpcHBpbmctZm9ybSxcbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMTVweCk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI2NvLWJpbGxpbmctZm9ybSxcbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI2NvLXNoaXBwaW5nLWZvcm0sXG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmZvcm0tbGlzdCAuY29udHJvbCBsYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC5yZXF1aXJlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gaDMge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLWxvZ2luIC5jb2wyLXNldCAuY29sLTEsIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gLmNvbDItc2V0IC5jb2wtMiB7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiAuY29sMi1zZXQgLmNvbC0xIC5mb3JtLWxpc3Qge1xuICBtYXJnaW4tdG9wOiA0OHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gLmNvbDItc2V0IC5jb2wtMSAuZm9ybS1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiAuY29sMi1zZXQgLmNvbC0xIC5mb3JtLWxpc3QgPiAubGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiAuY29sMi1zZXQgLmNvbC0yIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gLmNvbDItc2V0IC5jb2wtMiAuaW5wdXQtYm94IHtcbiAgbWluLWhlaWdodDogNTFweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiAuY29sMi1zZXQgPiBkaXYgaDQsIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gLmNvbDItc2V0ID4gZGl2IHAsIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gLmNvbDItc2V0ID4gZGl2IC51bCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gLmNvbDItc2V0Om50aC1jaGlsZCgyKSAuY29sLTEge1xuICBwYWRkaW5nLXRvcDogMzBweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiAuY29sMi1zZXQ6bnRoLWNoaWxkKDIpIC5jb2wtMiB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLWxvZ2luICNsb2dpbi1mb3JtIC5pbnB1dC10ZXh0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gI3JlbWVtYmVyLW1lLWJveCAubGluay10aXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLWxvZ2luIC5idXR0b25zLXNldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiAuYnV0dG9ucy1zZXQgYnV0dG9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLWJpbGxpbmcgZm9ybSNjby1iaWxsaW5nLWZvcm0ge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDE1cHgpO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLWJpbGxpbmcgZm9ybSNjby1iaWxsaW5nLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1iaWxsaW5nIGZvcm0jY28tYmlsbGluZy1mb3JtIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtYmlsbGluZyBmb3JtI2NvLWJpbGxpbmctZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1iaWxsaW5nIC5idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1zaGlwcGluZyBpbnB1dFt0eXBlPXRleHRdLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXNoaXBwaW5nIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtc2hpcHBpbmcgaW5wdXRbdHlwZT10ZXh0XSwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1zaGlwcGluZyBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtc2hpcHBpbmcgYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtc2hpcHBpbmdfbWV0aG9kIGlucHV0W3R5cGU9dGV4dF0sIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtc2hpcHBpbmdfbWV0aG9kIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXNoaXBwaW5nX21ldGhvZCAjb25lcGFnZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QtYWRkaXRpb25hbC1sb2FkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1zaGlwcGluZ19tZXRob2QgLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXNoaXBwaW5nX21ldGhvZCAuc3AtbWV0aG9kcyBkdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtc2hpcHBpbmdfbWV0aG9kIC5zcC1tZXRob2RzIGRkIHVsIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1zaGlwcGluZ19tZXRob2QgLnNwLW1ldGhvZHMgZGQgdWwgbGkgaW5wdXQucmFkaW8ge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogLTNweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1zaGlwcGluZ19tZXRob2QgLnNwLW1ldGhvZHMgZGQgdWwgbGkgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweDtcbiAgZmxleC1ncm93OiA5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtc2hpcHBpbmdfbWV0aG9kIC5zcC1tZXRob2RzIGRkIHVsIGxpIGxhYmVsOmhvdmVyIHtcbiAgY29sb3I6ICMwNjQ1QUQgIWltcG9ydGFudDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50ID4gLnN0ZXAge1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50ID4gLnN0ZXAge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXBheW1lbnQgZm9ybSNjby1wYXltZW50LWZvcm0gI2R0X21ldGhvZF9jY3NhdmUgbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcGF5bWVudCBmb3JtI2NvLXBheW1lbnQtZm9ybSAuZm9ybS1saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXBheW1lbnQgZm9ybSNjby1wYXltZW50LWZvcm0gLmZvcm0tbGlzdCBpbnB1dFt0eXBlPXRleHRdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcGF5bWVudCBmb3JtI2NvLXBheW1lbnQtZm9ybSAuZm9ybS1saXN0IGxpOm50aC1jaGlsZCg0KSAuaW5wdXQtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcGF5bWVudCBmb3JtI2NvLXBheW1lbnQtZm9ybSAuZm9ybS1saXN0IGxpOm50aC1jaGlsZCg0KSAuaW5wdXQtYm94OmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50IGZvcm0jY28tcGF5bWVudC1mb3JtIC5mb3JtLWxpc3QgbGk6bnRoLWNoaWxkKDQpIC5pbnB1dC1ib3ggLnYtZml4IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IDQ4JTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50IGZvcm0jY28tcGF5bWVudC1mb3JtIC5mb3JtLWxpc3QgbGk6bnRoLWNoaWxkKDQpIC5pbnB1dC1ib3ggLnYtZml4ID4gc2VsZWN0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50IGZvcm0jY28tcGF5bWVudC1mb3JtIC5zcC1tZXRob2RzIGR0IGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50IGZvcm0jY28tcGF5bWVudC1mb3JtIC5zcC1tZXRob2RzIGR0IGxhYmVsIGltZyB7XG4gIGZsb2F0OiBub25lO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXBheW1lbnQgZm9ybSNjby1wYXltZW50LWZvcm0gLnNwLW1ldGhvZHMgZHQgbGFiZWxbZm9yPVwicF9tZXRob2RfcGF5cGFsX2V4cHJlc3NcIl0gYSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcGF5bWVudCBmb3JtI2NvLXBheW1lbnQtZm9ybSAuc3AtbWV0aG9kcyAjYWR2aWNlLXZhbGlkYXRlLWNjLWV4cC1jY3NhdmVfZXhwaXJhdGlvbiB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50IC5idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1yZXZpZXcgI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IHtcbiAgcGFkZGluZzogMzBweCAwIDMwcHggMzRweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OThweCkge1xuICAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXJldmlldyAjY2hlY2tvdXQtc3RlcC1yZXZpZXcge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1yZXZpZXcgI2NoZWNrb3V0LXJldmlldy10YWJsZSB0aGVhZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcmV2aWV3ICNjaGVja291dC1yZXZpZXctdGFibGUgdGQge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcmV2aWV3ICNjaGVja291dC1yZXZpZXctdGFibGUgdGQuYS1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcmV2aWV3ICNjaGVja291dC1yZXZpZXctdGFibGUgdGQgLl9fcHJvZHVjdC1kZXRhaWxzIHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1yZXZpZXcgI2NoZWNrb3V0LXJldmlldy10YWJsZSB0ZCAuX19wcm9kdWN0LWRldGFpbHMgLl9fcHJvZHVjdC1pbWFnZSBpbWcge1xuICB3aWR0aDogMzAlO1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1yZXZpZXcgI2NoZWNrb3V0LXJldmlldy10YWJsZSB0ZCAuX19wcm9kdWN0LWRldGFpbHMgLl9fZmluYWwtc2FsZSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcmV2aWV3ICNyZXZpZXctYnV0dG9ucy1jb250YWluZXIgLmJ0bi1jaGVja291dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1yZXZpZXcgLmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1yZXZpZXcgLmYtbGVmdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5tYWluLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLmNvbC1tYWluID4gKiB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG5ib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZWZlcmVuY2UsXG5ib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19leGFtcGxlcyB7XG4gIHBhZGRpbmc6IDBweCAzMHB4O1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuXG5ib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19leGFtcGxlcy4taW5wdXRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbmJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX2V4YW1wbGVzLi1pbnB1dHMgPiAqIHtcbiAgd2lkdGg6IGNhbGMoMzMlIC0gNXB4KTtcbn1cblxuYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLl9fcmVzcG9uc2l2ZSA+ICoge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2NDVBRDtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMTBweCAzMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIGJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX3Jlc3BvbnNpdmUgLl9fY3VycmVudCAuX19icC1uYW1lOmFmdGVyIHtcbiAgICBjb250ZW50OiAnPCB4c21hbGwnO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzU5cHgpIHtcbiAgYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLl9fcmVzcG9uc2l2ZSAuX19jdXJyZW50IC5fX2JwLW5hbWU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICd4c21hbGwnO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTk5cHgpIHtcbiAgYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLl9fcmVzcG9uc2l2ZSAuX19jdXJyZW50IC5fX2JwLW5hbWU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdzbWFsbCc7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzBweCkge1xuICBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX2N1cnJlbnQgLl9fYnAtbmFtZTphZnRlciB7XG4gICAgY29udGVudDogJ21lZGl1bSc7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NzlweCkge1xuICBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX2N1cnJlbnQgLl9fYnAtbmFtZTphZnRlciB7XG4gICAgY29udGVudDogJ2xhcmdlJztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkge1xuICBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX2N1cnJlbnQgLl9fYnAtbmFtZTphZnRlciB7XG4gICAgY29udGVudDogJ3hsYXJnZSc7XG4gIH1cbn1cblxuYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLl9fcmVzcG9uc2l2ZSAuX194c21hbGwsIGJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX3Jlc3BvbnNpdmUgLl9fc21hbGwsIGJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX3Jlc3BvbnNpdmUgLl9fbWVkaXVtLCBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX2xhcmdlLCBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX3hsYXJnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX3Jlc3BvbnNpdmUgLl9feHNtYWxsIHtcbiAgd2lkdGg6IDM1OXB4O1xufVxuXG5ib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX3NtYWxsIHtcbiAgd2lkdGg6IDU5OXB4O1xufVxuXG5ib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX21lZGl1bSB7XG4gIHdpZHRoOiA3NzBweDtcbn1cblxuYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLl9fcmVzcG9uc2l2ZSAuX19sYXJnZSB7XG4gIHdpZHRoOiA5NzlweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NzlweCkgYW5kIChtYXgtd2lkdGg6IDExOThweCkge1xuICBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX2xhcmdlIHtcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX2xhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbmJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX3Jlc3BvbnNpdmUgLl9feGxhcmdlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSB7XG4gIGJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX3Jlc3BvbnNpdmUgLl9feGxhcmdlIHtcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLl9fcmVzcG9uc2l2ZSAuX194bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNtcy1ob21lIC5tYWluLWNvbnRhaW5lcixcbi5jbXMtaW5kZXgtaW5kZXggLm1haW4tY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmNtcy1wYWdlLXZpZXcgLnN0ZCBwIHtcbiAgY29sb3I6IHVuc2V0O1xuICBmb250LXNpemU6IHVuc2V0O1xuICBsaW5lLWhlaWdodDogdW5zZXQ7XG4gIGZvbnQtZmFtaWx5OiB1bnNldDtcbiAgZm9udC1zdHlsZTogdW5zZXQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTk5cHgpIHtcbiAgLmNvbnRhY3RzLWluZGV4LWluZGV4IC5jb250YWN0cy1pbmRleC1pbmRleF9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLmNvbnRhY3RzLWluZGV4LWluZGV4IC5fX2luZm8ge1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC5jb250YWN0cy1pbmRleC1pbmRleCAuX19pbmZvIGgxIHtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgfVxuICAuY29udGFjdHMtaW5kZXgtaW5kZXggLl9faW5mbyBwIHtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxuICAuY29udGFjdHMtaW5kZXgtaW5kZXggLl9fZm9ybSB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgfVxufVxuXG4uY29udGFjdHMtaW5kZXgtaW5kZXggLmNvbnRhY3RzLWluZGV4LWluZGV4X19jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNvbnRhY3RzLWluZGV4LWluZGV4IC5jb250YWN0cy1pbmRleC1pbmRleF9fY29udGFpbmVyIGgxIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi5jb250YWN0cy1pbmRleC1pbmRleCAuY29udGFjdHMtaW5kZXgtaW5kZXhfX2NvbnRhaW5lciBwIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5jb250YWN0cy1pbmRleC1pbmRleCAuY29udGFjdHMtaW5kZXgtaW5kZXhfX2NvbnRhaW5lciAuZmllbGQge1xuICBtYXJnaW46IDE1cHggMDtcbn1cblxuLmNvbnRhY3RzLWluZGV4LWluZGV4IC5fX2luZm8sIC5jb250YWN0cy1pbmRleC1pbmRleCAuX19mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmNvbnRhY3RzLWluZGV4LWluZGV4IC5fX2Zvcm0gaW5wdXQsIC5jb250YWN0cy1pbmRleC1pbmRleCAuX19mb3JtIHRleHRhcmVhLCAuY29udGFjdHMtaW5kZXgtaW5kZXggLl9fZm9ybSBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiB1bnNldDtcbn1cblxuLmNvbnRhY3RzLWluZGV4LWluZGV4IC5fX2Zvcm0gaW5wdXQudmFsaWRhdGlvbi1mYWlsZWQsIC5jb250YWN0cy1pbmRleC1pbmRleCAuX19mb3JtIHRleHRhcmVhLnZhbGlkYXRpb24tZmFpbGVkLCAuY29udGFjdHMtaW5kZXgtaW5kZXggLl9fZm9ybSBzZWxlY3QudmFsaWRhdGlvbi1mYWlsZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREMyMDIyO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OHB4KSB7XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgaW5wdXRbdHlwZT10ZXh0XSxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuYnV0dG9ucy1zZXQsXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZpZWxkc2V0LFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gaW5wdXRbdHlwZT10ZXh0XSxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIGlucHV0W3R5cGU9ZW1haWxdLFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYnV0dG9ucy1zZXQsXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuZmllbGRzZXQsXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCBpbnB1dFt0eXBlPXRleHRdLFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgaW5wdXRbdHlwZT1lbWFpbF0sXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5idXR0b25zLXNldCxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5maWVsZHNldCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0taW5zdHJ1Y3Rpb25zLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5mb3JtLWluc3RydWN0aW9ucyxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuZm9ybS1pbnN0cnVjdGlvbnMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5maWVsZHMuLW1haWxpbmctbGlzdCAuZmllbGQsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmZpZWxkcy4tbWFpbGluZy1saXN0IC5maWVsZCxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDM2NXB4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkID4gcCxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkID4gcCxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkID4gcCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk4cHgpIHtcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkLFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmZpZWxkcy4tbWFpbGluZy1saXN0IC5maWVsZCxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5maWVsZHMuLW1haWxpbmctbGlzdCAuZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkIC5fX3Byb21wdCxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5maWVsZHMuLW1haWxpbmctbGlzdCAuZmllbGQgLl9fcHJvbXB0LFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLmZpZWxkcy4tbWFpbGluZy1saXN0IC5maWVsZCAuX19wcm9tcHQge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gIH1cbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkIC5fX3dvbWVuLCBib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5maWVsZHMuLW1haWxpbmctbGlzdCAuZmllbGQgLl9fbWVuLFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmZpZWxkcy4tbWFpbGluZy1saXN0IC5maWVsZCAuX193b21lbixcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5maWVsZHMuLW1haWxpbmctbGlzdCAuZmllbGQgLl9fbWVuLFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLmZpZWxkcy4tbWFpbGluZy1saXN0IC5maWVsZCAuX193b21lbixcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5maWVsZHMuLW1haWxpbmctbGlzdCAuZmllbGQgLl9fbWVuIHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc4cHgpIHtcbiAgLmhlYWRlci1jb250YWluZXIgLmhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gIH1cbiAgLmhlYWRlci1jb250YWluZXIgLmhlYWRlci4td2l0aE5vdGlmaWNhdGlvbkJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDEyOHB4O1xuICB9XG4gIC5oZWFkZXItY29udGFpbmVyIC5oZWFkZXIgLnRrLW5hdi1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMHB4O1xuICAgIGJhY2tncm91bmQ6ICNGQUZBRkE7XG4gICAgei1pbmRleDogMjtcbiAgfVxufVxuXG4udGstYWJvdXQgPiBwIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIG1heC13aWR0aDogODAwcHg7XG59XG5cbi50ay1hYm91dC4tLWFmZmlsaWF0ZXMgPiBwLCAudGstYWJvdXQuLS1hZmZpbGlhdGVzIG9sIHtcbiAgbWFyZ2luOiAyMHB4IDAgNDBweCAwO1xufVxuXG4udGstYWJvdXQgLnRrLWgxIHtcbiAgbWFyZ2luOiAzMHB4IDAgMTBweCAwO1xufVxuXG4udGstYWJvdXQgLnRrLWwyIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi50ay1hYm91dCAudGstcDEge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4udGstYWJvdXQgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLnRrLWFib3V0IG9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi50ay1hYm91dCBhOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM2MHB4KSB7XG4gIC50ay1hYm91dC4tLXR3by1jb2wgLl9faW5mbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgfVxuICAudGstYWJvdXQuLS10d28tY29sIC5fX2ltYWdlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gIH1cbn1cbiIsIiBAZm9udC1mYWNlIHtcbiAgIGZvbnQtZmFtaWx5OiAnTHlvbkRpc3BsYXktTGlnaHQnO1xuICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0x5b25EaXNwbGF5LUxpZ2h0Lm90ZicpO1xuIH1cblxuIEBmb250LWZhY2Uge1xuICAgZm9udC1mYW1pbHk6ICdMeW9uVGV4dC1SZWd1bGFyJztcbiAgIHNyYzogdXJsKCcuLi9mb250cy9MeW9uVGV4dC1SZWd1bGFyLm90ZicpO1xuIH1cbiIsIi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbiAtIFR5cG9ncmFwaHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDT1JFIFRPVE9LQUVMTyBTVFlMRVNcbiAqIFZBUklBQkxFUyBBTkQgTUlYSU5TXG4gKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbiR0ay1ibGFjazogIzAwMDtcbiR0ay1ibHVlOiAjMDY0NUFEO1xuJHRrLWdyYXk6ICM5QjlCOUI7XG4kdGstbGlnaHQtZ3JheTogIzY2NjY2NjtcbiR0ay1yZWQ6ICNEQzIwMjI7XG5cbkBtaXhpbiBha3ppZGVuei1yZWd1bGFyIHtcbiAgICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEhFQURFUlNcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLypcbiAqIHRrLWgxIC0gdXNlZCBmb3IgYmlnIHBhZ2UgaGVhZGVyc1xuICovXG5AbWl4aW4gdGstaDEge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICRfYmxhY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4vKlxuICogdGstaDIgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG5AbWl4aW4gdGstaDIge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICRfYmxhY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi8qXG4gKiB0ay1oMyAtIHVzZWQgYXMgc3ViaGVhZGVyXG4gKi9cbkBtaXhpbiB0ay1oMyB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJF9ibGFjaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vKlxuICogdGstaDQgLSBxdWF0ZXJuYXJ5IGhlYWRlclxuICovXG5AbWl4aW4gdGstaDQge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICRfYmxhY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi8qXG4gKiB0ay1oNSAtIHVzZWQgYXMgc3ViaGVhZGVyXG4gKi9cbkBtaXhpbiB0ay1oNSB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJF9ibGFjaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogTElOS1NcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLypcbiAqIHRrLWwxIC0gcHJpbWFyeSBsaW5rXG4gKi9cbkBtaXhpbiB0ay1sMSB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJF9ibHVlICFpbXBvcnRhbnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4vKlxuICogdGstbDIgLSBzZWNvbmRhcnkgbGlua1xuICovXG5AbWl4aW4gdGstbDIge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICRfYmxhY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRfYmx1ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4vKlxuICogdGstbDMgLSB0ZXJ0aWFyeSBsaW5rXG4gKi9cbkBtaXhpbiB0ay1sMyB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJF9ncmV5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRfYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG59XG5cblxuLypcbiAqIHRrLWw0IC0gcXVhdGVybmFyeSBsaW5rXG4gKi9cbkBtaXhpbiB0ay1sNCB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJF9saWdodF9ncmV5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJF9ibGFjayAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qXG4gKiB0ay1oMiAtIHF1aW5hcnkgbGlua1xuICovXG5AbWl4aW4gdGstbDUge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICRfbGlnaHRfZ3JleTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRfYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBCT0RZIFRFWFRcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLypcbiAqIHRrLXAxIC0gcHJpbWFyeSBib2R5IHRleHRcbiAqL1xuQG1peGluIHRrLXAxIHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkX2xpZ2h0X2dyZXk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbn1cblxuLypcbiAqIHRrLXAyIC0gc2Vjb25kYXJ5IGJvZHkgdGV4dFxuICovXG5AbWl4aW4gdGstcDIge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICRfbGlnaHRfZ3JleTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBIRUFERVJTXG4gKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qXG4gKiB0ay1oMSAtIHVzZWQgZm9yIGJpZyBwYWdlIGhlYWRlcnNcbiAqL1xuQG1peGluIHRrLWgxIHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkdGstYmxhY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4vKlxuICogdGstaDIgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG5AbWl4aW4gdGstaDIge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICR0ay1ibGFjaztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLypcbiAqIHRrLWgzIC0gdXNlZCBhcyBzdWJoZWFkZXJcbiAqL1xuQG1peGluIHRrLWgzIHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkdGstYmxhY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLypcbiAqIHRrLWg0IC0gcXVhdGVybmFyeSBoZWFkZXJcbiAqL1xuQG1peGluIHRrLWg0IHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkdGstYmxhY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi8qXG4gKiB0ay1oNSAtIHVzZWQgYXMgc3ViaGVhZGVyXG4gKi9cbkBtaXhpbiB0ay1oNSB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJHRrLWJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbn1cblxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogTElOS1NcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLypcbiAqIHRrLWwxIC0gcHJpbWFyeSBsaW5rXG4gKi9cbkBtaXhpbiB0ay1sMSB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJHRrLWJsdWUgIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuLypcbiAqIHRrLWwyIC0gc2Vjb25kYXJ5IGxpbmtcbiAqL1xuQG1peGluIHRrLWwyIHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkdGstYmxhY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0ay1ibHVlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi8qXG4gKiB0ay1sMyAtIHRlcnRpYXJ5IGxpbmtcbiAqL1xuQG1peGluIHRrLWwzIHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkdGstZ3JheTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0ay1ibGFjayAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogdGstbDQgLSBxdWF0ZXJuYXJ5IGxpbmtcbiAqL1xuQG1peGluIHRrLWw0IHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkdGstbGlnaHQtZ3JheTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0ay1ibGFjayAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qXG4gKiB0ay1oMiAtIHF1aW5hcnkgbGlua1xuICovXG5AbWl4aW4gdGstbDUge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICR0ay1ibHVlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEJPRFkgVEVYVFxuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKlxuICogdGstcDEgLSBwcmltYXJ5IGJvZHkgdGV4dFxuICovXG5AbWl4aW4gdGstcDEge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICR0ay1saWdodC1ncmF5O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG59XG5cbi8qXG4gKiB0ay1wMiAtIHNlY29uZGFyeSBib2R5IHRleHRcbiAqL1xuQG1peGluIHRrLXAyIHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkdGstbGlnaHQtZ3JheTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuQG1peGluIGgxIHtcbiAgICBAaW5jbHVkZSB0ay1oMTtcbn1cblxuQG1peGluIGgyIHtcbiAgICBAaW5jbHVkZSB0ay1oMjtcbn1cblxuQG1peGluIGgzIHtcbiAgICBAaW5jbHVkZSB0ay1oMztcbn1cblxuQG1peGluIGg0IHtcbiAgICBAaW5jbHVkZSB0ay1oNDtcbn1cblxuQG1peGluIGg1IHtcbiAgICBAaW5jbHVkZSB0ay1oNTtcbn1cblxuQG1peGluIGg2IHtcbiAgICBAaW5jbHVkZSB0ay1oNTtcbn1cblxuQG1peGluIHBhZ2VUaXRsZSgpIHtcbiAgICAvLyBOT09QXG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2Mi4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0cyBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQ29ycmVjdHMgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG52aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKlxuICogUHJldmVudHMgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBmb3IgYGhpZGRlbmAgYXR0cmlidXRlIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXRzIGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnRzIGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qXG4gKiBSZW1vdmVzIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzc2VzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuLypcbiAqIEltcHJvdmVzIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzc2VzIGBoMWAgZm9udCBzaXplcyB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWAgaW4gRmlyZWZveCA0KyxcbiAqIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbn1cblxuLypcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOSwgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLypcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG5cbi8qXG4gKiBDb3JyZWN0cyBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qXG4gKiBJbXByb3ZlcyByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKlxuICogU2V0cyBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5cbnEge1xuICAgIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxuLypcbiAqIEFkZHJlc3NlcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKlxuICogUHJldmVudHMgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZXMgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS5cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlcjogMDtcbn1cblxuLypcbiAqIENvcnJlY3RzIG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRSA5LlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3NlcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKlxuICogMS4gQ29ycmVjdHMgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0cyBmb250IGZhbWlseSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3RzIGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIEFkZHJlc3NlcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZVxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAyICovXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmVzIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLypcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKlxuICogMS4gQWRkcmVzc2VzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlcyBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKlxuICogMS4gQWRkcmVzc2VzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzc2VzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qXG4gKiBSZW1vdmVzIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqIG9uIE9TIFguXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLypcbiAqIFJlbW92ZXMgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogMS4gUmVtb3ZlcyBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlcyByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiAyICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFJlc2V0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5odG1sIHtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IGJsYWNrKDApOyAvKiBQcmV2ZW50IHRhcCBoaWdobGlnaHQgb24gaU9TL0FuZHJvaWQgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIFByZXZlbnQgYXV0b21hdGljIHNjYWxpbmcgb24gaU9TICovXG59XG5cbmJvZHkge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbmh0bWwsXG5ib2R5LFxuaW1nLFxuZmllbGRzZXQsXG5hYmJyLFxuYWNyb255bSB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG50aCxcbmNvZGUsXG5jaXRlLFxuY2FwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuYWRkcmVzcyB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5maWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xufVxuXG5pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5vbCxcbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5xOmJlZm9yZSxcbnE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xufVxuXG4vLyBTdGFuZGFyZCBvdXRsaW5lLW9mZnNldCBpbiBDaHJvbWUgYW5kIG1ha2UgdGhlIHNlYXJjaCBpbnB1dCBzYW1lIGFzIHRleHQgaW5wdXRcbmlucHV0OmZvY3VzLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyB7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi8vIFJlc2V0dGluZyBOb3JtYWxpemUgc28gdGhhdCBzZWFyY2ggaW5wdXRzIGJlaGF2ZSB0aGUgc2FtZSBhcyB0ZXh0IGlucHV0c1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvKiAxICovXG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmlucHV0LCB0ZXh0YXJlYSB7XG4gICAgLy8gUmVtb3ZlIG1vYmlsZSBTYWZhcmkgcm91bmRlZCBjb3JuZXJzLlxuICAgIC8vLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8vLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZ1bmN0aW9uIC0gQmxhY2tcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZnVuY3Rpb24gYmxhY2sgKCRvcGFjaXR5KSB7XG4gICAgQHJldHVybiByZ2JhKDAsIDAsIDAsICRvcGFjaXR5KTtcbn1cblxuQGZ1bmN0aW9uIGJsYWNrLWZhbGxiYWNrICgkb3BhY2l0eSkge1xuICAgIEByZXR1cm4gbGlnaHRlbigjMDAwMDAwLCAoMSAtICRvcGFjaXR5KSk7XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQmFzZSBTdHlsZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkAtbXMtdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cbkAtby12aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuQHZpZXdwb3J0IHtcbiAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG4vLyBQcmV2ZW50IDMwMG1zIGRlbGF5IGluIElFIG9uIHRvdWNoIGRldmljZXNcbmEsIGJ1dHRvbiB7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5ib2R5LFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50YWJsZSxcbnRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICBjb2xvcjogJGMtdGV4dDtcbiAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiLWxpbmUtaGVpZ2h0O1xufVxuXG5hIHtcbiAgICBjb2xvcjogJGMtbGluaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIge1xuICAgIGNvbG9yOiAkYy1saW5rLWhvdmVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmIsIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxub2wsXG51bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2hhcmVkIENsYXNzZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZGRyZXNzLWxpc3QgYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uYXZhaWxhYmlsaXR5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5hdmFpbGFiaWxpdHkgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uYXZhaWxhYmlsaXR5LmluLXN0b2NrIHtcbiAgICBjb2xvcjogJGMtc3VjY2Vzcztcbn1cblxuLmF2YWlsYWJpbGl0eS5hdmFpbGFibGUtc29vbixcbi5hdmFpbGFiaWxpdHkub3V0LW9mLXN0b2NrIHtcbiAgICBjb2xvcjogJGMtZGFuZ2VyO1xufVxuXG4uYXZhaWxhYmlsaXR5LW9ubHkge1xuICAgIGNvbG9yOiAkYy1kYW5nZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJveC1zcGFjaW5nO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQYWdlIFRpdGxlc1xuICovXG5cbi5wYWdlLXRpdGxlIGgxLFxuLnBhZ2UtdGl0bGUgaDIsXG4ucHJvZHVjdC1uYW1lIGgxLFxuLnByb2R1Y3QtbmFtZSAuaDEge1xuICAgIEBpbmNsdWRlIHBhZ2VUaXRsZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQmxvY2sgTW9kdWxlXG4gKi9cblxuLmJsb2NrLFxuLmNvbC1sZWZ0LWZpcnN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uY29sLWxlZnQtZmlyc3QgLmJsb2NrOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJsb2NrLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweCAwIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuXG4gICAgaDIsXG4gICAgaDMsXG4gICAgc3Ryb25nIHtcbiAgICAgICAgQGluY2x1ZGUgaDQ7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LXByaW1hcnk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xuICAgIH1cbn1cblxuLy8gT24gYWNjb3VudCBwYWdlcywgZG9uJ3QgcmVtb3ZlIHRoZSB0b3AgYm9yZGVyIGluIG9yZGVyIHRvIGNyZWF0ZSBzZXBhcmF0aW9uIGJldHdlZW4gYmxvY2sgYW5kIC5ibG9jay1hY2NvdW50XG5ib2R5Om5vdCguY3VzdG9tZXItYWNjb3VudCkgLmJsb2NrOmZpcnN0LWNoaWxkIC5ibG9jay10aXRsZSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLmJsb2NrLXN1YnRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xufVxuXG4uYmxvY2stY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uYmxvY2stY29udGVudC51bnBhZCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgbGkuaXRlbSB7XG4gICAgbWFyZ2luOiAwIDAgJGJveC1zcGFjaW5nIDlweDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgbGkuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYmxvY2sgLmFjdGlvbnMge1xuICAgIG1hcmdpbjogJGJveC1zcGFjaW5nIDAgMDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG4uY29sLWxlZnQsXG4uY29sLXJpZ2h0IHtcbiAgICAvLyBBbGlnbiB0aGUgdmVydGljYWwgaGVpZ2h0IG9mIHRoZSBhbmNob3IgdG8gbGluZSB1cCB3aXRoIHRoZSBidXR0b25cbiAgICAuYmxvY2sgLmFjdGlvbnMgLmJ1dHRvbiB+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5zaWRlYmFyIHtcbiAgICAgICAgLy8gRG9uJ3QgYXBwbHkgdG8gbGF5ZXJlZCBuYXYsIHNpbmNlIGl0IGdldHMgc3BlY2lhbCB0cmVhdG1lbnRcbiAgICAgICAgLmJsb2NrOm5vdCguYmxvY2stbGF5ZXJlZC1uYXYpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgPiBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhY2NvcmRpb25EdEJhc2UoJ3JpZ2h0JywgJGMtbW9kdWxlLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgPiBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWNjb3JkaW9uRHRCYXNlKCdkb3duJywgJGMtbW9kdWxlLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIFRoaXMgc2VsZWN0b3IgaXMgaGlnaGx5IGZpY2tsZSwgYmVjYXVzZSBpZiBhIGRpdiBnZXRzIGFkZGVkIGJlbmVhdGggdGhlIGxhc3Qgbm9ybWFsIGJsb2NrIGluIGEgc2lkZWJhcixcbiAgICAgICAgLy8gaXQgd2lsbCBicmVhay4gSG93ZXZlciBpdCBpcyB0aGUgc2ltcGxlc3Qgc29sdXRpb24gdG8gYXBwbHlpbmcgdGhpcyB0cml2aWFsIHN0eWxlLlxuICAgICAgICAuYmxvY2s6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTZWNvbmRhcnkgTmF2aWdhdGlvblxuICovXG5cbi5ibG9jay1hY2NvdW50LFxuLmJsb2NrLWNtcy1tZW51IHtcbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICBtYXJnaW46IDdweCAwO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEJ1dHRvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFNlY29uZGFyeSBCdXR0b25zICovXG4uY2FydCAuYnV0dG9ucy1zZXQgLmJ1dHRvbixcbi5jYXJ0LXRhYmxlIC5idXR0b24sXG4uc2lkZWJhciAuYWN0aW9ucyAuYnV0dG9uLFxuLmJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkYy1idXR0b24tc2Vjb25kYXJ5O1xuICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIHBhZGRpbmc6IDdweCAxNXB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlO1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLnNpZGViYXIgLmFjdGlvbnMgYnV0dG9uLmJ1dHRvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLyogUHJpbWFyeSBCdXR0b25zICovXG5cbi5idXR0b24sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLmJ1dHRvbixcbi5mb290ZXIgLmJ1dHRvbiB7XG4gICAgQGV4dGVuZCAudGstYnV0dG9uO1xuICAgIEBleHRlbmQgLi1vLWJsdWU7XG4gICAgLypcbiAgICBiYWNrZ3JvdW5kOiAkYy1idXR0b247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDdweCAxNXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy1idXR0b24taG92ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy1idXR0b24tYWN0aXZlO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJ1dHRvbi1hY3RpdmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cbiAgICAqL1xufVxuXG5hLmJ1dHRvbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hLmJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qIERpc2FibGVkIC0gY2xhc3MgZm9yIGFuY2hvciwgc3RhdGUgZm9yIGZvcm0gZWxlbWVudHMgKi9cbi5idXR0b24uZGlzYWJsZWQsXG4uYnV0dG9uOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjQzhDOEM4O1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKiBBZGphY2VudCBidXR0b25zICovXG4uYnV0dG9uICsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLy8gVGhpcyBtaXhpbiBnZXRzIGFwcGxpZWQgdG8gZWxlbWVudHMgdGhhdCBhcmUgb25seSBidXR0b25zIG9uIHNtYXJ0cGhvbmVzIChvciBzb21ldGltZXMgdGFibGV0cyksIHN1Y2ggYXMgbGF5ZXJlZFxuLy8gbmF2IGxpbmtzIG9yIGNoZWNrYm94IGxhYmVscy5cbi8vIEJ1aWxkaW5nIHRoaXMgYXMgYSBtaXhpbiAocmF0aGVyIHRoYW4gYW4gZXh0ZW5kYWJsZSBjbGFzcykgc2luY2UgaXQgd2lsbCBiZSBpbmNsdWRlZCB3aXRoaW4gbXEgYnJlYWtwb2ludHMsIGFuZFxuLy8gZXh0ZW5kaW5nIGRvZXNuJ3Qgd29yayB3aXRoaW4gbWVkaWEgcXVlcmllczogaHR0cDovL3Nhc3MtbGFuZy5jb20vZG9jdW1lbnRhdGlvbi9maWxlLlNBU1NfUkVGRVJFTkNFLmh0bWwjX2luX2RpcmVjdGl2ZXNcbkBtaXhpbiB0b3VjaC1idXR0b24ge1xuICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuXG4uYnV0dG9uMiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmJ1dHRvbjI6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5idXR0b24yIHNwYW4sXG4uYnV0dG9uMiBzcGFuIHNwYW4ge1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRjLXN0aW11bHVzO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLmNvbDItc2V0IC5idXR0b25zLXNldCB7XG4gICAgICAgIC5idXR0b24sXG4gICAgICAgIC5idXR0b24yIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAuYmFjay1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnJlcXVpcmVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICAuYmFjay1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnJlcXVpcmVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBheXBhbCBCdXR0b25cbiAqL1xuXG4ucGF5cGFsLWxvZ28ucGF5cGFsLWFmdGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLnBheXBhbC1hZnRlciAucGF5cGFsLW9yIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLnBheXBhbC1vciB7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgbWFyZ2luOiAwcHggMTBweCA1cHg7XG59XG5cbi5wYXlwYWwtYWZ0ZXIgLnBheXBhbC1idXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4ucGF5cGFsLWJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbn1cblxuLnBheXBhbC1idXR0b24gaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNzQwcHgpIHtcbiAgICAucGF5cGFsLW9yIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLnBheXBhbC1sb2dvLFxuICAgIC5wYXlwYWwtb3IsXG4gICAgLnBheXBhbC1idXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBCdXR0b24gU2V0c1xuICovXG5cbi5idXR0b25zLXNldCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAkYm94LXNwYWNpbmcgMCAwO1xuICAgIHBhZGRpbmctdG9wOiAkYm94LXNwYWNpbmc7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICBwLnJlcXVpcmVkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgLmJhY2stbGluayB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgIH1cbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICB9XG4gICAgYnV0dG9uLmJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgbWluLXdpZHRoOiAxNDBweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBJY29uc1xuICovXG5cbi5pY29uLXNwcml0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uX3Nwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgQGluY2x1ZGUgaW1hZ2UtcmVwbGFjZW1lbnQ7XG59XG5cbkBpbmNsdWRlIGlmLW1pbi1yZXNvbHV0aW9uKDIpIHtcbiAgICAuaWNvbi1zcHJpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25fc3ByaXRlQDJ4LnBuZyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggMTAwMHB4O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQnJlYWRjcnVtYnNcbiAqL1xuXG4uYnJlYWRjcnVtYnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IC0xNXB4IDAgMTVweDtcbn1cblxuLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJyZWFkY3J1bWJzIGEge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAkYy10ZXh0O1xufVxuXG4uYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgY29sb3I6ICRjLWFjdGlvbjtcbn1cblxuLmJyZWFkY3J1bWJzIHN0cm9uZyB7XG4gICAgY29sb3I6ICRjLXRleHQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmJyZWFkY3J1bWJzIHNwYW4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDAgN3B4O1xufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5icmVhZGNydW1icyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEJ1dHRvbiAtIFJlbW92ZSAvIFByZXZpb3VzXG4gKi9cblxuLmJ0bi1yZW1vdmUsXG4uYnRuLXByZXZpb3VzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qIEhpZGUgdGV4dCAqL1xuICAgIGZvbnQ6IDAvMCBhO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLWFjdGlvbjtcbiAgICB9XG59XG5cbi5idG4tcmVtb3ZlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1gnO1xuICAgICAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBmb250LWZhbWlseTogQXJpYWwsICRmLXN0YWNrLXNhbnM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi5idG4tcmVtb3ZlMiB7XG4gICAgQGV4dGVuZCAuaWNvbi1zcHJpdGU7XG4gICAgJGljb24tcGFkZGluZzogM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDRweCAtNjUwcHgrMnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvLyBBZGRpbmcgdGhpcyBzbyB0aGF0IHRoZSBidXR0b24gd2lsbCBzaG93IGF0IHRoZSB0b3Agb2YgdGhlIGNhcnQgcm93cywgcmF0aGVyIHRoYW4gYXQgdGhlIGJhc2VsaW5lXG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxufVxuXG4uYnRuLXByZXZpb3VzIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUobGVmdCwgNHB4LCAkYy1hY3Rpb24pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIH1cbiAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUobGVmdCwgNHB4LCAjRkZGRkZGKTtcbiAgICB9XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuY3VycmVudGx5LFxuLm1pbmktcHJvZHVjdHMtbGlzdCxcbiNjb21wYXJlLWl0ZW1zIHtcblxuICAgIC5idG4tcmVtb3ZlLFxuICAgIC5idG4tcHJldmlvdXMge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDaGVja291dCBBZ3JlZW1lbnRzXG4gKi9cblxuLmNoZWNrb3V0LWFncmVlbWVudHMgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jaGVja291dC1hZ3JlZW1lbnRzIC5hZ3JlZW1lbnQtY29udGVudCB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtd2lkdGg6IDY3MHB4O1xuICAgIG1heC1oZWlnaHQ6IDEyNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDVlYgU2VjdXJpdHkgQ29kZVxuICovXG5cbi5jdnYtd2hhdC1pcy10aGlzIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQ29udGFpbmVyXG4gKi9cblxuLm1haW4tY29udGFpbmVyLFxuLmZvb3Rlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6ICRtYXgtY29udGFpbmVyLXdpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6ICR0cmltO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuLy8gaXMgdGhpcyBuZWNlc3Nhcnk/XG4vKlxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCA0ODBweCkge1xuXG4gICAgLm1haW4tY29udGFpbmVyLFxuICAgIC5mb290ZXItY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogJHRyaW07XG4gICAgfVxufVxuKi9cblxuLmZvb3Rlci1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENvbHVtbiBMYXlvdXRzXG4gKi9cblxuLm1haW46YWZ0ZXIsXG4uY29sLXdyYXBwZXI6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uY29sLWxlZnQsXG4uY29sLXJpZ2h0LFxuLmNvbC1tYWluIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5jb2wtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMjQwcHgvOTYwcHgpO1xuICAgIHBhZGRpbmctbGVmdDogMDsgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi9cbiAgICBjbGVhcjogbGVmdDtcblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5jb2wtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgyNDBweC85NjBweCk7XG4gICAgcGFkZGluZy1yaWdodDogMDsgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi9cblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5jb2wtbWFpbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoNzIwcHgvOTYwcHgpO1xufVxuXG4uY29sMS1sYXlvdXQge1xuICAgIC5jb2wtbWFpbiB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMDsgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi9cbiAgICB9XG59XG5cbi5jb2wyLWxlZnQtbGF5b3V0IHtcbiAgICAuY29sLW1haW4ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8qIFJlbW92ZSB0aGUgMTVweCBwYWRkaW5nICovXG4gICAgfVxufVxuXG4uY29sMi1yaWdodC1sYXlvdXQge1xuICAgIC5jb2wtbWFpbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi9cbiAgICB9XG59XG5cbi5jb2wzLWxheW91dCB7XG4gICAgLmNvbC1yaWdodCB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDIwMHB4Lzk2MHB4KTtcbiAgICB9XG5cbiAgICAuY29sLXdyYXBwZXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoNzYwcHgvOTYwcHgpO1xuXG4gICAgICAgIC5jb2wtbWFpbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSg1NjBweC83NjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLWxlZnQge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMjAwcHgvNzYwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDEwMDBweCkge1xuICAgIC5jb2wzLWxheW91dCB7XG4gICAgICAgIC5jb2wtcmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgyNDBweC85NjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLXdyYXBwZXIge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5jb2wtbWFpbiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDcyMHB4Lzk2MHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbC1sZWZ0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgyNDBweC85NjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC5jb2wtbGVmdCxcbiAgICAuY29sLXJpZ2h0LFxuICAgIC5jb2wtbWFpbixcbiAgICAuY29sMS1sYXlvdXQgLmNvbC1sZWZ0LFxuICAgIC5jb2wxLWxheW91dCAuY29sLXJpZ2h0LFxuICAgIC5jb2wxLWxheW91dCAuY29sLW1haW4sXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1sZWZ0LFxuICAgIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtcmlnaHQsXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1tYWluLFxuICAgIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLWxlZnQsXG4gICAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtcmlnaHQsXG4gICAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbWFpbixcbiAgICAuY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIC5jb2wtbGVmdCxcbiAgICAuY29sMy1sYXlvdXQgLmNvbC1yaWdodCxcbiAgICAuY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIC5jb2wtbWFpbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IC8vIFNpbmNlIGNvbHVtbnMgYXJlIHN0YWNrZWQsIHdlIHdhbnQgdGhlcmUgdG8gYmUgdmVydGljYWwgc3BhY2luZ1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuY29sLW1haW4ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLmNvbC1tYWluIC5jb2wtbGVmdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IC8qIE9uIHByb2R1Y3QgbGlzdGluZyBwYWdlcywgdGhlIGxlZnQgY29sdW1uIGdldHMgbW92ZWQgaW5zaWRlIGNvbC1tYWluIG9uIHNtYWxsIHZpZXdwb3J0cyAqL1xuICAgIH1cbn1cblxuLyogQ29udGVudCBDb2x1bW5zICovXG5cbi5jb2wyLXNldCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuY29sLTEsXG4gICAgLmNvbC0yIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nLWxhcmdlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC0xIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY29sLTIge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgICAgIC5jb2wtMSxcbiAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hcnJvdyB7XG4gICAgICAgIHdpZHRoOiAzMyU7XG4gICAgfVxuXG4gICAgLndpZGUge1xuICAgICAgICB3aWR0aDogNjUlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFRvcCBDb250YWluZXJcbiAqL1xuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuICAgIC50b3AtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LWNvbnRhaW5lci13aWR0aDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgJHRyaW07XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBHbG9iYWwgU2l0ZSBOb3RpY2VcbiAqL1xuXG4uZ2xvYmFsLXNpdGUtbm90aWNlIHtcbiAgICBiYWNrZ3JvdW5kOiAkYy1kYXJrO1xuICAgIGNvbG9yOiAkYy10ZXh0LXdoaXRlO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG5cbiAgICAubm90aWNlLWlubmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LXdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBsaW5lLWhlaWdodDogJGYtc2l6ZS14eHM7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoNDBweCAtICRmLXNpemUteHhzKSAvIDI7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAoNDBweCAtICRmLXNpemUteHhzKSAvIDI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2RlbW8tbG9nby5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByb21vdGlvbmFsIE1lc3NhZ2UgQmFubmVyXG4gKi9cblxuLnByb21vLW1zZyB7XG4gICAgY29sb3I6ICRjLXRleHQtcHJpbWFyeTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAkYm94LXNwYWNpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogR3JpZFxuICovXG5cbi5ncmlkOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTWVzc2FnZXNcbiAqL1xuLnN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAkYy1zdWNjZXNzO1xufVxuXG4uZXJyb3Ige1xuICAgIGNvbG9yOiAkYy1kYW5nZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5ub3RpY2Uge1xuICAgIGNvbG9yOiAkYy13YXJuO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBNZXNzYWdlc1xuICovXG5cbi5tZXNzYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuLm1lc3NhZ2VzIGxpIGxpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBwYWRkaW5nOiA3cHggMTBweCA3cHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubWVzc2FnZXMgLmVycm9yLW1zZyBsaSB7XG4gICAgY29sb3I6ICRjLWRhbmdlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYW5nZXItYmFja2dyb3VuZDtcbn1cblxuLm1lc3NhZ2VzIC5ub3RpY2UtbXNnIGxpIHtcbiAgICBjb2xvcjogJGMtd2FybjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13YXJuLWJhY2tncm91bmQ7XG59XG5cbi5tZXNzYWdlcyAuc3VjY2Vzcy1tc2cgbGkge1xuICAgIGNvbG9yOiAkYy1zdWNjZXNzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXN1Y2Nlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgOTE1cHgpIHtcblxuICAgIC5vcmRlci1saXN0LWdyaWQgLmNvbC0xIHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG5cbiAgICAub3JkZXItbGlzdC1ncmlkIC5jb2wtMiB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLm9yZGVyLWxpc3QtZ3JpZCAuY29sLTMge1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBhZ2UgUG9wdXBcbiAqL1xuXG4ucGFnZS1wb3B1cCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLnBhZ2UtcG9wdXAgaDEge1xuICAgIG1hcmdpbjogMCAwIDAuNWVtO1xuICAgIC8vZm9udC1zaXplOiAzNnB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQYXltZW50IE1ldGhvZHNcbiAqL1xuXG4ucGF5bWVudC1tZXRob2RzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucGF5bWVudC1tZXRob2RzIGR0IHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyBkZCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi5wYXltZW50LW1ldGhvZHMgLmZvcm0tbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA1cHggMTVweCAxNXB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyAuZm9ybS1saXN0OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgdHJpYW5nbGUodXAsIDEwcHgsICRjLW1vZHVsZS1ib3JkZXIpO1xuICAgIHRvcDogLTExcHg7XG4gICAgbGVmdDogMzBweDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyAuZm9ybS1saXN0OmFmdGVyIHtcbiAgICBAaW5jbHVkZSB0cmlhbmdsZSh1cCwgMTBweCwgJGMtbW9kdWxlLWJhY2tncm91bmQpO1xuICAgIHRvcDogLTEwcHg7XG4gICAgbGVmdDogMzBweDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyAuZm9ybS1saXN0IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBsZWFzZSBXYWl0IChMb2FkaW5nIEluZGljYXRvcilcbiAqL1xuXG4ucGxlYXNlLXdhaXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIFByZXZlbnQgdGhlIGxpbmVicmVhayBpbiB0aGUgSFRNTCBmcm9tIGNhdXNpbmcgbGF5b3V0IGlzc3VlcyAqL1xuXG4gICAgaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB3aWR0aDogMjRweDsgLy8gQWN0dWFsIGltYWdlIGlzIDQ4cHgsIHRoZXJlYnkgc3VwcG9ydGluZyBoaS1yZXMgc2NyZWVuc1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJpY2UgQm94IC0gU3RhbmRhcmRcbiAqL1xuXG4ucHJpY2UtYm94IHtcbiAgICBtYXJnaW46ICRlbGVtZW50LXNwYWNpbmcgMDtcbn1cblxuLnByaWNlLWJveCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucHJpY2Utbm90aWNlIHtcbiAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xufVxuXG4ucHJpY2UtYm94IC5wcmljZSB7XG59XG5cbi5wcmljZS1ib3ggLnByaWNlLFxuLnByaWNlIHtcbn1cblxuLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG59XG5cbi5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2UtbGluayB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgZGlzcGxheTogYmxvY2s7IC8qIFdlIHdhbnQgdGhpcyB0byBzaG93IG9uIGl0cyBvd24gbGluZSwgb3RoZXJ3aXNlIHRoZSBsYXlvdXQgbG9va3MgZnVua3kgKi9cblxuICAgIC5sYWJlbCB7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcmljZSBCb3ggLSBTcGVjaWFsXG4gKi9cblxuLnByaWNlLWJveCAub2xkLXByaWNlLFxuLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4ucHJpY2UtYm94IC5vbGQtcHJpY2Uge1xuICAgIC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgfVxufVxuXG4ucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIHtcbiAgICBjb2xvcjogJGMtcmVkO1xuICAgIHBhZGRpbmctbGVmdDogMWVtO1xuXG4gICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjLXJlZDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByaWNlIEJveCAtIFRheGVzXG4gKi9cblxuLnByaWNlLWJveCAucHJpY2UtZXhjbHVkaW5nLXRheCxcbi5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zcGFuLndlZWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUaWVyIFByaWNlc1xuICovXG5cbi5wcm9kdWN0LXByaWNpbmcsXG4udGllci1wcmljZXMsXG4udGllci1wcmljZXMtZ3JvdXBlZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYmFja2dyb3VuZDogI0ZCRjRERTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTJENEM3O1xuICAgIG1hcmdpbi10b3A6ICRlbGVtZW50LXNwYWNpbmc7XG5cbiAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICB9XG4gICAgLmJlbmVmaXQge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuICAgIC5wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogSXRlbSBPcHRpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaXRlbS1vcHRpb25zIHtcbiAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgZHQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJzogJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4O1xuICAgIH1cbn1cblxuLnRydW5jYXRlZCxcbi50cnVuY2F0ZWQgYS5kb3RzIHtcbiAgICBjdXJzb3I6IGhlbHA7XG59XG5cbi50cnVuY2F0ZWQgYS5kZXRhaWxzIHtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi50cnVuY2F0ZWQgLnRydW5jYXRlZF9mdWxsX3ZhbHVlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMzAwO1xufVxuXG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAzMDA7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1hY3Rpb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjZGNjtcbiAgICB0b3A6IDIxcHg7XG4gICAgbGVmdDogLTEwMHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHVwLCA3cHgsICRjLWFjdGlvbik7XG4gICAgICAgIGxlZnQ6ICgxMDBweCArIC0zcHgpO1xuICAgICAgICB0b3A6IC03cHg7XG4gICAgfVxufVxuXG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zID4gcCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50cnVuY2F0ZWQgLnNob3cgLml0ZW0tb3B0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuXG4gICAgLnRydW5jYXRlZCB7XG4gICAgICAgIGN1cnNvcjogaW5oZXJpdDtcblxuICAgICAgICBhLmRldGFpbHMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSB7XG4gICAgICAgICAgICAuaXRlbS1vcHRpb25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcmludGVyIEZyaWVuZGx5IFBhZ2VcbiAqL1xuXG4ucGFnZS1wcmludCB7XG4gICAgd2lkdGg6IDYuNWluO1xuICAgIG1hcmdpbjogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBBZGQgdG8gbGlua3NcbiAqL1xuXG4uYWRkLXRvLWxpbmtzIHtcbiAgICBtYXJnaW46ICRlbGVtZW50LXNwYWNpbmcgMDtcblxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDBweCAzcHggM3B4O1xuICAgIH1cbn1cblxuLmFkZC10by1saW5rcyAuc2VwYXJhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcm9kdWN0IEltYWdlXG4gKi9cblxuLnByb2R1Y3QtaW1hZ2UsXG4ubm8tdG91Y2ggLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZTpub3QoLnpvb20tYXZhaWxhYmxlKTpob3ZlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuQGluY2x1ZGUgYnAgKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIGJvZHkgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZTpob3ZlciB7XG4gICAgfVxufVxuXG4ubm8tdG91Y2ggLnByb2R1Y3QtaW1hZ2U6aG92ZXIge1xufVxuKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUmF0aW5nc1xuICovXG5cbi5yYXRpbmdzIHtcbiAgICBtYXJnaW46IDdweCAwO1xuXG4gICAgLnJhdGluZy1ib3gsXG4gICAgLnJhdGluZy1saW5rcyB7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgfVxuXG4gICAgLnJhdGluZy1ib3gge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MTVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLnJhdGluZy1ib3ggLnJhdGluZyB7XG4gICAgICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwMHB4O1xuICAgIH1cbiAgICAuYW1vdW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogNXB4IGF1dG87XG4gICAgfVxuXG4gICAgLnJhdGluZy1saW5rcyB7XG4gICAgICAgIC5zZXBhcmF0b3Ige1xuICAgICAgICAgICAgbWFyZ2luOiAwIDNweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU3RhbmRhcmQgRm9ybWF0dGVkIFRleHQgQmxvY2tcbiAqL1xuXG4uc3RkIHAge1xuICAgIG1hcmdpbjogMCAwICRiLW1hcmdpbi1ib3R0b207XG59XG5cbi5zdGQgb2wge1xuICAgIG1hcmdpbi1ib3R0b206ICRiLW1hcmdpbi1ib3R0b207XG59XG5cbi5zdGQgdWwge1xuICAgIG1hcmdpbi1ib3R0b206ICRiLW1hcmdpbi1ib3R0b207XG59XG5cbi5zdGQgLm5vdGUge1xuICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFRhYnNcbiAqL1xuXG4udGFicyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUb29sYmFyXG4gKi9cblxuLnRvb2xiYXIge1xuICAgIG1hcmdpbi10b3A6ICRib3gtc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4IDBweCAxMHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuLnBhZ2VyLW5vLXRvb2xiYXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbn1cblxuLy8gVGhpcyB3aWxsIGFwcGx5IHRvIHRoZSBib3R0b20gdG9vbGJhclxuLnBhZ2VyLW5vLXRvb2xiYXIgfiAucGFnZXItbm8tdG9vbGJhciB7XG4gICAgbWFyZ2luLXRvcDogJGJveC1zcGFjaW5nO1xufVxuXG4udG9vbGJhcixcbi5wYWdlciB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgY29sb3I6ICRjLXRleHQ7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xufVxuXG4udG9vbGJhciBsYWJlbCxcbi5wYWdlci1uby10b29sYmFyIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiR0b29sYmFyLWljb24tcGFkZGluZy1vZmZzZXQ6IDhweDtcblxuLnNvcnRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgbGFiZWwge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zb3J0ZXIgPiAuc29ydC1ieSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuXG4gICAgLnNvcnQtYnktc3dpdGNoZXIge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgIH1cbiAgICAuc29ydC1ieS1zd2l0Y2hlci0tYXNjIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCs0cHggKC01NTBweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0KTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCs0cHggKC01NTBweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc29ydC1ieS1zd2l0Y2hlci0tZGVzYyB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDArNHB4ICgtNTc1cHgrJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHgrNHB4ICgtNTc1cHgrJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zb3J0ZXIgPiAudmlldy1tb2RlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAuZ3JpZCxcbiAgICAubGlzdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICB9XG4gICAgLmdyaWQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCAoLTUwMHB4KyR0b29sYmFyLWljb24tcGFkZGluZy1vZmZzZXQpO1xuICAgIH1cbiAgICBzdHJvbmcuZ3JpZCxcbiAgICBhLmdyaWQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0ICgtNTAwcHgrJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCk7XG4gICAgfVxuICAgIC5saXN0IHtcbiAgICAgICAgLy8gV2Ugd2FudCB0aGUgaWNvbiB0byBsaW5lIHVwIHdpdGggdGhlIGNvbnRhaW5lciB3aWR0aCwgc28gd2UgYXJlIGFkZGluZyAzcHhcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCszcHggKC01MjVweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0KTtcbiAgICB9XG4gICAgc3Ryb25nLmxpc3QsXG4gICAgYS5saXN0OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHgrJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCszcHggKC01MjVweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0KTtcbiAgICB9XG59XG5cbi5wYWdlciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmID4gLmNvdW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5hbW91bnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICB9XG5cbiAgICAubGltaXRlciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gICAgICAgICYgPiBsYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hbW91bnQsXG4gICAgLmxpbWl0ZXIsXG4gICAgLnBhZ2VzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxufVxuXG4ucGFnZXMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5wYWdlcyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wYWdlcyBhLFxuLnBhZ2VzIC5jdXJyZW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xufVxuXG4ucGFnZXMgLmN1cnJlbnQsXG4ucGFnZXMgLmN1cnJlbnQ6aG92ZXIge1xuICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5wYWdlcyAubmV4dCxcbi5wYWdlcyAucHJldmlvdXMge1xuICAgIC8vIE5ldyBIUDVCUCB0ZWNobmlxdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdjOWUwM2RkYTRlNDYzZmIwZDRkYjVhNWY4MmQ3XG4gICAgZm9udDogMC8wIGE7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1hY3Rpb247XG4gICAgfVxufVxuXG4ucGFnZXMgLm5leHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUocmlnaHQsIDRweCwgJGMtYWN0aW9uKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgfVxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUocmlnaHQsIDRweCwgJGMtc3RpbXVsdXMpO1xuICAgIH1cbn1cblxuLnBhZ2VzIC5wcmV2aW91cyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShsZWZ0LCA0cHgsICRjLWFjdGlvbik7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIH1cbiAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKGxlZnQsIDRweCwgJGMtc3RpbXVsdXMpO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgLy8gT25seSBoaWRlIHRoZSBcImFtb3VudFwiIGVsZW1lbnQgaWYgcGFnZSBoYXMgcGFnaW5hdGlvbiBBTkQgaXMgaW5zaWRlIG9mIHRvb2xiYXIgKHNpbmNlIHdlIG9ubHkgd2FudCBpdCBoaWRpbmcgb24gcHJvZHVjdCBsaXN0aW5nKVxuICAgIC8vIE90aGVyd2lzZSBzaG93IHRoZSBhbW91bnQgc2luY2UgdGhlcmUgaXMgcGxlbnR5IG9mIHNwYWNlXG4gICAgLnBhZ2VyIC5hbW91bnQtLWhhcy1wYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnBhZ2VzIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLy8gV2hlbiB0aGVyZSBhcmUgNSsgcGFnZXMsIGl0IGlzIGltcG9ydGFudCB0byBoaWRlIHRoaXMgbGFiZWwgaW4gb3JkZXIgdG8gbm90IGJyZWFrIHRvIHRocmVlIGxpbmVzXG4gICAgLmxpbWl0ZXIgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLy8gT25lIG9uZSBjb2x1bW4gbGF5b3V0cywgdGhlIHRvb2xiYXIgZG9lc24ndCBoYXZlIHRvIGJyZWFrIHVudGlsIGEgc21hbGxlciB2aWV3cG9ydFxuICAgIC5jb2wxLWxheW91dCB7XG4gICAgICAgIC5zb3J0ZXIsXG4gICAgICAgIC5wYWdlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlciB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAgICAgICAucGFnZXMge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY291bnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG5cbiAgICAuY29sMi1sZWZ0LWxheW91dCxcbiAgICAuY29sMi1yaWdodC1sYXlvdXQsXG4gICAgLmNvbDMtbGF5b3V0IHtcbiAgICAgICAgLnNvcnRlcixcbiAgICAgICAgLnBhZ2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2VyIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgICAgIC5wYWdlcyB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb3VudC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAxMjc5cHgpIHtcblxuICAgIC50b29sYmFyIC52aWV3LW1vZGUgPiBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBUYXggLSBGdWxsIFRheCBTdW1tYXJ5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jY2hlY2tvdXQtcmV2aWV3LXRhYmxlLFxuI3Nob3BwaW5nLWNhcnQtdG90YWxzLXRhYmxlLFxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHtcbiAgICAuc3VtbWFyeS1jb2xsYXBzZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKGRvd24sIDdweCwgJGMtYmx1ZSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoZG93biwgN3B4LCAkYy1zdGltdWx1cyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdy1kZXRhaWxzIHtcbiAgICAgICAgLnN1bW1hcnktY29sbGFwc2Uge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHVwLCA3cHgsICRjLWJsdWUpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHVwLCA3cHgsICRjLXN0aW11bHVzKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQ2VudGVyIHRoZSBhcnJvdywgYXMgdGhlIGZvbnQgaXMgbGFyZ2VyIGluIHRmb290XG4jc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgdGZvb3QgdGQgLnN1bW1hcnktY29sbGFwc2Uge1xuICAgICY6YmVmb3JlLFxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTWFnZW50byBIZWxwZXJzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmEtcmlnaHQsXG4uYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubm8tZGlzcGxheSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubm9icixcbi5ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi53aWR0aC1mdWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ3VzdG9tIEhlbHBlcnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFByaW50IFN0eWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnBhZ2UtcHJpbnQgLnByaW50LWhlYWQge1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG59XG5cbi5wYWdlLXByaW50IC5wcmludC1oZWFkIC5sb2dvIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXgtaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuIiwiLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHRvdG9rYWVsb19kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG5AaW1wb3J0IFwibWl4aW4vdHlwb2dyYXBoeVwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbXBhc3MgRGVmYXVsdHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCb3JkZXIgUmFkaXVzXG5cbiRkZWZhdWx0LWJvcmRlci1yYWRpdXM6IDBweDtcblxuLy8gVHJhbnNpdGlvblxuXG4kZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4kZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb246IGxpbmVhcjtcbiRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXk6IDA7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbWFyeSBCcmVhayBQb2ludHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBUaGVzZSBzaG91bGQgYmUgdXNlZCB3aXRoIHRoZSBicCAobWF4LXdpZHRoLCB4eCkgbWl4aW5cbi8vIHdoZXJlIGEgbWluLXdpZHRoIGlzIHVzZWQsIHJlbWVtYmVyIHRvICsxIHRvIGJyZWFrIGNvcnJlY3RseS5cbi8vIElmIHRoZXNlIGFyZSBjaGFuZ2VkLCB0aGV5IG11c3QgYWxzbyBiZSB1cGRhdGVkIGluIGFwcC5qc1xuXG4kYnAteHNtYWxsOiAzNTlweDtcbiRicC1zbWFsbDogNTk5cHg7XG4kYnAtbWVkaXVtOiA3NzBweDtcbiRicC1sYXJnZTogOTc5cHg7XG4kYnAteGxhcmdlOiAxMTk5cHg7XG5cbiR0ay1icC10aW55LW1heDogJGJwLXhzbWFsbCAtIDE7XG4kdGstYnAtbW9iaWxlLW1pbjogJGJwLXhzbWFsbDtcbiR0ay1icC1tb2JpbGUtbWF4OiAkYnAtc21hbGwgLSAxO1xuJHRrLWJwLXRhYmxldC1taW46ICRicC1zbWFsbDtcbiR0ay1icC10YWJsZXQtbWF4OiAkYnAtbGFyZ2UgLSAxO1xuJHRrLWJwLWRlc2t0b3AtbWluOiAkYnAtbGFyZ2U7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBWYWx1ZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTcGFjaW5nXG5cbiRnYXA6IDEwcHg7XG5cbiR0cmltOiAzMHB4O1xuLy8gVGhpcyB3aWxsIGdldCBhcHBsaWVkIG9uIHZpZXdwb3J0cyBzbWFsbGVyIHRoYW4gNDgwcHhcbiR0cmltLXNtYWxsOiAxNXB4O1xuXG4vLyBQYWRkaW5nIHRoYXQgd2lsbCBnZXQgYXBwbGllZCB0byBjb250ZW50IGFyZWFzXG4kYm94LXNwYWNpbmctbGFyZ2U6IDIwcHg7XG5cbi8vIFN0YW5kYXJkIHBhZGRpbmcgYXJvdW5kIGJveCBlbGVtZW50cyBzdWNoIGFzIGJhbm5lciBtZXNzYWdlcywgZXRjXG4kYm94LXNwYWNpbmc6IDEwcHg7XG5cbi8vIFN0YW5kYXJkIHNwYWNpbmcgYmV0d2VlbiBlbGVtZW50cyB3aXRoaW4gYSBib3gsIHN1Y2ggYXMgXCJBZGQgdG8gY2FydFwiLCBcIlByaWNlIGJveFwiLCBldGNcbiRlbGVtZW50LXNwYWNpbmc6IDdweDtcblxuLy8gRGltZW5zaW9uc1xuXG4kbWF4LWNvbnRlbnQtd2lkdGg6IDEyMDBweDtcbiRtYXgtY29udGFpbmVyLXdpZHRoOiBpbmhlcml0OyAvLyAkdHJpbSArICRtYXgtY29udGVudC13aWR0aCArICR0cmltO1xuJG1heC1zdGQtZm9ybWF0dGVkLXdpZHRoOiA1MGVtO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJyYW5kIENvbG9yc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFVzdWFsbHkgbm90IHVzZWQgZGlyZWN0bHkgaW4gU2FzcyBwYXJ0aWFscy5cbi8vIE9ubHkgdXNlZCB0byBkZWZpbmUgY29udGV4dC1iYXNlZCBjb2xvciB2YXJzIGluIHRoaXMgZmlsZS5cblxuJGMtYmx1ZTogJHRrLWJsdWU7XG4kYy1ncmVlbjogIzJEOTk1NTtcbiRjLXBpbms6ICNEODUzNzg7XG4kYy1vcmFuZ2U6ICNGMzc5M0I7XG4kYy1yZWQ6ICR0ay1yZWQ7XG4kYy15ZWxsb3c6ICNGRkREMTU7XG4kYy13aGl0ZTogI0ZBRkFGQTtcbiRjLWJsYWNrOiAkdGstYmxhY2s7XG4kYy1kYXJrLWdyYXk6ICMzMzMzMzM7XG4kYy1ncmF5OiAjNjY2NjY2O1xuJGMtbGlnaHQtZ3JheTogI0VGRUZFRjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCYXNlIENvbG9yc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFRleHRcblxuJGMtdGV4dDogIzExMTtcbiRjLXRleHQtZ3JheTogIzlCOUI5QjtcbiRjLXRleHQtd2hpdGU6ICNFNkU2RTY7XG4vLyBQcmltYXJ5IGZvbnQgY29sb3IgZm9yIGhlYWRpbmdzIGFuZCBvdGhlciBub24tbGluayB0ZXh0XG4kYy10ZXh0LXByaW1hcnk6ICRjLXRleHQ7XG5cbi8vIEludGVyYWN0aW9uXG5cbiRjLWFjdGlvbjogJGMtYmx1ZTtcbiRjLXN0aW11bHVzOiBkYXJrZW4oJGMtYmx1ZSwgMTUlKTtcbiRjLXN1YnRsZTogI0EwQTBBMDtcblxuLy8gTm90aWZpY2F0aW9uc1xuXG4kYy1kYW5nZXI6ICRjLXJlZDtcbiRjLWRhbmdlci1iYWNrZ3JvdW5kOiAkYy1yZWQ7XG5cbiRjLXN1Y2Nlc3M6ICRjLXdoaXRlO1xuJGMtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAkYy1ncmVlbjtcblxuJGMtd2FybjogJGMtd2hpdGU7XG4kYy13YXJuLWJhY2tncm91bmQ6ICRjLXJlZDtcblxuJGMtZGFyazogIzY3NjE1NztcblxuLy8gR2xvYmFsIEVsZW1lbnRzXG5cbiRjLWRpdmlkZXItYm9yZGVyOiAjOWI5YjliO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVsZW1lbnQgQ29sb3JzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGMtaDE6ICRjLWJsYWNrO1xuJGMtaDI6ICRjLWJsYWNrO1xuJGMtaDM6ICRjLWJsYWNrO1xuJGMtaDQ6ICRjLWJsYWNrO1xuJGMtaDU6ICRjLWJsYWNrO1xuJGMtaDY6ICRjLWJsYWNrO1xuXG4vLyBCdXR0b25zXG5cbiRjLWJ1dHRvbjogJGMtYmx1ZTtcbiRjLWJ1dHRvbi1ob3ZlcjogZGFya2VuKCRjLWJsdWUsIDUlKTtcbiRjLWJ1dHRvbi1hY3RpdmU6IGRhcmtlbigkYy1ibHVlLCAxMCUpO1xuXG4vLyBTZWNvbmRhcnkgQnV0dG9uc1xuXG4kYy1idXR0b24tc2Vjb25kYXJ5OiAjREREREREO1xuJGMtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcjogZGFya2VuKCNEREREREQsIDUlKTtcbiRjLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlOiBkYXJrZW4oI0RERERERCwgMTAlKTtcblxuJGMtYnV0dG9uLXN1YnRsZTogI0VDRUNFQztcblxuLy8gRm9ybXNcblxuJGMtaW5wdXQtYm9yZGVyOiAkYy10ZXh0O1xuJGMtaW5wdXQtYm9yZGVyLWZvY3VzOiAkYy1ibHVlO1xuXG4kYy1pbnB1dC1wbGFjZWhvbGRlcjogJGMtdGV4dC1ncmF5O1xuJGMtaW5wdXQtdGV4dDogJGMtdGV4dDtcblxuJGMtZmllbGRzZXQtYm9yZGVyOiAjQ0NDQ0NDO1xuJGMtZmllbGRzZXQtYm9yZGVyLWxpZ2h0OiAjRURFREVEO1xuXG4vLyBMaW5rXG4kYy1saW5rOiAkYy1hY3Rpb247XG4kYy1saW5rLWhvdmVyOiBkYXJrZW4oJGMtYWN0aW9uLCA1JSk7XG4kYy1saW5rLWZvY3VzOiAkYy1hY3Rpb247XG4kYy1saW5rLWFjdGl2ZTogZGFya2VuKCRjLWFjdGlvbiwgKDUlIC8gMikpO1xuXG4vLyBNb2R1bGUgKGdlbmVyaWMpXG5cbiRjLW1vZHVsZS1iYWNrZ3JvdW5kOiAjRjRGNEY0O1xuJGMtbW9kdWxlLWJhY2tncm91bmQtaG92ZXI6IHNoYWRlKCRjLW1vZHVsZS1iYWNrZ3JvdW5kLCAzJSk7XG4kYy1tb2R1bGUtYmFja2dyb3VuZC1zZWNvbmRhcnk6ICNFQUY4RkY7XG4kYy1tb2R1bGUtYmFja2dyb3VuZC1kYXJrOiAjQUFBQUFBO1xuLy8gVGhpcyBzaG91bGQgYmUgYXBwbGllZCB3aGVuZXZlciB0aGUgYm9yZGVyIGlzIHN1cnJvdW5kaW5nIGEgd2hpdGUgZWxlbWVudCBhbmQvb3IgaXMgZGlyZWN0bHkgc2hvd2luZyBvbiB3aGl0ZS5cbiRjLW1vZHVsZS1ib3JkZXI6ICRjLWJsYWNrO1xuLy8gVGhpcyBzaG91bGQgYmUgYXBwbGllZCB3aGVuZXZlciB0aGUgYm9yZGVyIGlzIHdyYXBwaW5nIGFuIGVsZW1lbnQgd2l0aCAkYy1tb2R1bGUtYmFja2dyb3VuZFxuJGMtbW9kdWxlLWJvcmRlci1saWdodDogI0VERURFRDtcbiRjLW1vZHVsZS1ib3JkZXItZGFyazogIzc3Nzc3NztcbiRjLW1vZHVsZS1ib3JkZXItaGlnaGxpZ2h0OiAkYy1ibHVlO1xuXG5cbi8vIFRhYmxlXG5cbiRjLXRhYmxlLWJhY2tncm91bmQ6ICNGNEY0RjQ7XG4kYy10YWJsZS1ib3JkZXI6ICNDMEMwQzA7XG5cbiRjLXRhYmxlLXplYnJhLW9kZDogI0Y4RjdGNTtcbiRjLXRhYmxlLXplYnJhLWV2ZW46ICNFRUVERUQ7XG5cbi8vIFRhYnNcblxuJGMtdGFicy1iYWNrZ3JvdW5kOiAjRjBGMEYwO1xuXG4vLyBFbWFpbFxuJGMtZW1haWwtYmFja2dyb3VuZDogI0VCRUJFQjtcbiRjLWVtYWlsLWJhY2tncm91bmQtc2Vjb25kYXJ5OiAjRTFGMEY4O1xuJGMtZW1haWwtYm9yZGVyOiAjQzNDRUQ0O1xuJGMtZW1haWwtYWN0aW9uOiAjMzY5NkMyO1xuJGMtZW1haWwtY2VsbDogI0YxRjFGMTtcbiRjLWVtYWlsLWhpZ2hsaWdodGVkLWJhY2tncm91bmQ6ICNGRkZERDk7XG4kYy1lbWFpbC1oaWdobGlnaHRlZC1ib3JkZXI6ICNGRkY3NEM7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHlwb2dyYXBoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEdvb2dsZSBXZWIgRm9udCBzdHlsZXNoZWV0IGlzIGluY2x1ZGVkIHZpYSBsYXlvdXQgWE1MXG5cbi8vIEZvbnQgU3RhY2tzXG5cbiRmLXN0YWNrLXNhbnM6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGYtc3RhY2stc2VyaWY6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGYtc3RhY2stc3BlY2lhbDogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiRmLXN0YWNrLWRlZmF1bHQ6ICRmLXN0YWNrLXNhbnM7XG5cbi8vIEZvbnQgU2l6ZXNcblxuJGYtc2l6ZS14eGw6IDEycHg7XG4kZi1zaXplLXhsOiAxMnB4O1xuJGYtc2l6ZS1sOiAxMnB4O1xuXG4kZi1zaXplOiAxMnB4O1xuXG4kZi1zaXplLXM6IDEycHg7XG4kZi1zaXplLXhzOiAxMnB4O1xuJGYtc2l6ZS14eHM6IDEycHg7XG5cbi8vIEJhc2UgTWVhc3VyZXNcblxuJGItbGluZS1oZWlnaHQ6IDE0cHg7XG4kYi1tYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRvdG9rYWVsb1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0ay1uYXYtZHJhd2VyLXdpZHRoOiA0MDBweDtcbiR0ay1uYXYtZHJhd2VyLW1heC13aWR0aDogODB2dztcblxuJHRrLXNwYWNlcjogMTZweDtcbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbiAtIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gVGhpcyBtaXhpbiBpcyBpbnRlbmRlZCB0byBiZSBhcHBsaWVkIHRvIGFuIDphZnRlciBwc2V1ZG8tY2xhc3MuIEV4YW1wbGU6XG4vLyAgJjphZnRlciB7XG4vLyAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8gIH1cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW4gLSBCcmVha3BvaW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1xLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG4kbXEtZml4ZWQtdmFsdWU6IDEwMjRweCAhZGVmYXVsdDtcblxuQG1peGluIGJwKCRmZWF0dXJlLCAkdmFsdWUpIHtcbiAgICAvLyBTZXQgZ2xvYmFsIGRldmljZSBwYXJhbVxuICAgICRtZWRpYTogb25seSBzY3JlZW47XG5cbiAgICAvLyBNZWRpYSBxdWVyaWVzIHN1cHBvcnRlZFxuICAgIEBpZiAkbXEtc3VwcG9ydCA9PSB0cnVlIHtcblxuICAgICAgICBAbWVkaWEgI3skbWVkaWF9IGFuZCAoJGZlYXR1cmU6ICR2YWx1ZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNZWRpYSBxdWVyaWVzIG5vdCBzdXBwb3J0ZWRcbiAgICB9IEBlbHNlIHtcblxuICAgICAgICBAaWYgJGZlYXR1cmUgPT0gJ21pbi13aWR0aCcge1xuICAgICAgICAgICAgQGlmICR2YWx1ZSA8PSAkbXEtZml4ZWQtdmFsdWUge1xuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIGlmICRmZWF0dXJlID09ICdtYXgtd2lkdGgnIHtcbiAgICAgICAgICAgIEBpZiAkdmFsdWUgPj0gJG1xLWZpeGVkLXZhbHVlIHtcbiAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluIC0gTm90IFNlbGVjdGFibGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gbm90LXNlbGVjdGFibGUge1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbkBtaXhpbiB0YWJzKCkge1xuICAgIC50b2dnbGUtdGFicyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBub3Qtc2VsZWN0YWJsZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkdHJpbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaS5jdXJyZW50IHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG5cbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkuY3VycmVudCBzcGFuLFxuICAgICAgICBsaTpob3ZlciBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgIH1cblxuICAgICAgICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IGRsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgPiBkdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBkZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IGRkLmN1cnJlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBhY2NvcmRpb25EdEJhc2UoJGFycm93LWRpcmVjdGlvbjogJ2Rvd24nLCAkYm9yZGVyLWNvbG9yOiAkYy1tb2R1bGUtYm9yZGVyKSB7XG4gICAgQGluY2x1ZGUgaDQ7XG4gICAgQGluY2x1ZGUgbm90LXNlbGVjdGFibGU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgcGFkZGluZzogN3B4IDEwcHggN3B4IDI0cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKCN7JGFycm93LWRpcmVjdGlvbn0sIDRweCwgJGMtYWN0aW9uKTtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbn1cblxuQG1peGluIGFjY29yZGlvbigpIHtcbiAgICAudG9nZ2xlLXRhYnMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgID4gZGwge1xuICAgICAgICA+IGR0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbkR0QmFzZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBkZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICA+IGRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYWNjb3JkaW9uQ29sbGFwc2UoKSB7XG4gICAgPiBkbCB7XG4gICAgICAgID4gZHQge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHJpZ2h0LCA0cHgsICRjLWFjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gZGQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWNjb3JkaW9uLW9wZW4ge1xuICAgICAgICA+IGRsIHtcbiAgICAgICAgICAgID4gZHQge1xuICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShkb3duLCA0cHgsICRjLWFjdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGRkLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluIC0gVHJpYW5nbGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gdHJpYW5nbGUoJGRpcmVjdGlvbjogdXAsICRzaXplOiA1cHgsICRjb2xvcjogIzAwMDAwMCkge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgJGNvbG9yO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIGJvcmRlci10b3A6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgJGNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW4gLSBJbWFnZSBSZXBsYWNlbWVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGh0dHA6Ly93d3cuemVsZG1hbi5jb20vMjAxMi8wMy8wMS9yZXBsYWNpbmctdGhlLTk5OTlweC1oYWNrLW5ldy1pbWFnZS1yZXBsYWNlbWVudC9cbi8vIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9hbm90aGVyLWNzcy1pbWFnZS1yZXBsYWNlbWVudC10ZWNobmlxdWUvXG4vLyBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvMTAwNSNpc3N1ZWNvbW1lbnQtNDk0NzcwMlxuXG5AbWl4aW4gaW1hZ2UtcmVwbGFjZW1lbnQge1xuICAgIC8vIE5vdGU6IHRoaXMgdGVjaG5pcXVlIGhhcyBpc3N1ZXMgb24gQW5kcm9pZCAzLnhcbiAgICAvLyBBbiBhbHRlcm5hdGl2ZSB0aGF0IHJlcXVpcmVzIHRoZSA6YmVmb3JlIGdlbmVyYXRlZCBjb250ZW50IHdhcyBhZGRlZCB0byBINUJQXG4gICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9jc3MvbWFpbi5jc3NcblxuICAgIC8vY29sb3I6dHJhbnNwYXJlbnQ7IGZvbnQ6MC8wIGE7IHRleHQtc2hhZG93Om5vbmU7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblxuICAgIC8vIFRoZSBzaW1wbGVzdCBvcHRpb24gcmVtYWlucyB1c2luZyB0ZXh0LWluZGVudDotOTk5OXB4IGRlc3BpdGUgdGhlIHBlcmZvcm1hbmNlIGRyYXdiYWNrXG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbi8vIFVuZG8gdGhlIHJlcGxhY2VtZW50IGZvciBjaGlsZCBlbGVtZW50c1xuXG5AbWl4aW4gaW1hZ2UtcmVwbGFjZW1lbnQtb3ZlcnJpZGUge1xuICAgIHRleHQtaW5kZW50OiAwO1xufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluIC0gSWYtUmVzb2x1dGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEZyb20gaHR0cDovL2Jsb2cuMTRpc2xhbmRzLmNvbS9wb3N0LzM3MjU5NjAzMjQ2L3Nhc3MtcmVzb2x1dGlvbi1taXhpblxuXG5AbWl4aW4gaWYtbWluLXJlc29sdXRpb24oJGRwcHgpIHtcbiAgICBAaW5jbHVkZSBpZi1yZXNvbHV0aW9uKG1pbiwgJGRwcHgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gaWYtbWF4LXJlc29sdXRpb24oJGRwcHgpIHtcbiAgICBAaW5jbHVkZSBpZi1yZXNvbHV0aW9uKG1heCwgJGRwcHgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gaWYtcmVzb2x1dGlvbigkcHJlZml4LCAkZHBweCkge1xuICAgIC8vIDFweCA9IDk2ZHBpXG4gICAgJGRwaTogJGRwcHggKiA5NjtcbiAgICBAbWVkaWFcbiAgICAoLXdlYmtpdC0jeyRwcmVmaXh9LWRldmljZS1waXhlbC1yYXRpbzogI3skZHBweH0pLFxuICAgICggICAjeyRwcmVmaXh9LS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRkcHB4fSksXG4gICAgKCAgICAgLW8tI3skcHJlZml4fS1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JGRwcHgqMn0vMiksXG4gICAgKCAgICAgICAgI3skcHJlZml4fS1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JGRwcHh9KSxcbiAgICAoICAgICAgICAgICAgICAgICN7JHByZWZpeH0tcmVzb2x1dGlvbjogI3skZHBpfWRwaSksXG4gICAgKCAgICAgICAgICAgICAgICAjeyRwcmVmaXh9LXJlc29sdXRpb246ICN7JGRwcHh9ZHBweCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFVzYWdlIGV4YW1wbGU6XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLy8gUmVuZGVycyBvbiBzY3JlZW5zIHdpdGggPj0gMiByZXNvbHV0aW9uXG4vL0BpbmNsdWRlIGlmLW1pbi1yZXNvbHV0aW9uICgyKSB7XG4vLyAgICBkaXYgeyBjb2xvcjojMDAwOyB9XG4vL31cbi8vXG4vLy8vIFJlbmRlcnMgb24gc2NyZWVucyB3aXRoID49IDEuNSByZXNvbHV0aW9uXG4vL0BpbmNsdWRlIGlmLW1pbi1yZXNvbHV0aW9uICgxLjUpIHtcbi8vICAgIGRpdiB7IGNvbG9yOiMwMDA7IH1cbi8vfVxuLy9cbi8vLy8gUmVuZGVycyBvbiBzY3JlZW5zIHdpdGggPD0gMS41IHJlc29sdXRpb25cbi8vQGluY2x1ZGUgaWYtbWF4LXJlc29sdXRpb24gKDEuNSkge1xuLy8gICAgZGl2IHsgY29sb3I6IzAwMDsgfVxuLy99XG4vL1xuLy8vLyBSZW5kZXJzIG9uIHNjcmVlbnMgd2l0aCA8PSAyIHJlc29sdXRpb25cbi8vQGluY2x1ZGUgaWYtbWF4LXJlc29sdXRpb24gKDIpIHtcbi8vICAgIGRpdiB7IGNvbG9yOiMwMDA7IH1cbi8vfVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogRk9STVMgLSBDT01NT05cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEZpZWxkc2V0c1xuICovXG5cbi5maWVsZHNldCB7XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW1lbnQtc3BhY2luZztcbiAgICB9XG5cbiAgICBwLnJlcXVpcmVkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cbn1cblxuLmZpZWxkc2V0ICsgLmZpZWxkc2V0IHtcbiAgICBtYXJnaW4tdG9wOiAoJGdhcCAvIDIpO1xufVxuXG5mb3JtIC5sZWdlbmQge1xuICAgIEBpbmNsdWRlIGgzO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSW5wdXQgQm94XG4gKi9cblxuLmlucHV0LWJveCB7XG4gICAgcGFkZGluZy10b3A6IDJweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG59XG5cbmxpLmNlbnRpbmVsLWxvZ29zIGRpdi5pbnB1dC1ib3ggIHtcbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxufVxuXG5cbi8qIEZvciBhZGphY2VudCBzZWxlY3QgaW5wdXRzLiAqL1xuLyogRXhhbXBsZTogY3JlZGl0IGNhcmQgZXhwaXJhdGlvbiBtb250aCBhbmQgeWVhci4gKi9cbi5pbnB1dC1ib3ggLnYtZml4IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIExhYmVsc1xuICovXG5cbmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBAaW5jbHVkZSBub3Qtc2VsZWN0YWJsZTtcbn1cblxubGFiZWwucmVxdWlyZWQ6YWZ0ZXIsXG5zcGFuLnJlcXVpcmVkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnIConO1xuICAgIGNvbG9yOiAkYy1kYW5nZXI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG59XG5cbmxhYmVsLnJlcXVpcmVkIGVtLFxuc3Bhbi5yZXF1aXJlZCBlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSGludHNcbiAqL1xuXG4uaW5wdXQtaGludCB7XG4gICAgY29sb3I6ICRjLXRleHQtZ3JheTtcbiAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNlbGVjdFxuICovXG5cbnNlbGVjdCB7XG4vLyAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQ0NDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcGFkZGluZzogNXB4IDE1cHggNXB4IDEwcHg7XG5cbiAgICAvLyBTZWxlY3QgY2hldnJvblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCRUFBQUFMQ0FZQUFBQ1pJR1lIQUFBQUFYTlNSMElBcnM0YzZRQUFBQWx3U0ZsekFBQUxFd0FBQ3hNQkFKcWNHQUFBQkNKcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWxoTlVDQkRiM0psSURVdU5DNHdJajRLSUNBZ1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNEtJQ0FnSUNBZ1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZkR2xtWmowaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTBhV1ptTHpFdU1DOGlDaUFnSUNBZ0lDQWdJQ0FnSUhodGJHNXpPbVY0YVdZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZaWGhwWmk4eExqQXZJZ29nSUNBZ0lDQWdJQ0FnSUNCNGJXeHVjenBrWXowaWFIUjBjRG92TDNCMWNtd3ViM0puTDJSakwyVnNaVzFsYm5Sekx6RXVNUzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T25odGNEMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMeUkrQ2lBZ0lDQWdJQ0FnSUR4MGFXWm1PbEpsYzI5c2RYUnBiMjVWYm1sMFBqSThMM1JwWm1ZNlVtVnpiMngxZEdsdmJsVnVhWFErQ2lBZ0lDQWdJQ0FnSUR4MGFXWm1Pa052YlhCeVpYTnphVzl1UGpVOEwzUnBabVk2UTI5dGNISmxjM05wYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xoU1pYTnZiSFYwYVc5dVBqY3lQQzkwYVdabU9saFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFBjbWxsYm5SaGRHbHZiajR4UEM5MGFXWm1Pazl5YVdWdWRHRjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBaVW1WemIyeDFkR2x2Ymo0M01qd3ZkR2xtWmpwWlVtVnpiMngxZEdsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlVHbDRaV3hZUkdsdFpXNXphVzl1UGpFM1BDOWxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajRLSUNBZ0lDQWdJQ0FnUEdWNGFXWTZRMjlzYjNKVGNHRmpaVDR4UEM5bGVHbG1Pa052Ykc5eVUzQmhZMlUrQ2lBZ0lDQWdJQ0FnSUR4bGVHbG1PbEJwZUdWc1dVUnBiV1Z1YzJsdmJqNHhNVHd2WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K0NpQWdJQ0FnSUNBZ0lEeGtZenB6ZFdKcVpXTjBQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNtUm1Pa0poWnk4K0NpQWdJQ0FnSUNBZ0lEd3ZaR002YzNWaWFtVmpkRDRLSUNBZ0lDQWdJQ0FnUEhodGNEcE5iMlJwWm5sRVlYUmxQakl3TVRjdE1UQXRNekJVTURFNk1UQTZOakk4TDNodGNEcE5iMlJwWm5sRVlYUmxQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rTnlaV0YwYjNKVWIyOXNQbEJwZUdWc2JXRjBiM0lnTXk0MlBDOTRiWEE2UTNKbFlYUnZjbFJ2YjJ3K0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdvOVdwdGVBQUFBMDBsRVFWUW9GWldQeXc0QlFSQkZaMHM4UXNJdldWdjRENUVRR3l3a1ZoWSt5dGZZZUNkMm5OTzZFNFB4cU9UTTdhcTZWZE9kWmZlb0lUMm94L3liNk5QdlhJZ0czeVZzWVE0bCtCVDI5ZWwzenZtc0MyZTRScDJpRlhnWDF1MC8rcDNQbXJDQUU2UkZFODdQVHpPM25oYm9kODc1RUdXK0ZwTGh3SGtHNGFwUnphMm5IK2wzTGhkZWRRVVgwT2lieDlDS2FtN2R2cjZpSjRmTkF3eEhjR0FQNjZqbTF1Mi8zSUJhTHFwa0kzQ0Jnd2x6Ni9aL0NxL2FoeDI0UkRVdmZBSzl0K0hBRURaUi8xNlF0clk1ZEVBdGpCdXBRVGhuRms0Ylh3QUFBQUJKUlU1RXJrSmdnZz09Jyk7XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDEwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuc2VsZWN0ICsgc2VsZWN0IHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG5zZWxlY3RbbXVsdGlwbGVdIHtcbiAgICB3aWR0aDogMjcwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtaW5wdXQtYm9yZGVyO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuICAgIHBhZGRpbmc6IDVweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogVGV4dGFyZWFcbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgIHBhZGRpbmc6IDVweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSW5wdXRzXG4gKi9cblxuLmlucHV0LXRleHQge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWlucHV0LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWlucHV0LWJvcmRlci1mb2N1cztcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG59XG5cbi5pbnB1dC10ZXh0LnZhbGlkYXRpb24tZmFpbGVkIHtcbiAgICBib3JkZXItY29sb3I6ICRjLWRhbmdlcjtcbn1cblxuLy8gQ29sb3IgdGhlIG91dGxpbmUgZm9yIGZvY3VzZWQgZmllbGRzIGluIENocm9tZSwgb3IgZWxzZSB0aGUgZGVmYXVsdCBibHVlIGRyb3ducyBvdXQgdGhlIDFweCByZWQgYm9yZGVyXG4uaW5wdXQtdGV4dC52YWxpZGF0aW9uLWZhaWxlZDpmb2N1cyB7XG4gICAgb3V0bGluZS1jb2xvcjogdGludCgkYy1kYW5nZXIsIDUwJSk7XG59XG5cbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1zZWFyY2hdLFxuaW5wdXRbdHlwZT1udW1iZXJdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXRleHRdIHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgcGFkZGluZzogMCA4cHg7XG59XG5cbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1zZWFyY2hdLFxuaW5wdXRbdHlwZT1udW1iZXJdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXRleHRdIHtcbiAgICB3aWR0aDogKDIzMHB4ICsgMTM1cHgpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogT25seSBzaG93IG9uIGlQaG9uZXMgKG5vdCBpUGFkcyBvciBhbnkgb3RoZXIgZGV2aWNlKSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWRldmljZS13aWR0aDogNTY4cHgpIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gICAgaW5wdXRbdHlwZT1lbWFpbF0sXG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdLFxuICAgIGlucHV0W3R5cGU9bnVtYmVyXSxcbiAgICBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgICBpbnB1dFt0eXBlPXRlbF0sXG4gICAgaW5wdXRbdHlwZT10ZXh0XSxcbiAgICBzZWxlY3Qge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IC8qIFByZXZlbnQgZnJvbSB6b29taW5nIG9uIGZvY3VzICovXG4gICAgfVxufVxuXG4uaWU4IC5pbnB1dC10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIElucHV0cyAtIFF1YW50aXR5XG4gKi9cblxuaW5wdXRbdHlwZT1udW1iZXJdLnF0eSxcbmlucHV0W3R5cGU9dGV4dF0ucXR5IHtcbiAgICB3aWR0aDogM2VtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQbGFjZWhvbGRlclxuICovXG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjLWlucHV0LXBsYWNlaG9sZGVyO1xufVxuXG5pbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGMtaW5wdXQtcGxhY2Vob2xkZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENoZWNrYm94IEFuZCBSYWRpb1xuICovXG5cbi5jaGVja2JveCxcbi5yYWRpbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jaGVja2JveCArIGxhYmVsLFxuLnJhZGlvICsgbGFiZWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogODUlO1xuICAgIHBhZGRpbmc6IDAgMCAwIDhweDtcbiAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBWYWxpZGF0aW9uXG4gKi9cblxucC5yZXF1aXJlZCxcbi52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIGNvbG9yOiAkYy1kYW5nZXI7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEZvcm0gTGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmZvcm0tbGlzdCB7XG5cbiAgICAmID4gbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmc7XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgd2lkdGg6ICgyMzBweCArIDEzNXB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5pbnB1dC1yYW5nZSAuaW5wdXQtdGV4dCB7XG4gICAgICAgIHdpZHRoOiA3NHB4O1xuICAgIH1cblxuICAgIC5maWVsZCxcbiAgICAud2lkZSxcbiAgICAuY29udHJvbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbiAgICB9XG59XG5cbi8qIFR1cm4gdGhlIGxhYmVsIG9mIGNvbnRyb2xzIChyYWRpby9jaGVja2JveCkgaW50byBhIGJ1dHRvbiBzdHlsZSB0aGF0IHdyYXBzIHRoZSBpbnB1dCAqL1xuLmZvcm0tbGlzdCAuY29udHJvbCxcbi5zcC1tZXRob2RzIGR0LFxuI2NoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZC1sb2FkIC5zcC1tZXRob2RzIGRkLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkLFxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3Qge1xuXG4gICAgZGl2LmlucHV0LWJveCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQucmFkaW8sXG4gICAgaW5wdXQuY2hlY2tib3gge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB0b3VjaC1idXR0b247XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWluLXdpZHRoOiAyNTBweDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMHB4IDZweCA0MHB4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbW9kdWxlLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBXaGVuIGEgbGFiZWwgaXMgbmV4dCB0byBhbiBpbnB1dCB0aGF0IGlzIHNldCB0byBub3QgZGlzcGxheSwgd2Ugc2hvdWxkIHN0eWxlIHRoZSBsYWJlbCBpbiBhIG5vbi1jbGlja2FibGUgc3RhdGUgKi9cbiAgICAubm8tZGlzcGxheSArIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxhYmVsLFxuLmNvbDItc2V0IC5mb3JtLWxpc3QgLmNvbnRyb2wgbGFiZWwge1xuICAgIG1pbi13aWR0aDogaW5oZXJpdDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1saXN0IC5jb250cm9sLnJlbWVtYmVyLW1lLWJveCB7XG4gICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtaW4td2lkdGg6IGluaGVyaXQ7XG4gICAgfVxufVxuXG4uZm9ybS1saXN0IC5jb250cm9sIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgbGFiZWwge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIH1cbiAgICAuaW5wdXQtYm94IHtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG5mb3JtIHtcbiAgICAuZm9ybS1pbnN0cnVjdGlvbnMge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBUYWJsZSBIZWxwZXJzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGlkZS10aCB7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIERhdGEgVGFibGVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kYXRhLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmRhdGEtdGFibGUgdGQsXG4uZGF0YS10YWJsZSB0aCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZGF0YS10YWJsZSB0aCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5kYXRhLXRhYmxlIHRoZWFkIHRoLFxuLmRhdGEtdGFibGUgdGJvZHkgdGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy10YWJsZS1ib3JkZXI7XG59XG5cbi5kYXRhLXRhYmxlIHRib2R5IHRkLFxuLmRhdGEtdGFibGUgdGZvb3QgdGQge1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zZXJpZjtcbn1cblxuLmRhdGEtdGFibGUgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uZGF0YS10YWJsZSB0Ym9keSB0ZCAuaXRlbS1vcHRpb25zIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgZHQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOic7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBHZW5lcmljIEluZm8gVGFibGVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5pbmZvLWJveCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtdGFibGUtYm9yZGVyO1xuICAgIHBhZGRpbmc6IDEycHggMTVweDtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuXG4gICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbn1cblxuLmluZm8tdGFibGUgdGgsXG4uaW5mby10YWJsZSB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmluZm8tdGFibGUgdGgge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDRweCAyMHB4IDRweCAwO1xufVxuXG4uaW5mby10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogNHB4IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFplYnJhLVN0cmlwZSBUYWJsZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnplYnJhLXRhYmxlIHtcbiAgICB0cjpmaXJzdC1jaGlsZCxcbiAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy10YWJsZS1ib3JkZXI7XG4gICAgfVxuXG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtdGFibGUtYm9yZGVyO1xuICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIHRyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtdGFibGUtemVicmEtZXZlbjtcbiAgICB9XG5cbiAgICB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXRhYmxlLXplYnJhLW9kZDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIExpbmVhcml6ZSBUYWJsZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIGxpbmVhcml6ZS10YWJsZSB7XG5cbiAgICB0cixcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIHRoZWFkIHRoIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG5cbiAgICB0aGVhZCB0aC5saW4taGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgdGhlYWQgdGg6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB0Ym9keSB0ciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgfVxuXG4gICAgdGJvZHkgdGQge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggNHB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgdGJvZHkgdGQubGluLWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQgaDMge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICB0Ym9keSB0ZFtkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxuXG4gICAgdGJvZHkgdGRbZGF0YS1yd2QtbGFiZWxdOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1yd2QtbGFiZWwpIFwiOlwiO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgdGZvb3QgdHIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgdGZvb3QgdHI6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIH1cblxuICAgIHRmb290IHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIHRmb290IHRkLmxpbi1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB0Zm9vdCB0ZDpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgzLzUpO1xuICAgIH1cblxuICAgIHRmb290IHRkOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDIvNSk7XG4gICAgfVxuXG4gICAgLyogSGVscGVycyAqL1xuXG4gICAgLmxpbmVhcml6ZS1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubGluZWFyaXplLXVucGFkIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAubGluZWFyaXplLXNob3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5saW5lYXJpemUtdGFibGUge1xuICAgICAgICBAaW5jbHVkZSBsaW5lYXJpemUtdGFibGU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgIC5saW5lYXJpemUtdGFibGUtbGFyZ2Uge1xuICAgICAgICBAaW5jbHVkZSBsaW5lYXJpemUtdGFibGU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1zbWFsbCArIDEpIHtcbiAgICAubGluZWFyaXplLXRhYmxlIC5saW5lYXJpemUtY29sbGFwc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogR2xvYmFsXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sLFxuYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ud3JhcHBlciB7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG5cbi53cmFwcGVyOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogSGVhZGVyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG5cbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtY29udGFpbmVyLXdpZHRoO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAkdHJpbTtcbiAgICB9XG5cbiAgICAucGFnZS1oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxufVxuXG4uaGVhZGVyLWxhbmd1YWdlLWNvbnRhaW5lcixcbi5wYWdlLWhlYWRlciB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIExhbmd1YWdlIHN3aXRjaGVyICsgd2VsY29tZSBtZXNzYWdlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQge1xuICAgIHBhZGRpbmc6ICRnYXA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYWN0aW9uO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAuaGVhZGVyLWxhbmd1YWdlLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LXdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAuZm9ybS1sYW5ndWFnZSxcbiAgICAuY3VycmVuY3ktc3dpdGNoZXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgIH1cblxuICAgIC53ZWxjb21lLW1zZyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbi5wYWdlLWhlYWRlci1jb250YWluZXIgLnN0b3JlLWxhbmd1YWdlLWNvbnRhaW5lciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1heC13aWR0aDogMzUlO1xuICAgIHBhZGRpbmc6IDEzcHggMTVweCAxMHB4IDEwcHg7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnN0b3JlLWxhbmd1YWdlLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIC8vIFNldHRpbmcgdGhpcyBmb250LXNpemUgd2lsbCBjYXVzaW5nIHpvb21pbmcgb24gaU9zIGRldmljZXMsIGJ1dCBpdCBrZWVwcyBoZWFkZXIgbW9yZSB0aWR5XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCxcbi5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCBhIHtcbiAgICBjb2xvcjogJGMtdGV4dC13aGl0ZTtcbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG5cbiAgICAuaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMb2dvXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY1JTtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6ICRnYXA7XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5sYXJnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ubG9nbzpob3ZlciB7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuXG4gICAgLmxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA5MHB4O1xuXG4gICAgICAgIC5zbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5sYXJnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTa2lwIExpbmtzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2tpcC1saW5rcyB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0VERURFRDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcblxuICAgIC5za2lwLWxpbmtzIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIC0gTGlua1xuICovXG5cbi5za2lwLWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlO1xuICAgIGhlaWdodDogNDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuYS5za2lwLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNraXAtbGluazpub3QoLnNraXAtYWN0aXZlKTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG5cbiAgICAuc2tpcC1saW5rIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0VERURFRDtcbiAgICB9XG5cbiAgICAuc2tpcC1saW5rOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgfVxuXG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsIDUwMHB4KSB7XG5cbiAgICAuc2tpcC1saW5rIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gQWN0aXZlXG4gKi9cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuXG4gICAgLnNraXAtbGluay5za2lwLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNFREVERUQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5za2lwLWxpbmsuc2tpcC1hY3RpdmUgc3BhbiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIExpbmsgLSBJY29uXG4gKi9cblxuLnNraXAtbGluayAuaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uc2tpcC1saW5rLnNraXAtbmF2IC5pY29uLFxuLnNraXAtbGluay5za2lwLWNhcnQ6bm90KC5uby1jb3VudCkgLmljb24ge1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsIDUwMHB4KSB7XG5cbiAgICAuc2tpcC1saW5rIC5pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgfVxuXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNraXAgTGluayAtIExhYmVsXG4gKi9cblxuLnNraXAtbGluayAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsIDUwMHB4KSB7XG5cbiAgICAuc2tpcC1saW5rIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2tpcCBDb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2tpcC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2tpcC1jb250ZW50LnNraXAtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjRURFREVEO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBHbG9iYWwgSGVhZGVyIE5hdmlnYXRpb25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIExpbmtcblxuICAgICNoZWFkZXItYWNjb3VudCBsaSBhLFxuICAgIC5uYXYtcHJpbWFyeSBhLmxldmVsMCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDI1cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgI2hlYWRlci1hY2NvdW50IGxpOmxhc3QtY2hpbGQgYSxcbiAgICAubmF2LXByaW1hcnkgbGkubGV2ZWwwOmxhc3QtY2hpbGQgYS5sZXZlbDAge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5uby10b3VjaCAjaGVhZGVyLWFjY291bnQgYTpob3ZlcixcbiAgICAubm8tdG91Y2ggLm5hdi1wcmltYXJ5IGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxufVxuXG4uYWNjb3VudC1jYXJ0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MHB4O1xuICAgIHJpZ2h0OjBweDtcblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTmF2IC0gU2tpcCBMaW5rXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2tpcC1uYXYge1xuICAgIHdpZHRoOiA0MCU7XG5cbiAgICAmOm5vdCguc2tpcC1hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4KzRweCAoJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldC8yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNraXAtbmF2IC5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uc2tpcC1uYXYgLmljb24ge1xuICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDArNHB4ICgkdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0LzIpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCA1MDBweCkge1xuXG4gICAgLnNraXAtbmF2IHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcblxuICAgIC5za2lwLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE5hdiAtIFNraXAgQ29udGVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG5cbiAgICAjaGVhZGVyLW5hdiB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIH1cblxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuXG4gICAgI2hlYWRlci1uYXYge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgLyogRm9yY2UgdmlzaWJpbGl0eSAqL1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICB9XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTmF2IFByaW1hcnlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcbiAgICAubmF2LXByaW1hcnkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogR2VuZXJhbCBOYXZpZ2F0aW9uIFN0eWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJG5hdi1wcmltYXJ5LWhlaWdodDogMzBweDtcblxuLm5hdi1wcmltYXJ5IHtcbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRuYXYtcHJpbWFyeS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGxpLmxldmVsMSBhIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgfVxufVxuXG4vLyBTaG93IHN1Yi1tZW51cyB3aGVuIEpTIGFkZHMgdGhlIGFwcHJvcHJpYXRlIGNsYXNzZXNcbi5uYXYtcHJpbWFyeSAubWVudS1hY3RpdmUgPiB1bC5sZXZlbDAsXG4ubmF2LXByaW1hcnkgbGkubGV2ZWwwIGxpLnN1Yi1tZW51LWFjdGl2ZSA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdi1wcmltYXJ5IGxpLmxldmVsMCA+IGEge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNtYWxsIFZpZXdwb3J0cyAtIEFjY29yZGlvbiBTdHlsZSBNZW51XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5uYXYtcHJpbWFyeSB7XG5cbiAgICAgICAgLy8gSW5jcmVhc2UgY2xpY2thYmxlIGFyZWEgb2YgYW5jaG9ycyBmb3Igc21hbGwgdmlld3BvcnRzXG4gICAgICAgIGEubGV2ZWwwLFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbmF2LXByaW1hcnktaGVpZ2h0ICsgNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGlkZSBhbGwgc3ViLW1lbnVzXG4gICAgICAgIGxpLmxldmVsMCB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5kZW50IHN1Yi1tZW51c1xuICAgICAgICBsaS5sZXZlbDAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpLmxldmVsMSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaS5wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHJpZ2h0LCA1cHgsICNjY2MpO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWVudSBhY3RpdmUgc3RhdGVzXG4gICAgICAgIGxpLnBhcmVudC5zdWItbWVudS1hY3RpdmUgPiBhOmFmdGVyLFxuICAgICAgICBsaS5wYXJlbnQubWVudS1hY3RpdmUgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKGRvd24sIDVweCwgI2NjYyk7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaS5tZW51LWFjdGl2ZSA+IGEsXG4gICAgICAgIGxpLnN1Yi1tZW51LWFjdGl2ZSA+IGEge1xuICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTGFyZ2UgVmlld3BvcnRzIC0gRHJvcGRvd24gTWVudVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuXG4gICAgLm5hdi1wcmltYXJ5IHtcblxuICAgICAgICBhLmxldmVsMCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaS5sZXZlbDAsXG4gICAgICAgIGEubGV2ZWwwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyLFxuICAgICAgICBsaTpob3ZlciA+IGEge1xuICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWFjdGl2ZSB7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBEZWZhdWx0IHN0eWxlcyBmb3IgMSsgZHJvcC1kb3duIG1lbnVzICovXG4gICAgICAgIGxpLmxldmVsMCB1bCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogJG5hdi1wcmltYXJ5LWhlaWdodDsgLyogSGVpZ2h0IG9mIFwiLm5hdi1wcmltYXJ5IGEubGV2ZWwwXCIgKi9cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyAvKiBIaWRlIHVudGlsIGRpc3BsYXllZC4gKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIExldmVsIDIrICovXG4gICAgICAgIGxpLmxldmVsMSB1bCB7XG4gICAgICAgICAgICBsZWZ0OiA2MHB4O1xuICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQ2xhc3MgZm9yIGpzIHRvIGFkZCBicmllZmx5IHRvIGV2YWx1YXRlIGVsZW1lbnQgcG9zaXRpb25pbmcuICovXG4gICAgICAgIGxpLmxldmVsMCB1bC5sZXZlbDAucG9zaXRpb24tdGVzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIENvcnJlY3QgbWVudXMgdGhhdCB3aWxsIGhhbmcgb2ZmIHRoZSBwYWdlIChjbGFzcyBhZGRlZCBieSBqcykgKi9cbiAgICAgICAgbGkubGV2ZWwwIHVsLmxldmVsMC5zcGlsbCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG5cbiAgICAgICAgICAgIC8vIFN1Yi1tZW51IGRyb3AgZG93biB0byB0aGUgbGVmdFxuICAgICAgICAgICAgbGkubGV2ZWwxIHVsIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIExldmVsIDErICovXG4gICAgICAgIGxpLmxldmVsMCBsaS5wYXJlbnQgPiBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUocmlnaHQsIDRweCwgI2NjYyk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2LXByaW1hcnkgbGkubWVudS1hY3RpdmUge1xuICAgID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW4gLSBNZW51XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIG1lbnUge1xuICAgIGJhY2tncm91bmQ6ICNGQkZCRkI7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGMtbW9kdWxlLWJvcmRlcjtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIC0gU2tpcCBMaW5rXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2tpcC1zZWFyY2gge1xuXG4gICAgJjpub3QoLnNraXAtYWN0aXZlKTpob3ZlciB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MCs0cHggKC0xNTBweCArICgkdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0LzIpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1zcHJpdGU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDArNHB4ICgtMTUwcHggKyAoJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldC8yKSk7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuXG4gICAgLnNraXAtc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIC0gU2tpcCBDb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jaGVhZGVyLXNlYXJjaCB7XG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcblxuICAgICNoZWFkZXItc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIEZvcmNlIHZpc2liaWxpdHlcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDU1cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNlYXJjaCBJbnB1dFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI3NlYXJjaF9taW5pX2Zvcm0gLmlucHV0LWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4jc2VhcmNoX21pbmlfZm9ybSBsYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuI3NlYXJjaCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG59XG5cbiNzZWFyY2hfbWluaV9mb3JtIC5zZWFyY2gtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBpbWFnZS1yZXBsYWNlbWVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuI3NlYXJjaF9taW5pX2Zvcm0gLnNlYXJjaC1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgQGV4dGVuZCAuaWNvbi1zcHJpdGU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCs0cHggKC0xNTBweCArICgkdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0LzIpKTtcbn1cblxuI3NlYXJjaF9taW5pX2Zvcm0gLnNlYXJjaC1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbiNzZWFyY2hfbWluaV9mb3JtIC5zZWFyY2gtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIG1hcmdpbi10b3A6IC0xNXB4ICsgMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweCArIDJweDtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogSGVhZGVyIC0gQWNjb3VudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gQWNjb3VudFxuICovXG5cbi5za2lwLWFjY291bnQge1xuXG4gICAgJjpub3QoLnNraXAtYWN0aXZlKTpob3ZlciB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4KzRweCAoLTUwcHggKyAoJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldC8yKSArIDJweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMHB4KzRweCAoLTUwcHggKyAoJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldC8yKSArIDJweCk7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuXG4gICAgLnNraXAtYWNjb3VudCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLnNraXAtYWNjb3VudDpob3ZlciB7XG4gICAgfVxuXG4gICAgI2hlYWRlci1hY2NvdW50LnNraXAtYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjAwO1xuICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgIHJpZ2h0OiAxMTVweDtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgICNoZWFkZXItYWNjb3VudCBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgfVxuXG4gICAgI2hlYWRlci1hY2NvdW50IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBBY2NvdW50IExpbmtzXG4gKi9cblxuI2hlYWRlci1hY2NvdW50IHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbn1cblxuI2hlYWRlci1hY2NvdW50IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBsaW5lLWhlaWdodDoyM3B4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI2hlYWRlci1hY2NvdW50IGE6aG92ZXIge1xuICAgIGNvbG9yOiAkYy1hY3Rpb247XG59XG5cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogSGVhZGVyIC0gQ2FydFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gQ2FydFxuICovXG5cbi5za2lwLWNhcnQge1xuICAgICY6bm90KC5za2lwLWFjdGl2ZSk6aG92ZXIge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAoLTEwMHB4ICsgKCR0b29sYmFyLWljb24tcGFkZGluZy1vZmZzZXQvMikgKyAxcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTBweCAoLTEwMHB4ICsgKCR0b29sYmFyLWljb24tcGFkZGluZy1vZmZzZXQvMikgKyAxcHgpO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcblxuICAgIC5za2lwLWNhcnQge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cblxuICAgIC5za2lwLWNhcnQ6aG92ZXIge1xuICAgIH1cblxuICAgICNoZWFkZXItY2FydC5za2lwLWFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDIwMDtcbiAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBDYXJ0IE5vdGlmaWVyXG4gKi9cblxuLnNraXAtY2FydCAuY291bnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRvcDogLTZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkYy1hY3Rpb24sIDAuOSk7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG59XG4uc2tpcC1saW5rLnNraXAtYWN0aXZlIC5jb3VudCB7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4vLyBVc2luZyBleHRyYSAuc2tpcC1saW5rIHNlbGVjdG9yIHRvIGluY3JlYXNlIHNwZWNpZmljaXR5XG4uc2tpcC1saW5rLnNraXAtY2FydCAuY291bnQge1xufVxuXG4uc2tpcC1jYXJ0Lm5vLWNvdW50IC5jb3VudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA0OTlweCkge1xuICAgIC5za2lwLWNhcnQgLmNvdW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuICAgIC5za2lwLWNhcnQge1xuICAgICAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvdW50IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5za2lwLWNhcnQgLmNvdW50LFxuICAgIC5za2lwLWxpbmsuc2tpcC1hY3RpdmUgLmNvdW50IHtcbiAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICB9XG59XG5cbi5za2lwLWNhcnQgLmNvdW50LmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBNaW5pIENhcnQgLSBFbXB0eVxuICovXG5cbi5jYXJ0LW1lbnUgLmVtcHR5IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTWluaSBDYXJ0IC0gRnVsbFxuICovXG5cbi8qIEFjdGlvbnMgKi9cblxuLmNhcnQtbWVudSAuYWN0aW9ucyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAxNXB4O1xufVxuXG4uY2FydC1tZW51IC5hY3Rpb25zIC5idXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA0OCU7XG59XG5cbi5jYXJ0LW1lbnUgLmFjdGlvbnMgLmJ1dHRvbiArIC5idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiA0JTtcbn1cblxuLyogU3VidG90YWwgKi9cblxuLmNhcnQtbWVudSAuc3VidG90YWwge1xuICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4vKiBMaXN0ICovXG5cbi5taW5pLWNhcnQtbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ubWluaS1jYXJ0LWxpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAoMTVweCArIDYwcHggKyAxNXB4KTtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCAoMTVweCArIDYwcHggKyAxNXB4KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbn1cblxuLm1pbmktY2FydC1saXN0IC5wcm9kdWN0LW5hbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1pbmktY2FydC1saXN0IC5wcm9kdWN0LWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTVweDtcbiAgICB0b3A6IDE1cHg7XG59XG5cbi5taW5pLWNhcnQtbGlzdCAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbn1cblxuLy8ubWluaS1jYXJ0LWxpc3QgLmRldGFpbHMgeyB9XG5cbi5taW5pLWNhcnQtbGlzdCAuaGFzLW9wdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICRjLXRleHQtZ3JheTtcbiAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG59XG5cbi8qIFRvbyBmdWxsIC0gYWRkaXRpb25hbCBpdGVtcyB3aWxsIGJlIHNob3duIGluIGNhcnQgKi9cbi5jYXJ0LW1lbnUgLmxhc3QtYWRkZWQge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAxNXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xufVxuIiwiLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHRvdG9rYWVsb19kZWZhdWx0XG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEdlbmVyYWwgUHJvZHVjdCBMaXN0IFN0eWxlcyAobm90IG1vZHVsZS1zcGVjaWZpYylcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJvZHVjdCBMaXN0IEdlbmVyYWxcbiAqL1xuXG4uY2F0ZWdvcnktdGl0bGUgaDEsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wYWdlLXRpdGxlIGgxIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY2F0ZWdvcnktaW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206ICRiLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFByZXZlbnQgYnV0dG9uIG92ZXJsYXBwaW5nIHdoZW4gYnV0dG9ucyBoYXZlIGxvbmcgdGV4dCwgc3VjaCBhcyBub24tRW5nbGlzaCB0cmFuc2xhdGlvbnNcbi5wcm9kdWN0cy1saXN0IC5hY3Rpb24gLmJ1dHRvbixcbi5wcm9kdWN0cy1ncmlkIC5hY3Rpb25zIC5idXR0b24ge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUHJvZHVjdCBHcmlkXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kcHJvZHVjdC1jb2x1bW4tc3BhY2luZzogMjBweDtcblxuLnByb2R1Y3RzLWdyaWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2R1Y3RzLWdyaWQ6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4ucHJvZHVjdHMtZ3JpZCA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2R1Y3QtY29sdW1uLXNwYWNpbmc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgJjpoaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLndpZGdldC1uZXctcHJvZHVjdHMge1xuICAgIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgICB9XG59XG5cbi8vIElmIHRoZSBoZWlnaHQgb2YgdGhlIC5wcm9kdWN0LWluZm8gZWxlbWVudCBjaGFuZ2VzLCB0aGlzIHZhbHVlIHNob3VsZCBiZSBhZGp1c3RlZFxuJHByb2R1Y3RzR3JpZEFjdGlvbkhlaWdodDogODVweDtcblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW5mbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAkcHJvZHVjdHNHcmlkQWN0aW9uSGVpZ2h0ICsgMTBweDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLmFjdGlvbnMge1xuICAgIHBhZGRpbmctdG9wOiAkYm94LXNwYWNpbmc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIG1pbi1oZWlnaHQ6ICRwcm9kdWN0c0dyaWRBY3Rpb25IZWlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9kdWN0cy1ncmlkIC5yYXRpbmdzIC5yYXRpbmctYm94IHtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnJhdGluZ3MgLmFtb3VudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByaWNlLWJveCB7XG4gICAgbWFyZ2luOiAwIDAgNXB4O1xufVxuXG4ucHJvZHVjdHMtZ3JpZCAuYWRkLXRvLWxpbmtzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyogQ29uZmlnOiBUd28gY29sdW1ucyArIGZsZXhpYmxlIGd1dHRlciAqL1xuXG4vLyBDb250YWluZXI6IDQ4MCAtICgyICogMjAgdHJpbSkgPSA0NDBcbi8vIE1hdGg6ICg0NDAgLSAoMjAgZ3V0dGVyKSkgLyAyIGl0ZW1zID0gMjEwXG5cbi5wcm9kdWN0cy1ncmlkID4gbGkge1xufVxuXG4ucHJvZHVjdHMtZ3JpZCA+IGxpOm50aC1jaGlsZChvZGQpIHtcbn1cblxuLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQoZXZlbikge1xufVxuXG4ucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pbWFnZSB7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBQcm9kdWN0IExpc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcm9kdWN0cy1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAmID4gbGkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMi8zKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkYm94LXNwYWNpbmcgKiAyKTtcblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAucmF0aW5ncyB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAucmF0aW5nLWJveCxcbiAgICAgICAgLnJhdGluZy1saW5rcyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICAucmF0aW5nLWxpbmtzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJpY2UtYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLnByaWNlLWJveCAucHJpY2Uge1xuICAgIH1cbiAgICAuYWN0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAkZWxlbWVudC1zcGFjaW5nIDA7XG4gICAgfVxuICAgIC5kZXNjIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGVsZW1lbnQtc3BhY2luZztcbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmltYXJ5LFxuICAgIC5kZXNjIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5wcm9kdWN0LXNlY29uZGFyeSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGNsZWFyOiByaWdodDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLXhzbWFsbCArIDEpIHtcbiAgICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1uYW1lIGEge1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAxMjc5cHgpIHtcbiAgICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIHtcbiAgICAgICAgLnByb2R1Y3QtcHJpbWFyeSxcbiAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1zZWNvbmRhcnkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA2MDBweCkge1xuICAgIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCB7XG4gICAgICAgIC5wcm9kdWN0LXByaW1hcnksXG4gICAgICAgIC5wcm9kdWN0LXNlY29uZGFyeSxcbiAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBNaW5pIFByb2R1Y3QgTGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1pbmktcHJvZHVjdHMtbGlzdCB7XG5cbiAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtaW4td2lkdGg6IDUwcHg7XG4gICAgfVxuICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbGx5IGNlbnRlciBwcm9kdWN0IG5hbWVcbiAgICAucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1pbmktcHJvZHVjdHMtaW1hZ2VzLWxpc3Qge1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIGxpLml0ZW0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDVweCAxMHB4IDA7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXRhbG9nIC0gTGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNhdGVnb3J5LWltYWdlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6aGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIExheWVyZWQgTmF2aWdhdGlvblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1zdWJ0aXRsZS0tZmlsdGVyIHtcbiAgICAvLyBXaWxsIGJlIHNob3duIGF0IHNtYWxsZXIgdmlld3BvcnRzXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb25EdEJhc2U7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQge1xuICAgIC8vIEFjY29yZGlvbnMgYXJlIGZ1bGx5IGV4cGFuZGVkIHVudGlsIGEgc21hbGxlciByZXNvbHV0aW9uLlxuICAgIEBpbmNsdWRlIGFjY29yZGlvbjtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IGRsIGRkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmc7XG4gICAgbWFyZ2luLXRvcDogJGJveC1zcGFjaW5nO1xuXG4gICAgb2wgPiBsaSA+IHNwYW4sIG9sID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBvbCA+IGxpID4gYSAuY291bnQge1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtKzEpIHtcbiAgICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQgPiBkbCA+IGR0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLnNpZGViYXIgLmJsb2NrLmJsb2NrLWxheWVyZWQtbmF2IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBXZSBkb24ndCB3YW50IFwiU2hvcCBCeVwiIHRvIHNob3cgd2hlbiB0aGVyZSBhcmUgbm8gZmlsdGVycyBhcHBsaWVkLCBhcyB0aGUgXCJGaWx0ZXJcIiBsaW5rIHdpbGwgc3VmZmljZVxuICAgIC5ibG9jay1sYXllcmVkLW5hdi0tbm8tZmlsdGVycyAuYmxvY2stdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHBhZGRpbmcgYW5kIHJlLWFkZCBpdCBhcyBtYXJnaW4tdG9wIHNvIHRoYXQgdGhlIG1hcmdpbiB3aWxsIGNvbGxhcHNlIHdpdGggZWxlbWVudHMgYWJvdmUgaXRcbiAgICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgQGluY2x1ZGUgYWNjb3JkaW9uQ29sbGFwc2U7XG4gICAgfVxuXG4gICAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1zdWJ0aXRsZS0tZmlsdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHJpZ2h0LCA0cHgsICNGRkZGRkYpO1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJ1dHRvbi1ob3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoZG93biwgNHB4LCAjRkZGRkZGKTtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI25hcnJvdy1ieS1saXN0LFxuICAgICNuYXJyb3ctYnktbGlzdDIge1xuICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuXG4gICAgLmJsb2NrLWxheWVyZWQtbmF2IGRsIG9sID4gbGkgPiBhLFxuICAgIC5ibG9jay1sYXllcmVkLW5hdiBkbCBvbCA+IGxpID4gc3BhbiB7XG4gICAgICAgIHBhZGRpbmc6IDdweDtcbiAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgfVxuXG4gICAgLmJsb2NrLWxheWVyZWQtbmF2IGRsIG9sID4gbGkgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgdG91Y2gtYnV0dG9uO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtbW9kdWxlLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuY3VycmVudGx5IHtcbiAgICAuYmxvY2stc3VidGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgaDQ7XG4gICAgfVxuXG4gICAgb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJveC1zcGFjaW5nO1xuICAgIH1cbiAgICBvbCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRlbGVtZW50LXNwYWNpbmc7XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENhdGFsb2cgLSBQcm9kdWN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvZHVjdC12aWV3IHtcbiAgICAucHJvZHVjdC1lc3NlbnRpYWwge1xuXG4gICAgICAgIC5leHRyYS1pbmZvIHtcbiAgICAgICAgICAgIC5yYXRpbmdzIHtcbiAgICAgICAgICAgICAgICAucmF0aW5nLWJveCxcbiAgICAgICAgICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnJhdGluZy1ib3gge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdhcDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtbmFtZSAuaDEsXG4gICAgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1uYW1lIGgxIHtcbiAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXNob3Age1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3QtbmFtZSAuaDEge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZXh0cmEtaW5mbyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0cmltLzI7XG4gICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtaW5mbyB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0cmltLzI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5leHRyYS1pbmZvLFxuICAgICAgICAucHJpY2UtaW5mbyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaG9ydC1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yYXRpbmdzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hdmFpbGFiaWxpdHkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgICAub2xkLXByaWNlLFxuICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2UsXG4gICAgICAgICAgICAucmVndWxhci1wcmljZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmVndWxhci1wcmljZSAucHJpY2UsXG4gICAgICAgICAgICAuc3BlY2lhbC1wcmljZSAucHJpY2UsXG4gICAgICAgICAgICAuZnVsbC1wcm9kdWN0LXByaWNlIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlIHtcblxuICAgICAgICAgICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuLndlZWUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcblxuICAgICAgICAgICAgICAgICAgICBzcGFuLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gICAgICAgICAgICAucHJpY2UtaW5jbHVkaW5nLXRheCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcblxuICAgICAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2UtYm94Lm1hcC1pbmZvIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGQtdG8tY2FydC13cmFwcGVyLFxuICAgIC5ibG9jay1yZWxhdGVkIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgfVxuXG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgODUwcHgpIHtcbiAgICAucHJvZHVjdC12aWV3IHtcbiAgICAgICAgLnByb2R1Y3Qtc2hvcCB7XG4gICAgICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgICAgICAucHJpY2UtZXhjbHVkaW5nLXRheCxcbiAgICAgICAgICAgICAgICAucHJpY2UtaW5jbHVkaW5nLXRheCB7XG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAucHJvZHVjdC12aWV3IHtcbiAgICAgICAgLmFkZC10by1jYXJ0LXdyYXBwZXIge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc2hvcCB7XG4gICAgICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgICAgICAucHJpY2UtZXhjbHVkaW5nLXRheCxcbiAgICAgICAgICAgICAgICAucHJpY2UtaW5jbHVkaW5nLXRheCB7XG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDQyMHB4KSB7XG4gICAgLnByb2R1Y3QtdmlldyB7XG4gICAgICAgIC5wcm9kdWN0LXNob3Age1xuICAgICAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICAgICAgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gICAgICAgICAgICAgICAgLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLy8gU2luY2UgcHJvZHVjdCBkZXRhaWwgcGFnZSBpbWFnZXMgYXJlIG5vdCBjcm9wcGVkIHRvIGEgc3BlY2lmaWMgYXNwZWN0IHJhdGlvLCBpbiBvcmRlciB0byBtYWtlIHRoZSBpbWFnZSBub3RcbiAgICAgICAgLy8gY3V0IG9mZiBvbiB0YWxsIHNraW5ueSBzY3JlZW5zLCB3ZSBhcmUgc2V0dGluZyBhIG1heC1oZWlnaHQgb24gdGhlIGltYWdlXG4gICAgICAgIG1heC1oZWlnaHQ6IDc1MHB4O1xuXG4gICAgICAgIC8vIENlbnRlcmluZyB0aGUgaW1hZ2UgZm9yIGluc3RhbmNlcyB3aGVyZSBtYXgtaGVpZ2h0IGtpY2tzIGluXG4gICAgICAgIG1hcmdpbjogMHB4IGF1dG87XG4gICAgfVxufVxuXG4vLyBPbiBzbWFsbGVyIGRldmljZXMsIHdlIHdhbnQgdG8gZnVydGhlciBsaW1pdCB0aGUgaGVpZ2h0IG9mIHRoZSBpbWFnZSwgdG8gcHJldmVudCBjcm9wcGluZ1xuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA0NTBweDtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5nYWxsZXJ5LWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLnZpc2libGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OmhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGxvYWRpbmdPdmVybGF5KCk7XG59XG5cbi5wcm9kdWN0LWltYWdlLXRodW1icyB7XG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cblxuLm5vLXRvdWNoIC5wcm9kdWN0LWltYWdlLXRodW1icyB7XG4gICAgYTpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjLW1vZHVsZS1ib3JkZXItbGlnaHQsIDE1JSk7XG4gICAgfVxufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AsXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC13cmFwcGVyLFxuLnByb2R1Y3QtdmlldyAuYmxvY2stcmVsYXRlZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkdHJpbS8yO1xufVxuXG4ucHJvZHVjdC1pbWctYm94IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkdHJpbS8yO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AsXG4ucHJvZHVjdC1pbWctYm94LFxuLnByb2R1Y3QtY29sbGF0ZXJhbCxcbi5wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQsXG4uYm94LWNvbGxhdGVyYWwge1xuICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbn1cblxuLnByb2R1Y3QtdmlldyB7XG5cbiAgICAuYWRkLXRvLWJveDphZnRlcixcbiAgICAuYWRkLXRvLWNhcnQ6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAuYWRkLXRvLWNhcnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICB9XG5cbiAgICAvKiBTZXQgYSBtaW4taGVpZ2h0IHNvIHRoYXQgdGhlIGZsb2F0ZWQgZWxlbWVudHMgYnJlYWsgYXBwcm9wcmlhdGVseSAqL1xuICAgIC5hZGQtdG8tY2FydCAucXR5LXdyYXBwZXIsXG4gICAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCxcbiAgICAuYWRkLXRvLWNhcnQtYnV0dG9ucyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCxcbiAgICAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyLFxuICAgIC5hZGQtdG8tY2FydC1idXR0b25zIC5idXR0b24sXG4gICAgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyLFxuICAgIC5hZGQtdG8tY2FydCAucXR5LXdyYXBwZXIgbGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLmFkZC10by1jYXJ0IC5xdHktd3JhcHBlciBsYWJlbCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIC5hZGQtdG8tY2FydCAucXR5LXdyYXBwZXIgLnF0eSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgLmFkZC10by1jYXJ0LWJ1dHRvbnMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnN0cmFpbiB3aWR0aCBpbiBGaXJlZm94XG5cbiAgICAgICAgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAucGF5cGFsLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYm1sX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3NHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGQtdG8tY2FydC1idXR0b25zIC5idXR0b24ge1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICBwYWRkaW5nOiAwcHggMzBweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC5hbGVydC1wcmljZSxcbiAgICAuYWxlcnQtc3RvY2sge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMge1xuICAgICAgICAucGF5cGFsLW9yIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBheXBhbC1sb2dvLFxuICAgICAgICAucGF5cGFsLW9yLFxuICAgICAgICAucGF5cGFsLWJ1dHRvbixcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogVGhpcyBpcyB0aGUgXCJvclwiIHRoYXQgc2VwYXJhdGVzIHRoZSBcIkFkZCB0byBDYXJ0XCIgYW5kIFwiQWRkIHRvIFhcIiBsaW5rcyAqL1xuLmFkZC10by1ib3ggLm9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tbGlua3Mge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgcGFkZGluZzogMnB4IDdweCAycHggMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIH1cblxuICAgIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMHB4O1xuICAgIH1cbn1cblxuLnByb2R1Y3QtdmlldyAuc2hhcmluZy1saW5rcyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMHB4IDdweCA3cHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGltYWdlLXJlcGxhY2VtZW50O1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxuICAgIGEubGluay13aXNobGlzdCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjI1cHg7XG4gICAgfVxuICAgIGEubGluay1jb21wYXJlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0yNTBweDtcbiAgICB9XG4gICAgYS5saW5rLWVtYWlsLWZyaWVuZCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAoLTMyNXB4ICsgM3B4KTtcbiAgICB9XG4gICAgYS5saW5rLWZhY2Vib29rIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC00MjVweDtcbiAgICB9XG4gICAgYS5saW5rLXR3aXR0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggKC0zNzVweCArIDNweCk7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDU5OXB4KSB7XG4gICAgLmFkZC10by1ib3ggLmFkZC10by1saW5rcyB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGltYWdlLXJlcGxhY2VtZW50LW92ZXJyaWRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1jb2xsYXRlcmFsIHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLmNvbGxhdGVyYWwtdGFicyB7XG4gICAgZGQge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYm94LWNvbGxhdGVyYWwge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG5cbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsIHtcbiAgICAgICAgQGluY2x1ZGUgdGFicztcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuXG4gICAgLnByb2R1Y3QtY29sbGF0ZXJhbCB7XG4gICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbjtcbiAgICAgICAgQGluY2x1ZGUgYWNjb3JkaW9uQ29sbGFwc2U7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCxcbiAgICAucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC13cmFwcGVyLFxuICAgIC5wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQsXG4gICAgLnByb2R1Y3QtaW1nLWJveCxcbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG5cbiAgICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG5cbiAgICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AsXG4gICAgLnByb2R1Y3QtaW1nLWJveCxcbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsLFxuICAgIC5wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQsXG4gICAgLmJveC1jb2xsYXRlcmFsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgfVxufVxuXG4ucHJvZHVjdC12aWV3IC5yYXRpbmdzIHtcbiAgICAucmF0aW5nLWxpbmtzIHtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuI3Byb2R1Y3QtYXR0cmlidXRlLXNwZWNzLXRhYmxlIHtcbiAgICBtYXgtd2lkdGg6ICRtYXgtc3RkLWZvcm1hdHRlZC13aWR0aDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy10YWJsZS1ib3JkZXI7XG5cbiAgICB0aCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjLXRhYmxlLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLXRhYmxlLWJvcmRlcjtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENhdGFsb2cgLSBHcm91cGVkIFByb2R1Y3QgTGlzdFxuICovXG5cbi5ncm91cGVkLWl0ZW1zLXRhYmxlLXdyYXBwZXIge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRjLXRhYmxlLWJvcmRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgfVxufVxuXG4uZ3JvdXBlZC1pdGVtcy10YWJsZSB7XG4gICAgLm5hbWUtd3JhcHBlciB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LXByaW1hcnk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIH1cblxuICAgIC5xdHktd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5xdHktbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGVsZW1lbnQtc3BhY2luZztcbiAgICB9XG5cblxuICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJpY2UtYm94e1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENhdGFsb2cgLSBQcm9kdWN0IE9wdGlvbnNcbiAqL1xuXG4ucHJvZHVjdC1vcHRpb25zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWZpZWxkc2V0LWJvcmRlcjtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgcC5yZXF1aXJlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNnB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyAucmVxdWlyZWQge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkdCB7XG4gICAgbWFyZ2luOiAkZ2FwIDAgM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZHQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgLnF0eS1ob2xkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRnYXAgMCAwIDA7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgLnF0eS1ob2xkZXIgLnF0eSB7XG4gICAgd2lkdGg6IDNlbTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCAucXR5LWhvbGRlciBsYWJlbCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCAucXR5LWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwIDJweDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCB7XG4gICAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWZpZWxkc2V0LWJvcmRlci1saWdodDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkbC5sYXN0IGRkLmxhc3Qge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5pbnB1dC10ZXh0IHtcbiAgICB3aWR0aDogOTglO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5pbnB1dC1ib3gge1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIGlucHV0LmRhdGV0aW1lLXBpY2tlciB7XG4gICAgd2lkdGg6IDE1MHB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC50aW1lLXBpY2tlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDJweCAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgdGV4dGFyZWEge1xuICAgIHdpZHRoOiA5OCU7XG4gICAgaGVpZ2h0OiA4ZW07XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgc2VsZWN0IHtcbiAgICB3aWR0aDogMzMwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgLnJhZGlvLFxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgLmNoZWNrYm94IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IC5sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHAubm90ZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtZmllbGRzZXQtYm9yZGVyO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJveC1zcGFjaW5nO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbTphZnRlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcm9kdWN0LXByaWNpbmcsXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAudGllci1wcmljZXMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwICRnYXA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IDA7XG4gICAgY29sb3I6ICRjLXRleHQ7XG5cbiAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14bGFyZ2UpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRnYXAgLyAyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtZmllbGRzZXQtYm9yZGVyO1xuICAgIH1cbn1cblxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnRpZXItcHJpY2VzIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiAwO1xuICAgIHBhZGRpbmc6IDJweCAwO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAudGllci1wcmljZXMgLnByaWNlLFxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnRpZXItcHJpY2VzIC5iZW5lZml0IHtcbiAgICBjb2xvcjogJGMtdGV4dDtcbn1cblxuLyogXCJkaXNwbGF5OiBub25lXCIgc2hvdWxkIGJlIHJlbW92ZWQgaWYgcHJvZHVjdHMgb24gc2l0ZSBoYXZlIGEgbG9uZyBsaXN0IG9mIHByb2R1Y3Qgb3B0aW9ucyBhbmQgdGhvc2UgcHJvZHVjdCBvcHRpb25zICovXG4vKiAgYWZmZWN0IHRoZSBwcmljZSBzbyB0aGF0IHRoZSBjdXN0b21lciBjYW4gc2VlIHRoZSB1cGRhdGVkIHByaWNlIGNsb3NlIHRvIHRoZSBcIkFkZCB0byBDYXJ0XCIgYnV0dG9uICovXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJpY2UtYm94IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDAgMCAkZ2FwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1ib3ggLnByaWNlLWFzLWNvbmZpZ3VyZWQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS10YXgge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBSZWxhdGVkIFByb2R1Y3RzXG4gKi9cblxuLyogQmxvY2s6IFJlbGF0ZWQgKi9cblxuLmJsb2NrLXJlbGF0ZWQge1xuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgaDIoKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5wcm9kdWN0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmNoZWNrYm94IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA5MHB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZGV0YWlscyAucHJpY2UtYm94IHtcbiAgICAgICAgbWFyZ2luOiAycHggMCAzcHg7XG5cbiAgICAgICAgYSxcbiAgICAgICAgcCxcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGluay13aXNobGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBVcHNlbGwgUHJvZHVjdHNcbiAqL1xuXG4uYm94LXVwLXNlbGwge1xuICAgIG1hcmdpbi10b3A6ICRib3gtc3BhY2luZy1sYXJnZTtcblxuICAgIC5yYXRpbmdzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbkBtaXhpbiBsb2FkaW5nT3ZlcmxheSgkb3BhY2l0eTogMC44KSB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICAgICAgei1pbmRleDoyO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9vcGMtYWpheC1sb2FkZXIuZ2lmJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDozO1xuICAgIH1cblxuICAgICYubG9hZGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2F0YWxvZyAtIE1TUlAgTUFQIFBvcHVwXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2FydC1tc3JwLXRvdGFscyB7XG4gICAgY29sb3I6IHJlZDtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IDEwcHggMTBweCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLm1hcC1jYXJ0LXNpZGViYXItdG90YWwge1xuICAgIGNvbG9yOiByZWQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMnB4IDVweDtcbn1cblxuLm1hcC1wb3B1cCB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXI6IDVweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIG1hcmdpbjogMTJweCAwIDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDQ1MHB4O1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgIEBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcbiAgICAgICAgJi5tYXAtcG9wdXAtcmlnaHQge1xuICAgICAgICAgICAgbGVmdDogJGdhcCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tYXAtcG9wdXAtbGVmdCB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICByaWdodDogJGdhcCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWFwLXBvcHVwLWhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcC1wb3B1cC1jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICByaWdodDogMHB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm1hcC1wb3B1cC1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcC1wb3B1cC1jaGVja291dCB7XG4gICAgICAgIHBhZGRpbmc6ICRnYXAgMDtcblxuICAgICAgICBmb3JtOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkaXRpb25hbC1hZGR0b2NhcnQtYm94IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyMTBweDsgLy8gZml4IGZvciBhIHdlYi1raXQgYm94LW1vZGVsIGRpc3BsYXkgYnVnXG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGF5cGFsLWxvZ28ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBheXBhbC1vciB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJtbF9idXR0b24ge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgLmJ1dHRvbixcbiAgICAgICAgICAgIC5hZGRpdGlvbmFsLWFkZHRvY2FydC1ib3gsXG4gICAgICAgICAgICAucGF5cGFsLWxvZ28gYSxcbiAgICAgICAgICAgIC5wYXlwYWwtbG9nbyAucGF5cGFsLW9yIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFkZGl0aW9uYWwtYWRkdG9jYXJ0LWJveCB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYXlwYWwtbG9nbyAucGF5cGFsLW9yIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXAtcG9wdXAtcHJpY2Uge1xuICAgICAgICBwYWRkaW5nOiAkZ2FwIDA7XG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1ib3gsXG4gICAgICAgIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2UtbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFwLXBvcHVwLXRleHQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4gICAgLm1hcC1wb3B1cC10ZXh0LFxuICAgIC5tYXAtcG9wdXAtb25seS10ZXh0IHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXRhbG9nIC0gTVNSUCBQcm9kdWN0IExpc3RpbmdcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcmljZS1ib3ggLm1hcC1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENhdGFsb2cgLSBDb21wYXJlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYmxvY2stY29tcGFyZSAucHJvZHVjdC1uYW1lOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmNvbXBhcmUtdGFibGUgLnByb2R1Y3QtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNvbXBhcmUtdGFibGUge1xuICAgIC5wcm9kdWN0LXNob3Atcm93IHtcbiAgICAgICAgJi50b3AgdGQge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ib3R0b20gdGQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gTGF5b3V0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2FydCB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwICR0cmltIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5jYXJ0LXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNhcnQgLmJ1dHRvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLmNhcnQtZm9ybXMsXG4uY2FydC10b3RhbHMtd3JhcHBlcixcbi5jcm9zc3NlbGwge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjbGVhcjogcmlnaHQ7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRib3gtc3BhY2luZy1sYXJnZTtcbn1cblxuLmNhcnQtdG90YWxzLFxuLmNhcnQtZm9ybXMgLmRpc2NvdW50LFxuLmNhcnQtZm9ybXMgLmdpZnRjYXJkLFxuLmNhcnQtZm9ybXMgLnNoaXBwaW5nIHtcbiAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbW9kdWxlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbn1cblxuLmNhcnQtdGFibGUsXG4uY2FydC10b3RhbHMsXG4uY2FydC1mb3JtcyAuZGlzY291bnQsXG4uY2FydC1mb3JtcyAuZ2lmdGNhcmQsXG4uY2FydC1mb3JtcyAuc2hpcHBpbmcge1xuICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZy1sYXJnZTtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXgge1xuICAgICNwb3N0Y29kZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuQG1peGluIG9uZUNvbHVtbkNhcnRJdGVtcyB7XG4gICAgLmNhcnQtdGFibGUge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNhcnQtZm9ybXMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGJveC1zcGFjaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4gICAgLmNyb3Nzc2VsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGJveC1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5jYXJ0LWZvcm1zLFxuICAgIC5jYXJ0LXRvdGFscy13cmFwcGVyLFxuICAgIC5jcm9zc3NlbGwge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIC5jcm9zc3NlbGwge1xuICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbi5kaXNwbGF5LWJvdGgtcHJpY2VzIHtcbiAgICBAaW5jbHVkZSBvbmVDb2x1bW5DYXJ0SXRlbXM7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgLmRpc3BsYXktc2luZ2xlLXByaWNlIHtcbiAgICAgICAgQGluY2x1ZGUgb25lQ29sdW1uQ2FydEl0ZW1zO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA1OTlweCkge1xuICAgIC5wcm9kdWN0LWNhcnQtc2t1IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZGlzcGxheS1ib3RoLXByaWNlcyxcbiAgICAuZGlzcGxheS1zaW5nbGUtcHJpY2Uge1xuICAgICAgICAuY2FydC1mb3JtcyxcbiAgICAgICAgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4gICAgICAgIC5jcm9zc3NlbGwge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRpc3BsYXktc2luZ2xlLXByaWNlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBDYXJ0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2hlY2tvdXQtdHlwZXMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICBsaSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDVweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAvKiBXZSBhbHdheXMgd2FudCB0aGlzIHNoaXBwaW5nIG1ldGhvZCB0byBkaXNwbGF5IG9uIGl0cyBvd24gbGluZSAqL1xuICAgIC5tZXRob2QtY2hlY2tvdXQtY2FydC1tZXRob2RzLW11bHRpc2hpcHBpbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLnRvcCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibWxfYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGF5cGFsLWxvZ28gLnBheXBhbC1vciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJvdHRvbSxcbiAgICAmLm1pbmljYXJ0IHtcbiAgICAgICAgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCA3NDFweCkge1xuICAgIC5jaGVja291dC10eXBlcy5ib3R0b20ge1xuICAgICAgICAucGF5cGFsLW9yIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNzBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcnQtdG90YWxzIC5jaGVja291dC10eXBlcyAuYnRuLWNoZWNrb3V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNzQwcHgpIHtcbiAgICAuY2hlY2tvdXQtdHlwZXMge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYuYm90dG9tLFxuICAgICAgICAmLm1pbmljYXJ0IHtcbiAgICAgICAgICAgIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LXR5cGVzIGxpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsKSB7XG4gICAgLmJ0bi1jaGVja291dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmNhcnQtdGFibGUge1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuXG4gICAgdGgsXG4gICAgdGQsXG4gICAgdGJvZHkgdGQge1xuICAgICAgICAvLyBBZGRpbmcgdGJvZHkgZm9yIGV4dHJhIHNlbGVjdG9yIHdlaWdodFxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRjLWgyO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgdGhlYWQgdGgsXG4gICAgdGJvZHkgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWNhcnQtaW5mbyxcbiAgICAucHJvZHVjdC1jYXJ0LWFjdGlvbnMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgfVxuXG4gICAgdHIge1xuICAgIH1cblxuICAgIHRmb290IHtcbiAgICAgICAgdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyID4gdGQ6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuLm9yIHtcbiAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1jYXJ0LWltYWdlIC5jYXJ0LWxpbmtzLFxuICAgIC5wcm9kdWN0LWNhcnQtaW5mbyAuYnRuLXJlbW92ZSxcbiAgICAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY2FydC1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBhLmNhcnQtZWRpdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY2FydC1za3Uge1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2VyaWY7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICBtYXJnaW46IDVweCAwIDEycHg7XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuLWVtcHR5IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY2FydC10b3RhbCxcbiAgICAucHJvZHVjdC1jYXJ0LXByaWNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5jYXJ0LXRheC10b3RhbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUobGVmdCwgNnB4LCAkYy10ZXh0LXByaW1hcnkpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICByaWdodDogLTExcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhcnQtdGF4LXRvdGFsLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKGRvd24sIDZweCwgJGMtdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICByaWdodDogLTE1cHg7XG4gICAgICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1saW5rcyA+IGxpIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBtaW4td2lkdGg6IDY1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY2FydC1hY3Rpb25zIHtcbiAgICAgICAgbWluLXdpZHRoOiA2MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLnF0eSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLWlucHV0LWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDMuMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbS1vcHRpb25zIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLmNhcnQtdGFibGUge1xuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtY2FydC1hY3Rpb25zID4gbGkge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNjk5cHgpIHtcbiAgICAuZGlzcGxheS1ib3RoLXByaWNlcyB7XG4gICAgICAgIC5jYXJ0LXRhYmxlIHtcbiAgICAgICAgICAgIHRoZWFkIHRoLmNhcnQtdG90YWwtaGVhZCxcbiAgICAgICAgICAgIHRkLnByb2R1Y3QtY2FydC10b3RhbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA1OTlweCkge1xuXG4gICAgLmNhcnQtdGFibGUge1xuICAgICAgICBjb2xncm91cCwgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Zm9vdCB0ciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAmW2RhdGEtcndkLWxhYmVsXSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcblxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtcndkLWxhYmVsKSBcIjpcIjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wcm9kdWN0LWNhcnQtcHJpY2Uge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FydC1saW5rcyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuXG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtdGF4LWluZm8ge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdHJpbS1zbWFsbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuXG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtY2FydC1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgxLzQpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgYS5jYXJ0LWVkaXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtaW5mbyxcbiAgICAgICAgdGRbZGF0YS1yd2QtbGFiZWxdIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMvNCk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1jYXJ0LWFjdGlvbnMsXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtcHJpY2Uge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtcmVtb3ZlLFxuICAgICAgICAucHJvZHVjdC1jYXJ0LXRvdGFsLFxuICAgICAgICAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmNhcnQtbGlua3Mge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtaW1hZ2UgLmNhcnQtbGlua3MsXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtaW5mbyAuYnRuLXJlbW92ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoaXMgZWxlbWVudCB3aWxsIGJlIGRpc3BsYXllZCB2aWEgSlMgb25jZSB0aGUgcmVsYXRlZCBpbnB1dCBpcyBmb2N1c2VkXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1jYXJ0LWluZm8ge1xuXG4gICAgICAgICAgICAuYnRuLXJlbW92ZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogLTRweCAwcHggMnB4IDdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtY2FydC1za3Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAucXR5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UsXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtcHJpY2U6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtZm9vdGVyLWFjdGlvbnMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICNlbXB0eV9jYXJ0X2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRuLWNvbnRpbnVlIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0bi11cGRhdGUsXG4gICAgICAgICAgICBzcGFuLm9yIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGlzcGxheS1ib3RoLXByaWNlcyB7XG4gICAgICAgIC5jYXJ0LXRhYmxlIHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAmW2RhdGEtcndkLXRheC1sYWJlbF0ge1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtcndkLXRheC1sYWJlbCkgXCI6XCI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gRXN0aW1hdGUgU2hpcHBpbmcgYW5kIFRheFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNoaXBwaW5nIHtcblxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtaW5wdXQtYm9yZGVyO1xuICAgIH1cblxuICAgIHNlbGVjdC52YWxpZGF0aW9uLWZhaWxlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtZGFuZ2VyO1xuICAgIH1cblxuICAgIC5zaGlwcGluZy1kZXNjIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuZm9ybS1saXN0IHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDIlIDEwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaGlwcGluZy1jb3VudHJ5IHtcbiAgICAgICAgICAgIHdpZHRoOiAzNyU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hpcHBpbmctcmVnaW9uIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MSU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hpcHBpbmctcG9zdGNvZGUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDE4JTtcblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwLW1ldGhvZHMge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLnNwLW1ldGhvZHMgZGQgbGFiZWwge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tb2R1bGUtYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgICAgbWluLXdpZHRoOiAyMjBweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRjLW1vZHVsZS1iYWNrZ3JvdW5kLCAxMCUpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuXG4gICAgLnNoaXBwaW5nIC5zaGlwcGluZy1mb3JtIC5mb3JtLWxpc3QgPiBsaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0LFxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVG90YWxzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNhcnQgLmNhcnQtdG90YWxzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICB0YWJsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkLFxuICAgICAgICB0Ym9keSB0cjpsYXN0LWNoaWxkIHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdGZvb3Qge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFNkU2RTY7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U2RTZFNjtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDVweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcgc3BhbixcbiAgICAgICAgICAgIHNwYW4ucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA2MDBweCkge1xuXG4gICAgLmNhcnQtdG90YWxzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eGw7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERpc2NvdW50IGNvZGVzIGFuZCBnaWZ0IGNhcmRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmRpc2NvdW50LWZvcm06YWZ0ZXIsXG4jZ2lmdGNhcmQtZm9ybTphZnRlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbiNkaXNjb3VudC1jb3Vwb24tZm9ybSxcbi5jYXJ0IC5naWZ0Y2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBoMiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcblxuICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC10ZXh0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW46IDRweCAxMHB4IDAgMDtcbiAgICAgICAgd2lkdGg6IDE5MHB4O1xuICAgIH1cbn1cblxuLmNhcnQgLmdpZnRjYXJkIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRlbGVtZW50LXNwYWNpbmc7XG59XG5cbi5jYXJ0IC5naWZ0Y2FyZCAuY2hlY2stZ2Mtc3RhdHVzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAwcHg7XG5cbiAgICA+IHNwYW4gPiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gQ2FydCBDcm9zcyBzZWxsXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY3Jvc3NzZWxsIHtcbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkYy1ibHVlO1xuICAgIH1cblxuICAgIC5pdGVtIGEucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbi8qIENoYW5nZSB0aGUgbGF5b3V0IHRvIDIgY29sdW1ucyBhdCBhIGJyZWFrcG9pbnQgdGhhdCBpcyBoaWdoZXIgdGhhbiBhIDMgY29sdW1ucyBsYXlvdXQgd291bGQgbm9ybWFsbHkgYnJlYWsgKi9cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgLmNyb3Nzc2VsbCB7XG4gICAgICAgIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKGV2ZW4pLFxuICAgICAgICAucHJvZHVjdHMtZ3JpZCA+IGxpOm50aC1jaGlsZCgzbiksXG4gICAgICAgIC5wcm9kdWN0cy1ncmlkID4gbGkge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMjEwIC8gNDQwKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcGVyY2VudGFnZSgyMCAvIDQ0MCk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdHMtZ3JpZCA+IGxpOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogVW5kbyB0aHJlZS1jb2x1bW4gY29uZmlnICovXG4gICAgICAgIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgIC5jYXJ0LXRhYmxlIHtcbiAgICAgICAgLmNhcnQtdGF4LXRvdGFsIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jYXJ0LXRheC10b3RhbC1leHBhbmRlZCB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTNweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgMzIwcHgpIHtcbiAgICAuY3Jvc3NzZWxsIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMHB4IDQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNyb3Nzc2VsbC1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gT25lIFBhZ2VcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtcmlnaHQsXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLWxlZnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLWxhcmdlKzEpIHtcbiAgICAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCB7XG4gICAgICAgIC5jb2wtbWFpbiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDY2MHB4Lzk2MHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLXJpZ2h0LFxuICAgICAgICAuY29sLWxlZnQge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMzAwcHgvOTYwcHgpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLXJpZ2h0IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm9wYyB7XG4gICAgc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6ICgyMzBweCArIDEzNXB4KTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNlY3Rpb24gU3R5bGluZyAtIERlZmF1bHRcbiAqL1xuXG4ub3BjIC5zZWN0aW9uIC5zdGVwLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtZGl2aWRlci1ib3JkZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIG5vdC1zZWxlY3RhYmxlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuLm9wYyAuc2VjdGlvbi5hbGxvdzpub3QoLmFjdGl2ZSkgLnN0ZXAtdGl0bGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogVXNpbmcgLm5vLXRvdWNoIHNpbmNlIHRvdWNoIGRldmljZXMgZW11bGF0ZSBob3ZlciwgdGhlcmVieSBtYWtpbmcgc3RlcHMgbG9vayBhY3RpdmUgdGhhdCBhcmUgbm90ICovXG4ubm8tdG91Y2ggLm9wYyAuc2VjdGlvbi5hbGxvdzpub3QoLmFjdGl2ZSkgLnN0ZXAtdGl0bGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xufVxuXG4ub3BjIC5zZWN0aW9uIC5zdGVwLXRpdGxlIGEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vcGMgLnNlY3Rpb24uYWxsb3c6bm90KC5hY3RpdmUpIC5zdGVwLXRpdGxlIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMTBweDtcblxuICAgIEBpbmNsdWRlIHRrLXAxO1xuICAgIEBpbmNsdWRlIHRrLWwxO1xufVxuXG4ubm8tdG91Y2ggLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZSBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5vcGMgLnNlY3Rpb24gLnN0ZXAtdGl0bGUgLm51bWJlcixcbi5vcGMgLnNlY3Rpb24uYWxsb3cuYWN0aXZlIC5zdGVwLXRpdGxlIC5udW1iZXIsXG4ubm8tdG91Y2ggLm9wYyAuc2VjdGlvbi5hbGxvdzpob3ZlciAuc3RlcC10aXRsZSAubnVtYmVyIHtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm9wYyAuc2VjdGlvbiAuc3RlcCB7XG4gICAgcGFkZGluZzogJGJveC1zcGFjaW5nLWxhcmdlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6ICRib3gtc3BhY2luZztcbiAgICB9XG59XG5cbi5vcGMgc2VsZWN0IHtcbiAgICBtYXgtd2lkdGg6IDM2NXB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ub3BjIGgzIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ub3BjIC5idXR0b25zLXNldCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIGJ1dHRvbi5idXR0b24ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGdhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgcC5yZXF1aXJlZCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLmJhY2stbGluayB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogNXB4IDVweCA1cHggMDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5vcGMsXG4gICAgLnBheXBhbC1leHByZXNzLXJldmlldyB7XG4gICAgICAgIC5idXR0b25zLXNldCAuYnV0dG9uICsgLmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vcGMgI29wYy1sb2dpbiB7XG4gICAgLnN0ZXAge1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgfVxuXG4gICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC5vcGMgI29wYy1sb2dpbiAuZGVzY3JpcHRpb24sXG4gICAgLm9wYyAjb3BjLWxvZ2luIHAucmVxdWlyZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuI29wYy1wYXltZW50IC5ub3RlIHtcbiAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFRoaXMgc2VjdGlvbiBoaWRlcyBldmVyeXRoaW5nIGJ1dCB0aGUgXCJDaGVja291dCBNZXRob2RcIiBzdGVwIG9mIHRoZSBjaGVja291dCBwcm9jZXNzIGFuZCBmYWRlcyBpbiB0aGUgY29udGVudFxuICogb25jZSB0aGUgY3VzdG9tZXIgcHJvZ3Jlc3NlcyB0byB0aGUgbmV4dCBzdGVwLiBUaGUgcHVycG9zZSBvZiB0aGlzIGlzIHRvIHNpbXBsaWZ5IHdoYXQgdGhlIGN1c3RvbWVyIGhhcyB0byBmb2N1cyBvbi5cbiAqIEl0IGlzIGxpbWl0ZWQgdG8gbGFyZ2VyIHZpZXdwb3J0cyBzaW5jZSBzbWFsbGVyIGRldmljZXMgYXJlIGluaGVyZW50bHkgZ29pbmcgdG8gYmUgZm9jdXNlZCBzb2xlbHkgb24gdGhlXG4gKiBcIkNoZWNrb3V0IE1ldGhvZFwiIHN0ZXAuXG4gKi9cblxuLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uOm5vdCgjb3BjLWxvZ2luKSAuc3RlcC10aXRsZSxcbi5vcGMtYmxvY2stcHJvZ3Jlc3Mtc3RlcC1sb2dpbiB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbn1cblxuLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uI29wYy1sb2dpbiAuc3RlcC10aXRsZSAubnVtYmVyIHtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCA4MG1zO1xufVxuXG4ub3BjLm9wYy1maXJzdHN0ZXAtbG9naW4gLnNlY3Rpb24jb3BjLWxvZ2luIC5zdGVwLXRpdGxlIGgyIHtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCA4MG1zO1xufVxuXG4vKiBXaGVuIGEgdXNlciBwcm9ncmVzc2VzIGZyb20gdGhlIFwiQ2hlY2tvdXQgTWV0aG9kXCIgdG8gXCJCaWxsaW5nIEluZm9ybWF0aW9uXCIgZm9yIHRoZSBmaXJzdCB0aW1lLCB0aGUgICAgICAgICAgICAgICovXG4vKiBcIm9wYy1oYXMtcHJvZ3Jlc3NlZC1mcm9tLWxvZ2luXCIgY2xhc3MgZ2V0cyBhZGRlZCB0byB0aGUgYm9keS4gQWxzbywgdGhlIC5vcGMgZWxlbWVudCB3aWxsIG9ubHkgaGF2ZSB0aGUgICAgICAgICAqL1xuLyogXCJvcGMtZmlyc3RzdGVwLWxvZ2luXCIgY2xhc3MgaWYgdGhlIGZpcnN0IHN0ZXAgb2YgdGhlIGNoZWNrb3V0IGlzIHRoZSBcIkNoZWNrb3V0IE1ldGhvZFwiIChlZywgbm90IHdoZW4gbG9nZ2VkIGluKSAqL1xuYm9keTpub3QoLm9wYy1oYXMtcHJvZ3Jlc3NlZC1mcm9tLWxvZ2luKSAub3BjLm9wYy1maXJzdHN0ZXAtbG9naW4gLnNlY3Rpb246bm90KCNvcGMtbG9naW4pIC5zdGVwLXRpdGxlLFxuYm9keTpub3QoLm9wYy1oYXMtcHJvZ3Jlc3NlZC1mcm9tLWxvZ2luKSAub3BjLWJsb2NrLXByb2dyZXNzLXN0ZXAtbG9naW4ge1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTaGlwcGluZyBhbmQgUGF5bWVudCBtZXRob2RzXG4gKi9cblxuLnNwLW1ldGhvZHMge1xuICAgIG1hcmdpbjogMCAwIDhweDtcblxuICAgIGR0IHtcbiAgICAgICAgbWFyZ2luOiAxM3B4IDAgNXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBkZCBsaSB7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgfVxuICAgIGxhYmVsIGltZyB7IC8vIFRoaXMgYXBwbGllcyB0byB0aGUgUGF5cGFsIEV4cHJlc3MgbGFiZWxcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIGxhYmVsIGEgeyAvLyBUaGlzIGFwcGxpZXMgdG8gdGhlIFBheXBhbCBFeHByZXNzIGxhYmVsXG4gICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG4gICAgLnByaWNlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgIC5mb3JtLWxpc3Qge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIHNlbGVjdC5tb250aCB7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgICBzZWxlY3QueWVhciB7XG4gICAgICAgIHdpZHRoOiA5NnB4O1xuICAgIH1cbiAgICBpbnB1dC5jdnYge1xuICAgICAgICB3aWR0aDogNGVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICNhZHZpY2UtdmFsaWRhdGUtY2MtZXhwLWNjc2F2ZV9leHBpcmF0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICB9XG5cbiAgICAuY2hlY2ttby1saXN0IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IDE2NXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgYWRkcmVzcyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlbGVhc2UtYW1vdW50cyB7XG4gICAgICAgIG1hcmdpbjogMC41ZW0gMDtcbiAgICB9XG4gICAgLnJlbGVhc2UtYW1vdW50cyBidXR0b24ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiA1cHggMTBweCAwIDA7XG4gICAgfVxufVxuXG4vKiBPbmUgUGFnZSBDaGVja291dCAqL1xuLmJsb2NrLXByb2dyZXNzIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGMtZGl2aWRlci1ib3JkZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICB9XG4gICAgZHQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgICAgICBAaW5jbHVkZSBoNDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xuICAgIH1cblxuICAgIGR0LmNvbXBsZXRlIHtcbiAgICAgICAgY29sb3I6ICRjLWg0O1xuICAgIH1cbiAgICBkZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICAgICAgYWRkcmVzcyB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjcGF5bWVudC1wcm9ncmVzcy1vcGNoZWNrb3V0IC5zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICB9XG5cbiAgICAucGF5bWVudC1pbmZvIHtcblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgM3B4IDA7XG4gICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zZXJpZjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnOiAnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLyogcmV2aWV3IHN0ZXAgKi9cbiNjaGVja291dC1yZXZpZXctdGFibGUge1xuICAgIC5idG4tcmVtb3ZlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNjaGVja291dC1yZXZpZXctdGFibGUtd3JhcHBlciB7XG4gICAgY2xlYXI6IGJvdGg7IC8vIEZpeCB0YWJsZSBjbGVhcmluZyBpc3N1ZSBpbiBGaXJlZm94XG59XG5cbiNyZXZpZXctYnV0dG9ucy1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIC5idG4tY2hlY2tvdXQge1xuICAgICAgICBtaW4td2lkdGg6IDIyMHB4O1xuICAgIH1cbiAgICAucGxlYXNlLXdhaXQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgICAuZi1sZWZ0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cblxuLy8gSGlkZSBhbGwgYnV0IHRoZSBmaXJzdCB0ciBpbnNpZGUgb2YgdGhlYWRcbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsKSB7XG4gICAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZS5jaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgdHI6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIEhpZGUgYWxsIGJ1dCB0aGUgZmlyc3QgdHIgaW5zaWRlIG9mIHRoZWFkXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAubGluZWFyaXplLXRhYmxlLmNoZWNrb3V0LXJldmlldy10YWJsZSB0aGVhZCB0cjpudGgtY2hpbGQoMW4rMikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLyogc2hvdy9oaWRlIFwiY2hhbmdlXCIgbGluayBmb3IgcHJvZ3Jlc3Mgc3RlcCBkZXBlbmQgb24gY29tcGxldGUgc3RhdHVzXG4gKiBzaG91bGQgYmUgcGxhY2VkIGluIC5jc3MgZmlsZSAqL1xuLm9wYy1ibG9jay1wcm9ncmVzcyBkdC5jb21wbGV0ZSBhLFxuLm9wYy1ibG9jay1wcm9ncmVzcyBkdC5jb21wbGV0ZSAuc2VwYXJhdG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5vcGMtYmxvY2stcHJvZ3Jlc3MgZHQgYSxcbi5vcGMtYmxvY2stcHJvZ3Jlc3MgZHQgLnNlcGFyYXRvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogT24gc21hbGwgc2NyZWVucywgdGhlIHByb2dyZXNzIHJldmlldyBjb250ZW50IHdpbGwgYmUgbW92ZWQgdG8gdGhlIHJldmlldyBzdGVwIHZpYSBKUy4gU3R5bGVkIHZpYSB0aGlzIENTUzogKi9cbiNjaGVja291dC1zdGVwLXJldmlldyAub3BjLWJsb2NrLXByb2dyZXNzIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgIC8vIE92ZXJyaWRlIHRoZSBuby1kaXNwbGF5XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJiA+IGRsID4gZGl2IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAgICAgJiA+IGRsID4gZGl2IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGFuZ2VsaW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICNjaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgPiB0ciA+IHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgICNjaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4jY2hlY2tvdXQtc3RlcC1yZXZpZXcgLmNlbnRpbmVsIHtcbiAgICAmPiBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJveC1zcGFjaW5nO1xuICAgIH1cblxuICAgIGlmcmFtZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICB9XG59XG5cbi8qIEdpZnQgb3B0aW9ucyAqL1xuLmdpZnQtbWVzc2FnZXMtZm9ybSB7XG4gICAgLml0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luLXRvcDogJHRyaW07XG5cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pbWctYm94IHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRldGFpbHMge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5naWZ0LW1lc3NhZ2UtZm9ybSB7XG4gICAgLmlubmVyLWJveCB7XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkdHJpbS1zbWFsbDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAmLmV4dHJhLW9wdGlvbnMtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdpZnQtd3JhcHBpbmctZm9ybSB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGJveC1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmdpZnQtd3JhcHBpbmctZGVzaWduIHtcbiAgICAgICAgICAgIGhlaWdodDogNzVweDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbWFnZS1ib3gge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdpZnQtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZ2FwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGMtZGl2aWRlci1ib3JkZXI7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWltZy1ib3gge1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuXG4gICAgICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKCdtYXgtd2lkdGgnLCAkYnAtbWVkaXVtKSB7XG4gICAgLmdpZnQtbWVzc2FnZS1mb3JtIHtcblxuICAgICAgICAuZ2lmdG1lc3NhZ2UtYXJlYXtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5naWZ0LWl0ZW0ge1xuICAgICAgICAgICAgLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcblxuICAgICAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIFN1Y2Nlc3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3Mge1xuICAgIC5jb2wtbWFpbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICBtYXJnaW46ICRnYXAgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ29uZmlndXJhYmxlIFN3YXRjaGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBDbGVhcnMgKi9cbi5jbGVhcmZpeCxcbi5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QsXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnN3YXRjaC1hdHRyIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxufVxuXG4vKiBHZW5lcmFsIFN3YXRjaCBTdHlsaW5nICovXG4uc3dhdGNoLWxpbmssXG4uc3dhdGNoLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzIC0gMjtcbiAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkYy1oNDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5zd2F0Y2gtbGluayB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBtYXJnaW46IDAgMCAzcHg7XG5cbiAgICBpbWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzIC0gMztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLngge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZ194LnBuZykgY2VudGVyIG5vLXJlcGVhdCB0cmFuc3BhcmVudDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuXG4gICAgJi5oYXMtaW1hZ2Uge1xuICAgICAgICAuc3dhdGNoLWxhYmVsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3dhdGNoLWxhYmVsIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IHtcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcbiAgICB6b29tOiAxO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDBweCk7XG5cbiAgICBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB6b29tOiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDNweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdHMtZ3JpZCAmIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC5ub3QtYXZhaWxhYmxlIHtcbiAgICAgICAgLngge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dhdGNoLWxpbmsge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmLmhhcy1pbWFnZSBpbWcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN3YXRjaC1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogI2FhYTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2lkZS1zd2F0Y2ggLnN3YXRjaC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgIH1cblxuICAgIC5ub3QtYXZhaWxhYmxlIGE6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbn1cblxuI25hcnJvdy1ieS1saXN0IGRkIHtcbiAgICAuY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAzcHg7XG4gICAgICAgIHdpZHRoOiA0NyU7XG4gICAgfVxuXG4gICAgLnN3YXRjaC1saW5rIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogJGYtc2l6ZSArIDExcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICYuaGFzLWltYWdlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciAuc3dhdGNoLWxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtbW9kdWxlLWJvcmRlci1oaWdobGlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dhdGNoLWxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtbW9kdWxlLWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMgLSAyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzIC0gMnB4O1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGFzLWltYWdlIC5zd2F0Y2gtbGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLy8gUHJldmVudCBvZGQgd3JhcHBpbmcgaXNzdWUgd2hlbiBzd2F0Y2hlcyBoYXZlIGJvdGggdGV4dCBhbmQgaW1hZ2VzXG4gICAgI25hcnJvdy1ieS1saXN0IGRkIC5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QgbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICB9XG59XG5cbi5jdXJyZW50bHkge1xuICAgIC5zd2F0Y2gtY3VycmVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuYnRuLXJlbW92ZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dhdGNoLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgM3B4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBPdGhlciBTd2F0Y2ggU3RhdGVzICovXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ob3ZlciAuc3dhdGNoLWxpbmssXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5zZWxlY3RlZCAuc3dhdGNoLWxpbmssXG4uc3dhdGNoLWxpbms6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGMtbW9kdWxlLWJvcmRlci1oaWdobGlnaHQ7XG59XG5cbi5jb25maWd1cmFibGUtc3dhdGNoLWJveCB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgc2VsZWN0LnN3YXRjaC1zZWxlY3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtZGFuZ2VyO1xuICAgICAgICBwYWRkaW5nOiAycHggNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMgLSAyO1xuICAgIH1cbn1cblxuLyogQ1VTVE9NICovXG4uYXZhaWxhYmlsaXR5Lm91dC1vZi1zdG9jayBzcGFuIHtcbiAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xufVxuXG4ucHJvZHVjdC12aWV3IHtcbiAgICAucHJvZHVjdC1vcHRpb25zIHtcbiAgICAgICAgLnN3YXRjaC1hdHRyIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAuc2VsZWN0LWxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsZWN0LWxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtdGV4dC1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGQgLmlucHV0LWJveCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3QtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGQtdG8tY2FydCBidXR0b24ub3V0LW9mLXN0b2NrIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTM2MnB4O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDdXN0b21lclxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmN1c3RvbWVyLWFjY291bnQtbG9naW4ge1xuICAgIC5zY2FmZm9sZC1mb3JtIHtcbiAgICAgICAgbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgd2lkdGg6IDExNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbDItc2V0IHtcbiAgICAgICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuXG4gICAgICAgICAgICBidXR0b24sXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLTEge1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJGdhcCAwICRnYXAgKiAyIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtaW4td2lkdGgsICRicC14c21hbGwgKyAxKSB7XG4gICAgICAgIC5jb2wyLXNldCB7XG4gICAgICAgICAgICAuY29sLTEsXG4gICAgICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2wtMSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgICAgIC5jb2wyLXNldCB7XG4gICAgICAgICAgICAuY29sLTEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdHJpbSAqIDI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgICAgIC5jb2wyLXNldCB7XG4gICAgICAgICAgICAuY29sLTEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdHJpbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHRyaW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAgICAgLmNvbDItc2V0IHAucmVxdWlyZWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIHtcbiAgICAuc2NhZmZvbGQtZm9ybSB7XG4gICAgICAgIGxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlbWVtYmVyLW1lLWJveCB7XG4gICAgYS5oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmxpbmstdGlwIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGdhcDtcbiAgICB9XG59XG5cbi5yZW1lbWJlci1tZS1wb3B1cCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIHBhZGRpbmc6ICRib3gtc3BhY2luZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLnNob3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLWRlZmF1bHQ7XG4gICAgfVxuXG4gICAgLnJlbWVtYmVyLW1lLXBvcHVwLWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICB9XG5cbiAgICAucmVtZW1iZXItbWUtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSB7XG4gICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgbWF4LXdpZHRoOiA0NTVweDtcbiAgICB9XG5cbiAgICAuZmllbGRzZXQsXG4gICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICR0cmltO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGRzZXQgLmhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgI3JlbWVtYmVyLW1lLXBvcHVwIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0NTVweDtcbiAgICB9XG59XG5cbi5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIHtcbiAgICAuZmllbGRzZXQsXG4gICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICR0cmltO1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGRzZXQgLmlucHV0LWJveCBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBNeSBBY2NvdW50IEdsb2JhbCBTdHlsZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5LmN1c3RvbWVyLWFjY291bnQge1xuICAgIC5teS1hY2NvdW50IHtcbiAgICAgICAgLmZpZWxkc2V0IGgyLFxuICAgICAgICAuYWRkcmVzc2VzLWxpc3QgaDIsXG4gICAgICAgIC5vcmRlci1kZXRhaWxzIGgyIHtcbiAgICAgICAgXHRmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWRldGFpbHMgaDIge1xuICAgICAgICBcdG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRlbXBvcmFyaWx5IGhpZGluZyBvcmRlci1saW5rc1xuICAgICAgICAub3JkZXItZGV0YWlscyAub3JkZXItbGlua3Mge1xuICAgICAgICBcdGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkcmVzc2VzLWxpc3QgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkdHJpbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkc2V0IGgyLmxlZ2VuZCB7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0fVxuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG5cdFx0aDEge1xuXHRcdFx0QGluY2x1ZGUgdGstaDE7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDFlbTtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXHR9XG5cblx0LnRpdGxlLWJ1dHRvbnMge1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuXHRcdHBhZGRpbmctYm90dG9tOiAxZW07XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0XHR9XG5cblx0XHRoMSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cblx0XHQuYnV0dG9uIHtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0Y29sb3I6ICRjLWJsdWU7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0fVxuXG5cdFx0YSxcblx0XHRzcGFuLnNlcGFyYXRvciB7XG5cdFx0XHQvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdC8vdG9wOiAtNDJweDtcblx0XHR9XG5cdH1cblxuICAgIC8vIFRlbXBvcmFyeSBmb3JtIHN0eWxlc1xuICAgIC8vIFNob3VsZCBwcm9iYWJseSBtYW5hZ2UgaW4gX2Zvcm0uc2Nzc1xuICAgIC5mb3JtLWxpc3Qge1xuXHRcdC5pbnB1dC1ib3gge1xuXHRcdFx0cGFkZGluZy10b3A6IDFlbTtcblx0XHR9XG5cblx0XHQuaW5wdXQtdGV4dCB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdH1cblxuXHRcdHNlbGVjdCB7XG5cdFx0XHRhcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejROQ2p3aExTMGdSMlZ1WlhKaGRHOXlPaUJCWkc5aVpTQkpiR3gxYzNSeVlYUnZjaUF4TlM0eExqQXNJRk5XUnlCRmVIQnZjblFnVUd4MVp5MUpiaUF1SUZOV1J5QldaWEp6YVc5dU9pQTJMakF3SUVKMWFXeGtJREFwSUNBdExUNE5DandoUkU5RFZGbFFSU0J6ZG1jZ1VGVkNURWxESUNJdEx5OVhNME12TDBSVVJDQlRWa2NnTVM0eEx5OUZUaUlnSW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTDBkeVlYQm9hV056TDFOV1J5OHhMakV2UkZSRUwzTjJaekV4TG1SMFpDSStEUW84YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnYVdROUlreGhlV1Z5WHpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJZzBLQ1NCM2FXUjBhRDBpT0M0Mk1ERndlQ0lnYUdWcFoyaDBQU0kxTGpNMmNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBNExqWXdNU0ExTGpNMklpQmxibUZpYkdVdFltRmphMmR5YjNWdVpEMGlibVYzSURBZ01DQTRMall3TVNBMUxqTTJJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0TkNqeG5QZzBLQ1R4d2IyeDVaMjl1SUdacGJHdzlJaU01TnprM09UY2lJSEJ2YVc1MGN6MGlOQzR6TERVdU16WWdNQ3d4TGpBMk1TQXhMakEyTVN3d0lEUXVNeXd6TGpJek9TQTNMalUwTVN3d0lEZ3VOakF4TERFdU1EWXhJQWtpTHo0TkNqd3ZaejROQ2p3dmMzWm5QZzBLJyk7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMnB4IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDExcHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGMtYmxhY2s7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDFlbTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IDhweCAzMnB4IDhweCA4cHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR3aWR0aDogMzY1cHg7XG5cdFx0fVxuXG5cdFx0Ly8gSGlkZSBuYXRpdmUgYXJyb3cgb24gSUUxMCtcblx0XHRzZWxlY3Q6Oi1tcy1leHBhbmQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQvLyBIaWRlIGJhY2tncm91bmQgaW1hZ2Ugb24gRkZcblx0XHQvLyBJbmNvbnNpc3RlbnQgYmVoYXZpb3Igb24gRkYgdmVyc2lvbnMgZm9yIC1tb3otYXBwZWFyYW5jZVxuXHRcdC8vIEBzZWUgaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vam9hb2N1bmhhLzYyNzMwMTYvXG5cdFx0QC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcblx0XHRcdHNlbGVjdCB7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0LW1vei1hcHBlYXJhbmNlOiBtZW51bGlzdCAhaW1wb3J0YW50O1xuXHRcdFx0XHRoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcblx0XHRcdFx0Ly90ZXh0LWluZGVudDogMC4wMXB4O1xuXHRcdFx0XHQvL3RleHQtb3ZlcmZsb3c6ICcnO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jb250cm9sIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjRlbTtcblxuXHRcdFx0aW5wdXRbdHlwZT1jaGVja2JveF0ge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRtYXJnaW46IDAuNGVtIDFlbSAwIDA7XG5cdFx0XHR9XG5cblx0XHRcdGxhYmVsIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYnV0dG9ucy1zZXQge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0LnJlcXVpcmVkIHtcblx0XHRcdC8vY29sb3I6ICRjLXRleHQtZ3JheTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRtYXJnaW46IDAgMCAxZW0gMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblxuXHRcdC5iYWNrLWxpbmsge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdH1cblxuXHRcdGJ1dHRvbi5idXR0b24ge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG5cbiAgICAuZGF0YS10YWJsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcblxuICAgICAgICBjb2xncm91cCB7XG4gICAgICAgIFx0Ly8gU2VlbXMgdG8gZGlzYWJsZSBjb2xncm91cCBpbiBDaHJvbWVcbiAgICAgICAgXHQvLyBOZWVkIHRvIGNvbmZpcm0gaW4gb3RoZXIgYnJvd3NlcnNcbiAgICAgICAgXHRkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICBcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBcdGJvcmRlcjogMDtcbiAgICAgICAgXHRwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAwO1xuICAgICAgICBcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICBcdGJvcmRlcjogMDtcbiAgICAgICAgXHRwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAwO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ubm9iciB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgIFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkLnZpZXcge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZXIge1xuICAgIFx0LmxpbWl0ZXIge1xuICAgICAgICBcdHNlbGVjdCB7XG5cdFx0XHRcdGFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejROQ2p3aExTMGdSMlZ1WlhKaGRHOXlPaUJCWkc5aVpTQkpiR3gxYzNSeVlYUnZjaUF4TlM0eExqQXNJRk5XUnlCRmVIQnZjblFnVUd4MVp5MUpiaUF1SUZOV1J5QldaWEp6YVc5dU9pQTJMakF3SUVKMWFXeGtJREFwSUNBdExUNE5DandoUkU5RFZGbFFSU0J6ZG1jZ1VGVkNURWxESUNJdEx5OVhNME12TDBSVVJDQlRWa2NnTVM0eEx5OUZUaUlnSW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTDBkeVlYQm9hV056TDFOV1J5OHhMakV2UkZSRUwzTjJaekV4TG1SMFpDSStEUW84YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnYVdROUlreGhlV1Z5WHpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJZzBLQ1NCM2FXUjBhRDBpT0M0Mk1ERndlQ0lnYUdWcFoyaDBQU0kxTGpNMmNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBNExqWXdNU0ExTGpNMklpQmxibUZpYkdVdFltRmphMmR5YjNWdVpEMGlibVYzSURBZ01DQTRMall3TVNBMUxqTTJJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0TkNqeG5QZzBLQ1R4d2IyeDVaMjl1SUdacGJHdzlJaU01TnprM09UY2lJSEJ2YVc1MGN6MGlOQzR6TERVdU16WWdNQ3d4TGpBMk1TQXhMakEyTVN3d0lEUXVNeXd6TGpJek9TQTNMalUwTVN3d0lEZ3VOakF4TERFdU1EWXhJQWtpTHo0TkNqd3ZaejROQ2p3dmMzWm5QZzBLJyk7XG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEycHggY2VudGVyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDExcHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjLWJsYWNrO1xuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDFlbTtcblx0XHRcdFx0cGFkZGluZzogOHB4IDMycHggOHB4IDhweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBIaWRlIG5hdGl2ZSBhcnJvdyBvbiBJRTEwK1xuXHRcdFx0c2VsZWN0OjotbXMtZXhwYW5kIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSGlkZSBiYWNrZ3JvdW5kIGltYWdlIG9uIEZGXG5cdFx0XHQvLyBJbmNvbnNpc3RlbnQgYmVoYXZpb3Igb24gRkYgdmVyc2lvbnMgZm9yIC1tb3otYXBwZWFyYW5jZVxuXHRcdFx0Ly8gQHNlZSBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9qb2FvY3VuaGEvNjI3MzAxNi9cblx0XHRcdEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG5cdFx0XHRcdHNlbGVjdCB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdC1tb3otYXBwZWFyYW5jZTogbWVudWxpc3QgIWltcG9ydGFudDtcblx0XHRcdFx0XHRoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcblx0XHRcdFx0XHQvL3RleHQtaW5kZW50OiAwLjAxcHg7XG5cdFx0XHRcdFx0Ly90ZXh0LW92ZXJmbG93OiAnJztcblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcGFyYXRvciB7XG4gICAgXHRjb2xvcjogJGMtZGl2aWRlci1ib3JkZXI7XG4gICAgfVxuXG4gICAgLnNpZGViYXIge1xuICAgIFx0LmJsb2NrLWFjY291bnQge1xuXHRcdFx0LmJsb2NrLXRpdGxlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHRcdH1cblxuXHRcdFx0LmJsb2NrLXRpdGxlIHN0cm9uZyB7XG5cdFx0XHRcdEBpbmNsdWRlIHRrLWgxO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxZW07XG5cdFx0XHR9XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdC5jdXJyZW50IHN0cm9uZyB7XG5cdFx0XHRcdGNvbG9yOiAkYy1ibGFjaztcblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkYy10ZXh0LWdyYXk7XG5cdFx0XHR9XG5cblx0XHRcdGE6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJGMtYmxhY2s7XG5cdFx0XHR9XG5cdFx0fVxuXG4gICAgICAgIC5ibG9jayB7XG4gICAgICAgICAgICBvbCNjb21wYXJlLWl0ZW1zIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGJveC1zcGFjaW5nIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgICAgICAgICAgcC5ibG9jay1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHRyaW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgb2wjY2FydC1zaWRlYmFyLXJlb3JkZXIge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRib3gtc3BhY2luZztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2stY2FydCB7XG4gICAgICAgICAgICAuc3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2stcmVvcmRlciB7XG4gICAgICAgIFx0cGFkZGluZy10b3A6IDMwcHg7XG5cbiAgICAgICAgXHQuYmxvY2stdGl0bGUge1xuICAgICAgICBcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQuYmxvY2stdGl0bGUgc3Ryb25nIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMWVtO1xuXHRcdFx0fVxuXG4gICAgICAgICAgICBvbCNjYXJ0LXNpZGViYXItcmVvcmRlciB7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgIFx0bWFyZ2luOiAkYm94LXNwYWNpbmcgMCAwIDA7XG5cblxuICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVzc2FnZXMge1xuICAgIFx0bWFyZ2luOiAyMHB4IDA7XG4gICAgfVxufVxuXG4uZm9ybS1saXN0IHtcbiAgICAuY3VzdG9tZXItZG9iIHtcbiAgICAgICAgLmRvYi1tb250aCxcbiAgICAgICAgLmRvYi1kYXkge1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGJveC1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvYi15ZWFyIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIERhc2hib2FyZFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRhc2hib2FyZCB7XG4gICAgLmJveC1oZWFkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHRyaW07XG5cdFx0Ym9yZGVyOiAwO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LXRpdGxlLFxuICAgIC5ib3gtaGVhZCB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3gtYWNjb3VudCB7XG4gICAgXHRib3JkZXI6IDA7XG4gICAgICBcdHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG5cbiAgICAgICAgcCxcbiAgICAgICAgYWRkcmVzcyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2VyaWY7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LXJlY2VudCB7XG4gICAgXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtZGl2aWRlci1ib3JkZXI7XG4gICAgXHRwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAjbXktb3JkZXJzLXRhYmxlIHtcbiAgICBcdG1hcmdpbjogMjBweCAwIDAgMDtcbiAgICB9XG5cbiAgICAuY29sMi1zZXQge1xuICAgIFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWRpdmlkZXItYm9yZGVyO1xuICAgIFx0cGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgXHQmOmxhc3QtY2hpbGQge1xuICAgIFx0XHRib3JkZXI6IDA7XG4gICAgXHRcdHBhZGRpbmc6IDA7XG4gICAgXHRcdG1hcmdpbi1ib3R0b206IDA7XG4gICAgXHR9XG5cbiAgICAgICAgLmNvbC0xLFxuICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcGVyY2VudGFnZSg3NS82MjApO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94LXRpdGxlIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG5cdFx0XHRoMixcblx0XHRcdGgzIHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0Zm9udC1zaXplOiAkZi1zaXplO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHRhIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6ICgxLjQgKiAkZi1zaXplKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYm94LWNvbnRlbnQge1xuXHRcdFx0aDQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG5cdFx0XHR9XG5cdFx0fVxuICAgIH1cblxuICAgIC53ZWxjb21lLW1zZyB7XG4gICAgXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtZGl2aWRlci1ib3JkZXI7XG4gICAgXHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgIFx0LmhlbGxvIHtcbiAgICBcdFx0QGluY2x1ZGUgdGstaDI7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG5cdFx0fVxuXHR9XG5cbiAgICAuYm94LXJldmlld3Mge1xuICAgICAgICAmLmJveC1hY2NvdW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nIDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAucmF0aW5ncyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5yYXRpbmctYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzcHggMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEFkZHJlc3MgQm9va1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm15LWFjY291bnQge1xuICAgIC5hZGRyZXNzZXMtbGlzdCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zZXJpZjtcblxuICAgICAgICAuY29sLTEsXG4gICAgICAgIC5jb2wtMiB7XG4gICAgICAgIFx0cGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgXHRtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkdHJpbSAwO1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICBcdG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAgICAgICAgIC5jb2wtMSxcbiAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICBsaS5lbXB0eSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsKSB7XG4gICAgICAgICAgICAuYWRkcmVzc2VzLWFkZGl0aW9uYWwge1xuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE9yZGVyIFZpZXdcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vcmRlci1pbmZvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJveC1zcGFjaW5nO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICR0cmltO1xuXG4gICAgZHQsXG4gICAgZGQsXG4gICAgdWwsXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgZHQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgkYm94LXNwYWNpbmcqMik7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW46IDAgMCAwICgkYm94LXNwYWNpbmcqMik7XG5cbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ub3JkZXItZGF0ZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ub3JkZXItaW5mby1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICsgLm9yZGVyLWluZm8tYm94IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgIH1cblxuICAgIC5jb2wtMSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgfVxuXG4gICAgLmNvbC0yIHtcbiAgICAgICAgd2lkdGg6IDUyJTtcbiAgICB9XG5cbiAgICAuY29sLTEsXG4gICAgLmNvbC0yIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5ib3gtdGl0bGUge1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2VyaWY7XG5cbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zZXJpZjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGJveC1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdHJpbS1zbWFsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jbXktb3JkZXJzLXRhYmxlIHtcblx0bWFyZ2luOiAzMHB4IDA7XG5cbiAgICAub3B0aW9uLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC5vcHRpb24tdmFsdWUge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGJveC1zcGFjaW5nICogMjtcbiAgICB9XG5cbiAgICB0ci5idW5kbGU6bm90KDpsYXN0LWNoaWxkKSB0ZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgLml0ZW0tb3B0aW9ucyBkdCxcbiAgICAuaXRlbS1vcHRpb25zIGRkIHtcbiAgICBcdGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgXHRmb250LXN0eWxlOiBub3JtYWw7XG4gICAgXHRmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgIHRib2R5LFxuICAgIHRoZWFkIHtcblx0XHQuYS1yaWdodCxcblx0XHQuYS1jZW50ZXIge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cblx0XHR0aDpsYXN0LWNoaWxkLmEtcmlnaHQge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXG5cdFx0LmEtcmlnaHQubGFzdCB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR9XG5cdH1cbn1cblxub2wjY2FydC1zaWRlYmFyLXJlb3JkZXIge1xuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGJveC1zcGFjaW5nO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICAjbXktb3JkZXJzLXRhYmxlIHtcbiAgICAgICAgLm9wdGlvbi1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcHRpb24tdmFsdWUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICB0ZFtkYXRhLXJ3ZC1sYWJlbD1RdHldIC5ub2JyIHtcbiAgICAgICAgICAgIGJyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGJveC1zcGFjaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHIuYnVuZGxlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyLmJ1bmRsZS5jaGlsZCB7XG4gICAgICAgICAgICB0ZFtkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdHJpbS1zbWFsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Zm9vdCB0ci5zaGlwcGluZyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ub3JkZXItYWRkaXRpb25hbCB7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG59XG5cbi5vcmRlci1naWZ0LW1lc3NhZ2Uge1xuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGJveC1zcGFjaW5nO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteGxhcmdlKSB7XG4gICAgLmRhc2hib2FyZCB7XG4gICAgICAgIC5jb2wyLXNldCB7XG4gICAgICAgICAgICAuY29sLTEsXG4gICAgICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0cmltO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYm9keS5jdXN0b21lci1hY2NvdW50IHtcbiAgICAgICAgLmRhdGEtdGFibGUge1xuICAgICAgICAgICAgdGQudmlldyBhIHtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgIGJvZHkuY3VzdG9tZXItYWNjb3VudCB7XG4gICAgICAgIC5teS1hY2NvdW50IHtcbiAgICAgICAgICAgIC50aXRsZS1idXR0b25zIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgc3Bhbi5zZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIC8vdG9wOiAtMTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIGJvZHkuY3VzdG9tZXItYWNjb3VudCB7XG4gICAgXHQuc2lkZWJhciB7XG4gICAgXHRcdC5ibG9jazpub3QoLmJsb2NrLWxheWVyZWQtbmF2KSB7XG4gICAgXHRcdFx0LmJsb2NrLWNvbnRlbnQge1xuICAgIFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgIFx0XHRcdH1cbiAgICBcdFx0fVxuXG5cdFx0XHQuYmxvY2stYWNjb3VudCB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0bWFyZ2luLXRvcDogNDVweDtcblxuXHRcdFx0XHQuYmxvY2stdGl0bGUge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cbiAgICAgICAgLmRhdGEtdGFibGUge1xuICAgICAgICAgICAgJi5vcmRlcnMge1xuICAgICAgICAgICAgICAgIHRoLnNoaXAsXG4gICAgICAgICAgICAgICAgdGQuc2hpcCxcbiAgICAgICAgICAgICAgICB0ZC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgdGguc3RhdHVzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaW5mby1ib3gge1xuICAgICAgICAuYm94LWNvbnRlbnQge1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkcmVzc2VzLWxpc3Qge1xuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdHJpbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1pbmZvIHtcbiAgICAgICAgZHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kYXNoYm9hcmQge1xuICAgICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC53ZWxjb21lLW1zZyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2VyaWY7XG5cbiAgICAgICAgICAgIC5oZWxsbyB7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJveC1hY2NvdW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdHJpbS1zbWFsbDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbDItc2V0IHtcbiAgICAgICAgICAgIC5jb2wtMSxcbiAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICBib2R5LmN1c3RvbWVyLWFjY291bnQge1xuICAgICAgICAubXktYWNjb3VudCB7XG4gICAgICAgIFx0LnRpdGxlLWJ1dHRvbnMge1xuICAgICAgICBcdFx0aDEsIC5idXR0b24ge1xuICAgICAgICBcdFx0XHRmbG9hdDogbm9uZTtcbiAgICAgICAgXHRcdH1cblxuICAgICAgICBcdFx0aDEge1xuICAgICAgICBcdFx0XHRtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICAgIFx0XHR9XG4gICAgICAgIFx0fVxuXG4gICAgICAgICAgICAuZm9ybS1saXN0IHtcbiAgICAgICAgICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIGJvZHkuY3VzdG9tZXItYWNjb3VudCB7XG4gICAgICAgIC5teS1hY2NvdW50IHtcbiAgICAgICAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZS1idXR0b25zIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICsgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItZGV0YWlscyBoMiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFkZHJlc3Nlcy1saXN0IHtcbiAgICAgICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbS1zbWFsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaW5mbyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICR0cmltLXNtYWxsO1xuICAgIH1cblxuICAgIC5kYXRhLXRhYmxlIHtcbiAgICAgICAgJi5vcmRlcnMge1xuICAgICAgICAgICAgLmxpbmstcmVvcmRlcixcbiAgICAgICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZC52aWV3IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kYXNoYm9hcmQge1xuICAgICAgICAuY29sMi1zZXQge1xuICAgICAgICAgICAgLmNvbC0xLFxuICAgICAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkdHJpbS1zbWFsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1pbmZvLWJveCB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAuY29sLTEsXG4gICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogJHRyaW0tc21hbGwgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLm9yZGVyLWluZm8tYm94IHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI215LXJldmlld3MtdGFibGUge1xuICAgICAgICAubm9iciB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBOZXdzbGV0dGVyIFN1YnNjcmlwdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJvZHkubmV3c2xldHRlci1tYW5hZ2UtaW5kZXggLm15LWFjY291bnQge1xuICAgIC5maWVsZHNldCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0IGgyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZm9ybS1saXN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICAvLyBEaXNhYmxlIHRoZSBcImdlbmVyYWwgc3Vic2NyaXB0aW9uXCIgY2hlY2tib3hcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIC8vIEVuYWJsZSB0aGUgV29tZW4ncyBhbmQgTWVuJ3Mgc3Vic2NyaXB0aW9uIGNoZWNrYm94ZXNcbiAgICAgICAgICAgICYuLW0sICYuLXcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBQYWdlIFBvcCBVcFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnBhZ2UtcG9wdXAge1xuXHQucGFnZS10aXRsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblxuXHRcdGgxIHtcblx0XHRcdEBpbmNsdWRlIHRrLWgxO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0fVxuXG5cdC50aXRsZS1idXR0b25zIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcblx0XHRwYWRkaW5nLWJvdHRvbTogMWVtO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdFx0fVxuXG5cdFx0aDEge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXG5cdFx0LmJ1dHRvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdGNvbG9yOiAkYy1ibHVlO1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdH1cblxuXHRcdGEsXG5cdFx0c3Bhbi5zZXBhcmF0b3Ige1xuXHRcdFx0Ly9wb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQvL3RvcDogLTQycHg7XG5cdFx0fVxuXHR9XG5cblx0LnN1Yi10aXRsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHR9XG5cblx0LmJ1dHRvbnMtc2V0IHtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHR9XG5cblx0LmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b24ge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdG1hcmdpbjogMDtcblx0fVxufVxuIiwiLy8gUGFyYWRveCBMYWJzIEF1dGhvcml6ZS5uZXQgQ0lNIE1vZHVsZVxuXG4uY3VzdG9tZXItcGF5bWVudGluZm8taW5kZXgge1xuXHQuY29sLTEge1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdFxuXHRcdHBhZGRpbmctdG9wOiAwO1xuXG5cdFx0LmJ1dHRvbnMtc2V0IHtcblx0XHRcdG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQuYnV0dG9ucy1zZXQgLmJ1dHRvbiB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDFlbTtcblx0XHR9XG5cdH1cblxuXHQuY29sLTIge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFxuXHRcdC5idXR0b25zLXNldCB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0XHRcblx0XHQuYnV0dG9ucy1zZXQgYSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMWVtO1xuXHRcdH1cblx0fVxufVxuXG4uY3VzdG9tZXItYWNjb3VudC5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCB7XG5cdEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuXHRcdC5teS1hY2NvdW50IHtcblx0XHRcdC5jb2wtMSxcblx0XHRcdC5jb2wtMiB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdH1cblx0XHRcblx0XHRcdC5jb2wtMSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdFx0XG5cdFx0XHRcdC5ib3gtdGl0bGUgLnBhZ2VzIHtcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdFxuXHRcdFx0XHQuYnV0dG9ucy1zZXQgZm9ybSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMWVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcblx0XHRcdFx0LmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuXHRcdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5jb2wtMiB7XG5cdFx0XHRcdC5idXR0b25zLXNldCBidXR0b24ge1xuXHRcdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcblx0XHRcdFx0LmJ1dHRvbnMtc2V0IGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XG5cdFx0XHQuYWRkcmVzc2VzLWxpc3Qge1xuXHRcdFx0XHQuaXRlbSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMTVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ29udGFjdHNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jb250YWN0cy1pbmRleC1pbmRleCB7XG4gICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICR0cmltO1xuICAgICAgICBtYXgtd2lkdGg6IDQzNXB4O1xuXG4gICAgICAgIHAucmVxdWlyZWQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMzBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAucmVxdWlyZWQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUGF5UGFsXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucGF5cGFsLXJldmlldy1vcmRlciB7XG4gICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtICsgMTAwKSB7XG4gICAgICAgIEBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcbiAgICAgICAgICAgIC5jb2wyLXNldCB7XG4gICAgICAgICAgICAgICAgLmNvbC0xLFxuICAgICAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5mby1zZXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdhcDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWZpZWxkc2V0LWJvcmRlci1saWdodDtcbiAgICB9XG5cbiAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgICAgICAuY29sLTEge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQuaW5hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4udG9wLWNvbnRhaW5lciAuYm1sLWFkIHtcbiAgICBtYXJnaW4tdG9wOiAkZWxlbWVudC1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYm1sLWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyAvLyBPdmVycmlkZSBpbmxpbmUgc3R5bGVcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLy8gUHJldmVudCBzbWFsbCAycHggc3BhY2Ugb24gcmlnaHQgc2lkZSBvZiBpbWFnZVxuLmNhcnQtdG90YWxzLXdyYXBwZXIgLmJtbC1hZC5sYXJnZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLmJtbC1hZC5zbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuICAgIC5ibWwtYWQubGFyZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbmRpdi5wYXlwYWwtbG9nbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogJHRyaW0tc21hbGwgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4gPiBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LXR5cGVzIHtcbiAgICBkaXYucGF5cGFsLWxvZ28ge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi5ibWwtY2hlY2tvdXQtdHlwZSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4uc2lkZWJhciB7XG4gICAgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmV2aWV3IC0gQ3VzdG9tZXJcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiNjdXN0b21lci1yZXZpZXdzIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcblxuICAgIC5yZXZpZXctaGVhZGluZyB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgcGFkZGluZzogJGdhcCAwIDVweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlciB7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAuY291bnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAubGltaXRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJGMtYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZHNldCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICB3aWR0aDogNDcwcHg7XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgZW0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1saXN0IHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIG1hcmdpbjogJGdhcCAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHdpZHRoOiA0NzBweDtcblxuICAgICAgICAgICAgLmlubGluZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgICAgICAgJlt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogNDcwcHg7XG4gICAgfVxuXG4gICAgZGwge1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuXG4gICAgICAgIGR0IHtcbiAgICAgICAgICAgIG1hcmdpbjogJGdhcCAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRkIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgICAgIG1hcmdpbjogJGdhcCAwO1xuXG4gICAgICAgICAgICAucmF0aW5ncy10YWJsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnJldmlldy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZXZpZXctbWV0YSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJldmlldy1zdW1tYXJ5LXRhYmxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBtYXJnaW46IDAgMCAkZ2FwO1xuXG4gICAgdGhlYWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggN3B4IDEwcHggOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGJvZHkge1xuICAgICAgICB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICB9XG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmF0aW5nLWJveCB7XG4gICAgICAgIC5yYXRpbmctbnVtYmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNTk5cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZi1zaXplO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFJhdGluZ3MgLSBHbG9iYWxcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5yYXRpbmdzLXRhYmxlIHtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIHRoIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAucmF0aW5nLWJveCB7XG4gICAgICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICB3aWR0aDogNjVweDtcblxuICAgICAgICAucmF0aW5nIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgYm9keS5yZXZpZXctcHJvZHVjdC1saXN0IHtcbiAgICAgICAgLnByb2R1Y3QtdmlldyB7XG4gICAgICAgICAgICAucHJvZHVjdC1zaG9wIHtcbiAgICAgICAgICAgICAgICAucHJpY2UtaW5mbyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZXh0cmEtaW5mbyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogODQlO1xuXG4gICAgICAgICAgICAgICAgICAgIC5yYXRpbmdzLXRhYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGdhcCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDUzNXB4KSB7XG4gICAgYm9keS5yZXZpZXctcHJvZHVjdC1saXN0IHtcbiAgICAgICAgLnByb2R1Y3QtdmlldyB7XG4gICAgICAgICAgICAucHJvZHVjdC1zaG9wIHtcbiAgICAgICAgICAgICAgICAuZXh0cmEtaW5mbyB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgICAgICAgICAgICAgICAucmF0aW5ncy10YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA1MjBweCkge1xuICAgICNjdXN0b21lci1yZXZpZXdzIHtcbiAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAuZm9ybS1saXN0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIC5pbmxpbmUtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgLmlucHV0LWJveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXZpZXctc3VtbWFyeS10YWJsZSB7XG5cbiAgICAgICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJhdGluZy1ib3gge1xuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZi1zaXplICogMS40O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgLnJhdGluZyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5yYXRpbmctbnVtYmVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA0NTBweCkge1xuICAgICNjdXN0b21lci1yZXZpZXdzIGRsIGRkIC5yYXRpbmdzLXRhYmxlIHRyIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBSZXZpZXcgVmlldyBQYWdlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnJldmlldy1wcm9kdWN0LXZpZXcge1xuICAgIC5wcm9kdWN0LXJldmlldyB7XG4gICAgICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pbWctYm94IHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAoJ21heC13aWR0aCcsICRicC1tZWRpdW0pIHtcbiAgICAucmV2aWV3LXByb2R1Y3QtdmlldyB7XG4gICAgICAgIC5wcm9kdWN0LXJldmlldyB7XG4gICAgICAgICAgICAucHJvZHVjdC1pbWctYm94IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNsaWRlc2hvd1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNsaWRlc2hvdy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46ICRnYXAgMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuXG4gICAgLnNsaWRlc2hvdyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkICNGRkZGRkY7XG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC8vIGluIGNhc2Ugc2NyaXB0IGRvZXMgbm90IGxvYWRcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWRlc2hvdy1wYWdlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDExNTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgdG9wOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgbm90LXNlbGVjdGFibGU7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsO1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjREREREREO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICRwYWdlci1zaXplOiAxNnB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogJHBhZ2VyLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRwYWdlci1zaXplO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKC0kcGFnZXItc2l6ZS8yKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgtJHBhZ2VyLXNpemUvMik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYnV0dG9uLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jeWNsZS1wYWdlci1hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJ1dHRvbi1hY3RpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gKiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbi5zbGlkZXNob3ctcHJldixcbi5zbGlkZXNob3ctbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTUlO1xuICAgIG1heC13aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHotaW5kZXg6IDExMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbm90LXNlbGVjdGFibGUoKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG59XG5cbi5zbGlkZXNob3ctcHJldiB7XG4gICAgbGVmdDogOHB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDE1cHggMTVweCAxNXB4IDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRjLWJ1dHRvbi1ob3ZlciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi5zbGlkZXNob3ctbmV4dCB7XG4gICAgcmlnaHQ6IDhweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxNXB4IDAgMTVweCAxNXB4O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNGRkZGRkY7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGMtYnV0dG9uLWhvdmVyO1xuICAgIH1cbn1cblxuLmN5Y2xlLWNhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm90dG9tOiAxNXB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHotaW5kZXg6IDExMDtcbn1cblxuLmN5Y2xlLW92ZXJsYXkge1xuICAgIGZvbnQtZmFtaWx5OiB0YWhvbWEsIGFyaWFsO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTIwO1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIG9wYWNpdHk6IC41O1xufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBXaXNobGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI3dpc2hsaXN0LXRhYmxlIHtcbiAgICB0aCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLmNsZWFuLXRhYmxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLXRhYmxlLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhlYWQgdGgge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGMtbGluaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53aXNobGlzdC1za3Uge1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWlucHV0LWJvcmRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1pbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbS1tYW5hZ2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtY2VsbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcXVhbnRpdHkge1xuICAgICAgICAgICAgd2lkdGg6IDNlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1wcmljZSB7XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCB7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50cnVuY2F0ZWQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJlbW92ZS13aGlzaGxpc3QtaXRlbSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRuLXJlbW92ZSB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1yZW1vdmUge1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnByaWNlLWJveCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG5cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdpZnRyZWdpc3R5LWFkZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcblxuICAgICAgICAuY2hhbmdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRydW5jYXRlZCB7XG4gICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGRbZGF0YS1yd2QtbGFiZWxdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteGxhcmdlKSB7XG4gICAgI3dpc2hsaXN0LXRhYmxlIHtcbiAgICAgICAgJi5jbGVhbi10YWJsZSB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGJveC1zcGFjaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAjd2lzaGxpc3QtdGFibGUge1xuICAgICAgICAmLmNsZWFuLXRhYmxlIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuXG4gICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAjd2lzaGxpc3QtdGFibGUge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgIH1cblxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDY4cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbS1tYW5hZ2Uge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZW1vdmUtd2hpc2hsaXN0LWl0ZW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgICN3aXNobGlzdC10YWJsZSB7XG4gICAgICAgIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcXVhbnRpdHkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSxcbiAgICAgICAgdGguY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgI3dpc2hsaXN0LXRhYmxlIHtcbiAgICAgICAgdHIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGguY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSxcbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbmZvLFxuICAgICAgICAgICAgJi5jdXN0b21lci13aXNobGlzdC1pdGVtLXF1YW50aXR5LFxuICAgICAgICAgICAgJi5jdXN0b21lci13aXNobGlzdC1pdGVtLXByaWNlLFxuICAgICAgICAgICAgJi5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGVtcHR5LWNlbGxzOiBoaWRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTEzcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1xdWFudGl0eSxcbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1wcmljZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNhcnQtY2VsbCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCB7XG4gICAgICAgICAgICAgICAgLmNhcnQtY2VsbCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gcCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1yZW1vdmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jbGVhbi10YWJsZSB7XG4gICAgICAgICAgICB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBXaXNobGlzdCBTaWRlYmFyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYmxvY2std2lzaGxpc3Qge1xuXG4gICAgLm1pbmktcHJvZHVjdHMtbGlzdCA+IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgLnByaWNlLWJveCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnByaWNlLWJveCxcbiAgICAucHJpY2UtYm94IC5wcmljZSxcbiAgICAubGluay1jYXJ0IHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgIH1cblxuICAgIC5saW5rLWNhcnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICB9XG5cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBNaW5pIGNhcnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5oZWFkZXItbWluaWNhcnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAubWluaWNhcnQtbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLmVtcHR5IHtcbiAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm1pbmljYXJ0LXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBsb2FkaW5nT3ZlcmxheSgpO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5ibG9jay1jYXJ0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJsb2NrLXN1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICM1MEE0Q0Y7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXG4gICAgICAgIC5jbG9zZSB7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICAgICAgcmlnaHQ6ICRib3gtc3BhY2luZyAtIDEzcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1pbmktcHJvZHVjdHMtbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6ICRib3gtc3BhY2luZztcbiAgICAgICAgcGFkZGluZy10b3A6IDBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggNXB4IDhweCAxMXB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEREREREQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICYubGFzdCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5mby13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRnYXA7XG4gICAgICAgIH1cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQtcHJpbWFyeTtcbiAgICAgICAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xdHktd3JhcHBlciB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnF0eSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDMuMmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnF1YW50aXR5LWJ1dHRvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcztcblxuICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi52aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1YnRvdGFsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RERERERDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMmVtO1xuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogJGMtdGV4dC1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1pbmljYXJ0LWFjdGlvbnMge1xuICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLmNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE0NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtbGluayB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzlweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXlwYWwtbG9nbyB7XG4gICAgICAgICAgICAucGF5cGFsLW9yIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI21pbmljYXJ0LWVycm9yLW1lc3NhZ2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgI21pbmljYXJ0LXN1Y2Nlc3MtbWVzc2FnZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IGdyZWVuO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vaGlkZSBqY2Fyb3VzZWwgY29udHJvbHMgdW50aWwgY2Fyb3VzZWwgaXMgcHJvcGVybHkgaW50ZWdyYXRlZCB3aXRoIGRlc2lnblxuICAgIC5qY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuICAgIC5qY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5oZWFkZXItbWluaWNhcnQuc2tpcC1hY3RpdmUgLmJsb2NrLWNhcnQsXG4uYmxvY2stY2FydC5za2lwLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcbiAgICAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgLmhlYWRlci1taW5pY2FydCBhLnNraXAtY2FydCB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAuaGVhZGVyLW1pbmljYXJ0IHtcbiAgICAgICAgLnN1YnRvdGFsIHtcbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1pbmljYXJ0LXdyYXBwZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFREVERUQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucXVhbnRpdHktYnV0dG9uIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1taW5pY2FydCAuYmxvY2stY2FydCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkdHJpbS1zbWFsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItbWluaWNhcnQgLmJsb2NrLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkdHJpbS1zbWFsbCArIDQ0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWluaWNhcnQtYWN0aW9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzNweDtcblxuICAgICAgICAgICAgLmNhcnQtbGluayB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQge1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgIC5wYXlwYWwtbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLmJtbF9idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAucGF5cGFsLW9yIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNzQwcHgpIHtcbiAgICAuaGVhZGVyLW1pbmljYXJ0IHtcbiAgICAgICAgLm1pbmljYXJ0LWFjdGlvbnMge1xuICAgICAgICAgICAgLmNhcnQtbGluayB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jaGVja291dC10eXBlcy5taW5pY2FydCB7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAucGF5cGFsLWxvZ28ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnBheXBhbC1vcixcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wYXlwYWwtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnBheXBhbC1vciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICAuaGVhZGVyLW1pbmljYXJ0IHtcbiAgICAgICAgLm1pbmljYXJ0LWFjdGlvbnMge1xuICAgICAgICAgICAgLmNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNlYXJjaCAtIEF1dG8gU3VnZ2VzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNlYXJjaC1hdXRvY29tcGxldGUge1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogMTVweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogMjAwO1xuXG4gICAgdWwge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItaGlnaGxpZ2h0O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogJGMtbGluaztcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtbGluay1ob3ZlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFtb3VudCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHVwLCA3cHgsICRjLWFjdGlvbik7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAtN3B4O1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIC0gQWR2YW5jZWRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZHZhbmNlZC1zZWFyY2gge1xuICAgIGJhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgcGFkZGluZzogJHRyaW07XG5cbiAgICBzZWxlY3QubXVsdGlzZWxlY3Qge1xuICAgICAgICBvcHRpb24ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHggNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAuYWR2YW5jZWQtc2VhcmNoIHtcbiAgICAgICAgcGFkZGluZzogJHRyaW0tc21hbGw7XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBBY2NvdW50IC0gUmV2aWV3c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnByb2R1Y3QtcmV2aWV3IHtcbiAgICAucHJvZHVjdC1pbWctYm94IHtcbiAgICAgICAgcC5sYWJlbCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkZ2FwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yYXRpbmctYm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICMzMzk5Q0M7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yYXRpbmdzLXRhYmxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGdhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yYXRpbmdzLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZHQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogJGdhcCAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRkIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNzM3MzczO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcbiAgICAucHJvZHVjdC1yZXZpZXcge1xuICAgICAgICAucmF0aW5ncy10YWJsZSB7XG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsIDExMjZweCkge1xuICAgIC5wcm9kdWN0LXJldmlldyB7XG4gICAgICAgIC5yYXRpbmdzLXRhYmxlIHtcbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDMyMHB4KSB7XG4gICAgLnByb2R1Y3QtcmV2aWV3IHtcbiAgICAgICAgLnJhdGluZ3MtdGFibGUge1xuICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBQcmljaW5nIENvbmRpdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcmljZS1ib3gge1xuICAgIC5taW5pbWFsLXByaWNlLWxpbmsge1xuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRjLXJlZDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1hcC1pbmZvIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcge1xuICAgIC5tYXAtaW5mbyB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnByaWNlLWJveC5tYXAtaW5mbyA+IGEge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENvb2tpZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5ub3RpY2UtY29va2llIHtcbiAgICAubm90aWNlLWlubmVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ub3RpY2UtdGV4dCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAoNDBweCAtICRmLXNpemUteHhzKSAvIDI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbnMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAoNDBweCAtICRmLXNpemUteHhzKSAvIDI7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAubm90aWNlLWNvb2tpZSB7XG4gICAgICAgIC5ub3RpY2UtdGV4dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDg2JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuXG4gICAgLm5vdGljZS1jb29raWUge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgLm5vdGljZS10ZXh0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODIlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDYyMHB4KSB7XG5cbiAgICAubm90aWNlLWNvb2tpZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgICAgICAubm90aWNlLWlubmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMTBweDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubm90aWNlLXRleHQge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFRhZ3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiNhZGRUYWdGb3JtIGJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4jYWRkVGFnRm9ybSAuZm9ybS1hZGQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG4ucHJvZHVjdC10YWdzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogNXB4IDElIDEwcHg7XG4gICAgd2lkdGg6IDk4JTtcbn1cbi5wcm9kdWN0LXRhZ3MgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbn1cbi5wcm9kdWN0LXRhZ3MgbGkubGFzdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG4udGFncy1saXN0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnRhZ3MtbGlzdCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4uYmxvY2stdGFncyAuYWN0aW9ucyA+IGEge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5teS10YWctZWRpdCB7XG4gICAgLmJ1dHRvbi5idG4tcmVtb3ZlIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBpbmNsdWRlIGJwIChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAudGFncy1saXN0ID4gbGksXG4gICAgLnRhZ3MtbGlzdCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2FwdGNoYVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYXB0Y2hhLW5vdGUge1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG59XG4uY2FwdGNoYS1pbWFnZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDI1OHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uY2FwdGNoYS1pbWFnZSAuY2FwdGNoYS1pbWcge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiNmI2YjY7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5yZWdpc3RlcmVkLXVzZXJzIC5jYXB0Y2hhLWltYWdlIHsgbWFyZ2luOiAwIH1cbi5jYXB0Y2hhLXJlbG9hZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICByaWdodDogMnB4O1xufVxuLmNhcHRjaGEtcmVsb2FkLnJlZnJlc2hpbmcge1xuICAgIGFuaW1hdGlvbjogcm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGUgMS41cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgLW1vei1hbmltYXRpb246IHJvdGF0ZSAxLjVzIGluZmluaXRlIGxpbmVhcjtcbn1cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuc2NhZmZvbGQtZm9ybSAuY2FwdGNoYS1pbnB1dC1jb250YWluZXIgbGFiZWw6Zmlyc3QtY2hpbGQgeyB3aWR0aDogMTAwJSB9XG4uY2FwdGNoYS1yZWxvYWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNHB4O1xuICAgIHRvcDogNHB4O1xufVxuLmNhcHRjaGEtaW1nIHsgYm9yZGVyOiAyMHB4IHNvbGlkICNiYmIgfVxuLmNhcHRjaGEtaW5wdXQtY29udGFpbmVyIHsgbWFyZ2luLWJvdHRvbTogMTBweCB9XG4uY29udHJvbC5uZXdzbGV0dGVyLWJveCwgLmNhcHRjaGEtaW5wdXQtY29udGFpbmVyLCAuY2FwdGNoYS1pbWctY29udGFpbmVyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogYm90aDtcblxuICAgICY6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IEJpbGxpbmcgRml4IHRvIHBsYWNlIHRoZSBDYXB0Y2hhIHByb3Blcmx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2NvLWJpbGxpbmctZm9ybSB1bC5mb3JtLWxpc3QgPiAuY29udHJvbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBBY2NvdW50IC0gT3JkZXJzLCBJbnZvaWNlcywgQ3JlZGl0IE1lbW9zLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGluY2x1ZGUgYnAgKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlLFxuICAgIC5zYWxlcy1vcmRlci1jcmVkaXRtZW1vLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCB7XG4gICAgICAgIC5zdWItdGl0bGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5vcmRlci1saW5rcyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmVjdXJyaW5nIFByb2ZpbGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jcmVjdXJyaW5nX3Byb2ZpbGVfbGlzdF92aWV3IHtcblxuICAgIHRoIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAgKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICB9XG4gICAgfSAvL2VuZCBicC14c21hbGwgYnJlYWtwb2ludFxuXG59IC8vZW5kICNyZWN1cnJpbmdfcHJvZmlsZV9saXN0X3ZpZXdcblxuLnJlY3VycmluZy1wcm9maWxlcy10aXRsZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBoMSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgfVxufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnRpdGxlLWJ1dHRvbnMucmVjdXJyaW5nLXByb2ZpbGVzLXRpdGxlLWJ1dHRvbnMge1xuICAgIGZsb2F0OnJpZ2h0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICR0cmltO1xuXG4gICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxufVxuXG4ucmVjdXJyaW5nLXByb2ZpbGVzLW1lc3NhZ2VzIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxufVxuXG4jcmVjdXJyaW5nX3N0YXJ0X2RhdGVfdHJpZyB7XG4gICAgZGlzcGxheTogaW5saW5lO1xufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBCaWxsaW5nIEFncmVlbWVudHNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5iaWxsaW5nLWFncmVlbWVudHMge1xuICAgIC5pbmZvLWJveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1saXN0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGJveC1zcGFjaW5nLWxhcmdlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGVsZW1lbnQtc3BhY2luZztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjcGF5bWVudF9tZXRob2Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogJGVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW1lbnQtc3BhY2luZztcbiAgICB9XG59XG5cbi5iaWxsaW5nLWFncmVlbWVudC12aWV3LWhlYWRlci13cmFwcGVyIHtcbiAgICAuaGVhZGluZyB7XG4gICAgICAgIG1heC13aWR0aDogODAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmlsbGluZy1hZ3JlZW1lbnQtZGV0YWlscyB7XG4gICAgdGQsIHRoIHtcbiAgICAgICAgcGFkZGluZzogJGVsZW1lbnQtc3BhY2luZy8yO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAuYmlsbGluZy1hZ3JlZW1lbnRzIHtcbiAgICAgICAgLmRhdGEtdGFibGUge1xuICAgICAgICAgICAgLmNyZWF0ZWQtYXQsXG4gICAgICAgICAgICAudXBkYXRlZC1hdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUG9wdWxhciBTZWFyY2ggVGVybXMgQ2xvdWRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jYXRhbG9nc2VhcmNoLXRlcm0tcG9wdWxhciAudGFncy1saXN0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmNhdGFsb2dzZWFyY2gtdGVybS1wb3B1bGFyIC50YWdzLWxpc3QgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1yaWdodDogMjVweDtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogV2lkZ2V0c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQWRkIHRvIGNhcnQgYnkgU0tVXG4gKi9cblxuLnNpZGViYXIge1xuICAgIC53aWRnZXQtYWRkYnlza3Uge1xuICAgICAgICAuc2t1LXRhYmxlIHtcbiAgICAgICAgICAgIC5pbnB1dC10ZXh0Om5vdCgucXR5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0rMSkge1xuICAgICAgICAgICAgICAgICAgICAvL3ByZXZlbnQgd2lkZ2V0IGluIGxlZnQvcmlnaHQgY29sdW1uIGZyb20gZXhjZWVkaW5nIGNvbHVtbiB3aWR0aFxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndpZGdldCB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi53aWRnZXQgLnBhZ2VyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBNdWx0aXBsZSBBZGRyZXNzZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0ge1xuICAgIC5jaGVja291dC1wcm9ncmVzcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMSUgNnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtbW9kdWxlLWJhY2tncm91bmQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJ1dHRvbi1zZWNvbmRhcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubXVsdGlwbGUtY2hlY2tvdXQgPiBoMiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICAgIC5tZXNzYWdlcyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmNvbC0yLmNvbC13aWRlIHtcbiAgICAgICAgd2lkdGg6IDY2JTtcbiAgICB9XG4gICAgLmNvbC0xLmNvbC1uYXJyb3cge1xuICAgICAgICB3aWR0aDogMzAlO1xuICAgIH1cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmdyYW5kLXRvdGFsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgI2NoZWNrb3V0LXJldmlldy1zdWJtaXQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgI3Jldmlldy1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1hZGRyZXNzZXMge1xuICAgIC5idG4tcmVtb3ZlMiB7XG4gICAgICAgIHRleHQtaW5kZW50OiAtNTU1NXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICB9XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIHtcbiAgICAuZ2lmdC1tZXNzYWdlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICAgIC5naWZ0LW1lc3NhZ2VzLWZvcm0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5mb3JtLWxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctc2hpcHBpbmcsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1iaWxsaW5nLFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcge1xuICAgIC5jb2wtMSwgLmNvbC0yIHtcbiAgICAgICAgLmJveC10aXRsZSB7XG4gICAgICAgICAgICBoMiwgaDMsIGg0IHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gaDQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtbW9kdWxlLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmJveC1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1iaWxsaW5nIHtcbiAgICAuc3AtbWV0aG9kcyBkdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbiNtdWx0aXNoaXAtYWRkcmVzc2VzLXRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmEtY2VudGVyLmxhc3QgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4jcmV2aWV3LW9yZGVyLWZvcm0gPiBkaXY6bnRoLWNoaWxkKDMpID4gZGl2LmRpdmlkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNsZWFyOmJvdGg7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSB7XG4gICAgICAgIC5jaGVja291dC1wcm9ncmVzcyBzcGFuIHtcbiAgICAgICAgICAgIHdvcmQtc3BhY2luZzogMzAwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgI3Jldmlldy1vcmRlci1mb3Jte1xuICAgICAgICAuY29sLTEsXG4gICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSB7XG4gICAgICAgIC5jaGVja291dC1wcm9ncmVzcyBzcGFuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICB9XG4gICAgICAgIC5jaGVja291dC1wcm9ncmVzcyB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzJTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHdvcmQtc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ib3gtdGl0bGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAucGFnZS10aXRsZSAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICAubGluZWFyaXplLXRhYmxlIHtcbiAgICAgICAgICAgIHRmb290IHRkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29sLTEuY29sLW5hcnJvdywgLmNvbC0yLmNvbC13aWRlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICAuY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1hZGRyZXNzZXMgLmxpbmVhcml6ZS10YWJsZSB0Ym9keSB0ZFtkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICBib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIHtcbiAgICAgICAgLmJ1dHRvbnMtc2V0IC5iYWNrLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENhbGVuZGFyIHN0eWxlcyAocmVzdG9yZSBzdHlsZXMgZnJvbSAvanMvY2FsZW5kYXIpXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuZGl2LmNhbGVuZGFyIHtcbiAgICB0YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG5cbiAgICAgICAgdGQuYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIlxuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvcmUgQXBwbGljYXRpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQnJvd3NlciBSZXNldHNcblxuQGltcG9ydCBcInZlbmRvci9ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJjb3JlL3Jlc2V0XCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvcmVcblxuQGltcG9ydCBcImNvcmUvY29tbW9uXCI7XG5AaW1wb3J0IFwiY29yZS9mb3JtXCI7XG5AaW1wb3J0IFwiY29yZS90YWJsZVwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWZW5kb3JcblxuLy8gQGltcG9ydCBcInZlbmRvci9hYmNcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTGF5b3V0XG5cbkBpbXBvcnQgXCJsYXlvdXQvZ2xvYmFsXCI7XG5AaW1wb3J0IFwibGF5b3V0L2hlYWRlclwiO1xuQGltcG9ydCBcImxheW91dC9oZWFkZXItbmF2XCI7XG5AaW1wb3J0IFwibGF5b3V0L2hlYWRlci1zZWFyY2hcIjtcbkBpbXBvcnQgXCJsYXlvdXQvaGVhZGVyLWFjY291bnRcIjtcbkBpbXBvcnQgXCJsYXlvdXQvaGVhZGVyLWNhcnRcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTW9kdWxlc1xuXG4vLyBUaGUgc29ydCBvcmRlciBoZXJlIGlzIGltcG9ydGFudCBmb3IgdHdvIHJlYXNvbnM6XG4vLyAgMS4gVGhlIGNvbXBpbGVkIENTUyBuZWVkcyB0byBiZSBsb2dpY2FsbHkgb3JkZXJlZC9ncm91cGVkIChOT1QgYWxwaGFiZXRpY2FsbHkgb3JkZXJlZClcbi8vICAyLiBTZWxlY3RvcnMgb2YgZXF1YWwgd2VpZ2h0IGdldCBhcHBsaWVkIGJhc2VkIG9uIHdoaWNoIGFwcGVhcnMgbGFzdCBpbiB0aGUgc3R5bGVzaGVldCxcbi8vICAgICBzbyB3ZSBzaG91bGQgdHJ5IG5vdCB0byBjaGFuZ2UgdGhpcyBvcmRlciBvbmNlIGl0IGlzIGluIHBsYWNlXG5cbkBpbXBvcnQgXCJtb2R1bGUvcHJvZHVjdC1saXN0XCI7XG5AaW1wb3J0IFwibW9kdWxlL2NhdGFsb2ctcHJvZHVjdFwiO1xuQGltcG9ydCBcIm1vZHVsZS9jYXRhbG9nLW1zcnBcIjtcbkBpbXBvcnQgXCJtb2R1bGUvY2F0YWxvZy1jb21wYXJlXCI7XG5AaW1wb3J0IFwibW9kdWxlL2NoZWNrb3V0LWNhcnRcIjtcbkBpbXBvcnQgXCJtb2R1bGUvY2hlY2tvdXQtb25lcGFnZVwiO1xuQGltcG9ydCBcIm1vZHVsZS9jaGVja291dC1zdWNjZXNzXCI7XG5AaW1wb3J0IFwibW9kdWxlL2NvbmZpZ3VyYWJsZXN3YXRjaGVzXCI7XG5AaW1wb3J0IFwibW9kdWxlL2N1c3RvbWVyXCI7XG5AaW1wb3J0IFwibW9kdWxlL2N1c3RvbWVyLXBheW1lbnRcIjtcbkBpbXBvcnQgXCJtb2R1bGUvY29udGFjdHNcIjtcbkBpbXBvcnQgXCJtb2R1bGUvcGF5cGFsXCI7XG5AaW1wb3J0IFwibW9kdWxlL3Jldmlld1wiO1xuQGltcG9ydCBcIm1vZHVsZS9zbGlkZXNob3dcIjtcbkBpbXBvcnQgXCJtb2R1bGUvd2lzaGxpc3RcIjtcbkBpbXBvcnQgXCJtb2R1bGUvY2hlY2tvdXQtY2FydC1taW5pY2FydFwiO1xuQGltcG9ydCBcIm1vZHVsZS9zZWFyY2hcIjtcbkBpbXBvcnQgXCJtb2R1bGUvYWNjb3VudC1yZXZpZXdzXCI7XG5AaW1wb3J0IFwibW9kdWxlL3ByaWNpbmdfY29uZGl0aW9uc1wiO1xuQGltcG9ydCBcIm1vZHVsZS9jb29raWVzXCI7XG5AaW1wb3J0IFwibW9kdWxlL3RhZ3NcIjtcbkBpbXBvcnQgXCJtb2R1bGUvY2FwdGNoYVwiO1xuQGltcG9ydCBcIm1vZHVsZS9hY2NvdW50LW9yZGVyc1wiO1xuQGltcG9ydCBcIm1vZHVsZS9yZWN1cnJpbmctcHJvZmlsZXNcIjtcbkBpbXBvcnQgXCJtb2R1bGUvYmlsbGluZy1hZ3JlZW1lbnRzXCI7XG5AaW1wb3J0IFwibW9kdWxlL3BvcHVsYXItdGVybXNcIjtcbkBpbXBvcnQgXCJtb2R1bGUvd2lkZ2V0XCI7XG5AaW1wb3J0IFwibW9kdWxlL2NoZWNrb3V0LW11bHRpLWFkZHJlc3NcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gT3ZlcnJpZGVcbkBpbXBvcnQgXCJvdmVycmlkZS9wbHVnaW5cIjtcblxuLy8gVGFnIG92ZXJyaWRlc1xuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxubGFiZWwucmVxdWlyZWQsIHNwYW4ucmVxdWlyZWQge1xuICAgICY6YWZ0ZXIgeyBjb250ZW50OiBub25lOyB9XG59XG5cbi8vIENsYXNzIE92ZXJyaWRlc1xuLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmxhY2s7XG59XG5cbi5idXR0b25zLXNldCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiB7XG4gICAgLmJhY2stbGluayxcbiAgICBwLnJlcXVpcmVkLFxuICAgIGgyLmxlZ2VuZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5idXR0b25zLXNldCwgLmZpZWxkc2V0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5maWVsZHNldCB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiB7XG4gICAgLmN1c3RvbWVyLW5hbWUtbWlkZGxlbmFtZSAubmFtZS1taWRkbGVuYW1lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBOZXdzbGV0dGVyIHNpZ251cFxuICAgIHVsLmZvcm0tbGlzdCBsaS5jb250cm9sIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNjVweDtcbiAgICB9XG59XG5cbi5tZXNzYWdlcyB7XG4gICAgLmVycm9yLW1zZyB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXJlZDtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1Y2Nlc3MtbXNnIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JlZW47XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vIENvcmUgVG90b2thZWxvIGNsYXNzZXMuXG4udGstbDEsIC50ay1sMiwgLnRrLWwzLCAudGstbDQsIC50ay1sNSxcbi50ay1oMSwgLnRrLWgyLCAudGstaDMsIC50ay1oNCwgLnRrLWg1LFxuLnRrLXAxLCAudGstcDIge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAmLi1ib2xkIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAmLi1ibG9jayB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAmLi1kaXNhYmxlZCB7XG4gICAgICAgICYsICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIDtcbiAgICAgICAgICAgIGNvbG9yOiAkdGstZ3JheSA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLi10aXRsZS1jYXNlIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgICAmLi1kb3duY2FzZSB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cbiAgICAmLi1uby1jYXNlICB7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbiAgICAmLi1tYXJnaW4ge1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICB9XG5cblxuICAgICYuLXVuZGVybGluZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICYuLW5vLWhvdmVyOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIDtcbiAgICB9XG5cbiAgICAmLi1yZWQgICAgICB7IGNvbG9yOiAkdGstcmVkOyB9XG4gICAgJi4tc29sZE91dCAgeyBjb2xvcjogJHRrLWdyYXk7IH1cbn1cblxuLnRrLWgxIHtcbiAgICBAaW5jbHVkZSB0ay1oMTtcbn1cblxuLnRrLWgyIHtcbiAgICBAaW5jbHVkZSB0ay1oMjtcbn1cblxuLnRrLWgzIHtcbiAgICBAaW5jbHVkZSB0ay1oMztcbn1cblxuLnRrLWg0IHtcbiAgICBAaW5jbHVkZSB0ay1oNDtcbn1cblxuLnRrLWg1IHtcbiAgICBAaW5jbHVkZSB0ay1oNTtcbn1cblxuLnRrLWwxIHtcbiAgICBAaW5jbHVkZSB0ay1sMTtcbn1cblxuLnRrLWwyIHtcbiAgICBAaW5jbHVkZSB0ay1sMjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmLi0tYmx1ZSwgJi4tYmx1ZSB7XG4gICAgICAgIGNvbG9yOiAkdGstYmx1ZTtcbiAgICB9XG5cbiAgICAmLi0tZ3JleSB7XG4gICAgICAgIGNvbG9yOiAkdGstZ3JheTtcbiAgICB9XG5cbiAgICAmLi0tcmVtb3ZlIHtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkYy1yZWQ7IH1cbiAgICB9XG59XG5cbi50ay1sMyB7XG4gICAgQGluY2x1ZGUgdGstbDM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0ay1ibHVlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi50ay1sNCB7XG4gICAgQGluY2x1ZGUgdGstbDQ7XG59XG5cbi50ay1sNSB7XG4gICAgQGluY2x1ZGUgdGstbDQ7XG59XG5cbi50ay1wMSB7XG4gICAgQGluY2x1ZGUgdGstcDE7XG59XG5cbi50ay1wMiB7XG4gICAgQGluY2x1ZGUgdGstcDI7XG59XG5cbi50ay1zZWN0aW9uIHtcbiAgIG1hcmdpbjogNDBweCAwO1xufVxuXG4udGstdGV4dCB7XG4gICBtYXJnaW46IDIwcHggMCAwIDA7XG59XG4iLCIudGt1LWJsdXJyZWQge1xuICAgIGZpbHRlcjogb3BhY2l0eSg1MCUpIGJsdXIoMnB4KTtcbn1cblxuLnRrdS1maXhlZC1mb290ZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG5cbn1cbi50a3UtcmVzcG9uc2l2ZS1kZWJ1ZyB7XG4gICAgQGluY2x1ZGUgdGstcDE7XG4gICAgYmFja2dyb3VuZDogJGMtYmx1ZTtcbiAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLl9fYyB7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlKCkgeyAmOmFmdGVyIHsgY29udGVudDogJ21vYmlsZSc7IH0gfVxuICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldCgpIHsgJjphZnRlciB7IGNvbnRlbnQ6ICd0YWJsZXQnOyB9IH1cbiAgICBAaW5jbHVkZSB0ay1icC1kZXNrdG9wKCkgeyAmOmFmdGVyIHsgY29udGVudDogJ2Rlc2t0b3AnOyB9IH1cbn1cblxuLnRrdS10b2RvIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGstcmVkO1xufVxuIiwiLnRrLWFjY29yZGlvbiB7XG4gICAgPiAuX19oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSB0ay1oMztcbiAgICAgICAgQGluY2x1ZGUgdGstbDM7XG5cbiAgICAgICAgLy8gcGFkZGluZzogOHB4IDA7XG4gICAgICAgIC8vIGNvbG9yOiAkdGstZ3JheTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHRrLWJsYWNrOyB9XG4gICAgfVxuXG4gICAgPiAuX19zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgdGstcDE7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgICAgID4gcCB7XG4gICAgICAgICAgICBtYXJnaW46IDhweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4tYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRrLWFjY29yZGlvbi0tYWN0aXZlIHtcbiAgICAgICAgJi5fX2hlYWRlciB7IGNvbG9yOiAkdGstYmxhY2s7IH1cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuIiwiLnRrLWFmZmlsaWF0ZXMge1xuICAgIG1heC13aWR0aDogODAwcHg7XG5cbiAgICBoMiwgcCwgb2wge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG5cbiAgICBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcblxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbn1cbiIsIi50ay1idXR0b24ge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG5cbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDE1cHg7XG5cbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmxhY2s7XG5cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvKiBUT0RPOiBET05UIFVTRSAnLS0nIFBSRUZJWCEgSVQgQlJFQUtTIE9OIFNBRkFSSVxuICAgICAqIG5hbWluZyBjb252ZW50aW9uXG4gICAgICogLWJsdWUgICAgYmx1ZSBiZ1xuICAgICAqIC1vLWJsdWUgIGJsdWUgb3V0bGluZVxuICAgICAqIC1oLW8tcmVkIGhvdmVyIG91dGxpbmUgcmVkXG4gICAgICovXG5cbiAgICAmLi1wbGFpbi10ZXh0LFxuICAgICYuLS1wbGFpbi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmLi1vLWJsYWNrLFxuICAgICYuLS1vYmxhY2sge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkYy1ibGFjaztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtYmx1ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4tYmx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAmLi1vLWJsdWUsXG4gICAgJi4tLWJsdWUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibHVlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgfVxuXG4gICAgJi4taC1vLWJsdWUge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLi13aWRlLFxuICAgICYuLS13aWRlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi4tby1yZWQge1xuICAgICAgICBjb2xvcjogJGMtcmVkO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLXJlZDtcbiAgICB9XG5cbiAgICAmLi1oLW8tcmVkIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGMtcmVkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1yZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIDxidXR0b24+IGVsZW1lbnRzIGdldHRpbmcgc29tZSBleHRyYSBzdHlsZSBsb3ZlLFxuLy8gc28gbWF0Y2ggPGE+IHRvIHRoZW1cbmEudGstYnV0dG9uIHtcbiAgICBwYWRkaW5nOiA5cHggMTVweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuIiwiLnRrLWNhcmVlcnMge1xuICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgLnRrLWgxIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgfVxuXG4gICAgLl9fYmx1cmIge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fbGlzdCB7XG4gICAgICAgIC5fX2xvY2F0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDIwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2NpdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstY2FydC1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDUwcHggMCAkdHJpbSAwO1xuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG5cblxuICAgIC5fX2xpc3Qge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYmxhY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgIC5fX2hlYWRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2hlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDExcHg7XG5cbiAgICAgICAgPiAuX19kZXNjLFxuICAgICAgICA+IC5fX3ByaWNlLFxuICAgICAgICA+IC5fX3F0eSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2hlYWRlcixcbiAgICAuX19wcm9kdWN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgID4gLl9fZGVzYyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5fX3ByaWNlIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDIwJTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLl9fcXR5IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMwJTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLl9fc3VidG90YWwge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19wcm9kdWN0IHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcblxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIgeyBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuX19kZXNjIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cbiAgICAgICAgICAgIC5fX2ltYWdlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODZweDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA4NnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGstaDU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA0cHggMTVweCAxMHB4IDdweDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMTBweDtcblxuICAgICAgICAgICAgICAgIC5fX2Rlc2lnbmVyLW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ay1oMztcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ncmF5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19za3Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgPiBkdCwgPiBkZCB7IGRpc3BsYXk6IGlubGluZTsgfVxuICAgICAgICAgICAgICAgID4gZHQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX2xvdy1xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIC5fX2ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuX19wcmljZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7IC8vIExpbmUgdXAgd2l0aCBEZXNpZ25lciBOYW1lXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3F0eSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4OyAvLyBMaW5lIHVwIHdpdGggcmVzdCBvZiBjb250ZW50XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQucXR5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX3VwZGF0ZSxcbiAgICAgICAgICAgIC5fX3JlbW92ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAvLyBXb3VsZCBiZSBuaWNlIHRvIGV4dGVuZCBwYWRkaW5nLCBidXQgd2UgZG9uJ3RcbiAgICAgICAgICAgICAgICAvLyB3YW50IHVuZGVybGluZXMgZXh0ZW5kaW5nIHBhc3QgdGhlIHdvcmRzXG5cbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDQ0O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uLl9fdXBkYXRlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhLl9fcmVtb3ZlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gOTZweCk7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgICAgICAgICAgICAgICBsYWJlbCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICAgICAgaW5wdXQucXR5IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyAvLyBTaG92ZSB0aGUgXCJ1cGRhdGVcIi9cInJlbW92ZVwiIGJ1dHRvbnMgb3ZlclxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhLl9fcmVtb3ZlIHsgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3N1YnRvdGFsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDsgLy8gQ2xlYXIgdGhlIGZsb2F0ZWQgLl9fcXR5IGFib3ZlXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAuX19pbWFnZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIC5fX2NvbmZpZ3VyYWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19wcmljZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAgICAgICAgIC5fX3F1YW50aXR5IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19zdWJ0b3RhbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgKi9cbiAgICB9XG59XG4iLCIudGstY2FydC10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAuX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHRrLWgxO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLl9fY29udGludWUge1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC5fX2NvbnRpbnVlIHtcbiAgICAgICAgICAgIC5fX2V4dHJhIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibHVlO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDlweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1jYXRhbG9nLW5hdiB7XG4gICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIHRrLWw0O1xuXG4gICAgICAgICYuLWN1cnJlbnQge1xuICAgICAgICAgICAgY29sb3I6ICR0ay1ibHVlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICA+IGg2LCA+IGEge1xuICAgICAgICBAaW5jbHVkZSB0ay1oMztcblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuICAgIH1cblxuICAgID4gaDYgPiBhLCA+IGEge1xuICAgICAgICBAaW5jbHVkZSB0ay1sMjtcblxuICAgICAgICAmLi1zYWxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWw0O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAmLi1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRrLWJsdWU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5fX2xpc3Qge1xuICAgICAgICAuX19saXN0LCAmLi1zYWxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstY2F0ZWdvcnktdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IC8vIFByb2R1Y3QgZ3JpZCBpcyBhIGJpdCBmdW5reSwgc28gYWxpZ24gdGhlIGVkZ2VzIGhlcmVcblxuICAgIC5fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLi13aGl0ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi4tbm9JbWFnZSB7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDUycHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi4td2l0aEltYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19pbWFnZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxufVxuIiwiLnRrLWNoZWNrb3V0LWhlYWRlciB7XG4gICAgJHBhZGRpbmctdG9wOiAyN3B4O1xuICAgICRwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAkcGFkZGluZy1ob3Jpem9udGFsOiAzMHB4O1xuXG4gICAgKjpmb2N1cyB7IG91dGxpbmU6IDAgfVxuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IHNwYW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmctdG9wIC8gMjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLWJvdHRvbSAvIDI7XG5cbiAgICAgICAgZmxleC1iYXNpczogMjUlO1xuXG4gICAgICAgICYuX19saHMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLWhvcml6b250YWwgLyAyO1xuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3AgLyAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXpvbnRhbCAvIDI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctaG9yaXpvbnRhbCAvIDI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLWJvdHRvbSAvIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLl9fcmhzIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93LXJldmVyc2Ugbm93cmFwO1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nLXRvcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1ib3R0b207XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgICAgICAgICAuX190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuX19pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogJHBhZGRpbmctdG9wO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1ib3R0b207XG5cbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctaG9yaXpvbnRhbCAvIDQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX2ljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuX190ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAuX190ZXh0IHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmLCA+ICoge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gLl9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mYSB7XG4gICAgICAgICAgICAvLyBGb250IEF3ZXNvbWUgYXNzZXRzXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5fX2xvZ28ge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmctdG9wO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xuXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBpbWcgeyBtYXJnaW46IDAgYXV0bzsgfVxuICAgIH1cblxuICAgIC5fX2NvbnRhY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiA3NnB4OyAvLyBleWViYWxsZWQgdG8gYm90dG9tIG9mIHRrLWNoZWNrb3V0LWhlYWRlclxuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGJsYWNrO1xuXG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlO1xuXG4gICAgICAgICYuLXZpc2libGUge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEuMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHdpZHRoOiAzMyU7XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LWRvd24ge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4OyAvLyBwdWxsIHRvIGJlIGlubGluZSB3aXRoXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNy41cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGstbDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmZhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gLmZhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgLl9fbGhzLCAuX19yaHMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2xvZ28gaW1nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYm9keSB7XG4gICAgLnRrLWNoZWNrb3V0LWhlYWRlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICYuY2hlY2tvdXQtb25lcGFnZS1pbmRleCB7XG4gICAgICAgIGRpdi5oZWFkZXItY29udGFpbmVyIGRpdi5oZWFkZXIge1xuICAgICAgICAgICAgLnRrLW5hdi1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50ay1jaGVja291dC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstY2hlY2tvdXQge1xuICAgICNyZW1lbWJlci1tZS1ib3ggeyBkaXNwbGF5OiBub25lOyB9XG5cblxuICAgIC5fX2NoZWNrb3V0LXN0ZXBzIHtcbiAgICAgICAgLl9fc3RlcC1zaWduLWluLWJyZWFkY3J1bWIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgIC5fX2hlbHAge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uIC5zdGVwLXRpdGxlIGgyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3NpZ24taW4ge1xuICAgICAgICAgICAgLl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX21lbWJlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuLW1vYmlsZS1zaWduLWluIHtcbiAgICAgICAgICAgIC5fX2NoZWNrb3V0LXN0ZXBzIC5fX3N0ZXAtc2lnbi1pbi1icmVhZGNydW1iIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHsgY29udGVudDogJyDigJMgJzsgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19zaWduLWluIHtcbiAgICAgICAgICAgICAgICAuX19tZW1iZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19hbm9ueW1vdXMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICBtYXgtd2lkdGg6IDEwMjRweDtcblxuICAgICAgICAuX19mdW5uZWwge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2hlbHAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuX19jaGVja291dC1zdGVwcyAuX19zdGVwLXNpZ24taW4tYnJlYWRjcnVtYiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5fX2Z1bm5lbCB7fVxuXG4gICAgLl9faGVscCB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLl9fc2lnbi1pbiB7XG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNjBweCAwO1xuXG4gICAgICAgICAgICAuX19tZW1iZXIsIC5fX2Fub255bW91cyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNDBweCA1MHB4IDIwcHggNTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fbWVtYmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYy1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fbW9iaWxlLXNpZ24taW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuX19tZW1iZXIsIC5fX2Fub255bW91cyB7XG4gICAgICAgIH1cblxuICAgICAgICAuX19tZW1iZXIge1xuICAgICAgICAgICAgLmlucHV0LXRleHQge1xuICAgICAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0tbGlzdCA+IGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19mb3Jnb3QtcGFzc3dvcmQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLl9fYW5vbnltb3VzIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgICAgIC5fX21vYmlsZS1zaWduLWluLWxpbmstY29udGFpbmVyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhLl9fbW9iaWxlLXNpZ24taW4sXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAmLi1vLWJsdWUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstZWRpdG9yaWFsLWltYWdlIHtcbiAgLl9fcHJvZHVjdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCBoZWlnaHQgMC41cyBlYXNlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIGhlaWdodCAwLjVzIGVhc2U7XG5cbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYuLXZpc2libGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIgLl9fcHJvZHVjdHMge1xuICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAuX19wcm9kdWN0cyB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIC5fX3Byb2R1Y3RzIHtcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAmLi1vdmVybGF5LXByb2R1Y3RzIHtcbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAoKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5fX3Byb2R1Y3RzIHtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgJjpob3ZlciB7IGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi50ay1lZGl0b3JpYWwsIC50a0VkaXRvcmlhbCB7XG4gIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gIH1cblxuICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAoKSB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogODNweDtcbiAgfVxuXG4gIC5fX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW46IDIwcHggYXV0bztcblxuICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5fX3N1YnRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuXG4gIC5fX3JvdyB7XG4gICAgLl9faW1hZ2Uge1xuICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXG4gICAgICAmLi1ub0JvdHRvbSAgIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgJi4tcGFkQm90dG9tICB7IG1hcmdpbi1ib3R0b206IDIwMHB4OyB9XG5cbiAgICAgICYuLW5lZ01hcmdpbjEge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgfVxuICAgIH0gLy8gbWVkaWFcbiAgfSAgIC8vIC5fX3Jvd1xuXG4gIC5fX2NyZWRpdHMge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtYmxhY2s7XG4gICAgd2lkdGg6IDI5ZW07XG5cbiAgICB1bCwgJiB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjo6YmVmb3JlIHsgY29udGVudDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLi0tc2FnSGFyYm9yIHtcbiAgICAuX19yb3cge1xuICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwKCkge1xuICAgICAgICAmLi1zYWdQYWlyMSB7XG4gICAgICAgICAgaGVpZ2h0OiA1MC4yNXZ3O1xuICAgICAgICAgIC4tbGggeyBpbWcgeyBoZWlnaHQ6IDI1LjV2dzsgfSB9IC8vIGV5ZWJhbGwnZCA0IGNvbHNcbiAgICAgICAgICAuLXJoIHsgaW1nIHsgaGVpZ2h0OiAzNy42dnc7IH0gfSAvLyBleWViYWxsJ2QgNiBjb2xzXG4gICAgICAgIH1cblxuICAgICAgICAmLi1zYWdQYWlyMiB7XG4gICAgICAgICAgaGVpZ2h0OiA2My41dnc7XG4gICAgICAgICAgLi1saCB7IGltZyB7IGhlaWdodDogNTAuOHZ3OyB9IH0gLy8gZXllYmFsbCdkIDggY29sc1xuICAgICAgICAgIC4tcmgge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDIuNjMgKiAxMDB2dyAvIDE4KTtcblxuICAgICAgICAgICAgaW1nIHsgaGVpZ2h0OiAyNS41dnc7IH0gLy8gZXllYmFsbCdkIDQgY29sc1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuLXNhZ1BhaXIzIHtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTEuODYvMTggKiAxMDB2dyk7XG5cbiAgICAgICAgICAuLWxoIHsgaW1nIHsgaGVpZ2h0OiBjYWxjKDUuNTUvMTggKiAxMDB2dyk7ICB9IH0gLy8gZXllYmFsbCdkIDUgY29sc1xuICAgICAgICAgIC4tcmggeyBpbWcgeyBoZWlnaHQ6IGNhbGMoOS4wNS8xOCAqIDEwMHZ3KTsgfSB9ICAvLyBleWViYWxsJ2QgOCBjb2xzXG4gICAgICAgIH1cblxuICAgICAgICAmLi1zYWdQYWlyNCB7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDE0LjEyLzE4ICogMTAwdncpO1xuICAgICAgICAgIC4tcmggeyBpbWcgeyBoZWlnaHQ6IGNhbGMoMTEuMzUvMTggKiAxMDB2dyk7IH0gfSAgICAvLyBleWViYWxsJ2QgOCBjb2xzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi50ay1lZGl0b3JpYWxzLWxpc3Qge1xuICAgIC5fX2NlbGwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICAuX19jb3ZlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ay1sMjpob3ZlciAqIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYXJnaW46IDE1cHggMTVweCAwIDE1cHg7XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgLl9fY2VsbCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzJSAtIDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtZGVza3RvcCB7XG4gICAgICAgIG1hcmdpbjogODBweCA1MHB4IDUwcHggNTBweDtcbiAgICB9XG59XG4iLCIudGstZmluYWwtc2FsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJGMtcmVkO1xufVxuIiwiLnRrLWZsZXgtcm93IHtcbiAkdG90YWxDb2x1bW5zOiAxMjtcblxuICBAaW5jbHVkZSBicChtaW4td2lkdGgsICR0ay1icC10YWJsZXQtbWluKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgLi1saCB7IG9yZGVyOiAwOyB9XG4gICAgLi1yaCB7IG9yZGVyOiA5OTk7IH1cblxuICAgIEBmdW5jdGlvbiBjYWxjVygkbnVtQ29sdW1ucywgJGluY2x1ZGVHdXR0ZXI6IGZhbHNlKSB7XG4gICAgICAkdG90YWxHdXR0ZXJzOiAkdG90YWxDb2x1bW5zIC0gMTtcblxuICAgICAgJGd1dHRlcldpZHRoOiAxMHB4O1xuICAgICAgJG51bUd1dHRlcnM6IGlmKCRpbmNsdWRlR3V0dGVyLCAkbnVtQ29sdW1ucywgJG51bUNvbHVtbnMgLSAxKTtcblxuICAgICAgQHJldHVybiBjYWxjKFxuICAgICAgICAoI3skbnVtQ29sdW1uc30vI3skdG90YWxDb2x1bW5zfSAqICgxMDAlIC0gKCN7JHRvdGFsR3V0dGVyc30gKiAjeyRndXR0ZXJXaWR0aH0pKSkgK1xuICAgICAgICAjeyRndXR0ZXJXaWR0aH0gKiAjeyRudW1HdXR0ZXJzfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDE4IHtcbiAgICAgIC4tdyN7JGl9IHsgd2lkdGg6IGNhbGNXKCRpKTsgfVxuICAgICAgLi1vI3skaX0geyBtYXJnaW4tbGVmdDogY2FsY1coJGksIHRydWUpOyB9XG4gICAgICAuLXJvI3skaX0geyBtYXJnaW4tcmlnaHQ6IGNhbGNXKCRpLCB0cnVlKTsgfVxuICAgIH1cblxuICAgIC4tdi10b3AgICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAgIC4tdi1jZW50ZXIgIHsgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gICAgLi1wdWxsLWRvd24sXG4gICAgLi12LWJvdHRvbSAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAgIC4tc3RyZXRjaCAgIHsgYWxpZ24tc2VsZjogc3RyZXRjaDsgIH1cblxuICAgICYuLWxlZnQtYWxpZ24geyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAmLi1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgJi4tY2VudGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuLXRleHQtY2VudGVyICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC4tdGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgfSAvLyBtZWRpYVxuXG4gIC8vIFdoZXJlIHBhZ2VzIGFyZSBmdWxseS1ibGVkLCBob29rIGJhY2sgaW50byB0aGUgc3RhbmRhcmQgYm9keSBtYXJnaW5zLlxuICAmLi1tYXJnaW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJHRrLWJwLXRhYmxldC1tYXgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICYuLWJsZWVkIHtcbiAgICAvLyBTYWZhcmkgZG9lc24ndCByZWxvYWQgaW1hZ2VzIHVwb24gdmlld3BvcnQgY2hhbmdlLCBzbyBqdXN0IGJsZWVkIHRoZSBpbWFnZVxuICAgIGltZyB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCgpIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHRvdGFsQ29sdW1ucyB7XG4gICAgICAgIC4tdyN7JGl9IHsgd2lkdGg6ICgxMDAlICogJGkgLyAkdG90YWxDb2x1bW5zKTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuLXdyYXAge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLnZpZGVvLWpzIHtcbiAgICB3aWR0aDogMTAwLjElO1xuICB9XG59XG5cbi50ay1mbGV4LXJvdy0tMTgge1xuICR0b3RhbENvbHVtbnM6IDE4O1xuXG4gIEBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJHRrLWJwLXRhYmxldC1taW4pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAuLWxoIHsgb3JkZXI6IDA7IH1cbiAgICAuLXJoIHsgb3JkZXI6IDk5OTsgfVxuXG4gICAgQGZ1bmN0aW9uIGNhbGNXKCRudW1Db2x1bW5zLCAkaW5jbHVkZUd1dHRlcjogZmFsc2UpIHtcbiAgICAgICR0b3RhbEd1dHRlcnM6ICR0b3RhbENvbHVtbnMgLSAxO1xuXG4gICAgICAkZ3V0dGVyV2lkdGg6IDEwcHg7XG4gICAgICAkbnVtR3V0dGVyczogaWYoJGluY2x1ZGVHdXR0ZXIsICRudW1Db2x1bW5zLCAkbnVtQ29sdW1ucyAtIDEpO1xuXG4gICAgICBAcmV0dXJuIGNhbGMoXG4gICAgICAgICgjeyRudW1Db2x1bW5zfS8jeyR0b3RhbENvbHVtbnN9ICogKDEwMCUgLSAoI3skdG90YWxHdXR0ZXJzfSAqICN7JGd1dHRlcldpZHRofSkpKSArXG4gICAgICAgICN7JGd1dHRlcldpZHRofSAqICN7JG51bUd1dHRlcnN9XG4gICAgICApO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTgge1xuICAgICAgLi13I3skaX0geyB3aWR0aDogY2FsY1coJGkpOyB9XG4gICAgICAuLW8jeyRpfSB7IG1hcmdpbi1sZWZ0OiBjYWxjVygkaSwgdHJ1ZSk7IH1cbiAgICAgIC4tcm8jeyRpfSB7IG1hcmdpbi1yaWdodDogY2FsY1coJGksIHRydWUpOyB9XG4gICAgfVxuXG4gICAgLi12LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gICAgLi1wdWxsLWRvd24geyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAgIC4tc3RyZXRjaCAgIHsgYWxpZ24tc2VsZjogc3RyZXRjaDsgIH1cblxuICAgICYuLWxlZnQtYWxpZ24geyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAmLi1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgJi4tY2VudGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuLXRleHQtY2VudGVyICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC4tdGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgfSAvLyBtZWRpYVxuXG4gIC8vIFdoZXJlIHBhZ2VzIGFyZSBmdWxseS1ibGVkLCBob29rIGJhY2sgaW50byB0aGUgc3RhbmRhcmQgYm9keSBtYXJnaW5zLlxuICAmLi1tYXJnaW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJHRrLWJwLXRhYmxldC1tYXgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICYuLWJsZWVkIHtcbiAgICAvLyBTYWZhcmkgZG9lc24ndCByZWxvYWQgaW1hZ2VzIHVwb24gdmlld3BvcnQgY2hhbmdlLCBzbyBqdXN0IGJsZWVkIHRoZSBpbWFnZVxuICAgIGltZyB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCgpIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHRvdGFsQ29sdW1ucyB7XG4gICAgICAgIC4tdyN7JGl9IHsgd2lkdGg6ICgxMDAlICogJGkgLyAkdG90YWxDb2x1bW5zKTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuLXdyYXAge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLnZpZGVvLWpzIHtcbiAgICB3aWR0aDogMTAwLjElO1xuICB9XG59XG4iLCIudGstZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtYmxhY2s7XG5cbiAgICBwYWRkaW5nOiAyN3B4IDMwcHggMzBweCAzMHB4O1xuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuICAgICAgICBwYWRkaW5nOiAyN3B4IDMwcHggMzBweCAzMHB4O1xuICAgIH1cblxuICAgIC5fX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggNjJweCAzcHggNjJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fY2xpZW50LXNlcnZpY2UgeyBvcmRlcjogMjsgfVxuICAgICAgICAgICAgLl9fY29udGFjdCB7IG9yZGVyOiAzOyB9XG4gICAgICAgICAgICAuX19zb2NpYWwgeyBvcmRlcjogNDsgfVxuICAgICAgICAgICAgLl9fbWFpbGluZy1saXN0IHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9faGVhZGVyLi1kZXNrdG9wIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwKCkge1xuICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX2hlYWRlci4tbW9iaWxlIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgLl9fY2xpZW50LXNlcnZpY2UsXG4gICAgICAgICAgICAuX19jb250YWN0LFxuICAgICAgICAgICAgLl9fc29jaWFsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19jbGllbnQtc2VydmljZSB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX2NvbnRhY3Qge1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19zb2NpYWwge1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19tYWlsaW5nLWxpc3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX3Rlcm1zIHtcbiAgICAgIEBpbmNsdWRlIHRrLWg1O1xuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCgpIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgcGFkZGluZzogMCA1cHggMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgIC50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2NvbnRhaW5lciB7XG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXG4gICAgICAgICAgICAgICAgLmJsb2NrLXN1YnNjcmliZSwgdWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuLW9wZW4ge1xuICAgICAgICAgICAgICAgICAgICAuYmxvY2stc3Vic2NyaWJlLCB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5fX2hlYWRlci4tbW9iaWxlIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuX19oZWFkZXIuLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAvLyBDaHJvbWUgZml4OiB3aXRob3V0IHRoaXMsIHdlIHNlZW0gdG8gZ2V0IGEgYmxvYXRlZCBoZWlnaHQgZnJvbSB0aGUgaW1nXG4gICAgICAgICAgICBoZWlnaHQ6IDRlbTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLWZyb250LXBhZ2UtLTExLTIwIHtcbiAgICAuX19oZWFkZXItbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1NHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogOXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDM5cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgPiAqIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2hlbHZldGljYSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWUgTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkx1Y2lkYSBHcmFuZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3RpbWVzIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBUaW1lcywgc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1hcmdpbjogMzBweDtcblxuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuXG4gICAgPiAuX19yb3cge1xuICAgICAgICAuX190aXRsZSB7XG4gICAgICAgICAgICBhIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAuX190aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLi10aXRsZXMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX2ZlYXR1cmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgJi5fX3JvdzEge1xuICAgICAgICAgICAgICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5fX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuLWZlYXR1cmVzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLl9fcm93MSxcbiAgICAgICAgICAgICYuLXRpdGxlcyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1mcm9udC1wYWdlLS0xMi0wNSB7XG4gICAgLl9faGVhZGVyLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTRweDtcblxuICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDlweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgID4gKiB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIH1cblxuICAgICAgICAuX19oZWx2ZXRpY2Ege1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZS1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuX190aW1lcyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogVGltZXMsIHNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYXJnaW46IDMwcHg7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAyMDBweDtcblxuICAgID4gLl9fcm93IHtcbiAgICAgICAgLl9fdGl0bGUge1xuICAgICAgICAgICAgYSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgLl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fZmVhdHVyZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA5NXB4O1xuXG4gICAgICAgICAgICAmLl9fcm93MSB7XG4gICAgICAgICAgICAgICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLl9fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi4tZmVhdHVyZXMge1xuICAgICAgICAgICAgICAgIC5fX2ZlYXR1cmUge1xuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICYsICoge1xuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC5fX2ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnZ3O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAuX190aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstZnJvbnQtcGFnZS0tMjAxOC0wMi0xMyB7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG5cbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgLl9fcm93IHtcbiAgICB9XG5cbiAgICAuX19jZWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRrdS10b2RvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE5MnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgfVxufVxuIiwiLnRrLWZyb250LXBhZ2UtLTktMjgge1xuICBtYXJnaW46IDMwcHg7XG5cbiAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG5cbiAgPiAuX19yb3cge1xuICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAmLi10aXRsZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuX19mZWF0dXJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgJi5fX3JvdzEge1xuICAgICAgICA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3RpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuLWZlYXR1cmVzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgIH1cblxuICAgICAgJi5fX3JvdzEsXG4gICAgICAmLi10aXRsZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5NXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogY29uc29saWRhdGVkIGhlbHAgcGFnZS4gdG90b2thZWxvLmNvbS9oZWxwICovXG4udGstaGVscCB7XG4gICAgLnRrLWgxLCAudGstaDIge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG5cbiAgICAuX19uYXYge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fY3VycmVudC1zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICBAaW5jbHVkZSB0ay1oMjtcblxuICAgICAgICAuX19uYXYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMzBweDtcblxuICAgICAgICAgICAgJi5oZWFkcm9vbS0tbm90LXRvcCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMnMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2JvZHkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE4MHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1NnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgQGluY2x1ZGUgdGstcDE7XG5cbiAgICAgICAgLl9fbmF2LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAuX19uYXYge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICB0b3A6IDEyNXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICAgICAgICAgICAgZmlsdGVyOiBibHVyKDVweCk7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19jdXJyZW50LXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIENocm9tZSBmaXg6IHdpdGhvdXQgdGhpcywgd2Ugc2VlbSB0byBnZXQgYSBibG9hdGVkIGhlaWdodCBmcm9tIHRoZSBpbWdcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQ2FyZXQgcG9pbnRzIHRvIHRoZSByaWdodFxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLl9fbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgYmxhY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi4tb3BlbiAuX19saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRrLXNlY3Rpb24uLXNoaXBwaW5nIHtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMTBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwIHtcbiAgICAgICAgICAgICAgICAuX19uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5fX2RlbGl2ZXJlZCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19jb3N0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRrLXNlY3Rpb24uLXNpemUtZ3VpZGUge1xuICAgICAgICAuX19kZWZpbml0aW9uVGl0bGUsIGR0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDEwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ay1zZWN0aW9uLi1wYXltZW50IHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAudGstc2VjdGlvbi4tbS1hbmNob3Ige1xuICAgICAgICAgICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDA4NjEwNy9odG1sLXBvc2l0aW9uZml4ZWQtcGFnZS1oZWFkZXItYW5kLWluLXBhZ2UtYW5jaG9yc1xuICAgICAgICAgICAgJG9mZnNldDogMTU1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJG9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0kb2Zmc2V0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLWhvbGlkYXktc2hpcHBpbmcge1xuXG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgaDYge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIC5fX2dyZXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgfVxufVxuIiwiLnRrLWhvdmVyLWNlbGwge1xuICAgIGltZyB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAuX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLl9faW1hZ2Uge1xuICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICR0ay1ibHVlO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLCBwLCAuX190aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIGNvbG9yOiAkdGstYmx1ZTtcblxuICAgICAgICAgICAgLi1uby11bmRlcmxpbmUge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLWRlc2t0b3AtaGlkZS10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCgpIHtcbiAgICAgICAgICAgIC5fX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLi1vdmVybGF5LXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwKCkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAuX190aXRsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogIzExMTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICAgICAgICAuX19saW5rIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciwgJi4tYWx3YXlzLXZpc2libGUge1xuICAgICAgICAgICAgICAgIC5fX3RpdGxlIHsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgICAgICAgICAgICAgIC5fX2ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gLy8gYnJlYWtwb2ludFxuICAgIH1cblxuICAgICYuLW1vYmlsZS1vdmVybGF5LXRpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5fX3RpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgICAgICAgbGVmdDogMTBweDtcblxuICAgICAgICAgICAgY29sb3I6ICMxMTE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICAgIC5fX2xpbmsgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuX190aXRsZSB7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAgICAgICAgIC5fX2ltYWdlIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi4td2hpdGVUZXh0LCAmLi13aGl0ZS10ZXh0IHtcbiAgICAgICAgICAgICYsIHAsIC5fX3RpdGxlLCAuX190aXRsZSA+ICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLW1vYmlsZS1oaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgICYuLW5vVGV4dEhvdmVyLCAmLi1uby10ZXh0LWhvdmVyIHtcbiAgICAgICAgJiwgcCwgLl9fdGl0bGUge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4td2hpdGVUZXh0LCAmLi13aGl0ZS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwKCkge1xuICAgICAgICAgICAgJiwgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJiwgcCwgLl9fdGl0bGUsIC5fX3RpdGxlICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstaW1hZ2Utem9vbSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHBhZGRpbmc6ICR0ay1zcGFjZXI7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLl9fbWFzayB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBmaWx0ZXI6IG9wYWNpdHkoOTUlKSBibHVyKDVweCk7XG5cbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICB9XG5cbiAgICAuY2xvc2UsXG4gICAgLm5leHQsXG4gICAgLnByZXZpb3VzIHtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgY3Vyc29yOiB6b29tLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXh0LFxuICAgICAgICAucHJldmlvdXMge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA0MHZoOyAvLyB3ZSB3YW50IGl0IGNlbnRlcmVkIG9uIHRoZSB2aWV3cG9ydCwgYnV0IHRoZSBoZWFkZXIvaW1hZ2UgbWFyZ2lucyBhcmUgbXVja2luZyB0aGlzIHVwXG4gICAgICAgIH1cblxuICAgICAgICAubmV4dCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmV2aW91cyB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUoKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICR0ay1zcGFjZXIgLyAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUoKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstbGlzdCB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMjBweCA0MHB4O1xuXG4gICAgQGluY2x1ZGUgdGstcDE7XG5cbiAgICAmLi1kaXNjIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgIH1cblxuICAgICYuLW51bWVyaWMge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgfVxuXG4gICAgJi4tYWxwaGEge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICB9XG59XG4iLCIudGstbWFpbGluZy1saXN0LXN1YnNjcmliZSB7XG4gIHdpZHRoOiAyODBweDtcbiAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHsgd2lkdGg6IDEwMCU7IH1cblxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gIC5pbnB1dC1ib3gge1xuICAgIG1pbi1oZWlnaHQ6IDU0cHg7XG4gIH1cblxuICAuaW5wdXQtdGV4dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuX19jaG9pY2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIG1hcmdpbjogMTBweCAwO1xuXG4gICAgPiBwIHtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSB0ay1sMjtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAmLi12YWxpZCB7XG4gICAgICAgIGNvbG9yOiAkYy1yZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tYWR2aWNlIH4gbGFiZWwge1xuICAgICAgY29sb3I6ICRjLXJlZDtcbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbi1hZHZpY2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cbiAgICAgID4gcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZmxleC1ncm93OiB1bnNldDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNzJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuX19lcnJvciB7XG4gICAgY29sb3I6ICRjLXJlZDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDAuMDtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmLi12aXNpYmxlIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgb3BhY2l0eTogMS4wO1xuXG4gICAgfVxuICB9XG59XG4iLCIudGstbmF2LWFuZC1wcm9kdWN0cyB7XG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgPiAuX19uYXYgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgPiAuX19uYXYge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMjAlO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuX19wcm9kdWN0cyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA4MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIqW3YtY2xvYWtdIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4udGstbmF2LWNhdGFsb2cge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgdGstbDQ7XG5cbiAgICAgICAgJi4tY3VycmVudCB7XG4gICAgICAgICAgICBjb2xvcjogJHRrLWJsdWU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgdGstaDM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgPiAuX19saXN0IHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWwyO1xuXG4gICAgICAgICAgICAgICAgJi4tc2FsZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWw0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAmLi1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGstYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5fX2xpc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgICAgPiAuX19saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLW5hdi1kZXNrdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYmxhY2s7XG5cbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICA+IHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICA+IHVsID4gbGkge1xuICAgICAgICAmLl9fbC4tLWxhc3QgeyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgICAgJi5fX3IuLS1maXJzdCB7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgICYuLS1tb2JpbGUtaGlkZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTVweDtcblxuICAgICAgICAmLi0tZmlyc3Qge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fbG9nbyB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19hY2NvdW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltYWdlcy9uYXYvYWNjb3VudC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBsZWZ0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMHB4O1xuXG4gICAgICAgICAgICAuX19yVGV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX3NlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICAuX19saW5rIHtcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL25hdi9zZWFyY2guc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgbGVmdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHg7XG5cbiAgICAgICAgICAgICAgICAuX19yVGV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3NlYXJjaC1mb3JtIHtcbiAgICAgICAgICAgIC5fX2lucHV0IHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCNzZWFyY2gge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAwcHggNHB4IDBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGVhc2U7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNDhweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAmOnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSUUgMTArICovXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uLCBpbnB1dFt0eXBlPXN1Ym1pdF0geyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYuLS1hY3RpdmUge1xuICAgICAgICAgICAgLl9fbGluayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL25hdi9zZWFyY2hfaW52ZXJ0ZWQuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQjc2VhcmNoIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2FjY291bnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuX19wb3B1cC1sb2dpbi1jb250YWluZXIgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLl9fcG9wdXAtbG9naW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAtMjQwcHg7XG5cbiAgICAgICAgICAgICYuLS12aXNpYmxlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAgICYuLS1sb2dnZWQtaW4ge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IC8vIEF2b2lkIHBhZ2VzIHJlc2V0dGluZyBmdWNraW5nIGJ1dHRvbnMtc2V0XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19jYXJ0LWNvdW50IHtcbiAgICAgICAgLl9fY2FydCB7XG4gICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCA3cHg7XG5cbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtYmx1ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgICAgICAgICAgLl9fY2FydCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDlweCAwIDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMCAwIDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyOXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAgICAgLl9fc2VhcmNoLCAuX19hY2NvdW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2NhcnQtY291bnQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLW5hdi1kcmF3ZXIge1xuICAgICRwYWRkaW5nOiAzMHB4O1xuXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDkxcHgpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDkxcHgpO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjLWJsYWNrO1xuXG4gICAgLy8gTGV0IHRoZSB6LWluZGV4IHdhcnMgYmVnaW5cbiAgICB6LWluZGV4OiAxMDtcblxuICAgICYuLWNsb3NlZCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAmLi1vcGVuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLl9fc2VhcmNoIHtcbiAgICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuXG4gICAgICAgIC5fX2xhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICAgICRwYWRkaW5nIC0gNnB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE5cHg7XG5cbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRrLW5hdi1zZWFyY2gge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE3cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcblxuICAgICAgICAgICAgLl9faW5wdXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ncmF5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fc3VibWl0IHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiAuX19jYXRlZ29yaWVzIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgLl9fY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgLl9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWg0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHggMThweCAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX190b2dnbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IC8vIFByZXZlbnQgXCJzZWxlY3RcIiBhbmQgdWdseSBibHVlIHNlbGVjdCBoaWdobGlnaHRcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL25hdi9jYXJldC5zdmdcIikgY2VudGVyIGNlbnRlci8xMHB4IDEwcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2hpbGQgY2F0ZWdvcmllc1xuICAgICAgICAgICAgLl9fbGlzdCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgICA+IC5fX2NhdGVnb3J5IC5fX3RvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC5fX2xpc3QgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGVwYXJ0bWVudHMgLSB0b3AgbGV2ZWwgbGlua3MuXG4gICAgICAgID4gLl9fbGlzdCB7XG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYmxhY2s7XG5cbiAgICAgICAgICAgICAgICA+IC5fX2NhdGVnb3J5IC5fX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ay1oMztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBDYXRlZ29yeSAtIGZpcnN0IGxldmVsIGRlc2NlbmRhbnRzLlxuICAgICAgICAgICAgICAgID4gLl9fbGlzdCA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiAuX19jYXRlZ29yeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5fX2xpbmsgeyBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIFN1YmNhdGVnb3J5IC0gMm5kIGxldmVsIGRlc2NlbmRhbnRzLiBUaGlzIGlzIGdldHRpbmcgZ3Jvc3MsIHNpZ2guXG4gICAgICAgICAgICAgICAgICAgID4gLl9fbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IC5fX2NhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAuX19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDlweCAxNXB4IDEwcHggNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAvLyAuX19saXN0XG4gICAgfVxuXG4gICAgPiAuX19wb2xpY3ktbGlua3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOyAvLyBJIExvdmUgRmxleGJveFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZztcblxuICAgICAgICAuX19saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nIC8gNDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyAvIDQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstbmF2LWhlYWRlciB7XG4gICAgLl9fbW9iaWxlIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC5fX3RhYmxldCB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtZG93bigpIHtcbiAgICAgICAgLl9fbW9iaWxlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLl9fdGFibGV0IHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbn1cbiIsIi50ay1uYXYtbW9iaWxlIHtcbiAgICAvLyBJZiB5b3UgY2hhbmdlIHRoZXNlLCByZW1lbWJlciB0byBjaGFuZ2UgdGhlIGhlYWRlciBcIm5hdiBkcmF3ZXJcIiB2YWx1ZXMuXG4gICAgJHBhZGRpbmctdG9wOiAyOHB4O1xuICAgICRwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAkcGFkZGluZy1ob3Jpem9udGFsOiAzMHB4O1xuXG4gICAgKjpmb2N1cyB7IG91dGxpbmU6IDAgfVxuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcblxuICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgJi5fX3JocyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3A7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLWhvcml6b250YWwgLyAyO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctaG9yaXpvbnRhbCAvIDI7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbiAgICAgICAgICAgICYuLXNlYXJjaCB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuLWJhcnMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3AgKyA0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuLWJhZyB7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5fX2xvZ28ge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmctdG9wIC0gMjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3A7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xuXG4gICAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMzJweDtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19uYXYtZHJhd2VyLXBhZGRlcixcbiAgICAuX19kcmF3ZXIteCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLl9fZHJhd2VyLXgge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDI0cHggMzBweCAxOXB4IDMwcHg7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdpdGggTmF2IERyYXdlciBcIk9wZW5cIiBzdGF0ZSwgaWUgaGlkZSBhY2NvdW50ICYgc2hvcHBpbmcgYmFnIGxpbmtzLlxuICAgICYuLW5hdi1kcmF3ZXItb3BlbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLl9fbGhzIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuX19sb2dvLFxuICAgICAgICAuX19yaHMgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5fX2RyYXdlci14IHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgICAgICAuX19uYXYtZHJhd2VyLXBhZGRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAkdGstbmF2LWRyYXdlci13aWR0aDtcbiAgICAgICAgICAgIG1heC13aWR0aDogJHRrLW5hdi1kcmF3ZXItbWF4LXdpZHRoO1xuICAgICAgICAgICAgbWluLWhlaWdodDogNzRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgICAgICAgIC5fX2xvZ28geyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstbmF2LXNlYXJjaCB7XG4gICAgLl9faW5wdXQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG59XG4iLCIudGstb3B0aW9uLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgZHQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgZGQge1xuICAgICAgICAmLl9fY29sb3Ige1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdHJpbSAvIDQ7XG4gICAgICAgICAgICAmOjphZnRlciB7IGNvbnRlbnQ6ICcvJzsgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5fX3NpemUge31cbiAgICB9XG59XG4iLCIudGstcG9wdXAtbG9naW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgIHBhZGRpbmc6IDIwcHggMzBweCAxMHB4IDMwcHg7XG4gICAgd2lkdGg6IDMzM3B4O1xuXG4gICAgbGFiZWwgeyBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLmJsb2NrLXRpdGxlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLl9fYWN0aW9ucy1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG5cbiAgICAgICAgLmxpbmtzIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjbWluaS1sb2dpbiwgI21pbmktcGFzc3dvcmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5ibG9jayAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgICYuLS1sb2dnZWQtaW4ge1xuICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLXByb2R1Y3QtaW1hZ2VzIHtcbiAgICAuX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LWRvd24ge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtZGVza3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA1cHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHpvb20taW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fc2xpY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46ICR0cmltIC8gMjtcblxuICAgICAgICAuX19wcmV2LFxuICAgICAgICAuX19kb3RzIHVsIGJ1dHRvbixcbiAgICAgICAgLl9fbmV4dCB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAkdHJpbSAvIDI7XG4gICAgICAgICAgICBtYXJnaW46IDAgJHRyaW0gLyAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fZG90cyB7XG4gICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gV2UncmUgc2tpcHBpbmcgc2xpY2stdGhlbWUuc2Nzcywgc28gd2UgbmVlZCB0byBzcGVjIG1hbnVhbGx5XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ncmF5O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgICAgICAgICAkc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuICAgICAgICAgICAgICAgICRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuICAgICAgICAgICAgICAgICRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuICAgICAgICAgICAgICAgICRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuICAgICAgICAgICAgICAgICRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogOHB4IDVweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMjE5XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0NnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLWRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1wcm9kdWN0LWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgfVxuXG4gICAgLl9faW1hZ2Uge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAmLi1yb2xsb3ZlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgICYsICoge1xuICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuX19pbWFnZSB7XG4gICAgICAgICAgICAmLi1yb2xsb3ZlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIi50ay1wcm9kdWN0LXByaWNlIHtcbiAgICAuX19vcmlnaW5hbC1wcmljZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIH1cblxuICAgIC5fX2N1cnJlbnQtcHJpY2Uge1xuICAgICAgICAmLi1zYWxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMge1xuICAgIG1hcmdpbjogNjBweCAwO1xuXG4gICAgLl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuXG4gICAgICAgICAgICAmLi1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2xpc3RzIHtcbiAgICAgICAgLl9fbGlzdCB7XG4gICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYuLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDE2LjY2JSAtIDVweCk7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA1cHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLXByb2R1Y3QtdmlldyB7XG4gICAgPiAuX19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuXG4gICAgLl9faW1hZ2VzIHtcbiAgICAgICAgZmxleC1iYXNpczogNjYlO1xuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY2JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2RldGFpbHMge1xuICAgICAgICBmbGV4LWJhc2lzOiAzMyU7XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMzJTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHRyaW07XG4gICAgICAgIH1cblxuICAgICAgICAuX192ZW5kb3Itc2t1IHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIC5fX3Byb2R1Y3QtbmFtZSxcbiAgICAgICAgLl9fYWNjb3JkaW9uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2luLXN0b3JlLW9ubHkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgIH1cblxuICAgIC5fX3NvbGQtb3V0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgIH1cblxuICAgIC5fX3JlbGF0ZWQtcHJvZHVjdHMge1xuICAgIH1cblxuICAgIC8vIE1hZ2VudG8gT3ZlcnJpZGVzXG4gICAgLnByb2R1Y3Qtb3B0aW9ucyxcbiAgICAucHJvZHVjdC1vcHRpb25zIGRkLFxuICAgIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtb3B0aW9ucyBkZC5sYXN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1hZGQtZm9ybSB7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgIH1cblxuICAgIC8vIEhpZGUgbGFiZWxzLlxuICAgIC5wcm9kdWN0LW9wdGlvbnMge1xuICAgICAgICBkdCxcbiAgICAgICAgbGFiZWwucmVxdWlyZWQsXG4gICAgICAgIHAucmVxdWlyZWRcbiAgICAgICAge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LW9wdGlvbnMgc2VsZWN0LFxuICAgIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIGJ1dHRvbiB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtYmx1ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW9wdGlvbnMgc2VsZWN0IHtcbiAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDMwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJi4taW52aXNpYmxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuICAgICAgICA+IC5fX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gR2lmdCBjYXJ0IHByb2R1Y3QgdHlwZVxuLnRrLXByb2R1Y3QtdmlldyB7XG5cdC5naWZ0Y2FyZC1mb3JtIHtcblx0XHRsYWJlbC5yZXF1aXJlZCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cblx0XHRsYWJlbC5yZXF1aXJlZCBlbSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXG5cdFx0cC5yZXF1aXJlZCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXG5cdFx0LmlucHV0LXRleHQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0c2VsZWN0IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cblx0XHQuYXZhaWxhYmlsaXR5IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG4iLCIudGstc2l6ZS1ndWlkZSB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDtcblxuICAgIC5fX2JvcmRlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG4gICAgfVxuXG4gICAgLl9faGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cblxuICAgIC5fX3RhYmxlcyB7XG4gICAgICAgIC5fX3RhYmxlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19kZWZpbml0aW9uVGl0bGUsIGR0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgQGluY2x1ZGUgdGstaDI7XG4gICAgfVxuXG4gICAgLl9fZGVmaW5pdGlvbkd1aWRlLCBkZCB7XG4gICAgICAgIEBpbmNsdWRlIHRrLXAxO1xuICAgIH1cblxuICAgIC5fX2RlZmluaXRpb25zIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgfVxufVxuIiwiLnRrLXNvY2lhbC1sb2dpbi1jb250YWluZXIsIC5pbmNob28tc29jaWFsY29ubmVjdC1sb2dpbiB7XG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgbWF4LXdpZHRoOiAzNjVweDtcbiAgICB9XG5cbiAgICAuaW5jaG9vLXNvY2lhbGNvbm5lY3QtbG9naW4tbG93ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSB0ay1wMTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIH1cbn1cbiIsIi50ay1zb2NpYWwtbG9naW4ge1xuICAgICYuLWdvb2dsZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjLXJlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLWZhY2Vib29rIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1zb2NpYWwtcHJlbHVkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAuX19saW5lIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLXRleHQtZ3JheTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAuX19jb3B5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIC0xOHB4IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIH1cbn1cbiIsIi50ay1zdG9yZS1pbmZvIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgPiBoMSB7XG4gICAgICAgIG1hcmdpbjogNTBweCAwO1xuICAgIH1cblxuICAgIC8vIE1vYmlsZSBmaXJzdFxuICAgIC5fX3N0b3JlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgODBweCAwO1xuXG4gICAgICAgIC5fX2ltYWdlcyB7XG4gICAgICAgICAgICAuX19pbWFnZSwgLl9fbWFwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fbWFwIHtcbiAgICAgICAgICAgICAgICA+IGlmcmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNzVweCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxLjMzICogKDEwMHZ3IC0gNzVweCkpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEdyYXlzY2FsZSBHb29nbGUgTWFwIGlmcmFtZVxuICAgICAgICAgICAgICAgICAgICAvLyBUaGFuayB5b3UgaHR0cHM6Ly9jb2RlcGVuLmlvL2pvZS13YXRraW5zL3Blbi9mc2pySVxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XFwnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXCc+PGZpbHRlciBpZD1cXCdncmF5c2NhbGVcXCc+PGZlQ29sb3JNYXRyaXggdHlwZT1cXCdtYXRyaXhcXCcgdmFsdWVzPVxcJzAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAgMCAwIDEgMFxcJy8+PC9maWx0ZXI+PC9zdmc+I2dyYXlzY2FsZVwiKTsgLyogRmlyZWZveCAxMCsgKi9cbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBncmF5OyAvKiBJRTYtOSAqL1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDk5JSk7IC8qIENocm9tZSAxOSsgJiBTYWZhcmkgNisgKi9cbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47ICAvKiBGaXggZm9yIHRyYW5zaXRpb24gZmxpY2tlcmluZyAqL1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2luZm8ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAuX190aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19sb2NhdGlvbixcbiAgICAgICAgICAgIC5fX2hvdXJzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDE2JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgIC5fX3N0b3JlIHtcbiAgICAgICAgICAgIC5fX2ltYWdlcyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNXB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19pbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19tYXAge1xuICAgICAgICAgICAgICAgICAgICA+IGlmcmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MHZ3IC0gNzBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMS4zMyAqICg1MHZ3IC0gNzBweCkgKyAyOHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDc1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MjJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9faW5mbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgICAgLl9fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygyMCUgLSA1cHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5fX2RldGFpbHMge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygzMCUgLSA1cHgpO1xuXG4gICAgICAgICAgICAgICAgICAgIC5fX2xvY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICAuX19ob3VycyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLXRhYmxlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXG4gICAgLm1hc3RlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgdGgsIHRkIHtcbiAgICAgICAgQGluY2x1ZGUgdGstcDE7XG4gICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4tdGlnZXIge1xuICAgICAgICB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4td2lkZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi50ay10b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0ay1oMztcblxuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJGMtYmx1ZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsdWU7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cbiIsIi50ay11Z2x5LWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLl9faDEge1xuICAgICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWUgTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkx1Y2lkYSBHcmFuZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDExOHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5fX3AsIC5fX2xpbmsge1xuICAgICAgICBmb250LWZhbWlseTogVGltZXMsIHNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgfVxuXG4gICAgLl9fcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgfVxuXG4gICAgLl9fY3RhLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuXG4gICAgICAgID4gLl9fbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgIH1cbn1cbiIsIi50ay12ZW5kb3ItdGVybXMge1xuICAgIC5fX3NlY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDQwcHggMCA0MHB4IDQwcHg7XG4gICAgfVxuXG4gICAgLl9fYWRkcmVzcyB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDIwcHggMjBweDtcbiAgICB9XG59XG4iLCIvKlxuICogU3R5bGluZyBmb3Igb3VyIFplbmRlc2sgY2hhdCB+fiogZXhwZXJpZW5jZSAqfn5cbiAqL1xuXG4udGstemVuZGVzay1jaGF0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBub25lOyAvLyBURU1QXG5cbiAgICAuX193aWRnZXQgeyBkaXNwbGF5OiBub25lOyAgfVxuICAgIC5fX21pbmltaXplZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICYuLW9ubGluZSB7XG4gICAgICAgIC5fX21pbmltaXplZCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICYuLW9wZW4ge1xuICAgICAgICAgICAgLl9fd2lkZ2V0IHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAgIC5fX21pbmltaXplZCB7IGRpc3BsYXk6IG5vbmU7ICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX193aWRnZXQge1xuICAgICAgICAuX190aXRsZS1iYXIge1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fYm9keSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGMtYmxhY2s7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2FnZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWg0O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fY2hhdC1sb2cge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2NoYXQtbG9nLW1lc3NhZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAgICAgICAgIC5fX3VzZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWg0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ay1wMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2lucHV0LWZvcm0ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWJsYWNrO1xuXG4gICAgICAgICAgICAuX19pbnB1dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGstcDI7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICByZXNpemU6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBibHVlIG91dGxpbmVcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7IGNvbnRlbnQ6ICc+ICc7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX3N1Ym1pdCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fd2lkZ2V0IC5fX3RpdGxlLWJhcixcbiAgICAuX19taW5pbWl6ZWQge1xuICAgICAgICBAaW5jbHVkZSB0ay1oMjtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAuX190aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweFxuICAgICAgICB9XG4gICAgfVxufVxuIiwiYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogJHRyaW0gYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSB0ay1oMTtcblxuICAgIH1cblxuICAgIC5jYXRlZ29yeS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvb2xiYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICAuc29ydGVyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAucGFnZXIge1xuICAgICAgICAgICAgLmFtb3VudCwgICAgLy8gXCJzaG93aW5nIHggb2YgbiBwcm9kdWN0c1wiXG4gICAgICAgICAgICAubGltaXRlciAgICAvLyBcInByb2R1Y3RzIHBlciBwYWdlXCJcbiAgICAgICAgICAgIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgICAgICAucGFnZXMge1xuICAgICAgICAgICAgICAgIC5jdXJyZW50LCBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggOHB4IDAgOHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuaS1wcmV2aW91cyxcbiAgICAgICAgICAgICAgICAgICAgJi5pLW5leHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0cy1ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5fX3Byb2R1Y3Qge1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygzMyUgLSAyOHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0KCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vXG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWxpbmsge1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICAmLi1yb2xsb3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICYsICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLi1yb2xsb3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5fX2NvbW1vbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICAgICAgLl9fcm9sbG92ZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgICAgICAgICAmLi13aXRoUm9sbG92ZXI6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAmLCAqIHtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5fX2NvbW1vbiAgIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgICAgICAgICAuX19yb2xsb3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IC8vIHByb2R1Y3RzLWdyaWRcblxuICAgICYuLWhpZGUtc2lkZS1uYXYge1xuICAgICAgICAudGstbmF2LWFuZC1wcm9kdWN0cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgPiAuX19uYXYgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2hlY2tvdXQtY2FydC1pbmRleCB7XG4gICAgLmNhcnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMjRweDtcbiAgICB9XG5cbiAgICAuY2FydC1lbXB0eSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bC5tZXNzYWdlcyB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuY2FydC1mb3JtcyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgLmRpc2NvdW50LFxuICAgICAgICAuZ2lmdGNhcmQsXG4gICAgICAgIC5zaGlwcGluZyB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgICAgICAgICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ay1oMztcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ay1wMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC50ay1idXR0b247XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuLW8tYmxhY2s7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuLWgtby1ibHVlO1xuXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICB3aWR0aDogODdweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG5cbiAgICAgICAgICAgICAgICAmLmJ1dHRvbjIgc3BhbiwgLmJ1dHRvbjIgc3BhbiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNkaXNjb3VudC1jb3Vwb24tZm9ybSAuZGlzY291bnQgLmRpc2NvdW50LWZvcm0ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICA+IC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgaW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJ1dHRvbi4tcmVtb3ZlIHtcbiAgICAgICAgICAgICAgQGV4dGVuZCAuLW8tcmVkO1xuICAgICAgICAgICAgICBAZXh0ZW5kIC4taC1vLXJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICA+IC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH0gLy8gbW9iaWxlIGJyZWFrcG9pbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC5naWZ0Y2FyZCB7XG4gICAgICAgICAgICAuY2hlY2stZ2Mtc3RhdHVzIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLXAxO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWwxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgICAgICBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gV2lsbCBkeW5hbWljYWxseSBiZSBkcmF3bi4gV2UgZG9uJ3QgbmVlZCBpdC5cbiAgICAgICAgICAgICAgICAjYWR2aWNlLXJlcXVpcmVkLWVudHJ5LWdpZnRjYXJkX2NvZGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICAgICAgICAgIC8vIFVnaC4uLlxuICAgICAgICAgICAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAvLyAuZmllbGQtd3JhcHBlclxuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAvLyBtb2JpbGUgYnJlYWtwb2ludFxuICAgICAgICB9IC8vIC5naWZ0Y2FyZFxuICAgIH1cblxuICAgIC5zaGlwcGluZyB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5jYXJ0LXRvdGFscy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jYXJ0LXRvdGFscyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1oMzsgLy8gXCJNb25leVwiIGZvbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEh1Z2UtYXNzIFwiR3JhbmQgVG90YWxcIlxuICAgICAgICB0Zm9vdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gXCJDaGVja291dCB3aXRoIG11bHRpcGxlIGFkZHJlc3Nlc1wiXG4gICAgLm1ldGhvZC1jaGVja291dC1jYXJ0LW1ldGhvZHMtbXVsdGlzaGlwcGluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LXR5cGVzIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIEBleHRlbmQgLnRrLWJ1dHRvbjtcbiAgICAgICAgICAgIEBleHRlbmQgLi1vLWJsdWU7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXlwYWwtbG9nbyB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IHtcbiAgICAuY29sLW1haW4ge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5jaGVja291dC10eXBlcyB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC50ay1idXR0b247XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLi1vLWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5tZXRob2QtY2hlY2tvdXQtY2FydC1tZXRob2RzLXBheXBhbF9leHByZXNzLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYubWV0aG9kLWNoZWNrb3V0LWNhcnQtbWV0aG9kcy1vbmVwYWdlLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIEhpZGUgdGhlIHVnbHkgXCItb3ItXCIsIGJ1dCBzaG93IHRoZSBQYXlwYWwgYnV0dG9uLlxuICAgICAgICAgICAgICogU2VsZWN0b3JzIGFyZSBhbGwgb3ZlciB0aGUgcGxhY2UuIDooXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIC5wYXlwYWwtbG9nbyB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIC5tZXRob2QtY2hlY2tvdXQtY2FydC1tZXRob2RzLXBheXBhbF9leHByZXNzLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLXRpbnkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2hlY2tvdXQtb25lcGFnZS1pbmRleCB7XG4gICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1jb250YWluZXIgLmhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5jb2wtbWFpbiB7XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICBpbnB1dFt0ZXh0XSxcbiAgICAgICAgaW5wdXRbcGFzc3dvcmRdIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHRyaW0gLyAyO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHRyaW0gLyAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9wYyB7XG4gICAgICAgIHNlbGVjdCB7IG1heC13aWR0aDogbm9uZTsgfVxuXG4gICAgICAgIC5zZWN0aW9uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICYuYWxsb3cgeyBvcGFjaXR5OiAxLjA7IH1cblxuICAgICAgICAgICAgLnN0ZXAtdGl0bGUge1xuICAgICAgICAgICAgICAgIC5udW1iZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWgyO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDIwcHggNTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdGVwIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkdHJpbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICR0cmltIDAgJHRyaW0gKiAyIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhY2stbGluayB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5zcC1tZXRob2RzIHtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGstbDQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNjby1iaWxsaW5nLWZvcm0sXG4gICAgI2NvLXNoaXBwaW5nLWZvcm0sXG4gICAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkdHJpbSAvIDI7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE1cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWxpc3Qge1xuICAgICAgICAuY29udHJvbCBsYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAucmVxdWlyZWQgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgICAgICAgIEBleHRlbmQgLnRrLWJ1dHRvbjtcbiAgICAgICAgICAgIEBleHRlbmQgLi1vLWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjb3BjLWxvZ2luIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGstaDI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuXG4gICAgICAgIC5jb2wyLXNldCB7XG4gICAgICAgICAgICAuY29sLTEsIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAoJHRyaW0gLyAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIExlZnQgU2lkZSBcIkNoZWNrb3V0IGFzIEd1ZXN0P1wiXG4gICAgICAgICAgICAuY29sLTEge1xuICAgICAgICAgICAgICAgIC5mb3JtLWxpc3Qge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0OHB4OyAvLyBFeWViYWxsZWQgdG8gbGluZSB1cCBvbiBEZXNrdG9wIHdpdGggdGV4dCBpbnB1dFxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiAubGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJpZ2h0IFNpZGUgTG9naW5cbiAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAuaW5wdXQtYm94IHtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTFweDsgLy8gRXllYmFsbGVkIHRvIGFsbG93IDEgcm93IG9mIGVycm9yIHRleHRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBoNCwgcCwgLnVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAuY29sLTEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHRyaW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNsb2dpbi1mb3JtIHtcbiAgICAgICAgICAgIC5pbnB1dC10ZXh0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNyZW1lbWJlci1tZS1ib3ggLmxpbmstdGlwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBTVEVQIDJcbiAgICAgKi9cbiAgICAjb3BjLWJpbGxpbmcge1xuICAgICAgICBmb3JtI2NvLWJpbGxpbmctZm9ybSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0cmltIC8gMjtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE1cHgpO1xuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qXG4gICAgICogU1RFUCAzIFNISVBQSU5HIElORk9STUFUSU9OXG4gICAgICovXG4gICAgI29wYy1zaGlwcGluZyB7XG4gICAgICAgIGZvcm0jY28tc2hpcHBpbmctZm9ybSB7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCBzZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSwgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qXG4gICAgICogU1RFUCA0IFNISVBQSU5HIE1FVEhPRCBJTlBVVFxuICAgICAqL1xuICAgICNvcGMtc2hpcHBpbmdfbWV0aG9kIHtcbiAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSwgc2VsZWN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIHtcbiAgICAgICAgfVxuXG4gICAgICAgICNvbmVwYWdlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZC1hZGRpdGlvbmFsLWxvYWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zcC1tZXRob2RzIHtcbiAgICAgICAgICAgIGR0IHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgICAgICBkZCB7XG4gICAgICAgICAgICAgICAgdWwgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIGlucHV0LnJhZGlvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBQdWxsIGRvd24gdG8gYWxpZ24gd2l0aCBsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTNweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogOTk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qXG4gICAgICogU1RFUCA0IFBBWU1FTlRcbiAgICAgKi9cbiAgICAjb3BjLXBheW1lbnQge1xuICAgICAgICA+IC5zdGVwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvcm0jY28tcGF5bWVudC1mb3JtIHtcbiAgICAgICAgICAgICNkdF9tZXRob2RfY2NzYXZlIGxhYmVsIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbiAgICAgICAgICAgIC5mb3JtLWxpc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBDQyBNb250aC9ZZWFyIFNlbGVjdG9yc1xuICAgICAgICAgICAgICAgIGxpOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICAgIC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnYtZml4IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zcC1tZXRob2RzIHtcbiAgICAgICAgICAgICAgICBkdCBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHsgZmxvYXQ6IG5vbmU7IH1cblxuICAgICAgICAgICAgICAgICAgICAmW2Zvcj1cInBfbWV0aG9kX3BheXBhbF9leHByZXNzXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjYWR2aWNlLXZhbGlkYXRlLWNjLWV4cC1jY3NhdmVfZXhwaXJhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNoZWNrb3V0LW9uZXBhZ2UtcGF5bWVudC1hZGRpdGlvbmFsLWdpZnRjYXJkYWNjb3VudCB7XG4gICAgICAgIH1cbiAgICB9IC8vICNvcGMtcGF5bWVudFxuXG4gICAgLypcbiAgICAgKiBTVEVQIDUgQ09ORklSTVxuICAgICAqL1xuICAgICNvcGMtcmV2aWV3IHtcbiAgICAgICAgI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCAzMHB4IDM0cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNjaGVja291dC1yZXZpZXctdGFibGUge1xuICAgICAgICAgICAgdGhlYWQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJi5hLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcblxuICAgICAgICAgICAgICAgICAgLl9fcHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgLl9fZmluYWwtc2FsZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3Jldmlldy1idXR0b25zLWNvbnRhaW5lciAuYnRuLWNoZWNrb3V0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9ucy1zZXQgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZi1sZWZ0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIFJlbW92ZSBhbm5veWluZyBcIkZvcmdvdCBhbiBJdGVtP1wiXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSB7XG4gICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5jb2wtbWFpbiA+ICoge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG5cbiAgICAuX19yZWZlcmVuY2UsXG4gICAgLl9fZXhhbXBsZXMge1xuICAgICAgICBwYWRkaW5nOiAwcHggMzBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICB9XG5cbiAgICAuX19leGFtcGxlcyB7XG4gICAgICAgICYuLWlucHV0cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMzJSAtIDVweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAuX19yZXNwb25zaXZlIHtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWgxO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRrLWJsdWU7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2N1cnJlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7IC5fX2JwLW5hbWU6YWZ0ZXIgeyBjb250ZW50OiAnPCB4c21hbGwnOyB9IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLXhzbWFsbCkgeyAuX19icC1uYW1lOmFmdGVyIHsgY29udGVudDogJ3hzbWFsbCc7IH0gfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtc21hbGwpIHsgLl9fYnAtbmFtZTphZnRlciB7IGNvbnRlbnQ6ICdzbWFsbCc7IH0gfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtKSB7IC5fX2JwLW5hbWU6YWZ0ZXIgeyBjb250ZW50OiAnbWVkaXVtJzsgfSB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1sYXJnZSkgeyAuX19icC1uYW1lOmFmdGVyIHsgY29udGVudDogJ2xhcmdlJzsgfSB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicChtaW4td2lkdGgsICRicC14bGFyZ2UpIHsgLl9fYnAtbmFtZTphZnRlciB7IGNvbnRlbnQ6ICd4bGFyZ2UnOyB9IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3hzbWFsbCwgLl9fc21hbGwsIC5fX21lZGl1bSwgLl9fbGFyZ2UsIC5fX3hsYXJnZSB7XG4gICAgICAgICAgICAvLyBTb21ldGhpbmcgaXMgdXAgd2l0aCB0aGUgYnJlYWtwb2ludHMgYW5kIHRoZSB3aWR0aCAtIHRoZXkgZG9uJ3QgbGluZSB1cFxuICAgICAgICAgICAgLy8gYnkgYWJvdXQgMjAwcHhcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuX194c21hbGwge1xuICAgICAgICAgICAgd2lkdGg6ICRicC14c21hbGw7XG4gICAgICAgIH1cblxuICAgICAgICAuX19zbWFsbCB7XG4gICAgICAgICAgICB3aWR0aDogJGJwLXNtYWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fbWVkaXVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYnAtbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fbGFyZ2Uge1xuICAgICAgICAgICAgd2lkdGg6ICRicC1sYXJnZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14bGFyZ2UgLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3hsYXJnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLXhsYXJnZSkgeyBiYWNrZ3JvdW5kOiByZWQ7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhsYXJnZSkgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY21zLWhvbWUsXG4uY21zLWluZGV4LWluZGV4IHtcbiAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG4iLCIuY21zLXBhZ2UtdmlldyB7XG4gICAgLnN0ZCBwIHtcbiAgICAgICAgY29sb3I6IHVuc2V0O1xuICAgICAgICBmb250LXNpemU6IHVuc2V0O1xuICAgICAgICBsaW5lLWhlaWdodDogdW5zZXQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB1bnNldDtcbiAgICAgICAgZm9udC1zdHlsZTogdW5zZXQ7XG4gICAgfVxufVxuIiwiLmNvbnRhY3RzLWluZGV4LWluZGV4IHtcbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAuY29udGFjdHMtaW5kZXgtaW5kZXhfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLl9faW5mbyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLl9fZm9ybSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdHMtaW5kZXgtaW5kZXhfX2NvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2luZm8sIC5fX2Zvcm0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIC5fX2luZm8ge1xuICAgIH1cblxuICAgIC5fX2Zvcm0ge1xuICAgICAgICBpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG5cbiAgICAgICAgICAgICYudmFsaWRhdGlvbi1mYWlsZWQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLXJlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4sXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQge1xuICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgIGlucHV0W3R5cGU9dGV4dF0sXG4gICAgaW5wdXRbdHlwZT1lbWFpbF0sXG4gICAgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gICAgLmJ1dHRvbnMtc2V0LFxuICAgIC5maWVsZHNldCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1pbnN0cnVjdGlvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZmllbGRzLi1tYWlsaW5nLWxpc3Qge1xuICAgICAgLmZpZWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHdpZHRoOiAzNjVweDtcbiAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgPiBwIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgICAgICAgICAgICAuX19wcm9tcHQge1xuICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5fX3dvbWVuLCAuX19tZW4ge1xuICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG59XG4iLCIuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LWRvd24oKSB7XG4gICAgICAgIC5oZWFkZXIge1xuICAgICAgICAgICAgLy8gVXNlIHBhZGRpbmcgdG8gcHVzaCBjb250ZW50IGRvd25cbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgICAgICAgICAgJi4td2l0aE5vdGlmaWNhdGlvbkJhciB7IHBhZGRpbmctYm90dG9tOiAxMjhweDsgfVxuXG4gICAgICAgICAgICAudGstbmF2LWhlYWRlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1hYm91dCB7XG4gICAgPiBwIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgfVxuXG4gICAgJi4tLWFmZmlsaWF0ZXMge1xuICAgICAgICA+IHAsIG9sIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDQwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ay1oMSB7XG4gICAgICAgIG1hcmdpbjogMzBweCAwIDEwcHggMDtcbiAgICB9XG5cbiAgICAudGstbDIge1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICB9XG5cbiAgICAudGstcDEge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuLS10d28tY29sIHtcbiAgICAgICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAteHNtYWxsICsgMSkge1xuICAgICAgICAgICAgLl9faW5mbyB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9faW1hZ2Uge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== */
