@charset "UTF-8";
/* ==========================================================================
   Main
   ========================================================================== */
/**
 * Settings
 */
/* ==========================================================================
   Settings.Defaults
   ========================================================================== */
/**
 * Breakpoints
 */
/**
 * Fonts
 */
/**
 * Project basic vars
 */
/**
 * Tools
 */
/* ==========================================================================
   Tools.Functions
   ========================================================================== */
/**
 * Function for rem mixin which removes units.
 */
/**
 * Basic fractions:
 */
/* ==========================================================================
   Tools.Mixins
   ========================================================================== */
/**
 * Generates column classes based on the defined breakpoints,
 * named with the convention `.u-sizexofy@breakpoint`, where
 * `x` is a subdivision of `y`.
 *
 * @include columns(3, 4);
 *
 * Generates:
 *  .u-size1of3@smallOnly
 *  .u-size1of3@smallUp
 *  .u-size1of3@smallDown
 *  .u-size1of3@mediumOnly
 *  .u-size1of3@mediumUp
 *  .u-size1of3@mediumDown
 *  .u-size1of3@largeUp
 *  .u-size1of3@largeDown
 *  .u-size2of3@smallOnly
 *  .u-size2of3@smallUp
 *  .u-size2of3@smallDown
 *  .u-size2of3@mediumOnly
 *  .u-size2of3@mediumUp
 *  .u-size2of3@mediumDown
 *  .u-size2of3@largeUp
 *  .u-size2of3@largeDown
 *
 *  (...)
 */
/**
 * Mixin for rem units within px fallback.
 * http://css-tricks.com/snippets/css/less-mixin-for-rem-font-sizing/
 *
 * .foo {
 *     @include rem(margin, 10, 20, 30, 40);
 * }
 *
 * .foo {
 *     margin: 160px 320px 480px 640px;
 *     margin: 10rem 20rem 30rem 40rem;
 * }
 *
 */
@media (min-width: 480px) {
  body::after {
    content: '{"small":{"value": "480px", "active": true}, "medium":{"value": "768px", "active": false}, "large":{"value": "1220px", "active": false}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0;
  }
}

@media (min-width: 768px) {
  body::after {
    content: '{"small":{"value": "480px", "active": true}, "medium":{"value": "768px", "active": true}, "large":{"value": "1220px", "active": false}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0;
  }
}

@media (min-width: 1220px) {
  body::after {
    content: '{"small":{"value": "480px", "active": true}, "medium":{"value": "768px", "active": true}, "large":{"value": "1220px", "active": true}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0;
  }
}

/**
 * Generic
 */
/* ==========================================================================
   Generic.Reset
   ========================================================================== */
/**
 * A thin layer on top of normalize.css that provides a starting point more
 * suitable for web applications.
 */
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
ol,
p,
pre,
ul {
  margin: 0;
}

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

iframe {
  border: 0;
}

/* ==========================================================================
   Generic.Shared
   ========================================================================== */
/**
 * Where `margin-bottom` is concerned,this value will be the same as the
 * base line-height. This allows us to keep a consistent vertical rhythm.
 * As per: csswizardry.com/2012/06/single-direction-margin-declarations
 */
address,
blockquote,
dl,
fieldset,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
ol,
p,
pre,
ul,
table {
  margin-bottom: 20px;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * Same `line-height` for basic form elements.
 */
button,
input {
  line-height: 1.5;
}

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical;
}

/**
 * Suppress the focus outline on elements that cannot be accessed via keyboard.
 * This prevents an unwanted focus outline from appearing around elements that
 * might still respond to pointer events.
 */
[tabindex="-1"]:focus {
  outline: none !important;
}

/* ==========================================================================
   Generic.Box-Sizing
   ========================================================================== */
/**
 * Global `box-sizing` settings.
 * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 * paulirish.com/2012/box-sizing-border-box-ftw
 */
*, *:before, *:after {
  box-sizing: inherit;
}

/**
 * Base
 */
/* ==========================================================================
   Base.Fonts
   ========================================================================== */
@font-face {
  font-family: 'Proxima Nova';
  src: url("../fonts/proxima-nova/proximanova-light-webfont.eot");
  src: url("../fonts/proxima-nova/proximanova-light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/proxima-nova/proximanova-light-webfont.woff2") format("woff2"), url("../fonts/proxima-nova/proximanova-light-webfont.woff") format("woff"), url("../fonts/proxima-nova/proximanova-light-webfont.ttf") format("truetype"), url("../fonts/proxima-nova/proximanova-light-webfont.svg#proxima_novalight") format("svg");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Proxima Nova';
  src: url("../fonts/proxima-nova/proximanova-regular-webfont.eot");
  src: url("../fonts/proxima-nova/proximanova-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/proxima-nova/proximanova-regular-webfont.woff2") format("woff2"), url("../fonts/proxima-nova/proximanova-regular-webfont.woff") format("woff"), url("../fonts/proxima-nova/proximanova-regular-webfont.ttf") format("truetype"), url("../fonts/proxima-nova/proximanova-regular-webfont.svg#proxima_nova_rgregular") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Proxima Nova';
  src: url("../fonts/proxima-nova/proximanova-bold-webfont.eot");
  src: url("../fonts/proxima-nova/proximanova-bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/proxima-nova/proximanova-bold-webfont.woff2") format("woff2"), url("../fonts/proxima-nova/proximanova-bold-webfont.woff") format("woff"), url("../fonts/proxima-nova/proximanova-bold-webfont.ttf") format("truetype"), url("../fonts/proxima-nova/proximanova-bold-webfont.svg#proxima_nova_rgbold") format("svg");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url("../fonts/montserrat/montserrat-light-webfont.eot");
  src: url("../fonts/montserrat/montserrat-light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat/montserrat-light-webfont.woff2") format("woff2"), url("../fonts/montserrat/montserrat-light-webfont.woff") format("woff"), url("../fonts/montserrat/montserrat-light-webfont.ttf") format("truetype"), url("../fonts/montserrat/montserrat-light-webfont.svg#montserratlight") format("svg");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url("../fonts/montserrat/montserrat-regular-webfont.eot");
  src: url("../fonts/montserrat/montserrat-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat/montserrat-regular-webfont.woff2") format("woff2"), url("../fonts/montserrat/montserrat-regular-webfont.woff") format("woff"), url("../fonts/montserrat/montserrat-regular-webfont.ttf") format("truetype"), url("../fonts/montserrat/montserrat-regular-webfont.svg#montserratregular") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url("../fonts/montserrat/montserrat-semibold-webfont.eot");
  src: url("../fonts/montserrat/montserrat-semibold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat/montserrat-semibold-webfont.woff2") format("woff2"), url("../fonts/montserrat/montserrat-semibold-webfont.woff") format("woff"), url("../fonts/montserrat/montserrat-semibold-webfont.ttf") format("truetype"), url("../fonts/montserrat/montserrat-semibold-webfont.svg#montserratsemi_bold") format("svg");
  font-weight: 600;
  font-style: normal;
}

/* ==========================================================================
   Base.Page
   ========================================================================== */
/**
 * High-, page-level styling.
 *
 * 1. Prevent margin and border from affecting element width.
 * 2. Ensure the page always fills at least the entire height of the viewport.
 * 3. Set the default `font-size`, `font-weight` and `line-height` for the entire project,
 *    sourced from our default variables. The `font-size` is calculated to exist
 *    in ems, the `line-height` is calculated to exist unitlessly.
 * 4. Force scrollbars to always be visible to prevent awkward ‘jumps’ when
 *    navigating between pages that do/do not have enough content to produce
 *    scrollbars naturally.
 * 5. Prevent certain mobile browsers from automatically zooming fonts.
 */
html {
  box-sizing: border-box;
  /* [1] */
  min-height: 100%;
  /* [2] */
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  /* [3] */
  line-height: 1.5;
  /* [3] */
  overflow-y: scroll;
  /* [4] */
  -webkit-text-size-adjust: 100%;
  /* [5] */
  -ms-text-size-adjust: 100%;
  /* [5] */
}

/* ==========================================================================
   Base.Typography
   ========================================================================== */
/**
 * Basic links behavior.
 */
a {
  color: inherit;
}

a:hover,
a:active {
  text-decoration: none;
}

a:focus {
  outline: 0;
}

/**
 * Basic strong weight.
 */
b,
strong {
  font-weight: 600;
}

/**
 * Give a help cursor to elements that give extra info on `:hover`.
 */
abbr[title],
dfn[title] {
  cursor: help;
}

/* ==========================================================================
   Base.Images
   ========================================================================== */
/**
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 */
img {
  max-width: 100%;
  /* [1] */
  font-style: italic;
  /* [2] */
}

/**
 * 1. Google Maps breaks if `max-width: 100%` acts upon it; use their selector
 *    to remove the effects.
 * 2. If a `width` and/or `height` attribute have been explicitly defined, let’s
 *    not make the image fluid.
 */
.gm-style img,
img[width],
img[height] {
  /* [2] */
  max-width: none;
}

/**
 * Objects
 */
/* ==========================================================================
   Objects.Button
   ========================================================================== */
.o-Button {
  position: relative;
  display: inline-block;
  padding: 5px 20px;
  margin: 0;
  border-color: currentcolor;
  border-style: solid;
  border-width: 1px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: center;
  text-decoration: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: middle;
}

.o-Button:hover, .o-Button:focus, .o-Button:active {
  text-decoration: none;
}

.o-Button:focus {
  outline: 0;
}

.o-Button:disabled {
  cursor: default;
  opacity: 0.6;
}

.o-Button--stretch {
  width: 100%;
}

.o-ButtonBare {
  position: relative;
  display: inline-block;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  text-decoration: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: baseline;
}

.o-ButtonBare:hover, .o-ButtonBare:focus, .o-ButtonBare:active {
  text-decoration: none;
}

.o-ButtonBare:focus {
  outline: 0;
}

/* ==========================================================================
   Objects.Color
   ========================================================================== */
.o-Color--alpha {
  color: #33addf;
}

.o-Color--beta {
  color: #f59c10;
}

.o-Color--gamma {
  color: #51b048;
}

.o-Color--gray {
  color: #999;
}

/* ==========================================================================
   Objects.Container
   ========================================================================== */
.o-Container {
  max-width: 1220px;
  padding: 0 20px;
  margin: 0 auto;
}

.o-Container .o-Container {
  padding: 0;
}

.o-Container--narrow {
  max-width: 1000px;
}

/* ==========================================================================
   Objects.Embed
   ========================================================================== */
.o-Embed {
  position: relative;
  max-width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.o-Embed > iframe,
.o-Embed > object,
.o-Embed > embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ==========================================================================
   Objects.Grid
   ========================================================================== */
/**
 * The grid system uses `box-sizing: border-box;` and
 * `display: inline-block;` to create an extremely powerful, flexible
 * alternative to the traditional grid system. Combine the layout items with
 * the widths found in `utils.size`.
 */
/**
 * Begin a grid group.
 *
 * 1. Remove white space between `inline-block` elements.
 */
.o-Grid {
  padding: 0;
  margin: 0;
  margin-left: -25px;
  font-size: 0;
  /* [1] */
  list-style: none;
}

/**
 * 1. Cause columns to stack side-by-side.
 * 2. Space columns apart.
 * 3. Align columns to the tops of each other.
 * 4. Full-width unless told to behave otherwise.
 * 5. Set default `font-size` which set to 0 on parent container.
 */
.o-Grid-item {
  font-size: 14px;
  font-size: 0.875rem;
  /* [5] */
  display: inline-block;
  /* [1] */
  width: 100%;
  /* [4] */
  padding-left: 25px;
  /* [2] */
  vertical-align: top;
  /* [3] */
}

@media (min-width: 768px) {
  .o-Grid-item {
    font-size: 16px;
    font-size: 1rem;
    /* [5] */
  }
}

@media (min-width: 1220px) {
  .o-Grid-item {
    font-size: 16px;
    font-size: 1rem;
    /* [5] */
  }
}

.o-Grid--halve {
  margin-left: -13px;
}

.o-Grid--halve > .o-Grid-item {
  padding-left: 13px;
}

.o-Grid--double {
  margin-left: -50px;
}

.o-Grid--double > .o-Grid-item {
  padding-left: 50px;
}

.o-Grid--treble {
  margin-left: -75px;
}

.o-Grid--treble > .o-Grid-item {
  padding-left: 75px;
}

.o-Grid--quadruple {
  margin-left: -100px;
}

.o-Grid--quadruple > .o-Grid-item {
  padding-left: 100px;
}

.o-Grid--rev {
  direction: rtl;
  text-align: left;
}

.o-Grid--rev > .o-Grid-item {
  direction: ltr;
  text-align: left;
}

.o-Grid--middle > .o-Grid-item {
  vertical-align: middle;
}

@media (min-width: 480px) and (max-width: 767px) {
  .o-Grid--quarter\@smallOnly {
    margin-left: -6px;
  }
  .o-Grid--quarter\@smallOnly > .o-Grid-item {
    padding-left: 6px;
  }
  .o-Grid--double\@smallOnly {
    margin-left: -50px;
  }
  .o-Grid--double\@smallOnly > .o-Grid-item {
    padding-left: 50px;
  }
  .o-Grid--treble\@smallOnly {
    margin-left: -75px;
  }
  .o-Grid--treble\@smallOnly > .o-Grid-item {
    padding-left: 75px;
  }
  .o-Grid--quadruple\@smallOnly {
    margin-left: -100px;
  }
  .o-Grid--quadruple\@smallOnly > .o-Grid-item {
    padding-left: 100px;
  }
}

@media (min-width: 480px) {
  .o-Grid--quarter\@smallUp {
    margin-left: -6px;
  }
  .o-Grid--quarter\@smallUp > .o-Grid-item {
    padding-left: 6px;
  }
  .o-Grid--double\@smallUp {
    margin-left: -50px;
  }
  .o-Grid--double\@smallUp > .o-Grid-item {
    padding-left: 50px;
  }
  .o-Grid--treble\@smallUp {
    margin-left: -75px;
  }
  .o-Grid--treble\@smallUp > .o-Grid-item {
    padding-left: 75px;
  }
  .o-Grid--quadruple\@smallUp {
    margin-left: -100px;
  }
  .o-Grid--quadruple\@smallUp > .o-Grid-item {
    padding-left: 100px;
  }
}

@media (max-width: 479px) {
  .o-Grid--quarter\@smallDown {
    margin-left: -6px;
  }
  .o-Grid--quarter\@smallDown > .o-Grid-item {
    padding-left: 6px;
  }
  .o-Grid--double\@smallDown {
    margin-left: -50px;
  }
  .o-Grid--double\@smallDown > .o-Grid-item {
    padding-left: 50px;
  }
  .o-Grid--treble\@smallDown {
    margin-left: -75px;
  }
  .o-Grid--treble\@smallDown > .o-Grid-item {
    padding-left: 75px;
  }
  .o-Grid--quadruple\@smallDown {
    margin-left: -100px;
  }
  .o-Grid--quadruple\@smallDown > .o-Grid-item {
    padding-left: 100px;
  }
}

@media (min-width: 768px) and (max-width: 1219px) {
  .o-Grid--quarter\@mediumOnly {
    margin-left: -6px;
  }
  .o-Grid--quarter\@mediumOnly > .o-Grid-item {
    padding-left: 6px;
  }
  .o-Grid--double\@mediumOnly {
    margin-left: -50px;
  }
  .o-Grid--double\@mediumOnly > .o-Grid-item {
    padding-left: 50px;
  }
  .o-Grid--treble\@mediumOnly {
    margin-left: -75px;
  }
  .o-Grid--treble\@mediumOnly > .o-Grid-item {
    padding-left: 75px;
  }
  .o-Grid--quadruple\@mediumOnly {
    margin-left: -100px;
  }
  .o-Grid--quadruple\@mediumOnly > .o-Grid-item {
    padding-left: 100px;
  }
}

@media (min-width: 768px) {
  .o-Grid--quarter\@mediumUp {
    margin-left: -6px;
  }
  .o-Grid--quarter\@mediumUp > .o-Grid-item {
    padding-left: 6px;
  }
  .o-Grid--double\@mediumUp {
    margin-left: -50px;
  }
  .o-Grid--double\@mediumUp > .o-Grid-item {
    padding-left: 50px;
  }
  .o-Grid--treble\@mediumUp {
    margin-left: -75px;
  }
  .o-Grid--treble\@mediumUp > .o-Grid-item {
    padding-left: 75px;
  }
  .o-Grid--quadruple\@mediumUp {
    margin-left: -100px;
  }
  .o-Grid--quadruple\@mediumUp > .o-Grid-item {
    padding-left: 100px;
  }
}

@media (max-width: 767px) {
  .o-Grid--quarter\@mediumDown {
    margin-left: -6px;
  }
  .o-Grid--quarter\@mediumDown > .o-Grid-item {
    padding-left: 6px;
  }
  .o-Grid--double\@mediumDown {
    margin-left: -50px;
  }
  .o-Grid--double\@mediumDown > .o-Grid-item {
    padding-left: 50px;
  }
  .o-Grid--treble\@mediumDown {
    margin-left: -75px;
  }
  .o-Grid--treble\@mediumDown > .o-Grid-item {
    padding-left: 75px;
  }
  .o-Grid--quadruple\@mediumDown {
    margin-left: -100px;
  }
  .o-Grid--quadruple\@mediumDown > .o-Grid-item {
    padding-left: 100px;
  }
}

@media (min-width: 1220px) {
  .o-Grid--quarter\@largeUp {
    margin-left: -6px;
  }
  .o-Grid--quarter\@largeUp > .o-Grid-item {
    padding-left: 6px;
  }
  .o-Grid--double\@largeUp {
    margin-left: -50px;
  }
  .o-Grid--double\@largeUp > .o-Grid-item {
    padding-left: 50px;
  }
  .o-Grid--treble\@largeUp {
    margin-left: -75px;
  }
  .o-Grid--treble\@largeUp > .o-Grid-item {
    padding-left: 75px;
  }
  .o-Grid--quadruple\@largeUp {
    margin-left: -100px;
  }
  .o-Grid--quadruple\@largeUp > .o-Grid-item {
    padding-left: 100px;
  }
}

@media (max-width: 1219px) {
  .o-Grid--quarter\@largeDown {
    margin-left: -6px;
  }
  .o-Grid--quarter\@largeDown > .o-Grid-item {
    padding-left: 6px;
  }
  .o-Grid--double\@largeDown {
    margin-left: -50px;
  }
  .o-Grid--double\@largeDown > .o-Grid-item {
    padding-left: 50px;
  }
  .o-Grid--treble\@largeDown {
    margin-left: -75px;
  }
  .o-Grid--treble\@largeDown > .o-Grid-item {
    padding-left: 75px;
  }
  .o-Grid--quadruple\@largeDown {
    margin-left: -100px;
  }
  .o-Grid--quadruple\@largeDown > .o-Grid-item {
    padding-left: 100px;
  }
}

/* ==========================================================================
   Objects.Icon
   ========================================================================== */
.o-Icon {
  display: inline-block;
  background: none;
  vertical-align: middle;
}

.o-Icon > svg {
  width: inherit;
  height: inherit;
  fill: currentColor;
  vertical-align: top;
}

/* ==========================================================================
   Object.List
   ========================================================================== */
.o-ListBare {
  padding: 0;
  list-style: none;
}

.o-ListInline {
  margin: 0;
}

.o-ListInline > li {
  display: inline-block;
}

/* ==========================================================================
   Objects.Size
   ========================================================================== */
.o-Size--14 {
  font-size: 14px;
  font-size: 0.875rem;
}

/**
 * Libs
 */
.fade {
  opacity: 0;
  transition: opacity 0.15s linear;
}

.fade.in {
  opacity: 1;
}

.collapse {
  display: none;
}

.collapse.in {
  display: block;
}

tr.collapse.in {
  display: table-row;
}

tbody.collapse.in {
  display: table-row-group;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition-property: height, visibility;
  transition-duration: 0.35s;
  transition-timing-function: ease;
}

.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

.dropup,
.dropdown {
  position: relative;
}

.dropdown-toggle:focus {
  outline: 0;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  font-size: 14px;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}

.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}

.dropdown-menu .divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}

.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: 400;
  line-height: 1.428571429;
  color: #333333;
  white-space: nowrap;
}

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
  color: #262626;
  text-decoration: none;
  background-color: #f5f5f5;
}

.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  background-color: #337ab7;
  outline: 0;
}

.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
  color: #777777;
}

.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  cursor: not-allowed;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}

.open > .dropdown-menu {
  display: block;
}

.open > a {
  outline: 0;
}

.dropdown-menu-right {
  right: 0;
  left: auto;
}

.dropdown-menu-left {
  right: auto;
  left: 0;
}

.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.428571429;
  color: #777777;
  white-space: nowrap;
}

.dropdown-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 990;
}

.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  content: "";
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
}

.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}

@media (min-width: 768px) {
  .navbar-right .dropdown-menu {
    right: 0;
    left: auto;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  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 {
  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;
}

/**
 * Components
 */
/* ==========================================================================
   Components.Button
   ========================================================================== */
.c-Button {
  padding: 5px 10px;
  border: none;
}

@media (min-width: 768px) {
  .c-Button {
    padding: 10px 15px;
  }
}

@media (min-width: 1220px) {
  .c-Button {
    padding: 10px 25px;
  }
}

.c-Button--fill {
  border: 1px solid;
  color: #fff;
  text-decoration: underline;
}

.c-Button--fill.c-Button--huge {
  font-size: 18px;
  font-size: 1.125rem;
  padding: 10px 20px;
  border-width: 2px;
}

.c-Button--fill.c-Button--alpha {
  border-color: #33addf;
  background-color: #33addf;
}

.c-Button--fill.c-Button--beta {
  border-color: #f59c10;
  background-color: #f59c10;
}

.c-Button--fill.c-Button--gamma {
  border-color: #51b048;
  background-color: #51b048;
}

.c-Button--fill:hover {
  border-color: #333;
  background-color: transparent;
  color: #333;
  text-decoration: none;
}

@media (min-width: 768px) {
  .c-Button--fill.c-Button--huge {
    font-size: 26px;
    font-size: 1.625rem;
    padding: 20px 30px;
  }
}

@media (min-width: 1220px) {
  .c-Button--fill.c-Button--huge {
    font-size: 30px;
    font-size: 1.875rem;
    padding: 30px 40px;
  }
}

.c-Button--link {
  position: relative;
  display: inline-block;
  padding: 0 2px 2px;
  font-weight: 600;
}

.c-Button--link > span {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  transform: scale3d(1, 1, 1);
  transition: transform 0.1s;
}

.no-touch .c-Button--link:hover > span {
  transform: scale3d(0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.3s;
}

.c-Button--link.c-Button--huge {
  font-size: 18px;
  font-size: 1.125rem;
  padding: 0 5px 5px;
}

.c-Button--link.c-Button--huge > span {
  height: 4px;
}

@media (min-width: 768px) {
  .c-Button--link {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .c-Button--link.c-Button--huge {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

@media (min-width: 1220px) {
  .c-Button--link.c-Button--huge {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

.c-Button--cube {
  font-size: 18px;
  font-size: 1.125rem;
  padding: 0;
  font-weight: 600;
}

.c-Button--cube > span {
  position: relative;
  display: block;
  padding: 5px 20px;
  background-color: #fff;
}

.c-Button--cube > span > span {
  display: none;
}

@media (min-width: 768px) {
  .c-Button--cube {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .no-touch .c-Button--cube {
    perspective: 1000px;
  }
  .no-touch .c-Button--cube > span {
    transition: transform 0.3s;
    transform-origin: 50% 0;
    transform-style: preserve-3d;
  }
  .no-touch .c-Button--cube > span > span {
    position: absolute;
    top: 100%;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 5px 20px;
    background-color: #fff;
    transition: background 0.3s;
    transform: rotateX(-90deg);
    transform-origin: 50% 0;
  }
  .no-touch .c-Button--cube:hover > span {
    transform: rotateX(90deg) translateY(-22px);
  }
}

@media (min-width: 1220px) {
  .c-Button--cube {
    font-size: 24px;
    font-size: 1.5rem;
  }
}

/* ==========================================================================
   Components.Page
   ========================================================================== */
.c-Page {
  background-color: #fff;
  color: #000;
}

.c-Page *::-moz-selection {
  background: #000;
  color: #fff;
  text-shadow: none;
}

.c-Page *::selection {
  background: #000;
  color: #fff;
  text-shadow: none;
}

@media (min-width: 768px) {
  .c-Page {
    line-height: 1.5;
  }
}

@media (min-width: 1220px) {
  .c-Page {
    line-height: 1.5;
  }
}

.c-Page-body {
  font-size: 14px;
  font-size: 0.875rem;
  position: relative;
}

@media (min-width: 768px) {
  .c-Page-body {
    font-size: 16px;
    font-size: 1rem;
  }
}

@media (min-width: 1220px) {
  .c-Page-body {
    font-size: 16px;
    font-size: 1rem;
  }
}

.c-Page-inner {
  position: relative;
}

.c-Page-bgs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

.c-Page-bgs > .o-Container {
  position: relative;
}

@media (min-width: 1420px) {
  .c-Page-bgs--left > .o-Container {
    position: static;
  }
}

@media (min-width: 2000px) {
  .c-Page-bgs--right > .o-Container {
    position: static;
  }
}

.c-Page-bg {
  position: absolute;
  display: none;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

@media (min-width: 1220px) {
  .c-Page-bg {
    display: block;
  }
}

.c-Page-bg--left {
  top: 0;
  left: -100px;
  z-index: 10;
  width: 265px;
  height: 781px;
  background-image: url("../images/backgrounds/bg.left.svg");
}

.no-svg .c-Page-bg--left {
  background-image: url("../images/backgrounds/bg.left.png");
}

@media (min-width: 1420px) {
  .c-Page-bg--left {
    left: 0;
  }
}

.c-Page-bg--right {
  top: -35px;
  right: -390px;
  z-index: -1;
  width: 962px;
  height: 1174px;
  background-image: url("../images/backgrounds/bg.right.svg");
}

.no-svg .c-Page-bg--right {
  background-image: url("../images/backgrounds/bg.right.png");
}

@media (min-width: 2000px) {
  .c-Page-bg--right {
    right: 0;
  }
}

.c-Page-stripes {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 7px;
  height: 100%;
  background-color: #33addf;
}

.c-Page-stripes:before, .c-Page-stripes:after {
  content: "";
  position: absolute;
  left: 0;
  width: 7px;
  height: 22%;
  border-bottom: 6px solid #fff;
}

.c-Page-stripes:before {
  top: 0;
  background-color: #51b048;
}

.c-Page-stripes:after {
  top: 22%;
  background-color: #f59c10;
}

/* ==========================================================================
   Components.Bar
   ========================================================================== */
.c-Bar {
  font-size: 14px;
  font-size: 0.875rem;
  padding: 5px 0;
  background-color: #f0544f;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

@media (min-width: 768px) {
  .c-Bar {
    font-size: 18px;
    font-size: 1.125rem;
  }
}

.c-Bar--muted {
  font-size: 11px;
  font-size: 0.6875rem;
  background-color: #f4f4f4;
  color: #666;
  font-weight: normal;
}

.c-Bar-desc {
  margin-bottom: 0;
}

/* ==========================================================================
   Components.Header
   ========================================================================== */
.c-Header {
  padding-top: 43px;
}

@media (min-width: 768px) {
  .c-Header {
    padding-top: 0;
  }
}

.c-Header-row {
  padding: 10px 20px;
  margin: 0 -20px;
  border-top: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
}

@media (min-width: 768px) {
  .c-Header-row {
    position: relative;
    z-index: 20;
    padding: 15px 0;
    margin: 0;
    border: none;
  }
}

@media (min-width: 768px) {
  .c-Header-logo {
    float: left;
  }
}

.c-Header-connect {
  position: absolute;
  top: 0;
  width: 100%;
  margin: 0 -20px;
}

@media (min-width: 768px) {
  .c-Header-connect {
    position: static;
    width: auto;
    padding: 37.5px 0;
    margin: 0;
    overflow: hidden;
    text-align: right;
  }
}

@media (min-width: 1024px) {
  .c-Header-connect {
    padding: 37.5px 0;
  }
}

.c-Header-hamburger {
  position: absolute;
  top: 58px;
  right: 20px;
}

.c-Header-overview {
  padding: 10px 0;
  background-color: #f4f4f4;
}

@media (min-width: 768px) {
  .c-Header-overview {
    padding: 30px 0;
  }
}

.c-Header-title {
  font-size: 20px;
  font-size: 1.25rem;
  margin-bottom: 10px;
  font-weight: 600;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .c-Header-title {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.3;
  }
}

@media (min-width: 1220px) {
  .c-Header-title {
    font-size: 30px;
    font-size: 1.875rem;
  }
}

.c-Header-subtitle {
  margin-bottom: 0;
  color: #fd7d28;
  font-weight: normal;
}

/* ==========================================================================
   Components.Logo
   ========================================================================== */
.c-Logo {
  display: inline-block;
}

.c-Logo-image {
  display: inline-block;
  vertical-align: top;
}

@media (max-width: 767px) {
  .c-Logo-image {
    height: 40px;
  }
}

/* ==========================================================================
   Components.Connect
   ========================================================================== */
.c-Connect {
  padding: 10px 20px;
}

@media (min-width: 768px) {
  .c-Connect {
    padding: 0;
  }
}

.c-Connect--menu {
  padding: 0;
}

@media (min-width: 768px) {
  .c-Connect-list {
    display: inline-block;
    text-align: left;
  }
}

@media (min-width: 1220px) {
  .c-Connect-list {
    display: block;
    text-align: right;
  }
}

@media (min-width: 768px) {
  .c-Connect-item {
    display: inline-block;
    margin-left: 10px;
  }
  .c-Connect-item:first-child {
    margin-left: 0;
  }
}

@media (min-width: 1024px) {
  .c-Connect-item {
    display: inline-block;
    margin-left: 50px;
  }
  .c-Connect-item:first-child {
    margin-left: 0;
  }
}

.c-Connect-icon {
  color: #ea5419;
}

.c-Connect-icon.icon-phone {
  width: 20px;
  height: 20px;
}

@media (min-width: 768px) {
  .c-Connect-icon.icon-phone {
    width: 25px;
    height: 25px;
  }
}

@media (min-width: 768px) {
  .c-Connect-icon.icon-user {
    width: 25px;
    height: 25px;
  }
}

@media (min-width: 768px) {
  .c-Connect-icon.icon-hands {
    width: 20px;
    height: 25px;
  }
}

.c-Connect-value {
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
}

.c-Connect--menu .c-Connect-value {
  margin-left: 0;
}

.c-Connect-value > span {
  color: #666;
}

.c-Connect--menu .c-Connect-value > a {
  display: block;
  padding-top: 10px;
  padding-bottom: 10px;
  text-decoration: none;
}

@media (min-width: 768px) {
  .c-Connect-value {
    margin-left: 0;
  }
}

@media (min-width: 1024px) {
  .c-Connect-value {
    margin-left: 5px;
  }
}

/* ==========================================================================
   Components.Hamburger
   ========================================================================== */
.c-Hamburger {
  position: relative;
  display: inline-block;
  padding: 9px;
  margin: 0;
  border: none;
  border-radius: 3px;
  background: #33addf;
  color: #33addf;
  line-height: 1;
  text-transform: uppercase;
  vertical-align: middle;
}

.c-Hamburger-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
  background-color: #fff;
}

.c-Hamburger-bar + .c-Hamburger-bar {
  margin-top: 4px;
}

/* ==========================================================================
   Components.Collapse
   ========================================================================== */
@media (min-width: 768px) {
  .c-Collapse {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 50;
  }
  .c-Collapse.collapse, .c-Collapse.in {
    display: block;
    height: auto !important;
  }
}

/* ==========================================================================
   Components.Menu
   ========================================================================== */
.c-Menu {
  padding: 5px 0;
  background-color: #f4f4f4;
  font-weight: 500;
}

@media (min-width: 768px) {
  .c-Menu {
    padding: 0;
    text-align: center;
  }
}

@media (min-width: 1220px) {
  .c-Menu {
    font-size: 18px;
    font-size: 1.125rem;
    border-top: 1px solid #ccc;
  }
}

@media (min-width: 768px) {
  .c-Menu-list {
    position: relative;
    z-index: 20;
  }
}

.c-Menu-item {
  position: relative;
}

.c-Menu-item > span {
  font-size: 12px;
  font-size: 0.75rem;
  position: absolute;
  top: 11px;
  left: 165px;
  height: 20px;
  padding: 0 10px;
  border-radius: 10px;
  background-color: #ff3300;
  color: #fff;
  line-height: 20px;
}

@media (min-width: 768px) {
  .c-Menu-item {
    display: inline-block;
    margin-left: 40px;
  }
  .c-Menu-item:first-child {
    margin-left: 0;
  }
  .c-Menu-item > span {
    top: 10px;
    right: -8px;
    left: auto;
  }
}

@media (min-width: 1024px) {
  .c-Menu-item {
    margin-left: 60px;
  }
}

.c-Menu-link {
  position: relative;
  display: block;
  padding: 10px 0;
  text-decoration: none;
}

@media (min-width: 768px) {
  .c-Menu-link {
    display: inline-block;
    padding: 30px 0;
  }
  .c-Menu-link > span {
    position: absolute;
    bottom: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 5px;
    background: #999;
    transform: scale3d(0, 1, 1);
    transition: transform 0.1s;
  }
  .no-touch .c-Menu-link > span, .c-Menu-link.is-active > span {
    display: block;
  }
  .c-Menu-link.is-active > span {
    transform: scale3d(1, 1, 1);
  }
  .no-touch .c-Menu-link:hover > span {
    transform: scale3d(1, 1, 1);
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 0.3s;
  }
}

/* ==========================================================================
   Components.Content
   ========================================================================== */
.c-Content-section,
.c-Content-landing {
  padding: 20px 0;
}

@media (min-width: 768px) {
  .c-Content-section,
  .c-Content-landing {
    padding: 50px 0;
  }
}

.c-Content-section--zero {
  padding: 0;
}

.c-Content-section--collapse {
  padding-top: 0;
}

.c-Content-section--shrink {
  margin-bottom: -20px;
}

@media (min-width: 768px) {
  .c-Content-section--shrink {
    margin-bottom: -50px;
  }
}

.c-Content-section--background {
  background-color: #f0f0f0;
}

@media (min-width: 768px) {
  .c-Content-section--cells {
    padding-bottom: 30px;
  }
}

@media (min-width: 1220px) {
  .c-Content-section--cells {
    padding-bottom: 50px;
  }
}

.c-Content-title {
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.3;
}

@media (min-width: 768px) {
  .c-Content-title {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.2;
  }
}

@media (min-width: 1220px) {
  .c-Content-title {
    font-size: 42px;
    font-size: 2.625rem;
  }
}

@media (min-width: 1220px) {
  .c-Content-title--product {
    font-size: 36px;
    font-size: 2.25rem;
  }
}

.c-Content-subtitle {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.3;
}

@media (min-width: 768px) {
  .c-Content-subtitle {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.2;
  }
}

@media (min-width: 1220px) {
  .c-Content-subtitle {
    font-size: 36px;
    font-size: 2.25rem;
  }
}

@media (min-width: 768px) {
  .c-Content-subtitle--smaller {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.2;
  }
}

@media (min-width: 1220px) {
  .c-Content-subtitle--smaller {
    font-size: 24px;
    font-size: 1.5rem;
  }
}

.c-Content-gallery {
  margin-bottom: 20px;
}

.c-Content-video {
  margin-bottom: 20px;
}

.c-Content-Cta {
  margin-top: 40px;
}

@media (min-width: 768px) {
  .c-Content-Cta {
    margin-top: 100px;
  }
}

@media (min-width: 768px) {
  .c-Content-Cta--hero {
    margin-top: 40px;
  }
}

.c-Content-Cta--zero {
  margin-top: 0;
}

.c-Content-Cta--arrow {
  margin-top: 0;
}

.c-Content-Cta--arrow:before {
  content: "";
  display: block;
  width: 200px;
  height: 217px;
  margin: 0 auto 20px;
  margin: 0 auto;
  background: url("../images/icons/arrow.cta.png") no-repeat left bottom;
}

@media (min-width: 768px) {
  .c-Content-section--collapse\@mediumUp {
    padding-top: 0;
  }
}

/* ==========================================================================
   Components.Breadcrumbs
   ========================================================================== */
.c-Breadcrumbs {
  padding: 20px 0 10px;
  color: #ccc;
}

@media (min-width: 768px) {
  .c-Breadcrumbs {
    padding: 40px 0 30px;
  }
}

.c-Breadcrumbs-item + .c-Breadcrumbs-item:before {
  content: "\2013 ";
  display: inline-block;
}

/* ==========================================================================
   Components.Slider
   ========================================================================== */
.c-Slider {
  position: relative;
  padding-bottom: 54px;
}

.c-Slider-item {
  height: auto;
  padding: 20px 0;
  background-position: left center;
  background-repeat: no-repeat;
}

@media (min-width: 768px) {
  .c-Slider-item {
    padding: 0;
    background-size: 45% auto;
  }
}

@media (min-width: 1220px) {
  .c-Slider-item {
    background-position: 10% center;
  }
}

@media (max-width: 767px) {
  .c-Slider-item {
    background: transparent !important;
  }
}

@media (min-width: 768px) {
  .c-Slider-inner {
    position: relative;
    height: 0;
    padding-bottom: 38.9830508475%;
  }
}

.c-Slider-body {
  padding-left: 1px;
}

@media (min-width: 768px) {
  .c-Slider-body {
    position: absolute;
    top: 50%;
    right: 0;
    width: 50%;
    padding-left: 0;
    transform: translateY(-50%);
  }
}

@media (min-width: 1220px) {
  .c-Slider-body {
    width: 38.9830508475%;
  }
}

.c-Slider-label {
  width: 100%;
  height: 90px;
  margin-bottom: 10px;
  margin-left: -20px;
}

@media (max-width: 1219px) {
  .c-Slider-label {
    height: 60px;
    margin-left: -10px;
  }
}

.c-Slider-title {
  font-size: 22px;
  font-size: 1.375rem;
  min-height: 79.2px;
  font-weight: 600;
  line-height: 1.2;
}

.c-Slider-title > strong {
  color: #33addf;
  font-weight: inherit;
}

@media (min-width: 480px) {
  .c-Slider-title {
    min-height: 52.8px;
  }
}

@media (min-width: 768px) {
  .c-Slider-title {
    font-size: 28px;
    font-size: 1.75rem;
  }
}

@media (min-width: 1220px) {
  .c-Slider-title {
    font-size: 35px;
    font-size: 2.1875rem;
    line-height: 1;
  }
}

.c-Slider-dots {
  position: absolute;
  bottom: -34px;
  left: 50%;
  list-style: none;
  padding: 0;
  margin: 0;
  transform: translateX(-50%);
}

.c-Slider-dots > li {
  display: inline-block;
}

.c-Slider-dots > li > button {
  width: 14px;
  height: 14px;
  padding: 0;
  margin: 0 5px;
  border: none;
  border-radius: 50%;
  background: #999;
  cursor: pointer;
  font-size: 0;
}

.c-Slider-dots > li > button:focus {
  outline: 0;
}

.c-Slider-dots > li.slick-active > button {
  background-color: #000;
}

/* ==========================================================================
   Components.Hero
   ========================================================================== */
.c-Hero {
  padding: 120px 0 0;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 100px;
}

@media (min-width: 768px) {
  .c-Hero {
    padding: 30px 0 30px 45%;
    background-position: 15% center;
    background-size: auto 100%;
  }
}

.c-Hero--solid {
  padding-top: 0;
}

@media (min-width: 768px) {
  .c-Hero--solid {
    padding: 0;
  }
}

@media (min-width: 768px) {
  .c-Hero--zero {
    padding-top: 0;
    padding-bottom: 0;
  }
}

/* ==========================================================================
   Components.Support
   ========================================================================== */
.c-Support {
  font-size: 16px;
  font-size: 1rem;
  color: #cc0000;
  font-weight: 600;
}

@media (min-width: 768px) {
  .c-Support {
    font-size: 20px;
    font-size: 1.25rem;
    text-align: center;
  }
}

@media (min-width: 1220px) {
  .c-Support {
    font-size: 24px;
    font-size: 1.5rem;
  }
}

.c-Support-item {
  position: relative;
  margin-top: 20px;
  padding-left: 75px;
}

.c-Support-item:first-child {
  margin-top: 0;
}

.c-Support-item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #cc0000;
}

@media (min-width: 768px) {
  .c-Support-item {
    display: inline-block;
    padding-left: 135px;
    margin: 0 40px;
    text-align: left;
  }
  .c-Support-item:before {
    width: 120px;
    height: 120px;
  }
}

.c-Support-icon {
  position: absolute;
  color: #fff;
}

.c-Support-icon.icon-user {
  top: 15px;
  left: 15px;
  width: 30px;
  height: 30px;
}

.c-Support-icon.icon-hands {
  top: 15px;
  left: 18px;
  width: 24px;
  height: 30px;
}

@media (min-width: 768px) {
  .c-Support-icon.icon-user {
    top: 22.5px;
    left: 22.5px;
    width: 75px;
    height: 75px;
  }
  .c-Support-icon.icon-hands {
    top: 22.5px;
    left: 30px;
    width: 60px;
    height: 75px;
  }
}

.c-Support-link {
  display: inline-block;
  margin: 6px 0;
}

@media (min-width: 768px) {
  .c-Support-link {
    margin: 30px 0;
  }
}

@media (min-width: 1220px) {
  .c-Support-link {
    margin: 24px 0;
  }
}

/* ==========================================================================
   Components.Form
   ========================================================================== */
.c-Form {
  position: relative;
  z-index: 10;
}

.c-Form-legend {
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 20px;
  font-weight: 600;
}

@media (min-width: 768px) {
  .c-Form-legend {
    font-size: 18px;
    font-size: 1.125rem;
  }
}

.c-Form-item {
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .c-Form-item {
    margin-bottom: 30px;
  }
}

.c-Form-label {
  display: block;
  margin-bottom: 5px;
  margin-left: 10px;
  font-weight: normal;
}

.c-Form-label--inline {
  position: relative;
  padding-left: 45px;
  margin: 0;
}

.c-Form-radio ~ .c-Form-label--inline:before, .c-Form-radio ~ .c-Form-label--inline:after,
.c-Form-checkbox ~ .c-Form-label--inline:before,
.c-Form-checkbox ~ .c-Form-label--inline:after {
  position: absolute;
}

.c-Form-radio ~ .c-Form-label--inline:before,
.c-Form-checkbox ~ .c-Form-label--inline:before {
  content: "";
  top: -11px;
  left: 0;
  width: 38px;
  height: 38px;
  border: 1px solid #d7d7d7;
}

.c-Form-radio ~ .c-Form-label--inline:before, .c-Form-radio ~ .c-Form-label--inline:after {
  border-radius: 50%;
}

.c-Form-radio ~ .c-Form-label--inline:after {
  top: -3px;
  left: 8px;
  width: 22px;
  height: 22px;
  background-color: #666;
}

.c-Form-checkbox ~ .c-Form-label--inline:after {
  top: -2px;
  left: 6px;
  width: 27px;
  height: 21px;
  background: url("../images/icons/check.svg") no-repeat 0 0;
  background-size: 100% 100%;
}

html.no-svg .c-Form-checkbox ~ .c-Form-label--inline:after {
  background-image: url("../images/icons/check.png");
}

.c-Form-radio:checked ~ .c-Form-label--inline:after,
.c-Form-checkbox:checked ~ .c-Form-label--inline:after {
  content: "";
}

@media (min-width: 768px) {
  .c-Form-label--inline {
    padding-left: 60px;
  }
  .c-Form-radio ~ .c-Form-label--inline:before,
  .c-Form-checkbox ~ .c-Form-label--inline:before {
    top: -6px;
  }
  .c-Form-radio ~ .c-Form-label--inline:after {
    top: 2px;
  }
  .c-Form-checkbox ~ .c-Form-label--inline:after {
    top: 3px;
  }
}

.c-Form-label--alt {
  font-size: 12px;
  font-size: 0.75rem;
  margin-left: 0;
  text-align: center;
}

@media (min-width: 768px) {
  .c-Form-label--alt {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

.c-Form-input,
.c-Form-textarea {
  width: 100%;
  padding: 10px;
  margin: 0;
  border: 1px solid #d7d7d7;
  background-color: #fff;
}

.c-Form-block {
  position: relative;
  margin-bottom: 30px;
}

.c-Form-labelblock {
  display: block;
  padding: 60px 50% 30px 30px;
  cursor: pointer;
  font-weight: 600;
}

.c-Form-block--sprava .c-Form-labelblock {
  background-color: #f0f0f0;
}

.c-Form-block--aktivity .c-Form-labelblock {
  background-color: #c2e0bf;
}

.c-Form-block--helpdesk .c-Form-labelblock {
  background-color: #f7e3b0;
}

.c-Form-labelblock > span {
  position: relative;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .c-Form-labelblock {
    padding: 30px 30px 100px;
  }
  .c-Form-labelblock > span {
    display: block;
  }
}

.c-Form-blockInput {
  position: absolute;
  bottom: 20px;
  right: 30px;
  width: 45%;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .c-Form-blockInput {
    width: 80%;
    right: 10%;
  }
}

.c-Form-table {
  min-height: .01%;
  margin-bottom: 40px;
  overflow-x: auto;
}

.c-Form-table table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 0;
  border-collapse: collapse;
  border-spacing: 0;
  overflow-x: auto;
}

.c-Form-table table th,
.c-Form-table table td {
  padding: 10px;
  border: 1px solid #d7d7d7;
  text-align: left;
}

.c-Form-table table td {
  vertical-align: top;
}

.c-Form-table table tbody tr:nth-child(odd) td {
  background-color: #f4f4f4;
}

.c-Form-table table tbody tr:hover td {
  background-color: #e9e7e7;
}

@media (min-width: 768px) {
  .c-Form-table {
    margin-bottom: 50px;
  }
  .c-Form-table table {
    table-layout: fixed;
  }
  .c-Form-table table th,
  .c-Form-table table td {
    padding: 15px 20px;
  }
  .c-Form-table table th {
    font-size: 18px;
    font-size: 1.125rem;
  }
}

.c-Form-button {
  padding: 10px 15px;
  border: 1px solid #51b048;
  background-color: #51b048;
  cursor: pointer;
}

.c-Form-button > span {
  display: inline-block;
  color: #fff;
  text-decoration: underline;
  vertical-align: middle;
}

.c-Form-button:hover {
  border-color: #333;
  background-color: transparent;
}

.c-Form-button:hover > span {
  color: #333;
  text-decoration: none;
}

@media (min-width: 768px) {
  .c-Form-button {
    padding: 20px 30px 20px 25px;
  }
}

@media (min-width: 1220px) {
  .c-Form-button {
    padding: 20px 30px 20px 25px;
  }
}

.c-Form-icon.icon-submit {
  width: 44px;
  height: 38px;
  margin-right: 5px;
  color: #fff;
}

.c-Form-button:hover .c-Form-icon.icon-submit {
  color: #333;
}

.c-Form-icon.icon-check {
  position: absolute;
  bottom: 100%;
  left: 50%;
  display: none;
  width: 44px;
  height: 35px;
  margin-bottom: 5px;
  margin-left: -22px;
}

.c-Form-checkblock:checked ~ .c-Form-labelblock .c-Form-icon.icon-check {
  display: block;
}

.c-Form-block--sprava .c-Form-icon.icon-check {
  color: #33addf;
}

.c-Form-block--aktivity .c-Form-icon.icon-check {
  color: #51b048;
}

.c-Form-block--helpdesk .c-Form-icon.icon-check {
  color: #f59c10;
}

@media (min-width: 768px) {
  .c-Form-icon.icon-submit {
    margin-right: 15px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .c-Form-icon.icon-check {
    bottom: 50%;
    right: 0;
    left: auto;
    margin-bottom: -17px;
  }
}

/* ==========================================================================
   Components.Wysiwyg
   ========================================================================== */
.c-Wysiwyg h1,
.c-Wysiwyg h2,
.c-Wysiwyg h3,
.c-Wysiwyg h4,
.c-Wysiwyg h5,
.c-Wysiwyg h6 {
  font-weight: 600;
}

.c-Wysiwyg h1 {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.3;
}

.c-Wysiwyg h2 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.3;
}

.c-Wysiwyg h3,
.c-Wysiwyg h4,
.c-Wysiwyg h5,
.c-Wysiwyg h6 {
  font-size: 18px;
  font-size: 1.125rem;
  margin-bottom: 0;
}

.c-Wysiwyg > ul,
.c-Wysiwyg > ol {
  overflow: hidden;
}

.c-Wysiwyg > ul {
  padding-left: 0;
  list-style: none;
}

.c-Wysiwyg > ul > li {
  position: relative;
  padding-left: 20px;
}

.c-Wysiwyg > ul > li:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #999;
}

.c-Wysiwyg > ol {
  padding-left: 1.5em;
}

.c-Wysiwyg table {
  width: 100%;
  border-collapse: collapse;
}

.c-Wysiwyg table th,
.c-Wysiwyg table td {
  padding: 10px 0;
  border-bottom: 1px solid #c0c0c0;
  text-align: left;
}

.c-Wysiwyg table th {
  padding-right: 20px;
  border-right: 2px solid #c0c0c0;
  white-space: nowrap;
}

.c-Wysiwyg table td {
  padding-left: 20px;
  width: 100%;
}

.c-Wysiwyg table tr.last th,
.c-Wysiwyg table tr.last td {
  border-bottom: none;
}

.c-Wysiwyg table tr.top th,
.c-Wysiwyg table tr.top td,
.c-Wysiwyg table tr.bottom th,
.c-Wysiwyg table tr.bottom td {
  padding: 0;
  border: none;
}

@media (max-width: 767px) {
  .c-Wysiwyg [style="float: left;"],
  .c-Wysiwyg [style="float: right;"] {
    float: none !important;
  }
}

@media (min-width: 768px) {
  .c-Wysiwyg h1 {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.2;
  }
  .c-Wysiwyg h2 {
    font-size: 22px;
    font-size: 1.375rem;
  }
  .c-Wysiwyg [style="float: left;"],
  .c-Wysiwyg [style="float: right;"] {
    max-width: 50%;
    margin-bottom: 40px;
  }
  .c-Wysiwyg [style="float: left;"] {
    margin-right: 40px;
  }
  .c-Wysiwyg [style="float: right;"] {
    margin-left: 40px;
  }
}

@media (min-width: 1220px) {
  .c-Wysiwyg h1 {
    font-size: 48px;
    font-size: 3rem;
  }
  .c-Wysiwyg h2 {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .c-Wysiwyg [style="float: left;"],
  .c-Wysiwyg [style="float: right;"] {
    max-width: none;
  }
}

@media (min-width: 768px) {
  .c-Wysiwyg-downloads {
    float: left;
    width: 340px;
    margin-right: 25px;
  }
}

@media (min-width: 768px) {
  .c-Wysiwyg-buttons {
    float: left;
    margin-right: 25px;
  }
}

/* ==========================================================================
   Components.Gallery
   ========================================================================== */
.c-Gallery {
  margin: 0 -20px;
}

@media (min-width: 768px) {
  .c-Gallery {
    margin: 0 50px;
  }
}

.c-Gallery-item {
  height: auto;
  padding: 0 5px;
  background-color: #cccccc;
  background-clip: content-box;
}

@media (min-width: 768px) {
  .c-Gallery-item {
    padding: 0 10px;
  }
}

.c-Gallery-link {
  text-decoration: none;
}

.c-Gallery-desc {
  display: block;
  padding: 5px 10px;
  color: #000000;
}

@media (min-width: 768px) {
  .c-Gallery-desc {
    padding: 10px 20px;
  }
}

@media (min-width: 1220px) {
  .c-Gallery-desc {
    font-size: 16px;
    font-size: 1rem;
  }
}

.c-Gallery-prev,
.c-Gallery-next {
  position: absolute;
  top: 50%;
  z-index: 5;
  margin-top: -7.5px;
}

@media (min-width: 768px) {
  .c-Gallery-prev,
  .c-Gallery-next {
    margin-top: -7.5px;
  }
}

@media (min-width: 768px) {
  .c-Gallery-prev {
    left: -50px;
  }
}

@media (min-width: 768px) {
  .c-Gallery-next {
    right: -50px;
  }
}

.c-Gallery-icon {
  width: 27px;
  height: 15px;
  color: #666;
  transition: color 0.3s;
}

.c-Carousel-prev:hover .c-Gallery-icon,
.c-Carousel-next:hover .c-Gallery-icon {
  color: #000;
}

/* ==========================================================================
   Components.Downloads
   ========================================================================== */
.c-Downloads {
  padding: 0 10px;
  background-color: #333;
  color: #fff;
  overflow: hidden;
}

@media (min-width: 768px) {
  .c-Downloads {
    padding: 0 20px;
  }
}

.c-Downloads--alpha {
  background-color: #33addf;
}

.c-Downloads--beta {
  background-color: #f59c10;
}

.c-Downloads--gamma {
  background-color: #51b048;
}

.c-Downloads-item {
  margin: 20px 0;
}

.c-Downloads-icon {
  float: left;
  margin-top: 10px;
  margin-right: 10px;
  color: inherit;
}

@media (min-width: 768px) {
  .c-Downloads-icon {
    margin-right: 20px;
  }
}

.c-Downloads-link {
  position: relative;
  top: 8px;
}

/* ==========================================================================
   Components.Buttons
   ========================================================================== */
.c-Buttons {
  font-size: 16px;
  font-size: 1rem;
  font-weight: normal;
}

.c-Buttons-item {
  margin-top: 10px;
}

.c-Buttons-item:first-child {
  margin-top: 0;
}

.c-Buttons-link {
  display: block;
  padding: 0 10px;
  border: 1px solid;
  text-decoration: none;
}

.c-Buttons-link > span {
  display: inline-block;
  padding: 20px 0;
  text-decoration: underline;
  vertical-align: middle;
}

.c-Buttons-link:hover {
  background-color: transparent !important;
  border-color: #333 !important;
}

.c-Buttons-link:hover > span {
  text-decoration: none;
}

@media (min-width: 768px) {
  .c-Buttons-link {
    display: inline-block;
    min-width: 320px;
    padding: 0 15px;
  }
}

@media (min-width: 1220px) {
  .c-Buttons-link {
    min-width: 350px;
    padding: 0 25px;
  }
}

.c-Buttons-icon {
  width: 40px;
  margin-right: 10px;
  color: #fff;
}

.c-Buttons-link:hover .c-Buttons-icon {
  color: #333;
}

.c-Buttons-icon > svg {
  width: auto;
  height: 40px;
}

@media (min-width: 1220px) {
  .c-Buttons-icon {
    margin-right: 20px;
  }
}

.c-Buttons-label {
  color: #fff;
}

.c-Buttons-link:hover .c-Buttons-label {
  color: #333;
}

/* ==========================================================================
   Components.Timeline
   ========================================================================== */
.c-Timeline {
  position: relative;
  margin-bottom: 0;
}

.c-Timeline:before {
  position: absolute;
  top: 0;
  right: 50px;
  width: 1px;
  height: 100%;
  background-color: #ccc;
}

@media (min-width: 480px) {
  .c-Timeline:before {
    content: "";
  }
}

.c-Timeline-year {
  font-size: 24px;
  font-size: 1.5rem;
  position: relative;
  z-index: 5;
  width: 100px;
  padding: 5px;
  margin-bottom: 10px;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.c-Timeline--alpha .c-Timeline-year {
  background-color: #33addf;
}

.c-Timeline--beta .c-Timeline-year {
  background-color: #f59c10;
}

.c-Timeline--gamma .c-Timeline-year {
  background-color: #51b048;
}

@media (min-width: 480px) {
  .c-Timeline-year {
    float: right;
    clear: right;
    margin-bottom: 50px;
  }
  .c-Timeline-year:last-of-type {
    margin-bottom: 0;
  }
}

.c-Timeline-desc {
  margin-bottom: 20px;
}

.c-Timeline-desc:last-child {
  position: relative;
  margin-bottom: 40px;
}

.c-Timeline-desc:last-child:before {
  position: absolute;
  top: 0;
  right: 0;
  width: 120px;
  height: 100%;
  background-color: #fff;
}

@media (min-width: 480px) {
  .c-Timeline-desc {
    min-height: 46px;
    padding-right: 120px;
  }
  .c-Timeline-desc:last-child:before {
    content: "";
  }
}

@media (min-width: 768px) {
  .c-Timeline-desc:last-child {
    margin-bottom: 0;
  }
}

/* ==========================================================================
   Components.Excerpt
   ========================================================================== */
.c-Excerpt {
  margin-bottom: 30px;
}

.c-Excerpt:last-child {
  margin-bottom: 0;
}

.c-Excerpt [style="float: left;"] {
  margin-right: 15px;
  margin-bottom: 10px;
}

.c-Excerpt h3 {
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 0;
  font-weight: bold;
  text-transform: uppercase;
}

.c-Excerpt *:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   Components.Cells
   ========================================================================== */
.c-Cells {
  overflow: hidden;
}

@media (min-width: 1220px) {
  .c-Cells-inner {
    display: table;
    margin-left: -1px;
  }
  .c-Cells--stretch .c-Cells-inner {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .c-Cells-item {
    display: inline-block;
    vertical-align: top;
    width: 49%;
  }
  .c-Cells-item:nth-child(2n) {
    padding-left: 25px;
  }
}

@media (min-width: 1220px) {
  .c-Cells-item {
    display: table-cell;
    width: auto;
    padding: 40px 30px;
    border-left: 1px solid #ccc;
  }
  .c-Cells-item:nth-child(2n) {
    padding-right: 30px;
  }
  .c-Cells-item:nth-child(4n) {
    padding-right: 0;
  }
  .c-Cells-item:nth-child(4n + 1) {
    padding-left: 0;
  }
  .c-Cells-item > p {
    margin-bottom: 0;
  }
}

/* ==========================================================================
   Components.CTA
   ========================================================================== */
.c-Cta {
  font-size: 16px;
  font-size: 1rem;
  font-weight: normal;
}

.c-Cta--inline {
  text-align: center;
}

.c-Cta-item {
  margin-top: 10px;
}

.c-Cta--inline .c-Cta-item {
  text-align: left;
}

@media (min-width: 768px) {
  .c-Cta--inline .c-Cta-item {
    display: inline-block;
    margin: 0 10px;
  }
}

@media (min-width: 1220px) {
  .c-Cta--inline .c-Cta-item {
    margin: 0 25px;
  }
}

.c-Cta-link {
  display: block;
  padding: 0 10px;
  border-bottom: 1px solid #c0c0c0;
  text-decoration: none;
}

.c-Cta-item--fill .c-Cta-link {
  border: 1px solid;
}

.c-Cta-link > span {
  display: inline-block;
  padding: 20px 0;
  text-decoration: underline;
  vertical-align: middle;
}

.c-Cta--alpha .c-Cta-link:hover {
  border-color: #33addf;
  background-color: #33addf;
}

.c-Cta--beta .c-Cta-link:hover {
  border-color: #f59c10;
  background-color: #f59c10;
}

.c-Cta--gamma .c-Cta-link:hover {
  border-color: #51b048;
  background-color: #51b048;
}

.c-Cta-item--fill .c-Cta-link:hover {
  background-color: transparent !important;
  border-color: #333 !important;
}

.c-Cta-link:hover > span {
  text-decoration: none;
}

@media (min-width: 768px) {
  .c-Cta-link {
    display: inline-block;
    min-width: 320px;
    padding: 0 15px;
  }
}

@media (min-width: 1220px) {
  .c-Cta-link {
    min-width: 350px;
    padding: 0 25px;
  }
}

.c-Cta-icon {
  width: 40px;
  margin-right: 10px;
}

.c-Cta--alpha .c-Cta-icon {
  color: #33addf;
}

.c-Cta--beta .c-Cta-icon {
  color: #f59c10;
}

.c-Cta--gamma .c-Cta-icon {
  color: #51b048;
}

.c-Cta-item--fill .c-Cta-icon {
  color: #fff;
}

.c-Cta-link:hover .c-Cta-icon {
  color: #fff;
}

.c-Cta-item--fill .c-Cta-link:hover .c-Cta-icon {
  color: #333;
}

.c-Cta-icon > svg {
  width: auto;
  height: 40px;
}

@media (min-width: 1220px) {
  .c-Cta-icon {
    margin-right: 20px;
  }
}

.c-Cta-label {
  color: #fff;
}

.c-Cta-link:hover .c-Cta-label {
  color: #333;
}

/* ==========================================================================
   Components.Carousel
   ========================================================================== */
.c-Carousel {
  background-color: #f0f0f0;
}

.c-Carousel-list {
  padding: 20px 0 65px;
}

@media (min-width: 768px) {
  .c-Carousel-list {
    padding: 30px 0 95px;
    margin: 0 -25px;
  }
}

.c-Carousel-item {
  position: relative;
  height: auto;
}

@media (min-width: 768px) {
  .c-Carousel-item {
    padding: 0 25px;
  }
}

.c-Carousel-prev,
.c-Carousel-next {
  position: absolute;
  bottom: 25px;
  z-index: 5;
}

.c-Carousel-prev.slick-disabled,
.c-Carousel-next.slick-disabled {
  display: none !important;
}

@media (min-width: 768px) {
  .c-Carousel-prev,
  .c-Carousel-next {
    bottom: 40px;
  }
}

.c-Carousel-prev {
  right: 50%;
  margin-right: 10px;
}

.c-Carousel-next {
  left: 50%;
  margin-left: 10px;
}

.c-Carousel-icon {
  width: 27px;
  height: 15px;
  color: #666;
  transition: color 0.3s;
}

.c-Carousel-prev:hover .c-Carousel-icon,
.c-Carousel-next:hover .c-Carousel-icon {
  color: #000;
}

/* ==========================================================================
   Components.Post
   ========================================================================== */
.c-Post-date {
  font-size: 12px;
  font-size: 0.75rem;
  margin-bottom: 10px;
  color: #999;
  font-weight: 600;
}

.c-Post-title {
  font-size: 18px;
  font-size: 1.125rem;
  margin-bottom: 10px;
  font-weight: normal;
  line-height: 1.3;
}

.c-Post-desc {
  margin-bottom: 10px;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .c-Post-desc {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

/* ==========================================================================
   Components.Partners
   ========================================================================== */
.c-Partners {
  text-align: center;
}

.c-Partners-inner {
  margin-bottom: 20px;
  overflow: hidden;
  text-align: left;
}

@media (min-width: 768px) {
  .c-Partners-inner {
    margin-bottom: 50px;
  }
}

.c-Partners-list {
  margin-bottom: -2px;
  margin-right: -2px;
  font-size: 0;
}

.c-Partners-item {
  position: relative;
  display: inline-block;
  width: 33.3333333333%;
  vertical-align: top;
}

.c-Partners-item:before, .c-Partners-item:after {
  content: "";
  position: absolute;
  background-color: #ccc;
}

.c-Partners-item:before {
  bottom: 0;
  left: 5%;
  width: 90%;
  height: 1px;
}

.c-Partners-item:after {
  top: 5%;
  right: 0;
  width: 1px;
  height: 90%;
}

@media (min-width: 480px) {
  .c-Partners-item {
    width: 25%;
  }
}

@media (min-width: 768px) {
  .c-Partners-item {
    width: 20%;
  }
}

.c-Partners-link {
  position: relative;
  display: block;
  height: 0;
  padding-bottom: 100%;
}

.c-Partners-image {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80%;
  transform: translate(-50%, -50%);
}

@media (min-width: 1220px) {
  .c-Partners-image {
    width: auto;
  }
}

/* ==========================================================================
   Components.Directory
   ========================================================================== */
.c-Directory {
  position: relative;
  text-align: center;
}

@media (min-width: 768px) {
  .c-Directory:before, .c-Directory:after {
    content: "";
    position: absolute;
    top: 0;
    z-index: -1;
    width: 50%;
    height: 140px;
  }
  .c-Directory:before {
    left: 0;
    background-color: #33addf;
  }
  .c-Directory:after {
    left: 50%;
    background-color: #f59c10;
  }
}

@media (min-width: 768px) {
  .c-Directory-list {
    font-size: 0;
  }
}

.c-Directory-item {
  font-size: 18px;
  font-size: 1.125rem;
  margin-top: 20px;
  line-height: 1.3;
  overflow: hidden;
  vertical-align: top;
}

@media (min-width: 768px) {
  .c-Directory-item {
    display: inline-block;
    width: 33.3333333333%;
    margin-top: 0;
  }
  .c-Directory-item:first-child {
    border-right: 10px solid #fff;
  }
  .c-Directory-item:nth-child(2) {
    border-right: 10px solid #fff;
    border-left: 10px solid #fff;
  }
  .c-Directory-item:last-child {
    border-left: 10px solid #fff;
  }
}

.c-Directory-icon {
  float: left;
  display: block;
  width: 70px;
  height: 70px;
  margin-right: 20px;
  margin-bottom: 10px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 80% 80%;
}

@media (min-width: 480px) {
  .c-Directory-icon {
    width: 140px;
    height: 140px;
    background-size: auto auto;
  }
}

@media (min-width: 768px) {
  .c-Directory-icon {
    float: none;
    width: 100%;
    height: 140px;
    margin-bottom: 30px;
    background-size: auto auto;
  }
}

.c-Directory-icon--sprava {
  background-color: #33addf;
  background-image: url("../images/icons/sprava.png");
}

@media (min-width: 768px) {
  .c-Directory-icon--sprava {
    background-color: transparent;
  }
}

.c-Directory-icon--aktivity {
  background-color: #51b048;
  background-image: url("../images/icons/aktivity.png");
}

.c-Directory-icon--helpdesk {
  background-color: #f59c10;
  background-image: url("../images/icons/helpdesk.png");
}

@media (min-width: 768px) {
  .c-Directory-icon--helpdesk {
    background-color: transparent;
  }
}

.c-Directory-link {
  display: block;
  overflow: hidden;
  text-align: left;
  text-decoration: none;
}

.c-Directory-link:hover {
  color: #666;
}

@media (min-width: 768px) {
  .c-Directory-link {
    display: inline-block;
  }
}

/* ==========================================================================
   Components.Footer
   ========================================================================== */
.c-Footer {
  padding-bottom: 20px;
}

@media (min-width: 768px) {
  .c-Footer {
    position: relative;
    z-index: 15;
    padding-bottom: 0;
  }
}

.c-Footer-up {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 100;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

/* ==========================================================================
   Components.Map
   ========================================================================== */
.c-Map {
  position: relative;
  color: #333;
  overflow: hidden;
}

@media (min-width: 768px) {
  .c-Map {
    height: 356px;
  }
}

.c-Map-header {
  position: relative;
  left: -100%;
  width: 200%;
  margin-bottom: 20px;
  text-align: right;
}

@media (min-width: 768px) {
  .c-Map-header {
    position: absolute;
    top: 0;
    right: -40%;
    left: auto;
    width: 2000px;
    height: 356px;
    margin-bottom: 0;
  }
}

@media (min-width: 1024px) {
  .c-Map-header {
    right: -20%;
  }
}

@media (min-width: 1220px) {
  .c-Map-header {
    right: 0;
  }
}

@media (min-width: 2000px) {
  .c-Map-header {
    width: 100%;
  }
}

.c-Map-link {
  display: block;
  background-color: #f0f0f0;
}

@media (min-width: 768px) {
  .c-Map-body {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 0;
  }
  .c-Map-body > .o-Container {
    position: relative;
    height: 0;
  }
}

.c-Map-contact strong {
  font-size: 14px;
  font-size: 0.875rem;
}

@media (min-width: 768px) {
  .c-Map-contact {
    position: absolute;
    transform: translateY(-50%);
  }
}

.c-Map-title {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.3;
}

@media (min-width: 768px) {
  .c-Map-title {
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.2;
  }
}

@media (min-width: 1220px) {
  .c-Map-title {
    font-size: 34px;
    font-size: 2.125rem;
  }
}

/* ==========================================================================
   Components.Up
   ========================================================================== */
.c-Up {
  display: block;
  width: 60px;
  height: 55px;
  padding-top: 14px;
  background-color: #f59c10;
  opacity: 0;
  text-align: center;
  transition: background-color 0.3s, opacity 0.3s, visibility 0.3s;
  visibility: hidden;
}

.c-Up:hover {
  background-color: #333;
}

.c-Up.is-visible {
  opacity: 1;
  visibility: visible;
}

@media (min-width: 768px) {
  .c-Up {
    width: 80px;
    height: 70px;
    padding-top: 21.5px;
  }
}

.c-Up-icon {
  width: 15px;
  height: 27px;
  color: #fff;
}

/**
 * Utils
 */
/* ==========================================================================
   Utils.Align
   ========================================================================== */
/**
 * Vertical alignment utilities
 * Depends on an appropriate `display` value.
 */
.u-alignBaseline {
  vertical-align: baseline !important;
}

.u-alignBottom {
  vertical-align: bottom !important;
}

.u-alignMiddle {
  vertical-align: middle !important;
}

.u-alignTop {
  vertical-align: top !important;
}

@media (min-width: 480px) and (max-width: 767px) {
  .u-alignBaseline\@smallOnly {
    vertical-align: baseline !important;
  }
  .u-alignBottom\@smallOnly {
    vertical-align: bottom !important;
  }
  .u-alignMiddle\@smallOnly {
    vertical-align: middle !important;
  }
  .u-alignTop\@smallOnly {
    vertical-align: top !important;
  }
}

@media (min-width: 480px) {
  .u-alignBaseline\@smallUp {
    vertical-align: baseline !important;
  }
  .u-alignBottom\@smallUp {
    vertical-align: bottom !important;
  }
  .u-alignMiddle\@smallUp {
    vertical-align: middle !important;
  }
  .u-alignTop\@smallUp {
    vertical-align: top !important;
  }
}

@media (max-width: 479px) {
  .u-alignBaseline\@smallDown {
    vertical-align: baseline !important;
  }
  .u-alignBottom\@smallDown {
    vertical-align: bottom !important;
  }
  .u-alignMiddle\@smallDown {
    vertical-align: middle !important;
  }
  .u-alignTop\@smallDown {
    vertical-align: top !important;
  }
}

@media (min-width: 768px) and (max-width: 1219px) {
  .u-alignBaseline\@mediumOnly {
    vertical-align: baseline !important;
  }
  .u-alignBottom\@mediumOnly {
    vertical-align: bottom !important;
  }
  .u-alignMiddle\@mediumOnly {
    vertical-align: middle !important;
  }
  .u-alignTop\@mediumOnly {
    vertical-align: top !important;
  }
}

@media (min-width: 768px) {
  .u-alignBaseline\@mediumUp {
    vertical-align: baseline !important;
  }
  .u-alignBottom\@mediumUp {
    vertical-align: bottom !important;
  }
  .u-alignMiddle\@mediumUp {
    vertical-align: middle !important;
  }
  .u-alignTop\@mediumUp {
    vertical-align: top !important;
  }
}

@media (max-width: 767px) {
  .u-alignBaseline\@mediumDown {
    vertical-align: baseline !important;
  }
  .u-alignBottom\@mediumDown {
    vertical-align: bottom !important;
  }
  .u-alignMiddle\@mediumDown {
    vertical-align: middle !important;
  }
  .u-alignTop\@mediumDown {
    vertical-align: top !important;
  }
}

@media (min-width: 1220px) {
  .u-alignBaseline\@largeUp {
    vertical-align: baseline !important;
  }
  .u-alignBottom\@largeUp {
    vertical-align: bottom !important;
  }
  .u-alignMiddle\@largeUp {
    vertical-align: middle !important;
  }
  .u-alignTop\@largeUp {
    vertical-align: top !important;
  }
}

@media (max-width: 1219px) {
  .u-alignBaseline\@largeDown {
    vertical-align: baseline !important;
  }
  .u-alignBottom\@largeDown {
    vertical-align: bottom !important;
  }
  .u-alignMiddle\@largeDown {
    vertical-align: middle !important;
  }
  .u-alignTop\@largeDown {
    vertical-align: top !important;
  }
}

/* ==========================================================================
   Utils.Display
   ========================================================================== */
.u-inline {
  display: inline !important;
}

/**
 * 1. Fix for Firefox bug: an image styled `max-width:100%` within an
 * inline-block will display at its default size, and not limit its width to
 * 100% of an ancestral container.
 */
.u-inlineBlock {
  display: inline-block !important;
  max-width: 100%;
  /* 1 */
}

.u-block {
  display: block !important;
}

.u-table {
  display: table !important;
}

.u-tableCell {
  display: table-cell !important;
}

.u-tableRow {
  display: table-row !important;
}

.u-visible {
  visibility: visible !important;
}

.u-invisible {
  visibility: hidden !important;
}

.u-hidden {
  display: none !important;
}

/**
 * Completely remove from the flow but leave available to screen readers.
 */
.u-hiddenVisually {
  position: absolute !important;
  overflow: hidden !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
}

@media (min-width: 480px) and (max-width: 767px) {
  .u-inline\@smallOnly {
    display: inline !important;
  }
  .u-inlineBlock\@smallOnly {
    display: inline-block !important;
    max-width: 100%;
  }
  .u-block\@smallOnly {
    display: block !important;
  }
  .u-table\@smallOnly {
    display: table !important;
  }
  .u-tableCell\@smallOnly {
    display: table-cell !important;
  }
  .u-tableRow\@smallOnly {
    display: table-row !important;
  }
  .u-visible\@smallOnly {
    visibility: visible !important;
  }
  .u-invisible\@smallOnly {
    visibility: hidden !important;
  }
  .u-hidden\@smallOnly {
    display: none !important;
  }
  .u-hiddenVisually\@smallOnly {
    position: absolute !important;
    overflow: hidden !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
  }
}

@media (min-width: 480px) {
  .u-inline\@smallUp {
    display: inline !important;
  }
  .u-inlineBlock\@smallUp {
    display: inline-block !important;
    max-width: 100%;
  }
  .u-block\@smallUp {
    display: block !important;
  }
  .u-table\@smallUp {
    display: table !important;
  }
  .u-tableCell\@smallUp {
    display: table-cell !important;
  }
  .u-tableRow\@smallUp {
    display: table-row !important;
  }
  .u-visible\@smallUp {
    visibility: visible !important;
  }
  .u-invisible\@smallUp {
    visibility: hidden !important;
  }
  .u-hidden\@smallUp {
    display: none !important;
  }
  .u-hiddenVisually\@smallUp {
    position: absolute !important;
    overflow: hidden !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
  }
}

@media (max-width: 479px) {
  .u-inline\@smallDown {
    display: inline !important;
  }
  .u-inlineBlock\@smallDown {
    display: inline-block !important;
    max-width: 100%;
  }
  .u-block\@smallDown {
    display: block !important;
  }
  .u-table\@smallDown {
    display: table !important;
  }
  .u-tableCell\@smallDown {
    display: table-cell !important;
  }
  .u-tableRow\@smallDown {
    display: table-row !important;
  }
  .u-visible\@smallDown {
    visibility: visible !important;
  }
  .u-invisible\@smallDown {
    visibility: hidden !important;
  }
  .u-hidden\@smallDown {
    display: none !important;
  }
  .u-hiddenVisually\@smallDown {
    position: absolute !important;
    overflow: hidden !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
  }
}

@media (min-width: 768px) and (max-width: 1219px) {
  .u-inline\@mediumOnly {
    display: inline !important;
  }
  .u-inlineBlock\@mediumOnly {
    display: inline-block !important;
    max-width: 100%;
  }
  .u-block\@mediumOnly {
    display: block !important;
  }
  .u-table\@mediumOnly {
    display: table !important;
  }
  .u-tableCell\@mediumOnly {
    display: table-cell !important;
  }
  .u-tableRow\@mediumOnly {
    display: table-row !important;
  }
  .u-visible\@mediumOnly {
    visibility: visible !important;
  }
  .u-invisible\@mediumOnly {
    visibility: hidden !important;
  }
  .u-hidden\@mediumOnly {
    display: none !important;
  }
  .u-hiddenVisually\@mediumOnly {
    position: absolute !important;
    overflow: hidden !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
  }
}

@media (min-width: 768px) {
  .u-inline\@mediumUp {
    display: inline !important;
  }
  .u-inlineBlock\@mediumUp {
    display: inline-block !important;
    max-width: 100%;
  }
  .u-block\@mediumUp {
    display: block !important;
  }
  .u-table\@mediumUp {
    display: table !important;
  }
  .u-tableCell\@mediumUp {
    display: table-cell !important;
  }
  .u-tableRow\@mediumUp {
    display: table-row !important;
  }
  .u-visible\@mediumUp {
    visibility: visible !important;
  }
  .u-invisible\@mediumUp {
    visibility: hidden !important;
  }
  .u-hidden\@mediumUp {
    display: none !important;
  }
  .u-hiddenVisually\@mediumUp {
    position: absolute !important;
    overflow: hidden !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
  }
}

@media (max-width: 767px) {
  .u-inline\@mediumDown {
    display: inline !important;
  }
  .u-inlineBlock\@mediumDown {
    display: inline-block !important;
    max-width: 100%;
  }
  .u-block\@mediumDown {
    display: block !important;
  }
  .u-table\@mediumDown {
    display: table !important;
  }
  .u-tableCell\@mediumDown {
    display: table-cell !important;
  }
  .u-tableRow\@mediumDown {
    display: table-row !important;
  }
  .u-visible\@mediumDown {
    visibility: visible !important;
  }
  .u-invisible\@mediumDown {
    visibility: hidden !important;
  }
  .u-hidden\@mediumDown {
    display: none !important;
  }
  .u-hiddenVisually\@mediumDown {
    position: absolute !important;
    overflow: hidden !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
  }
}

@media (min-width: 1220px) {
  .u-inline\@largeUp {
    display: inline !important;
  }
  .u-inlineBlock\@largeUp {
    display: inline-block !important;
    max-width: 100%;
  }
  .u-block\@largeUp {
    display: block !important;
  }
  .u-table\@largeUp {
    display: table !important;
  }
  .u-tableCell\@largeUp {
    display: table-cell !important;
  }
  .u-tableRow\@largeUp {
    display: table-row !important;
  }
  .u-visible\@largeUp {
    visibility: visible !important;
  }
  .u-invisible\@largeUp {
    visibility: hidden !important;
  }
  .u-hidden\@largeUp {
    display: none !important;
  }
  .u-hiddenVisually\@largeUp {
    position: absolute !important;
    overflow: hidden !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
  }
}

@media (max-width: 1219px) {
  .u-inline\@largeDown {
    display: inline !important;
  }
  .u-inlineBlock\@largeDown {
    display: inline-block !important;
    max-width: 100%;
  }
  .u-block\@largeDown {
    display: block !important;
  }
  .u-table\@largeDown {
    display: table !important;
  }
  .u-tableCell\@largeDown {
    display: table-cell !important;
  }
  .u-tableRow\@largeDown {
    display: table-row !important;
  }
  .u-visible\@largeDown {
    visibility: visible !important;
  }
  .u-invisible\@largeDown {
    visibility: hidden !important;
  }
  .u-hidden\@largeDown {
    display: none !important;
  }
  .u-hiddenVisually\@largeDown {
    position: absolute !important;
    overflow: hidden !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
  }
}

/* ==========================================================================
   Utils.Layout
   ========================================================================== */
/**
 * Contain floats
 *
 * Make an element expand to contain floated children.
 * Uses pseudo-elements (micro clearfix).
 *
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of the
 *    element.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.u-cf:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
  clear: both;
}

/**
 * New block formatting context
 *
 * This affords some useful properties to the element. It won't wrap under
 * floats. Will also contain any floated children.

 * N.B. This will clip overflow. Use the alternative method below if this is
 * problematic.
 */
.u-nbfc {
  overflow: hidden !important;
}

/**
 * New block formatting context (alternative)
 *
 * Alternative method when overflow must not be clipped.
 *
 * 1. Create a new block formatting context (NBFC).
 * 2. Avoid shrink-wrap behaviour of table-cell.
 *
 * N.B. This breaks down in some browsers when elements within this element
 * exceed its width.
 */
.u-nbfcAlt {
  display: table-cell !important;
  /* 1 */
  width: 10000px !important;
  /* 2 */
}

/**
 * Floats
 */
.u-floatLeft {
  float: left !important;
}

.u-floatRight {
  float: right !important;
}

@media (min-width: 480px) and (max-width: 767px) {
  .u-cf:after\@smallOnly {
    content: " ";
    display: table;
    clear: both;
  }
  .u-nbfc\@smallOnly {
    overflow: hidden !important;
  }
  .u-nbfcAlt\@smallOnly {
    display: table-cell !important;
    width: 10000px !important;
  }
  .u-floatLeft\@smallOnly {
    float: left !important;
  }
  .u-floatRight\@smallOnly {
    float: right !important;
  }
}

@media (min-width: 480px) {
  .u-cf:after\@smallUp {
    content: " ";
    display: table;
    clear: both;
  }
  .u-nbfc\@smallUp {
    overflow: hidden !important;
  }
  .u-nbfcAlt\@smallUp {
    display: table-cell !important;
    width: 10000px !important;
  }
  .u-floatLeft\@smallUp {
    float: left !important;
  }
  .u-floatRight\@smallUp {
    float: right !important;
  }
}

@media (max-width: 479px) {
  .u-cf:after\@smallDown {
    content: " ";
    display: table;
    clear: both;
  }
  .u-nbfc\@smallDown {
    overflow: hidden !important;
  }
  .u-nbfcAlt\@smallDown {
    display: table-cell !important;
    width: 10000px !important;
  }
  .u-floatLeft\@smallDown {
    float: left !important;
  }
  .u-floatRight\@smallDown {
    float: right !important;
  }
}

@media (min-width: 768px) and (max-width: 1219px) {
  .u-cf:after\@mediumOnly {
    content: " ";
    display: table;
    clear: both;
  }
  .u-nbfc\@mediumOnly {
    overflow: hidden !important;
  }
  .u-nbfcAlt\@mediumOnly {
    display: table-cell !important;
    width: 10000px !important;
  }
  .u-floatLeft\@mediumOnly {
    float: left !important;
  }
  .u-floatRight\@mediumOnly {
    float: right !important;
  }
}

@media (min-width: 768px) {
  .u-cf:after\@mediumUp {
    content: " ";
    display: table;
    clear: both;
  }
  .u-nbfc\@mediumUp {
    overflow: hidden !important;
  }
  .u-nbfcAlt\@mediumUp {
    display: table-cell !important;
    width: 10000px !important;
  }
  .u-floatLeft\@mediumUp {
    float: left !important;
  }
  .u-floatRight\@mediumUp {
    float: right !important;
  }
}

@media (max-width: 767px) {
  .u-cf:after\@mediumDown {
    content: " ";
    display: table;
    clear: both;
  }
  .u-nbfc\@mediumDown {
    overflow: hidden !important;
  }
  .u-nbfcAlt\@mediumDown {
    display: table-cell !important;
    width: 10000px !important;
  }
  .u-floatLeft\@mediumDown {
    float: left !important;
  }
  .u-floatRight\@mediumDown {
    float: right !important;
  }
}

@media (min-width: 1220px) {
  .u-cf:after\@largeUp {
    content: " ";
    display: table;
    clear: both;
  }
  .u-nbfc\@largeUp {
    overflow: hidden !important;
  }
  .u-nbfcAlt\@largeUp {
    display: table-cell !important;
    width: 10000px !important;
  }
  .u-floatLeft\@largeUp {
    float: left !important;
  }
  .u-floatRight\@largeUp {
    float: right !important;
  }
}

@media (max-width: 1219px) {
  .u-cf:after\@largeDown {
    content: " ";
    display: table;
    clear: both;
  }
  .u-nbfc\@largeDown {
    overflow: hidden !important;
  }
  .u-nbfcAlt\@largeDown {
    display: table-cell !important;
    width: 10000px !important;
  }
  .u-floatLeft\@largeDown {
    float: left !important;
  }
  .u-floatRight\@largeDown {
    float: right !important;
  }
}

/* ==========================================================================
   Utils.Position
   ========================================================================== */
.u-posAbsolute {
  position: absolute !important;
}

/**
 * Pins to all corners by default. But when a width and/or height are
 * provided, the element will be centered in its nearest relatively-positioned
 * ancestor.
 */
.u-posAbsoluteCenter {
  bottom: 0 !important;
  left: 0 !important;
  margin: auto !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
}

/**
 * 1. Make sure fixed elements are promoted into a new layer, for performance
 *    reasons.
 */
.u-posFixed {
  position: fixed !important;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  /* 1 */
}

.u-posRelative {
  position: relative !important;
}

.u-posStatic {
  position: static !important;
}

@media (min-width: 480px) and (max-width: 767px) {
  .u-posAbsolute\@smallOnly {
    position: absolute !important;
  }
  .u-posAbsoluteCenter\@smallOnly {
    bottom: 0 !important;
    left: 0 !important;
    margin: auto !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
  }
  .u-posFixed\@smallOnly {
    position: fixed !important;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    /* 1 */
  }
  .u-posRelative\@smallOnly {
    position: relative !important;
  }
  .u-posStatic\@smallOnly {
    position: static !important;
  }
}

@media (min-width: 480px) {
  .u-posAbsolute\@smallUp {
    position: absolute !important;
  }
  .u-posAbsoluteCenter\@smallUp {
    bottom: 0 !important;
    left: 0 !important;
    margin: auto !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
  }
  .u-posFixed\@smallUp {
    position: fixed !important;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    /* 1 */
  }
  .u-posRelative\@smallUp {
    position: relative !important;
  }
  .u-posStatic\@smallUp {
    position: static !important;
  }
}

@media (max-width: 479px) {
  .u-posAbsolute\@smallDown {
    position: absolute !important;
  }
  .u-posAbsoluteCenter\@smallDown {
    bottom: 0 !important;
    left: 0 !important;
    margin: auto !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
  }
  .u-posFixed\@smallDown {
    position: fixed !important;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    /* 1 */
  }
  .u-posRelative\@smallDown {
    position: relative !important;
  }
  .u-posStatic\@smallDown {
    position: static !important;
  }
}

@media (min-width: 768px) and (max-width: 1219px) {
  .u-posAbsolute\@mediumOnly {
    position: absolute !important;
  }
  .u-posAbsoluteCenter\@mediumOnly {
    bottom: 0 !important;
    left: 0 !important;
    margin: auto !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
  }
  .u-posFixed\@mediumOnly {
    position: fixed !important;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    /* 1 */
  }
  .u-posRelative\@mediumOnly {
    position: relative !important;
  }
  .u-posStatic\@mediumOnly {
    position: static !important;
  }
}

@media (min-width: 768px) {
  .u-posAbsolute\@mediumUp {
    position: absolute !important;
  }
  .u-posAbsoluteCenter\@mediumUp {
    bottom: 0 !important;
    left: 0 !important;
    margin: auto !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
  }
  .u-posFixed\@mediumUp {
    position: fixed !important;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    /* 1 */
  }
  .u-posRelative\@mediumUp {
    position: relative !important;
  }
  .u-posStatic\@mediumUp {
    position: static !important;
  }
}

@media (max-width: 767px) {
  .u-posAbsolute\@mediumDown {
    position: absolute !important;
  }
  .u-posAbsoluteCenter\@mediumDown {
    bottom: 0 !important;
    left: 0 !important;
    margin: auto !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
  }
  .u-posFixed\@mediumDown {
    position: fixed !important;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    /* 1 */
  }
  .u-posRelative\@mediumDown {
    position: relative !important;
  }
  .u-posStatic\@mediumDown {
    position: static !important;
  }
}

@media (min-width: 1220px) {
  .u-posAbsolute\@largeUp {
    position: absolute !important;
  }
  .u-posAbsoluteCenter\@largeUp {
    bottom: 0 !important;
    left: 0 !important;
    margin: auto !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
  }
  .u-posFixed\@largeUp {
    position: fixed !important;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    /* 1 */
  }
  .u-posRelative\@largeUp {
    position: relative !important;
  }
  .u-posStatic\@largeUp {
    position: static !important;
  }
}

@media (max-width: 1219px) {
  .u-posAbsolute\@largeDown {
    position: absolute !important;
  }
  .u-posAbsoluteCenter\@largeDown {
    bottom: 0 !important;
    left: 0 !important;
    margin: auto !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
  }
  .u-posFixed\@largeDown {
    position: fixed !important;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    /* 1 */
  }
  .u-posRelative\@largeDown {
    position: relative !important;
  }
  .u-posStatic\@largeDown {
    position: static !important;
  }
}

/* ==========================================================================
   Utils.Size
   ========================================================================== */
/* Intrinsic widths
   ========================================================================== */
/**
 * Make an element shrink wrap its content.
 */
.u-sizeFit,
.u-sizeFitAlt {
  display: block !important;
  float: left !important;
  width: auto !important;
}

.u-sizeFitAlt {
  float: right !important;
}

/**
 * Make an element fill the remaining space.
 * N.B. This will hide overflow.
 */
.u-sizeFill {
  display: block !important;
  overflow: hidden !important;
  width: auto !important;
}

/**
 * An alternative method to make an element fill the remaining space.
 * N.B. Do not use if child elements might be wider than the remaining space.
 * In Chrome, Safari, and Firefox it results in undesired layout.
 */
.u-sizeFillAlt {
  display: table-cell !important;
  max-width: 100% !important;
  width: 10000px !important;
}

/**
 * Make an element the width of its parent.
 */
.u-sizeFull {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
}

.u-size1of1 {
  width: 100% !important;
}

@media (min-width: 480px) and (max-width: 767px) {
  .u-sizeFit\@smallOnly,
  .u-sizeFitAlt\@smallOnly {
    display: block !important;
    float: left !important;
    width: auto !important;
  }
  .u-sizeFitAlt\@smallOnly {
    float: right !important;
  }
  .u-sizeFill\@smallOnly {
    display: block !important;
    overflow: hidden !important;
    width: auto !important;
  }
  .u-sizeFillAlt\@smallOnly {
    display: table-cell !important;
    max-width: 100% !important;
    width: 10000px !important;
  }
  .u-sizeFull\@smallOnly {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
  }
  .u-size1of1\@smallOnly {
    width: 100% !important;
  }
}

@media (min-width: 480px) {
  .u-sizeFit\@smallUp,
  .u-sizeFitAlt\@smallUp {
    display: block !important;
    float: left !important;
    width: auto !important;
  }
  .u-sizeFitAlt\@smallUp {
    float: right !important;
  }
  .u-sizeFill\@smallUp {
    display: block !important;
    overflow: hidden !important;
    width: auto !important;
  }
  .u-sizeFillAlt\@smallUp {
    display: table-cell !important;
    max-width: 100% !important;
    width: 10000px !important;
  }
  .u-sizeFull\@smallUp {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
  }
  .u-size1of1\@smallUp {
    width: 100% !important;
  }
}

@media (max-width: 479px) {
  .u-sizeFit\@smallDown,
  .u-sizeFitAlt\@smallDown {
    display: block !important;
    float: left !important;
    width: auto !important;
  }
  .u-sizeFitAlt\@smallDown {
    float: right !important;
  }
  .u-sizeFill\@smallDown {
    display: block !important;
    overflow: hidden !important;
    width: auto !important;
  }
  .u-sizeFillAlt\@smallDown {
    display: table-cell !important;
    max-width: 100% !important;
    width: 10000px !important;
  }
  .u-sizeFull\@smallDown {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
  }
  .u-size1of1\@smallDown {
    width: 100% !important;
  }
}

@media (min-width: 768px) and (max-width: 1219px) {
  .u-sizeFit\@mediumOnly,
  .u-sizeFitAlt\@mediumOnly {
    display: block !important;
    float: left !important;
    width: auto !important;
  }
  .u-sizeFitAlt\@mediumOnly {
    float: right !important;
  }
  .u-sizeFill\@mediumOnly {
    display: block !important;
    overflow: hidden !important;
    width: auto !important;
  }
  .u-sizeFillAlt\@mediumOnly {
    display: table-cell !important;
    max-width: 100% !important;
    width: 10000px !important;
  }
  .u-sizeFull\@mediumOnly {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
  }
  .u-size1of1\@mediumOnly {
    width: 100% !important;
  }
}

@media (min-width: 768px) {
  .u-sizeFit\@mediumUp,
  .u-sizeFitAlt\@mediumUp {
    display: block !important;
    float: left !important;
    width: auto !important;
  }
  .u-sizeFitAlt\@mediumUp {
    float: right !important;
  }
  .u-sizeFill\@mediumUp {
    display: block !important;
    overflow: hidden !important;
    width: auto !important;
  }
  .u-sizeFillAlt\@mediumUp {
    display: table-cell !important;
    max-width: 100% !important;
    width: 10000px !important;
  }
  .u-sizeFull\@mediumUp {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
  }
  .u-size1of1\@mediumUp {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .u-sizeFit\@mediumDown,
  .u-sizeFitAlt\@mediumDown {
    display: block !important;
    float: left !important;
    width: auto !important;
  }
  .u-sizeFitAlt\@mediumDown {
    float: right !important;
  }
  .u-sizeFill\@mediumDown {
    display: block !important;
    overflow: hidden !important;
    width: auto !important;
  }
  .u-sizeFillAlt\@mediumDown {
    display: table-cell !important;
    max-width: 100% !important;
    width: 10000px !important;
  }
  .u-sizeFull\@mediumDown {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
  }
  .u-size1of1\@mediumDown {
    width: 100% !important;
  }
}

@media (min-width: 1220px) {
  .u-sizeFit\@largeUp,
  .u-sizeFitAlt\@largeUp {
    display: block !important;
    float: left !important;
    width: auto !important;
  }
  .u-sizeFitAlt\@largeUp {
    float: right !important;
  }
  .u-sizeFill\@largeUp {
    display: block !important;
    overflow: hidden !important;
    width: auto !important;
  }
  .u-sizeFillAlt\@largeUp {
    display: table-cell !important;
    max-width: 100% !important;
    width: 10000px !important;
  }
  .u-sizeFull\@largeUp {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
  }
  .u-size1of1\@largeUp {
    width: 100% !important;
  }
}

@media (max-width: 1219px) {
  .u-sizeFit\@largeDown,
  .u-sizeFitAlt\@largeDown {
    display: block !important;
    float: left !important;
    width: auto !important;
  }
  .u-sizeFitAlt\@largeDown {
    float: right !important;
  }
  .u-sizeFill\@largeDown {
    display: block !important;
    overflow: hidden !important;
    width: auto !important;
  }
  .u-sizeFillAlt\@largeDown {
    display: table-cell !important;
    max-width: 100% !important;
    width: 10000px !important;
  }
  .u-sizeFull\@largeDown {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
  }
  .u-size1of1\@largeDown {
    width: 100% !important;
  }
}

/* Proportional widths
   ========================================================================== */
.u-size1of2 {
  width: 50% !important;
}

.u-size2of2 {
  width: 100% !important;
}

.u-size1of3 {
  width: 33.3333333333% !important;
}

.u-size2of3 {
  width: 66.6666666667% !important;
}

.u-size3of3 {
  width: 100% !important;
}

.u-size1of4 {
  width: 25% !important;
}

.u-size2of4 {
  width: 50% !important;
}

.u-size3of4 {
  width: 75% !important;
}

.u-size4of4 {
  width: 100% !important;
}

.u-size1of5 {
  width: 20% !important;
}

.u-size2of5 {
  width: 40% !important;
}

.u-size3of5 {
  width: 60% !important;
}

.u-size4of5 {
  width: 80% !important;
}

.u-size5of5 {
  width: 100% !important;
}

.u-size1of8 {
  width: 12.5% !important;
}

.u-size2of8 {
  width: 25% !important;
}

.u-size3of8 {
  width: 37.5% !important;
}

.u-size4of8 {
  width: 50% !important;
}

.u-size5of8 {
  width: 62.5% !important;
}

.u-size6of8 {
  width: 75% !important;
}

.u-size7of8 {
  width: 87.5% !important;
}

.u-size8of8 {
  width: 100% !important;
}

@media (min-width: 480px) and (max-width: 767px) {
  .u-size1of2\@smallOnly {
    width: 50% !important;
  }
  .u-size2of2\@smallOnly {
    width: 100% !important;
  }
  .u-size1of3\@smallOnly {
    width: 33.3333333333% !important;
  }
  .u-size2of3\@smallOnly {
    width: 66.6666666667% !important;
  }
  .u-size3of3\@smallOnly {
    width: 100% !important;
  }
  .u-size1of4\@smallOnly {
    width: 25% !important;
  }
  .u-size2of4\@smallOnly {
    width: 50% !important;
  }
  .u-size3of4\@smallOnly {
    width: 75% !important;
  }
  .u-size4of4\@smallOnly {
    width: 100% !important;
  }
  .u-size1of5\@smallOnly {
    width: 20% !important;
  }
  .u-size2of5\@smallOnly {
    width: 40% !important;
  }
  .u-size3of5\@smallOnly {
    width: 60% !important;
  }
  .u-size4of5\@smallOnly {
    width: 80% !important;
  }
  .u-size5of5\@smallOnly {
    width: 100% !important;
  }
  .u-size1of8\@smallOnly {
    width: 12.5% !important;
  }
  .u-size2of8\@smallOnly {
    width: 25% !important;
  }
  .u-size3of8\@smallOnly {
    width: 37.5% !important;
  }
  .u-size4of8\@smallOnly {
    width: 50% !important;
  }
  .u-size5of8\@smallOnly {
    width: 62.5% !important;
  }
  .u-size6of8\@smallOnly {
    width: 75% !important;
  }
  .u-size7of8\@smallOnly {
    width: 87.5% !important;
  }
  .u-size8of8\@smallOnly {
    width: 100% !important;
  }
}

@media (min-width: 480px) {
  .u-size1of2\@smallUp {
    width: 50% !important;
  }
  .u-size2of2\@smallUp {
    width: 100% !important;
  }
  .u-size1of3\@smallUp {
    width: 33.3333333333% !important;
  }
  .u-size2of3\@smallUp {
    width: 66.6666666667% !important;
  }
  .u-size3of3\@smallUp {
    width: 100% !important;
  }
  .u-size1of4\@smallUp {
    width: 25% !important;
  }
  .u-size2of4\@smallUp {
    width: 50% !important;
  }
  .u-size3of4\@smallUp {
    width: 75% !important;
  }
  .u-size4of4\@smallUp {
    width: 100% !important;
  }
  .u-size1of5\@smallUp {
    width: 20% !important;
  }
  .u-size2of5\@smallUp {
    width: 40% !important;
  }
  .u-size3of5\@smallUp {
    width: 60% !important;
  }
  .u-size4of5\@smallUp {
    width: 80% !important;
  }
  .u-size5of5\@smallUp {
    width: 100% !important;
  }
  .u-size1of8\@smallUp {
    width: 12.5% !important;
  }
  .u-size2of8\@smallUp {
    width: 25% !important;
  }
  .u-size3of8\@smallUp {
    width: 37.5% !important;
  }
  .u-size4of8\@smallUp {
    width: 50% !important;
  }
  .u-size5of8\@smallUp {
    width: 62.5% !important;
  }
  .u-size6of8\@smallUp {
    width: 75% !important;
  }
  .u-size7of8\@smallUp {
    width: 87.5% !important;
  }
  .u-size8of8\@smallUp {
    width: 100% !important;
  }
}

@media (max-width: 479px) {
  .u-size1of2\@smallDown {
    width: 50% !important;
  }
  .u-size2of2\@smallDown {
    width: 100% !important;
  }
  .u-size1of3\@smallDown {
    width: 33.3333333333% !important;
  }
  .u-size2of3\@smallDown {
    width: 66.6666666667% !important;
  }
  .u-size3of3\@smallDown {
    width: 100% !important;
  }
  .u-size1of4\@smallDown {
    width: 25% !important;
  }
  .u-size2of4\@smallDown {
    width: 50% !important;
  }
  .u-size3of4\@smallDown {
    width: 75% !important;
  }
  .u-size4of4\@smallDown {
    width: 100% !important;
  }
  .u-size1of5\@smallDown {
    width: 20% !important;
  }
  .u-size2of5\@smallDown {
    width: 40% !important;
  }
  .u-size3of5\@smallDown {
    width: 60% !important;
  }
  .u-size4of5\@smallDown {
    width: 80% !important;
  }
  .u-size5of5\@smallDown {
    width: 100% !important;
  }
  .u-size1of8\@smallDown {
    width: 12.5% !important;
  }
  .u-size2of8\@smallDown {
    width: 25% !important;
  }
  .u-size3of8\@smallDown {
    width: 37.5% !important;
  }
  .u-size4of8\@smallDown {
    width: 50% !important;
  }
  .u-size5of8\@smallDown {
    width: 62.5% !important;
  }
  .u-size6of8\@smallDown {
    width: 75% !important;
  }
  .u-size7of8\@smallDown {
    width: 87.5% !important;
  }
  .u-size8of8\@smallDown {
    width: 100% !important;
  }
}

@media (min-width: 768px) and (max-width: 1219px) {
  .u-size1of2\@mediumOnly {
    width: 50% !important;
  }
  .u-size2of2\@mediumOnly {
    width: 100% !important;
  }
  .u-size1of3\@mediumOnly {
    width: 33.3333333333% !important;
  }
  .u-size2of3\@mediumOnly {
    width: 66.6666666667% !important;
  }
  .u-size3of3\@mediumOnly {
    width: 100% !important;
  }
  .u-size1of4\@mediumOnly {
    width: 25% !important;
  }
  .u-size2of4\@mediumOnly {
    width: 50% !important;
  }
  .u-size3of4\@mediumOnly {
    width: 75% !important;
  }
  .u-size4of4\@mediumOnly {
    width: 100% !important;
  }
  .u-size1of5\@mediumOnly {
    width: 20% !important;
  }
  .u-size2of5\@mediumOnly {
    width: 40% !important;
  }
  .u-size3of5\@mediumOnly {
    width: 60% !important;
  }
  .u-size4of5\@mediumOnly {
    width: 80% !important;
  }
  .u-size5of5\@mediumOnly {
    width: 100% !important;
  }
  .u-size1of8\@mediumOnly {
    width: 12.5% !important;
  }
  .u-size2of8\@mediumOnly {
    width: 25% !important;
  }
  .u-size3of8\@mediumOnly {
    width: 37.5% !important;
  }
  .u-size4of8\@mediumOnly {
    width: 50% !important;
  }
  .u-size5of8\@mediumOnly {
    width: 62.5% !important;
  }
  .u-size6of8\@mediumOnly {
    width: 75% !important;
  }
  .u-size7of8\@mediumOnly {
    width: 87.5% !important;
  }
  .u-size8of8\@mediumOnly {
    width: 100% !important;
  }
}

@media (min-width: 768px) {
  .u-size1of2\@mediumUp {
    width: 50% !important;
  }
  .u-size2of2\@mediumUp {
    width: 100% !important;
  }
  .u-size1of3\@mediumUp {
    width: 33.3333333333% !important;
  }
  .u-size2of3\@mediumUp {
    width: 66.6666666667% !important;
  }
  .u-size3of3\@mediumUp {
    width: 100% !important;
  }
  .u-size1of4\@mediumUp {
    width: 25% !important;
  }
  .u-size2of4\@mediumUp {
    width: 50% !important;
  }
  .u-size3of4\@mediumUp {
    width: 75% !important;
  }
  .u-size4of4\@mediumUp {
    width: 100% !important;
  }
  .u-size1of5\@mediumUp {
    width: 20% !important;
  }
  .u-size2of5\@mediumUp {
    width: 40% !important;
  }
  .u-size3of5\@mediumUp {
    width: 60% !important;
  }
  .u-size4of5\@mediumUp {
    width: 80% !important;
  }
  .u-size5of5\@mediumUp {
    width: 100% !important;
  }
  .u-size1of8\@mediumUp {
    width: 12.5% !important;
  }
  .u-size2of8\@mediumUp {
    width: 25% !important;
  }
  .u-size3of8\@mediumUp {
    width: 37.5% !important;
  }
  .u-size4of8\@mediumUp {
    width: 50% !important;
  }
  .u-size5of8\@mediumUp {
    width: 62.5% !important;
  }
  .u-size6of8\@mediumUp {
    width: 75% !important;
  }
  .u-size7of8\@mediumUp {
    width: 87.5% !important;
  }
  .u-size8of8\@mediumUp {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .u-size1of2\@mediumDown {
    width: 50% !important;
  }
  .u-size2of2\@mediumDown {
    width: 100% !important;
  }
  .u-size1of3\@mediumDown {
    width: 33.3333333333% !important;
  }
  .u-size2of3\@mediumDown {
    width: 66.6666666667% !important;
  }
  .u-size3of3\@mediumDown {
    width: 100% !important;
  }
  .u-size1of4\@mediumDown {
    width: 25% !important;
  }
  .u-size2of4\@mediumDown {
    width: 50% !important;
  }
  .u-size3of4\@mediumDown {
    width: 75% !important;
  }
  .u-size4of4\@mediumDown {
    width: 100% !important;
  }
  .u-size1of5\@mediumDown {
    width: 20% !important;
  }
  .u-size2of5\@mediumDown {
    width: 40% !important;
  }
  .u-size3of5\@mediumDown {
    width: 60% !important;
  }
  .u-size4of5\@mediumDown {
    width: 80% !important;
  }
  .u-size5of5\@mediumDown {
    width: 100% !important;
  }
  .u-size1of8\@mediumDown {
    width: 12.5% !important;
  }
  .u-size2of8\@mediumDown {
    width: 25% !important;
  }
  .u-size3of8\@mediumDown {
    width: 37.5% !important;
  }
  .u-size4of8\@mediumDown {
    width: 50% !important;
  }
  .u-size5of8\@mediumDown {
    width: 62.5% !important;
  }
  .u-size6of8\@mediumDown {
    width: 75% !important;
  }
  .u-size7of8\@mediumDown {
    width: 87.5% !important;
  }
  .u-size8of8\@mediumDown {
    width: 100% !important;
  }
}

@media (min-width: 1220px) {
  .u-size1of2\@largeUp {
    width: 50% !important;
  }
  .u-size2of2\@largeUp {
    width: 100% !important;
  }
  .u-size1of3\@largeUp {
    width: 33.3333333333% !important;
  }
  .u-size2of3\@largeUp {
    width: 66.6666666667% !important;
  }
  .u-size3of3\@largeUp {
    width: 100% !important;
  }
  .u-size1of4\@largeUp {
    width: 25% !important;
  }
  .u-size2of4\@largeUp {
    width: 50% !important;
  }
  .u-size3of4\@largeUp {
    width: 75% !important;
  }
  .u-size4of4\@largeUp {
    width: 100% !important;
  }
  .u-size1of5\@largeUp {
    width: 20% !important;
  }
  .u-size2of5\@largeUp {
    width: 40% !important;
  }
  .u-size3of5\@largeUp {
    width: 60% !important;
  }
  .u-size4of5\@largeUp {
    width: 80% !important;
  }
  .u-size5of5\@largeUp {
    width: 100% !important;
  }
  .u-size1of8\@largeUp {
    width: 12.5% !important;
  }
  .u-size2of8\@largeUp {
    width: 25% !important;
  }
  .u-size3of8\@largeUp {
    width: 37.5% !important;
  }
  .u-size4of8\@largeUp {
    width: 50% !important;
  }
  .u-size5of8\@largeUp {
    width: 62.5% !important;
  }
  .u-size6of8\@largeUp {
    width: 75% !important;
  }
  .u-size7of8\@largeUp {
    width: 87.5% !important;
  }
  .u-size8of8\@largeUp {
    width: 100% !important;
  }
}

@media (max-width: 1219px) {
  .u-size1of2\@largeDown {
    width: 50% !important;
  }
  .u-size2of2\@largeDown {
    width: 100% !important;
  }
  .u-size1of3\@largeDown {
    width: 33.3333333333% !important;
  }
  .u-size2of3\@largeDown {
    width: 66.6666666667% !important;
  }
  .u-size3of3\@largeDown {
    width: 100% !important;
  }
  .u-size1of4\@largeDown {
    width: 25% !important;
  }
  .u-size2of4\@largeDown {
    width: 50% !important;
  }
  .u-size3of4\@largeDown {
    width: 75% !important;
  }
  .u-size4of4\@largeDown {
    width: 100% !important;
  }
  .u-size1of5\@largeDown {
    width: 20% !important;
  }
  .u-size2of5\@largeDown {
    width: 40% !important;
  }
  .u-size3of5\@largeDown {
    width: 60% !important;
  }
  .u-size4of5\@largeDown {
    width: 80% !important;
  }
  .u-size5of5\@largeDown {
    width: 100% !important;
  }
  .u-size1of8\@largeDown {
    width: 12.5% !important;
  }
  .u-size2of8\@largeDown {
    width: 25% !important;
  }
  .u-size3of8\@largeDown {
    width: 37.5% !important;
  }
  .u-size4of8\@largeDown {
    width: 50% !important;
  }
  .u-size5of8\@largeDown {
    width: 62.5% !important;
  }
  .u-size6of8\@largeDown {
    width: 75% !important;
  }
  .u-size7of8\@largeDown {
    width: 87.5% !important;
  }
  .u-size8of8\@largeDown {
    width: 100% !important;
  }
}

/* ==========================================================================
   Utils.Space
   ========================================================================== */
/**
 * Reset all spaces
 */
.u-paddingA {
  padding: 0 !important;
}

.u-marginA {
  margin: 0 !important;
}

/**
 * Reset vertical spaces
 */
.u-paddingV {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.u-marginV {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/**
 * Reset horizontal spaces
 */
.u-paddingH {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.u-marginH {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

/**
 * Reset top space
 */
.u-paddingT {
  padding-top: 0 !important;
}

.u-marginT {
  margin-top: 0 !important;
}

/**
 * Reset right space
 */
.u-paddingR {
  padding-right: 0 !important;
}

.u-marginR {
  margin-right: 0 !important;
}

/**
 * Reset bottom space
 */
.u-paddingB {
  padding-bottom: 0 !important;
}

.u-marginB {
  margin-bottom: 0 !important;
}

/**
 * Reset left space
 */
.u-paddingL {
  padding-left: 0 !important;
}

.u-marginL {
  margin-left: 0 !important;
}

@media (min-width: 480px) and (max-width: 767px) {
  .u-paddingA\@smallOnly {
    padding: 0 !important;
  }
  .u-marginA\@smallOnly {
    margin: 0 !important;
  }
  .u-paddingV\@smallOnly {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .u-marginV\@smallOnly {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .u-paddingH\@smallOnly {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .u-marginH\@smallOnly {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .u-paddingT\@smallOnly {
    padding-top: 0 !important;
  }
  .u-marginT\@smallOnly {
    margin-top: 0 !important;
  }
  .u-paddingR\@smallOnly {
    padding-right: 0 !important;
  }
  .u-marginR\@smallOnly {
    margin-right: 0 !important;
  }
  .u-paddingB\@smallOnly {
    padding-bottom: 0 !important;
  }
  .u-marginB\@smallOnly {
    margin-bottom: 0 !important;
  }
  .u-paddingL\@smallOnly {
    padding-left: 0 !important;
  }
  .u-marginL\@smallOnly {
    margin-left: 0 !important;
  }
}

@media (min-width: 480px) {
  .u-paddingA\@smallUp {
    padding: 0 !important;
  }
  .u-marginA\@smallUp {
    margin: 0 !important;
  }
  .u-paddingV\@smallUp {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .u-marginV\@smallUp {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .u-paddingH\@smallUp {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .u-marginH\@smallUp {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .u-paddingT\@smallUp {
    padding-top: 0 !important;
  }
  .u-marginT\@smallUp {
    margin-top: 0 !important;
  }
  .u-paddingR\@smallUp {
    padding-right: 0 !important;
  }
  .u-marginR\@smallUp {
    margin-right: 0 !important;
  }
  .u-paddingB\@smallUp {
    padding-bottom: 0 !important;
  }
  .u-marginB\@smallUp {
    margin-bottom: 0 !important;
  }
  .u-paddingL\@smallUp {
    padding-left: 0 !important;
  }
  .u-marginL\@smallUp {
    margin-left: 0 !important;
  }
}

@media (max-width: 479px) {
  .u-paddingA\@smallDown {
    padding: 0 !important;
  }
  .u-marginA\@smallDown {
    margin: 0 !important;
  }
  .u-paddingV\@smallDown {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .u-marginV\@smallDown {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .u-paddingH\@smallDown {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .u-marginH\@smallDown {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .u-paddingT\@smallDown {
    padding-top: 0 !important;
  }
  .u-marginT\@smallDown {
    margin-top: 0 !important;
  }
  .u-paddingR\@smallDown {
    padding-right: 0 !important;
  }
  .u-marginR\@smallDown {
    margin-right: 0 !important;
  }
  .u-paddingB\@smallDown {
    padding-bottom: 0 !important;
  }
  .u-marginB\@smallDown {
    margin-bottom: 0 !important;
  }
  .u-paddingL\@smallDown {
    padding-left: 0 !important;
  }
  .u-marginL\@smallDown {
    margin-left: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1219px) {
  .u-paddingA\@mediumOnly {
    padding: 0 !important;
  }
  .u-marginA\@mediumOnly {
    margin: 0 !important;
  }
  .u-paddingV\@mediumOnly {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .u-marginV\@mediumOnly {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .u-paddingH\@mediumOnly {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .u-marginH\@mediumOnly {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .u-paddingT\@mediumOnly {
    padding-top: 0 !important;
  }
  .u-marginT\@mediumOnly {
    margin-top: 0 !important;
  }
  .u-paddingR\@mediumOnly {
    padding-right: 0 !important;
  }
  .u-marginR\@mediumOnly {
    margin-right: 0 !important;
  }
  .u-paddingB\@mediumOnly {
    padding-bottom: 0 !important;
  }
  .u-marginB\@mediumOnly {
    margin-bottom: 0 !important;
  }
  .u-paddingL\@mediumOnly {
    padding-left: 0 !important;
  }
  .u-marginL\@mediumOnly {
    margin-left: 0 !important;
  }
}

@media (min-width: 768px) {
  .u-paddingA\@mediumUp {
    padding: 0 !important;
  }
  .u-marginA\@mediumUp {
    margin: 0 !important;
  }
  .u-paddingV\@mediumUp {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .u-marginV\@mediumUp {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .u-paddingH\@mediumUp {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .u-marginH\@mediumUp {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .u-paddingT\@mediumUp {
    padding-top: 0 !important;
  }
  .u-marginT\@mediumUp {
    margin-top: 0 !important;
  }
  .u-paddingR\@mediumUp {
    padding-right: 0 !important;
  }
  .u-marginR\@mediumUp {
    margin-right: 0 !important;
  }
  .u-paddingB\@mediumUp {
    padding-bottom: 0 !important;
  }
  .u-marginB\@mediumUp {
    margin-bottom: 0 !important;
  }
  .u-paddingL\@mediumUp {
    padding-left: 0 !important;
  }
  .u-marginL\@mediumUp {
    margin-left: 0 !important;
  }
}

@media (max-width: 767px) {
  .u-paddingA\@mediumDown {
    padding: 0 !important;
  }
  .u-marginA\@mediumDown {
    margin: 0 !important;
  }
  .u-paddingV\@mediumDown {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .u-marginV\@mediumDown {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .u-paddingH\@mediumDown {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .u-marginH\@mediumDown {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .u-paddingT\@mediumDown {
    padding-top: 0 !important;
  }
  .u-marginT\@mediumDown {
    margin-top: 0 !important;
  }
  .u-paddingR\@mediumDown {
    padding-right: 0 !important;
  }
  .u-marginR\@mediumDown {
    margin-right: 0 !important;
  }
  .u-paddingB\@mediumDown {
    padding-bottom: 0 !important;
  }
  .u-marginB\@mediumDown {
    margin-bottom: 0 !important;
  }
  .u-paddingL\@mediumDown {
    padding-left: 0 !important;
  }
  .u-marginL\@mediumDown {
    margin-left: 0 !important;
  }
}

@media (min-width: 1220px) {
  .u-paddingA\@largeUp {
    padding: 0 !important;
  }
  .u-marginA\@largeUp {
    margin: 0 !important;
  }
  .u-paddingV\@largeUp {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .u-marginV\@largeUp {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .u-paddingH\@largeUp {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .u-marginH\@largeUp {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .u-paddingT\@largeUp {
    padding-top: 0 !important;
  }
  .u-marginT\@largeUp {
    margin-top: 0 !important;
  }
  .u-paddingR\@largeUp {
    padding-right: 0 !important;
  }
  .u-marginR\@largeUp {
    margin-right: 0 !important;
  }
  .u-paddingB\@largeUp {
    padding-bottom: 0 !important;
  }
  .u-marginB\@largeUp {
    margin-bottom: 0 !important;
  }
  .u-paddingL\@largeUp {
    padding-left: 0 !important;
  }
  .u-marginL\@largeUp {
    margin-left: 0 !important;
  }
}

@media (max-width: 1219px) {
  .u-paddingA\@largeDown {
    padding: 0 !important;
  }
  .u-marginA\@largeDown {
    margin: 0 !important;
  }
  .u-paddingV\@largeDown {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .u-marginV\@largeDown {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .u-paddingH\@largeDown {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .u-marginH\@largeDown {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .u-paddingT\@largeDown {
    padding-top: 0 !important;
  }
  .u-marginT\@largeDown {
    margin-top: 0 !important;
  }
  .u-paddingR\@largeDown {
    padding-right: 0 !important;
  }
  .u-marginR\@largeDown {
    margin-right: 0 !important;
  }
  .u-paddingB\@largeDown {
    padding-bottom: 0 !important;
  }
  .u-marginB\@largeDown {
    margin-bottom: 0 !important;
  }
  .u-paddingL\@largeDown {
    padding-left: 0 !important;
  }
  .u-marginL\@largeDown {
    margin-left: 0 !important;
  }
}

/* ==========================================================================
   Utils.Text
   ========================================================================== */
/**
 * Word breaking
 *
 * Break strings when their length exceeds the width of their container.
 */
.u-textBreak {
  word-wrap: break-word !important;
}

/**
 * Horizontal text alignment
 */
.u-textCenter {
  text-align: center !important;
}

.u-textLeft {
  text-align: left !important;
}

.u-textRight {
  text-align: right !important;
}

/**
 * Inherit the ancestor's text color.
 */
.u-textInheritColor {
  color: inherit !important;
}

/**
 * Enables font kerning in all browsers.
 * http://blog.typekit.com/2014/02/05/kerning-on-the-web/
 *
 * 1. Chrome (not Windows), Firefox, Safari 6+, iOS, Android
 * 2. Chrome (not Windows), Firefox, IE 10+
 * 3. Safari 7 and future browsers
 */
.u-textKern {
  text-rendering: optimizeLegibility;
  /* 1 */
  font-feature-settings: "kern" 1;
  /* 2 */
  -webkit-font-kerning: normal;
          font-kerning: normal;
  /* 3 */
}

/**
 * Prevent whitespace wrapping
 */
.u-textNoWrap {
  white-space: nowrap !important;
}

/**
 * Text truncation
 *
 * Prevent text from wrapping onto multiple lines, and truncate with an
 * ellipsis.
 *
 * 1. Ensure that the node has a maximum width after which truncation can
 *    occur.
 * 2. Fix for IE 8/9 if `word-wrap: break-word` is in effect on ancestor
 *    nodes.
 */
.u-textTruncate {
  max-width: 100%;
  /* 1 */
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  word-wrap: normal !important;
  /* 2 */
}

@media (min-width: 480px) and (max-width: 767px) {
  .u-textBreak\@smallOnly {
    word-wrap: break-word !important;
  }
  .u-textCenter\@smallOnly {
    text-align: center !important;
  }
  .u-textLeft\@smallOnly {
    text-align: left !important;
  }
  .u-textRight\@smallOnly {
    text-align: right !important;
  }
  .u-textInheritColor\@smallOnly {
    color: inherit !important;
  }
  .u-textKern\@smallOnly {
    text-rendering: optimizeLegibility;
    /* 1 */
    font-feature-settings: "kern" 1;
    /* 2 */
    -webkit-font-kerning: normal;
            font-kerning: normal;
    /* 3 */
  }
  .u-textNoWrap\@smallOnly {
    white-space: nowrap !important;
  }
  .u-textTruncate\@smallOnly {
    max-width: 100%;
    /* 1 */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    /* 2 */
  }
}

@media (min-width: 480px) {
  .u-textBreak\@smallUp {
    word-wrap: break-word !important;
  }
  .u-textCenter\@smallUp {
    text-align: center !important;
  }
  .u-textLeft\@smallUp {
    text-align: left !important;
  }
  .u-textRight\@smallUp {
    text-align: right !important;
  }
  .u-textInheritColor\@smallUp {
    color: inherit !important;
  }
  .u-textKern\@smallUp {
    text-rendering: optimizeLegibility;
    /* 1 */
    font-feature-settings: "kern" 1;
    /* 2 */
    -webkit-font-kerning: normal;
            font-kerning: normal;
    /* 3 */
  }
  .u-textNoWrap\@smallUp {
    white-space: nowrap !important;
  }
  .u-textTruncate\@smallUp {
    max-width: 100%;
    /* 1 */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    /* 2 */
  }
}

@media (max-width: 479px) {
  .u-textBreak\@smallDown {
    word-wrap: break-word !important;
  }
  .u-textCenter\@smallDown {
    text-align: center !important;
  }
  .u-textLeft\@smallDown {
    text-align: left !important;
  }
  .u-textRight\@smallDown {
    text-align: right !important;
  }
  .u-textInheritColor\@smallDown {
    color: inherit !important;
  }
  .u-textKern\@smallDown {
    text-rendering: optimizeLegibility;
    /* 1 */
    font-feature-settings: "kern" 1;
    /* 2 */
    -webkit-font-kerning: normal;
            font-kerning: normal;
    /* 3 */
  }
  .u-textNoWrap\@smallDown {
    white-space: nowrap !important;
  }
  .u-textTruncate\@smallDown {
    max-width: 100%;
    /* 1 */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    /* 2 */
  }
}

@media (min-width: 768px) and (max-width: 1219px) {
  .u-textBreak\@mediumOnly {
    word-wrap: break-word !important;
  }
  .u-textCenter\@mediumOnly {
    text-align: center !important;
  }
  .u-textLeft\@mediumOnly {
    text-align: left !important;
  }
  .u-textRight\@mediumOnly {
    text-align: right !important;
  }
  .u-textInheritColor\@mediumOnly {
    color: inherit !important;
  }
  .u-textKern\@mediumOnly {
    text-rendering: optimizeLegibility;
    /* 1 */
    font-feature-settings: "kern" 1;
    /* 2 */
    -webkit-font-kerning: normal;
            font-kerning: normal;
    /* 3 */
  }
  .u-textNoWrap\@mediumOnly {
    white-space: nowrap !important;
  }
  .u-textTruncate\@mediumOnly {
    max-width: 100%;
    /* 1 */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    /* 2 */
  }
}

@media (min-width: 768px) {
  .u-textBreak\@mediumUp {
    word-wrap: break-word !important;
  }
  .u-textCenter\@mediumUp {
    text-align: center !important;
  }
  .u-textLeft\@mediumUp {
    text-align: left !important;
  }
  .u-textRight\@mediumUp {
    text-align: right !important;
  }
  .u-textInheritColor\@mediumUp {
    color: inherit !important;
  }
  .u-textKern\@mediumUp {
    text-rendering: optimizeLegibility;
    /* 1 */
    font-feature-settings: "kern" 1;
    /* 2 */
    -webkit-font-kerning: normal;
            font-kerning: normal;
    /* 3 */
  }
  .u-textNoWrap\@mediumUp {
    white-space: nowrap !important;
  }
  .u-textTruncate\@mediumUp {
    max-width: 100%;
    /* 1 */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    /* 2 */
  }
}

@media (max-width: 767px) {
  .u-textBreak\@mediumDown {
    word-wrap: break-word !important;
  }
  .u-textCenter\@mediumDown {
    text-align: center !important;
  }
  .u-textLeft\@mediumDown {
    text-align: left !important;
  }
  .u-textRight\@mediumDown {
    text-align: right !important;
  }
  .u-textInheritColor\@mediumDown {
    color: inherit !important;
  }
  .u-textKern\@mediumDown {
    text-rendering: optimizeLegibility;
    /* 1 */
    font-feature-settings: "kern" 1;
    /* 2 */
    -webkit-font-kerning: normal;
            font-kerning: normal;
    /* 3 */
  }
  .u-textNoWrap\@mediumDown {
    white-space: nowrap !important;
  }
  .u-textTruncate\@mediumDown {
    max-width: 100%;
    /* 1 */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    /* 2 */
  }
}

@media (min-width: 1220px) {
  .u-textBreak\@largeUp {
    word-wrap: break-word !important;
  }
  .u-textCenter\@largeUp {
    text-align: center !important;
  }
  .u-textLeft\@largeUp {
    text-align: left !important;
  }
  .u-textRight\@largeUp {
    text-align: right !important;
  }
  .u-textInheritColor\@largeUp {
    color: inherit !important;
  }
  .u-textKern\@largeUp {
    text-rendering: optimizeLegibility;
    /* 1 */
    font-feature-settings: "kern" 1;
    /* 2 */
    -webkit-font-kerning: normal;
            font-kerning: normal;
    /* 3 */
  }
  .u-textNoWrap\@largeUp {
    white-space: nowrap !important;
  }
  .u-textTruncate\@largeUp {
    max-width: 100%;
    /* 1 */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    /* 2 */
  }
}

@media (max-width: 1219px) {
  .u-textBreak\@largeDown {
    word-wrap: break-word !important;
  }
  .u-textCenter\@largeDown {
    text-align: center !important;
  }
  .u-textLeft\@largeDown {
    text-align: left !important;
  }
  .u-textRight\@largeDown {
    text-align: right !important;
  }
  .u-textInheritColor\@largeDown {
    color: inherit !important;
  }
  .u-textKern\@largeDown {
    text-rendering: optimizeLegibility;
    /* 1 */
    font-feature-settings: "kern" 1;
    /* 2 */
    -webkit-font-kerning: normal;
            font-kerning: normal;
    /* 3 */
  }
  .u-textNoWrap\@largeDown {
    white-space: nowrap !important;
  }
  .u-textTruncate\@largeDown {
    max-width: 100%;
    /* 1 */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    /* 2 */
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwibWFpbi5zY3NzIiwic2V0dGluZ3MvX2RlZmF1bHRzLnNjc3MiLCJ0b29scy9fZnVuY3Rpb25zLnNjc3MiLCJ0b29scy9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2luY2x1ZGUtbWVkaWEvZGlzdC9faW5jbHVkZS1tZWRpYS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9pbmNsdWRlLW1lZGlhLWV4cG9ydC9kaXN0L19pbmNsdWRlLW1lZGlhLWV4cG9ydC5zY3NzIiwiZ2VuZXJpYy9fcmVzZXQuc2NzcyIsImdlbmVyaWMvX3NoYXJlZC5zY3NzIiwiZ2VuZXJpYy9fYm94LXNpemluZy5zY3NzIiwiYmFzZS9fZm9udHMuc2NzcyIsImJhc2UvX3BhZ2Uuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2ltYWdlcy5zY3NzIiwib2JqZWN0cy9fYnV0dG9uLnNjc3MiLCJvYmplY3RzL19jb2xvci5zY3NzIiwib2JqZWN0cy9fY29udGFpbmVyLnNjc3MiLCJvYmplY3RzL19lbWJlZC5zY3NzIiwib2JqZWN0cy9fZ3JpZC5zY3NzIiwib2JqZWN0cy9faWNvbi5zY3NzIiwib2JqZWN0cy9fbGlzdC5zY3NzIiwib2JqZWN0cy9fc2l6ZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19jb21wb25lbnQtYW5pbWF0aW9ucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2Ryb3Bkb3ducy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNldC1maWx0ZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fcGFnZS5zY3NzIiwiY29tcG9uZW50cy9fYmFyLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2xvZ28uc2NzcyIsImNvbXBvbmVudHMvX2Nvbm5lY3Quc2NzcyIsImNvbXBvbmVudHMvX2hhbWJ1cmdlci5zY3NzIiwiY29tcG9uZW50cy9fY29sbGFwc2Uuc2NzcyIsImNvbXBvbmVudHMvX21lbnUuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX2hlcm8uc2NzcyIsImNvbXBvbmVudHMvX3N1cHBvcnQuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvX3d5c2l3eWcuc2NzcyIsImNvbXBvbmVudHMvX2dhbGxlcnkuc2NzcyIsImNvbXBvbmVudHMvX2Rvd25sb2Fkcy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fdGltZWxpbmUuc2NzcyIsImNvbXBvbmVudHMvX2V4Y2VycHQuc2NzcyIsImNvbXBvbmVudHMvX2NlbGxzLnNjc3MiLCJjb21wb25lbnRzL19jdGEuc2NzcyIsImNvbXBvbmVudHMvX2Nhcm91c2VsLnNjc3MiLCJjb21wb25lbnRzL19wb3N0LnNjc3MiLCJjb21wb25lbnRzL19wYXJ0bmVycy5zY3NzIiwiY29tcG9uZW50cy9fZGlyZWN0b3J5LnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX21hcC5zY3NzIiwiY29tcG9uZW50cy9fdXAuc2NzcyIsInV0aWxzL19hbGlnbi5zY3NzIiwidXRpbHMvX2Rpc3BsYXkuc2NzcyIsInV0aWxzL19sYXlvdXQuc2NzcyIsInV0aWxzL19wb3NpdGlvbi5zY3NzIiwidXRpbHMvX3NpemUuc2NzcyIsInV0aWxzL19zcGFjZS5zY3NzIiwidXRpbHMvX3RleHQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7O2dGQUVnRjtBQUVoRjs7R0FFRztBQ05IOztnRkFFZ0Y7QUFFaEY7O0dBRUc7QUFXSDs7R0FFRztBQVNIOztHQUVHO0FEbEJIOztHQUVHO0FFZEg7O2dGQUVnRjtBQUVoRjs7R0FFRztBQVFIOztHQUVHO0FDaEJIOztnRkFFZ0Y7QUFFaEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBc0RIOzs7Ozs7Ozs7Ozs7O0dBYUc7QUNnZEM7RUNsaEJFO0lBQ0Usb0pBWjBCO0lBYTFCLGVBQWU7SUFDZixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLFNBQVM7R0FDVjtDTjhDTjs7QUs4ZEc7RUNsaEJFO0lBQ0UsbUpBWjBCO0lBYTFCLGVBQWU7SUFDZixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLFNBQVM7R0FDVjtDTndETjs7QUtvZEc7RUNsaEJFO0lBQ0Usa0pBWjBCO0lBYTFCLGVBQWU7SUFDZixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLFNBQVM7R0FDVjtDTmtFTjs7QUMvRUQ7O0dBRUc7QU0xQkg7O2dGQUVnRjtBQUVoRjs7O0dBR0c7QUFFSDs7Ozs7Ozs7Ozs7Ozs7RUFjSSxVQUFVO0NBQ2I7O0FBRUQ7RUFDSSxXQUFXO0VBQ1gsVUFBVTtFQUNWLFVBQVU7Q0FDYjs7QUFFRDtFQUNJLFVBQVU7Q0FDYjs7QUNsQ0Q7O2dGQUVnRjtBQUVoRjs7OztHQUlHO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQkksb0JONkJrQztDTTVCckM7O0FBSUQ7Ozs7R0FJRztBQUVIOzs7OztFQUtJLHVCQUF1QjtDQUMxQjs7QUFJRDs7R0FFRztBQUVIOztFQUVJLGlCQUE2QjtDQUNoQzs7QUFJRDs7R0FFRztBQUVIO0VBQ0ksaUJBQWlCO0NBQ3BCOztBQUlEOzs7O0dBSUc7QVJrSUg7RVEvSEkseUJBQXlCO0NBQzVCOztBQzVFRDs7Z0ZBRWdGO0FBRWhGOzs7O0dBSUc7QUFFSDtFQUlRLG9CQUFvQjtDQUN2Qjs7QVJtQkw7O0dBRUc7QVNwQ0g7O2dGQUVnRjtBQUVoRjtFQUNJLDRCQUE0QjtFQUM1QixnRUFBUTtFQUNSLHdhQUl3RjtFQUN4RixpQkFBaUI7RUFDakIsbUJBQW1CO0NWeU50Qjs7QVV0TkQ7RUFDSSw0QkFBNEI7RUFDNUIsa0VBQVE7RUFDUix1YkFJK0Y7RUFDL0Ysb0JBQW9CO0VBQ3BCLG1CQUFtQjtDVnFOdEI7O0FVbE5EO0VBQ0ksNEJBQTRCO0VBQzVCLCtEQUFRO0VBQ1IscWFBSXlGO0VBQ3pGLGlCQUFpQjtFQUNqQixtQkFBbUI7Q1ZpTnRCOztBVTdNRDtFQUNJLDBCQUEwQjtFQUMxQiw2REFBUTtFQUNSLHVaQUltRjtFQUNuRixpQkFBaUI7RUFDakIsbUJBQW1CO0NWNE10Qjs7QVV6TUQ7RUFDSSwwQkFBMEI7RUFDMUIsK0RBQVE7RUFDUixtYUFJdUY7RUFDdkYsb0JBQW9CO0VBQ3BCLG1CQUFtQjtDVndNdEI7O0FVck1EO0VBQ0ksMEJBQTBCO0VBQzFCLGdFQUFRO0VBQ1IsMGFBSTBGO0VBQzFGLGlCQUFpQjtFQUNqQixtQkFBbUI7Q1ZvTXRCOztBVzlRRDs7Z0ZBRWdGO0FBRWhGOzs7Ozs7Ozs7Ozs7R0FZRztBQUVIO0VBQ0ksdUJBQXVCO0VBQUUsU0FBUztFQUNsQyxpQkFBaUI7RUFBRSxTQUFTO0VBQzVCLHNDVEdzRDtFU0Z0RCxpQlQ4QmlDO0VTOUJELFNBQVM7RUFDekMsaUJBQTZCO0VBQW1CLFNBQVM7RUFDekQsbUJBQW1CO0VBQUUsU0FBUztFQUU5QiwrQkFBK0I7RUFBRSxTQUFTO0VBQ3RDLDJCQUEyQjtFQUFFLFNBQVM7Q0FDN0M7O0FDNUJEOztnRkFFZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFQUNJLGVWNkJxQztDVTVCeEM7O0FBRUQ7O0VBRUksc0JBQXNCO0NBQ3pCOztBQUVEO0VBQ0ksV0FBVztDQUNkOztBQUlEOztHQUVHO0FBRUg7O0VBRUksaUJWd0JpQztDVXZCcEM7O0FBSUQ7O0dBRUc7QUFFSDs7RUFFSSxhQUFhO0NBQ2hCOztBQ3pDRDs7Z0ZBRWdGO0FBRWhGOzs7R0FHRztBQUVIO0VBQ0ksZ0JBQWdCO0VBQUUsU0FBUztFQUMzQixtQkFBbUI7RUFBRSxTQUFTO0NBQ2pDOztBQUlEOzs7OztHQUtHO0FBRUg7OztFQUVlLFNBQVM7RUFDcEIsZ0JBQWdCO0NBQ25COztBWmtCRDs7R0FFRztBYS9DSDs7Z0ZBRWdGO0FBV2hGO0VBQ0ksbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUN0QixrQlp3Q2tDO0VZdkNsQyxVQUFVO0VBQ1YsMkJBYmtDO0VBY2xDLG9CQUFvQjtFQUNwQixrQkFkeUI7RUFlekIsd0JBQXdCO0VBQ3hCLGVBZjZCO0VBZ0I3QixnQkFBZ0I7RUFDaEIsY0FoQjZCO0VBaUI3QixtQkFBbUI7RUFDbkIsc0JBQXNCO0VBQ3RCLDBCQUFrQjtLQUFsQix1QkFBa0I7TUFBbEIsc0JBQWtCO1VBQWxCLGtCQUFrQjtFQUNsQix1QkFBdUI7Q0FnQjFCOztBQS9CRDtFQW9CUSxzQkFBc0I7Q0FDekI7O0FBckJMO0VBd0JRLFdBQVc7Q0FDZDs7QUF6Qkw7RUE0QlEsZ0JBQWdCO0VBQ2hCLGFBakNxQjtDQWtDeEI7O0FBR0w7RUFDSSxZQUFZO0NBQ2Y7O0FBRUQ7RUFDSSxtQkFBbUI7RUFDbkIsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGlCQUFpQjtFQUNqQix3QkFBd0I7RUFDeEIsZUFBZTtFQUNmLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsc0JBQXNCO0VBQ3RCLDBCQUFrQjtLQUFsQix1QkFBa0I7TUFBbEIsc0JBQWtCO1VBQWxCLGtCQUFrQjtFQUNsQix5QkFBeUI7Q0FXNUI7O0FBeEJEO0VBa0JRLHNCQUFzQjtDQUN6Qjs7QUFuQkw7RUFzQlEsV0FBVztDQUNkOztBQ3pFTDs7Z0ZBRWdGO0FBRWhGO0VBQ0ksZWIyQnFDO0NhMUJ4Qzs7QUFFRDtFQUNJLGVid0JxQztDYXZCeEM7O0FBRUQ7RUFDSSxlYnFCcUM7Q2FwQnhDOztBQUVEO0VBQ0ksWUFBWTtDQUNmOztBQ2xCRDs7Z0ZBRWdGO0FBRWhGO0VBQ0ksa0JBQStCO0VBQy9CLGdCZHFEa0M7RWNwRGxDLGVBQWU7Q0FLbEI7O0FBUkQ7RUFNUSxXQUFXO0NBQ2Q7O0FBR0w7RUFDSSxrQkFBZ0I7Q0FDbkI7O0FDaEJEOztnRkFFZ0Y7QUFFaEY7RUFDSSxtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLFVBQVU7RUFDVix1QkFBdUI7RUFDdkIsaUJBQWlCO0NBV3BCOztBQWhCRDs7O0VBVVEsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxRQUFRO0VBQ1IsWUFBWTtFQUNaLGFBQWE7Q0FDaEI7O0FDbkJMOztnRkFFZ0Y7QUFFaEY7Ozs7O0dBS0c7QUEwQkg7Ozs7R0FJRztBQUVIO0VBQ0ksV0FBVztFQUNYLFVBQVc7RUFDWCxtQkFqQ3lCO0VBa0N6QixhQUFhO0VBQUUsU0FBUztFQUN4QixpQkFBaUI7Q0FDcEI7O0FBS0Q7Ozs7OztHQU1HO0FBRUg7RWQrREksZ0JBaEJjO0VBaUJkLG9CQVJlO0VjdkQwQixTQUFTO0VBQ2xELHNCQUFzQjtFQUFFLFNBQVM7RUFDakMsWUFBWTtFQUFFLFNBQVM7RUFDdkIsbUJBckR5QjtFQXFERyxTQUFTO0VBQ3JDLG9CQUFvQjtFQUFFLFNBQVM7Q0FTbEM7O0FidWVHO0VhcmZKO0lkK0RJLGdCQWhCYztJQWlCZCxnQkFSZTtJY2hEc0MsU0FBUztHQU1qRTtDbEJrZEE7O0FLcUJHO0VhcmZKO0lkK0RJLGdCQWhCYztJQWlCZCxnQkFSZTtJYzVDcUMsU0FBUztHQUVoRTtDbEIwZEE7O0FrQmpjRztFQUNJLG1CZnpFUztDZThFWjs7QUFORDtFQUlRLG1CZjVFSztDZTZFUjs7QUFLTDtFQUNJLG1CZi9FUztDZW9GWjs7QUFORDtFQUlRLG1CZmxGSztDZW1GUjs7QUFLTDtFQUNJLG1CZnJGUztDZTBGWjs7QUFORDtFQUlRLG1CZnhGSztDZXlGUjs7QUFLTDtFQUNJLG9CZjNGUztDZWdHWjs7QUFORDtFQUlRLG9CZjlGSztDZStGUjs7QUFlTDtFQUNJLGVBQWU7RUFDZixpQkFBaUI7Q0FNcEI7O0FBUkQ7RUFLUSxlQUFlO0VBQ2YsaUJBQWlCO0NBQ3BCOztBQUtMO0VBRVEsdUJBQXVCO0NBQzFCOztBYjZZTDtFYXBXUTtJQUNJLGtCZjNMQztHZWdNSjtFQU5EO0lBSVEsa0JmOUxIO0dlK0xBO0VBR0w7SUFDSSxtQmZ2TEM7R2U0TEo7RUFORDtJQUlRLG1CZjFMSDtHZTJMQTtFQUdMO0lBQ0ksbUJmM0xDO0dlZ01KO0VBTkQ7SUFJUSxtQmY5TEg7R2UrTEE7RUFHTDtJQUNJLG9CZi9MQztHZW9NSjtFQU5EO0lBSVEsb0JmbE1IO0dlbU1BO0NsQm1ZaEI7O0FLNURHO0VhalVJO0lBQ0ksa0JmOU5LO0dlbU9SO0VBTkQ7SUFJUSxrQmZqT0M7R2VrT0o7RUFHTDtJQUNJLG1CZjFOSztHZStOUjtFQU5EO0lBSVEsbUJmN05DO0dlOE5KO0VBR0w7SUFDSSxtQmY5Tks7R2VtT1I7RUFORDtJQUlRLG1CZmpPQztHZWtPSjtFQUdMO0lBQ0ksb0JmbE9LO0dldU9SO0VBTkQ7SUFJUSxvQmZyT0M7R2VzT0o7Q2xCMlhaOztBS3ZGRztFYS9SSTtJQUNJLGtCZmhRSztHZXFRUjtFQU5EO0lBSVEsa0JmblFDO0dlb1FKO0VBR0w7SUFDSSxtQmY1UEs7R2VpUVI7RUFORDtJQUlRLG1CZi9QQztHZWdRSjtFQUdMO0lBQ0ksbUJmaFFLO0dlcVFSO0VBTkQ7SUFJUSxtQmZuUUM7R2VvUUo7RUFHTDtJQUNJLG9CZnBRSztHZXlRUjtFQU5EO0lBSVEsb0JmdlFDO0dld1FKO0NsQm9YWjs7QUtsSEc7RWFwV1E7SUFDSSxrQmYzTEM7R2VnTUo7RUFORDtJQUlRLGtCZjlMSDtHZStMQTtFQUdMO0lBQ0ksbUJmdkxDO0dlNExKO0VBTkQ7SUFJUSxtQmYxTEg7R2UyTEE7RUFHTDtJQUNJLG1CZjNMQztHZWdNSjtFQU5EO0lBSVEsbUJmOUxIO0dlK0xBO0VBR0w7SUFDSSxvQmYvTEM7R2VvTUo7RUFORDtJQUlRLG9CZmxNSDtHZW1NQTtDbEJvZGhCOztBSzdJRztFYWpVSTtJQUNJLGtCZjlOSztHZW1PUjtFQU5EO0lBSVEsa0Jmak9DO0dla09KO0VBR0w7SUFDSSxtQmYxTks7R2UrTlI7RUFORDtJQUlRLG1CZjdOQztHZThOSjtFQUdMO0lBQ0ksbUJmOU5LO0dlbU9SO0VBTkQ7SUFJUSxtQmZqT0M7R2VrT0o7RUFHTDtJQUNJLG9CZmxPSztHZXVPUjtFQU5EO0lBSVEsb0Jmck9DO0dlc09KO0NsQjRjWjs7QUt4S0c7RWEvUkk7SUFDSSxrQmZoUUs7R2VxUVI7RUFORDtJQUlRLGtCZm5RQztHZW9RSjtFQUdMO0lBQ0ksbUJmNVBLO0dlaVFSO0VBTkQ7SUFJUSxtQmYvUEM7R2VnUUo7RUFHTDtJQUNJLG1CZmhRSztHZXFRUjtFQU5EO0lBSVEsbUJmblFDO0dlb1FKO0VBR0w7SUFDSSxvQmZwUUs7R2V5UVI7RUFORDtJQUlRLG9CZnZRQztHZXdRSjtDbEJxY1o7O0FLbk1HO0VhalVJO0lBQ0ksa0JmOU5LO0dlbU9SO0VBTkQ7SUFJUSxrQmZqT0M7R2VrT0o7RUFHTDtJQUNJLG1CZjFOSztHZStOUjtFQU5EO0lBSVEsbUJmN05DO0dlOE5KO0VBR0w7SUFDSSxtQmY5Tks7R2VtT1I7RUFORDtJQUlRLG1CZmpPQztHZWtPSjtFQUdMO0lBQ0ksb0JmbE9LO0dldU9SO0VBTkQ7SUFJUSxvQmZyT0M7R2VzT0o7Q2xCa2dCWjs7QUs5Tkc7RWEvUkk7SUFDSSxrQmZoUUs7R2VxUVI7RUFORDtJQUlRLGtCZm5RQztHZW9RSjtF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O0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx1QkFBa0M7R0FDckM7RUFGRDtJQUNJLHdCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx3QkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksd0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHdCQUFrQztHQUNyQztFQUZEO0lBQ0ksdUJBQWtDO0dBQ3JDO0NKb3FLeEI7O0FLenFKRztFRGxmZ0I7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztFQUZEO0lBQ0ksaUNBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxpQ0FBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksdUJBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztFQUZEO0lBQ0ksd0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHdCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx3QkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksd0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx1QkFBa0M7R0FDckM7Q0o4dEtwQjs7QUs5dUpHO0VEeGVnQjtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksdUJBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxpQ0FBa0M7R0FDckM7RUFGRDtJQUNJLGlDQUFrQztHQUNyQztFQUZEO0lBQ0ksdUJBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx1QkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksdUJBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx3QkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksd0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHdCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx3QkFBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztDSnl4S3BCOztBS256Skc7RUQ3Zm9CO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx1QkFBa0M7R0FDckM7RUFGRDtJQUNJLGlDQUFrQztHQUNyQztFQUZEO0lBQ0ksaUNBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx1QkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx1QkFBa0M7R0FDckM7RUFGRDtJQUNJLHdCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx3QkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksd0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHdCQUFrQztHQUNyQztFQUZEO0lBQ0ksdUJBQWtDO0dBQ3JDO0NKbTNLeEI7O0FLeDNKRztFRGxmZ0I7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztFQUZEO0lBQ0ksaUNBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxpQ0FBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksdUJBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztFQUZEO0lBQ0ksd0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHdCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx3QkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksd0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx1QkFBa0M7R0FDckM7Q0o2NktwQjs7QUs3N0pHO0VEeGVnQjtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksdUJBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxpQ0FBa0M7R0FDckM7RUFGRDtJQUNJLGlDQUFrQztHQUNyQztFQUZEO0lBQ0ksdUJBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx1QkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksdUJBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx3QkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksd0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHdCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx3QkFBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztDSncrS3BCOztBS2xnS0c7RURsZmdCO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx1QkFBa0M7R0FDckM7RUFGRDtJQUNJLGlDQUFrQztHQUNyQztFQUZEO0lBQ0ksaUNBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx1QkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx1QkFBa0M7R0FDckM7RUFGRDtJQUNJLHdCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx3QkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksd0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHdCQUFrQztHQUNyQztFQUZEO0lBQ0ksdUJBQWtDO0dBQ3JDO0NKdWpMcEI7O0FLdmtLRztFRHhlZ0I7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztFQUZEO0lBQ0ksaUNBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxpQ0FBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksdUJBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHVCQUFrQztHQUNyQztFQUZEO0lBQ0ksd0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSxzQkFBa0M7R0FDckM7RUFGRDtJQUNJLHdCQUFrQztHQUNyQztFQUZEO0lBQ0ksc0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx3QkFBa0M7R0FDckM7RUFGRDtJQUNJLHNCQUFrQztHQUNyQztFQUZEO0lBQ0ksd0JBQWtDO0dBQ3JDO0VBRkQ7SUFDSSx1QkFBa0M7R0FDckM7Q0prbkxwQjs7QWdFN3JMRDs7Z0ZBRWdGO0FBRWhGOztHQUVHO0FBRUg7RUFDSSxzQkFBc0I7Q0FDekI7O0FBRUQ7RUFDSSxxQkFBcUI7Q0FDeEI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNJLDBCQUEwQjtFQUMxQiw2QkFBNkI7Q0FDaEM7O0FBRUQ7RUFDSSx5QkFBeUI7RUFDekIsNEJBQTRCO0NBQy9COztBQUVEOztHQUVHO0FBRUg7RUFDSSw0QkFBNEI7RUFDNUIsMkJBQTJCO0NBQzlCOztBQUVEO0VBQ0ksMkJBQTJCO0VBQzNCLDBCQUEwQjtDQUM3Qjs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksMEJBQTBCO0NBQzdCOztBQUVEO0VBQ0kseUJBQXlCO0NBQzVCOztBQUVEOztHQUVHO0FBRUg7RUFDSSw0QkFBNEI7Q0FDL0I7O0FBRUQ7RUFDSSwyQkFBMkI7Q0FDOUI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNJLDZCQUE2QjtDQUNoQzs7QUFFRDtFQUNJLDRCQUE0QjtDQUMvQjs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksMkJBQTJCO0NBQzlCOztBQUVEO0VBQ0ksMEJBQTBCO0NBQzdCOztBM0R1ZEc7RTJEMWNRO0lBQ0ksc0JBQXNCO0dBQ3pCO0VBRUQ7SUFDSSxxQkFBcUI7R0FDeEI7RUFFRDtJQUNJLDBCQUEwQjtJQUMxQiw2QkFBNkI7R0FDaEM7RUFFRDtJQUNJLHlCQUF5QjtJQUN6Qiw0QkFBNEI7R0FDL0I7RUFFRDtJQUNJLDRCQUE0QjtJQUM1QiwyQkFBMkI7R0FDOUI7RUFFRDtJQUNJLDJCQUEyQjtJQUMzQiwwQkFBMEI7R0FDN0I7RUFFRDtJQUNJLDBCQUEwQjtHQUM3QjtFQUVEO0lBQ0kseUJBQXlCO0dBQzVCO0VBRUQ7SUFDSSw0QkFBNEI7R0FDL0I7RUFFRDtJQUNJLDJCQUEyQjtHQUM5QjtFQUVEO0lBQ0ksNkJBQTZCO0dBQ2hDO0VBRUQ7SUFDSSw0QkFBNEI7R0FDL0I7RUFFRDtJQUNJLDJCQUEyQjtHQUM5QjtFQUVEO0lBQ0ksMEJBQTBCO0dBQzdCO0NoRWlxTFo7O0FLanhLRztFMkQzWUk7SUFDSSxzQkFBc0I7R0FDekI7RUFFRDtJQUNJLHFCQUFxQjtHQUN4QjtFQUVEO0lBQ0ksMEJBQTBCO0lBQzFCLDZCQUE2QjtHQUNoQztFQUVEO0lBQ0kseUJBQXlCO0lBQ3pCLDRCQUE0QjtHQUMvQjtFQUVEO0lBQ0ksNEJBQTRCO0lBQzVCLDJCQUEyQjtHQUM5QjtFQUVEO0lBQ0ksMkJBQTJCO0lBQzNCLDBCQUEwQjtHQUM3QjtFQUVEO0lBQ0ksMEJBQTBCO0dBQzdCO0VBRUQ7SUFDSSx5QkFBeUI7R0FDNUI7RUFFRDtJQUNJLDRCQUE0QjtHQUMvQjtFQUVEO0lBQ0ksMkJBQTJCO0dBQzlCO0VBRUQ7SUFDSSw2QkFBNkI7R0FDaEM7RUFFRDtJQUNJLDRCQUE0QjtHQUMvQjtFQUVEO0lBQ0ksMkJBQTJCO0dBQzlCO0VBRUQ7SUFDSSwwQkFBMEI7R0FDN0I7Q2hFbXBMUjs7QUtsMEtHO0UyRDdVSTtJQUNJLHNCQUFzQjtHQUN6QjtFQUVEO0lBQ0kscUJBQXFCO0dBQ3hCO0VBRUQ7SUFDSSwwQkFBMEI7SUFDMUIsNkJBQTZCO0dBQ2hDO0VBRUQ7SUFDSSx5QkFBeUI7SUFDekIsNEJBQTRCO0dBQy9CO0VBRUQ7SUFDSSw0QkFBNEI7SUFDNUIsMkJBQTJCO0dBQzlCO0VBRUQ7SUFDSSwyQkFBMkI7SUFDM0IsMEJBQTBCO0dBQzdCO0VBRUQ7SUFDSSwwQkFBMEI7R0FDN0I7RUFFRDtJQUNJLHlCQUF5QjtHQUM1QjtFQUVEO0lBQ0ksNEJBQTRCO0dBQy9CO0VBRUQ7SUFDSSwyQkFBMkI7R0FDOUI7RUFFRDtJQUNJLDZCQUE2QjtHQUNoQztFQUVEO0lBQ0ksNEJBQTRCO0dBQy9CO0VBRUQ7SUFDSSwyQkFBMkI7R0FDOUI7RUFFRDtJQUNJLDBCQUEwQjtHQUM3QjtDaEVzb0xSOztBS24zS0c7RTJEMWNRO0lBQ0ksc0JBQXNCO0dBQ3pCO0VBRUQ7SUFDSSxxQkFBcUI7R0FDeEI7RUFFRDtJQUNJLDBCQUEwQjtJQUMxQiw2QkFBNkI7R0FDaEM7RUFFRDtJQUNJLHlCQUF5QjtJQUN6Qiw0QkFBNEI7R0FDL0I7RUFFRDtJQUNJLDRCQUE0QjtJQUM1QiwyQkFBMkI7R0FDOUI7RUFFRDtJQUNJLDJCQUEyQjtJQUMzQiwwQkFBMEI7R0FDN0I7RUFFRDtJQUNJLDBCQUEwQjtHQUM3QjtFQUVEO0lBQ0kseUJBQXlCO0dBQzVCO0VBRUQ7SUFDSSw0QkFBNEI7R0FDL0I7RUFFRDtJQUNJLDJCQUEyQjtHQUM5QjtFQUVEO0lBQ0ksNkJBQTZCO0dBQ2hDO0VBRUQ7SUFDSSw0QkFBNEI7R0FDL0I7RUFFRDtJQUNJLDJCQUEyQjtHQUM5QjtFQUVEO0lBQ0ksMEJBQTBCO0dBQzdCO0NoRW96TFo7O0FLcDZLRztFMkQzWUk7SUFDSSxzQkFBc0I7R0FDekI7RUFFRDtJQUNJLHFCQUFxQjtHQUN4QjtFQUVEO0lBQ0ksMEJBQTBCO0lBQzFCLDZCQUE2QjtHQUNoQztFQUVEO0lBQ0kseUJBQXlCO0lBQ3pCLDRCQUE0QjtHQUMvQjtFQUVEO0lBQ0ksNEJBQTRCO0lBQzVCLDJCQUEyQjtHQUM5QjtFQUVEO0lBQ0ksMkJBQTJCO0lBQzNCLDBCQUEwQjtHQUM3QjtFQUVEO0lBQ0ksMEJBQTBCO0dBQzdCO0VBRUQ7SUFDSSx5QkFBeUI7R0FDNUI7RUFFRDtJQUNJLDRCQUE0QjtHQUMvQjtFQUVEO0lBQ0ksMkJBQTJCO0dBQzlCO0VBRUQ7SUFDSSw2QkFBNkI7R0FDaEM7RUFFRDtJQUNJLDRCQUE0QjtHQUMvQjtFQUVEO0lBQ0ksMkJBQTJCO0dBQzlCO0VBRUQ7SUFDSSwwQkFBMEI7R0FDN0I7Q2hFc3lMUjs7QUtyOUtHO0UyRDdVSTtJQUNJLHNCQUFzQjtHQUN6QjtFQUVEO0lBQ0kscUJBQXFCO0dBQ3hCO0VBRUQ7SUFDSSwwQkFBMEI7SUFDMUIsNkJBQTZCO0dBQ2hDO0VBRUQ7SUFDSSx5QkFBeUI7SUFDekIsNEJBQTRCO0dBQy9CO0VBRUQ7SUFDSSw0QkFBNEI7SUFDNUIsMkJBQTJCO0dBQzlCO0VBRUQ7SUFDSSwyQkFBMkI7SUFDM0IsMEJBQTBCO0dBQzdCO0VBRUQ7SUFDSSwwQkFBMEI7R0FDN0I7RUFFRDtJQUNJLHlCQUF5QjtHQUM1QjtFQUVEO0lBQ0ksNEJBQTRCO0dBQy9CO0VBRUQ7SUFDSSwyQkFBMkI7R0FDOUI7RUFFRDtJQUNJLDZCQUE2QjtHQUNoQztFQUVEO0lBQ0ksNEJBQTRCO0dBQy9CO0VBRUQ7SUFDSSwyQkFBMkI7R0FDOUI7RUFFRDtJQUNJLDBCQUEwQjtHQUM3QjtDaEV5eExSOztBS3RnTEc7RTJEM1lJO0lBQ0ksc0JBQXNCO0dBQ3pCO0VBRUQ7SUFDSSxxQkFBcUI7R0FDeEI7RUFFRDtJQUNJLDBCQUEwQjtJQUMxQiw2QkFBNkI7R0FDaEM7RUFFRDtJQUNJLHlCQUF5QjtJQUN6Qiw0QkFBNEI7R0FDL0I7RUFFRDtJQUNJLDRCQUE0QjtJQUM1QiwyQkFBMkI7R0FDOUI7RUFFRDtJQUNJLDJCQUEyQjtJQUMzQiwwQkFBMEI7R0FDN0I7RUFFRDtJQUNJLDBCQUEwQjtHQUM3QjtFQUVEO0lBQ0kseUJBQXlCO0dBQzVCO0VBRUQ7SUFDSSw0QkFBNEI7R0FDL0I7RUFFRDtJQUNJLDJCQUEyQjtHQUM5QjtFQUVEO0lBQ0ksNkJBQTZCO0dBQ2hDO0VBRUQ7SUFDSSw0QkFBNEI7R0FDL0I7RUFFRDtJQUNJLDJCQUEyQjtHQUM5QjtFQUVEO0lBQ0ksMEJBQTBCO0dBQzdCO0NoRXc0TFI7O0FLdmpMRztFMkQ3VUk7SUFDSSxzQkFBc0I7R0FDekI7RUFFRDtJQUNJLHFCQUFxQjtHQUN4QjtFQUVEO0lBQ0ksMEJBQTBCO0lBQzFCLDZCQUE2QjtHQUNoQztFQUVEO0lBQ0kseUJBQXlCO0lBQ3pCLDRCQUE0QjtHQUMvQjtFQUVEO0lBQ0ksNEJBQTRCO0lBQzVCLDJCQUEyQjtHQUM5QjtFQUVEO0lBQ0ksMkJBQTJCO0lBQzNCLDBCQUEwQjtHQUM3QjtFQUVEO0lBQ0ksMEJBQTBCO0dBQzdCO0VBRUQ7SUFDSSx5QkFBeUI7R0FDNUI7RUFFRDtJQUNJLDRCQUE0QjtHQUMvQjtFQUVEO0lBQ0ksMkJBQTJCO0dBQzlCO0VBRUQ7SUFDSSw2QkFBNkI7R0FDaEM7RUFFRDtJQUNJLDRCQUE0QjtHQUMvQjtFQUVEO0lBQ0ksMkJBQTJCO0dBQzlCO0VBRUQ7SUFDSSwwQkFBMEI7R0FDN0I7Q2hFMjNMUjs7QWlFenBNRDs7Z0ZBRWdGO0FBRWhGOzs7O0dBSUc7QUFFSDtFQUNJLGlDQUFpQztDQUNwQzs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksOEJBQThCO0NBQ2pDOztBQUVEO0VBQ0ksNEJBQTRCO0NBQy9COztBQUVEO0VBQ0ksNkJBQTZCO0NBQ2hDOztBQUVEOztHQUVHO0FBRUg7RUFDSSwwQkFBMEI7Q0FDN0I7O0FBRUQ7Ozs7Ozs7R0FPRztBQUVIO0VBQ0ksbUNBQW1DO0VBQUUsT0FBTztFQUM1QyxnQ0FBZ0M7RUFBRSxPQUFPO0VBQ3pDLDZCQUFxQjtVQUFyQixxQkFBcUI7RUFBRSxPQUFPO0NBQ2pDOztBQUVEOztHQUVHO0FBRUg7RUFDSSwrQkFBK0I7Q0FDbEM7O0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUVIO0VBQ0ksZ0JBQWdCO0VBQUUsT0FBTztFQUN6Qiw0QkFBNEI7RUFDNUIsbUNBQW1DO0VBQ25DLCtCQUErQjtFQUMvQiw2QkFBNkI7RUFBRSxPQUFPO0NBQ3pDOztBNURrZUc7RTREcmRRO0lBQ0ksaUNBQWlDO0dBQ3BDO0VBRUQ7SUFDSSw4QkFBOEI7R0FDakM7RUFFRDtJQUNJLDRCQUE0QjtHQUMvQjtFQUVEO0lBQ0ksNkJBQTZCO0dBQ2hDO0VBRUQ7SUFDSSwwQkFBMEI7R0FDN0I7RUFFRDtJQUNJLG1DQUFtQztJQUFFLE9BQU87SUFDNUMsZ0NBQWdDO0lBQUUsT0FBTztJQUN6Qyw2QkFBcUI7WUFBckIscUJBQXFCO0lBQUUsT0FBTztHQUNqQztFQUVEO0lBQ0ksK0JBQStCO0dBQ2xDO0VBRUQ7SUFDSSxnQkFBZ0I7SUFBRSxPQUFPO0lBQ3pCLDRCQUE0QjtJQUM1QixtQ0FBbUM7SUFDbkMsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUFFLE9BQU87R0FDekM7Q2pFOG9NWjs7QUs3dExHO0U0RDVhSTtJQUNJLGlDQUFpQztHQUNwQztFQUVEO0lBQ0ksOEJBQThCO0dBQ2pDO0VBRUQ7SUFDSSw0QkFBNEI7R0FDL0I7RUFFRDtJQUNJLDZCQUE2QjtHQUNoQztFQUVEO0lBQ0ksMEJBQTBCO0dBQzdCO0VBRUQ7SUFDSSxtQ0FBbUM7SUFBRSxPQUFPO0lBQzVDLGdDQUFnQztJQUFFLE9BQU87SUFDekMsNkJBQXFCO1lBQXJCLHFCQUFxQjtJQUFFLE9BQU87R0FDakM7RUFFRDtJQUNJLCtCQUErQjtHQUNsQztFQUVEO0lBQ0ksZ0JBQWdCO0lBQUUsT0FBTztJQUN6Qiw0QkFBNEI7SUFDNUIsbUNBQW1DO0lBQ25DLCtCQUErQjtJQUMvQiw2QkFBNkI7SUFBRSxPQUFPO0dBQ3pDO0NqRTJvTVI7O0FLbndMRztFNERwWUk7SUFDSSxpQ0FBaUM7R0FDcEM7RUFFRDtJQUNJLDhCQUE4QjtHQUNqQztFQUVEO0lBQ0ksNEJBQTRCO0dBQy9CO0VBRUQ7SUFDSSw2QkFBNkI7R0FDaEM7RUFFRDtJQUNJLDBCQUEwQjtHQUM3QjtFQUVEO0lBQ0ksbUNBQW1DO0lBQUUsT0FBTztJQUM1QyxnQ0FBZ0M7SUFBRSxPQUFPO0lBQ3pDLDZCQUFxQjtZQUFyQixxQkFBcUI7SUFBRSxPQUFPO0dBQ2pDO0VBRUQ7SUFDSSwrQkFBK0I7R0FDbEM7RUFFRDtJQUNJLGdCQUFnQjtJQUFFLE9BQU87SUFDekIsNEJBQTRCO0lBQzVCLG1DQUFtQztJQUNuQywrQkFBK0I7SUFDL0IsNkJBQTZCO0lBQUUsT0FBTztHQUN6QztDakV5b01SOztBS3p5TEc7RTREcmRRO0lBQ0ksaUNBQWlDO0dBQ3BDO0VBRUQ7SUFDSSw4QkFBOEI7R0FDakM7RUFFRDtJQUNJLDRCQUE0QjtHQUMvQjtFQUVEO0lBQ0ksNkJBQTZCO0dBQ2hDO0VBRUQ7SUFDSSwwQkFBMEI7R0FDN0I7RUFFRDtJQUNJLG1DQUFtQztJQUFFLE9BQU87SUFDNUMsZ0NBQWdDO0lBQUUsT0FBTztJQUN6Qyw2QkFBcUI7WUFBckIscUJBQXFCO0lBQUUsT0FBTztHQUNqQztFQUVEO0lBQ0ksK0JBQStCO0dBQ2xDO0VBRUQ7SUFDSSxnQkFBZ0I7SUFBRSxPQUFPO0lBQ3pCLDRCQUE0QjtJQUM1QixtQ0FBbUM7SUFDbkMsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUFFLE9BQU87R0FDekM7Q2pFZ3dNWjs7QUsvMExHO0U0RDVhSTtJQUNJLGlDQUFpQztHQUNwQztFQUVEO0lBQ0ksOEJBQThCO0dBQ2pDO0VBRUQ7SUFDSSw0QkFBNEI7R0FDL0I7RUFFRDtJQUNJLDZCQUE2QjtHQUNoQztFQUVEO0lBQ0ksMEJBQTBCO0dBQzdCO0VBRUQ7SUFDSSxtQ0FBbUM7SUFBRSxPQUFPO0lBQzVDLGdDQUFnQztJQUFFLE9BQU87SUFDekMsNkJBQXFCO1lBQXJCLHFCQUFxQjtJQUFFLE9BQU87R0FDakM7RUFFRDtJQUNJLCtCQUErQjtHQUNsQztFQUVEO0lBQ0ksZ0JBQWdCO0lBQUUsT0FBTztJQUN6Qiw0QkFBNEI7SUFDNUIsbUNBQW1DO0lBQ25DLCtCQUErQjtJQUMvQiw2QkFBNkI7SUFBRSxPQUFPO0dBQ3pDO0NqRTZ2TVI7O0FLcjNMRztFNERwWUk7SUFDSSxpQ0FBaUM7R0FDcEM7RUFFRDtJQUNJLDhCQUE4QjtHQUNqQztFQUVEO0lBQ0ksNEJBQTRCO0dBQy9CO0VBRUQ7SUFDSSw2QkFBNkI7R0FDaEM7RUFFRDtJQUNJLDBCQUEwQjtHQUM3QjtFQUVEO0lBQ0ksbUNBQW1DO0lBQUUsT0FBTztJQUM1QyxnQ0FBZ0M7SUFBRSxPQUFPO0lBQ3pDLDZCQUFxQjtZQUFyQixxQkFBcUI7SUFBRSxPQUFPO0dBQ2pDO0VBRUQ7SUFDSSwrQkFBK0I7R0FDbEM7RUFFRDtJQUNJLGdCQUFnQjtJQUFFLE9BQU87SUFDekIsNEJBQTRCO0lBQzVCLG1DQUFtQztJQUNuQywrQkFBK0I7SUFDL0IsNkJBQTZCO0lBQUUsT0FBTztHQUN6QztDakUydk1SOztBSzM1TEc7RTRENWFJO0lBQ0ksaUNBQWlDO0dBQ3BDO0VBRUQ7SUFDSSw4QkFBOEI7R0FDakM7RUFFRDtJQUNJLDRCQUE0QjtHQUMvQjtFQUVEO0lBQ0ksNkJBQTZCO0dBQ2hDO0VBRUQ7SUFDSSwwQkFBMEI7R0FDN0I7RUFFRDtJQUNJLG1DQUFtQztJQUFFLE9BQU87SUFDNUMsZ0NBQWdDO0lBQUUsT0FBTztJQUN6Qyw2QkFBcUI7WUFBckIscUJBQXFCO0lBQUUsT0FBTztHQUNqQztFQUVEO0lBQ0ksK0JBQStCO0dBQ2xDO0VBRUQ7SUFDSSxnQkFBZ0I7SUFBRSxPQUFPO0lBQ3pCLDRCQUE0QjtJQUM1QixtQ0FBbUM7SUFDbkMsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUFFLE9BQU87R0FDekM7Q2pFeTBNUjs7QUtqOExHO0U0RHBZSTtJQUNJLGlDQUFpQztHQUNwQztFQUVEO0lBQ0ksOEJBQThCO0dBQ2pDO0VBRUQ7SUFDSSw0QkFBNEI7R0FDL0I7RUFFRDtJQUNJLDZCQUE2QjtHQUNoQztFQUVEO0lBQ0ksMEJBQTBCO0dBQzdCO0VBRUQ7SUFDSSxtQ0FBbUM7SUFBRSxPQUFPO0lBQzVDLGdDQUFnQztJQUFFLE9BQU87SUFDekMsNkJBQXFCO1lBQXJCLHFCQUFxQjtJQUFFLE9BQU87R0FDakM7RUFFRDtJQUNJLCtCQUErQjtHQUNsQztFQUVEO0lBQ0ksZ0JBQWdCO0lBQUUsT0FBTztJQUN6Qiw0QkFBNEI7SUFDNUIsbUNBQW1DO0lBQ25DLCtCQUErQjtJQUMvQiw2QkFBNkI7SUFBRSxPQUFPO0dBQ3pDO0NqRXUwTVIiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWFpblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogU2V0dGluZ3NcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNldHRpbmdzLkRlZmF1bHRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBCcmVha3BvaW50c1xuICovXG4vKipcbiAqIEZvbnRzXG4gKi9cbi8qKlxuICogUHJvamVjdCBiYXNpYyB2YXJzXG4gKi9cbi8qKlxuICogVG9vbHNcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRvb2xzLkZ1bmN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRnVuY3Rpb24gZm9yIHJlbSBtaXhpbiB3aGljaCByZW1vdmVzIHVuaXRzLlxuICovXG4vKipcbiAqIEJhc2ljIGZyYWN0aW9uczpcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRvb2xzLk1peGluc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogR2VuZXJhdGVzIGNvbHVtbiBjbGFzc2VzIGJhc2VkIG9uIHRoZSBkZWZpbmVkIGJyZWFrcG9pbnRzLFxuICogbmFtZWQgd2l0aCB0aGUgY29udmVudGlvbiBgLnUtc2l6ZXhvZnlAYnJlYWtwb2ludGAsIHdoZXJlXG4gKiBgeGAgaXMgYSBzdWJkaXZpc2lvbiBvZiBgeWAuXG4gKlxuICogQGluY2x1ZGUgY29sdW1ucygzLCA0KTtcbiAqXG4gKiBHZW5lcmF0ZXM6XG4gKiAgLnUtc2l6ZTFvZjNAc21hbGxPbmx5XG4gKiAgLnUtc2l6ZTFvZjNAc21hbGxVcFxuICogIC51LXNpemUxb2YzQHNtYWxsRG93blxuICogIC51LXNpemUxb2YzQG1lZGl1bU9ubHlcbiAqICAudS1zaXplMW9mM0BtZWRpdW1VcFxuICogIC51LXNpemUxb2YzQG1lZGl1bURvd25cbiAqICAudS1zaXplMW9mM0BsYXJnZVVwXG4gKiAgLnUtc2l6ZTFvZjNAbGFyZ2VEb3duXG4gKiAgLnUtc2l6ZTJvZjNAc21hbGxPbmx5XG4gKiAgLnUtc2l6ZTJvZjNAc21hbGxVcFxuICogIC51LXNpemUyb2YzQHNtYWxsRG93blxuICogIC51LXNpemUyb2YzQG1lZGl1bU9ubHlcbiAqICAudS1zaXplMm9mM0BtZWRpdW1VcFxuICogIC51LXNpemUyb2YzQG1lZGl1bURvd25cbiAqICAudS1zaXplMm9mM0BsYXJnZVVwXG4gKiAgLnUtc2l6ZTJvZjNAbGFyZ2VEb3duXG4gKlxuICogICguLi4pXG4gKi9cbi8qKlxuICogTWl4aW4gZm9yIHJlbSB1bml0cyB3aXRoaW4gcHggZmFsbGJhY2suXG4gKiBodHRwOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvY3NzL2xlc3MtbWl4aW4tZm9yLXJlbS1mb250LXNpemluZy9cbiAqXG4gKiAuZm9vIHtcbiAqICAgICBAaW5jbHVkZSByZW0obWFyZ2luLCAxMCwgMjAsIDMwLCA0MCk7XG4gKiB9XG4gKlxuICogLmZvbyB7XG4gKiAgICAgbWFyZ2luOiAxNjBweCAzMjBweCA0ODBweCA2NDBweDtcbiAqICAgICBtYXJnaW46IDEwcmVtIDIwcmVtIDMwcmVtIDQwcmVtO1xuICogfVxuICpcbiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIGJvZHk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAne1wic21hbGxcIjp7XCJ2YWx1ZVwiOiBcIjQ4MHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcIm1lZGl1bVwiOntcInZhbHVlXCI6IFwiNzY4cHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9LCBcImxhcmdlXCI6e1widmFsdWVcIjogXCIxMjIwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9fSc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAne1wic21hbGxcIjp7XCJ2YWx1ZVwiOiBcIjQ4MHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcIm1lZGl1bVwiOntcInZhbHVlXCI6IFwiNzY4cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwibGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjEyMjBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX19JztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIGJvZHk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAne1wic21hbGxcIjp7XCJ2YWx1ZVwiOiBcIjQ4MHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcIm1lZGl1bVwiOntcInZhbHVlXCI6IFwiNzY4cHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwibGFyZ2VcIjp7XCJ2YWx1ZVwiOiBcIjEyMjBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfX0nO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAwO1xuICB9XG59XG5cbi8qKlxuICogR2VuZXJpY1xuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR2VuZXJpYy5SZXNldFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQSB0aGluIGxheWVyIG9uIHRvcCBvZiBub3JtYWxpemUuY3NzIHRoYXQgcHJvdmlkZXMgYSBzdGFydGluZyBwb2ludCBtb3JlXG4gKiBzdWl0YWJsZSBmb3Igd2ViIGFwcGxpY2F0aW9ucy5cbiAqL1xuYmxvY2txdW90ZSxcbmRsLFxuZGQsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5maWd1cmUsXG5vbCxcbnAsXG5wcmUsXG51bCB7XG4gIG1hcmdpbjogMDtcbn1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR2VuZXJpYy5TaGFyZWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFdoZXJlIGBtYXJnaW4tYm90dG9tYCBpcyBjb25jZXJuZWQsdGhpcyB2YWx1ZSB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZVxuICogYmFzZSBsaW5lLWhlaWdodC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCBhIGNvbnNpc3RlbnQgdmVydGljYWwgcmh5dGhtLlxuICogQXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMi8wNi9zaW5nbGUtZGlyZWN0aW9uLW1hcmdpbi1kZWNsYXJhdGlvbnNcbiAqL1xuYWRkcmVzcyxcbmJsb2NrcXVvdGUsXG5kbCxcbmZpZWxkc2V0LFxuZmlndXJlLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxub2wsXG5wLFxucHJlLFxudWwsXG50YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGF1ZGlvLCBjYW52YXMsIGlmcmFtZXMsXG4gKiBpbWFnZXMsIHZpZGVvcyBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvaXNzdWVzLzQ0MFxuICovXG5hdWRpbyxcbmNhbnZhcyxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyoqXG4gKiBTYW1lIGBsaW5lLWhlaWdodGAgZm9yIGJhc2ljIGZvcm0gZWxlbWVudHMuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLypcbiAqIEFsbG93IG9ubHkgdmVydGljYWwgcmVzaXppbmcgb2YgdGV4dGFyZWFzLlxuICovXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qKlxuICogU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuICogVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4gKiBtaWdodCBzdGlsbCByZXNwb25kIHRvIHBvaW50ZXIgZXZlbnRzLlxuICovXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdlbmVyaWMuQm94LVNpemluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogR2xvYmFsIGBib3gtc2l6aW5nYCBzZXR0aW5ncy5cbiAqIGNzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZVxuICogcGF1bGlyaXNoLmNvbS8yMDEyL2JveC1zaXppbmctYm9yZGVyLWJveC1mdHdcbiAqL1xuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEJhc2VcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UuRm9udHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQcm94aW1hIE5vdmEnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3Byb3hpbWEtbm92YS9wcm94aW1hbm92YS1saWdodC13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtbGlnaHQtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtbGlnaHQtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvcHJveGltYS1ub3ZhL3Byb3hpbWFub3ZhLWxpZ2h0LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtbGlnaHQtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3Byb3hpbWEtbm92YS9wcm94aW1hbm92YS1saWdodC13ZWJmb250LnN2ZyNwcm94aW1hX25vdmFsaWdodFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtcmVndWxhci13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtcmVndWxhci13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3Byb3hpbWEtbm92YS9wcm94aW1hbm92YS1yZWd1bGFyLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3Byb3hpbWEtbm92YS9wcm94aW1hbm92YS1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtcmVndWxhci13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvcHJveGltYS1ub3ZhL3Byb3hpbWFub3ZhLXJlZ3VsYXItd2ViZm9udC5zdmcjcHJveGltYV9ub3ZhX3JncmVndWxhclwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtYm9sZC13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtYm9sZC13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3Byb3hpbWEtbm92YS9wcm94aW1hbm92YS1ib2xkLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3Byb3hpbWEtbm92YS9wcm94aW1hbm92YS1ib2xkLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtYm9sZC13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvcHJveGltYS1ub3ZhL3Byb3hpbWFub3ZhLWJvbGQtd2ViZm9udC5zdmcjcHJveGltYV9ub3ZhX3JnYm9sZFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LWxpZ2h0LXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1saWdodC13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1saWdodC13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtbGlnaHQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1saWdodC13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LWxpZ2h0LXdlYmZvbnQuc3ZnI21vbnRzZXJyYXRsaWdodFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LXJlZ3VsYXItd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtcmVndWxhci13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtcmVndWxhci13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LXJlZ3VsYXItd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1yZWd1bGFyLXdlYmZvbnQuc3ZnI21vbnRzZXJyYXRyZWd1bGFyXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtc2VtaWJvbGQtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LXNlbWlib2xkLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LXNlbWlib2xkLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1zZW1pYm9sZC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LXNlbWlib2xkLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtc2VtaWJvbGQtd2ViZm9udC5zdmcjbW9udHNlcnJhdHNlbWlfYm9sZFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UuUGFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSGlnaC0sIHBhZ2UtbGV2ZWwgc3R5bGluZy5cbiAqXG4gKiAxLiBQcmV2ZW50IG1hcmdpbiBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguXG4gKiAyLiBFbnN1cmUgdGhlIHBhZ2UgYWx3YXlzIGZpbGxzIGF0IGxlYXN0IHRoZSBlbnRpcmUgaGVpZ2h0IG9mIHRoZSB2aWV3cG9ydC5cbiAqIDMuIFNldCB0aGUgZGVmYXVsdCBgZm9udC1zaXplYCwgYGZvbnQtd2VpZ2h0YCBhbmQgYGxpbmUtaGVpZ2h0YCBmb3IgdGhlIGVudGlyZSBwcm9qZWN0LFxuICogICAgc291cmNlZCBmcm9tIG91ciBkZWZhdWx0IHZhcmlhYmxlcy4gVGhlIGBmb250LXNpemVgIGlzIGNhbGN1bGF0ZWQgdG8gZXhpc3RcbiAqICAgIGluIGVtcywgdGhlIGBsaW5lLWhlaWdodGAgaXMgY2FsY3VsYXRlZCB0byBleGlzdCB1bml0bGVzc2x5LlxuICogNC4gRm9yY2Ugc2Nyb2xsYmFycyB0byBhbHdheXMgYmUgdmlzaWJsZSB0byBwcmV2ZW50IGF3a3dhcmQg4oCYanVtcHPigJkgd2hlblxuICogICAgbmF2aWdhdGluZyBiZXR3ZWVuIHBhZ2VzIHRoYXQgZG8vZG8gbm90IGhhdmUgZW5vdWdoIGNvbnRlbnQgdG8gcHJvZHVjZVxuICogICAgc2Nyb2xsYmFycyBuYXR1cmFsbHkuXG4gKiA1LiBQcmV2ZW50IGNlcnRhaW4gbW9iaWxlIGJyb3dzZXJzIGZyb20gYXV0b21hdGljYWxseSB6b29taW5nIGZvbnRzLlxuICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogWzFdICovXG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC8qIFsyXSAqL1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIC8qIFszXSAqL1xuICBsaW5lLWhlaWdodDogMS41O1xuICAvKiBbM10gKi9cbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAvKiBbNF0gKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiBbNV0gKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIFs1XSAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZS5UeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBCYXNpYyBsaW5rcyBiZWhhdmlvci5cbiAqL1xuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5hOmhvdmVyLFxuYTphY3RpdmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKipcbiAqIEJhc2ljIHN0cm9uZyB3ZWlnaHQuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKipcbiAqIEdpdmUgYSBoZWxwIGN1cnNvciB0byBlbGVtZW50cyB0aGF0IGdpdmUgZXh0cmEgaW5mbyBvbiBgOmhvdmVyYC5cbiAqL1xuYWJiclt0aXRsZV0sXG5kZm5bdGl0bGVdIHtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZS5JbWFnZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEZsdWlkIGltYWdlcyBmb3IgcmVzcG9uc2l2ZSBwdXJwb3Nlcy5cbiAqIDIuIE9mZnNldCBgYWx0YCB0ZXh0IGZyb20gc3Vycm91bmRpbmcgY29weS5cbiAqL1xuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiBbMV0gKi9cbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICAvKiBbMl0gKi9cbn1cblxuLyoqXG4gKiAxLiBHb29nbGUgTWFwcyBicmVha3MgaWYgYG1heC13aWR0aDogMTAwJWAgYWN0cyB1cG9uIGl0OyB1c2UgdGhlaXIgc2VsZWN0b3JcbiAqICAgIHRvIHJlbW92ZSB0aGUgZWZmZWN0cy5cbiAqIDIuIElmIGEgYHdpZHRoYCBhbmQvb3IgYGhlaWdodGAgYXR0cmlidXRlIGhhdmUgYmVlbiBleHBsaWNpdGx5IGRlZmluZWQsIGxldOKAmXNcbiAqICAgIG5vdCBtYWtlIHRoZSBpbWFnZSBmbHVpZC5cbiAqL1xuLmdtLXN0eWxlIGltZyxcbmltZ1t3aWR0aF0sXG5pbWdbaGVpZ2h0XSB7XG4gIC8qIFsyXSAqL1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8qKlxuICogT2JqZWN0c1xuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2JqZWN0cy5CdXR0b25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uby1CdXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNXB4IDIwcHg7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uby1CdXR0b246aG92ZXIsIC5vLUJ1dHRvbjpmb2N1cywgLm8tQnV0dG9uOmFjdGl2ZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm8tQnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLm8tQnV0dG9uOmRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbi5vLUJ1dHRvbi0tc3RyZXRjaCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uby1CdXR0b25CYXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLm8tQnV0dG9uQmFyZTpob3ZlciwgLm8tQnV0dG9uQmFyZTpmb2N1cywgLm8tQnV0dG9uQmFyZTphY3RpdmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5vLUJ1dHRvbkJhcmU6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2JqZWN0cy5Db2xvclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLUNvbG9yLS1hbHBoYSB7XG4gIGNvbG9yOiAjMzNhZGRmO1xufVxuXG4uby1Db2xvci0tYmV0YSB7XG4gIGNvbG9yOiAjZjU5YzEwO1xufVxuXG4uby1Db2xvci0tZ2FtbWEge1xuICBjb2xvcjogIzUxYjA0ODtcbn1cblxuLm8tQ29sb3ItLWdyYXkge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9iamVjdHMuQ29udGFpbmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8tQ29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMjIwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5vLUNvbnRhaW5lciAuby1Db250YWluZXIge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uby1Db250YWluZXItLW5hcnJvdyB7XG4gIG1heC13aWR0aDogMTAwMHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2JqZWN0cy5FbWJlZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLUVtYmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm8tRW1iZWQgPiBpZnJhbWUsXG4uby1FbWJlZCA+IG9iamVjdCxcbi5vLUVtYmVkID4gZW1iZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9iamVjdHMuR3JpZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogVGhlIGdyaWQgc3lzdGVtIHVzZXMgYGJveC1zaXppbmc6IGJvcmRlci1ib3g7YCBhbmRcbiAqIGBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7YCB0byBjcmVhdGUgYW4gZXh0cmVtZWx5IHBvd2VyZnVsLCBmbGV4aWJsZVxuICogYWx0ZXJuYXRpdmUgdG8gdGhlIHRyYWRpdGlvbmFsIGdyaWQgc3lzdGVtLiBDb21iaW5lIHRoZSBsYXlvdXQgaXRlbXMgd2l0aFxuICogdGhlIHdpZHRocyBmb3VuZCBpbiBgdXRpbHMuc2l6ZWAuXG4gKi9cbi8qKlxuICogQmVnaW4gYSBncmlkIGdyb3VwLlxuICpcbiAqIDEuIFJlbW92ZSB3aGl0ZSBzcGFjZSBiZXR3ZWVuIGBpbmxpbmUtYmxvY2tgIGVsZW1lbnRzLlxuICovXG4uby1HcmlkIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gIGZvbnQtc2l6ZTogMDtcbiAgLyogWzFdICovXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ2F1c2UgY29sdW1ucyB0byBzdGFjayBzaWRlLWJ5LXNpZGUuXG4gKiAyLiBTcGFjZSBjb2x1bW5zIGFwYXJ0LlxuICogMy4gQWxpZ24gY29sdW1ucyB0byB0aGUgdG9wcyBvZiBlYWNoIG90aGVyLlxuICogNC4gRnVsbC13aWR0aCB1bmxlc3MgdG9sZCB0byBiZWhhdmUgb3RoZXJ3aXNlLlxuICogNS4gU2V0IGRlZmF1bHQgYGZvbnQtc2l6ZWAgd2hpY2ggc2V0IHRvIDAgb24gcGFyZW50IGNvbnRhaW5lci5cbiAqL1xuLm8tR3JpZC1pdGVtIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICAvKiBbNV0gKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiBbMV0gKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIFs0XSAqL1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIC8qIFsyXSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAvKiBbM10gKi9cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5vLUdyaWQtaXRlbSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAvKiBbNV0gKi9cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5vLUdyaWQtaXRlbSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAvKiBbNV0gKi9cbiAgfVxufVxuXG4uby1HcmlkLS1oYWx2ZSB7XG4gIG1hcmdpbi1sZWZ0OiAtMTNweDtcbn1cblxuLm8tR3JpZC0taGFsdmUgPiAuby1HcmlkLWl0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDEzcHg7XG59XG5cbi5vLUdyaWQtLWRvdWJsZSB7XG4gIG1hcmdpbi1sZWZ0OiAtNTBweDtcbn1cblxuLm8tR3JpZC0tZG91YmxlID4gLm8tR3JpZC1pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4O1xufVxuXG4uby1HcmlkLS10cmVibGUge1xuICBtYXJnaW4tbGVmdDogLTc1cHg7XG59XG5cbi5vLUdyaWQtLXRyZWJsZSA+IC5vLUdyaWQtaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogNzVweDtcbn1cblxuLm8tR3JpZC0tcXVhZHJ1cGxlIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcbn1cblxuLm8tR3JpZC0tcXVhZHJ1cGxlID4gLm8tR3JpZC1pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbn1cblxuLm8tR3JpZC0tcmV2IHtcbiAgZGlyZWN0aW9uOiBydGw7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5vLUdyaWQtLXJldiA+IC5vLUdyaWQtaXRlbSB7XG4gIGRpcmVjdGlvbjogbHRyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uby1HcmlkLS1taWRkbGUgPiAuby1HcmlkLWl0ZW0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuby1HcmlkLS1xdWFydGVyXFxAc21hbGxPbmx5IHtcbiAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgfVxuICAuby1HcmlkLS1xdWFydGVyXFxAc21hbGxPbmx5ID4gLm8tR3JpZC1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgfVxuICAuby1HcmlkLS1kb3VibGVcXEBzbWFsbE9ubHkge1xuICAgIG1hcmdpbi1sZWZ0OiAtNTBweDtcbiAgfVxuICAuby1HcmlkLS1kb3VibGVcXEBzbWFsbE9ubHkgPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgfVxuICAuby1HcmlkLS10cmVibGVcXEBzbWFsbE9ubHkge1xuICAgIG1hcmdpbi1sZWZ0OiAtNzVweDtcbiAgfVxuICAuby1HcmlkLS10cmVibGVcXEBzbWFsbE9ubHkgPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNzVweDtcbiAgfVxuICAuby1HcmlkLS1xdWFkcnVwbGVcXEBzbWFsbE9ubHkge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG4gIH1cbiAgLm8tR3JpZC0tcXVhZHJ1cGxlXFxAc21hbGxPbmx5ID4gLm8tR3JpZC1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuby1HcmlkLS1xdWFydGVyXFxAc21hbGxVcCB7XG4gICAgbWFyZ2luLWxlZnQ6IC02cHg7XG4gIH1cbiAgLm8tR3JpZC0tcXVhcnRlclxcQHNtYWxsVXAgPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICB9XG4gIC5vLUdyaWQtLWRvdWJsZVxcQHNtYWxsVXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtNTBweDtcbiAgfVxuICAuby1HcmlkLS1kb3VibGVcXEBzbWFsbFVwID4gLm8tR3JpZC1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIH1cbiAgLm8tR3JpZC0tdHJlYmxlXFxAc21hbGxVcCB7XG4gICAgbWFyZ2luLWxlZnQ6IC03NXB4O1xuICB9XG4gIC5vLUdyaWQtLXRyZWJsZVxcQHNtYWxsVXAgPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNzVweDtcbiAgfVxuICAuby1HcmlkLS1xdWFkcnVwbGVcXEBzbWFsbFVwIHtcbiAgICBtYXJnaW4tbGVmdDogLTEwMHB4O1xuICB9XG4gIC5vLUdyaWQtLXF1YWRydXBsZVxcQHNtYWxsVXAgPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC5vLUdyaWQtLXF1YXJ0ZXJcXEBzbWFsbERvd24ge1xuICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICB9XG4gIC5vLUdyaWQtLXF1YXJ0ZXJcXEBzbWFsbERvd24gPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICB9XG4gIC5vLUdyaWQtLWRvdWJsZVxcQHNtYWxsRG93biB7XG4gICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICB9XG4gIC5vLUdyaWQtLWRvdWJsZVxcQHNtYWxsRG93biA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICB9XG4gIC5vLUdyaWQtLXRyZWJsZVxcQHNtYWxsRG93biB7XG4gICAgbWFyZ2luLWxlZnQ6IC03NXB4O1xuICB9XG4gIC5vLUdyaWQtLXRyZWJsZVxcQHNtYWxsRG93biA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xuICB9XG4gIC5vLUdyaWQtLXF1YWRydXBsZVxcQHNtYWxsRG93biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcbiAgfVxuICAuby1HcmlkLS1xdWFkcnVwbGVcXEBzbWFsbERvd24gPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC5vLUdyaWQtLXF1YXJ0ZXJcXEBtZWRpdW1Pbmx5IHtcbiAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgfVxuICAuby1HcmlkLS1xdWFydGVyXFxAbWVkaXVtT25seSA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gIH1cbiAgLm8tR3JpZC0tZG91YmxlXFxAbWVkaXVtT25seSB7XG4gICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICB9XG4gIC5vLUdyaWQtLWRvdWJsZVxcQG1lZGl1bU9ubHkgPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgfVxuICAuby1HcmlkLS10cmVibGVcXEBtZWRpdW1Pbmx5IHtcbiAgICBtYXJnaW4tbGVmdDogLTc1cHg7XG4gIH1cbiAgLm8tR3JpZC0tdHJlYmxlXFxAbWVkaXVtT25seSA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xuICB9XG4gIC5vLUdyaWQtLXF1YWRydXBsZVxcQG1lZGl1bU9ubHkge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG4gIH1cbiAgLm8tR3JpZC0tcXVhZHJ1cGxlXFxAbWVkaXVtT25seSA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm8tR3JpZC0tcXVhcnRlclxcQG1lZGl1bVVwIHtcbiAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgfVxuICAuby1HcmlkLS1xdWFydGVyXFxAbWVkaXVtVXAgPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICB9XG4gIC5vLUdyaWQtLWRvdWJsZVxcQG1lZGl1bVVwIHtcbiAgICBtYXJnaW4tbGVmdDogLTUwcHg7XG4gIH1cbiAgLm8tR3JpZC0tZG91YmxlXFxAbWVkaXVtVXAgPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgfVxuICAuby1HcmlkLS10cmVibGVcXEBtZWRpdW1VcCB7XG4gICAgbWFyZ2luLWxlZnQ6IC03NXB4O1xuICB9XG4gIC5vLUdyaWQtLXRyZWJsZVxcQG1lZGl1bVVwID4gLm8tR3JpZC1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDc1cHg7XG4gIH1cbiAgLm8tR3JpZC0tcXVhZHJ1cGxlXFxAbWVkaXVtVXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG4gIH1cbiAgLm8tR3JpZC0tcXVhZHJ1cGxlXFxAbWVkaXVtVXAgPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5vLUdyaWQtLXF1YXJ0ZXJcXEBtZWRpdW1Eb3duIHtcbiAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgfVxuICAuby1HcmlkLS1xdWFydGVyXFxAbWVkaXVtRG93biA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gIH1cbiAgLm8tR3JpZC0tZG91YmxlXFxAbWVkaXVtRG93biB7XG4gICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICB9XG4gIC5vLUdyaWQtLWRvdWJsZVxcQG1lZGl1bURvd24gPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgfVxuICAuby1HcmlkLS10cmVibGVcXEBtZWRpdW1Eb3duIHtcbiAgICBtYXJnaW4tbGVmdDogLTc1cHg7XG4gIH1cbiAgLm8tR3JpZC0tdHJlYmxlXFxAbWVkaXVtRG93biA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xuICB9XG4gIC5vLUdyaWQtLXF1YWRydXBsZVxcQG1lZGl1bURvd24ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG4gIH1cbiAgLm8tR3JpZC0tcXVhZHJ1cGxlXFxAbWVkaXVtRG93biA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5vLUdyaWQtLXF1YXJ0ZXJcXEBsYXJnZVVwIHtcbiAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgfVxuICAuby1HcmlkLS1xdWFydGVyXFxAbGFyZ2VVcCA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gIH1cbiAgLm8tR3JpZC0tZG91YmxlXFxAbGFyZ2VVcCB7XG4gICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICB9XG4gIC5vLUdyaWQtLWRvdWJsZVxcQGxhcmdlVXAgPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgfVxuICAuby1HcmlkLS10cmVibGVcXEBsYXJnZVVwIHtcbiAgICBtYXJnaW4tbGVmdDogLTc1cHg7XG4gIH1cbiAgLm8tR3JpZC0tdHJlYmxlXFxAbGFyZ2VVcCA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xuICB9XG4gIC5vLUdyaWQtLXF1YWRydXBsZVxcQGxhcmdlVXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG4gIH1cbiAgLm8tR3JpZC0tcXVhZHJ1cGxlXFxAbGFyZ2VVcCA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC5vLUdyaWQtLXF1YXJ0ZXJcXEBsYXJnZURvd24ge1xuICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICB9XG4gIC5vLUdyaWQtLXF1YXJ0ZXJcXEBsYXJnZURvd24gPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICB9XG4gIC5vLUdyaWQtLWRvdWJsZVxcQGxhcmdlRG93biB7XG4gICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICB9XG4gIC5vLUdyaWQtLWRvdWJsZVxcQGxhcmdlRG93biA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICB9XG4gIC5vLUdyaWQtLXRyZWJsZVxcQGxhcmdlRG93biB7XG4gICAgbWFyZ2luLWxlZnQ6IC03NXB4O1xuICB9XG4gIC5vLUdyaWQtLXRyZWJsZVxcQGxhcmdlRG93biA+IC5vLUdyaWQtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xuICB9XG4gIC5vLUdyaWQtLXF1YWRydXBsZVxcQGxhcmdlRG93biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcbiAgfVxuICAuby1HcmlkLS1xdWFkcnVwbGVcXEBsYXJnZURvd24gPiAuby1HcmlkLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9iamVjdHMuSWNvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLUljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5vLUljb24gPiBzdmcge1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPYmplY3QuTGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vLUxpc3RCYXJlIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tTGlzdElubGluZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm8tTGlzdElubGluZSA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2JqZWN0cy5TaXplXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm8tU2l6ZS0tMTQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi8qKlxuICogTGlic1xuICovXG4uZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbn1cblxuLmZhZGUuaW4ge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29sbGFwc2UuaW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxudHIuY29sbGFwc2UuaW4ge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG5cbnRib2R5LmNvbGxhcHNlLmluIHtcbiAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgdmlzaWJpbGl0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCB2aXNpYmlsaXR5O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMzVzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjM1cztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG59XG5cbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXRvcDogNHB4IGRhc2hlZDtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIFxcOTtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbjogMnB4IDAgMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbn1cblxuLmRyb3Bkb3duLW1lbnUucHVsbC1yaWdodCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uZHJvcGRvd24tbWVudSAuZGl2aWRlciB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IDlweCAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xufVxuXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLCAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjMjYyNjI2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG59XG5cbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEsIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6aG92ZXIsIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3O1xuICBvdXRsaW5lOiAwO1xufVxuXG4uZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEsIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3ZlciwgLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG59XG5cbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3ZlciwgLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cblxuLm9wZW4gPiAuZHJvcGRvd24tbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ub3BlbiA+IGEge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG5cbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogM3B4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI5O1xuICBjb2xvcjogIzc3Nzc3NztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmRyb3Bkb3duLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5MDtcbn1cblxuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uZHJvcHVwIC5jYXJldCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuY2FyZXQge1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiA0cHggZGFzaGVkO1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgXFw5O1xufVxuXG4uZHJvcHVwIC5kcm9wZG93bi1tZW51LFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1yaWdodCAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zbGljay1saXN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogaGFuZDtcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uc2xpY2stdHJhY2s6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uc2xpY2stc2xpZGUgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQ29tcG9uZW50c1xuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5CdXR0b25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1CdXR0b24ge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtQnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuYy1CdXR0b24ge1xuICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgfVxufVxuXG4uYy1CdXR0b24tLWZpbGwge1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYy1CdXR0b24tLWZpbGwuYy1CdXR0b24tLWh1Z2Uge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG5cbi5jLUJ1dHRvbi0tZmlsbC5jLUJ1dHRvbi0tYWxwaGEge1xuICBib3JkZXItY29sb3I6ICMzM2FkZGY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzM2FkZGY7XG59XG5cbi5jLUJ1dHRvbi0tZmlsbC5jLUJ1dHRvbi0tYmV0YSB7XG4gIGJvcmRlci1jb2xvcjogI2Y1OWMxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1OWMxMDtcbn1cblxuLmMtQnV0dG9uLS1maWxsLmMtQnV0dG9uLS1nYW1tYSB7XG4gIGJvcmRlci1jb2xvcjogIzUxYjA0ODtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxYjA0ODtcbn1cblxuLmMtQnV0dG9uLS1maWxsOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMzMzM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUJ1dHRvbi0tZmlsbC5jLUJ1dHRvbi0taHVnZSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgcGFkZGluZzogMjBweCAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmMtQnV0dG9uLS1maWxsLmMtQnV0dG9uLS1odWdlIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XG4gIH1cbn1cblxuLmMtQnV0dG9uLS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAgMnB4IDJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmMtQnV0dG9uLS1saW5rID4gc3BhbiB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXM7XG59XG5cbi5uby10b3VjaCAuYy1CdXR0b24tLWxpbms6aG92ZXIgPiBzcGFuIHtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDEsIDEpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbn1cblxuLmMtQnV0dG9uLS1saW5rLmMtQnV0dG9uLS1odWdlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBwYWRkaW5nOiAwIDVweCA1cHg7XG59XG5cbi5jLUJ1dHRvbi0tbGluay5jLUJ1dHRvbi0taHVnZSA+IHNwYW4ge1xuICBoZWlnaHQ6IDRweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUJ1dHRvbi0tbGluayB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIH1cbiAgLmMtQnV0dG9uLS1saW5rLmMtQnV0dG9uLS1odWdlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmMtQnV0dG9uLS1saW5rLmMtQnV0dG9uLS1odWdlIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgfVxufVxuXG4uYy1CdXR0b24tLWN1YmUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jLUJ1dHRvbi0tY3ViZSA+IHNwYW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmMtQnV0dG9uLS1jdWJlID4gc3BhbiA+IHNwYW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtQnV0dG9uLS1jdWJlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG4gIC5uby10b3VjaCAuYy1CdXR0b24tLWN1YmUge1xuICAgIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG4gIH1cbiAgLm5vLXRvdWNoIC5jLUJ1dHRvbi0tY3ViZSA+IHNwYW4ge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIH1cbiAgLm5vLXRvdWNoIC5jLUJ1dHRvbi0tY3ViZSA+IHNwYW4gPiBzcGFuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICB9XG4gIC5uby10b3VjaCAuYy1CdXR0b24tLWN1YmU6aG92ZXIgPiBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpIHRyYW5zbGF0ZVkoLTIycHgpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmMtQnV0dG9uLS1jdWJlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuUGFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLVBhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLmMtUGFnZSAqOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLmMtUGFnZSAqOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1QYWdlIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmMtUGFnZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufVxuXG4uYy1QYWdlLWJvZHkge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLVBhZ2UtYm9keSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5jLVBhZ2UtYm9keSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuXG4uYy1QYWdlLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1QYWdlLWJncyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtUGFnZS1iZ3MgPiAuby1Db250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDIwcHgpIHtcbiAgLmMtUGFnZS1iZ3MtLWxlZnQgPiAuby1Db250YWluZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDIwMDBweCkge1xuICAuYy1QYWdlLWJncy0tcmlnaHQgPiAuby1Db250YWluZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cblxuLmMtUGFnZS1iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuYy1QYWdlLWJnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uYy1QYWdlLWJnLS1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtMTAwcHg7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMjY1cHg7XG4gIGhlaWdodDogNzgxcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iYWNrZ3JvdW5kcy9iZy5sZWZ0LnN2Z1wiKTtcbn1cblxuLm5vLXN2ZyAuYy1QYWdlLWJnLS1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JhY2tncm91bmRzL2JnLmxlZnQucG5nXCIpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQyMHB4KSB7XG4gIC5jLVBhZ2UtYmctLWxlZnQge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLmMtUGFnZS1iZy0tcmlnaHQge1xuICB0b3A6IC0zNXB4O1xuICByaWdodDogLTM5MHB4O1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDk2MnB4O1xuICBoZWlnaHQ6IDExNzRweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JhY2tncm91bmRzL2JnLnJpZ2h0LnN2Z1wiKTtcbn1cblxuLm5vLXN2ZyAuYy1QYWdlLWJnLS1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iYWNrZ3JvdW5kcy9iZy5yaWdodC5wbmdcIik7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAyMDAwcHgpIHtcbiAgLmMtUGFnZS1iZy0tcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5cbi5jLVBhZ2Utc3RyaXBlcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIHdpZHRoOiA3cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzYWRkZjtcbn1cblxuLmMtUGFnZS1zdHJpcGVzOmJlZm9yZSwgLmMtUGFnZS1zdHJpcGVzOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogN3B4O1xuICBoZWlnaHQ6IDIyJTtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZmY7XG59XG5cbi5jLVBhZ2Utc3RyaXBlczpiZWZvcmUge1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MWIwNDg7XG59XG5cbi5jLVBhZ2Utc3RyaXBlczphZnRlciB7XG4gIHRvcDogMjIlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU5YzEwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5CYXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1CYXIge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBhZGRpbmc6IDVweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA1NDRmO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUJhciB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIH1cbn1cblxuLmMtQmFyLS1tdXRlZCB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uYy1CYXItZGVzYyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLUhlYWRlciB7XG4gIHBhZGRpbmctdG9wOiA0M3B4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtSGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4uYy1IZWFkZXItcm93IHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBtYXJnaW46IDAgLTIwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjBmMGYwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBmMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUhlYWRlci1yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtSGVhZGVyLWxvZ28ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi5jLUhlYWRlci1jb25uZWN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgLTIwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1IZWFkZXItY29ubmVjdCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAzNy41cHggMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jLUhlYWRlci1jb25uZWN0IHtcbiAgICBwYWRkaW5nOiAzNy41cHggMDtcbiAgfVxufVxuXG4uYy1IZWFkZXItaGFtYnVyZ2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDU4cHg7XG4gIHJpZ2h0OiAyMHB4O1xufVxuXG4uYy1IZWFkZXItb3ZlcnZpZXcge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1IZWFkZXItb3ZlcnZpZXcge1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgfVxufVxuXG4uYy1IZWFkZXItdGl0bGUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUhlYWRlci10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuYy1IZWFkZXItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICB9XG59XG5cbi5jLUhlYWRlci1zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAjZmQ3ZDI4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5Mb2dvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtTG9nbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtTG9nby1pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jLUxvZ28taW1hZ2Uge1xuICAgIGhlaWdodDogNDBweDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5Db25uZWN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtQ29ubmVjdCB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUNvbm5lY3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLmMtQ29ubmVjdC0tbWVudSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1Db25uZWN0LWxpc3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmMtQ29ubmVjdC1saXN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtQ29ubmVjdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbiAgLmMtQ29ubmVjdC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jLUNvbm5lY3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICB9XG4gIC5jLUNvbm5lY3QtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmMtQ29ubmVjdC1pY29uIHtcbiAgY29sb3I6ICNlYTU0MTk7XG59XG5cbi5jLUNvbm5lY3QtaWNvbi5pY29uLXBob25lIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUNvbm5lY3QtaWNvbi5pY29uLXBob25lIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUNvbm5lY3QtaWNvbi5pY29uLXVzZXIge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtQ29ubmVjdC1pY29uLmljb24taGFuZHMge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgfVxufVxuXG4uYy1Db25uZWN0LXZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uYy1Db25uZWN0LS1tZW51IC5jLUNvbm5lY3QtdmFsdWUge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmMtQ29ubmVjdC12YWx1ZSA+IHNwYW4ge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLmMtQ29ubmVjdC0tbWVudSAuYy1Db25uZWN0LXZhbHVlID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUNvbm5lY3QtdmFsdWUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmMtQ29ubmVjdC12YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5IYW1idXJnZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1IYW1idXJnZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogOXB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjMzNhZGRmO1xuICBjb2xvcjogIzMzYWRkZjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jLUhhbWJ1cmdlci1iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMnB4O1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5jLUhhbWJ1cmdlci1iYXIgKyAuYy1IYW1idXJnZXItYmFyIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5Db2xsYXBzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1Db2xsYXBzZSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogNTA7XG4gIH1cbiAgLmMtQ29sbGFwc2UuY29sbGFwc2UsIC5jLUNvbGxhcHNlLmluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5NZW51XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtTWVudSB7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtTWVudSB7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuYy1NZW51IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtTWVudS1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjA7XG4gIH1cbn1cblxuLmMtTWVudS1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1NZW51LWl0ZW0gPiBzcGFuIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMXB4O1xuICBsZWZ0OiAxNjVweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjMzMDA7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMjBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLU1lbnUtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICB9XG4gIC5jLU1lbnUtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmMtTWVudS1pdGVtID4gc3BhbiB7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAtOHB4O1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYy1NZW51LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICB9XG59XG5cbi5jLU1lbnUtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtTWVudS1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICB9XG4gIC5jLU1lbnUtbGluayA+IHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNXB4O1xuICAgIGJhY2tncm91bmQ6ICM5OTk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDEsIDEpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzO1xuICB9XG4gIC5uby10b3VjaCAuYy1NZW51LWxpbmsgPiBzcGFuLCAuYy1NZW51LWxpbmsuaXMtYWN0aXZlID4gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmMtTWVudS1saW5rLmlzLWFjdGl2ZSA+IHNwYW4ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICAubm8tdG91Y2ggLmMtTWVudS1saW5rOmhvdmVyID4gc3BhbiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuQ29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLUNvbnRlbnQtc2VjdGlvbixcbi5jLUNvbnRlbnQtbGFuZGluZyB7XG4gIHBhZGRpbmc6IDIwcHggMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUNvbnRlbnQtc2VjdGlvbixcbiAgLmMtQ29udGVudC1sYW5kaW5nIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gIH1cbn1cblxuLmMtQ29udGVudC1zZWN0aW9uLS16ZXJvIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmMtQ29udGVudC1zZWN0aW9uLS1jb2xsYXBzZSB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uYy1Db250ZW50LXNlY3Rpb24tLXNocmluayB7XG4gIG1hcmdpbi1ib3R0b206IC0yMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtQ29udGVudC1zZWN0aW9uLS1zaHJpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IC01MHB4O1xuICB9XG59XG5cbi5jLUNvbnRlbnQtc2VjdGlvbi0tYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1Db250ZW50LXNlY3Rpb24tLWNlbGxzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5jLUNvbnRlbnQtc2VjdGlvbi0tY2VsbHMge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbi5jLUNvbnRlbnQtdGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUNvbnRlbnQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5jLUNvbnRlbnQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBmb250LXNpemU6IDIuNjI1cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmMtQ29udGVudC10aXRsZS0tcHJvZHVjdCB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgfVxufVxuXG4uYy1Db250ZW50LXN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1Db250ZW50LXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5jLUNvbnRlbnQtc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUNvbnRlbnQtc3VidGl0bGUtLXNtYWxsZXIge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5jLUNvbnRlbnQtc3VidGl0bGUtLXNtYWxsZXIge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG4uYy1Db250ZW50LWdhbGxlcnkge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uYy1Db250ZW50LXZpZGVvIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmMtQ29udGVudC1DdGEge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtQ29udGVudC1DdGEge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1Db250ZW50LUN0YS0taGVybyB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuXG4uYy1Db250ZW50LUN0YS0temVybyB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jLUNvbnRlbnQtQ3RhLS1hcnJvdyB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jLUNvbnRlbnQtQ3RhLS1hcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDIxN3B4O1xuICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Fycm93LmN0YS5wbmdcIikgbm8tcmVwZWF0IGxlZnQgYm90dG9tO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtQ29udGVudC1zZWN0aW9uLS1jb2xsYXBzZVxcQG1lZGl1bVVwIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5CcmVhZGNydW1ic1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLUJyZWFkY3J1bWJzIHtcbiAgcGFkZGluZzogMjBweCAwIDEwcHg7XG4gIGNvbG9yOiAjY2NjO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtQnJlYWRjcnVtYnMge1xuICAgIHBhZGRpbmc6IDQwcHggMCAzMHB4O1xuICB9XG59XG5cbi5jLUJyZWFkY3J1bWJzLWl0ZW0gKyAuYy1CcmVhZGNydW1icy1pdGVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMDEzIFwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLlNsaWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLVNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU0cHg7XG59XG5cbi5jLVNsaWRlci1pdGVtIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtU2xpZGVyLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0NSUgYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5jLVNsaWRlci1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgY2VudGVyO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYy1TbGlkZXItaXRlbSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtU2xpZGVyLWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAzOC45ODMwNTA4NDc1JTtcbiAgfVxufVxuXG4uYy1TbGlkZXItYm9keSB7XG4gIHBhZGRpbmctbGVmdDogMXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtU2xpZGVyLWJvZHkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuYy1TbGlkZXItYm9keSB7XG4gICAgd2lkdGg6IDM4Ljk4MzA1MDg0NzUlO1xuICB9XG59XG5cbi5jLVNsaWRlci1sYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDkwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAuYy1TbGlkZXItbGFiZWwge1xuICAgIGhlaWdodDogNjBweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIH1cbn1cblxuLmMtU2xpZGVyLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBtaW4taGVpZ2h0OiA3OS4ycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5jLVNsaWRlci10aXRsZSA+IHN0cm9uZyB7XG4gIGNvbG9yOiAjMzNhZGRmO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5jLVNsaWRlci10aXRsZSB7XG4gICAgbWluLWhlaWdodDogNTIuOHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1TbGlkZXItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuYy1TbGlkZXItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuXG4uYy1TbGlkZXItZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMzRweDtcbiAgbGVmdDogNTAlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLmMtU2xpZGVyLWRvdHMgPiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtU2xpZGVyLWRvdHMgPiBsaSA+IGJ1dHRvbiB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCA1cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjOTk5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuLmMtU2xpZGVyLWRvdHMgPiBsaSA+IGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5jLVNsaWRlci1kb3RzID4gbGkuc2xpY2stYWN0aXZlID4gYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuSGVyb1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLUhlcm8ge1xuICBwYWRkaW5nOiAxMjBweCAwIDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUhlcm8ge1xuICAgIHBhZGRpbmc6IDMwcHggMCAzMHB4IDQ1JTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNSUgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICB9XG59XG5cbi5jLUhlcm8tLXNvbGlkIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1IZXJvLS1zb2xpZCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtSGVyby0temVybyB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuU3VwcG9ydFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLVN1cHBvcnQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNjYzAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1TdXBwb3J0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5jLVN1cHBvcnQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG4uYy1TdXBwb3J0LWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogNzVweDtcbn1cblxuLmMtU3VwcG9ydC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmMtU3VwcG9ydC1pdGVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzAwMDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1TdXBwb3J0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDEzNXB4O1xuICAgIG1hcmdpbjogMCA0MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmMtU3VwcG9ydC1pdGVtOmJlZm9yZSB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gIH1cbn1cblxuLmMtU3VwcG9ydC1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmMtU3VwcG9ydC1pY29uLmljb24tdXNlciB7XG4gIHRvcDogMTVweDtcbiAgbGVmdDogMTVweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbn1cblxuLmMtU3VwcG9ydC1pY29uLmljb24taGFuZHMge1xuICB0b3A6IDE1cHg7XG4gIGxlZnQ6IDE4cHg7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1TdXBwb3J0LWljb24uaWNvbi11c2VyIHtcbiAgICB0b3A6IDIyLjVweDtcbiAgICBsZWZ0OiAyMi41cHg7XG4gICAgd2lkdGg6IDc1cHg7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICB9XG4gIC5jLVN1cHBvcnQtaWNvbi5pY29uLWhhbmRzIHtcbiAgICB0b3A6IDIyLjVweDtcbiAgICBsZWZ0OiAzMHB4O1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgfVxufVxuXG4uYy1TdXBwb3J0LWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogNnB4IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1TdXBwb3J0LWxpbmsge1xuICAgIG1hcmdpbjogMzBweCAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmMtU3VwcG9ydC1saW5rIHtcbiAgICBtYXJnaW46IDI0cHggMDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5Gb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtRm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG59XG5cbi5jLUZvcm0tbGVnZW5kIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1Gb3JtLWxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIH1cbn1cblxuLmMtRm9ybS1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUZvcm0taXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuXG4uYy1Gb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5jLUZvcm0tbGFiZWwtLWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICBtYXJnaW46IDA7XG59XG5cbi5jLUZvcm0tcmFkaW8gfiAuYy1Gb3JtLWxhYmVsLS1pbmxpbmU6YmVmb3JlLCAuYy1Gb3JtLXJhZGlvIH4gLmMtRm9ybS1sYWJlbC0taW5saW5lOmFmdGVyLFxuLmMtRm9ybS1jaGVja2JveCB+IC5jLUZvcm0tbGFiZWwtLWlubGluZTpiZWZvcmUsXG4uYy1Gb3JtLWNoZWNrYm94IH4gLmMtRm9ybS1sYWJlbC0taW5saW5lOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uYy1Gb3JtLXJhZGlvIH4gLmMtRm9ybS1sYWJlbC0taW5saW5lOmJlZm9yZSxcbi5jLUZvcm0tY2hlY2tib3ggfiAuYy1Gb3JtLWxhYmVsLS1pbmxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAtMTFweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDM4cHg7XG4gIGhlaWdodDogMzhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q3ZDdkNztcbn1cblxuLmMtRm9ybS1yYWRpbyB+IC5jLUZvcm0tbGFiZWwtLWlubGluZTpiZWZvcmUsIC5jLUZvcm0tcmFkaW8gfiAuYy1Gb3JtLWxhYmVsLS1pbmxpbmU6YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5jLUZvcm0tcmFkaW8gfiAuYy1Gb3JtLWxhYmVsLS1pbmxpbmU6YWZ0ZXIge1xuICB0b3A6IC0zcHg7XG4gIGxlZnQ6IDhweDtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2Njtcbn1cblxuLmMtRm9ybS1jaGVja2JveCB+IC5jLUZvcm0tbGFiZWwtLWlubGluZTphZnRlciB7XG4gIHRvcDogLTJweDtcbiAgbGVmdDogNnB4O1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiAyMXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvY2hlY2suc3ZnXCIpIG5vLXJlcGVhdCAwIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG5odG1sLm5vLXN2ZyAuYy1Gb3JtLWNoZWNrYm94IH4gLmMtRm9ybS1sYWJlbC0taW5saW5lOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2NoZWNrLnBuZ1wiKTtcbn1cblxuLmMtRm9ybS1yYWRpbzpjaGVja2VkIH4gLmMtRm9ybS1sYWJlbC0taW5saW5lOmFmdGVyLFxuLmMtRm9ybS1jaGVja2JveDpjaGVja2VkIH4gLmMtRm9ybS1sYWJlbC0taW5saW5lOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUZvcm0tbGFiZWwtLWlubGluZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG4gIC5jLUZvcm0tcmFkaW8gfiAuYy1Gb3JtLWxhYmVsLS1pbmxpbmU6YmVmb3JlLFxuICAuYy1Gb3JtLWNoZWNrYm94IH4gLmMtRm9ybS1sYWJlbC0taW5saW5lOmJlZm9yZSB7XG4gICAgdG9wOiAtNnB4O1xuICB9XG4gIC5jLUZvcm0tcmFkaW8gfiAuYy1Gb3JtLWxhYmVsLS1pbmxpbmU6YWZ0ZXIge1xuICAgIHRvcDogMnB4O1xuICB9XG4gIC5jLUZvcm0tY2hlY2tib3ggfiAuYy1Gb3JtLWxhYmVsLS1pbmxpbmU6YWZ0ZXIge1xuICAgIHRvcDogM3B4O1xuICB9XG59XG5cbi5jLUZvcm0tbGFiZWwtLWFsdCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtRm9ybS1sYWJlbC0tYWx0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgfVxufVxuXG4uYy1Gb3JtLWlucHV0LFxuLmMtRm9ybS10ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkN2Q3ZDc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5jLUZvcm0tYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5jLUZvcm0tbGFiZWxibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA2MHB4IDUwJSAzMHB4IDMwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmMtRm9ybS1ibG9jay0tc3ByYXZhIC5jLUZvcm0tbGFiZWxibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG59XG5cbi5jLUZvcm0tYmxvY2stLWFrdGl2aXR5IC5jLUZvcm0tbGFiZWxibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMmUwYmY7XG59XG5cbi5jLUZvcm0tYmxvY2stLWhlbHBkZXNrIC5jLUZvcm0tbGFiZWxibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2UzYjA7XG59XG5cbi5jLUZvcm0tbGFiZWxibG9jayA+IHNwYW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuYy1Gb3JtLWxhYmVsYmxvY2sge1xuICAgIHBhZGRpbmc6IDMwcHggMzBweCAxMDBweDtcbiAgfVxuICAuYy1Gb3JtLWxhYmVsYmxvY2sgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uYy1Gb3JtLWJsb2NrSW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMjBweDtcbiAgcmlnaHQ6IDMwcHg7XG4gIHdpZHRoOiA0NSU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuYy1Gb3JtLWJsb2NrSW5wdXQge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG4uYy1Gb3JtLXRhYmxlIHtcbiAgbWluLWhlaWdodDogLjAxJTtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmMtRm9ybS10YWJsZSB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uYy1Gb3JtLXRhYmxlIHRhYmxlIHRoLFxuLmMtRm9ybS10YWJsZSB0YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkN2Q3ZDc7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jLUZvcm0tdGFibGUgdGFibGUgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uYy1Gb3JtLXRhYmxlIHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbn1cblxuLmMtRm9ybS10YWJsZSB0YWJsZSB0Ym9keSB0cjpob3ZlciB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWU3ZTc7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1Gb3JtLXRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG4gIC5jLUZvcm0tdGFibGUgdGFibGUge1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cbiAgLmMtRm9ybS10YWJsZSB0YWJsZSB0aCxcbiAgLmMtRm9ybS10YWJsZSB0YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICB9XG4gIC5jLUZvcm0tdGFibGUgdGFibGUgdGgge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG59XG5cbi5jLUZvcm0tYnV0dG9uIHtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTFiMDQ4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTFiMDQ4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jLUZvcm0tYnV0dG9uID4gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uYy1Gb3JtLWJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLUZvcm0tYnV0dG9uOmhvdmVyID4gc3BhbiB7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1Gb3JtLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMjBweCAzMHB4IDIwcHggMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5jLUZvcm0tYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAyMHB4IDMwcHggMjBweCAyNXB4O1xuICB9XG59XG5cbi5jLUZvcm0taWNvbi5pY29uLXN1Ym1pdCB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDM4cHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmMtRm9ybS1idXR0b246aG92ZXIgLmMtRm9ybS1pY29uLmljb24tc3VibWl0IHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5jLUZvcm0taWNvbi5pY29uLWNoZWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogMzVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tbGVmdDogLTIycHg7XG59XG5cbi5jLUZvcm0tY2hlY2tibG9jazpjaGVja2VkIH4gLmMtRm9ybS1sYWJlbGJsb2NrIC5jLUZvcm0taWNvbi5pY29uLWNoZWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLUZvcm0tYmxvY2stLXNwcmF2YSAuYy1Gb3JtLWljb24uaWNvbi1jaGVjayB7XG4gIGNvbG9yOiAjMzNhZGRmO1xufVxuXG4uYy1Gb3JtLWJsb2NrLS1ha3Rpdml0eSAuYy1Gb3JtLWljb24uaWNvbi1jaGVjayB7XG4gIGNvbG9yOiAjNTFiMDQ4O1xufVxuXG4uYy1Gb3JtLWJsb2NrLS1oZWxwZGVzayAuYy1Gb3JtLWljb24uaWNvbi1jaGVjayB7XG4gIGNvbG9yOiAjZjU5YzEwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtRm9ybS1pY29uLmljb24tc3VibWl0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5jLUZvcm0taWNvbi5pY29uLWNoZWNrIHtcbiAgICBib3R0b206IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IC0xN3B4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLld5c2l3eWdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1XeXNpd3lnIGgxLFxuLmMtV3lzaXd5ZyBoMixcbi5jLVd5c2l3eWcgaDMsXG4uYy1XeXNpd3lnIGg0LFxuLmMtV3lzaXd5ZyBoNSxcbi5jLVd5c2l3eWcgaDYge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYy1XeXNpd3lnIGgxIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5jLVd5c2l3eWcgaDIge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLmMtV3lzaXd5ZyBoMyxcbi5jLVd5c2l3eWcgaDQsXG4uYy1XeXNpd3lnIGg1LFxuLmMtV3lzaXd5ZyBoNiB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmMtV3lzaXd5ZyA+IHVsLFxuLmMtV3lzaXd5ZyA+IG9sIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtV3lzaXd5ZyA+IHVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1XeXNpd3lnID4gdWwgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4uYy1XeXNpd3lnID4gdWwgPiBsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNXB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG59XG5cbi5jLVd5c2l3eWcgPiBvbCB7XG4gIHBhZGRpbmctbGVmdDogMS41ZW07XG59XG5cbi5jLVd5c2l3eWcgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuLmMtV3lzaXd5ZyB0YWJsZSB0aCxcbi5jLVd5c2l3eWcgdGFibGUgdGQge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzBjMGMwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYy1XeXNpd3lnIHRhYmxlIHRoIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2MwYzBjMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmMtV3lzaXd5ZyB0YWJsZSB0ZCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLVd5c2l3eWcgdGFibGUgdHIubGFzdCB0aCxcbi5jLVd5c2l3eWcgdGFibGUgdHIubGFzdCB0ZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jLVd5c2l3eWcgdGFibGUgdHIudG9wIHRoLFxuLmMtV3lzaXd5ZyB0YWJsZSB0ci50b3AgdGQsXG4uYy1XeXNpd3lnIHRhYmxlIHRyLmJvdHRvbSB0aCxcbi5jLVd5c2l3eWcgdGFibGUgdHIuYm90dG9tIHRkIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmMtV3lzaXd5ZyBbc3R5bGU9XCJmbG9hdDogbGVmdDtcIl0sXG4gIC5jLVd5c2l3eWcgW3N0eWxlPVwiZmxvYXQ6IHJpZ2h0O1wiXSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtV3lzaXd5ZyBoMSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG4gIC5jLVd5c2l3eWcgaDIge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICB9XG4gIC5jLVd5c2l3eWcgW3N0eWxlPVwiZmxvYXQ6IGxlZnQ7XCJdLFxuICAuYy1XeXNpd3lnIFtzdHlsZT1cImZsb2F0OiByaWdodDtcIl0ge1xuICAgIG1heC13aWR0aDogNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbiAgLmMtV3lzaXd5ZyBbc3R5bGU9XCJmbG9hdDogbGVmdDtcIl0ge1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgfVxuICAuYy1XeXNpd3lnIFtzdHlsZT1cImZsb2F0OiByaWdodDtcIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmMtV3lzaXd5ZyBoMSB7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxuICAuYy1XeXNpd3lnIGgyIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbiAgLmMtV3lzaXd5ZyBbc3R5bGU9XCJmbG9hdDogbGVmdDtcIl0sXG4gIC5jLVd5c2l3eWcgW3N0eWxlPVwiZmxvYXQ6IHJpZ2h0O1wiXSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1XeXNpd3lnLWRvd25sb2FkcyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDM0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtV3lzaXd5Zy1idXR0b25zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuR2FsbGVyeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLUdhbGxlcnkge1xuICBtYXJnaW46IDAgLTIwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1HYWxsZXJ5IHtcbiAgICBtYXJnaW46IDAgNTBweDtcbiAgfVxufVxuXG4uYy1HYWxsZXJ5LWl0ZW0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtR2FsbGVyeS1pdGVtIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cbn1cblxuLmMtR2FsbGVyeS1saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy1HYWxsZXJ5LWRlc2Mge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtR2FsbGVyeS1kZXNjIHtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuYy1HYWxsZXJ5LWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cblxuLmMtR2FsbGVyeS1wcmV2LFxuLmMtR2FsbGVyeS1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgei1pbmRleDogNTtcbiAgbWFyZ2luLXRvcDogLTcuNXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtR2FsbGVyeS1wcmV2LFxuICAuYy1HYWxsZXJ5LW5leHQge1xuICAgIG1hcmdpbi10b3A6IC03LjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtR2FsbGVyeS1wcmV2IHtcbiAgICBsZWZ0OiAtNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtR2FsbGVyeS1uZXh0IHtcbiAgICByaWdodDogLTUwcHg7XG4gIH1cbn1cblxuLmMtR2FsbGVyeS1pY29uIHtcbiAgd2lkdGg6IDI3cHg7XG4gIGhlaWdodDogMTVweDtcbiAgY29sb3I6ICM2NjY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG5cbi5jLUNhcm91c2VsLXByZXY6aG92ZXIgLmMtR2FsbGVyeS1pY29uLFxuLmMtQ2Fyb3VzZWwtbmV4dDpob3ZlciAuYy1HYWxsZXJ5LWljb24ge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuRG93bmxvYWRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtRG93bmxvYWRzIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICBjb2xvcjogI2ZmZjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLURvd25sb2FkcyB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG59XG5cbi5jLURvd25sb2Fkcy0tYWxwaGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzNhZGRmO1xufVxuXG4uYy1Eb3dubG9hZHMtLWJldGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU5YzEwO1xufVxuXG4uYy1Eb3dubG9hZHMtLWdhbW1hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxYjA0ODtcbn1cblxuLmMtRG93bmxvYWRzLWl0ZW0ge1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLmMtRG93bmxvYWRzLWljb24ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLURvd25sb2Fkcy1pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmMtRG93bmxvYWRzLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogOHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5CdXR0b25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtQnV0dG9ucyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uYy1CdXR0b25zLWl0ZW0ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYy1CdXR0b25zLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uYy1CdXR0b25zLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMCAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy1CdXR0b25zLWxpbmsgPiBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uYy1CdXR0b25zLWxpbms6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICMzMzMgIWltcG9ydGFudDtcbn1cblxuLmMtQnV0dG9ucy1saW5rOmhvdmVyID4gc3BhbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUJ1dHRvbnMtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmMtQnV0dG9ucy1saW5rIHtcbiAgICBtaW4td2lkdGg6IDM1MHB4O1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgfVxufVxuXG4uYy1CdXR0b25zLWljb24ge1xuICB3aWR0aDogNDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmMtQnV0dG9ucy1saW5rOmhvdmVyIC5jLUJ1dHRvbnMtaWNvbiB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uYy1CdXR0b25zLWljb24gPiBzdmcge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5jLUJ1dHRvbnMtaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbi5jLUJ1dHRvbnMtbGFiZWwge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmMtQnV0dG9ucy1saW5rOmhvdmVyIC5jLUJ1dHRvbnMtbGFiZWwge1xuICBjb2xvcjogIzMzMztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuVGltZWxpbmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1UaW1lbGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmMtVGltZWxpbmU6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiA1MHB4O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuYy1UaW1lbGluZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuLmMtVGltZWxpbmUteWVhciB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMHB4O1xuICBwYWRkaW5nOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1UaW1lbGluZS0tYWxwaGEgLmMtVGltZWxpbmUteWVhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzM2FkZGY7XG59XG5cbi5jLVRpbWVsaW5lLS1iZXRhIC5jLVRpbWVsaW5lLXllYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU5YzEwO1xufVxuXG4uYy1UaW1lbGluZS0tZ2FtbWEgLmMtVGltZWxpbmUteWVhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MWIwNDg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuYy1UaW1lbGluZS15ZWFyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbiAgLmMtVGltZWxpbmUteWVhcjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmMtVGltZWxpbmUtZGVzYyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jLVRpbWVsaW5lLWRlc2M6bGFzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmMtVGltZWxpbmUtZGVzYzpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuYy1UaW1lbGluZS1kZXNjIHtcbiAgICBtaW4taGVpZ2h0OiA0NnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4O1xuICB9XG4gIC5jLVRpbWVsaW5lLWRlc2M6bGFzdC1jaGlsZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLVRpbWVsaW5lLWRlc2M6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5FeGNlcnB0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtRXhjZXJwdCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5jLUV4Y2VycHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jLUV4Y2VycHQgW3N0eWxlPVwiZmxvYXQ6IGxlZnQ7XCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYy1FeGNlcnB0IGgzIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtRXhjZXJwdCAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5DZWxsc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLUNlbGxzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuYy1DZWxscy1pbm5lciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbiAgLmMtQ2VsbHMtLXN0cmV0Y2ggLmMtQ2VsbHMtaW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1DZWxscy1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogNDklO1xuICB9XG4gIC5jLUNlbGxzLWl0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmMtQ2VsbHMtaXRlbSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiA0MHB4IDMwcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICB9XG4gIC5jLUNlbGxzLWl0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxuICAuYy1DZWxscy1pdGVtOm50aC1jaGlsZCg0bikge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLmMtQ2VsbHMtaXRlbTpudGgtY2hpbGQoNG4gKyAxKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5jLUNlbGxzLWl0ZW0gPiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkNUQVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLUN0YSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uYy1DdGEtLWlubGluZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtQ3RhLWl0ZW0ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYy1DdGEtLWlubGluZSAuYy1DdGEtaXRlbSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1DdGEtLWlubGluZSAuYy1DdGEtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmMtQ3RhLS1pbmxpbmUgLmMtQ3RhLWl0ZW0ge1xuICAgIG1hcmdpbjogMCAyNXB4O1xuICB9XG59XG5cbi5jLUN0YS1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjMGMwYzA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtQ3RhLWl0ZW0tLWZpbGwgLmMtQ3RhLWxpbmsge1xuICBib3JkZXI6IDFweCBzb2xpZDtcbn1cblxuLmMtQ3RhLWxpbmsgPiBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uYy1DdGEtLWFscGhhIC5jLUN0YS1saW5rOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzNhZGRmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzNhZGRmO1xufVxuXG4uYy1DdGEtLWJldGEgLmMtQ3RhLWxpbms6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNmNTljMTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNTljMTA7XG59XG5cbi5jLUN0YS0tZ2FtbWEgLmMtQ3RhLWxpbms6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM1MWIwNDg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MWIwNDg7XG59XG5cbi5jLUN0YS1pdGVtLS1maWxsIC5jLUN0YS1saW5rOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG59XG5cbi5jLUN0YS1saW5rOmhvdmVyID4gc3BhbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUN0YS1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAzMjBweDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuYy1DdGEtbGluayB7XG4gICAgbWluLXdpZHRoOiAzNTBweDtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gIH1cbn1cblxuLmMtQ3RhLWljb24ge1xuICB3aWR0aDogNDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uYy1DdGEtLWFscGhhIC5jLUN0YS1pY29uIHtcbiAgY29sb3I6ICMzM2FkZGY7XG59XG5cbi5jLUN0YS0tYmV0YSAuYy1DdGEtaWNvbiB7XG4gIGNvbG9yOiAjZjU5YzEwO1xufVxuXG4uYy1DdGEtLWdhbW1hIC5jLUN0YS1pY29uIHtcbiAgY29sb3I6ICM1MWIwNDg7XG59XG5cbi5jLUN0YS1pdGVtLS1maWxsIC5jLUN0YS1pY29uIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jLUN0YS1saW5rOmhvdmVyIC5jLUN0YS1pY29uIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jLUN0YS1pdGVtLS1maWxsIC5jLUN0YS1saW5rOmhvdmVyIC5jLUN0YS1pY29uIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5jLUN0YS1pY29uID4gc3ZnIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogNDBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuYy1DdGEtaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbi5jLUN0YS1sYWJlbCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYy1DdGEtbGluazpob3ZlciAuYy1DdGEtbGFiZWwge1xuICBjb2xvcjogIzMzMztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuQ2Fyb3VzZWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1DYXJvdXNlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG59XG5cbi5jLUNhcm91c2VsLWxpc3Qge1xuICBwYWRkaW5nOiAyMHB4IDAgNjVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLUNhcm91c2VsLWxpc3Qge1xuICAgIHBhZGRpbmc6IDMwcHggMCA5NXB4O1xuICAgIG1hcmdpbjogMCAtMjVweDtcbiAgfVxufVxuXG4uYy1DYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1DYXJvdXNlbC1pdGVtIHtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gIH1cbn1cblxuLmMtQ2Fyb3VzZWwtcHJldixcbi5jLUNhcm91c2VsLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMjVweDtcbiAgei1pbmRleDogNTtcbn1cblxuLmMtQ2Fyb3VzZWwtcHJldi5zbGljay1kaXNhYmxlZCxcbi5jLUNhcm91c2VsLW5leHQuc2xpY2stZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1DYXJvdXNlbC1wcmV2LFxuICAuYy1DYXJvdXNlbC1uZXh0IHtcbiAgICBib3R0b206IDQwcHg7XG4gIH1cbn1cblxuLmMtQ2Fyb3VzZWwtcHJldiB7XG4gIHJpZ2h0OiA1MCU7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmMtQ2Fyb3VzZWwtbmV4dCB7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5jLUNhcm91c2VsLWljb24ge1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBjb2xvcjogIzY2NjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cblxuLmMtQ2Fyb3VzZWwtcHJldjpob3ZlciAuYy1DYXJvdXNlbC1pY29uLFxuLmMtQ2Fyb3VzZWwtbmV4dDpob3ZlciAuYy1DYXJvdXNlbC1pY29uIHtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLlBvc3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1Qb3N0LWRhdGUge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICM5OTk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jLVBvc3QtdGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5jLVBvc3QtZGVzYyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1Qb3N0LWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLlBhcnRuZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtUGFydG5lcnMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLVBhcnRuZXJzLWlubmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLVBhcnRuZXJzLWlubmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbi5jLVBhcnRuZXJzLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAtMnB4O1xuICBtYXJnaW4tcmlnaHQ6IC0ycHg7XG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuLmMtUGFydG5lcnMtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5jLVBhcnRuZXJzLWl0ZW06YmVmb3JlLCAuYy1QYXJ0bmVycy1pdGVtOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xufVxuXG4uYy1QYXJ0bmVycy1pdGVtOmJlZm9yZSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNSU7XG4gIHdpZHRoOiA5MCU7XG4gIGhlaWdodDogMXB4O1xufVxuXG4uYy1QYXJ0bmVycy1pdGVtOmFmdGVyIHtcbiAgdG9wOiA1JTtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogOTAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmMtUGFydG5lcnMtaXRlbSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtUGFydG5lcnMtaXRlbSB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxufVxuXG4uYy1QYXJ0bmVycy1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbn1cblxuLmMtUGFydG5lcnMtaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA4MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5jLVBhcnRuZXJzLWltYWdlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5EaXJlY3RvcnlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1EaXJlY3Rvcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLURpcmVjdG9yeTpiZWZvcmUsIC5jLURpcmVjdG9yeTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiAxNDBweDtcbiAgfVxuICAuYy1EaXJlY3Rvcnk6YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzM2FkZGY7XG4gIH1cbiAgLmMtRGlyZWN0b3J5OmFmdGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1OWMxMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtRGlyZWN0b3J5LWxpc3Qge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxufVxuXG4uYy1EaXJlY3RvcnktaXRlbSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLURpcmVjdG9yeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmMtRGlyZWN0b3J5LWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCAjZmZmO1xuICB9XG4gIC5jLURpcmVjdG9yeS1pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI2ZmZjtcbiAgfVxuICAuYy1EaXJlY3RvcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjZmZmO1xuICB9XG59XG5cbi5jLURpcmVjdG9yeS1pY29uIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiA3MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogODAlIDgwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5jLURpcmVjdG9yeS1pY29uIHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgaGVpZ2h0OiAxNDBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtRGlyZWN0b3J5LWljb24ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gYXV0bztcbiAgfVxufVxuXG4uYy1EaXJlY3RvcnktaWNvbi0tc3ByYXZhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzYWRkZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3NwcmF2YS5wbmdcIik7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1EaXJlY3RvcnktaWNvbi0tc3ByYXZhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uYy1EaXJlY3RvcnktaWNvbi0tYWt0aXZpdHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTFiMDQ4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYWt0aXZpdHkucG5nXCIpO1xufVxuXG4uYy1EaXJlY3RvcnktaWNvbi0taGVscGRlc2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU5YzEwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvaGVscGRlc2sucG5nXCIpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtRGlyZWN0b3J5LWljb24tLWhlbHBkZXNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uYy1EaXJlY3RvcnktbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLURpcmVjdG9yeS1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1EaXJlY3RvcnktbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLUZvb3RlciB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtRm9vdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLmMtRm9vdGVyLXVwIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuTWFwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtTWFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzMzMztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLU1hcCB7XG4gICAgaGVpZ2h0OiAzNTZweDtcbiAgfVxufVxuXG4uYy1NYXAtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMTAwJTtcbiAgd2lkdGg6IDIwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtTWFwLWhlYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLTQwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHdpZHRoOiAyMDAwcHg7XG4gICAgaGVpZ2h0OiAzNTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmMtTWFwLWhlYWRlciB7XG4gICAgcmlnaHQ6IC0yMCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuYy1NYXAtaGVhZGVyIHtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMjAwMHB4KSB7XG4gIC5jLU1hcC1oZWFkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5jLU1hcC1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1NYXAtYm9keSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG4gIC5jLU1hcC1ib2R5ID4gLm8tQ29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG59XG5cbi5jLU1hcC1jb250YWN0IHN0cm9uZyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLU1hcC1jb250YWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbi5jLU1hcC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLU1hcC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmMtTWFwLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDM0cHg7XG4gICAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5VcFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLVVwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDU1cHg7XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU5YzEwO1xuICBvcGFjaXR5OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgb3BhY2l0eSAwLjNzLCB2aXNpYmlsaXR5IDAuM3M7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmMtVXA6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xufVxuXG4uYy1VcC5pcy12aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLVVwIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgcGFkZGluZy10b3A6IDIxLjVweDtcbiAgfVxufVxuXG4uYy1VcC1pY29uIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMjdweDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qKlxuICogVXRpbHNcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFV0aWxzLkFsaWduXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBWZXJ0aWNhbCBhbGlnbm1lbnQgdXRpbGl0aWVzXG4gKiBEZXBlbmRzIG9uIGFuIGFwcHJvcHJpYXRlIGBkaXNwbGF5YCB2YWx1ZS5cbiAqL1xuLnUtYWxpZ25CYXNlbGluZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuXG4udS1hbGlnbkJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDtcbn1cblxuLnUtYWxpZ25NaWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG59XG5cbi51LWFsaWduVG9wIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudS1hbGlnbkJhc2VsaW5lXFxAc21hbGxPbmx5IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAudS1hbGlnbkJvdHRvbVxcQHNtYWxsT25seSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWFsaWduTWlkZGxlXFxAc21hbGxPbmx5IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtYWxpZ25Ub3BcXEBzbWFsbE9ubHkge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnUtYWxpZ25CYXNlbGluZVxcQHNtYWxsVXAge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWFsaWduQm90dG9tXFxAc21hbGxVcCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWFsaWduTWlkZGxlXFxAc21hbGxVcCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWFsaWduVG9wXFxAc21hbGxVcCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAudS1hbGlnbkJhc2VsaW5lXFxAc21hbGxEb3duIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAudS1hbGlnbkJvdHRvbVxcQHNtYWxsRG93biB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWFsaWduTWlkZGxlXFxAc21hbGxEb3duIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtYWxpZ25Ub3BcXEBzbWFsbERvd24ge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgLnUtYWxpZ25CYXNlbGluZVxcQG1lZGl1bU9ubHkge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWFsaWduQm90dG9tXFxAbWVkaXVtT25seSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWFsaWduTWlkZGxlXFxAbWVkaXVtT25seSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWFsaWduVG9wXFxAbWVkaXVtT25seSB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudS1hbGlnbkJhc2VsaW5lXFxAbWVkaXVtVXAge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWFsaWduQm90dG9tXFxAbWVkaXVtVXAge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDtcbiAgfVxuICAudS1hbGlnbk1pZGRsZVxcQG1lZGl1bVVwIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtYWxpZ25Ub3BcXEBtZWRpdW1VcCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudS1hbGlnbkJhc2VsaW5lXFxAbWVkaXVtRG93biB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtYWxpZ25Cb3R0b21cXEBtZWRpdW1Eb3duIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtYWxpZ25NaWRkbGVcXEBtZWRpdW1Eb3duIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtYWxpZ25Ub3BcXEBtZWRpdW1Eb3duIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAudS1hbGlnbkJhc2VsaW5lXFxAbGFyZ2VVcCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtYWxpZ25Cb3R0b21cXEBsYXJnZVVwIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtYWxpZ25NaWRkbGVcXEBsYXJnZVVwIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtYWxpZ25Ub3BcXEBsYXJnZVVwIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAudS1hbGlnbkJhc2VsaW5lXFxAbGFyZ2VEb3duIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAudS1hbGlnbkJvdHRvbVxcQGxhcmdlRG93biB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWFsaWduTWlkZGxlXFxAbGFyZ2VEb3duIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtYWxpZ25Ub3BcXEBsYXJnZURvd24ge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVXRpbHMuRGlzcGxheVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51LWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIDEuIEZpeCBmb3IgRmlyZWZveCBidWc6IGFuIGltYWdlIHN0eWxlZCBgbWF4LXdpZHRoOjEwMCVgIHdpdGhpbiBhblxuICogaW5saW5lLWJsb2NrIHdpbGwgZGlzcGxheSBhdCBpdHMgZGVmYXVsdCBzaXplLCBhbmQgbm90IGxpbWl0IGl0cyB3aWR0aCB0b1xuICogMTAwJSBvZiBhbiBhbmNlc3RyYWwgY29udGFpbmVyLlxuICovXG4udS1pbmxpbmVCbG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbn1cblxuLnUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4udS10YWJsZSB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG59XG5cbi51LXRhYmxlQ2VsbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbn1cblxuLnUtdGFibGVSb3cge1xuICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbn1cblxuLnUtdmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLnUtaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi51LWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBDb21wbGV0ZWx5IHJlbW92ZSBmcm9tIHRoZSBmbG93IGJ1dCBsZWF2ZSBhdmFpbGFibGUgdG8gc2NyZWVuIHJlYWRlcnMuXG4gKi9cbi51LWhpZGRlblZpc3VhbGx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCkgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnUtaW5saW5lXFxAc21hbGxPbmx5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAudS1pbmxpbmVCbG9ja1xcQHNtYWxsT25seSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC51LWJsb2NrXFxAc21hbGxPbmx5IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRhYmxlXFxAc21hbGxPbmx5IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRhYmxlQ2VsbFxcQHNtYWxsT25seSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRhYmxlUm93XFxAc21hbGxPbmx5IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAudS12aXNpYmxlXFxAc21hbGxPbmx5IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtaW52aXNpYmxlXFxAc21hbGxPbmx5IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgfVxuICAudS1oaWRkZW5cXEBzbWFsbE9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudS1oaWRkZW5WaXN1YWxseVxcQHNtYWxsT25seSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnUtaW5saW5lXFxAc21hbGxVcCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtaW5saW5lQmxvY2tcXEBzbWFsbFVwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnUtYmxvY2tcXEBzbWFsbFVwIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRhYmxlXFxAc21hbGxVcCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICAudS10YWJsZUNlbGxcXEBzbWFsbFVwIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGFibGVSb3dcXEBzbWFsbFVwIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAudS12aXNpYmxlXFxAc21hbGxVcCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWludmlzaWJsZVxcQHNtYWxsVXAge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG4gIC51LWhpZGRlblxcQHNtYWxsVXAge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudS1oaWRkZW5WaXN1YWxseVxcQHNtYWxsVXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC51LWlubGluZVxcQHNtYWxsRG93biB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtaW5saW5lQmxvY2tcXEBzbWFsbERvd24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAudS1ibG9ja1xcQHNtYWxsRG93biB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAudS10YWJsZVxcQHNtYWxsRG93biB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICAudS10YWJsZUNlbGxcXEBzbWFsbERvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICAudS10YWJsZVJvd1xcQHNtYWxsRG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdmlzaWJsZVxcQHNtYWxsRG93biB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWludmlzaWJsZVxcQHNtYWxsRG93biB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtaGlkZGVuXFxAc21hbGxEb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtaGlkZGVuVmlzdWFsbHlcXEBzbWFsbERvd24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC51LWlubGluZVxcQG1lZGl1bU9ubHkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWlubGluZUJsb2NrXFxAbWVkaXVtT25seSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC51LWJsb2NrXFxAbWVkaXVtT25seSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAudS10YWJsZVxcQG1lZGl1bU9ubHkge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGFibGVDZWxsXFxAbWVkaXVtT25seSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRhYmxlUm93XFxAbWVkaXVtT25seSB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdmlzaWJsZVxcQG1lZGl1bU9ubHkge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgfVxuICAudS1pbnZpc2libGVcXEBtZWRpdW1Pbmx5IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgfVxuICAudS1oaWRkZW5cXEBtZWRpdW1Pbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtaGlkZGVuVmlzdWFsbHlcXEBtZWRpdW1Pbmx5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudS1pbmxpbmVcXEBtZWRpdW1VcCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtaW5saW5lQmxvY2tcXEBtZWRpdW1VcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC51LWJsb2NrXFxAbWVkaXVtVXAge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGFibGVcXEBtZWRpdW1VcCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICAudS10YWJsZUNlbGxcXEBtZWRpdW1VcCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRhYmxlUm93XFxAbWVkaXVtVXAge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC51LXZpc2libGVcXEBtZWRpdW1VcCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWludmlzaWJsZVxcQG1lZGl1bVVwIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgfVxuICAudS1oaWRkZW5cXEBtZWRpdW1VcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWhpZGRlblZpc3VhbGx5XFxAbWVkaXVtVXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51LWlubGluZVxcQG1lZGl1bURvd24ge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWlubGluZUJsb2NrXFxAbWVkaXVtRG93biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC51LWJsb2NrXFxAbWVkaXVtRG93biB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAudS10YWJsZVxcQG1lZGl1bURvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGFibGVDZWxsXFxAbWVkaXVtRG93biB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRhYmxlUm93XFxAbWVkaXVtRG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdmlzaWJsZVxcQG1lZGl1bURvd24ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgfVxuICAudS1pbnZpc2libGVcXEBtZWRpdW1Eb3duIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgfVxuICAudS1oaWRkZW5cXEBtZWRpdW1Eb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtaGlkZGVuVmlzdWFsbHlcXEBtZWRpdW1Eb3duIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnUtaW5saW5lXFxAbGFyZ2VVcCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtaW5saW5lQmxvY2tcXEBsYXJnZVVwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnUtYmxvY2tcXEBsYXJnZVVwIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRhYmxlXFxAbGFyZ2VVcCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICAudS10YWJsZUNlbGxcXEBsYXJnZVVwIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGFibGVSb3dcXEBsYXJnZVVwIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAudS12aXNpYmxlXFxAbGFyZ2VVcCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWludmlzaWJsZVxcQGxhcmdlVXAge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG4gIC51LWhpZGRlblxcQGxhcmdlVXAge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudS1oaWRkZW5WaXN1YWxseVxcQGxhcmdlVXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAudS1pbmxpbmVcXEBsYXJnZURvd24ge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWlubGluZUJsb2NrXFxAbGFyZ2VEb3duIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnUtYmxvY2tcXEBsYXJnZURvd24ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGFibGVcXEBsYXJnZURvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGFibGVDZWxsXFxAbGFyZ2VEb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGFibGVSb3dcXEBsYXJnZURvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC51LXZpc2libGVcXEBsYXJnZURvd24ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgfVxuICAudS1pbnZpc2libGVcXEBsYXJnZURvd24ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG4gIC51LWhpZGRlblxcQGxhcmdlRG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LWhpZGRlblZpc3VhbGx5XFxAbGFyZ2VEb3duIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBVdGlscy5MYXlvdXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvbnRhaW4gZmxvYXRzXG4gKlxuICogTWFrZSBhbiBlbGVtZW50IGV4cGFuZCB0byBjb250YWluIGZsb2F0ZWQgY2hpbGRyZW4uXG4gKiBVc2VzIHBzZXVkby1lbGVtZW50cyAobWljcm8gY2xlYXJmaXgpLlxuICpcbiAqIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4gKiAgICBgY29udGVudGVkaXRhYmxlYCBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4gKiAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgdGhlXG4gKiAgICBlbGVtZW50LlxuICogMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbiAqICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbiAqL1xuLnUtY2Y6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMiAqL1xuICBjbGVhcjogYm90aDtcbn1cblxuLyoqXG4gKiBOZXcgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0XG4gKlxuICogVGhpcyBhZmZvcmRzIHNvbWUgdXNlZnVsIHByb3BlcnRpZXMgdG8gdGhlIGVsZW1lbnQuIEl0IHdvbid0IHdyYXAgdW5kZXJcbiAqIGZsb2F0cy4gV2lsbCBhbHNvIGNvbnRhaW4gYW55IGZsb2F0ZWQgY2hpbGRyZW4uXG5cbiAqIE4uQi4gVGhpcyB3aWxsIGNsaXAgb3ZlcmZsb3cuIFVzZSB0aGUgYWx0ZXJuYXRpdmUgbWV0aG9kIGJlbG93IGlmIHRoaXMgaXNcbiAqIHByb2JsZW1hdGljLlxuICovXG4udS1uYmZjIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIE5ldyBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQgKGFsdGVybmF0aXZlKVxuICpcbiAqIEFsdGVybmF0aXZlIG1ldGhvZCB3aGVuIG92ZXJmbG93IG11c3Qgbm90IGJlIGNsaXBwZWQuXG4gKlxuICogMS4gQ3JlYXRlIGEgbmV3IGJsb2NrIGZvcm1hdHRpbmcgY29udGV4dCAoTkJGQykuXG4gKiAyLiBBdm9pZCBzaHJpbmstd3JhcCBiZWhhdmlvdXIgb2YgdGFibGUtY2VsbC5cbiAqXG4gKiBOLkIuIFRoaXMgYnJlYWtzIGRvd24gaW4gc29tZSBicm93c2VycyB3aGVuIGVsZW1lbnRzIHdpdGhpbiB0aGlzIGVsZW1lbnRcbiAqIGV4Y2VlZCBpdHMgd2lkdGguXG4gKi9cbi51LW5iZmNBbHQge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIC8qIDEgKi9cbiAgd2lkdGg6IDEwMDAwcHggIWltcG9ydGFudDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEZsb2F0c1xuICovXG4udS1mbG9hdExlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4udS1mbG9hdFJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51LWNmOmFmdGVyXFxAc21hbGxPbmx5IHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAudS1uYmZjXFxAc21hbGxPbmx5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbmJmY0FsdFxcQHNtYWxsT25seSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtZmxvYXRMZWZ0XFxAc21hbGxPbmx5IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LWZsb2F0UmlnaHRcXEBzbWFsbE9ubHkge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAudS1jZjphZnRlclxcQHNtYWxsVXAge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC51LW5iZmNcXEBzbWFsbFVwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbmJmY0FsdFxcQHNtYWxsVXAge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC51LWZsb2F0TGVmdFxcQHNtYWxsVXAge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtZmxvYXRSaWdodFxcQHNtYWxsVXAge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAudS1jZjphZnRlclxcQHNtYWxsRG93biB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnUtbmJmY1xcQHNtYWxsRG93biB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG4gIC51LW5iZmNBbHRcXEBzbWFsbERvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC51LWZsb2F0TGVmdFxcQHNtYWxsRG93biB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudS1mbG9hdFJpZ2h0XFxAc21hbGxEb3duIHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgLnUtY2Y6YWZ0ZXJcXEBtZWRpdW1Pbmx5IHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAudS1uYmZjXFxAbWVkaXVtT25seSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG4gIC51LW5iZmNBbHRcXEBtZWRpdW1Pbmx5IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMDAwcHggIWltcG9ydGFudDtcbiAgfVxuICAudS1mbG9hdExlZnRcXEBtZWRpdW1Pbmx5IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LWZsb2F0UmlnaHRcXEBtZWRpdW1Pbmx5IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnUtY2Y6YWZ0ZXJcXEBtZWRpdW1VcCB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnUtbmJmY1xcQG1lZGl1bVVwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbmJmY0FsdFxcQG1lZGl1bVVwIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMDAwcHggIWltcG9ydGFudDtcbiAgfVxuICAudS1mbG9hdExlZnRcXEBtZWRpdW1VcCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudS1mbG9hdFJpZ2h0XFxAbWVkaXVtVXAge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudS1jZjphZnRlclxcQG1lZGl1bURvd24ge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC51LW5iZmNcXEBtZWRpdW1Eb3duIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbmJmY0FsdFxcQG1lZGl1bURvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC51LWZsb2F0TGVmdFxcQG1lZGl1bURvd24ge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtZmxvYXRSaWdodFxcQG1lZGl1bURvd24ge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnUtY2Y6YWZ0ZXJcXEBsYXJnZVVwIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAudS1uYmZjXFxAbGFyZ2VVcCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG4gIC51LW5iZmNBbHRcXEBsYXJnZVVwIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMDAwcHggIWltcG9ydGFudDtcbiAgfVxuICAudS1mbG9hdExlZnRcXEBsYXJnZVVwIHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LWZsb2F0UmlnaHRcXEBsYXJnZVVwIHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC51LWNmOmFmdGVyXFxAbGFyZ2VEb3duIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAudS1uYmZjXFxAbGFyZ2VEb3duIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbmJmY0FsdFxcQGxhcmdlRG93biB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtZmxvYXRMZWZ0XFxAbGFyZ2VEb3duIHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LWZsb2F0UmlnaHRcXEBsYXJnZURvd24ge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBVdGlscy5Qb3NpdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51LXBvc0Fic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogUGlucyB0byBhbGwgY29ybmVycyBieSBkZWZhdWx0LiBCdXQgd2hlbiBhIHdpZHRoIGFuZC9vciBoZWlnaHQgYXJlXG4gKiBwcm92aWRlZCwgdGhlIGVsZW1lbnQgd2lsbCBiZSBjZW50ZXJlZCBpbiBpdHMgbmVhcmVzdCByZWxhdGl2ZWx5LXBvc2l0aW9uZWRcbiAqIGFuY2VzdG9yLlxuICovXG4udS1wb3NBYnNvbHV0ZUNlbnRlciB7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogMS4gTWFrZSBzdXJlIGZpeGVkIGVsZW1lbnRzIGFyZSBwcm9tb3RlZCBpbnRvIGEgbmV3IGxheWVyLCBmb3IgcGVyZm9ybWFuY2VcbiAqICAgIHJlYXNvbnMuXG4gKi9cbi51LXBvc0ZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLyogMSAqL1xufVxuXG4udS1wb3NSZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG4udS1wb3NTdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51LXBvc0Fic29sdXRlXFxAc21hbGxPbmx5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxuICAudS1wb3NBYnNvbHV0ZUNlbnRlclxcQHNtYWxsT25seSB7XG4gICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcG9zRml4ZWRcXEBzbWFsbE9ubHkge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvKiAxICovXG4gIH1cbiAgLnUtcG9zUmVsYXRpdmVcXEBzbWFsbE9ubHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBvc1N0YXRpY1xcQHNtYWxsT25seSB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAudS1wb3NBYnNvbHV0ZVxcQHNtYWxsVXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBvc0Fic29sdXRlQ2VudGVyXFxAc21hbGxVcCB7XG4gICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcG9zRml4ZWRcXEBzbWFsbFVwIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLyogMSAqL1xuICB9XG4gIC51LXBvc1JlbGF0aXZlXFxAc21hbGxVcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcG9zU3RhdGljXFxAc21hbGxVcCB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAudS1wb3NBYnNvbHV0ZVxcQHNtYWxsRG93biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcG9zQWJzb2x1dGVDZW50ZXJcXEBzbWFsbERvd24ge1xuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBvc0ZpeGVkXFxAc21hbGxEb3duIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLyogMSAqL1xuICB9XG4gIC51LXBvc1JlbGF0aXZlXFxAc21hbGxEb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgfVxuICAudS1wb3NTdGF0aWNcXEBzbWFsbERvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgLnUtcG9zQWJzb2x1dGVcXEBtZWRpdW1Pbmx5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxuICAudS1wb3NBYnNvbHV0ZUNlbnRlclxcQG1lZGl1bU9ubHkge1xuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBvc0ZpeGVkXFxAbWVkaXVtT25seSB7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8qIDEgKi9cbiAgfVxuICAudS1wb3NSZWxhdGl2ZVxcQG1lZGl1bU9ubHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBvc1N0YXRpY1xcQG1lZGl1bU9ubHkge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnUtcG9zQWJzb2x1dGVcXEBtZWRpdW1VcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcG9zQWJzb2x1dGVDZW50ZXJcXEBtZWRpdW1VcCB7XG4gICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcG9zRml4ZWRcXEBtZWRpdW1VcCB7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8qIDEgKi9cbiAgfVxuICAudS1wb3NSZWxhdGl2ZVxcQG1lZGl1bVVwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgfVxuICAudS1wb3NTdGF0aWNcXEBtZWRpdW1VcCB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudS1wb3NBYnNvbHV0ZVxcQG1lZGl1bURvd24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBvc0Fic29sdXRlQ2VudGVyXFxAbWVkaXVtRG93biB7XG4gICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcG9zRml4ZWRcXEBtZWRpdW1Eb3duIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLyogMSAqL1xuICB9XG4gIC51LXBvc1JlbGF0aXZlXFxAbWVkaXVtRG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcG9zU3RhdGljXFxAbWVkaXVtRG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnUtcG9zQWJzb2x1dGVcXEBsYXJnZVVwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxuICAudS1wb3NBYnNvbHV0ZUNlbnRlclxcQGxhcmdlVXAge1xuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBvc0ZpeGVkXFxAbGFyZ2VVcCB7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8qIDEgKi9cbiAgfVxuICAudS1wb3NSZWxhdGl2ZVxcQGxhcmdlVXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBvc1N0YXRpY1xcQGxhcmdlVXAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC51LXBvc0Fic29sdXRlXFxAbGFyZ2VEb3duIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxuICAudS1wb3NBYnNvbHV0ZUNlbnRlclxcQGxhcmdlRG93biB7XG4gICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcG9zRml4ZWRcXEBsYXJnZURvd24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvKiAxICovXG4gIH1cbiAgLnUtcG9zUmVsYXRpdmVcXEBsYXJnZURvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBvc1N0YXRpY1xcQGxhcmdlRG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBVdGlscy5TaXplXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSW50cmluc2ljIHdpZHRoc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogTWFrZSBhbiBlbGVtZW50IHNocmluayB3cmFwIGl0cyBjb250ZW50LlxuICovXG4udS1zaXplRml0LFxuLnUtc2l6ZUZpdEFsdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51LXNpemVGaXRBbHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBNYWtlIGFuIGVsZW1lbnQgZmlsbCB0aGUgcmVtYWluaW5nIHNwYWNlLlxuICogTi5CLiBUaGlzIHdpbGwgaGlkZSBvdmVyZmxvdy5cbiAqL1xuLnUtc2l6ZUZpbGwge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogQW4gYWx0ZXJuYXRpdmUgbWV0aG9kIHRvIG1ha2UgYW4gZWxlbWVudCBmaWxsIHRoZSByZW1haW5pbmcgc3BhY2UuXG4gKiBOLkIuIERvIG5vdCB1c2UgaWYgY2hpbGQgZWxlbWVudHMgbWlnaHQgYmUgd2lkZXIgdGhhbiB0aGUgcmVtYWluaW5nIHNwYWNlLlxuICogSW4gQ2hyb21lLCBTYWZhcmksIGFuZCBGaXJlZm94IGl0IHJlc3VsdHMgaW4gdW5kZXNpcmVkIGxheW91dC5cbiAqL1xuLnUtc2l6ZUZpbGxBbHQge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwMDBweCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIE1ha2UgYW4gZWxlbWVudCB0aGUgd2lkdGggb2YgaXRzIHBhcmVudC5cbiAqL1xuLnUtc2l6ZUZ1bGwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi51LXNpemUxb2YxIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnUtc2l6ZUZpdFxcQHNtYWxsT25seSxcbiAgLnUtc2l6ZUZpdEFsdFxcQHNtYWxsT25seSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZUZpdEFsdFxcQHNtYWxsT25seSB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZUZpbGxcXEBzbWFsbE9ubHkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZUZpbGxBbHRcXEBzbWFsbE9ubHkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemVGdWxsXFxAc21hbGxPbmx5IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUxb2YxXFxAc21hbGxPbmx5IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAudS1zaXplRml0XFxAc21hbGxVcCxcbiAgLnUtc2l6ZUZpdEFsdFxcQHNtYWxsVXAge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemVGaXRBbHRcXEBzbWFsbFVwIHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplRmlsbFxcQHNtYWxsVXAge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZUZpbGxBbHRcXEBzbWFsbFVwIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMDAwcHggIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplRnVsbFxcQHNtYWxsVXAge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjFcXEBzbWFsbFVwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAudS1zaXplRml0XFxAc21hbGxEb3duLFxuICAudS1zaXplRml0QWx0XFxAc21hbGxEb3duIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplRml0QWx0XFxAc21hbGxEb3duIHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplRmlsbFxcQHNtYWxsRG93biB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplRmlsbEFsdFxcQHNtYWxsRG93biB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZUZ1bGxcXEBzbWFsbERvd24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjFcXEBzbWFsbERvd24ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC51LXNpemVGaXRcXEBtZWRpdW1Pbmx5LFxuICAudS1zaXplRml0QWx0XFxAbWVkaXVtT25seSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZUZpdEFsdFxcQG1lZGl1bU9ubHkge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemVGaWxsXFxAbWVkaXVtT25seSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplRmlsbEFsdFxcQG1lZGl1bU9ubHkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemVGdWxsXFxAbWVkaXVtT25seSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mMVxcQG1lZGl1bU9ubHkge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51LXNpemVGaXRcXEBtZWRpdW1VcCxcbiAgLnUtc2l6ZUZpdEFsdFxcQG1lZGl1bVVwIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplRml0QWx0XFxAbWVkaXVtVXAge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemVGaWxsXFxAbWVkaXVtVXAge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZUZpbGxBbHRcXEBtZWRpdW1VcCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZUZ1bGxcXEBtZWRpdW1VcCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mMVxcQG1lZGl1bVVwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudS1zaXplRml0XFxAbWVkaXVtRG93bixcbiAgLnUtc2l6ZUZpdEFsdFxcQG1lZGl1bURvd24ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemVGaXRBbHRcXEBtZWRpdW1Eb3duIHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplRmlsbFxcQG1lZGl1bURvd24ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZUZpbGxBbHRcXEBtZWRpdW1Eb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMDAwcHggIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplRnVsbFxcQG1lZGl1bURvd24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjFcXEBtZWRpdW1Eb3duIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnUtc2l6ZUZpdFxcQGxhcmdlVXAsXG4gIC51LXNpemVGaXRBbHRcXEBsYXJnZVVwIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplRml0QWx0XFxAbGFyZ2VVcCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZUZpbGxcXEBsYXJnZVVwIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemVGaWxsQWx0XFxAbGFyZ2VVcCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZUZ1bGxcXEBsYXJnZVVwIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUxb2YxXFxAbGFyZ2VVcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC51LXNpemVGaXRcXEBsYXJnZURvd24sXG4gIC51LXNpemVGaXRBbHRcXEBsYXJnZURvd24ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemVGaXRBbHRcXEBsYXJnZURvd24ge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemVGaWxsXFxAbGFyZ2VEb3duIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemVGaWxsQWx0XFxAbGFyZ2VEb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMDAwcHggIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplRnVsbFxcQGxhcmdlRG93biB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mMVxcQGxhcmdlRG93biB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBQcm9wb3J0aW9uYWwgd2lkdGhzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnUtc2l6ZTFvZjIge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi51LXNpemUyb2YyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnUtc2l6ZTFvZjMge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbn1cblxuLnUtc2l6ZTJvZjMge1xuICB3aWR0aDogNjYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbn1cblxuLnUtc2l6ZTNvZjMge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4udS1zaXplMW9mNCB7XG4gIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbn1cblxuLnUtc2l6ZTJvZjQge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi51LXNpemUzb2Y0IHtcbiAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xufVxuXG4udS1zaXplNG9mNCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi51LXNpemUxb2Y1IHtcbiAgd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xufVxuXG4udS1zaXplMm9mNSB7XG4gIHdpZHRoOiA0MCUgIWltcG9ydGFudDtcbn1cblxuLnUtc2l6ZTNvZjUge1xuICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7XG59XG5cbi51LXNpemU0b2Y1IHtcbiAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xufVxuXG4udS1zaXplNW9mNSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi51LXNpemUxb2Y4IHtcbiAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG59XG5cbi51LXNpemUyb2Y4IHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4udS1zaXplM29mOCB7XG4gIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xufVxuXG4udS1zaXplNG9mOCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnUtc2l6ZTVvZjgge1xuICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbn1cblxuLnUtc2l6ZTZvZjgge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi51LXNpemU3b2Y4IHtcbiAgd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG59XG5cbi51LXNpemU4b2Y4IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnUtc2l6ZTFvZjJcXEBzbWFsbE9ubHkge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mMlxcQHNtYWxsT25seSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mM1xcQHNtYWxsT25seSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjNcXEBzbWFsbE9ubHkge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUzb2YzXFxAc21hbGxPbmx5IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUxb2Y0XFxAc21hbGxPbmx5IHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjRcXEBzbWFsbE9ubHkge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplM29mNFxcQHNtYWxsT25seSB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU0b2Y0XFxAc21hbGxPbmx5IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUxb2Y1XFxAc21hbGxPbmx5IHtcbiAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjVcXEBzbWFsbE9ubHkge1xuICAgIHdpZHRoOiA0MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplM29mNVxcQHNtYWxsT25seSB7XG4gICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU0b2Y1XFxAc21hbGxPbmx5IHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTVvZjVcXEBzbWFsbE9ubHkge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjhcXEBzbWFsbE9ubHkge1xuICAgIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUyb2Y4XFxAc21hbGxPbmx5IHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTNvZjhcXEBzbWFsbE9ubHkge1xuICAgIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU0b2Y4XFxAc21hbGxPbmx5IHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTVvZjhcXEBzbWFsbE9ubHkge1xuICAgIHdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU2b2Y4XFxAc21hbGxPbmx5IHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTdvZjhcXEBzbWFsbE9ubHkge1xuICAgIHdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU4b2Y4XFxAc21hbGxPbmx5IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAudS1zaXplMW9mMlxcQHNtYWxsVXAge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mMlxcQHNtYWxsVXAge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjNcXEBzbWFsbFVwIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mM1xcQHNtYWxsVXAge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUzb2YzXFxAc21hbGxVcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mNFxcQHNtYWxsVXAge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mNFxcQHNtYWxsVXAge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplM29mNFxcQHNtYWxsVXAge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNG9mNFxcQHNtYWxsVXAge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjVcXEBzbWFsbFVwIHtcbiAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjVcXEBzbWFsbFVwIHtcbiAgICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTNvZjVcXEBzbWFsbFVwIHtcbiAgICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTRvZjVcXEBzbWFsbFVwIHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTVvZjVcXEBzbWFsbFVwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUxb2Y4XFxAc21hbGxVcCB7XG4gICAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjhcXEBzbWFsbFVwIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTNvZjhcXEBzbWFsbFVwIHtcbiAgICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNG9mOFxcQHNtYWxsVXAge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNW9mOFxcQHNtYWxsVXAge1xuICAgIHdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU2b2Y4XFxAc21hbGxVcCB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU3b2Y4XFxAc21hbGxVcCB7XG4gICAgd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZThvZjhcXEBzbWFsbFVwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAudS1zaXplMW9mMlxcQHNtYWxsRG93biB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUyb2YyXFxAc21hbGxEb3duIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUxb2YzXFxAc21hbGxEb3duIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mM1xcQHNtYWxsRG93biB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTNvZjNcXEBzbWFsbERvd24ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjRcXEBzbWFsbERvd24ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mNFxcQHNtYWxsRG93biB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUzb2Y0XFxAc21hbGxEb3duIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTRvZjRcXEBzbWFsbERvd24ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjVcXEBzbWFsbERvd24ge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mNVxcQHNtYWxsRG93biB7XG4gICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUzb2Y1XFxAc21hbGxEb3duIHtcbiAgICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTRvZjVcXEBzbWFsbERvd24ge1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNW9mNVxcQHNtYWxsRG93biB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mOFxcQHNtYWxsRG93biB7XG4gICAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjhcXEBzbWFsbERvd24ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplM29mOFxcQHNtYWxsRG93biB7XG4gICAgd2lkdGg6IDM3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTRvZjhcXEBzbWFsbERvd24ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNW9mOFxcQHNtYWxsRG93biB7XG4gICAgd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTZvZjhcXEBzbWFsbERvd24ge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplN29mOFxcQHNtYWxsRG93biB7XG4gICAgd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZThvZjhcXEBzbWFsbERvd24ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC51LXNpemUxb2YyXFxAbWVkaXVtT25seSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUyb2YyXFxAbWVkaXVtT25seSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mM1xcQG1lZGl1bU9ubHkge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUyb2YzXFxAbWVkaXVtT25seSB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTNvZjNcXEBtZWRpdW1Pbmx5IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUxb2Y0XFxAbWVkaXVtT25seSB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUyb2Y0XFxAbWVkaXVtT25seSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUzb2Y0XFxAbWVkaXVtT25seSB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU0b2Y0XFxAbWVkaXVtT25seSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mNVxcQG1lZGl1bU9ubHkge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mNVxcQG1lZGl1bU9ubHkge1xuICAgIHdpZHRoOiA0MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplM29mNVxcQG1lZGl1bU9ubHkge1xuICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNG9mNVxcQG1lZGl1bU9ubHkge1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNW9mNVxcQG1lZGl1bU9ubHkge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjhcXEBtZWRpdW1Pbmx5IHtcbiAgICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mOFxcQG1lZGl1bU9ubHkge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplM29mOFxcQG1lZGl1bU9ubHkge1xuICAgIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU0b2Y4XFxAbWVkaXVtT25seSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU1b2Y4XFxAbWVkaXVtT25seSB7XG4gICAgd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTZvZjhcXEBtZWRpdW1Pbmx5IHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTdvZjhcXEBtZWRpdW1Pbmx5IHtcbiAgICB3aWR0aDogODcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplOG9mOFxcQG1lZGl1bU9ubHkge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51LXNpemUxb2YyXFxAbWVkaXVtVXAge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mMlxcQG1lZGl1bVVwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUxb2YzXFxAbWVkaXVtVXAge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUyb2YzXFxAbWVkaXVtVXAge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUzb2YzXFxAbWVkaXVtVXAge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjRcXEBtZWRpdW1VcCB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUyb2Y0XFxAbWVkaXVtVXAge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplM29mNFxcQG1lZGl1bVVwIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTRvZjRcXEBtZWRpdW1VcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mNVxcQG1lZGl1bVVwIHtcbiAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjVcXEBtZWRpdW1VcCB7XG4gICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUzb2Y1XFxAbWVkaXVtVXAge1xuICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNG9mNVxcQG1lZGl1bVVwIHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTVvZjVcXEBtZWRpdW1VcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mOFxcQG1lZGl1bVVwIHtcbiAgICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mOFxcQG1lZGl1bVVwIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTNvZjhcXEBtZWRpdW1VcCB7XG4gICAgd2lkdGg6IDM3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTRvZjhcXEBtZWRpdW1VcCB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU1b2Y4XFxAbWVkaXVtVXAge1xuICAgIHdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU2b2Y4XFxAbWVkaXVtVXAge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplN29mOFxcQG1lZGl1bVVwIHtcbiAgICB3aWR0aDogODcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplOG9mOFxcQG1lZGl1bVVwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudS1zaXplMW9mMlxcQG1lZGl1bURvd24ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mMlxcQG1lZGl1bURvd24ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjNcXEBtZWRpdW1Eb3duIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mM1xcQG1lZGl1bURvd24ge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUzb2YzXFxAbWVkaXVtRG93biB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mNFxcQG1lZGl1bURvd24ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mNFxcQG1lZGl1bURvd24ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplM29mNFxcQG1lZGl1bURvd24ge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNG9mNFxcQG1lZGl1bURvd24ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjVcXEBtZWRpdW1Eb3duIHtcbiAgICB3aWR0aDogMjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjVcXEBtZWRpdW1Eb3duIHtcbiAgICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTNvZjVcXEBtZWRpdW1Eb3duIHtcbiAgICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTRvZjVcXEBtZWRpdW1Eb3duIHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTVvZjVcXEBtZWRpdW1Eb3duIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUxb2Y4XFxAbWVkaXVtRG93biB7XG4gICAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjhcXEBtZWRpdW1Eb3duIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTNvZjhcXEBtZWRpdW1Eb3duIHtcbiAgICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNG9mOFxcQG1lZGl1bURvd24ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNW9mOFxcQG1lZGl1bURvd24ge1xuICAgIHdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU2b2Y4XFxAbWVkaXVtRG93biB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU3b2Y4XFxAbWVkaXVtRG93biB7XG4gICAgd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZThvZjhcXEBtZWRpdW1Eb3duIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnUtc2l6ZTFvZjJcXEBsYXJnZVVwIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjJcXEBsYXJnZVVwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUxb2YzXFxAbGFyZ2VVcCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjNcXEBsYXJnZVVwIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplM29mM1xcQGxhcmdlVXAge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjRcXEBsYXJnZVVwIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjRcXEBsYXJnZVVwIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTNvZjRcXEBsYXJnZVVwIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTRvZjRcXEBsYXJnZVVwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUxb2Y1XFxAbGFyZ2VVcCB7XG4gICAgd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUyb2Y1XFxAbGFyZ2VVcCB7XG4gICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUzb2Y1XFxAbGFyZ2VVcCB7XG4gICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU0b2Y1XFxAbGFyZ2VVcCB7XG4gICAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU1b2Y1XFxAbGFyZ2VVcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mOFxcQGxhcmdlVXAge1xuICAgIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUyb2Y4XFxAbGFyZ2VVcCB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUzb2Y4XFxAbGFyZ2VVcCB7XG4gICAgd2lkdGg6IDM3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTRvZjhcXEBsYXJnZVVwIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTVvZjhcXEBsYXJnZVVwIHtcbiAgICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNm9mOFxcQGxhcmdlVXAge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplN29mOFxcQGxhcmdlVXAge1xuICAgIHdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU4b2Y4XFxAbGFyZ2VVcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIxOXB4KSB7XG4gIC51LXNpemUxb2YyXFxAbGFyZ2VEb3duIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTJvZjJcXEBsYXJnZURvd24ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTFvZjNcXEBsYXJnZURvd24ge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUyb2YzXFxAbGFyZ2VEb3duIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplM29mM1xcQGxhcmdlRG93biB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mNFxcQGxhcmdlRG93biB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUyb2Y0XFxAbGFyZ2VEb3duIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTNvZjRcXEBsYXJnZURvd24ge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNG9mNFxcQGxhcmdlRG93biB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMW9mNVxcQGxhcmdlRG93biB7XG4gICAgd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUyb2Y1XFxAbGFyZ2VEb3duIHtcbiAgICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtc2l6ZTNvZjVcXEBsYXJnZURvd24ge1xuICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNG9mNVxcQGxhcmdlRG93biB7XG4gICAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU1b2Y1XFxAbGFyZ2VEb3duIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUxb2Y4XFxAbGFyZ2VEb3duIHtcbiAgICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplMm9mOFxcQGxhcmdlRG93biB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemUzb2Y4XFxAbGFyZ2VEb3duIHtcbiAgICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNG9mOFxcQGxhcmdlRG93biB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU1b2Y4XFxAbGFyZ2VEb3duIHtcbiAgICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplNm9mOFxcQGxhcmdlRG93biB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51LXNpemU3b2Y4XFxAbGFyZ2VEb3duIHtcbiAgICB3aWR0aDogODcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudS1zaXplOG9mOFxcQGxhcmdlRG93biB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVXRpbHMuU3BhY2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlc2V0IGFsbCBzcGFjZXNcbiAqL1xuLnUtcGFkZGluZ0Ege1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbkEge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBSZXNldCB2ZXJ0aWNhbCBzcGFjZXNcbiAqL1xuLnUtcGFkZGluZ1Yge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW5WIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogUmVzZXQgaG9yaXpvbnRhbCBzcGFjZXNcbiAqL1xuLnUtcGFkZGluZ0gge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW5IIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogUmVzZXQgdG9wIHNwYWNlXG4gKi9cbi51LXBhZGRpbmdUIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luVCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBSZXNldCByaWdodCBzcGFjZVxuICovXG4udS1wYWRkaW5nUiB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luUiB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIFJlc2V0IGJvdHRvbSBzcGFjZVxuICovXG4udS1wYWRkaW5nQiB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbkIge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogUmVzZXQgbGVmdCBzcGFjZVxuICovXG4udS1wYWRkaW5nTCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW5MIHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnUtcGFkZGluZ0FcXEBzbWFsbE9ubHkge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5BXFxAc21hbGxPbmx5IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1wYWRkaW5nVlxcQHNtYWxsT25seSB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpblZcXEBzbWFsbE9ubHkge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ0hcXEBzbWFsbE9ubHkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5IXFxAc21hbGxPbmx5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdUXFxAc21hbGxPbmx5IHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpblRcXEBzbWFsbE9ubHkge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1wYWRkaW5nUlxcQHNtYWxsT25seSB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpblJcXEBzbWFsbE9ubHkge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdCXFxAc21hbGxPbmx5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpbkJcXEBzbWFsbE9ubHkge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1wYWRkaW5nTFxcQHNtYWxsT25seSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luTFxcQHNtYWxsT25seSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnUtcGFkZGluZ0FcXEBzbWFsbFVwIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luQVxcQHNtYWxsVXAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdWXFxAc21hbGxVcCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpblZcXEBzbWFsbFVwIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdIXFxAc21hbGxVcCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpbkhcXEBzbWFsbFVwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdUXFxAc21hbGxVcCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5UXFxAc21hbGxVcCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdSXFxAc21hbGxVcCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpblJcXEBzbWFsbFVwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1wYWRkaW5nQlxcQHNtYWxsVXAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luQlxcQHNtYWxsVXAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1wYWRkaW5nTFxcQHNtYWxsVXAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpbkxcXEBzbWFsbFVwIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAudS1wYWRkaW5nQVxcQHNtYWxsRG93biB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpbkFcXEBzbWFsbERvd24ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdWXFxAc21hbGxEb3duIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luVlxcQHNtYWxsRG93biB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1wYWRkaW5nSFxcQHNtYWxsRG93biB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpbkhcXEBzbWFsbERvd24ge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ1RcXEBzbWFsbERvd24ge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luVFxcQHNtYWxsRG93biB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdSXFxAc21hbGxEb3duIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luUlxcQHNtYWxsRG93biB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ0JcXEBzbWFsbERvd24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luQlxcQHNtYWxsRG93biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdMXFxAc21hbGxEb3duIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5MXFxAc21hbGxEb3duIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAudS1wYWRkaW5nQVxcQG1lZGl1bU9ubHkge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5BXFxAbWVkaXVtT25seSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ1ZcXEBtZWRpdW1Pbmx5IHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luVlxcQG1lZGl1bU9ubHkge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ0hcXEBtZWRpdW1Pbmx5IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luSFxcQG1lZGl1bU9ubHkge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ1RcXEBtZWRpdW1Pbmx5IHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpblRcXEBtZWRpdW1Pbmx5IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ1JcXEBtZWRpdW1Pbmx5IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luUlxcQG1lZGl1bU9ubHkge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdCXFxAbWVkaXVtT25seSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5CXFxAbWVkaXVtT25seSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdMXFxAbWVkaXVtT25seSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luTFxcQG1lZGl1bU9ubHkge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51LXBhZGRpbmdBXFxAbWVkaXVtVXAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5BXFxAbWVkaXVtVXAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdWXFxAbWVkaXVtVXAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5WXFxAbWVkaXVtVXAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ0hcXEBtZWRpdW1VcCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpbkhcXEBtZWRpdW1VcCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1wYWRkaW5nVFxcQG1lZGl1bVVwIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpblRcXEBtZWRpdW1VcCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdSXFxAbWVkaXVtVXAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5SXFxAbWVkaXVtVXAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdCXFxAbWVkaXVtVXAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luQlxcQG1lZGl1bVVwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ0xcXEBtZWRpdW1VcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luTFxcQG1lZGl1bVVwIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudS1wYWRkaW5nQVxcQG1lZGl1bURvd24ge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5BXFxAbWVkaXVtRG93biB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ1ZcXEBtZWRpdW1Eb3duIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luVlxcQG1lZGl1bURvd24ge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ0hcXEBtZWRpdW1Eb3duIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luSFxcQG1lZGl1bURvd24ge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ1RcXEBtZWRpdW1Eb3duIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpblRcXEBtZWRpdW1Eb3duIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ1JcXEBtZWRpdW1Eb3duIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luUlxcQG1lZGl1bURvd24ge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdCXFxAbWVkaXVtRG93biB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5CXFxAbWVkaXVtRG93biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdMXFxAbWVkaXVtRG93biB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luTFxcQG1lZGl1bURvd24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAudS1wYWRkaW5nQVxcQGxhcmdlVXAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5BXFxAbGFyZ2VVcCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ1ZcXEBsYXJnZVVwIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luVlxcQGxhcmdlVXAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ0hcXEBsYXJnZVVwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luSFxcQGxhcmdlVXAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ1RcXEBsYXJnZVVwIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpblRcXEBsYXJnZVVwIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ1JcXEBsYXJnZVVwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luUlxcQGxhcmdlVXAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdCXFxAbGFyZ2VVcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5CXFxAbGFyZ2VVcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdMXFxAbGFyZ2VVcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luTFxcQGxhcmdlVXAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAudS1wYWRkaW5nQVxcQGxhcmdlRG93biB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpbkFcXEBsYXJnZURvd24ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdWXFxAbGFyZ2VEb3duIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luVlxcQGxhcmdlRG93biB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1wYWRkaW5nSFxcQGxhcmdlRG93biB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LW1hcmdpbkhcXEBsYXJnZURvd24ge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ1RcXEBsYXJnZURvd24ge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luVFxcQGxhcmdlRG93biB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdSXFxAbGFyZ2VEb3duIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luUlxcQGxhcmdlRG93biB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtcGFkZGluZ0JcXEBsYXJnZURvd24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtbWFyZ2luQlxcQGxhcmdlRG93biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXBhZGRpbmdMXFxAbGFyZ2VEb3duIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudS1tYXJnaW5MXFxAbGFyZ2VEb3duIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBVdGlscy5UZXh0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBXb3JkIGJyZWFraW5nXG4gKlxuICogQnJlYWsgc3RyaW5ncyB3aGVuIHRoZWlyIGxlbmd0aCBleGNlZWRzIHRoZSB3aWR0aCBvZiB0aGVpciBjb250YWluZXIuXG4gKi9cbi51LXRleHRCcmVhayB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIEhvcml6b250YWwgdGV4dCBhbGlnbm1lbnRcbiAqL1xuLnUtdGV4dENlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4udS10ZXh0TGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnUtdGV4dFJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBJbmhlcml0IHRoZSBhbmNlc3RvcidzIHRleHQgY29sb3IuXG4gKi9cbi51LXRleHRJbmhlcml0Q29sb3Ige1xuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIEVuYWJsZXMgZm9udCBrZXJuaW5nIGluIGFsbCBicm93c2Vycy5cbiAqIGh0dHA6Ly9ibG9nLnR5cGVraXQuY29tLzIwMTQvMDIvMDUva2VybmluZy1vbi10aGUtd2ViL1xuICpcbiAqIDEuIENocm9tZSAobm90IFdpbmRvd3MpLCBGaXJlZm94LCBTYWZhcmkgNissIGlPUywgQW5kcm9pZFxuICogMi4gQ2hyb21lIChub3QgV2luZG93cyksIEZpcmVmb3gsIElFIDEwK1xuICogMy4gU2FmYXJpIDcgYW5kIGZ1dHVyZSBicm93c2Vyc1xuICovXG4udS10ZXh0S2VybiB7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC8qIDEgKi9cbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxO1xuICAvKiAyICovXG4gIGZvbnQta2VybmluZzogbm9ybWFsO1xuICAvKiAzICovXG59XG5cbi8qKlxuICogUHJldmVudCB3aGl0ZXNwYWNlIHdyYXBwaW5nXG4gKi9cbi51LXRleHROb1dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogVGV4dCB0cnVuY2F0aW9uXG4gKlxuICogUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lcywgYW5kIHRydW5jYXRlIHdpdGggYW5cbiAqIGVsbGlwc2lzLlxuICpcbiAqIDEuIEVuc3VyZSB0aGF0IHRoZSBub2RlIGhhcyBhIG1heGltdW0gd2lkdGggYWZ0ZXIgd2hpY2ggdHJ1bmNhdGlvbiBjYW5cbiAqICAgIG9jY3VyLlxuICogMi4gRml4IGZvciBJRSA4LzkgaWYgYHdvcmQtd3JhcDogYnJlYWstd29yZGAgaXMgaW4gZWZmZWN0IG9uIGFuY2VzdG9yXG4gKiAgICBub2Rlcy5cbiAqL1xuLnUtdGV4dFRydW5jYXRlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAvKiAyICovXG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51LXRleHRCcmVha1xcQHNtYWxsT25seSB7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dENlbnRlclxcQHNtYWxsT25seSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dExlZnRcXEBzbWFsbE9ubHkge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudS10ZXh0UmlnaHRcXEBzbWFsbE9ubHkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dEluaGVyaXRDb2xvclxcQHNtYWxsT25seSB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxuICAudS10ZXh0S2VyblxcQHNtYWxsT25seSB7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAvKiAxICovXG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxO1xuICAgIC8qIDIgKi9cbiAgICBmb250LWtlcm5pbmc6IG5vcm1hbDtcbiAgICAvKiAzICovXG4gIH1cbiAgLnUtdGV4dE5vV3JhcFxcQHNtYWxsT25seSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRUcnVuY2F0ZVxcQHNtYWxsT25seSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAvKiAyICovXG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC51LXRleHRCcmVha1xcQHNtYWxsVXAge1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRDZW50ZXJcXEBzbWFsbFVwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAudS10ZXh0TGVmdFxcQHNtYWxsVXAge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudS10ZXh0UmlnaHRcXEBzbWFsbFVwIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRJbmhlcml0Q29sb3JcXEBzbWFsbFVwIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRLZXJuXFxAc21hbGxVcCB7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAvKiAxICovXG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxO1xuICAgIC8qIDIgKi9cbiAgICBmb250LWtlcm5pbmc6IG5vcm1hbDtcbiAgICAvKiAzICovXG4gIH1cbiAgLnUtdGV4dE5vV3JhcFxcQHNtYWxsVXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuICAudS10ZXh0VHJ1bmNhdGVcXEBzbWFsbFVwIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIC8qIDIgKi9cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLnUtdGV4dEJyZWFrXFxAc21hbGxEb3duIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgfVxuICAudS10ZXh0Q2VudGVyXFxAc21hbGxEb3duIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAudS10ZXh0TGVmdFxcQHNtYWxsRG93biB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRSaWdodFxcQHNtYWxsRG93biB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudS10ZXh0SW5oZXJpdENvbG9yXFxAc21hbGxEb3duIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRLZXJuXFxAc21hbGxEb3duIHtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDE7XG4gICAgLyogMiAqL1xuICAgIGZvbnQta2VybmluZzogbm9ybWFsO1xuICAgIC8qIDMgKi9cbiAgfVxuICAudS10ZXh0Tm9XcmFwXFxAc21hbGxEb3duIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dFRydW5jYXRlXFxAc21hbGxEb3duIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIC8qIDIgKi9cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgLnUtdGV4dEJyZWFrXFxAbWVkaXVtT25seSB7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dENlbnRlclxcQG1lZGl1bU9ubHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRMZWZ0XFxAbWVkaXVtT25seSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRSaWdodFxcQG1lZGl1bU9ubHkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dEluaGVyaXRDb2xvclxcQG1lZGl1bU9ubHkge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dEtlcm5cXEBtZWRpdW1Pbmx5IHtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDE7XG4gICAgLyogMiAqL1xuICAgIGZvbnQta2VybmluZzogbm9ybWFsO1xuICAgIC8qIDMgKi9cbiAgfVxuICAudS10ZXh0Tm9XcmFwXFxAbWVkaXVtT25seSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRUcnVuY2F0ZVxcQG1lZGl1bU9ubHkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgLyogMiAqL1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudS10ZXh0QnJlYWtcXEBtZWRpdW1VcCB7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dENlbnRlclxcQG1lZGl1bVVwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAudS10ZXh0TGVmdFxcQG1lZGl1bVVwIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dFJpZ2h0XFxAbWVkaXVtVXAge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dEluaGVyaXRDb2xvclxcQG1lZGl1bVVwIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRLZXJuXFxAbWVkaXVtVXAge1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMTtcbiAgICAvKiAyICovXG4gICAgZm9udC1rZXJuaW5nOiBub3JtYWw7XG4gICAgLyogMyAqL1xuICB9XG4gIC51LXRleHROb1dyYXBcXEBtZWRpdW1VcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRUcnVuY2F0ZVxcQG1lZGl1bVVwIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIC8qIDIgKi9cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnUtdGV4dEJyZWFrXFxAbWVkaXVtRG93biB7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dENlbnRlclxcQG1lZGl1bURvd24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRMZWZ0XFxAbWVkaXVtRG93biB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRSaWdodFxcQG1lZGl1bURvd24ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dEluaGVyaXRDb2xvclxcQG1lZGl1bURvd24ge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dEtlcm5cXEBtZWRpdW1Eb3duIHtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDE7XG4gICAgLyogMiAqL1xuICAgIGZvbnQta2VybmluZzogbm9ybWFsO1xuICAgIC8qIDMgKi9cbiAgfVxuICAudS10ZXh0Tm9XcmFwXFxAbWVkaXVtRG93biB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRUcnVuY2F0ZVxcQG1lZGl1bURvd24ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgLyogMiAqL1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLnUtdGV4dEJyZWFrXFxAbGFyZ2VVcCB7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dENlbnRlclxcQGxhcmdlVXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRMZWZ0XFxAbGFyZ2VVcCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRSaWdodFxcQGxhcmdlVXAge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dEluaGVyaXRDb2xvclxcQGxhcmdlVXAge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dEtlcm5cXEBsYXJnZVVwIHtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDE7XG4gICAgLyogMiAqL1xuICAgIGZvbnQta2VybmluZzogbm9ybWFsO1xuICAgIC8qIDMgKi9cbiAgfVxuICAudS10ZXh0Tm9XcmFwXFxAbGFyZ2VVcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRUcnVuY2F0ZVxcQGxhcmdlVXAge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgLyogMiAqL1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjE5cHgpIHtcbiAgLnUtdGV4dEJyZWFrXFxAbGFyZ2VEb3duIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgfVxuICAudS10ZXh0Q2VudGVyXFxAbGFyZ2VEb3duIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAudS10ZXh0TGVmdFxcQGxhcmdlRG93biB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRSaWdodFxcQGxhcmdlRG93biB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudS10ZXh0SW5oZXJpdENvbG9yXFxAbGFyZ2VEb3duIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB9XG4gIC51LXRleHRLZXJuXFxAbGFyZ2VEb3duIHtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDE7XG4gICAgLyogMiAqL1xuICAgIGZvbnQta2VybmluZzogbm9ybWFsO1xuICAgIC8qIDMgKi9cbiAgfVxuICAudS10ZXh0Tm9XcmFwXFxAbGFyZ2VEb3duIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnUtdGV4dFRydW5jYXRlXFxAbGFyZ2VEb3duIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIC8qIDIgKi9cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1haW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogU2V0dGluZ3NcbiAqL1xuXG5AaW1wb3J0IFwic2V0dGluZ3MvZGVmYXVsdHNcIjtcblxuXG5cbi8qKlxuICogVG9vbHNcbiAqL1xuXG5AaW1wb3J0IFwidG9vbHMvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwidG9vbHMvbWl4aW5zXCI7XG5cbkBpbXBvcnQgXCJib3dlcl9jb21wb25lbnRzL2luY2x1ZGUtbWVkaWEvZGlzdC9pbmNsdWRlLW1lZGlhXCI7XG5AaW1wb3J0IFwiYm93ZXJfY29tcG9uZW50cy9pbmNsdWRlLW1lZGlhLWV4cG9ydC9kaXN0L2luY2x1ZGUtbWVkaWEtZXhwb3J0XCI7XG5cblxuXG4vKipcbiAqIEdlbmVyaWNcbiAqL1xuXG5AaW1wb3J0IFwiZ2VuZXJpYy9yZXNldFwiO1xuQGltcG9ydCBcImdlbmVyaWMvc2hhcmVkXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9ib3gtc2l6aW5nXCI7XG5cblxuXG4vKipcbiAqIEJhc2VcbiAqL1xuXG5AaW1wb3J0IFwiYmFzZS9mb250c1wiO1xuQGltcG9ydCBcImJhc2UvcGFnZVwiO1xuQGltcG9ydCBcImJhc2UvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImJhc2UvaW1hZ2VzXCI7XG5cblxuXG4vKipcbiAqIE9iamVjdHNcbiAqL1xuXG4vLyBAaW1wb3J0IFwib2JqZWN0cy9hbmltYXRpb25zXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9idXR0b25cIjtcbkBpbXBvcnQgXCJvYmplY3RzL2NvbG9yXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9jb250YWluZXJcIjtcbkBpbXBvcnQgXCJvYmplY3RzL2VtYmVkXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9ncmlkXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9pY29uXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9saXN0XCI7XG5AaW1wb3J0IFwib2JqZWN0cy9zaXplXCI7XG5cblxuXG4vKipcbiAqIExpYnNcbiAqL1xuXG5AaW1wb3J0IFwiYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImJvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnNcIjtcbkBpbXBvcnQgXCJib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvY29tcG9uZW50LWFuaW1hdGlvbnNcIjtcbkBpbXBvcnQgXCJib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvZHJvcGRvd25zXCI7XG5AaW1wb3J0IFwiYm93ZXJfY29tcG9uZW50cy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzXCI7XG4vLyBAaW1wb3J0IFwiYm93ZXJfY29tcG9uZW50cy9tYWduaWZpYy1wb3B1cC9kaXN0L21hZ25pZmljLXBvcHVwXCI7XG5cblxuXG4vKipcbiAqIENvbXBvbmVudHNcbiAqL1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25cIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvcGFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xvZ29cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Nvbm5lY3RcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hhbWJ1cmdlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29sbGFwc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21lbnVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2JyZWFkY3J1bWJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zbGlkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlcm9cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3N1cHBvcnRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3d5c2l3eWdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2dhbGxlcnlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Rvd25sb2Fkc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGltZWxpbmVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2V4Y2VycHRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NlbGxzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jdGFcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Nhcm91c2VsXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wb3N0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYXJ0bmVyc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGlyZWN0b3J5XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb290ZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21hcFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdXBcIjtcblxuXG4vKipcbiAqIFV0aWxzXG4gKi9cblxuQGltcG9ydCBcInV0aWxzL2FsaWduXCI7XG5AaW1wb3J0IFwidXRpbHMvZGlzcGxheVwiO1xuQGltcG9ydCBcInV0aWxzL2xheW91dFwiO1xuQGltcG9ydCBcInV0aWxzL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwidXRpbHMvc2l6ZVwiO1xuQGltcG9ydCBcInV0aWxzL3NwYWNlXCI7XG5AaW1wb3J0IFwidXRpbHMvdGV4dFwiO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNldHRpbmdzLkRlZmF1bHRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEJyZWFrcG9pbnRzXG4gKi9cblxuJGJyZWFrcG9pbnRzOiAoXG4gICAgc21hbGw6IDQ4MHB4LFxuICAgIG1lZGl1bTogNzY4cHgsXG4gICAgbGFyZ2U6IDEyMjBweFxuKTtcbiRicmVha3BvaW50c0xlbmd0aDogbGVuZ3RoKCRicmVha3BvaW50cyk7XG5cblxuXG4vKipcbiAqIEZvbnRzXG4gKi9cblxuJEZvbnQtZGVmYXVsdFNhbnM6ICAgICAgICAgICAgICAgIEFyaWFsLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4kRm9udC1kZWZhdWx0U2VyaWY6ICAgICAgICAgICAgICAgVGltZXMsIEdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjtcblxuJEZvbnQtYWxwaGE6ICAgICAgICAgICAgICAgICAgICAgICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcblxuXG5cbi8qKlxuICogUHJvamVjdCBiYXNpYyB2YXJzXG4gKi9cblxuJEJhc2UtY29sb3JBbHBoYTogICAgICAgICAgICAgICAgICMzM2FkZGY7XG4kQmFzZS1jb2xvckJldGE6ICAgICAgICAgICAgICAgICAgI2Y1OWMxMDtcbiRCYXNlLWNvbG9yR2FtbWE6ICAgICAgICAgICAgICAgICAjNTFiMDQ4O1xuXG4kQmFzZS1jb2xvckJhY2tncm91bmQ6ICAgICAgICAgICAgI2ZmZjtcbiRCYXNlLWNvbG9yVGV4dDogICAgICAgICAgICAgICAgICAjMDAwO1xuJEJhc2UtY29sb3JMaW5rczogICAgICAgICAgICAgICAgIGluaGVyaXQ7XG5cbiRCYXNlLXNlbGVjdGlvbkJhY2tncm91bmQ6ICAgICAgICAkQmFzZS1jb2xvclRleHQ7XG4kQmFzZS1zZWxlY3Rpb25UZXh0OiAgICAgICAgICAgICAgJEJhc2UtY29sb3JCYWNrZ3JvdW5kO1xuXG4kQmFzZS1mb250RmFtaWx5OiAgICAgICAgICAgICAgICAgJEZvbnQtYWxwaGE7XG4kQmFzZS1mb250U2l6ZTogICAgICAgICAgICAgICAgICAgMTRweDtcbiRCYXNlLWZvbnRTaXplTWVkaXVtVXA6ICAgICAgICAgICAxNnB4O1xuJEJhc2UtZm9udFNpemVMYXJnZVVwOiAgICAgICAgICAgIDE2cHg7XG5cbiRCYXNlLWxpbmVIZWlnaHQ6ICAgICAgICAgICAgICAgICAxLjUgKiAkQmFzZS1mb250U2l6ZTtcbiRCYXNlLWxpbmVIZWlnaHRNZWRpdW1VcDogICAgICAgICAxLjUgKiAkQmFzZS1mb250U2l6ZU1lZGl1bVVwO1xuJEJhc2UtbGluZUhlaWdodExhcmdlVXA6ICAgICAgICAgIDEuNSAqICRCYXNlLWZvbnRTaXplTGFyZ2VVcDtcblxuJEJhc2Utbm9ybWFsV2VpZ2h0OiAgICAgICAgICAgICAgIDMwMDtcbiRCYXNlLXN0cm9uZ1dlaWdodDogICAgICAgICAgICAgICA2MDA7XG5cbiRCYXNlLXVuaXRWOiAgICAgICAgICAgICAgICAgICAgICAyMHB4O1xuJEJhc2UtdW5pdEg6ICAgICAgICAgICAgICAgICAgICAgIDIwcHg7XG5cbiRCYXNlLWNvbnRhaW5lcldpZHRoOiAgICAgICAgICAgICAxMTgwcHg7XG4kQmFzZS1jb250YWluZXJQYWRkaW5nOiAgICAgICAgICAgMjBweDtcbiRCYXNlLWNvbnRhaW5lclBhZGRpbmdNZWRpdW1VcDogICAyMHB4O1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRvb2xzLkZ1bmN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBGdW5jdGlvbiBmb3IgcmVtIG1peGluIHdoaWNoIHJlbW92ZXMgdW5pdHMuXG4gKi9cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJE51bSkge1xuICAgIEByZXR1cm4gJE51bSAvICgkTnVtICogMCArIDEpO1xufVxuXG5cblxuLyoqXG4gKiBCYXNpYyBmcmFjdGlvbnM6XG4gKi9cblxuQGZ1bmN0aW9uIHF1YXJ0ZXIoJE51bSkge1xuICAgIEByZXR1cm4gcm91bmQoJE51bSAvIDQpO1xufVxuXG5AZnVuY3Rpb24gdGhpcmQoJE51bSkge1xuICAgIEByZXR1cm4gcm91bmQoJE51bSAvIDMpO1xufVxuXG5AZnVuY3Rpb24gaGFsdmUoJE51bSkge1xuICAgIEByZXR1cm4gcm91bmQoJE51bSAvIDIpO1xufVxuXG5AZnVuY3Rpb24gZG91YmxlKCROdW0pIHtcbiAgICBAcmV0dXJuIHJvdW5kKCROdW0gKiAyKTtcbn1cblxuQGZ1bmN0aW9uIHRyZWJsZSgkTnVtKSB7XG4gICAgQHJldHVybiByb3VuZCgkTnVtICogMyk7XG59XG5cbkBmdW5jdGlvbiBxdWFkcnVwbGUoJE51bSkge1xuICAgIEByZXR1cm4gcm91bmQoJE51bSAqIDQpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRvb2xzLk1peGluc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBHZW5lcmF0ZXMgY29sdW1uIGNsYXNzZXMgYmFzZWQgb24gdGhlIGRlZmluZWQgYnJlYWtwb2ludHMsXG4gKiBuYW1lZCB3aXRoIHRoZSBjb252ZW50aW9uIGAudS1zaXpleG9meUBicmVha3BvaW50YCwgd2hlcmVcbiAqIGB4YCBpcyBhIHN1YmRpdmlzaW9uIG9mIGB5YC5cbiAqXG4gKiBAaW5jbHVkZSBjb2x1bW5zKDMsIDQpO1xuICpcbiAqIEdlbmVyYXRlczpcbiAqICAudS1zaXplMW9mM0BzbWFsbE9ubHlcbiAqICAudS1zaXplMW9mM0BzbWFsbFVwXG4gKiAgLnUtc2l6ZTFvZjNAc21hbGxEb3duXG4gKiAgLnUtc2l6ZTFvZjNAbWVkaXVtT25seVxuICogIC51LXNpemUxb2YzQG1lZGl1bVVwXG4gKiAgLnUtc2l6ZTFvZjNAbWVkaXVtRG93blxuICogIC51LXNpemUxb2YzQGxhcmdlVXBcbiAqICAudS1zaXplMW9mM0BsYXJnZURvd25cbiAqICAudS1zaXplMm9mM0BzbWFsbE9ubHlcbiAqICAudS1zaXplMm9mM0BzbWFsbFVwXG4gKiAgLnUtc2l6ZTJvZjNAc21hbGxEb3duXG4gKiAgLnUtc2l6ZTJvZjNAbWVkaXVtT25seVxuICogIC51LXNpemUyb2YzQG1lZGl1bVVwXG4gKiAgLnUtc2l6ZTJvZjNAbWVkaXVtRG93blxuICogIC51LXNpemUyb2YzQGxhcmdlVXBcbiAqICAudS1zaXplMm9mM0BsYXJnZURvd25cbiAqXG4gKiAgKC4uLilcbiAqL1xuXG5AbWl4aW4gY29sdW1ucygkY29sdW1ucy4uLikge1xuICAgIEBlYWNoICRpIGluICRjb2x1bW5zIHtcbiAgICAgICAgQGZvciAkbiBmcm9tIDEgdGhyb3VnaCAkaSB7XG4gICAgICAgICAgICAudS1zaXplI3skbn1vZiN7JGl9IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogKCRuIC8gJGkpICogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYnJlYWtwb2ludHNMZW5ndGgge1xuICAgICAgICAkYnJlYWtwb2ludDogbnRoKCRicmVha3BvaW50cywgJGkpO1xuICAgICAgICAkYnJlYWtwb2ludE5hbWU6IG50aCgkYnJlYWtwb2ludCwgMSk7XG5cbiAgICAgICAgQGlmICRpIDwgJGJyZWFrcG9pbnRzTGVuZ3RoIHtcbiAgICAgICAgICAgICRicmVha3BvaW50TmV4dDogbnRoKCRicmVha3BvaW50cywgJGkgKyAxKTtcbiAgICAgICAgICAgICRicmVha3BvaW50TmFtZU5leHQ6IG50aCgkYnJlYWtwb2ludE5leHQsIDEpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgjeyc+PScgKyAkYnJlYWtwb2ludE5hbWV9LCAjeyc8JyArICRicmVha3BvaW50TmFtZU5leHR9KSB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGkgaW4gJGNvbHVtbnMge1xuICAgICAgICAgICAgICAgICAgICBAZm9yICRuIGZyb20gMSB0aHJvdWdoICRpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC51LXNpemUjeyRufW9mI3skaX1cXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogKCRuIC8gJGkpICogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3snPj0nICsgJGJyZWFrcG9pbnROYW1lfSkge1xuICAgICAgICAgICAgQGVhY2ggJGkgaW4gJGNvbHVtbnMge1xuICAgICAgICAgICAgICAgIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJGkge1xuICAgICAgICAgICAgICAgICAgICAudS1zaXplI3skbn1vZiN7JGl9XFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICgkbiAvICRpKSAqIDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JzwnICsgJGJyZWFrcG9pbnROYW1lfSkge1xuICAgICAgICAgICAgQGVhY2ggJGkgaW4gJGNvbHVtbnMge1xuICAgICAgICAgICAgICAgIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggJGkge1xuICAgICAgICAgICAgICAgICAgICAudS1zaXplI3skbn1vZiN7JGl9XFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogKCRuIC8gJGkpICogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLyoqXG4gKiBNaXhpbiBmb3IgcmVtIHVuaXRzIHdpdGhpbiBweCBmYWxsYmFjay5cbiAqIGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9jc3MvbGVzcy1taXhpbi1mb3ItcmVtLWZvbnQtc2l6aW5nL1xuICpcbiAqIC5mb28ge1xuICogICAgIEBpbmNsdWRlIHJlbShtYXJnaW4sIDEwLCAyMCwgMzAsIDQwKTtcbiAqIH1cbiAqXG4gKiAuZm9vIHtcbiAqICAgICBtYXJnaW46IDE2MHB4IDMyMHB4IDQ4MHB4IDY0MHB4O1xuICogICAgIG1hcmdpbjogMTByZW0gMjByZW0gMzByZW0gNDByZW07XG4gKiB9XG4gKlxuICovXG5cbkBtaXhpbiByZW0oJHByb3BlcnR5LCAkdmFsdWVzLi4uKSB7XG4gICAgJG1heDogbGVuZ3RoKCR2YWx1ZXMpO1xuICAgICRiYXNpY1NpemU6IHN0cmlwLXVuaXQoMTZweCk7XG4gICAgJHB4VmFsdWVzOiAnJztcbiAgICAkcmVtVmFsdWVzOiAnJztcblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG4gICAgICAgICR2YWx1ZTogc3RyaXAtdW5pdChudGgoJHZhbHVlcywgJGkpKTtcbiAgICAgICAgJHB4VmFsdWVzOiAjeyRweFZhbHVlcyArICR2YWx1ZX1weDtcblxuICAgICAgICBAaWYgJGkgPCAkbWF4IHtcbiAgICAgICAgICAgICRweFZhbHVlczogI3skcHhWYWx1ZXMgKyBcIiBcIn07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICAgICAkdmFsdWU6IHN0cmlwLXVuaXQobnRoKCR2YWx1ZXMsICRpKSk7XG4gICAgICAgICRyZW1WYWx1ZXM6ICN7JHJlbVZhbHVlcyArICR2YWx1ZS8kYmFzaWNTaXplfXJlbTtcblxuICAgICAgICBAaWYgJGkgPCAkbWF4IHtcbiAgICAgICAgICAgICRyZW1WYWx1ZXM6ICN7JHJlbVZhbHVlcyArIFwiIFwifTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN7JHByb3BlcnR5fTogJHB4VmFsdWVzO1xuICAgICN7JHByb3BlcnR5fTogJHJlbVZhbHVlcztcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcblxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgU3BhY2VBcm91bmRPcGVyYXRvclxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy9cbi8vLyBHZW5lcmF0ZXMgYSBKU09OIHN0cmluZyB3aXRoIGVhY2ggYnJlYWtwb2ludCdzIHZhbHVlIGFuZCBpbmZvcm1hdGlvbiBhYm91dFxuLy8vIHdoaWNoIG9mIHRoZSBicmVha3BvaW50cyBhcmUgY3VycmVudGx5IGFjdGl2ZSAoaS5lLiB2aWV3cG9ydCB3aWR0aCA+PSBicmVha3BvaW50KVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0YXJnZXQtbmFtZSAtIE5hbWUgb2YgYnJlYWtwb2ludCB0byBldmFsdWF0ZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFJlc3VsdGluZyBKU09OIHN0cmluZ1xuLy8vXG4vLy8gQGV4YW1wbGUganNvbiAtIEZvciBhIHdpZHRoIG9mIDkwMHB4XG4vLy8gICd7XCJwaG9uZVwiOntcInZhbHVlXCI6IFwiMzIwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwidGFibGV0XCI6e1widmFsdWVcIjogXCI3NjhweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJkZXNrdG9wXCI6e1widmFsdWVcIjogXCIxMDI0cHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9fSdcbi8vL1xuQGZ1bmN0aW9uIGltLWJyZWFrcG9pbnRzLXRvLWpzb24oJHRhcmdldC1uYW1lKSB7XG4gICRicmVha3BvaW50cy1qc29uOiAoKTtcbiAgJHRhcmdldC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR0YXJnZXQtbmFtZSk7XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgICRicmVha3BvaW50OiAnXCIjeyRuYW1lfVwiOntcInZhbHVlXCI6IFwiI3skdmFsdWV9XCIsIFwiYWN0aXZlXCI6ICN7JHRhcmdldC12YWx1ZSA+PSAkdmFsdWV9fSc7XG4gICAgJGJyZWFrcG9pbnRzLWpzb246IGFwcGVuZCgkYnJlYWtwb2ludHMtanNvbiwgJGJyZWFrcG9pbnQsICdjb21tYScpO1xuICB9XG5cbiAgQHJldHVybiAneyN7JGJyZWFrcG9pbnRzLWpzb259fSc7XG59XG5cbi8vL1xuLy8vIEdlbmVyYXRlcyB0aGUgbWVkaWEgcXVlcmllcyBuZWNlc3NhcnkgdG8gZXhwb3J0IGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGVsZW1lbnQgLSBFbGVtZW50IHRvIGFwcGVuZCBKU09OIGRhdGEgdG9cbi8vL1xuQG1peGluIGltLWV4cG9ydCgkZWxlbWVudCkge1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49I3skbmFtZX0nKSB7XG4gICAgICAjeyRlbGVtZW50fSB7XG4gICAgICAgIGNvbnRlbnQ6IGltLWJyZWFrcG9pbnRzLXRvLWpzb24oJG5hbWUpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgaW0tZXhwb3J0KGlmKHZhcmlhYmxlLWV4aXN0cygnaW0tZXhwb3J0LWVsZW1lbnQnKSwgJGltLWV4cG9ydC1lbGVtZW50ICsgJzo6YWZ0ZXInLCAnYm9keTo6YWZ0ZXInKSk7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR2VuZXJpYy5SZXNldFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHRoaW4gbGF5ZXIgb24gdG9wIG9mIG5vcm1hbGl6ZS5jc3MgdGhhdCBwcm92aWRlcyBhIHN0YXJ0aW5nIHBvaW50IG1vcmVcbiAqIHN1aXRhYmxlIGZvciB3ZWIgYXBwbGljYXRpb25zLlxuICovXG5cbmJsb2NrcXVvdGUsXG5kbCxcbmRkLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuZmlndXJlLFxub2wsXG5wLFxucHJlLFxudWwge1xuICAgIG1hcmdpbjogMDtcbn1cblxuZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbn1cblxuaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR2VuZXJpYy5TaGFyZWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogV2hlcmUgYG1hcmdpbi1ib3R0b21gIGlzIGNvbmNlcm5lZCx0aGlzIHZhbHVlIHdpbGwgYmUgdGhlIHNhbWUgYXMgdGhlXG4gKiBiYXNlIGxpbmUtaGVpZ2h0LiBUaGlzIGFsbG93cyB1cyB0byBrZWVwIGEgY29uc2lzdGVudCB2ZXJ0aWNhbCByaHl0aG0uXG4gKiBBcyBwZXI6IGNzc3dpemFyZHJ5LmNvbS8yMDEyLzA2L3NpbmdsZS1kaXJlY3Rpb24tbWFyZ2luLWRlY2xhcmF0aW9uc1xuICovXG5cbmFkZHJlc3MsXG5ibG9ja3F1b3RlLFxuZGwsXG5maWVsZHNldCxcbmZpZ3VyZSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbm9sLFxucCxcbnByZSxcbnVsLFxudGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206ICRCYXNlLXVuaXRWO1xufVxuXG5cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gYXVkaW8sIGNhbnZhcywgaWZyYW1lcyxcbiAqIGltYWdlcywgdmlkZW9zIGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnM6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvNDQwXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG5cbi8qKlxuICogU2FtZSBgbGluZS1oZWlnaHRgIGZvciBiYXNpYyBmb3JtIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogJEJhc2UtbGluZUhlaWdodCAvICRCYXNlLWZvbnRTaXplO1xufVxuXG5cblxuLypcbiAqIEFsbG93IG9ubHkgdmVydGljYWwgcmVzaXppbmcgb2YgdGV4dGFyZWFzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5cblxuLyoqXG4gKiBTdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZSBvbiBlbGVtZW50cyB0aGF0IGNhbm5vdCBiZSBhY2Nlc3NlZCB2aWEga2V5Ym9hcmQuXG4gKiBUaGlzIHByZXZlbnRzIGFuIHVud2FudGVkIGZvY3VzIG91dGxpbmUgZnJvbSBhcHBlYXJpbmcgYXJvdW5kIGVsZW1lbnRzIHRoYXRcbiAqIG1pZ2h0IHN0aWxsIHJlc3BvbmQgdG8gcG9pbnRlciBldmVudHMuXG4gKi9cblxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHZW5lcmljLkJveC1TaXppbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogR2xvYmFsIGBib3gtc2l6aW5nYCBzZXR0aW5ncy5cbiAqIGNzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZVxuICogcGF1bGlyaXNoLmNvbS8yMDEyL2JveC1zaXppbmctYm9yZGVyLWJveC1mdHdcbiAqL1xuXG4qIHtcbiAgICAmLFxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlLkZvbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1Byb3hpbWEgTm92YSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3Byb3hpbWEtbm92YS9wcm94aW1hbm92YS1saWdodC13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtbGlnaHQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtbGlnaHQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcHJveGltYS1ub3ZhL3Byb3hpbWFub3ZhLWxpZ2h0LXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtbGlnaHQtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3Byb3hpbWEtbm92YS9wcm94aW1hbm92YS1saWdodC13ZWJmb250LnN2ZyNwcm94aW1hX25vdmFsaWdodCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcHJveGltYS1ub3ZhL3Byb3hpbWFub3ZhLXJlZ3VsYXItd2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcHJveGltYS1ub3ZhL3Byb3hpbWFub3ZhLXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtcmVndWxhci13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcHJveGltYS1ub3ZhL3Byb3hpbWFub3ZhLXJlZ3VsYXItd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3Byb3hpbWEtbm92YS9wcm94aW1hbm92YS1yZWd1bGFyLXdlYmZvbnQuc3ZnI3Byb3hpbWFfbm92YV9yZ3JlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1Byb3hpbWEgTm92YSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3Byb3hpbWEtbm92YS9wcm94aW1hbm92YS1ib2xkLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3Byb3hpbWEtbm92YS9wcm94aW1hbm92YS1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcHJveGltYS1ub3ZhL3Byb3hpbWFub3ZhLWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcHJveGltYS1ub3ZhL3Byb3hpbWFub3ZhLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3Byb3hpbWEtbm92YS9wcm94aW1hbm92YS1ib2xkLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9wcm94aW1hLW5vdmEvcHJveGltYW5vdmEtYm9sZC13ZWJmb250LnN2ZyNwcm94aW1hX25vdmFfcmdib2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtbGlnaHQtd2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LWxpZ2h0LXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LWxpZ2h0LXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1saWdodC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LWxpZ2h0LXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtbGlnaHQtd2ViZm9udC5zdmcjbW9udHNlcnJhdGxpZ2h0JykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LXJlZ3VsYXItd2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtcmVndWxhci13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LXJlZ3VsYXItd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1yZWd1bGFyLXdlYmZvbnQuc3ZnI21vbnRzZXJyYXRyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LXNlbWlib2xkLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1zZW1pYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1zZW1pYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtc2VtaWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1zZW1pYm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LXNlbWlib2xkLXdlYmZvbnQuc3ZnI21vbnRzZXJyYXRzZW1pX2JvbGQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuLy8gICAgIHNyYzogdXJsKCcuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtYm9sZC13ZWJmb250LmVvdCcpO1xuLy8gICAgIHNyYzogdXJsKCcuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4vLyAgICAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1ib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICAgICB1cmwoJy4uL2ZvbnRzL21vbnRzZXJyYXQvbW9udHNlcnJhdC1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuLy8gICAgICAgICAgdXJsKCcuLi9mb250cy9tb250c2VycmF0L21vbnRzZXJyYXQtYm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbi8vICAgICAgICAgIHVybCgnLi4vZm9udHMvbW9udHNlcnJhdC9tb250c2VycmF0LWJvbGQtd2ViZm9udC5zdmcjbW9udHNlcnJhdGJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xuLy8gICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4vLyAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gfVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UuUGFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBIaWdoLSwgcGFnZS1sZXZlbCBzdHlsaW5nLlxuICpcbiAqIDEuIFByZXZlbnQgbWFyZ2luIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC5cbiAqIDIuIEVuc3VyZSB0aGUgcGFnZSBhbHdheXMgZmlsbHMgYXQgbGVhc3QgdGhlIGVudGlyZSBoZWlnaHQgb2YgdGhlIHZpZXdwb3J0LlxuICogMy4gU2V0IHRoZSBkZWZhdWx0IGBmb250LXNpemVgLCBgZm9udC13ZWlnaHRgIGFuZCBgbGluZS1oZWlnaHRgIGZvciB0aGUgZW50aXJlIHByb2plY3QsXG4gKiAgICBzb3VyY2VkIGZyb20gb3VyIGRlZmF1bHQgdmFyaWFibGVzLiBUaGUgYGZvbnQtc2l6ZWAgaXMgY2FsY3VsYXRlZCB0byBleGlzdFxuICogICAgaW4gZW1zLCB0aGUgYGxpbmUtaGVpZ2h0YCBpcyBjYWxjdWxhdGVkIHRvIGV4aXN0IHVuaXRsZXNzbHkuXG4gKiA0LiBGb3JjZSBzY3JvbGxiYXJzIHRvIGFsd2F5cyBiZSB2aXNpYmxlIHRvIHByZXZlbnQgYXdrd2FyZCDigJhqdW1wc+KAmSB3aGVuXG4gKiAgICBuYXZpZ2F0aW5nIGJldHdlZW4gcGFnZXMgdGhhdCBkby9kbyBub3QgaGF2ZSBlbm91Z2ggY29udGVudCB0byBwcm9kdWNlXG4gKiAgICBzY3JvbGxiYXJzIG5hdHVyYWxseS5cbiAqIDUuIFByZXZlbnQgY2VydGFpbiBtb2JpbGUgYnJvd3NlcnMgZnJvbSBhdXRvbWF0aWNhbGx5IHpvb21pbmcgZm9udHMuXG4gKi9cblxuaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogWzFdICovXG4gICAgbWluLWhlaWdodDogMTAwJTsgLyogWzJdICovXG4gICAgZm9udC1mYW1pbHk6ICRCYXNlLWZvbnRGYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRCYXNlLW5vcm1hbFdlaWdodDsvKiBbM10gKi9cbiAgICBsaW5lLWhlaWdodDogJEJhc2UtbGluZUhlaWdodCAvICRCYXNlLWZvbnRTaXplOyAvKiBbM10gKi9cbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIFs0XSAqL1xuXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiBbNV0gKi9cbiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIFs1XSAqL1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UuVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBCYXNpYyBsaW5rcyBiZWhhdmlvci5cbiAqL1xuXG5hIHtcbiAgICBjb2xvcjogJEJhc2UtY29sb3JMaW5rcztcbn1cblxuYTpob3ZlcixcbmE6YWN0aXZlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG59XG5cblxuXG4vKipcbiAqIEJhc2ljIHN0cm9uZyB3ZWlnaHQuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6ICRCYXNlLXN0cm9uZ1dlaWdodDtcbn1cblxuXG5cbi8qKlxuICogR2l2ZSBhIGhlbHAgY3Vyc29yIHRvIGVsZW1lbnRzIHRoYXQgZ2l2ZSBleHRyYSBpbmZvIG9uIGA6aG92ZXJgLlxuICovXG5cbmFiYnJbdGl0bGVdLFxuZGZuW3RpdGxlXSB7XG4gICAgY3Vyc29yOiBoZWxwO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UuSW1hZ2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEZsdWlkIGltYWdlcyBmb3IgcmVzcG9uc2l2ZSBwdXJwb3Nlcy5cbiAqIDIuIE9mZnNldCBgYWx0YCB0ZXh0IGZyb20gc3Vycm91bmRpbmcgY29weS5cbiAqL1xuXG5pbWcge1xuICAgIG1heC13aWR0aDogMTAwJTsgLyogWzFdICovXG4gICAgZm9udC1zdHlsZTogaXRhbGljOyAvKiBbMl0gKi9cbn1cblxuXG5cbi8qKlxuICogMS4gR29vZ2xlIE1hcHMgYnJlYWtzIGlmIGBtYXgtd2lkdGg6IDEwMCVgIGFjdHMgdXBvbiBpdDsgdXNlIHRoZWlyIHNlbGVjdG9yXG4gKiAgICB0byByZW1vdmUgdGhlIGVmZmVjdHMuXG4gKiAyLiBJZiBhIGB3aWR0aGAgYW5kL29yIGBoZWlnaHRgIGF0dHJpYnV0ZSBoYXZlIGJlZW4gZXhwbGljaXRseSBkZWZpbmVkLCBsZXTigJlzXG4gKiAgICBub3QgbWFrZSB0aGUgaW1hZ2UgZmx1aWQuXG4gKi9cblxuLmdtLXN0eWxlIGltZywgLyogWzFdICovXG5pbWdbd2lkdGhdLCAvKiBbMl0gKi9cbmltZ1toZWlnaHRdIHsgIC8qIFsyXSAqL1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPYmplY3RzLkJ1dHRvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJEJ1dHRvbi1wYWRkaW5nOiAgICAgICAgICBxdWFydGVyKCRCYXNlLXVuaXRWKSAkQmFzZS11bml0SDtcbiRCdXR0b24tYm9yZGVyQ29sb3I6ICAgICAgY3VycmVudGNvbG9yO1xuJEJ1dHRvbi1ib3JkZXJXaWR0aDogICAgICAxcHg7XG4kQnV0dG9uLWNvbG9yOiAgICAgICAgICAgIGluaGVyaXQ7XG4kQnV0dG9uLWZvbnQ6ICAgICAgICAgICAgIGluaGVyaXQ7XG4kQnV0dG9uLWRpc2FibGVkT3BhY2l0eTogIDAuNjtcblxuXG5cbi5vLUJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAkQnV0dG9uLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1jb2xvcjogJEJ1dHRvbi1ib3JkZXJDb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJEJ1dHRvbi1ib3JkZXJXaWR0aDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJEJ1dHRvbi1jb2xvcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udDogJEJ1dHRvbi1mb250O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBvcGFjaXR5OiAkQnV0dG9uLWRpc2FibGVkT3BhY2l0eVxuICAgIH1cbn1cblxuLm8tQnV0dG9uLS1zdHJldGNoIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm8tQnV0dG9uQmFyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2JqZWN0cy5Db2xvclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm8tQ29sb3ItLWFscGhhIHtcbiAgICBjb2xvcjogJEJhc2UtY29sb3JBbHBoYTtcbn1cblxuLm8tQ29sb3ItLWJldGEge1xuICAgIGNvbG9yOiAkQmFzZS1jb2xvckJldGE7XG59XG5cbi5vLUNvbG9yLS1nYW1tYSB7XG4gICAgY29sb3I6ICRCYXNlLWNvbG9yR2FtbWE7XG59XG5cbi5vLUNvbG9yLS1ncmF5IHtcbiAgICBjb2xvcjogIzk5OTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPYmplY3RzLkNvbnRhaW5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm8tQ29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6ICRCYXNlLWNvbnRhaW5lcldpZHRoICsgKDIgKiAkQmFzZS1jb250YWluZXJQYWRkaW5nKTtcbiAgICBwYWRkaW5nOiAwICRCYXNlLWNvbnRhaW5lclBhZGRpbmc7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAuby1Db250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLm8tQ29udGFpbmVyLS1uYXJyb3cge1xuICAgIG1heC13aWR0aDogOTYwcHggKyAoMiAqICRCYXNlLWNvbnRhaW5lclBhZGRpbmcpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9iamVjdHMuRW1iZWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vLUVtYmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICA+IGlmcmFtZSxcbiAgICA+IG9iamVjdCxcbiAgICA+IGVtYmVkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9iamVjdHMuR3JpZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGUgZ3JpZCBzeXN0ZW0gdXNlcyBgYm94LXNpemluZzogYm9yZGVyLWJveDtgIGFuZFxuICogYGRpc3BsYXk6IGlubGluZS1ibG9jaztgIHRvIGNyZWF0ZSBhbiBleHRyZW1lbHkgcG93ZXJmdWwsIGZsZXhpYmxlXG4gKiBhbHRlcm5hdGl2ZSB0byB0aGUgdHJhZGl0aW9uYWwgZ3JpZCBzeXN0ZW0uIENvbWJpbmUgdGhlIGxheW91dCBpdGVtcyB3aXRoXG4gKiB0aGUgd2lkdGhzIGZvdW5kIGluIGB1dGlscy5zaXplYC5cbiAqL1xuXG4kR3JpZC1ndXR0ZXI6ICAgICAgICAgICAgMjVweCAhZGVmYXVsdDtcbiRHcmlkLWd1dHRlci0tcXVhcnRlcjogICBxdWFydGVyKCRHcmlkLWd1dHRlcikgIWRlZmF1bHQ7XG4kR3JpZC1ndXR0ZXItLXRoaXJkOiAgICAgdGhpcmQoJEdyaWQtZ3V0dGVyKSAhZGVmYXVsdDtcbiRHcmlkLWd1dHRlci0taGFsdmU6ICAgICBoYWx2ZSgkR3JpZC1ndXR0ZXIpICFkZWZhdWx0O1xuJEdyaWQtZ3V0dGVyLS1kb3VibGU6ICAgIGRvdWJsZSgkR3JpZC1ndXR0ZXIpICFkZWZhdWx0O1xuJEdyaWQtZ3V0dGVyLS10cmVibGU6ICAgIHRyZWJsZSgkR3JpZC1ndXR0ZXIpICFkZWZhdWx0O1xuJEdyaWQtZ3V0dGVyLS1xdWFkcnVwbGU6IHF1YWRydXBsZSgkR3JpZC1ndXR0ZXIpICFkZWZhdWx0O1xuXG4kR3JpZC0tZmx1c2g6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kR3JpZC0tcXVhcnRlcjogICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kR3JpZC0tdGhpcmQ6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kR3JpZC0taGFsdmU6ICAgICAgICAgICAgdHJ1ZSAgIWRlZmF1bHQ7XG4kR3JpZC0tZG91YmxlOiAgICAgICAgICAgdHJ1ZSAgIWRlZmF1bHQ7XG4kR3JpZC0tdHJlYmxlOiAgICAgICAgICAgdHJ1ZSAgIWRlZmF1bHQ7XG4kR3JpZC0tcXVhZHJ1cGxlOiAgICAgICAgdHJ1ZSAgIWRlZmF1bHQ7XG5cbiRHcmlkLS1yZXY6ICAgICAgICAgICAgICB0cnVlICAhZGVmYXVsdDtcbiRHcmlkLS1taWRkbGU6ICAgICAgICAgICB0cnVlICAhZGVmYXVsdDtcbiRHcmlkLS1ib3R0b206ICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRHcmlkLS1jZW50ZXI6ICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRHcmlkLS1yaWdodDogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcblxuXG5cbi8qKlxuICogQmVnaW4gYSBncmlkIGdyb3VwLlxuICpcbiAqIDEuIFJlbW92ZSB3aGl0ZSBzcGFjZSBiZXR3ZWVuIGBpbmxpbmUtYmxvY2tgIGVsZW1lbnRzLlxuICovXG5cbi5vLUdyaWQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAgMDtcbiAgICBtYXJnaW4tbGVmdDogLSRHcmlkLWd1dHRlcjtcbiAgICBmb250LXNpemU6IDA7IC8qIFsxXSAqL1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuXG5cbi8qKlxuICogMS4gQ2F1c2UgY29sdW1ucyB0byBzdGFjayBzaWRlLWJ5LXNpZGUuXG4gKiAyLiBTcGFjZSBjb2x1bW5zIGFwYXJ0LlxuICogMy4gQWxpZ24gY29sdW1ucyB0byB0aGUgdG9wcyBvZiBlYWNoIG90aGVyLlxuICogNC4gRnVsbC13aWR0aCB1bmxlc3MgdG9sZCB0byBiZWhhdmUgb3RoZXJ3aXNlLlxuICogNS4gU2V0IGRlZmF1bHQgYGZvbnQtc2l6ZWAgd2hpY2ggc2V0IHRvIDAgb24gcGFyZW50IGNvbnRhaW5lci5cbiAqL1xuXG4uby1HcmlkLWl0ZW0gIHtcbiAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAkQmFzZS1mb250U2l6ZSk7IC8qIFs1XSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogWzFdICovXG4gICAgd2lkdGg6IDEwMCU7IC8qIFs0XSAqL1xuICAgIHBhZGRpbmctbGVmdDogJEdyaWQtZ3V0dGVyOyAvKiBbMl0gKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiBbM10gKi9cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAkQmFzZS1mb250U2l6ZU1lZGl1bVVwKTsgLyogWzVdICovXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgJEJhc2UtZm9udFNpemVMYXJnZVVwKTsgLyogWzVdICovXG4gICAgfVxufVxuXG5cblxuQGlmICgkR3JpZC0tcXVhcnRlciA9PSB0cnVlKSB7XG4gICAgLm8tR3JpZC0tcXVhcnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRHcmlkLWd1dHRlci0tcXVhcnRlcik7XG5cbiAgICAgICAgPiAuby1HcmlkLWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkR3JpZC1ndXR0ZXItLXF1YXJ0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAoJEdyaWQtLXRoaXJkID09IHRydWUpIHtcbiAgICAuby1HcmlkLS10aGlyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRHcmlkLWd1dHRlci0tdGhpcmQpO1xuXG4gICAgICAgID4gLm8tR3JpZC1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJEdyaWQtZ3V0dGVyLS10aGlyZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICgkR3JpZC0taGFsdmUgPT0gdHJ1ZSkge1xuICAgIC5vLUdyaWQtLWhhbHZlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJEdyaWQtZ3V0dGVyLS1oYWx2ZSk7XG5cbiAgICAgICAgPiAuby1HcmlkLWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkR3JpZC1ndXR0ZXItLWhhbHZlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgKCRHcmlkLS1kb3VibGUgPT0gdHJ1ZSkge1xuICAgIC5vLUdyaWQtLWRvdWJsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRHcmlkLWd1dHRlci0tZG91YmxlKTtcblxuICAgICAgICA+IC5vLUdyaWQtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRHcmlkLWd1dHRlci0tZG91YmxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgKCRHcmlkLS10cmVibGUgPT0gdHJ1ZSkge1xuICAgIC5vLUdyaWQtLXRyZWJsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRHcmlkLWd1dHRlci0tdHJlYmxlKTtcblxuICAgICAgICA+IC5vLUdyaWQtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRHcmlkLWd1dHRlci0tdHJlYmxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgKCRHcmlkLS1xdWFkcnVwbGUgPT0gdHJ1ZSkge1xuICAgIC5vLUdyaWQtLXF1YWRydXBsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRHcmlkLWd1dHRlci0tcXVhZHJ1cGxlKTtcblxuICAgICAgICA+IC5vLUdyaWQtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRHcmlkLWd1dHRlci0tcXVhZHJ1cGxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgKCRHcmlkLS1mbHVzaCA9PSB0cnVlKSB7XG4gICAgLm8tR3JpZC0tZmx1c2gge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICA+IC5vLUdyaWQtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAoJEdyaWQtLXJldiA9PSB0cnVlKSB7XG4gICAgLm8tR3JpZC0tcmV2IHtcbiAgICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgPiAuby1HcmlkLWl0ZW0ge1xuICAgICAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgKCRHcmlkLS1taWRkbGUgPT0gdHJ1ZSkge1xuICAgIC5vLUdyaWQtLW1pZGRsZSB7XG4gICAgICAgID4gLm8tR3JpZC1pdGVtIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAoJEdyaWQtLWJvdHRvbSA9PSB0cnVlKSB7XG4gICAgLm8tR3JpZC0tYm90dG9tIHtcbiAgICAgICAgPiAuby1HcmlkLWl0ZW0ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICgkR3JpZC0tY2VudGVyID09IHRydWUpIHtcbiAgICAuby1HcmlkLS1jZW50ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgPiAuby1HcmlkLWl0ZW0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICgkR3JpZC0tcmlnaHQgPT0gdHJ1ZSkge1xuICAgIC5vLUdyaWQtLXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgPiAuby1HcmlkLWl0ZW0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYnJlYWtwb2ludHNMZW5ndGgge1xuICAgICRicmVha3BvaW50OiBudGgoJGJyZWFrcG9pbnRzLCAkaSk7XG4gICAgJGJyZWFrcG9pbnROYW1lOiBudGgoJGJyZWFrcG9pbnQsIDEpO1xuXG4gICAgQGlmICRpIDwgJGJyZWFrcG9pbnRzTGVuZ3RoIHtcbiAgICAgICAgJGJyZWFrcG9pbnROZXh0OiBudGgoJGJyZWFrcG9pbnRzLCAkaSArIDEpO1xuICAgICAgICAkYnJlYWtwb2ludE5hbWVOZXh0OiBudGgoJGJyZWFrcG9pbnROZXh0LCAxKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgjeyc+PScgKyAkYnJlYWtwb2ludE5hbWV9LCAjeyc8JyArICRicmVha3BvaW50TmFtZU5leHR9KSB7XG4gICAgICAgICAgICAuby1HcmlkLS1xdWFydGVyXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJEdyaWQtZ3V0dGVyLS1xdWFydGVyKTtcblxuICAgICAgICAgICAgICAgID4gLm8tR3JpZC1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkR3JpZC1ndXR0ZXItLXF1YXJ0ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuby1HcmlkLS1kb3VibGVcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSgkR3JpZC1ndXR0ZXItLWRvdWJsZSk7XG5cbiAgICAgICAgICAgICAgICA+IC5vLUdyaWQtaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJEdyaWQtZ3V0dGVyLS1kb3VibGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuby1HcmlkLS10cmVibGVcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSgkR3JpZC1ndXR0ZXItLXRyZWJsZSk7XG5cbiAgICAgICAgICAgICAgICA+IC5vLUdyaWQtaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJEdyaWQtZ3V0dGVyLS10cmVibGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuby1HcmlkLS1xdWFkcnVwbGVcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSgkR3JpZC1ndXR0ZXItLXF1YWRydXBsZSk7XG5cbiAgICAgICAgICAgICAgICA+IC5vLUdyaWQtaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJEdyaWQtZ3V0dGVyLS1xdWFkcnVwbGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoI3snPj0nICsgJGJyZWFrcG9pbnROYW1lfSkge1xuICAgICAgICAuby1HcmlkLS1xdWFydGVyXFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJEdyaWQtZ3V0dGVyLS1xdWFydGVyKTtcblxuICAgICAgICAgICAgPiAuby1HcmlkLWl0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJEdyaWQtZ3V0dGVyLS1xdWFydGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm8tR3JpZC0tZG91YmxlXFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJEdyaWQtZ3V0dGVyLS1kb3VibGUpO1xuXG4gICAgICAgICAgICA+IC5vLUdyaWQtaXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkR3JpZC1ndXR0ZXItLWRvdWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vLUdyaWQtLXRyZWJsZVxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRHcmlkLWd1dHRlci0tdHJlYmxlKTtcblxuICAgICAgICAgICAgPiAuby1HcmlkLWl0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJEdyaWQtZ3V0dGVyLS10cmVibGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuby1HcmlkLS1xdWFkcnVwbGVcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSgkR3JpZC1ndXR0ZXItLXF1YWRydXBsZSk7XG5cbiAgICAgICAgICAgID4gLm8tR3JpZC1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRHcmlkLWd1dHRlci0tcXVhZHJ1cGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoI3snPCcgKyAkYnJlYWtwb2ludE5hbWV9KSB7XG4gICAgICAgIC5vLUdyaWQtLXF1YXJ0ZXJcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRHcmlkLWd1dHRlci0tcXVhcnRlcik7XG5cbiAgICAgICAgICAgID4gLm8tR3JpZC1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRHcmlkLWd1dHRlci0tcXVhcnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vLUdyaWQtLWRvdWJsZVxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJEdyaWQtZ3V0dGVyLS1kb3VibGUpO1xuXG4gICAgICAgICAgICA+IC5vLUdyaWQtaXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkR3JpZC1ndXR0ZXItLWRvdWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vLUdyaWQtLXRyZWJsZVxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJEdyaWQtZ3V0dGVyLS10cmVibGUpO1xuXG4gICAgICAgICAgICA+IC5vLUdyaWQtaXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkR3JpZC1ndXR0ZXItLXRyZWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vLUdyaWQtLXF1YWRydXBsZVxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJEdyaWQtZ3V0dGVyLS1xdWFkcnVwbGUpO1xuXG4gICAgICAgICAgICA+IC5vLUdyaWQtaXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkR3JpZC1ndXR0ZXItLXF1YWRydXBsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPYmplY3RzLkljb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vLUljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICA+IHN2ZyB7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2JqZWN0Lkxpc3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5vLUxpc3RCYXJlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5vLUxpc3RJbmxpbmUge1xuICAgIG1hcmdpbjogMDtcblxuICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9iamVjdHMuU2l6ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm8tU2l6ZS0tMTQge1xuICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDE0cHgpO1xufVxuIiwiLy9cbi8vIENvbXBvbmVudCBhbmltYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIZWFkcyB1cCFcbi8vXG4vLyBXZSBkb24ndCB1c2UgdGhlIGAub3BhY2l0eSgpYCBtaXhpbiBoZXJlIHNpbmNlIGl0IGNhdXNlcyBhIGJ1ZyB3aXRoIHRleHRcbi8vIGZpZWxkcyBpbiBJRTctOC4gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zNTUyLlxuXG4uZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAuMTVzIGxpbmVhcik7XG5cbiAgJi5pbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYuaW4gICAgICB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0ciYuaW4gdG8gdHIuY29sbGFwc2UuaW5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRib2R5Ji5pbiB0byB0Ym9keS5jb2xsYXBzZS5pblxufVxuXG50ci5jb2xsYXBzZS5pbiAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuXG50Ym9keS5jb2xsYXBzZS5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5KGhlaWdodCwgdmlzaWJpbGl0eSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oLjM1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UpO1xufVxuIiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2NC5cblxuLy8gLSBBbmltYXRpb25zXG4vLyAtIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIC0gQm94IHNoYWRvd1xuLy8gLSBCb3ggc2l6aW5nXG4vLyAtIENvbnRlbnQgY29sdW1uc1xuLy8gLSBIeXBoZW5zXG4vLyAtIFBsYWNlaG9sZGVyIHRleHRcbi8vIC0gVHJhbnNmb3JtYXRpb25zXG4vLyAtIFRyYW5zaXRpb25zXG4vLyAtIFVzZXIgU2VsZWN0XG5cblxuLy8gQW5pbWF0aW9uc1xuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgIC1vLWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAgICBhbmltYXRpb246ICRhbmltYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogJG5hbWU7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xufVxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkZHVyYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCRkZWxheSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xufVxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJGl0ZXJhdGlvbi1jb3VudCkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkZmlsbC1tb2RlKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xufVxuXG4vLyBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuYFxuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG4vLyBCb3ggc2l6aW5nXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbkBtaXhpbiBjb250ZW50LWNvbHVtbnMoJGNvbHVtbi1jb3VudCwgJGNvbHVtbi1nYXA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuQG1peGluIGh5cGhlbnMoJG1vZGU6IGF1dG8pIHtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7IC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG5AbWl4aW4gc2NhbGUoJHJhdGlvLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xufVxuXG5AbWl4aW4gc2NhbGVYKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG59XG5AbWl4aW4gc2NhbGVZKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG59XG5AbWl4aW4gc2tldygkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xufVxuQG1peGluIHJvdGF0ZSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVYKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVZKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cblxuXG4vLyBUcmFuc2l0aW9uc1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHRyYW5zaXRpb24tcHJvcGVydHkuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRyYW5zZm9ybSgkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG59XG5cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuIiwiLy9cbi8vIERyb3Bkb3duIG1lbnVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIERyb3Bkb3duIGFycm93L2NhcmV0XG4uY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aC1iYXNlIGRhc2hlZDtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgXFw5OyAvLyBJRThcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aC1iYXNlIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4vLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoZGl2KVxuLmRyb3B1cCxcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gUHJldmVudCB0aGUgZm9jdXMgb24gdGhlIGRyb3Bkb3duIHRvZ2dsZSB3aGVuIGNsb3NpbmcgZHJvcGRvd25zXG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnUgKHVsKVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW46IDJweCAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAkZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOyAvLyBJRTggZmFsbGJhY2tcbiAgYm9yZGVyOiAxcHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjE3NSkpO1xuXG4gIC8vIEFsaWducyB0aGUgZHJvcGRvd24gbWVudSB0byByaWdodFxuICAvL1xuICAvLyBEZXByZWNhdGVkIGFzIG9mIDMuMS4wIGluIGZhdm9yIG9mIGAuZHJvcGRvd24tbWVudS1bZGlyXWBcbiAgJi5wdWxsLXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIHRoZSBkcm9wZG93blxuICAuZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcpO1xuICB9XG5cbiAgLy8gTGlua3Mgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAzcHggMjBweDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdGl2ZSBzdGF0ZVxuLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZztcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIERpc2FibGVkIHN0YXRlXG4vL1xuLy8gR3JheSBvdXQgdGV4dCBhbmQgZW5zdXJlIHRoZSBob3Zlci9mb2N1cyBzdGF0ZSByZW1haW5zIGdyYXlcblxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLy8gTnVrZSBob3Zlci9mb2N1cyBlZmZlY3RzXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIENTUyBncmFkaWVudFxuICAgIEBpbmNsdWRlIHJlc2V0LWZpbHRlcjtcbiAgfVxufVxuXG4vLyBPcGVuIHN0YXRlIGZvciB0aGUgZHJvcGRvd25cbi5vcGVuIHtcbiAgLy8gU2hvdyB0aGUgbWVudVxuICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIDpmb2N1cyBpcyB0cmlnZ2VyZWRcbiAgPiBhIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIE1lbnUgcG9zaXRpb25pbmdcbi8vXG4vLyBBZGQgZXh0cmEgY2xhc3MgdG8gYC5kcm9wZG93bi1tZW51YCB0byBmbGlwIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duXG4vLyBtZW51IHdpdGggdGhlIHBhcmVudC5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gYC5kcm9wZG93bi1tZW51YFxufVxuLy8gV2l0aCB2Mywgd2UgZW5hYmxlZCBhdXRvLWZsaXBwaW5nIGlmIHlvdSBoYXZlIGEgZHJvcGRvd24gd2l0aGluIGEgcmlnaHRcbi8vIGFsaWduZWQgbmF2IGNvbXBvbmVudC4gVG8gZW5hYmxlIHRoZSB1bmRvaW5nIG9mIHRoYXQsIHdlIHByb3ZpZGUgYW4gb3ZlcnJpZGVcbi8vIHRvIHJlc3RvcmUgdGhlIGRlZmF1bHQgZHJvcGRvd24gbWVudSBhbGlnbm1lbnQuXG4vL1xuLy8gVGhpcyBpcyBvbmx5IGZvciBsZWZ0LWFsaWduaW5nIGEgZHJvcGRvd24gbWVudSB3aXRoaW4gYSBgLm5hdmJhci1yaWdodGAgb3Jcbi8vIGAucHVsbC1yaWdodGAgbmF2IGNvbXBvbmVudC5cbi5kcm9wZG93bi1tZW51LWxlZnQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gQmFja2Ryb3AgdG8gY2F0Y2ggYm9keSBjbGlja3Mgb24gbW9iaWxlLCBldGMuXG4uZHJvcGRvd24tYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogKCR6aW5kZXgtZHJvcGRvd24gLSAxMCk7XG59XG5cbi8vIFJpZ2h0IGFsaWduZWQgZHJvcGRvd25zXG4ucHVsbC1yaWdodCA+IC5kcm9wZG93bi1tZW51IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy9cbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldCwgYnJvLlxuLy8gVE9ETzogYWJzdHJhY3QgdGhpcyBzbyB0aGF0IHRoZSBuYXZiYXIgZml4ZWQgc3R5bGVzIGFyZSBub3QgcGxhY2VkIGhlcmU/XG5cbi5kcm9wdXAsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24ge1xuICAvLyBSZXZlcnNlIHRoZSBjYXJldFxuICAuY2FyZXQge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGgtYmFzZSBkYXNoZWQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgXFw5OyAvLyBJRThcbiAgfVxuICAvLyBEaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIGJvdHRvbSB1cCBtZW51XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxufVxuXG5cbi8vIENvbXBvbmVudCBhbGlnbm1lbnRcbi8vXG4vLyBSZWl0ZXJhdGUgcGVyIG5hdmJhci5sZXNzIGFuZCB0aGUgbW9kaWZpZWQgY29tcG9uZW50IGFsaWdubWVudCB0aGVyZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgLm5hdmJhci1yaWdodCB7XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcmlnaHQ6IDA7IGxlZnQ6IGF1dG87XG4gICAgfVxuICAgIC8vIE5lY2Vzc2FyeSBmb3Igb3ZlcnJpZGVzIG9mIHRoZSBkZWZhdWx0IHJpZ2h0IGFsaWduZWQgbWVudS5cbiAgICAvLyBXaWxsIHJlbW92ZSBjb21lIHY0IGluIGFsbCBsaWtlbGlob29kLlxuICAgIC5kcm9wZG93bi1tZW51LWxlZnQge1xuICAgICAgbGVmdDogMDsgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyOiBmYWxzZSAhZGVmYXVsdDtcbi8vXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbiRncmF5LWJhc2U6ICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGdyYXktZGFya2VyOiAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMTMuNSUpICFkZWZhdWx0OyAvLyAjMjIyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAyMCUpICFkZWZhdWx0OyAgIC8vICMzMzNcbiRncmF5OiAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDMzLjUlKSAhZGVmYXVsdDsgLy8gIzU1NVxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgNDYuNyUpICFkZWZhdWx0OyAvLyAjNzc3XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA5My41JSkgIWRlZmF1bHQ7IC8vICNlZWVcblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgZGFya2VuKCM0MjhiY2EsIDYuNSUpICFkZWZhdWx0OyAvLyAjMzM3YWI3XG4kYnJhbmQtc3VjY2VzczogICAgICAgICAjNWNiODVjICFkZWZhdWx0O1xuJGJyYW5kLWluZm86ICAgICAgICAgICAgIzViYzBkZSAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nOiAgICAgICAgICNmMGFkNGUgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xuXG5cbi8vPT0gU2NhZmZvbGRpbmdcbi8vXG4vLyMjIFNldHRpbmdzIGZvciBzb21lIG9mIHRoZSBtb3N0IGdsb2JhbCBzdHlsZXMuXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgYDxib2R5PmAuXG4kYm9keS1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgdGV4dCBjb2xvciBvbiBgPGJvZHk+YC5cbiR0ZXh0LWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGNvbG9yIHNldCB2aWEgYGRhcmtlbigpYCBmdW5jdGlvbi5cbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgbW9ub3NwYWNlIGZvbnRzIGZvciBgPGNvZGU+YCwgYDxrYmQ+YCwgYW5kIGA8cHJlPmAuXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi42KSkgIWRlZmF1bHQ7IC8vIH4zNnB4XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjE1KSkgIWRlZmF1bHQ7IC8vIH4zMHB4XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNykpICFkZWZhdWx0OyAvLyB+MjRweFxuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLWg1OiAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbi8vKiogVW5pdC1sZXNzIGBsaW5lLWhlaWdodGAgZm9yIHVzZSBpbiBjb21wb25lbnRzIGxpa2UgYnV0dG9ucy5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgMS40Mjg1NzE0MjkgIWRlZmF1bHQ7IC8vIDIwLzE0XG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpKSAhZGVmYXVsdDsgLy8gfjIwcHhcblxuLy8qKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxuXG4vLyoqIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cblxuLy8gW2NvbnZlcnRlcl0gSWYgJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciBpZiB1c2VkLCBwcm92aWRlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGFzc2V0cyBsb2FkIHBhdGguXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGJlY2F1c2Ugc29tZSBhc3NldCBoZWxwZXJzLCBzdWNoIGFzIFNwcm9ja2V0cywgZG8gbm90IHdvcmsgd2l0aCBmaWxlLXJlbGF0aXZlIHBhdGhzLlxuJGljb24tZm9udC1wYXRoOiBpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCBcImJvb3RzdHJhcC9cIiwgXCIuLi9mb250cy9ib290c3RyYXAvXCIpICFkZWZhdWx0O1xuXG4vLyoqIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXG4kaWNvbi1mb250LW5hbWU6ICAgICAgICAgIFwiZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhclwiICFkZWZhdWx0O1xuLy8qKiBFbGVtZW50IElEIHdpdGhpbiBTVkcgaWNvbiBmaWxlLlxuJGljb24tZm9udC1zdmctaWQ6ICAgICAgICBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29tcG9uZW50c1xuLy9cbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxuXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgNnB4ICFkZWZhdWx0O1xuJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOiAgIDEycHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDE2cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiAgICA1cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgMTBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmcteHMtdmVydGljYWw6ICAgICAgIDFweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXhzLWhvcml6b250YWw6ICAgICA1cHggIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAxLjMzMzMzMzMgIWRlZmF1bHQ7IC8vIGV4dHJhIGRlY2ltYWxzIGZvciBXaW4gOC4xIENocm9tZVxuJGxpbmUtaGVpZ2h0LXNtYWxsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgIDRweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICA2cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgM3B4ICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIGJhY2tncm91bmQgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIFdpZHRoIG9mIHRoZSBgYm9yZGVyYCBmb3IgZ2VuZXJhdGluZyBjYXJldHMgdGhhdCBpbmRpY2F0ZSBkcm9wZG93bnMuXG4kY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IEJ1dHRvbnNcbi8vXG4vLyMjIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXN1Y2Nlc3MtYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRidG4tZGFuZ2VyLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMTVweCAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xNSkgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcbi8vXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHggIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tc20gIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweCAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZy1kZXNrdG9wOiAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMzBweCAhZGVmYXVsdDtcbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDcyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg5NDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2YmFyXG4vL1xuLy8jI1xuXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGxpbmtzXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT09IEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2c1xuLy9cbi8vIyNcblxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcbiRuYXYtbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbi8vPT0gUGlsbHNcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnaW5hdGlvblxuLy9cbi8vIyNcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdlclxuLy9cbi8vIyNcblxuJHBhZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHBhZ2VyLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnZXItZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IEp1bWJvdHJvblxuLy9cbi8vIyNcblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tZm9udC1zaXplOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTogICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogNC41KSkgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgIzNjNzYzZCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICNkZmYwZDggIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI2E5NDQ0MiAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNmMmRlZGUgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBUb29sdGlwc1xuLy9cbi8vIyNcblxuLy8qKiBUb29sdGlwIG1heCB3aWR0aFxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgdGV4dCBjb2xvclxuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBhcnJvdyB3aWR0aFxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGFycm93IGNvbG9yXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFBvcG92ZXJzXG4vL1xuLy8jI1xuXG4vLyoqIFBvcG92ZXIgYm9keSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgbWF4aW11bSB3aWR0aFxuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMikgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgZmFsbGJhY2sgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciB0aXRsZSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICAgIGZhZGVfaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAwLjA1KSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBmYWxsYmFjayBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG5cbi8vPT0gTGFiZWxzXG4vL1xuLy8jI1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIEluZm8gbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWluZm8tYmc6ICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgdGV4dCBjb2xvclxuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIGEgbGlua2VkIGxhYmVsXG4kbGFiZWwtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gTW9kYWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMikgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG4kbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVmFyaWFibGUgZm9yIHNldHRpbmcgcm91bmRlZCBjb3JuZXJzIG9uIHByb2dyZXNzIGJhci5cbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgaXRlbXMgb24gaG92ZXJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItcGFkZGluZzogICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItYmc6ICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLXByaW1hcnktdGV4dDogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWJvcmRlcjogICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYW5lbC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cbiR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweCAhZGVmYXVsdDtcblxuXG4vLz09IFdlbGxzXG4vL1xuLy8jI1xuXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBCYWRnZXNcbi8vXG4vLyMjXG5cbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGJhZGdlLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1iZzogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQnJlYWRjcnVtYnNcbi8vXG4vLyMjXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3JcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBUZXh0dWFsIHNlcGFyYXRvciBmb3IgYmV0d2VlbiBicmVhZGNydW1iIGVsZW1lbnRzXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6ICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2Fyb3VzZWxcbi8vXG4vLyMjXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgZm9udCBzaXplXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIC5kbC1ob3Jpem9udGFsIGJlY29tZXMgaG9yaXpvbnRhbFxuJGRsLWhvcml6b250YWwtYnJlYWtwb2ludDogICAgJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAhZGVmYXVsdDtcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xufVxuIiwiLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi8vXG4vLyBXaGVuIHlvdSBuZWVkIHRvIHJlbW92ZSBhIGdyYWRpZW50IGJhY2tncm91bmQsIGRvIG5vdCBmb3JnZXQgdG8gdXNlIHRoaXMgdG8gcmVzZXRcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOSBhbmQgYmVsb3cuXG5cbkBtaXhpbiByZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSk7XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5CdXR0b25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLUJ1dHRvbiB7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFyZ2VcIikge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgfVxufVxuXG4uYy1CdXR0b24tLWZpbGwge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJi5jLUJ1dHRvbi0taHVnZSB7XG4gICAgICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDE4cHgpO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIH1cblxuICAgICYuYy1CdXR0b24tLWFscGhhIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkQmFzZS1jb2xvckFscGhhO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkQmFzZS1jb2xvckFscGhhO1xuICAgIH1cblxuICAgICYuYy1CdXR0b24tLWJldGEge1xuICAgICAgICBib3JkZXItY29sb3I6ICRCYXNlLWNvbG9yQmV0YTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JCZXRhO1xuICAgIH1cblxuICAgICYuYy1CdXR0b24tLWdhbW1hIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkQmFzZS1jb2xvckdhbW1hO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkQmFzZS1jb2xvckdhbW1hO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzMzM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIC8vICYuYy1CdXR0b24tLWFscGhhIHtcbiAgICAgICAgLy8gICAgIGNvbG9yOiAkQmFzZS1jb2xvckFscGhhO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgLy8gJi5jLUJ1dHRvbi0tYmV0YSB7XG4gICAgICAgIC8vICAgICBjb2xvcjogJEJhc2UtY29sb3JCZXRhO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgLy8gJi5jLUJ1dHRvbi0tZ2FtbWEge1xuICAgICAgICAvLyAgICAgY29sb3I6ICRCYXNlLWNvbG9yR2FtbWE7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgJi5jLUJ1dHRvbi0taHVnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAyNnB4KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXJnZVwiKSB7XG4gICAgICAgICYuYy1CdXR0b24tLWh1Z2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMzBweCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLUJ1dHRvbi0tbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDJweCAycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgID4gc3BhbiB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXM7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5uby10b3VjaCAmIHtcbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDEsIDEpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmMtQnV0dG9uLS1odWdlIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMThweCk7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4IDVweDtcblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMThweCk7XG5cbiAgICAgICAgJi5jLUJ1dHRvbi0taHVnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAyMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXJnZVwiKSB7XG4gICAgICAgICYuYy1CdXR0b24tLWh1Z2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMjZweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLUJ1dHRvbi0tY3ViZSB7XG4gICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMThweCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogJEJ1dHRvbi1wYWRkaW5nO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDIwcHgpO1xuXG4gICAgICAgIC5uby10b3VjaCAmIHtcbiAgICAgICAgICAgIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG5cbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblxuICAgICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJEJ1dHRvbi1wYWRkaW5nO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5uby10b3VjaCAmIHtcbiAgICAgICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpIHRyYW5zbGF0ZVkoLTIycHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXJnZVwiKSB7XG4gICAgICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDI0cHgpO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLlBhZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLVBhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRCYXNlLWNvbG9yQmFja2dyb3VuZDtcbiAgICBjb2xvcjogJEJhc2UtY29sb3JUZXh0O1xuXG4gICAgJiAqOjotbW96LXNlbGVjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRCYXNlLXNlbGVjdGlvbkJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkQmFzZS1zZWxlY3Rpb25UZXh0O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmICo6OnNlbGVjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRCYXNlLXNlbGVjdGlvbkJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkQmFzZS1zZWxlY3Rpb25UZXh0O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRCYXNlLWxpbmVIZWlnaHRNZWRpdW1VcCAvICRCYXNlLWZvbnRTaXplTWVkaXVtVXA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRCYXNlLWxpbmVIZWlnaHRMYXJnZVVwIC8gJEJhc2UtZm9udFNpemVMYXJnZVVwO1xuICAgIH1cbn1cblxuLmMtUGFnZS1ib2R5IHtcbiAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAkQmFzZS1mb250U2l6ZSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsICRCYXNlLWZvbnRTaXplTWVkaXVtVXApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXJnZVwiKSB7XG4gICAgICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsICRCYXNlLWZvbnRTaXplTGFyZ2VVcCk7XG4gICAgfVxufVxuXG4uYy1QYWdlLWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLVBhZ2UtYmdzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICA+IC5vLUNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cbi5jLVBhZ2UtYmdzLS1sZWZ0IHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49MTQyMHB4XCIpIHtcbiAgICAgICAgPiAuby1Db250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmMtUGFnZS1iZ3MtLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49MjAwMHB4XCIpIHtcbiAgICAgICAgPiAuby1Db250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmMtUGFnZS1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFyZ2VcIikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5jLVBhZ2UtYmctLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMTAwcHg7XG4gICAgei1pbmRleDogMTA7XG4gICAgd2lkdGg6IDI2NXB4O1xuICAgIGhlaWdodDogNzgxcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmFja2dyb3VuZHMvYmcubGVmdC5zdmcnKTtcblxuICAgIC5uby1zdmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JhY2tncm91bmRzL2JnLmxlZnQucG5nJyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PTE0MjBweFwiKSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuXG4uYy1QYWdlLWJnLS1yaWdodCB7XG4gICAgdG9wOiAtMzVweDtcbiAgICByaWdodDogLTM5MHB4O1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiA5NjJweDtcbiAgICBoZWlnaHQ6IDExNzRweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iYWNrZ3JvdW5kcy9iZy5yaWdodC5zdmcnKTtcblxuICAgIC5uby1zdmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JhY2tncm91bmRzL2JnLnJpZ2h0LnBuZycpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj0yMDAwcHhcIikge1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG59XG5cbi5jLVBhZ2Utc3RyaXBlcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aWR0aDogN3B4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkQmFzZS1jb2xvckFscGhhO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgaGVpZ2h0OiAyMiU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZmZmO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkQmFzZS1jb2xvckdhbW1hO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICB0b3A6IDIyJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JCZXRhO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkJhclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtQmFyIHtcbiAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAxNHB4KTtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA1NDRmO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAxOHB4KTtcbiAgICB9XG59XG5cbi5jLUJhci0tbXV0ZWQge1xuICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDExcHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6I2Y0ZjRmNDtcbiAgICBjb2xvcjojNjY2O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5jLUJhci1kZXNjIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuSGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1IZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4ICsgMjNweCArIDEwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuXG4uYy1IZWFkZXItcm93IHtcbiAgICBwYWRkaW5nOiAxMHB4ICRCYXNlLWNvbnRhaW5lclBhZGRpbmc7XG4gICAgbWFyZ2luOiAwICgtJEJhc2UtY29udGFpbmVyUGFkZGluZyk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG59XG5cbi5jLUhlYWRlci1sb2dvIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuXG4uYy1IZWFkZXItY29ubmVjdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgKC0kQmFzZS1jb250YWluZXJQYWRkaW5nKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogKCgxMDBweCAtIDI1cHgpIC8gMikgMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49MTAyNHB4XCIpIHtcbiAgICAgICAgcGFkZGluZzogKCgxMDBweCAtIDI1cHgpIC8gMikgMDtcbiAgICB9XG59XG5cbi5jLUhlYWRlci1oYW1idXJnZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHggKyAyM3B4ICsgMTBweCArIDEwcHggKyAxcHggKyAoKDQwcHggLSAzMikgLyAyKTtcbiAgICByaWdodDogJEJhc2UtY29udGFpbmVyUGFkZGluZztcbn1cblxuLmMtSGVhZGVyLW92ZXJ2aWV3IHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgfVxufVxuXG4uYy1IZWFkZXItdGl0bGUge1xuICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDIwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IGhhbHZlKCRCYXNlLXVuaXRWKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMjRweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMzBweCk7XG4gICAgfVxufVxuXG4uYy1IZWFkZXItc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICNmZDdkMjg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkxvZ29cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLUxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtTG9nby1pbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxtZWRpdW1cIikge1xuICAgICAgICAvLyB3aWR0aDogODBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkNvbm5lY3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLUNvbm5lY3Qge1xuICAgIHBhZGRpbmc6IDEwcHggJEJhc2UtY29udGFpbmVyUGFkZGluZztcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLmMtQ29ubmVjdC0tbWVudSB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmMtQ29ubmVjdC1saXN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXJnZVwiKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi5jLUNvbm5lY3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj0xMDI0cHhcIikge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLUNvbm5lY3QtaWNvbiB7XG4gICAgY29sb3I6ICNlYTU0MTk7XG5cbiAgICAmLmljb24tcGhvbmUge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmljb24tdXNlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmljb24taGFuZHMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYy1Db25uZWN0LXZhbHVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLmMtQ29ubmVjdC0tbWVudSAmIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgfVxuXG4gICAgPiBhIHtcbiAgICAgICAgLmMtQ29ubmVjdC0tbWVudSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49MTAyNHB4XCIpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5IYW1idXJnZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLUhhbWJ1cmdlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA5cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZDogJEJhc2UtY29sb3JBbHBoYTtcbiAgICBjb2xvcjogJEJhc2UtY29sb3JBbHBoYTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbiAgICAuYy1IYW1idXJnZXItYmFyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgfVxuICAgIH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkNvbGxhcHNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1Db2xsYXBzZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogNTA7XG5cbiAgICAgICAgJi5jb2xsYXBzZSxcbiAgICAgICAgJi5pbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuTWVudVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtTWVudSB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFyZ2VcIikge1xuICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAxOHB4KTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgfVxufVxuXG4uYy1NZW51LWxpc3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuICAgIH1cbn1cblxuLmMtTWVudS1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAxMnB4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgIGxlZnQ6IDE2NXB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMzMwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PTEwMjRweFwiKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgIH1cbn1cblxuLmMtTWVudS1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzk5OTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5vLXRvdWNoICYsXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLm5vLXRvdWNoICYge1xuICAgICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAuYy1NZW51LWxpbmsuby1Db2xvci0tYWxwaGEge1xuLy8gICAgIC5uby10b3VjaCAmIHtcbi8vICAgICAgICAgJjpiZWZvcmUge1xuLy8gICAgICAgICAgICAgYmFja2dyb3VuZDogJEJhc2UtY29sb3JBbHBoYTtcbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cblxuLy8gLmMtTWVudS1saW5rLm8tQ29sb3ItLWJldGEge1xuLy8gICAgIC5uby10b3VjaCAmIHtcbi8vICAgICAgICAgJjpiZWZvcmUge1xuLy8gICAgICAgICAgICAgYmFja2dyb3VuZDogJEJhc2UtY29sb3JCZXRhO1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuLy8gfVxuXG4vLyAuYy1NZW51LWxpbmsuby1Db2xvci0tZ2FtbWEge1xuLy8gICAgIC5uby10b3VjaCAmIHtcbi8vICAgICAgICAgJjpiZWZvcmUge1xuLy8gICAgICAgICAgICAgYmFja2dyb3VuZDogJEJhc2UtY29sb3JHYW1tYTtcbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLUNvbnRlbnQtc2VjdGlvbixcbi5jLUNvbnRlbnQtbGFuZGluZyB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICB9XG59XG5cbi5jLUNvbnRlbnQtc2VjdGlvbi0temVybyB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmMtQ29udGVudC1zZWN0aW9uLS1jb2xsYXBzZSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5jLUNvbnRlbnQtc2VjdGlvbi0tc2hyaW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMjBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNTBweDtcbiAgICB9XG59XG5cbi5jLUNvbnRlbnQtc2VjdGlvbi0tYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbn1cblxuLmMtQ29udGVudC1zZWN0aW9uLS1jZWxscyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4IC0gJEJhc2UtdW5pdFY7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgfVxufVxuXG4uYy1Db250ZW50LXRpdGxlIHtcbiAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAyOHB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMzZweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgNDJweCk7XG4gICAgfVxufVxuXG4uYy1Db250ZW50LXRpdGxlLS1wcm9kdWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFyZ2VcIikge1xuICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAzNnB4KTtcbiAgICB9XG59XG5cbi5jLUNvbnRlbnQtc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDIwcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMjRweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMzZweCk7XG4gICAgfVxufVxuXG4uYy1Db250ZW50LXN1YnRpdGxlLS1zbWFsbGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMjBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMjRweCk7XG4gICAgfVxufVxuXG4uYy1Db250ZW50LWdhbGxlcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jLUNvbnRlbnQtdmlkZW8ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jLUNvbnRlbnQtQ3RhIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIH1cbn1cblxuLmMtQ29udGVudC1DdGEtLWhlcm8ge1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cbn1cblxuLmMtQ29udGVudC1DdGEtLXplcm8ge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jLUNvbnRlbnQtQ3RhLS1hcnJvdyB7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiAyMTdweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2Fycm93LmN0YS5wbmcnKSBuby1yZXBlYXQgbGVmdCBib3R0b207XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIC8vICY6YmVmb3JlIHtcbiAgICAgICAgLy8gICAgIGhlaWdodDogMjE3cHg7XG4gICAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAvLyB9XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgIC5jLUNvbnRlbnQtc2VjdGlvbi0tY29sbGFwc2VcXEBtZWRpdW1VcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkJyZWFkY3J1bWJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1CcmVhZGNydW1icyB7XG4gICAgcGFkZGluZzogMjBweCAwIDEwcHg7XG4gICAgY29sb3I6ICNjY2M7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAwIDMwcHg7XG4gICAgfVxufVxuXG4uYy1CcmVhZGNydW1icy1pdGVtICsgLmMtQnJlYWRjcnVtYnMtaXRlbSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcMjAxMyBcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLlNsaWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtU2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU0cHg7XG59XG5cbi5jLVNsaWRlci1pdGVtIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0NSUgYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFyZ2VcIikge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgY2VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPG1lZGl1bVwiKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uYy1TbGlkZXItaW5uZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHBlcmNlbnRhZ2UoNDYwIC8gMTE4MCk7XG4gICAgfVxufVxuXG4uYy1TbGlkZXItYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXJnZVwiKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDQ2MCAvIDExODApO1xuICAgIH1cbn1cblxuLmMtU2xpZGVyLWxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxsYXJnZVwiKSB7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIH1cbn1cblxuLmMtU2xpZGVyLXRpdGxlIHtcbiAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAyMnB4KTtcbiAgICBtaW4taGVpZ2h0OiAzICogMjJweCAqIDEuMjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICA+IHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAkQmFzZS1jb2xvckFscGhhO1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49c21hbGxcIikge1xuICAgICAgICBtaW4taGVpZ2h0OiAyICogMjJweCAqIDEuMjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMjhweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMzVweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbn1cblxuLmMtU2xpZGVyLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0zNHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5OTk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDA7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5IZXJvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1IZXJvIHtcbiAgICBwYWRkaW5nOiAoMjBweCArIDEwMHB4KSAwIDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMzBweCA0NSU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1JSBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICAgIH1cbn1cblxuLmMtSGVyby0tc29saWQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4uYy1IZXJvLS16ZXJvIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLlN1cHBvcnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLVN1cHBvcnQge1xuICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDE2cHgpO1xuICAgIGNvbG9yOiAjY2MwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMjBweCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFyZ2VcIikge1xuICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAyNHB4KTtcbiAgICB9XG59XG5cbi5jLVN1cHBvcnQtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MwMDAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTM1cHg7XG4gICAgICAgIG1hcmdpbjogMCA0MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLVN1cHBvcnQtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgJi5pY29uLXVzZXIge1xuICAgICAgICB0b3A6ICg2MHB4IC0gMzBweCkgLyAyO1xuICAgICAgICBsZWZ0OiAoNjBweCAtIDMwcHgpIC8gMjtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAmLmljb24taGFuZHMge1xuICAgICAgICB0b3A6ICg2MHB4IC0gMzBweCkgLyAyO1xuICAgICAgICBsZWZ0OiAoNjBweCAtIDI0cHgpIC8gMjtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgJi5pY29uLXVzZXIge1xuICAgICAgICAgICAgdG9wOiAoMTIwcHggLSA3NXB4KSAvIDI7XG4gICAgICAgICAgICBsZWZ0OiAoMTIwcHggLSA3NXB4KSAvIDI7XG4gICAgICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaWNvbi1oYW5kcyB7XG4gICAgICAgICAgICB0b3A6ICgxMjBweCAtIDc1cHgpIC8gMjtcbiAgICAgICAgICAgIGxlZnQ6ICgxMjBweCAtIDYwcHgpIC8gMjtcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYy1TdXBwb3J0LWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46ICgoNjBweCAtICgyICogMTZweCAqIDEuNSkpIC8gMikgMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBtYXJnaW46ICgoMTIwcHggLSAoMiAqIDIwcHggKiAxLjUpKSAvIDIpIDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgbWFyZ2luOiAoKDEyMHB4IC0gKDIgKiAyNHB4ICogMS41KSkgLyAyKSAwO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkZvcm1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLUZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLmMtRm9ybS1sZWdlbmQge1xuICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDE2cHgpO1xuICAgIG1hcmdpbi1ib3R0b206ICRCYXNlLXVuaXRWO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMThweCk7XG4gICAgfVxufVxuXG4uYy1Gb3JtLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206ICRCYXNlLXVuaXRWO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNSAqICRCYXNlLXVuaXRWO1xuICAgIH1cbn1cblxuLmMtRm9ybS1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogcXVhcnRlcigkQmFzZS11bml0Vik7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmMtRm9ybS1sYWJlbC0taW5saW5lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgIG1hcmdpbjogMDtcblxuICAgIC5jLUZvcm0tcmFkaW8gfiAmLFxuICAgIC5jLUZvcm0tY2hlY2tib3ggfiAmIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHRvcDogLTExcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDM4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDdkN2Q3O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmMtRm9ybS1yYWRpbyB+ICYge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jLUZvcm0tY2hlY2tib3ggfiAmIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgICAgICBsZWZ0OiA2cHg7XG4gICAgICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2NoZWNrLnN2ZycpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcblxuICAgICAgICAgICAgaHRtbC5uby1zdmcgJiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvY2hlY2sucG5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1Gb3JtLXJhZGlvOmNoZWNrZWQgfiAmLFxuICAgIC5jLUZvcm0tY2hlY2tib3g6Y2hlY2tlZCB+ICYge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuXG4gICAgICAgIC5jLUZvcm0tcmFkaW8gfiAmLFxuICAgICAgICAuYy1Gb3JtLWNoZWNrYm94IH4gJiB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmMtRm9ybS1yYWRpbyB+ICYge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYy1Gb3JtLWNoZWNrYm94IH4gJiB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmMtRm9ybS1sYWJlbC0tYWx0IHtcbiAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAxMnB4KTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMTRweCk7XG4gICAgfVxufVxuXG4uYy1Gb3JtLWlucHV0LFxuLmMtRm9ybS10ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q3ZDdkNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4uYy1Gb3JtLWJsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ICogJEJhc2UtdW5pdFY7XG59XG5cbi5jLUZvcm0tbGFiZWxibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNjBweCA1MCUgMzBweCAzMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgLmMtRm9ybS1ibG9jay0tc3ByYXZhICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIH1cblxuICAgIC5jLUZvcm0tYmxvY2stLWFrdGl2aXR5ICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJlMGJmO1xuICAgIH1cblxuICAgIC5jLUZvcm0tYmxvY2stLWhlbHBkZXNrICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlM2IwO1xuICAgIH1cblxuICAgID4gc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIsIFwiPDEwMjRweFwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMzBweCAxMDBweDtcblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLUZvcm0tYmxvY2tJbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICByaWdodDogMzBweDtcbiAgICB3aWR0aDogNDUlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiLCBcIjwxMDI0cHhcIikge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICByaWdodDogMTAlO1xuICAgIH1cbn1cblxuLmMtRm9ybS10YWJsZSB7XG4gICAgbWluLWhlaWdodDogLjAxJTtcbiAgICBtYXJnaW4tYm90dG9tOiBkb3VibGUoJEJhc2UtdW5pdFYpO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q3ZDdkNztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgdHI6bnRoLWNoaWxkKG9kZCkgdGQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyOmhvdmVyIHRkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllN2U3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICgkQmFzZS11bml0ViAqIDEuNSkgKyAkQmFzZS11bml0VjtcblxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXG4gICAgICAgICAgICB0aCxcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAxOHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmMtRm9ybS1idXR0b24ge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkQmFzZS1jb2xvckdhbW1hO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRCYXNlLWNvbG9yR2FtbWE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzMzMztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMzBweCAyMHB4IDI1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAzMHB4IDIwcHggMjVweDtcbiAgICB9XG59XG5cbi5jLUZvcm0taWNvbiB7XG4gICAgJi5pY29uLXN1Ym1pdCB7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAuYy1Gb3JtLWJ1dHRvbjpob3ZlciAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pY29uLWNoZWNrIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIycHg7XG5cbiAgICAgICAgLmMtRm9ybS1jaGVja2Jsb2NrOmNoZWNrZWQgfiAuYy1Gb3JtLWxhYmVsYmxvY2sgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jLUZvcm0tYmxvY2stLXNwcmF2YSAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkQmFzZS1jb2xvckFscGhhO1xuICAgICAgICB9XG5cbiAgICAgICAgLmMtRm9ybS1ibG9jay0tYWt0aXZpdHkgJiB7XG4gICAgICAgICAgICBjb2xvcjogJEJhc2UtY29sb3JHYW1tYTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jLUZvcm0tYmxvY2stLWhlbHBkZXNrICYge1xuICAgICAgICAgICAgY29sb3I6ICRCYXNlLWNvbG9yQmV0YTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICAmLmljb24tc3VibWl0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIiwgXCI8MTAyNHB4XCIpIHtcbiAgICAgICAgJi5pY29uLWNoZWNrIHtcbiAgICAgICAgICAgIGJvdHRvbTogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTE3cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5XeXNpd3lnXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1XeXNpd3lnIHtcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAyOHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDIwcHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cblxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMThweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgPiB1bCxcbiAgICA+IG9sIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICA+IHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IG9sIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgICB9XG5cbiAgICB0YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2MwYzBjMDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyLmxhc3Qge1xuICAgICAgICAgICAgdGgsXG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyLnRvcCxcbiAgICAgICAgdHIuYm90dG9tIHtcbiAgICAgICAgICAgIHRoLFxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8bWVkaXVtXCIpIHtcbiAgICAgICAgW3N0eWxlPVwiZmxvYXQ6IGxlZnQ7XCJdLFxuICAgICAgICBbc3R5bGU9XCJmbG9hdDogcmlnaHQ7XCJdIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMzZweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMjJweCk7XG4gICAgICAgIH1cblxuICAgICAgICBbc3R5bGU9XCJmbG9hdDogbGVmdDtcIl0sXG4gICAgICAgIFtzdHlsZT1cImZsb2F0OiByaWdodDtcIl0ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBkb3VibGUoJEJhc2UtdW5pdFYpO1xuICAgICAgICB9XG5cbiAgICAgICAgW3N0eWxlPVwiZmxvYXQ6IGxlZnQ7XCJdIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIFtzdHlsZT1cImZsb2F0OiByaWdodDtcIl0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFyZ2VcIikge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCA0OHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDI0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgW3N0eWxlPVwiZmxvYXQ6IGxlZnQ7XCJdLFxuICAgICAgICBbc3R5bGU9XCJmbG9hdDogcmlnaHQ7XCJdIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLmMtV3lzaXd5Zy0tYWxwaGEge1xuLy8gICAgIGgxIHtcbi8vICAgICAgICAgY29sb3I6ICRCYXNlLWNvbG9yQWxwaGE7XG4vLyAgICAgfVxuXG4vLyAgICAgPiB1bCB7XG4vLyAgICAgICAgID4gbGkge1xuLy8gICAgICAgICAgICAgJjpiZWZvcmUge1xuLy8gICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRCYXNlLWNvbG9yQWxwaGE7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG4vLyB9XG5cbi8vIC5jLVd5c2l3eWctLWJldGEge1xuLy8gICAgIGgxIHtcbi8vICAgICAgICAgY29sb3I6ICRCYXNlLWNvbG9yQmV0YTtcbi8vICAgICB9XG5cbi8vICAgICA+IHVsIHtcbi8vICAgICAgICAgPiBsaSB7XG4vLyAgICAgICAgICAgICAmOmJlZm9yZSB7XG4vLyAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JCZXRhO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG4vLyAgICAgfVxuLy8gfVxuXG4vLyAuYy1XeXNpd3lnLS1nYW1tYSB7XG4vLyAgICAgaDEge1xuLy8gICAgICAgICBjb2xvcjogJEJhc2UtY29sb3JHYW1tYTtcbi8vICAgICB9XG5cbi8vICAgICA+IHVsIHtcbi8vICAgICAgICAgPiBsaSB7XG4vLyAgICAgICAgICAgICAmOmJlZm9yZSB7XG4vLyAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JHYW1tYTtcbi8vICAgICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cblxuLmMtV3lzaXd5Zy1kb3dubG9hZHMge1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDM0MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgfVxufVxuXG4uYy1XeXNpd3lnLWJ1dHRvbnMge1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkdhbGxlcnlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLUdhbGxlcnkge1xuICAgIG1hcmdpbjogMCAoLSgkQmFzZS1jb250YWluZXJQYWRkaW5nKSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgbWFyZ2luOiAwIDUwcHg7XG4gICAgfVxufVxuXG4uYy1HYWxsZXJ5LWl0ZW0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xuICAgIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cbn1cblxuLmMtR2FsbGVyeS1saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLUdhbGxlcnktZGVzYyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXJnZVwiKSB7XG4gICAgICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDE2cHgpO1xuICAgIH1cbn1cblxuLmMtR2FsbGVyeS1wcmV2LFxuLmMtR2FsbGVyeS1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgei1pbmRleDogNTtcbiAgICBtYXJnaW4tdG9wOiAtKDE1cHggLyAyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBtYXJnaW4tdG9wOiAtKDE1cHggLyAyKTtcbiAgICB9XG59XG5cbi5jLUdhbGxlcnktcHJldiB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIGxlZnQ6IC01MHB4O1xuICAgIH1cbn1cblxuLmMtR2FsbGVyeS1uZXh0IHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgcmlnaHQ6IC01MHB4O1xuICAgIH1cbn1cblxuLmMtR2FsbGVyeS1pY29uIHtcbiAgICB3aWR0aDogMjdweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgIC5jLUNhcm91c2VsLXByZXY6aG92ZXIgJixcbiAgICAuYy1DYXJvdXNlbC1uZXh0OmhvdmVyICYge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkRvd25sb2Fkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtRG93bmxvYWRzIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG59XG5cbi5jLURvd25sb2Fkcy0tYWxwaGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRCYXNlLWNvbG9yQWxwaGE7XG59XG5cbi5jLURvd25sb2Fkcy0tYmV0YSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JCZXRhO1xufVxuXG4uYy1Eb3dubG9hZHMtLWdhbW1hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkQmFzZS1jb2xvckdhbW1hO1xufVxuXG4uYy1Eb3dubG9hZHMtaXRlbSB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi5jLURvd25sb2Fkcy1pY29uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG4uYy1Eb3dubG9hZHMtbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogOHB4O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuQnV0dG9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtQnV0dG9ucyB7XG4gICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMTZweCk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmMtQnV0dG9ucy1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4uYy1CdXR0b25zLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzMzMyAhaW1wb3J0YW50O1xuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgbWluLXdpZHRoOiAzNTBweDtcbiAgICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgIH1cbn1cblxuLmMtQnV0dG9ucy1pY29uIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICAuYy1CdXR0b25zLWxpbms6aG92ZXIgJiB7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgIH1cblxuICAgID4gc3ZnIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFyZ2VcIikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG4uYy1CdXR0b25zLWxhYmVsIHtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgIC5jLUJ1dHRvbnMtbGluazpob3ZlciAmIHtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuVGltZWxpbmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLVRpbWVsaW5lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXNtYWxsXCIpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmMtVGltZWxpbmUteWVhciB7XG4gICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMjRweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5jLVRpbWVsaW5lLS1hbHBoYSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JBbHBoYTtcbiAgICB9XG5cbiAgICAuYy1UaW1lbGluZS0tYmV0YSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JCZXRhO1xuICAgIH1cblxuICAgIC5jLVRpbWVsaW5lLS1nYW1tYSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JHYW1tYTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49c21hbGxcIikge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYy1UaW1lbGluZS1kZXNjIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBkb3VibGUoJEJhc2UtdW5pdFYpO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JCYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXNtYWxsXCIpIHtcbiAgICAgICAgbWluLWhlaWdodDogNDZweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTIwcHg7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuRXhjZXJwdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtRXhjZXJwdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgW3N0eWxlPVwiZmxvYXQ6IGxlZnQ7XCJdIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBoYWx2ZSgkQmFzZS11bml0Vik7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAxNHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5DZWxsc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtQ2VsbHMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLUNlbGxzLWlubmVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFyZ2VcIikge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG5cbiAgICAgICAgLmMtQ2VsbHMtLXN0cmV0Y2ggJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmMtQ2VsbHMtaXRlbSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgICAgLy8gbWluLWhlaWdodDogMzBweCArICg1ICogMTRweCAqIDEuNSkgKyAzMHB4O1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRHcmlkLWd1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXJnZVwiKSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDMwcHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcblxuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDRuKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoNG4gKyAxKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkNUQVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtQ3RhIHtcbiAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAxNnB4KTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uYy1DdGEtLWlubGluZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1DdGEtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgIC5jLUN0YS0taW5saW5lICYge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICAuYy1DdGEtLWlubGluZSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgLmMtQ3RhLS1pbmxpbmUgJiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMjVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmMtQ3RhLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAuYy1DdGEtaXRlbS0tZmlsbCAmIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgfVxuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICAuYy1DdGEtLWFscGhhICYge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkQmFzZS1jb2xvckFscGhhO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JBbHBoYTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jLUN0YS0tYmV0YSAmIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJEJhc2UtY29sb3JCZXRhO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JCZXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgLmMtQ3RhLS1nYW1tYSAmIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJEJhc2UtY29sb3JHYW1tYTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRCYXNlLWNvbG9yR2FtbWE7XG4gICAgICAgIH1cblxuICAgICAgICAuYy1DdGEtaXRlbS0tZmlsbCAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICMzMzMgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgbWluLXdpZHRoOiAzNTBweDtcbiAgICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgIH1cbn1cblxuLmMtQ3RhLWljb24ge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgIC5jLUN0YS0tYWxwaGEgJiB7XG4gICAgICAgIGNvbG9yOiAkQmFzZS1jb2xvckFscGhhO1xuICAgIH1cblxuICAgIC5jLUN0YS0tYmV0YSAmIHtcbiAgICAgICAgY29sb3I6ICRCYXNlLWNvbG9yQmV0YTtcbiAgICB9XG5cbiAgICAuYy1DdGEtLWdhbW1hICYge1xuICAgICAgICBjb2xvcjogJEJhc2UtY29sb3JHYW1tYTtcbiAgICB9XG5cbiAgICAuYy1DdGEtaXRlbS0tZmlsbCAmIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgLmMtQ3RhLWxpbms6aG92ZXIgJiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgIC5jLUN0YS1pdGVtLS1maWxsICYge1xuICAgICAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IHN2ZyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuLmMtQ3RhLWxhYmVsIHtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgIC5jLUN0YS1saW5rOmhvdmVyICYge1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5DYXJvdXNlbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtQ2Fyb3VzZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG59XG5cbi5jLUNhcm91c2VsLWxpc3Qge1xuICAgIHBhZGRpbmc6IDIwcHggMCA2NXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCA5NXB4O1xuICAgICAgICBtYXJnaW46IDAgLTI1cHg7XG4gICAgfVxufVxuXG4uYy1DYXJvdXNlbC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8vIHBhZGRpbmc6IDAgMTBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgfVxufVxuXG4uYy1DYXJvdXNlbC1wcmV2LFxuLmMtQ2Fyb3VzZWwtbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogKCg2NXB4IC0gMTVweCkgLyAyKTtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgYm90dG9tOiAoKDk1cHggLSAxNXB4KSAvIDIpO1xuICAgIH1cbn1cblxuLmMtQ2Fyb3VzZWwtcHJldiB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5jLUNhcm91c2VsLW5leHQge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLmMtQ2Fyb3VzZWwtaWNvbiB7XG4gICAgd2lkdGg6IDI3cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cbiAgICAuYy1DYXJvdXNlbC1wcmV2OmhvdmVyICYsXG4gICAgLmMtQ2Fyb3VzZWwtbmV4dDpob3ZlciAmIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50cy5Qb3N0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1Qb3N0LWRhdGUge1xuICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDEycHgpO1xuICAgIG1hcmdpbi1ib3R0b206IGhhbHZlKCRCYXNlLXVuaXRWKTtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYy1Qb3N0LXRpdGxlIHtcbiAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAxOHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiBoYWx2ZSgkQmFzZS11bml0Vik7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4uYy1Qb3N0LWRlc2Mge1xuICAgIG1hcmdpbi1ib3R0b206IGhhbHZlKCRCYXNlLXVuaXRWKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIEBpbmNsdWRlIHJlbShmb250LXNpemUsIDE0cHgpO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLlBhcnRuZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1QYXJ0bmVycyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1QYXJ0bmVycy1pbm5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG59XG5cbi5jLVBhcnRuZXJzLWxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xuICAgIGZvbnQtc2l6ZTogMDtcbn1cblxuLmMtUGFydG5lcnMtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gMyk7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDUlO1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiA1JTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogOTAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1zbWFsbFwiKSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyA0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvIDUpO1xuICAgIH1cbn1cblxuLmMtUGFydG5lcnMtbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbn1cblxuLmMtUGFydG5lcnMtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDgwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXJnZVwiKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkRpcmVjdG9yeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtRGlyZWN0b3J5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRCYXNlLWNvbG9yQWxwaGE7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRCYXNlLWNvbG9yQmV0YTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmMtRGlyZWN0b3J5LWxpc3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgfVxufVxuXG4uYy1EaXJlY3RvcnktaXRlbSB7XG4gICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMThweCk7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAzKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLURpcmVjdG9yeS1pY29uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogODAlIDgwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1zbWFsbFwiKSB7XG4gICAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIGF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIGF1dG87XG4gICAgfVxufVxuXG4uYy1EaXJlY3RvcnktaWNvbi0tc3ByYXZhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkQmFzZS1jb2xvckFscGhhO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zL3NwcmF2YS5wbmcnKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi5jLURpcmVjdG9yeS1pY29uLS1ha3Rpdml0eSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JHYW1tYTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9ha3Rpdml0eS5wbmcnKTtcbn1cblxuLmMtRGlyZWN0b3J5LWljb24tLWhlbHBkZXNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkQmFzZS1jb2xvckJldGE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvaGVscGRlc2sucG5nJyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG4uYy1EaXJlY3RvcnktbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzLkZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtRm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE1O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5jLUZvb3Rlci11cCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuTWFwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1NYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzMzMztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIGhlaWdodDogMzU2cHg7XG4gICAgfVxufVxuXG4uYy1NYXAtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC00MCU7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAyMDAwcHg7XG4gICAgICAgIGhlaWdodDogMzU2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PTEwMjRweFwiKSB7XG4gICAgICAgIHJpZ2h0OiAtMjAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXJnZVwiKSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj0yMDAwcHhcIikge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5jLU1hcC1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuXG4uYy1NYXAtYm9keSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDA7XG5cbiAgICAgICAgPiAuby1Db250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYy1NYXAtY29udGFjdCB7XG4gICAgc3Ryb25nIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMTRweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbn1cblxuLmMtTWFwLXRpdGxlIHtcbiAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAyMnB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMjhweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcmdlXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMzRweCk7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHMuVXBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLVVwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDU1cHg7XG4gICAgcGFkZGluZy10b3A6ICgoNTVweCAtIDI3cHgpIC8gMik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJEJhc2UtY29sb3JCZXRhO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgb3BhY2l0eSAwLjNzLCB2aXNpYmlsaXR5IDAuM3M7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gICAgfVxuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgcGFkZGluZy10b3A6ICgoNzBweCAtIDI3cHgpIC8gMik7XG4gICAgfVxufVxuXG4uYy1VcC1pY29uIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gICAgY29sb3I6ICNmZmY7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVXRpbHMuQWxpZ25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogVmVydGljYWwgYWxpZ25tZW50IHV0aWxpdGllc1xuICogRGVwZW5kcyBvbiBhbiBhcHByb3ByaWF0ZSBgZGlzcGxheWAgdmFsdWUuXG4gKi9cblxuLnUtYWxpZ25CYXNlbGluZSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi51LWFsaWduQm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7XG59XG5cbi51LWFsaWduTWlkZGxlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG59XG5cbi51LWFsaWduVG9wIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG59XG5cblxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoICRicmVha3BvaW50c0xlbmd0aCB7XG4gICAgJGJyZWFrcG9pbnQ6IG50aCgkYnJlYWtwb2ludHMsICRpKTtcbiAgICAkYnJlYWtwb2ludE5hbWU6IG50aCgkYnJlYWtwb2ludCwgMSk7XG5cbiAgICBAaWYgJGkgPCAkYnJlYWtwb2ludHNMZW5ndGgge1xuICAgICAgICAkYnJlYWtwb2ludE5leHQ6IG50aCgkYnJlYWtwb2ludHMsICRpICsgMSk7XG4gICAgICAgICRicmVha3BvaW50TmFtZU5leHQ6IG50aCgkYnJlYWtwb2ludE5leHQsIDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7Jz49JyArICRicmVha3BvaW50TmFtZX0sICN7JzwnICsgJGJyZWFrcG9pbnROYW1lTmV4dH0pIHtcbiAgICAgICAgICAgIC51LWFsaWduQmFzZWxpbmVcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtYWxpZ25Cb3R0b21cXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LWFsaWduTWlkZGxlXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS1hbGlnblRvcFxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCN7Jz49JyArICRicmVha3BvaW50TmFtZX0pIHtcbiAgICAgICAgLnUtYWxpZ25CYXNlbGluZVxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtYWxpZ25Cb3R0b21cXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1hbGlnbk1pZGRsZVxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LWFsaWduVG9wXFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoI3snPCcgKyAkYnJlYWtwb2ludE5hbWV9KSB7XG4gICAgICAgIC51LWFsaWduQmFzZWxpbmVcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtYWxpZ25Cb3R0b21cXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LWFsaWduTWlkZGxlXFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1hbGlnblRvcFxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFV0aWxzLkRpc3BsYXlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogMS4gRml4IGZvciBGaXJlZm94IGJ1ZzogYW4gaW1hZ2Ugc3R5bGVkIGBtYXgtd2lkdGg6MTAwJWAgd2l0aGluIGFuXG4gKiBpbmxpbmUtYmxvY2sgd2lsbCBkaXNwbGF5IGF0IGl0cyBkZWZhdWx0IHNpemUsIGFuZCBub3QgbGltaXQgaXRzIHdpZHRoIHRvXG4gKiAxMDAlIG9mIGFuIGFuY2VzdHJhbCBjb250YWluZXIuXG4gKi9cblxuLnUtaW5saW5lQmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xufVxuXG4udS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLnUtdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG59XG5cbi51LXRhYmxlQ2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xufVxuXG4udS10YWJsZVJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG59XG5cbi51LXZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLnUtaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLnUtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogQ29tcGxldGVseSByZW1vdmUgZnJvbSB0aGUgZmxvdyBidXQgbGVhdmUgYXZhaWxhYmxlIHRvIHNjcmVlbiByZWFkZXJzLlxuICovXG5cbi51LWhpZGRlblZpc3VhbGx5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KSAhaW1wb3J0YW50O1xufVxuXG5cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYnJlYWtwb2ludHNMZW5ndGgge1xuICAgICRicmVha3BvaW50OiBudGgoJGJyZWFrcG9pbnRzLCAkaSk7XG4gICAgJGJyZWFrcG9pbnROYW1lOiBudGgoJGJyZWFrcG9pbnQsIDEpO1xuXG4gICAgQGlmICRpIDwgJGJyZWFrcG9pbnRzTGVuZ3RoIHtcbiAgICAgICAgJGJyZWFrcG9pbnROZXh0OiBudGgoJGJyZWFrcG9pbnRzLCAkaSArIDEpO1xuICAgICAgICAkYnJlYWtwb2ludE5hbWVOZXh0OiBudGgoJGJyZWFrcG9pbnROZXh0LCAxKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgjeyc+PScgKyAkYnJlYWtwb2ludE5hbWV9LCAjeyc8JyArICRicmVha3BvaW50TmFtZU5leHR9KSB7XG4gICAgICAgICAgICAudS1pbmxpbmVcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtaW5saW5lQmxvY2tcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LWJsb2NrXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtdGFibGVcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS10YWJsZUNlbGxcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LXRhYmxlUm93XFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LXZpc2libGVcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LWludmlzaWJsZVxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS1oaWRkZW5cXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LWhpZGRlblZpc3VhbGx5XFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCN7Jz49JyArICRicmVha3BvaW50TmFtZX0pIHtcbiAgICAgICAgLnUtaW5saW5lXFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1pbmxpbmVCbG9ja1xcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtYmxvY2tcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtdGFibGVcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtdGFibGVDZWxsXFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtdGFibGVSb3dcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXZpc2libGVcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1pbnZpc2libGVcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LWhpZGRlblxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LWhpZGRlblZpc3VhbGx5XFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCN7JzwnICsgJGJyZWFrcG9pbnROYW1lfSkge1xuICAgICAgICAudS1pbmxpbmVcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtaW5saW5lQmxvY2tcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtYmxvY2tcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS10YWJsZVxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXRhYmxlQ2VsbFxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtdGFibGVSb3dcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtdmlzaWJsZVxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtaW52aXNpYmxlXFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LWhpZGRlblxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtaGlkZGVuVmlzdWFsbHlcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVXRpbHMuTGF5b3V0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvbnRhaW4gZmxvYXRzXG4gKlxuICogTWFrZSBhbiBlbGVtZW50IGV4cGFuZCB0byBjb250YWluIGZsb2F0ZWQgY2hpbGRyZW4uXG4gKiBVc2VzIHBzZXVkby1lbGVtZW50cyAobWljcm8gY2xlYXJmaXgpLlxuICpcbiAqIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4gKiAgICBgY29udGVudGVkaXRhYmxlYCBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4gKiAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgdGhlXG4gKiAgICBlbGVtZW50LlxuICogMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbiAqICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbiAqL1xuXG4udS1jZjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMiAqL1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4vKipcbiAqIE5ldyBibG9jayBmb3JtYXR0aW5nIGNvbnRleHRcbiAqXG4gKiBUaGlzIGFmZm9yZHMgc29tZSB1c2VmdWwgcHJvcGVydGllcyB0byB0aGUgZWxlbWVudC4gSXQgd29uJ3Qgd3JhcCB1bmRlclxuICogZmxvYXRzLiBXaWxsIGFsc28gY29udGFpbiBhbnkgZmxvYXRlZCBjaGlsZHJlbi5cblxuICogTi5CLiBUaGlzIHdpbGwgY2xpcCBvdmVyZmxvdy4gVXNlIHRoZSBhbHRlcm5hdGl2ZSBtZXRob2QgYmVsb3cgaWYgdGhpcyBpc1xuICogcHJvYmxlbWF0aWMuXG4gKi9cblxuLnUtbmJmYyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIE5ldyBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQgKGFsdGVybmF0aXZlKVxuICpcbiAqIEFsdGVybmF0aXZlIG1ldGhvZCB3aGVuIG92ZXJmbG93IG11c3Qgbm90IGJlIGNsaXBwZWQuXG4gKlxuICogMS4gQ3JlYXRlIGEgbmV3IGJsb2NrIGZvcm1hdHRpbmcgY29udGV4dCAoTkJGQykuXG4gKiAyLiBBdm9pZCBzaHJpbmstd3JhcCBiZWhhdmlvdXIgb2YgdGFibGUtY2VsbC5cbiAqXG4gKiBOLkIuIFRoaXMgYnJlYWtzIGRvd24gaW4gc29tZSBicm93c2VycyB3aGVuIGVsZW1lbnRzIHdpdGhpbiB0aGlzIGVsZW1lbnRcbiAqIGV4Y2VlZCBpdHMgd2lkdGguXG4gKi9cblxuLnUtbmJmY0FsdCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyAvKiAxICovXG4gICAgd2lkdGg6IDEwMDAwcHggIWltcG9ydGFudDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZsb2F0c1xuICovXG5cbi51LWZsb2F0TGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnUtZmxvYXRSaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cblxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoICRicmVha3BvaW50c0xlbmd0aCB7XG4gICAgJGJyZWFrcG9pbnQ6IG50aCgkYnJlYWtwb2ludHMsICRpKTtcbiAgICAkYnJlYWtwb2ludE5hbWU6IG50aCgkYnJlYWtwb2ludCwgMSk7XG5cbiAgICBAaWYgJGkgPCAkYnJlYWtwb2ludHNMZW5ndGgge1xuICAgICAgICAkYnJlYWtwb2ludE5leHQ6IG50aCgkYnJlYWtwb2ludHMsICRpICsgMSk7XG4gICAgICAgICRicmVha3BvaW50TmFtZU5leHQ6IG50aCgkYnJlYWtwb2ludE5leHQsIDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7Jz49JyArICRicmVha3BvaW50TmFtZX0sICN7JzwnICsgJGJyZWFrcG9pbnROYW1lTmV4dH0pIHtcbiAgICAgICAgICAgIC51LWNmOmFmdGVyXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LW5iZmNcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LW5iZmNBbHRcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMDAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtZmxvYXRMZWZ0XFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtZmxvYXRSaWdodFxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoI3snPj0nICsgJGJyZWFrcG9pbnROYW1lfSkge1xuICAgICAgICAudS1jZjphZnRlclxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LW5iZmNcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1uYmZjQWx0XFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMDAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LWZsb2F0TGVmdFxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1mbG9hdFJpZ2h0XFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgjeyc8JyArICRicmVha3BvaW50TmFtZX0pIHtcbiAgICAgICAgLnUtY2Y6YWZ0ZXJcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LW5iZmNcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LW5iZmNBbHRcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1mbG9hdExlZnRcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1mbG9hdFJpZ2h0XFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBVdGlscy5Qb3NpdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnUtcG9zQWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIFBpbnMgdG8gYWxsIGNvcm5lcnMgYnkgZGVmYXVsdC4gQnV0IHdoZW4gYSB3aWR0aCBhbmQvb3IgaGVpZ2h0IGFyZVxuICogcHJvdmlkZWQsIHRoZSBlbGVtZW50IHdpbGwgYmUgY2VudGVyZWQgaW4gaXRzIG5lYXJlc3QgcmVsYXRpdmVseS1wb3NpdGlvbmVkXG4gKiBhbmNlc3Rvci5cbiAqL1xuXG4udS1wb3NBYnNvbHV0ZUNlbnRlciB7XG4gICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogMS4gTWFrZSBzdXJlIGZpeGVkIGVsZW1lbnRzIGFyZSBwcm9tb3RlZCBpbnRvIGEgbmV3IGxheWVyLCBmb3IgcGVyZm9ybWFuY2VcbiAqICAgIHJlYXNvbnMuXG4gKi9cblxuLnUtcG9zRml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogMSAqL1xufVxuXG4udS1wb3NSZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG5cbi51LXBvc1N0YXRpYyB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xufVxuXG5cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYnJlYWtwb2ludHNMZW5ndGgge1xuICAgICRicmVha3BvaW50OiBudGgoJGJyZWFrcG9pbnRzLCAkaSk7XG4gICAgJGJyZWFrcG9pbnROYW1lOiBudGgoJGJyZWFrcG9pbnQsIDEpO1xuXG4gICAgQGlmICRpIDwgJGJyZWFrcG9pbnRzTGVuZ3RoIHtcbiAgICAgICAgJGJyZWFrcG9pbnROZXh0OiBudGgoJGJyZWFrcG9pbnRzLCAkaSArIDEpO1xuICAgICAgICAkYnJlYWtwb2ludE5hbWVOZXh0OiBudGgoJGJyZWFrcG9pbnROZXh0LCAxKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgjeyc+PScgKyAkYnJlYWtwb2ludE5hbWV9LCAjeyc8JyArICRicmVha3BvaW50TmFtZU5leHR9KSB7XG4gICAgICAgICAgICAudS1wb3NBYnNvbHV0ZVxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS1wb3NBYnNvbHV0ZUNlbnRlclxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS1wb3NGaXhlZFxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogMSAqL1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS1wb3NSZWxhdGl2ZVxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS1wb3NTdGF0aWNcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgjeyc+PScgKyAkYnJlYWtwb2ludE5hbWV9KSB7XG4gICAgICAgIC51LXBvc0Fic29sdXRlXFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1wb3NBYnNvbHV0ZUNlbnRlclxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXBvc0ZpeGVkXFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8qIDEgKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC51LXBvc1JlbGF0aXZlXFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1wb3NTdGF0aWNcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgjeyc8JyArICRicmVha3BvaW50TmFtZX0pIHtcbiAgICAgICAgLnUtcG9zQWJzb2x1dGVcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtcG9zQWJzb2x1dGVDZW50ZXJcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXBvc0ZpeGVkXFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogMSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtcG9zUmVsYXRpdmVcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtcG9zU3RhdGljXFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVXRpbHMuU2l6ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogSW50cmluc2ljIHdpZHRoc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBNYWtlIGFuIGVsZW1lbnQgc2hyaW5rIHdyYXAgaXRzIGNvbnRlbnQuXG4gKi9cblxuLnUtc2l6ZUZpdCxcbi51LXNpemVGaXRBbHQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udS1zaXplRml0QWx0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBNYWtlIGFuIGVsZW1lbnQgZmlsbCB0aGUgcmVtYWluaW5nIHNwYWNlLlxuICogTi5CLiBUaGlzIHdpbGwgaGlkZSBvdmVyZmxvdy5cbiAqL1xuXG4udS1zaXplRmlsbCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBBbiBhbHRlcm5hdGl2ZSBtZXRob2QgdG8gbWFrZSBhbiBlbGVtZW50IGZpbGwgdGhlIHJlbWFpbmluZyBzcGFjZS5cbiAqIE4uQi4gRG8gbm90IHVzZSBpZiBjaGlsZCBlbGVtZW50cyBtaWdodCBiZSB3aWRlciB0aGFuIHRoZSByZW1haW5pbmcgc3BhY2UuXG4gKiBJbiBDaHJvbWUsIFNhZmFyaSwgYW5kIEZpcmVmb3ggaXQgcmVzdWx0cyBpbiB1bmRlc2lyZWQgbGF5b3V0LlxuICovXG5cbi51LXNpemVGaWxsQWx0IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMDAwcHggIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBNYWtlIGFuIGVsZW1lbnQgdGhlIHdpZHRoIG9mIGl0cyBwYXJlbnQuXG4gKi9cblxuLnUtc2l6ZUZ1bGwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi51LXNpemUxb2YxIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYnJlYWtwb2ludHNMZW5ndGgge1xuICAgICRicmVha3BvaW50OiBudGgoJGJyZWFrcG9pbnRzLCAkaSk7XG4gICAgJGJyZWFrcG9pbnROYW1lOiBudGgoJGJyZWFrcG9pbnQsIDEpO1xuXG4gICAgQGlmICRpIDwgJGJyZWFrcG9pbnRzTGVuZ3RoIHtcbiAgICAgICAgJGJyZWFrcG9pbnROZXh0OiBudGgoJGJyZWFrcG9pbnRzLCAkaSArIDEpO1xuICAgICAgICAkYnJlYWtwb2ludE5hbWVOZXh0OiBudGgoJGJyZWFrcG9pbnROZXh0LCAxKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgjeyc+PScgKyAkYnJlYWtwb2ludE5hbWV9LCAjeyc8JyArICRicmVha3BvaW50TmFtZU5leHR9KSB7XG4gICAgICAgICAgICAudS1zaXplRml0XFxAI3skYnJlYWtwb2ludE5hbWV9T25seSxcbiAgICAgICAgICAgIC51LXNpemVGaXRBbHRcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtc2l6ZUZpdEFsdFxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS1zaXplRmlsbFxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LXNpemVGaWxsQWx0XFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LXNpemVGdWxsXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtc2l6ZTFvZjFcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoI3snPj0nICsgJGJyZWFrcG9pbnROYW1lfSkge1xuICAgICAgICAudS1zaXplRml0XFxAI3skYnJlYWtwb2ludE5hbWV9VXAsXG4gICAgICAgIC51LXNpemVGaXRBbHRcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1zaXplRml0QWx0XFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1zaXplRmlsbFxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtc2l6ZUZpbGxBbHRcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1zaXplRnVsbFxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtc2l6ZTFvZjFcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoI3snPCcgKyAkYnJlYWtwb2ludE5hbWV9KSB7XG4gICAgICAgIC51LXNpemVGaXRcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duLFxuICAgICAgICAudS1zaXplRml0QWx0XFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1zaXplRml0QWx0XFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXNpemVGaWxsXFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXNpemVGaWxsQWx0XFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1zaXplRnVsbFxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1zaXplMW9mMVxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi8qIFByb3BvcnRpb25hbCB3aWR0aHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbmNsdWRlIGNvbHVtbnMoMiwgMywgNCwgNSwgOCk7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVXRpbHMuU3BhY2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVzZXQgYWxsIHNwYWNlc1xuICovXG5cbi51LXBhZGRpbmdBIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbkEge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIFJlc2V0IHZlcnRpY2FsIHNwYWNlc1xuICovXG5cbi51LXBhZGRpbmdWIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpblYge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogUmVzZXQgaG9yaXpvbnRhbCBzcGFjZXNcbiAqL1xuXG4udS1wYWRkaW5nSCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW5IIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIFJlc2V0IHRvcCBzcGFjZVxuICovXG5cbi51LXBhZGRpbmdUIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW5UIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogUmVzZXQgcmlnaHQgc3BhY2VcbiAqL1xuXG4udS1wYWRkaW5nUiB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4udS1tYXJnaW5SIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBSZXNldCBib3R0b20gc3BhY2VcbiAqL1xuXG4udS1wYWRkaW5nQiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnUtbWFyZ2luQiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIFJlc2V0IGxlZnQgc3BhY2VcbiAqL1xuXG4udS1wYWRkaW5nTCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi51LW1hcmdpbkwge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cblxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoICRicmVha3BvaW50c0xlbmd0aCB7XG4gICAgJGJyZWFrcG9pbnQ6IG50aCgkYnJlYWtwb2ludHMsICRpKTtcbiAgICAkYnJlYWtwb2ludE5hbWU6IG50aCgkYnJlYWtwb2ludCwgMSk7XG5cbiAgICBAaWYgJGkgPCAkYnJlYWtwb2ludHNMZW5ndGgge1xuICAgICAgICAkYnJlYWtwb2ludE5leHQ6IG50aCgkYnJlYWtwb2ludHMsICRpICsgMSk7XG4gICAgICAgICRicmVha3BvaW50TmFtZU5leHQ6IG50aCgkYnJlYWtwb2ludE5leHQsIDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7Jz49JyArICRicmVha3BvaW50TmFtZX0sICN7JzwnICsgJGJyZWFrcG9pbnROYW1lTmV4dH0pIHtcbiAgICAgICAgICAgIC51LXBhZGRpbmdBXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS1tYXJnaW5BXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LXBhZGRpbmdWXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS1tYXJnaW5WXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtcGFkZGluZ0hcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LW1hcmdpbkhcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS1wYWRkaW5nVFxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LW1hcmdpblRcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LXBhZGRpbmdSXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS1tYXJnaW5SXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LXBhZGRpbmdCXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtbWFyZ2luQlxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtcGFkZGluZ0xcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtbWFyZ2luTFxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgjeyc+PScgKyAkYnJlYWtwb2ludE5hbWV9KSB7XG4gICAgICAgIC51LXBhZGRpbmdBXFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtbWFyZ2luQVxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtcGFkZGluZ1ZcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LW1hcmdpblZcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1wYWRkaW5nSFxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtbWFyZ2luSFxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXBhZGRpbmdUXFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LW1hcmdpblRcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1wYWRkaW5nUlxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LW1hcmdpblJcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXBhZGRpbmdCXFxAI3skYnJlYWtwb2ludE5hbWV9VXAge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LW1hcmdpbkJcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1wYWRkaW5nTFxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtbWFyZ2luTFxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgjeyc8JyArICRicmVha3BvaW50TmFtZX0pIHtcbiAgICAgICAgLnUtcGFkZGluZ0FcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LW1hcmdpbkFcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtcGFkZGluZ1ZcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtbWFyZ2luVlxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtcGFkZGluZ0hcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtbWFyZ2luSFxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtcGFkZGluZ1RcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1tYXJnaW5UXFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1wYWRkaW5nUlxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtbWFyZ2luUlxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS1wYWRkaW5nQlxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LW1hcmdpbkJcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXBhZGRpbmdMXFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LW1hcmdpbkxcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVXRpbHMuVGV4dFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBXb3JkIGJyZWFraW5nXG4gKlxuICogQnJlYWsgc3RyaW5ncyB3aGVuIHRoZWlyIGxlbmd0aCBleGNlZWRzIHRoZSB3aWR0aCBvZiB0aGVpciBjb250YWluZXIuXG4gKi9cblxuLnUtdGV4dEJyZWFrIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBIb3Jpem9udGFsIHRleHQgYWxpZ25tZW50XG4gKi9cblxuLnUtdGV4dENlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi51LXRleHRMZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi51LXRleHRSaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBJbmhlcml0IHRoZSBhbmNlc3RvcidzIHRleHQgY29sb3IuXG4gKi9cblxuLnUtdGV4dEluaGVyaXRDb2xvciB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBFbmFibGVzIGZvbnQga2VybmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiBodHRwOi8vYmxvZy50eXBla2l0LmNvbS8yMDE0LzAyLzA1L2tlcm5pbmctb24tdGhlLXdlYi9cbiAqXG4gKiAxLiBDaHJvbWUgKG5vdCBXaW5kb3dzKSwgRmlyZWZveCwgU2FmYXJpIDYrLCBpT1MsIEFuZHJvaWRcbiAqIDIuIENocm9tZSAobm90IFdpbmRvd3MpLCBGaXJlZm94LCBJRSAxMCtcbiAqIDMuIFNhZmFyaSA3IGFuZCBmdXR1cmUgYnJvd3NlcnNcbiAqL1xuXG4udS10ZXh0S2VybiB7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgLyogMSAqL1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMTsgLyogMiAqL1xuICAgIGZvbnQta2VybmluZzogbm9ybWFsOyAvKiAzICovXG59XG5cbi8qKlxuICogUHJldmVudCB3aGl0ZXNwYWNlIHdyYXBwaW5nXG4gKi9cblxuLnUtdGV4dE5vV3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIFRleHQgdHJ1bmNhdGlvblxuICpcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXMsIGFuZCB0cnVuY2F0ZSB3aXRoIGFuXG4gKiBlbGxpcHNpcy5cbiAqXG4gKiAxLiBFbnN1cmUgdGhhdCB0aGUgbm9kZSBoYXMgYSBtYXhpbXVtIHdpZHRoIGFmdGVyIHdoaWNoIHRydW5jYXRpb24gY2FuXG4gKiAgICBvY2N1ci5cbiAqIDIuIEZpeCBmb3IgSUUgOC85IGlmIGB3b3JkLXdyYXA6IGJyZWFrLXdvcmRgIGlzIGluIGVmZmVjdCBvbiBhbmNlc3RvclxuICogICAgbm9kZXMuXG4gKi9cblxuLnUtdGV4dFRydW5jYXRlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDsgLyogMiAqL1xufVxuXG5cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYnJlYWtwb2ludHNMZW5ndGgge1xuICAgICRicmVha3BvaW50OiBudGgoJGJyZWFrcG9pbnRzLCAkaSk7XG4gICAgJGJyZWFrcG9pbnROYW1lOiBudGgoJGJyZWFrcG9pbnQsIDEpO1xuXG4gICAgQGlmICRpIDwgJGJyZWFrcG9pbnRzTGVuZ3RoIHtcbiAgICAgICAgJGJyZWFrcG9pbnROZXh0OiBudGgoJGJyZWFrcG9pbnRzLCAkaSArIDEpO1xuICAgICAgICAkYnJlYWtwb2ludE5hbWVOZXh0OiBudGgoJGJyZWFrcG9pbnROZXh0LCAxKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgjeyc+PScgKyAkYnJlYWtwb2ludE5hbWV9LCAjeyc8JyArICRicmVha3BvaW50TmFtZU5leHR9KSB7XG4gICAgICAgICAgICAudS10ZXh0QnJlYWtcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtdGV4dENlbnRlclxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudS10ZXh0TGVmdFxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtdGV4dFJpZ2h0XFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnUtdGV4dEluaGVyaXRDb2xvclxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LXRleHRLZXJuXFxAI3skYnJlYWtwb2ludE5hbWV9T25seSB7XG4gICAgICAgICAgICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgLyogMSAqL1xuICAgICAgICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMTsgLyogMiAqL1xuICAgICAgICAgICAgICAgIGZvbnQta2VybmluZzogbm9ybWFsOyAvKiAzICovXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LXRleHROb1dyYXBcXEAjeyRicmVha3BvaW50TmFtZX1Pbmx5IHtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51LXRleHRUcnVuY2F0ZVxcQCN7JGJyZWFrcG9pbnROYW1lfU9ubHkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50OyAvKiAyICovXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgjeyc+PScgKyAkYnJlYWtwb2ludE5hbWV9KSB7XG4gICAgICAgIC51LXRleHRCcmVha1xcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtdGV4dENlbnRlclxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtdGV4dExlZnRcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS10ZXh0UmlnaHRcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtdGV4dEluaGVyaXRDb2xvclxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS10ZXh0S2VyblxcQCN7JGJyZWFrcG9pbnROYW1lfVVwIHtcbiAgICAgICAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IC8qIDEgKi9cbiAgICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMTsgLyogMiAqL1xuICAgICAgICAgICAgZm9udC1rZXJuaW5nOiBub3JtYWw7IC8qIDMgKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC51LXRleHROb1dyYXBcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS10ZXh0VHJ1bmNhdGVcXEAjeyRicmVha3BvaW50TmFtZX1VcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50OyAvKiAyICovXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgjeyc8JyArICRicmVha3BvaW50TmFtZX0pIHtcbiAgICAgICAgLnUtdGV4dEJyZWFrXFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXRleHRDZW50ZXJcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtdGV4dExlZnRcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXRleHRSaWdodFxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXRleHRJbmhlcml0Q29sb3JcXEAjeyRicmVha3BvaW50TmFtZX1Eb3duIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudS10ZXh0S2VyblxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgLyogMSAqL1xuICAgICAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxOyAvKiAyICovXG4gICAgICAgICAgICBmb250LWtlcm5pbmc6IG5vcm1hbDsgLyogMyAqL1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtdGV4dE5vV3JhcFxcQCN7JGJyZWFrcG9pbnROYW1lfURvd24ge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtdGV4dFRydW5jYXRlXFxAI3skYnJlYWtwb2ludE5hbWV9RG93biB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50OyAvKiAyICovXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= */
