@charset "UTF-8";
/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    touch-action: manipulation;
    -moz-backface-visibility: hidden;
    /* fix firefox animation glitch */ }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-wrapper,
  .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel button.owl-dot {
    background: none;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
			This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
			calculation of the height of the owl-item that breaks page layouts
		 */ }
  .owl-carousel .owl-item .owl-lazy {
    opacity: 0;
    transition: opacity 400ms ease; }
  .owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
    max-height: 0; }
  .owl-carousel .owl-item img.owl-lazy {
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: -webkit-transform 100ms ease;
  transition: transform 100ms ease;
  transition: transform 100ms ease, -webkit-transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  -webkit-transform: scale(1.3, 1.3);
          transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * Remove margin and padding from every selector including their
 * psuedo selectors.
 *
 * 1. More sensible default box sizing.
 *    (css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice).
 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
  /* 1 */ }

/**
 * Set height of the document to maxium viewport height.
 *
 * 1. Set root font size to 10.
 */
html {
  height: 100vh;
  font-size: 62.5%;
  /* 1 */
  box-sizing: border-box; }

/**
 * Set minimal height of the body to maximum viewport height to
 * match the document's height.
 *
 * 1. Firefox 25+.
 * 2. Chrome 5+.
 */
body {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  min-height: 100vh;
  color: #606060;
  font-family: "Dosis";
  font-weight: 500;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */ }

/**
 * Selection color.
 */
::-moz-selection {
  background: #e15c37;
  color: white; }
::selection {
  background: #e15c37;
  color: white; }

/**
 * Settings for the padding on different pages
 *
 * If we're on the home page, we want different values because of the slider.
 */
.is-home-page {
  padding-top: 0 !important; }
  @media only screen and (max-width: 599px) {
    .is-home-page {
      padding-top: 190px !important; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .is-home-page {
      padding-top: 190px !important; } }

/**
 * Fade in class (used for loading a page).
 */
.body__fade-in {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 1500ms ease;
  background: #0f0e0d;
  z-index: 999; }

/**
 * Homepage loader. This only applies to the home page, hence the classname.
 */
.is-home-loader {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0f0e0d;
  z-index: 999; }
  .is-home-loader::after {
    display: none;
    font-family: "Font Awesome 5 Regular";
    content: '\f332'; }
  .is-home-loader svg {
    display: block;
    margin: auto;
    margin-top: 50vh;
    font-size: 60px;
    -webkit-animation: pulse 2000ms ease infinite;
            animation: pulse 2000ms ease infinite; }

/* ==========================================================================
   Reset
   ========================================================================== */
/**
 * Custom user agent resets and overrides that are not present in
 * Normalize 8.0.0. This mostly removes some annoying margin and padding
 * defaults, border radius, and outlines.
 */
a {
  color: inherit;
  text-decoration: none; }

/**
 * 1. Remove border radius on Chrome 62.0+ on macOS.
 */
button {
  border: 0;
  border-radius: 0;
  /* 1 */
  outline: none;
  background: none;
  cursor: pointer; }

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

figure {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit; }

hr {
  margin: 0;
  padding: 0; }

/**
 * 1. Remove white space.
 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  /* 1 */ }

/**
 * 1. Remove inherited user agent appearance.
 */
input,
select,
textarea {
  max-width: 100%;
  border: 0;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  /* 1 */ }

/**
 * 1. Only allow vertical resizing to prevent the textarea
 *    from overflowing the container.
 */
textarea {
  resize: vertical; }

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

p {
  margin: 0; }

/**
 * 1. Collapse borders to prevent double sided borders.
 */
table {
  max-width: 100%;
  border-collapse: collapse;
  /* 1 */ }

strong {
  font-weight: 700; }

/* ==========================================================================
   Buttons
   ========================================================================== */
/**
 * Default button styling.
 */
.button {
  font-family: "Dosis";
  font-weight: 600;
  text-transform: uppercase; }

/**
 * Button (primary).
 */
.button--orange {
  display: table;
  margin: 30px 0;
  padding: 10px 60px;
  transition: all 250ms ease;
  border: 2px solid #e15c37;
  border-radius: 50px;
  background: #e15c37;
  color: white;
  font-size: 20px;
  text-align: center;
  box-shadow: 3px 3px 0 0 #e0e0e0; }
  @media only screen and (max-width: 1199px) {
    .button--orange {
      display: table;
      padding: 10px 40px;
      font-size: 15px; } }
  .button--orange:hover {
    border: 2px solid #e15c37;
    background: white;
    color: #e15c37; }

.button--white {
  display: block;
  margin: 30px 0;
  padding: 10px;
  transition: all 250ms ease;
  border: 3px solid white;
  border-radius: 50px;
  background: white;
  color: #e15c37;
  font-size: 20px;
  text-align: center;
  box-shadow: 3px 3px 0 0 #e0e0e0; }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .button--white {
      display: table;
      padding: 10px 50px;
      font-size: 15px; } }
  @media only screen and (max-width: 599px) {
    .button--white {
      padding: 2px 40px;
      font-size: 13px; } }
  .button--white:hover {
    border: 3px solid white;
    background: #e15c37;
    color: white; }

.button--white-orangeborder {
  display: block;
  margin: 30px 0;
  padding: 10px 60px;
  transition: all 250ms ease;
  border: 3px solid #e15c37;
  border-radius: 50px;
  background: white;
  color: #e15c37;
  font-size: 20px;
  text-align: center;
  box-shadow: 3px 3px 0 0 #e0e0e0; }
  @media only screen and (max-width: 1199px) {
    .button--white-orangeborder {
      display: table;
      padding: 10px 40px;
      font-size: 15px; } }
  .button--white-orangeborder:hover {
    background: #e15c37;
    color: white; }

.width-50 {
  width: 54%;
  padding: 15px 40px; }
  @media only screen and (max-width: 599px) {
    .width-50 {
      width: 100%; } }

/* ==========================================================================
   Content Constraint
   ========================================================================== */
/**
 * The content constraint is a constraint for all the content within
 * the document. It can be manipulated by CSS or JavaScript without
 * influencing the body.
 */
.content-constraint {
  position: relative;
  min-height: 100vh;
  padding-top: 190px; }
  @media only screen and (max-width: 599px) {
    .content-constraint {
      padding-top: 270px; } }

/*!
 * Datepicker v1.0.8
 * https://fengyuanchen.github.io/datepicker
 *
 * Copyright 2014-present Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2019-06-23T08:07:37.208Z
 */
.datepicker-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 210px;
  background-color: #fff;
  font-size: 12px;
  line-height: 30px;
  z-index: -1;
  direction: ltr;
  -webkit-tap-highlight-color: transparent;
  touch-action: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.datepicker-container::before,
.datepicker-container::after {
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  content: ' '; }

.datepicker-dropdown {
  position: absolute;
  border: 1px solid #ccc;
  box-shadow: 0 3px 6px #ccc;
  z-index: 1;
  -webkit-box-shadow: 0 3px 6px #ccc;
  box-sizing: content-box;
  -webkit-box-sizing: content-box; }

.datepicker-inline {
  position: static; }

.datepicker-top-left,
.datepicker-top-right {
  border-top-color: #e15c37; }

.datepicker-top-left::before,
.datepicker-top-left::after,
.datepicker-top-right::before,
.datepicker-top-right::after {
  top: -5px;
  left: 10px;
  border-top: 0; }

.datepicker-top-left::before,
.datepicker-top-right::before {
  border-bottom-color: #e15c37; }

.datepicker-top-left::after,
.datepicker-top-right::after {
  top: -4px;
  border-bottom-color: #fff; }

.datepicker-bottom-left,
.datepicker-bottom-right {
  border-bottom-color: #39f; }

.datepicker-bottom-left::before,
.datepicker-bottom-left::after,
.datepicker-bottom-right::before,
.datepicker-bottom-right::after {
  bottom: -5px;
  left: 10px;
  border-bottom: 0; }

.datepicker-bottom-left::before,
.datepicker-bottom-right::before {
  border-top-color: #39f; }

.datepicker-bottom-left::after,
.datepicker-bottom-right::after {
  bottom: -4px;
  border-top-color: #fff; }

.datepicker-top-right::before,
.datepicker-top-right::after,
.datepicker-bottom-right::before,
.datepicker-bottom-right::after {
  right: 10px;
  left: auto; }

.datepicker-panel > ul {
  width: 102%;
  margin: 0;
  padding: 0; }

.datepicker-panel > ul::before,
.datepicker-panel > ul::after {
  display: table;
  content: ' '; }

.datepicker-panel > ul::after {
  clear: both; }

.datepicker-panel > ul > li {
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  float: left;
  background-color: #fff;
  list-style: none;
  text-align: center;
  cursor: pointer; }

.datepicker-panel > ul > li:hover {
  background-color: #e5f2ff; }

.datepicker-panel > ul > li.muted,
.datepicker-panel > ul > li.muted:hover {
  color: #999; }

.datepicker-panel > ul > li.highlighted {
  background-color: #e5f2ff; }

.datepicker-panel > ul > li.highlighted:hover {
  background-color: #cce5ff; }

.datepicker-panel > ul > li.picked,
.datepicker-panel > ul > li.picked:hover {
  color: #39f; }

.datepicker-panel > ul > li.disabled,
.datepicker-panel > ul > li.disabled:hover {
  background-color: #fff;
  color: #ccc;
  cursor: default; }

.datepicker-panel > ul > li.disabled.highlighted,
.datepicker-panel > ul > li.disabled:hover.highlighted {
  background-color: #e5f2ff; }

.datepicker-panel > ul > li[data-view='years prev'],
.datepicker-panel > ul > li[data-view='year prev'],
.datepicker-panel > ul > li[data-view='month prev'],
.datepicker-panel > ul > li[data-view='years next'],
.datepicker-panel > ul > li[data-view='year next'],
.datepicker-panel > ul > li[data-view='month next'],
.datepicker-panel > ul > li[data-view='next'] {
  font-size: 18px; }

.datepicker-panel > ul > li[data-view='years current'],
.datepicker-panel > ul > li[data-view='year current'],
.datepicker-panel > ul > li[data-view='month current'] {
  width: 150px; }

.datepicker-panel > ul[data-view='years'] > li,
.datepicker-panel > ul[data-view='months'] > li {
  width: 52.5px;
  height: 52.5px;
  line-height: 52.5px; }

.datepicker-panel > ul[data-view='week'] > li,
.datepicker-panel > ul[data-view='week'] > li:hover {
  background-color: #fff;
  cursor: default; }

.datepicker-hide {
  display: none; }

/* ==========================================================================
   Heading
   ========================================================================== */
/**
 * H1.
 */
.text-h1 {
  color: #e15c37;
  font-size: 30px; }

/* ==========================================================================
   Flex
   ========================================================================== */
/**
 * Example of a flex based column grid layout in practice:
 *
 * <div class="row">
 *   <div class="col col-xs-6 col-sm-12"></div>
 *   <div class="col col-xs-6 col-sm-12"></div>
 * </div>
 *
 * This example will create a row with two columns each filling half the width
 * of the row on all media, but will convert to a full width column on the
 * small `-sm` breakpoint alias, which is mobile only. Refer to
 * `settings/_definitions.scss` for all breakpoint alias.
 */
/**
 * Flex object.
 *
 * Tip: Use flex on a column to make the box the same height as the column.
 */
.flex {
  display: flex; }

/**
 * Flex object with a column based layout system.
 */
.row {
  display: flex;
  flex: 0 1 auto;
  flex-flow: row wrap;
  margin: 0 -12.66667px; }

/**
 * Box, the inside of a column.
 */
.box {
  flex: 1; }

/**
       * Column 1 for the `xs` breakpoint.
       */
.col-xs-1 {
  flex: 0 1 auto;
  width: 8.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 1 for the `xs` breakpoint.
         */
.offset-xs-1 {
  margin-left: 8.33333%; }

/**
       * Column 2 for the `xs` breakpoint.
       */
.col-xs-2 {
  flex: 0 1 auto;
  width: 16.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 2 for the `xs` breakpoint.
         */
.offset-xs-2 {
  margin-left: 16.66667%; }

/**
       * Column 3 for the `xs` breakpoint.
       */
.col-xs-3 {
  flex: 0 1 auto;
  width: 25%;
  padding: 0 12.66667px; }

/**
         * Offset 3 for the `xs` breakpoint.
         */
.offset-xs-3 {
  margin-left: 25%; }

/**
       * Column 4 for the `xs` breakpoint.
       */
.col-xs-4 {
  flex: 0 1 auto;
  width: 33.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 4 for the `xs` breakpoint.
         */
.offset-xs-4 {
  margin-left: 33.33333%; }

/**
       * Column 5 for the `xs` breakpoint.
       */
.col-xs-5 {
  flex: 0 1 auto;
  width: 41.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 5 for the `xs` breakpoint.
         */
.offset-xs-5 {
  margin-left: 41.66667%; }

/**
       * Column 6 for the `xs` breakpoint.
       */
.col-xs-6 {
  flex: 0 1 auto;
  width: 50%;
  padding: 0 12.66667px; }

/**
         * Offset 6 for the `xs` breakpoint.
         */
.offset-xs-6 {
  margin-left: 50%; }

/**
       * Column 7 for the `xs` breakpoint.
       */
.col-xs-7 {
  flex: 0 1 auto;
  width: 58.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 7 for the `xs` breakpoint.
         */
.offset-xs-7 {
  margin-left: 58.33333%; }

/**
       * Column 8 for the `xs` breakpoint.
       */
.col-xs-8 {
  flex: 0 1 auto;
  width: 66.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 8 for the `xs` breakpoint.
         */
.offset-xs-8 {
  margin-left: 66.66667%; }

/**
       * Column 9 for the `xs` breakpoint.
       */
.col-xs-9 {
  flex: 0 1 auto;
  width: 75%;
  padding: 0 12.66667px; }

/**
         * Offset 9 for the `xs` breakpoint.
         */
.offset-xs-9 {
  margin-left: 75%; }

/**
       * Column 10 for the `xs` breakpoint.
       */
.col-xs-10 {
  flex: 0 1 auto;
  width: 83.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 10 for the `xs` breakpoint.
         */
.offset-xs-10 {
  margin-left: 83.33333%; }

/**
       * Column 11 for the `xs` breakpoint.
       */
.col-xs-11 {
  flex: 0 1 auto;
  width: 91.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 11 for the `xs` breakpoint.
         */
.offset-xs-11 {
  margin-left: 91.66667%; }

/**
       * Column 12 for the `xs` breakpoint.
       */
.col-xs-12 {
  flex: 0 1 auto;
  width: 100%;
  padding: 0 12.66667px; }

/**
       * Align `stretch` for the xs breakpoint.
       */
.align-xs-stretch {
  align-items: stretch; }

/**
       * Align `center` for the xs breakpoint.
       */
.align-xs-center {
  align-items: center; }

/**
       * Align `flex-start` for the xs breakpoint.
       */
.align-xs-flex-start {
  align-items: flex-start; }

/**
       * Align `flex-end` for the xs breakpoint.
       */
.align-xs-flex-end {
  align-items: flex-end; }

/**
       * Align `baseline` for the xs breakpoint.
       */
.align-xs-baseline {
  align-items: baseline; }

/**
       * Justify `start` for the xs breakpoint.
       */
.justify-xs-start {
  justify-content: start; }

/**
       * Justify `center` for the xs breakpoint.
       */
.justify-xs-center {
  justify-content: center; }

/**
       * Justify `space-between` for the xs breakpoint.
       */
.justify-xs-space-between {
  justify-content: space-between; }

/**
       * Justify `space-around` for the xs breakpoint.
       */
.justify-xs-space-around {
  justify-content: space-around; }

/**
       * Justify `space-evenly` for the xs breakpoint.
       */
.justify-xs-space-evenly {
  justify-content: space-evenly; }

/**
       * Justify `flex-end` for the xs breakpoint.
       */
.justify-xs-flex-end {
  justify-content: flex-end; }

/**
       * Bleed left for the xs breakpoint.
       */
.bleed-xs-left {
  padding-left: 0; }

/**
       * Bleed right for the xs breakpoint.
       */
.bleed-xs-right {
  padding-right: 0; }

/**
     * Order first for the `xs` breakpoint.
     */
.first-xs {
  order: -1; }

/**
     * Order last for the `xs` breakpoint.
     */
.last-xs {
  order: 1; }

/**
     * Reverse order for the `xs` breakpoint.
     */
.reverse-xs {
  flex-direction: row-reverse; }

@media only screen and (max-width: 599px) {
  /**
       * Column 1 for the `sm` breakpoint.
       */
  .col-sm-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 1 for the `sm` breakpoint.
         */
  .offset-sm-1 {
    margin-left: 8.33333%; }
  /**
       * Column 2 for the `sm` breakpoint.
       */
  .col-sm-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 2 for the `sm` breakpoint.
         */
  .offset-sm-2 {
    margin-left: 16.66667%; }
  /**
       * Column 3 for the `sm` breakpoint.
       */
  .col-sm-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 12.66667px; }
  /**
         * Offset 3 for the `sm` breakpoint.
         */
  .offset-sm-3 {
    margin-left: 25%; }
  /**
       * Column 4 for the `sm` breakpoint.
       */
  .col-sm-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 4 for the `sm` breakpoint.
         */
  .offset-sm-4 {
    margin-left: 33.33333%; }
  /**
       * Column 5 for the `sm` breakpoint.
       */
  .col-sm-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 5 for the `sm` breakpoint.
         */
  .offset-sm-5 {
    margin-left: 41.66667%; }
  /**
       * Column 6 for the `sm` breakpoint.
       */
  .col-sm-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 12.66667px; }
  /**
         * Offset 6 for the `sm` breakpoint.
         */
  .offset-sm-6 {
    margin-left: 50%; }
  /**
       * Column 7 for the `sm` breakpoint.
       */
  .col-sm-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 7 for the `sm` breakpoint.
         */
  .offset-sm-7 {
    margin-left: 58.33333%; }
  /**
       * Column 8 for the `sm` breakpoint.
       */
  .col-sm-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 8 for the `sm` breakpoint.
         */
  .offset-sm-8 {
    margin-left: 66.66667%; }
  /**
       * Column 9 for the `sm` breakpoint.
       */
  .col-sm-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 12.66667px; }
  /**
         * Offset 9 for the `sm` breakpoint.
         */
  .offset-sm-9 {
    margin-left: 75%; }
  /**
       * Column 10 for the `sm` breakpoint.
       */
  .col-sm-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 10 for the `sm` breakpoint.
         */
  .offset-sm-10 {
    margin-left: 83.33333%; }
  /**
       * Column 11 for the `sm` breakpoint.
       */
  .col-sm-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 11 for the `sm` breakpoint.
         */
  .offset-sm-11 {
    margin-left: 91.66667%; }
  /**
       * Column 12 for the `sm` breakpoint.
       */
  .col-sm-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 12.66667px; }
  /**
       * Align `stretch` for the sm breakpoint.
       */
  .align-sm-stretch {
    align-items: stretch; }
  /**
       * Align `center` for the sm breakpoint.
       */
  .align-sm-center {
    align-items: center; }
  /**
       * Align `flex-start` for the sm breakpoint.
       */
  .align-sm-flex-start {
    align-items: flex-start; }
  /**
       * Align `flex-end` for the sm breakpoint.
       */
  .align-sm-flex-end {
    align-items: flex-end; }
  /**
       * Align `baseline` for the sm breakpoint.
       */
  .align-sm-baseline {
    align-items: baseline; }
  /**
       * Justify `start` for the sm breakpoint.
       */
  .justify-sm-start {
    justify-content: start; }
  /**
       * Justify `center` for the sm breakpoint.
       */
  .justify-sm-center {
    justify-content: center; }
  /**
       * Justify `space-between` for the sm breakpoint.
       */
  .justify-sm-space-between {
    justify-content: space-between; }
  /**
       * Justify `space-around` for the sm breakpoint.
       */
  .justify-sm-space-around {
    justify-content: space-around; }
  /**
       * Justify `space-evenly` for the sm breakpoint.
       */
  .justify-sm-space-evenly {
    justify-content: space-evenly; }
  /**
       * Justify `flex-end` for the sm breakpoint.
       */
  .justify-sm-flex-end {
    justify-content: flex-end; }
  /**
       * Bleed left for the sm breakpoint.
       */
  .bleed-sm-left {
    padding-left: 0; }
  /**
       * Bleed right for the sm breakpoint.
       */
  .bleed-sm-right {
    padding-right: 0; }
  /**
     * Order first for the `sm` breakpoint.
     */
  .first-sm {
    order: -1; }
  /**
     * Order last for the `sm` breakpoint.
     */
  .last-sm {
    order: 1; }
  /**
     * Reverse order for the `sm` breakpoint.
     */
  .reverse-sm {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 600px) {
  /**
       * Column 1 for the `md` breakpoint.
       */
  .col-md-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 1 for the `md` breakpoint.
         */
  .offset-md-1 {
    margin-left: 8.33333%; }
  /**
       * Column 2 for the `md` breakpoint.
       */
  .col-md-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 2 for the `md` breakpoint.
         */
  .offset-md-2 {
    margin-left: 16.66667%; }
  /**
       * Column 3 for the `md` breakpoint.
       */
  .col-md-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 12.66667px; }
  /**
         * Offset 3 for the `md` breakpoint.
         */
  .offset-md-3 {
    margin-left: 25%; }
  /**
       * Column 4 for the `md` breakpoint.
       */
  .col-md-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 4 for the `md` breakpoint.
         */
  .offset-md-4 {
    margin-left: 33.33333%; }
  /**
       * Column 5 for the `md` breakpoint.
       */
  .col-md-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 5 for the `md` breakpoint.
         */
  .offset-md-5 {
    margin-left: 41.66667%; }
  /**
       * Column 6 for the `md` breakpoint.
       */
  .col-md-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 12.66667px; }
  /**
         * Offset 6 for the `md` breakpoint.
         */
  .offset-md-6 {
    margin-left: 50%; }
  /**
       * Column 7 for the `md` breakpoint.
       */
  .col-md-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 7 for the `md` breakpoint.
         */
  .offset-md-7 {
    margin-left: 58.33333%; }
  /**
       * Column 8 for the `md` breakpoint.
       */
  .col-md-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 8 for the `md` breakpoint.
         */
  .offset-md-8 {
    margin-left: 66.66667%; }
  /**
       * Column 9 for the `md` breakpoint.
       */
  .col-md-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 12.66667px; }
  /**
         * Offset 9 for the `md` breakpoint.
         */
  .offset-md-9 {
    margin-left: 75%; }
  /**
       * Column 10 for the `md` breakpoint.
       */
  .col-md-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 10 for the `md` breakpoint.
         */
  .offset-md-10 {
    margin-left: 83.33333%; }
  /**
       * Column 11 for the `md` breakpoint.
       */
  .col-md-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 11 for the `md` breakpoint.
         */
  .offset-md-11 {
    margin-left: 91.66667%; }
  /**
       * Column 12 for the `md` breakpoint.
       */
  .col-md-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 12.66667px; }
  /**
       * Align `stretch` for the md breakpoint.
       */
  .align-md-stretch {
    align-items: stretch; }
  /**
       * Align `center` for the md breakpoint.
       */
  .align-md-center {
    align-items: center; }
  /**
       * Align `flex-start` for the md breakpoint.
       */
  .align-md-flex-start {
    align-items: flex-start; }
  /**
       * Align `flex-end` for the md breakpoint.
       */
  .align-md-flex-end {
    align-items: flex-end; }
  /**
       * Align `baseline` for the md breakpoint.
       */
  .align-md-baseline {
    align-items: baseline; }
  /**
       * Justify `start` for the md breakpoint.
       */
  .justify-md-start {
    justify-content: start; }
  /**
       * Justify `center` for the md breakpoint.
       */
  .justify-md-center {
    justify-content: center; }
  /**
       * Justify `space-between` for the md breakpoint.
       */
  .justify-md-space-between {
    justify-content: space-between; }
  /**
       * Justify `space-around` for the md breakpoint.
       */
  .justify-md-space-around {
    justify-content: space-around; }
  /**
       * Justify `space-evenly` for the md breakpoint.
       */
  .justify-md-space-evenly {
    justify-content: space-evenly; }
  /**
       * Justify `flex-end` for the md breakpoint.
       */
  .justify-md-flex-end {
    justify-content: flex-end; }
  /**
       * Bleed left for the md breakpoint.
       */
  .bleed-md-left {
    padding-left: 0; }
  /**
       * Bleed right for the md breakpoint.
       */
  .bleed-md-right {
    padding-right: 0; }
  /**
     * Order first for the `md` breakpoint.
     */
  .first-md {
    order: -1; }
  /**
     * Order last for the `md` breakpoint.
     */
  .last-md {
    order: 1; }
  /**
     * Reverse order for the `md` breakpoint.
     */
  .reverse-md {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 900px) {
  /**
       * Column 1 for the `lg` breakpoint.
       */
  .col-lg-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 1 for the `lg` breakpoint.
         */
  .offset-lg-1 {
    margin-left: 8.33333%; }
  /**
       * Column 2 for the `lg` breakpoint.
       */
  .col-lg-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 2 for the `lg` breakpoint.
         */
  .offset-lg-2 {
    margin-left: 16.66667%; }
  /**
       * Column 3 for the `lg` breakpoint.
       */
  .col-lg-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 12.66667px; }
  /**
         * Offset 3 for the `lg` breakpoint.
         */
  .offset-lg-3 {
    margin-left: 25%; }
  /**
       * Column 4 for the `lg` breakpoint.
       */
  .col-lg-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 4 for the `lg` breakpoint.
         */
  .offset-lg-4 {
    margin-left: 33.33333%; }
  /**
       * Column 5 for the `lg` breakpoint.
       */
  .col-lg-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 5 for the `lg` breakpoint.
         */
  .offset-lg-5 {
    margin-left: 41.66667%; }
  /**
       * Column 6 for the `lg` breakpoint.
       */
  .col-lg-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 12.66667px; }
  /**
         * Offset 6 for the `lg` breakpoint.
         */
  .offset-lg-6 {
    margin-left: 50%; }
  /**
       * Column 7 for the `lg` breakpoint.
       */
  .col-lg-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 7 for the `lg` breakpoint.
         */
  .offset-lg-7 {
    margin-left: 58.33333%; }
  /**
       * Column 8 for the `lg` breakpoint.
       */
  .col-lg-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 8 for the `lg` breakpoint.
         */
  .offset-lg-8 {
    margin-left: 66.66667%; }
  /**
       * Column 9 for the `lg` breakpoint.
       */
  .col-lg-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 12.66667px; }
  /**
         * Offset 9 for the `lg` breakpoint.
         */
  .offset-lg-9 {
    margin-left: 75%; }
  /**
       * Column 10 for the `lg` breakpoint.
       */
  .col-lg-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 10 for the `lg` breakpoint.
         */
  .offset-lg-10 {
    margin-left: 83.33333%; }
  /**
       * Column 11 for the `lg` breakpoint.
       */
  .col-lg-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 11 for the `lg` breakpoint.
         */
  .offset-lg-11 {
    margin-left: 91.66667%; }
  /**
       * Column 12 for the `lg` breakpoint.
       */
  .col-lg-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 12.66667px; }
  /**
       * Align `stretch` for the lg breakpoint.
       */
  .align-lg-stretch {
    align-items: stretch; }
  /**
       * Align `center` for the lg breakpoint.
       */
  .align-lg-center {
    align-items: center; }
  /**
       * Align `flex-start` for the lg breakpoint.
       */
  .align-lg-flex-start {
    align-items: flex-start; }
  /**
       * Align `flex-end` for the lg breakpoint.
       */
  .align-lg-flex-end {
    align-items: flex-end; }
  /**
       * Align `baseline` for the lg breakpoint.
       */
  .align-lg-baseline {
    align-items: baseline; }
  /**
       * Justify `start` for the lg breakpoint.
       */
  .justify-lg-start {
    justify-content: start; }
  /**
       * Justify `center` for the lg breakpoint.
       */
  .justify-lg-center {
    justify-content: center; }
  /**
       * Justify `space-between` for the lg breakpoint.
       */
  .justify-lg-space-between {
    justify-content: space-between; }
  /**
       * Justify `space-around` for the lg breakpoint.
       */
  .justify-lg-space-around {
    justify-content: space-around; }
  /**
       * Justify `space-evenly` for the lg breakpoint.
       */
  .justify-lg-space-evenly {
    justify-content: space-evenly; }
  /**
       * Justify `flex-end` for the lg breakpoint.
       */
  .justify-lg-flex-end {
    justify-content: flex-end; }
  /**
       * Bleed left for the lg breakpoint.
       */
  .bleed-lg-left {
    padding-left: 0; }
  /**
       * Bleed right for the lg breakpoint.
       */
  .bleed-lg-right {
    padding-right: 0; }
  /**
     * Order first for the `lg` breakpoint.
     */
  .first-lg {
    order: -1; }
  /**
     * Order last for the `lg` breakpoint.
     */
  .last-lg {
    order: 1; }
  /**
     * Reverse order for the `lg` breakpoint.
     */
  .reverse-lg {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 1200px) {
  /**
       * Column 1 for the `xl` breakpoint.
       */
  .col-xl-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 1 for the `xl` breakpoint.
         */
  .offset-xl-1 {
    margin-left: 8.33333%; }
  /**
       * Column 2 for the `xl` breakpoint.
       */
  .col-xl-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 2 for the `xl` breakpoint.
         */
  .offset-xl-2 {
    margin-left: 16.66667%; }
  /**
       * Column 3 for the `xl` breakpoint.
       */
  .col-xl-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 12.66667px; }
  /**
         * Offset 3 for the `xl` breakpoint.
         */
  .offset-xl-3 {
    margin-left: 25%; }
  /**
       * Column 4 for the `xl` breakpoint.
       */
  .col-xl-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 4 for the `xl` breakpoint.
         */
  .offset-xl-4 {
    margin-left: 33.33333%; }
  /**
       * Column 5 for the `xl` breakpoint.
       */
  .col-xl-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 5 for the `xl` breakpoint.
         */
  .offset-xl-5 {
    margin-left: 41.66667%; }
  /**
       * Column 6 for the `xl` breakpoint.
       */
  .col-xl-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 12.66667px; }
  /**
         * Offset 6 for the `xl` breakpoint.
         */
  .offset-xl-6 {
    margin-left: 50%; }
  /**
       * Column 7 for the `xl` breakpoint.
       */
  .col-xl-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 7 for the `xl` breakpoint.
         */
  .offset-xl-7 {
    margin-left: 58.33333%; }
  /**
       * Column 8 for the `xl` breakpoint.
       */
  .col-xl-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 8 for the `xl` breakpoint.
         */
  .offset-xl-8 {
    margin-left: 66.66667%; }
  /**
       * Column 9 for the `xl` breakpoint.
       */
  .col-xl-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 12.66667px; }
  /**
         * Offset 9 for the `xl` breakpoint.
         */
  .offset-xl-9 {
    margin-left: 75%; }
  /**
       * Column 10 for the `xl` breakpoint.
       */
  .col-xl-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 12.66667px; }
  /**
         * Offset 10 for the `xl` breakpoint.
         */
  .offset-xl-10 {
    margin-left: 83.33333%; }
  /**
       * Column 11 for the `xl` breakpoint.
       */
  .col-xl-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 12.66667px; }
  /**
         * Offset 11 for the `xl` breakpoint.
         */
  .offset-xl-11 {
    margin-left: 91.66667%; }
  /**
       * Column 12 for the `xl` breakpoint.
       */
  .col-xl-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 12.66667px; }
  /**
       * Align `stretch` for the xl breakpoint.
       */
  .align-xl-stretch {
    align-items: stretch; }
  /**
       * Align `center` for the xl breakpoint.
       */
  .align-xl-center {
    align-items: center; }
  /**
       * Align `flex-start` for the xl breakpoint.
       */
  .align-xl-flex-start {
    align-items: flex-start; }
  /**
       * Align `flex-end` for the xl breakpoint.
       */
  .align-xl-flex-end {
    align-items: flex-end; }
  /**
       * Align `baseline` for the xl breakpoint.
       */
  .align-xl-baseline {
    align-items: baseline; }
  /**
       * Justify `start` for the xl breakpoint.
       */
  .justify-xl-start {
    justify-content: start; }
  /**
       * Justify `center` for the xl breakpoint.
       */
  .justify-xl-center {
    justify-content: center; }
  /**
       * Justify `space-between` for the xl breakpoint.
       */
  .justify-xl-space-between {
    justify-content: space-between; }
  /**
       * Justify `space-around` for the xl breakpoint.
       */
  .justify-xl-space-around {
    justify-content: space-around; }
  /**
       * Justify `space-evenly` for the xl breakpoint.
       */
  .justify-xl-space-evenly {
    justify-content: space-evenly; }
  /**
       * Justify `flex-end` for the xl breakpoint.
       */
  .justify-xl-flex-end {
    justify-content: flex-end; }
  /**
       * Bleed left for the xl breakpoint.
       */
  .bleed-xl-left {
    padding-left: 0; }
  /**
       * Bleed right for the xl breakpoint.
       */
  .bleed-xl-right {
    padding-right: 0; }
  /**
     * Order first for the `xl` breakpoint.
     */
  .first-xl {
    order: -1; }
  /**
     * Order last for the `xl` breakpoint.
     */
  .last-xl {
    order: 1; }
  /**
     * Reverse order for the `xl` breakpoint.
     */
  .reverse-xl {
    flex-direction: row-reverse; } }

/* ==========================================================================
   Wrapper
   ========================================================================== */
/**
 * The wrapper object centers an element in the document.
 */
.wrapper {
  max-width: calc(1080px + 40px);
  padding: 0 20px;
  width: 100%;
  margin: 0 auto; }

.wrapper-lg {
  max-width: calc(1200px + 40px);
  padding: 0 20px;
  width: 100%;
  margin: 0 auto;
  margin: 0 auto; }

.wrapper-sm {
  max-width: calc(710px + 40px);
  padding: 0 20px;
  width: 100%;
  margin: 0 auto;
  margin: 0 auto; }

/* ==========================================================================
   Select
   ========================================================================== */
/**
 * Global CSS styling.
 * Add class 'js-select' on the wrapper div and it should work.
 */
.select-wrapper {
  position: relative; }
  .select-wrapper > svg {
    position: absolute;
    top: 5px;
    right: 15px;
    width: 15px;
    transition: -webkit-transform 180ms;
    transition: transform 180ms;
    transition: transform 180ms, -webkit-transform 180ms;
    color: #06a68a;
    pointer-events: none; }
  .select-wrapper.is-active > svg {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg); }
  .select-wrapper .activity-time {
    top: 42px !important; }

.single-option {
  pointer-events: none; }
  .single-option svg {
    opacity: 0; }

.option-selected {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  display: block;
  width: 100%;
  min-height: 40px;
  margin-bottom: 30px;
  padding: 10px;
  transition: box-shadow 180ms;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  color: #606060;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .option-selected:not(.is-disabled) {
    box-shadow: 3px 3px 1px 0 #e0e0e0; }
  .option-selected + .select {
    display: none;
    position: absolute;
    top: 100%;
    width: 100%;
    max-height: 200px;
    margin-top: -10px;
    padding: 10px;
    border: 1px solid #e0e0e0;
    border-top: 0;
    border-radius: 10px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    background-color: white;
    color: #606060;
    box-shadow: 3px 3px 1px 0 #e0e0e0;
    overflow: auto;
    z-index: 9; }
    .option-selected + .select > div {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.11111em;
      display: flex;
      align-items: center;
      padding: 13px 0;
      transition: background-color 250ms;
      cursor: default; }
      .option-selected + .select > div:hover {
        background-color: #f2f2f2; }
    .option-selected + .select > div:not(:first-child) {
      border-top: 1px solid #e0e0e0; }
    .option-selected + .select.activity-list {
      max-height: 200px;
      overflow: auto; }
      .option-selected + .select.activity-list .option:nth-child(1) {
        display: none; }
  .option-selected.is-active + .select {
    display: block; }
  .option-selected svg {
    position: absolute;
    top: 0;
    right: 0;
    width: 15px;
    height: 15px;
    transition: -webkit-transform 250ms ease;
    transition: transform 250ms ease;
    transition: transform 250ms ease, -webkit-transform 250ms ease;
    color: #606060; }
    .option-selected svg.is-active {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }

/* ==========================================================================
   Title
   ========================================================================== */
.title {
  font-weight: 600;
  text-transform: uppercase; }

/* ==========================================================================
   Container
   ========================================================================== */
.container {
  width: 100%;
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  padding: 50px 35px; }

/*!
 * Pikaday
 * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/
 */
.pika-single {
  z-index: 9999;
  display: block;
  position: relative;
  color: #333;
  background: #fff;
  border: 1px solid #ccc;
  border-bottom-color: #bbb;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
  .pika-single.is-hidden {
    display: none; }
  .pika-single.is-bound {
    position: absolute;
    box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5); }

.pika-single:before, .pika-single:after {
  content: " ";
  display: table; }

.pika-single:after {
  clear: both; }

.pika-lendar {
  float: left;
  width: 240px;
  margin: 8px; }

.pika-title {
  position: relative;
  text-align: center; }
  .pika-title select {
    cursor: pointer;
    position: absolute;
    z-index: 9998;
    margin: 0;
    left: 0;
    top: 5px;
    opacity: 0; }

.pika-label {
  display: inline-block;
  position: relative;
  z-index: 9999;
  overflow: hidden;
  margin: 0;
  padding: 5px 3px;
  font-size: 14px;
  line-height: 20px;
  font-weight: bold;
  color: #333;
  background-color: #fff; }

.pika-prev,
.pika-next {
  display: block;
  cursor: pointer;
  position: relative;
  outline: none;
  border: 0;
  padding: 0;
  width: 20px;
  height: 30px;
  text-indent: 20px;
  white-space: nowrap;
  overflow: hidden;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 75% 75%;
  opacity: .5; }
  .pika-prev:hover,
  .pika-next:hover {
    opacity: 1; }
  .pika-prev.is-disabled,
  .pika-next.is-disabled {
    cursor: default;
    opacity: .2; }

.pika-prev,
.is-rtl .pika-next {
  float: left;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg=="); }

.pika-next,
.is-rtl .pika-prev {
  float: right;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII="); }

.pika-select {
  display: inline-block; }

.pika-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 0; }
  .pika-table th,
  .pika-table td {
    width: 14.285714285714286%;
    padding: 0; }
  .pika-table th {
    color: #999;
    font-size: 12px;
    line-height: 25px;
    font-weight: bold;
    text-align: center; }
  .pika-table abbr {
    border-bottom: none;
    cursor: help; }

.pika-button {
  cursor: pointer;
  display: block;
  box-sizing: border-box;
  outline: none;
  border: 0;
  margin: 0;
  width: 100%;
  padding: 5px;
  color: #666;
  font-size: 12px;
  line-height: 15px;
  text-align: right;
  background: #f5f5f5;
  height: initial; }
  .has-event .pika-button {
    color: #fff;
    background: #33aaff; }
  .is-today .pika-button {
    color: #33aaff;
    font-weight: bold; }
  .is-selected .pika-button {
    color: #fff;
    font-weight: bold;
    background: #33aaff;
    box-shadow: inset 0 1px 3px #178fe5;
    border-radius: 3px; }
  .is-disabled .pika-button,
  .is-outside-current-month .pika-button {
    color: #999;
    opacity: .3; }
  .is-disabled .pika-button {
    pointer-events: none;
    cursor: default; }
  .pika-button:hover {
    color: #fff;
    background: #ff8000;
    box-shadow: none;
    border-radius: 3px; }
  .pika-button .is-selection-disabled {
    pointer-events: none;
    cursor: default; }

.pika-week {
  font-size: 11px;
  color: #999; }

.is-inrange .pika-button {
  color: #666;
  background: #D5E9F7; }

.is-startrange .pika-button {
  color: #fff;
  background: #6CB31D;
  box-shadow: none;
  border-radius: 3px; }

.is-endrange .pika-button {
  color: #fff;
  background: #33aaff;
  box-shadow: none;
  border-radius: 3px; }

/* ==========================================================================
   Activity form
   ========================================================================== */
.activity-form {
  width: 100%; }

/**
 * Title.
 */
.activity-form__title {
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.26087em;
  margin-bottom: 27px; }

/**
 * Description.
 */
.activity-form__description {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  margin-bottom: 100px;
  color: #606060; }

/**
 * Selectboxes.
 */
.form__checkbox:checked + .activity-form__checkbox-label::before {
  border-color: #06a68a; }

.form__checkbox:checked + .activity-form__checkbox-label > svg {
  left: -2px; }

.activity-form__checkbox-label > svg {
  width: 20px;
  height: 20px;
  color: #06a68a; }

/**
 * Attendees.
 */
.form__input-wrapper--attendees {
  max-width: 140px; }

/**
 * Create button.
 */
.activity-create__button {
  width: 100%; }
  .activity-create__button.prevent-double-click {
    pointer-events: none;
    opacity: 0.5;
    cursor: pointer; }

/* ==========================================================================
   Activity list
   ========================================================================== */
/**
 * Main element (activity-list).
 */
.activity-list {
  width: 100%;
  margin-bottom: 50px; }
  .activity-list .container {
    max-width: 900px; }

/**
 * Breadcrumbs.
 */
.activity-list__breadcrumbs .breadcrumb {
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.26087em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
  color: #7e6ea6;
  font-weight: 600;
  text-transform: uppercase; }
  .activity-list__breadcrumbs .breadcrumb a {
    display: table;
    position: relative;
    margin-right: 10px; }
    .activity-list__breadcrumbs .breadcrumb a svg {
      position: relative;
      top: 3px;
      width: 22px;
      height: 22px;
      margin-left: 10px; }

/**
 * List header.
 */
.activity-list-header {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  display: flex;
  justify-content: space-between;
  margin-bottom: 25px;
  padding: 1px 20px 5px;
  color: #606060;
  font-weight: 600; }
  @media only screen and (max-width: 899px) {
    .activity-list-header {
      flex-wrap: wrap; } }
  @media only screen and (max-width: 899px) {
    .activity-list-header > div {
      width: 100% !important;
      margin-bottom: 10px; } }
  .activity-list-header > div:nth-child(1) {
    width: calc(15% - 10px); }
  .activity-list-header > div:nth-child(2) {
    width: calc(20% - 10px); }
  .activity-list-header > div:nth-child(3) {
    width: calc(30% - 10px); }
  .activity-list-header > div:nth-child(4) {
    width: calc(25% - 10px); }
  .activity-list-header > div:nth-child(5) {
    width: calc(12.5% - 10px); }

/**
 * List item.
 */
.activity-list-organisation {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  padding: 15px 20px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  font-weight: 500; }
  @media only screen and (max-width: 899px) {
    .activity-list-organisation {
      flex-wrap: wrap; } }
  .activity-list-organisation:nth-child(1) {
    margin-top: 0; }
  @media only screen and (max-width: 899px) {
    .activity-list-organisation > div {
      width: 100% !important;
      margin-bottom: 10px; } }
  .activity-list-organisation > div:nth-child(1) {
    width: calc(15% - 10px); }
  .activity-list-organisation > div:nth-child(2) {
    width: calc(20% - 10px); }
  .activity-list-organisation > div:nth-child(3) {
    width: calc(30% - 10px); }
  .activity-list-organisation > div:nth-child(4) {
    width: calc(25% - 10px); }
  .activity-list-organisation > div:nth-child(5) {
    width: calc(12.5% - 10px); }
  .activity-list-organisation.expired {
    background: whitesmoke; }

/**
 *Single buttons.
 */
.activity-list__cancel,
.activity-list__reschedule {
  display: table !important;
  margin-top: 10px;
  margin-right: 20px;
  transition: opacity 250ms ease;
  font-size: 18px !important;
  font-weight: 600;
  text-transform: lowercase;
  cursor: pointer;
  opacity: 1 !important; }
  .activity-list__cancel .inline-icon,
  .activity-list__cancel a .inline-icon,
  .activity-list__reschedule .inline-icon,
  .activity-list__reschedule a .inline-icon {
    display: inline-block !important;
    width: 15px;
    height: 15px;
    margin-right: 5px; }
  .activity-list__cancel:hover,
  .activity-list__reschedule:hover {
    opacity: 1; }

/**
 *Popup title.
 */
.activity-list-reschedule-popup__title,
.activity-list-cancel-popup__title {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  margin-bottom: 25px;
  font-weight: 700; }
  .activity-list-reschedule-popup__title svg,
  .activity-list-cancel-popup__title svg {
    display: inline-block;
    width: 14px;
    height: 15px;
    margin-right: 8px; }

/**
 *Popup content.
 */
.activity-list-cancel-popup__content {
  width: 100%;
  max-width: 600px;
  margin-bottom: 60px;
  font-weight: 500; }

/**
 *Popup submit.
 */
.activity-list-cancel-popup__submit {
  display: block;
  width: 100%;
  margin: 30px 0 0;
  font-family: "Dosis";
  font-weight: 600;
  text-transform: uppercase; }
  .activity-list-cancel-popup__submit button {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1em;
    width: 100%;
    color: white;
    font-family: "Dosis";
    font-weight: 600;
    text-transform: uppercase; }
  .activity-list-cancel-popup__submit:hover {
    color: #e15c37; }
    .activity-list-cancel-popup__submit:hover button {
      color: #e15c37; }

.form__radio-buttons {
  margin-top: 10px; }

.activity-list-reschedule-popup__form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 40px; }
  .activity-list-reschedule-popup__form .form-item {
    position: relative;
    width: calc(50% - 10px); }
    @media only screen and (max-width: 899px) {
      .activity-list-reschedule-popup__form .form-item {
        width: 100%;
        margin-bottom: 20px; } }
    .activity-list-reschedule-popup__form .form-item.width-100 {
      width: 100%; }
    .activity-list-reschedule-popup__form .form-item .form__label {
      width: 100%; }
    .activity-list-reschedule-popup__form .form-item .inline-icon-down {
      position: absolute;
      top: 42px;
      right: 10px;
      width: 25px;
      height: 18px;
      background: white;
      color: #606060;
      pointer-events: none; }
      .activity-list-reschedule-popup__form .form-item .inline-icon-down::after {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 20px;
        height: 20px;
        background: red;
        content: ''; }
    .activity-list-reschedule-popup__form .form-item:nth-child(4) .form__input {
      padding: 10px; }
  .activity-list-reschedule-popup__form .form__checkbox-label {
    margin-right: 30px; }
    .activity-list-reschedule-popup__form .form__checkbox-label svg {
      top: 0;
      left: 1px;
      width: 17px;
      height: 24px;
      color: #06a68a; }
    .activity-list-reschedule-popup__form .form__checkbox-label::before {
      border: 1px solid #e0e0e0; }
  .activity-list-reschedule-popup__form input[type='radio']:checked + label::before {
    border: 1px solid #06a68a; }
  .activity-list-reschedule-popup__form .form__repeat-row {
    position: relative;
    width: 105%; }
  .activity-list-reschedule-popup__form .js-toggle-select {
    display: none; }
  .activity-list-reschedule-popup__form .form__repeater-delete-button {
    left: -25px; }
  .activity-list-reschedule-popup__form .form__submit {
    width: 100%; }
  .activity-list-reschedule-popup__form .form__submit button {
    font-size: 17px; }

.reschedule-activity-price {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  justify-content: flex-end;
  width: 100%;
  margin-top: 15px;
  margin-bottom: 20px;
  padding-top: 35px;
  font-weight: 600; }
  .reschedule-activity-price::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 225px;
    height: 2px;
    background: #e0e0e0;
    content: ''; }

.reschedule-activity-price__total {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  width: 100%;
  margin-bottom: 10px;
  text-align: right; }

.reschedule-activity-price__price {
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.26667em;
  width: 100%;
  color: #06a68a;
  text-align: right; }

/* ==========================================================================
   calendar.
   ========================================================================== */
.calendar-popup__title {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  color: #606060;
  font-weight: 600; }

/**
 * calendar.
 */
.calendar-popup__calendar {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  margin-bottom: 20px; }

/**
 * Description.
 */
.calendar-popup__description {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.38889em;
  margin-top: 25px;
  color: #606060; }

/**
 * Body.
 */
.calendar-popup__body {
  margin-top: 25px;
  padding-top: 25px;
  border-top: 2px solid #e0e0e0; }

.calendar-popup__address {
  width: 25%;
  color: #7e6ea6;
  font-weight: 600; }
  @media only screen and (min-width: 900px) {
    .calendar-popup__address {
      margin-right: 35px; } }

.calendar-popup__address-title {
  flex-wrap: wrap;
  margin-bottom: 25px; }
  .calendar-popup__address-title svg {
    width: 100%;
    height: 15px; }

.calendar-popup__participants {
  width: 25%;
  margin-left: 40px;
  color: #e15679;
  font-weight: 600; }

.calendar-popup__participants-title {
  flex-wrap: wrap;
  margin-bottom: 25px; }
  .calendar-popup__participants-title svg {
    width: 100%;
    height: 15px; }

.calendar-popup__date {
  width: 25%;
  color: #e15c37;
  font-weight: 600; }

.calendar-popup__date-title {
  flex-wrap: wrap;
  margin-bottom: 25px; }
  .calendar-popup__date-title svg {
    width: 100%;
    height: 15px; }

.calendar-popup__time {
  width: 25%;
  color: #7e6ea6;
  font-weight: 600; }

.calendar-popup__time-title {
  flex-wrap: wrap;
  margin-bottom: 25px; }
  .calendar-popup__time-title svg {
    width: 100%;
    height: 15px; }

.calendar-popup__location {
  width: 25%;
  width: 25%;
  color: #e15679;
  font-weight: 600; }

.calendar-popup__location-title {
  flex-wrap: wrap;
  margin-bottom: 25px; }
  .calendar-popup__location-title svg {
    width: 100%;
    height: 15px; }

.calendar-popup__contact {
  flex-wrap: wrap;
  margin-top: 25px;
  padding-top: 25px;
  border-top: 2px solid #e0e0e0; }

.calendar-popup__contact-title {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  width: 100%;
  margin-bottom: 15px;
  color: #606060;
  font-weight: 600; }

.calendar-popup__contact-text {
  width: 100%;
  color: #606060; }
  .calendar-popup__contact-text svg {
    width: 15px;
    height: 15px;
    margin-right: 10px;
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1); }

.calendar-popup__spaces-title {
  flex-wrap: wrap;
  margin-bottom: 25px;
  color: #606060; }
  .calendar-popup__spaces-title svg {
    width: 100%;
    height: 15px; }

.calendar-popup__spaces {
  width: 75%; }

.calendar-popup__spaces-wrapper {
  flex-wrap: wrap; }

.calendar-popup__space {
  width: 50%; }
  .calendar-popup__space svg {
    width: 15px;
    height: 14px;
    margin: 0 30px 0 10px; }
  .calendar-popup__space > div {
    width: calc(100% - 54px);
    text-align: left; }

/**
 * Image slider.
 */
.calendar-popup__images {
  margin-top: 25px;
  padding-top: 25px;
  border-top: 2px solid #e0e0e0; }
  .calendar-popup__images .owl-nav {
    display: flex;
    position: absolute;
    top: calc(50% - 8px);
    justify-content: space-between;
    width: 100%;
    height: 0;
    padding: 0 50px; }
    .calendar-popup__images .owl-nav svg {
      width: 18px;
      height: 35px;
      color: #06a68a; }
  .calendar-popup__images .owl-item {
    opacity: 0.7; }
    .calendar-popup__images .owl-item.active {
      opacity: 1; }

.calendar-popup__image {
  position: relative;
  height: 0;
  padding-bottom: 55%; }
  .calendar-popup__image img {
    position: absolute;
    top: 0;
    left: 0; }

.calendar-popup__space-options {
  width: 25%;
  margin-left: 40px;
  color: #06a68a;
  font-weight: 600; }

.calendar-popup__space-options-title {
  flex-wrap: wrap;
  margin-bottom: 25px; }
  .calendar-popup__space-options-title svg {
    width: 100%;
    fill: #06a68a;
    height: 15px; }

/* ==========================================================================
   Calendar
   ========================================================================== */
.calendar {
  width: 100%;
  padding: 100px 0; }
  .calendar .wrapper-lg {
    position: relative; }

/**
 * Calendar form.
 */
.calendar-form__title {
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.26087em; }

.calendar-form__columns {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 100px; }

.calendar-form__column:nth-child(1) {
  width: 20%; }
  @media only screen and (max-width: 899px) {
    .calendar-form__column:nth-child(1) {
      width: 100%; } }

.calendar-form__column:nth-child(2) {
  width: 80%;
  padding-left: 50px; }
  @media only screen and (max-width: 899px) {
    .calendar-form__column:nth-child(2) {
      width: 100%;
      padding-left: 0; } }

/**
 * Filters.
 */
.calendar-form__filters {
  margin-bottom: 50px;
  border-bottom: 2px solid #e0e0e0; }
  @media only screen and (max-width: 599px) {
    .calendar-form__filters {
      flex-wrap: wrap; } }

/**
 * Layout switch.
 */
.calendar-form__layout-switch {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2px; }
  @media only screen and (max-width: 599px) {
    .calendar-form__layout-switch {
      width: 100%; } }

.calendar-form__layout-switch input[type='radio'] {
  display: none; }
  .calendar-form__layout-switch input[type='radio']:checked + label {
    color: #06a68a; }

.calendar-form__layout-switch label {
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.26087em;
  padding: 3px 35px;
  transition: color 140ms;
  border-bottom: 2px solid;
  color: #606060;
  cursor: pointer; }
  @media only screen and (max-width: 599px) {
    .calendar-form__layout-switch label {
      display: block;
      width: 100%;
      text-align: center; } }

@media only screen and (max-width: 599px) {
  .calendar-form__layout-switch-item {
    width: 50%; } }

/**
 * Date.
 */
@media only screen and (max-width: 599px) {
  .calendar-form__date {
    justify-content: center;
    width: 100%;
    padding: 10px 0; } }

.calendar-form__date-prev,
.calendar-form__date-next {
  width: 10px;
  height: 23px;
  color: #06a68a; }

.calendar-form__date-text {
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.26087em;
  width: 142px;
  padding: 0 20px;
  color: #606060;
  text-align: center; }

/**
 * Location form.
 */
.location-form__checkboxes {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -20px; }
  @media only screen and (min-width: 1200px) {
    .location-form__checkboxes {
      padding-top: 10px; } }
  .location-form__checkboxes .form__checkbox-wrapper {
    margin: 10px 20px; }

/**
 * Calendar styling.
 */
.calendar__wrapper {
  position: relative;
  overflow-x: auto; }
  .calendar__wrapper.is-loading {
    position: absolute;
    top: 260px;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5); }
    .calendar__wrapper.is-loading .is-loading__icon {
      width: 50px;
      height: 50px;
      margin: 150px auto;
      color: #e15c37;
      -webkit-animation-name: spinning;
              animation-name: spinning;
      -webkit-animation-duration: 1s;
              animation-duration: 1s;
      -webkit-animation-iteration-count: infinite;
              animation-iteration-count: infinite;
      -webkit-animation-timing-function: linear;
              animation-timing-function: linear; }

.calendar__body {
  width: 1200px; }

.calendar__row:nth-child(odd) {
  background-color: #fff9f8; }

.calendar__row.holiday {
  position: relative; }
  .calendar__row.holiday .holiday-name {
    font-size: 23px;
    font-size: 2.3rem;
    line-height: 1.26087em;
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    color: #606060;
    z-index: 1; }
    .calendar__row.holiday .holiday-name::before {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #e0e0e0;
      content: '';
      opacity: 0.7;
      z-index: -1; }

.calendar__row.active {
  background-color: #e5f6f3; }
  .calendar__row.active .calendar__space {
    color: #06a68a; }

.calendar__row.expired {
  opacity: 0.4; }

.calendar__fullrow.holiday {
  position: relative; }
  .calendar__fullrow.holiday .holiday-name {
    font-size: 23px;
    font-size: 2.3rem;
    line-height: 1.26087em;
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    color: #606060;
    z-index: 1; }
    .calendar__fullrow.holiday .holiday-name::before {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #e0e0e0;
      content: '';
      opacity: 0.7;
      z-index: -1; }

.calendar__column {
  flex-wrap: wrap;
  position: relative; }

.calendar__column-row {
  position: relative;
  width: calc(100% - 125px);
  height: 69px; }

.calendar__column-row--small {
  height: 40px; }

.calendar__space {
  width: 125px;
  color: #606060;
  font-weight: 300;
  text-transform: capitalize; }
  @media only screen and (max-width: 1199px) {
    .calendar__space {
      position: -webkit-sticky;
      position: sticky;
      left: 0; } }

.calendar__activity {
  position: absolute;
  height: auto;
  margin-top: -8px;
  margin-left: 1px;
  padding: 5px;
  transition: border-color 140ms;
  border: 2px solid white;
  border-radius: 10px;
  color: #606060;
  z-index: 1; }
  .calendar__activity > a {
    width: 100%;
    overflow: hidden; }
  .calendar__activity.expired {
    opacity: 0.7; }
  .calendar__activity::hover.expired {
    opacity: 1; }

.calendar__hours {
  top: 150px !important;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 95px;
  background-color: white;
  z-index: 9; }
  .calendar__hours.remove-sticky {
    position: initial !important; }

.calendar__hour {
  width: 100%; }

.calendar__hour-columns {
  width: 100%;
  border-left: 2px solid #e0e0e0; }

.calendar__scroll {
  display: none;
  position: absolute;
  top: 250px;
  left: calc(50% - 7.5px);
  width: 15px;
  color: #06a68a;
  line-height: 0;
  -webkit-animation: fadeOutLeft 1500ms ease infinite;
          animation: fadeOutLeft 1500ms ease infinite; }
  @media only screen and (max-width: 1199px) {
    .calendar__scroll {
      display: block; } }

@-webkit-keyframes fadeOutLeft {
  0% {
    margin-left: 0;
    opacity: 1; }
  100% {
    margin-left: -15px;
    opacity: 0; } }

@keyframes fadeOutLeft {
  0% {
    margin-left: 0;
    opacity: 1; }
  100% {
    margin-left: -15px;
    opacity: 0; } }

/**
 * Activity.
 */
.calendar-activity__time {
  font-weight: 600;
  white-space: nowrap; }

.calendar-activity__icon {
  width: 14px;
  margin-top: -3px;
  margin-right: 5px; }

.calendar-activity__name {
  display: -webkit-box;
  width: calc(100% - 14px);
  height: 30px;
  line-height: 15px;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-line-clamp: 2; }

.calendar-form__quick-switch {
  display: flex;
  align-items: center;
  margin: 0 15px;
  margin-top: 2px; }
  .calendar-form__quick-switch svg {
    width: 19px;
    height: 16px; }
    .calendar-form__quick-switch svg path {
      fill: #06a68a; }
  .calendar-form__quick-switch .option {
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer; }
    .calendar-form__quick-switch .option .tooltip {
      transition: 150ms ease-in-out;
      opacity: 0;
      position: absolute;
      top: -200%;
      left: 50%;
      font-size: 13px;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      background-color: #06a68a;
      color: white;
      padding: 0px 6px;
      border-radius: 3px;
      pointer-events: none;
      width: -webkit-max-content;
      width: -moz-max-content;
      width: max-content; }
    .calendar-form__quick-switch .option:hover .tooltip {
      opacity: 1; }
  .calendar-form__quick-switch .select-wrapper {
    min-width: 150px; }
    .calendar-form__quick-switch .select-wrapper .option-selected {
      margin-bottom: 10px; }

.js-spaces-container.is-loading, .js-load-calendar.is-loading {
  position: relative;
  height: 100px; }
  .js-spaces-container.is-loading:after, .js-load-calendar.is-loading:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M304 48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zm0 416c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM48 304c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm464-48c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM142.9 437c18.7-18.7 18.7-49.1 0-67.9s-49.1-18.7-67.9 0s-18.7 49.1 0 67.9s49.1 18.7 67.9 0zm0-294.2c18.7-18.7 18.7-49.1 0-67.9S93.7 56.2 75 75s-18.7 49.1 0 67.9s49.1 18.7 67.9 0zM369.1 437c18.7 18.7 49.1 18.7 67.9 0s18.7-49.1 0-67.9s-49.1-18.7-67.9 0s-18.7 49.1 0 67.9z' fill='%23e15c37'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    -webkit-animation-name: spinning;
            animation-name: spinning;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    z-index: 100; }

.js-load-calendar.is-loading {
  overflow: visible; }
  .js-load-calendar.is-loading::after {
    top: -200px !important;
    z-index: 1000; }

/* ==========================================================================
   Content default
   ========================================================================== */
.content-default {
  display: flex;
  flex-wrap: wrap;
  padding-top: 135px; }
  @media only screen and (max-width: 599px) {
    .content-default {
      padding-top: 163px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .content-default {
      padding-top: 110px; } }

.content-default__left {
  position: relative;
  width: 343px;
  padding: 50px 60px;
  box-shadow: 0 2px 14px 0 rgba(206, 206, 206, 0.5); }
  @media only screen and (max-width: 899px) {
    .content-default__left {
      position: fixed;
      top: 0;
      width: 40px;
      height: 100vh;
      padding: 0 5px;
      padding-top: 118px;
      background-color: white;
      z-index: 9; }
      .content-default__left.is-active {
        width: 245px; }
        .content-default__left.is-active .content-default__left-menu {
          width: 225px; }
        .content-default__left.is-active .content-default__left-open {
          left: 190px;
          -webkit-transform: rotate(180deg);
                  transform: rotate(180deg); }
        .content-default__left.is-active + .content-default__right::before {
          opacity: 0.3; }
        .content-default__left.is-active .logout-button {
          margin-left: 10px; }
        .content-default__left.is-active .logout-button::before {
          display: none; }
        .content-default__left.is-active .logout-button__text {
          display: inline-block;
          margin-left: 15px; }
      .content-default__left:not(.is-active) {
        font-size: 0;
        text-align: center; }
        .content-default__left:not(.is-active) .submenu__arrow {
          display: none; }
        .content-default__left:not(.is-active) .submenu li svg {
          margin-right: 0; }
        .content-default__left:not(.is-active) .logout-button > .inline-icon {
          margin-right: 0; }
        .content-default__left:not(.is-active) .subsubmenu {
          display: none !important; } }

.content-default__left-menu {
  position: fixed; }
  @media only screen and (max-width: 599px) {
    .content-default__left-menu {
      top: 200px;
      width: 35px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .content-default__left-menu {
      top: 150px;
      width: 35px; } }
  @media only screen and (min-width: 900px) {
    .content-default__left-menu {
      width: 225px; } }

.content-default__left-open {
  display: flex;
  position: fixed;
  bottom: 10px;
  left: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #06a68a; }
  @media only screen and (min-width: 900px) {
    .content-default__left-open {
      display: none; } }
  .content-default__left-open > svg {
    height: 14px; }

.content-default__right {
  position: relative;
  width: calc(100% - 343px); }
  @media only screen and (max-width: 899px) {
    .content-default__right {
      width: 100%;
      padding-left: 40px; } }
  .content-default__right::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: black;
    content: '';
    opacity: 0;
    z-index: 1;
    pointer-events: none; }

/* ==========================================================================
   Delete button
   ========================================================================== */
.delete-button {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  display: flex;
  position: relative;
  flex-wrap: wrap;
  transition: opacity 250ms ease;
  color: #e23030;
  font-family: "Dosis";
  font-weight: 600;
  text-transform: lowercase;
  opacity: 0.65; }
  .delete-button > .inline-icon {
    width: 15px;
    height: 15px;
    margin-right: 10px; }
  .delete-button::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #e23030;
    content: ''; }
  .delete-button:hover {
    opacity: 1; }

.delete-button--has-hover {
  position: relative; }
  .delete-button--has-hover:hover .delete-button__hover-text {
    opacity: 1; }

.delete-button__hover-text {
  position: absolute;
  bottom: -30px;
  left: -20px;
  max-width: 392px;
  padding: 20px 20px 80px;
  transition: 180ms;
  border: 2px solid #c9a900;
  border-radius: 10px;
  background-color: white;
  opacity: 0;
  pointer-events: none; }

.delete-button__hover-text + .delete-button {
  cursor: not-allowed;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

/* ==========================================================================
   Footer
   ========================================================================== */
.footer {
  padding: 50px 0;
  border-top: 1px solid #e15c37;
  background-color: #fff9f8;
  color: #606060; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .footer {
      padding: 50px 30px; } }
  @media only screen and (max-width: 899px) {
    .footer {
      padding: 30px 0; } }
  .footer h2 {
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: 700; }
  @media only screen and (max-width: 599px) {
    .footer .row {
      padding: 0 40px; } }
  @media only screen and (max-width: 599px) {
    .footer .row > .col {
      padding: 0; } }
  @media only screen and (max-width: 599px) {
    .footer .row > .col:not(:first-child) {
      margin-top: 30px;
      padding-top: 30px;
      border-top: 1px solid #e0e0e0; } }

.footer__bottom {
  margin-top: 50px;
  padding-top: 50px;
  border-top: 1px solid #e0e0e0; }
  @media only screen and (max-width: 899px) {
    .footer__bottom {
      margin-top: 30px;
      padding-top: 30px; } }
  @media only screen and (max-width: 599px) {
    .footer__bottom {
      flex-wrap: wrap;
      max-width: calc(100% - 60px);
      margin: 0 30px;
      margin-top: 30px; }
      .footer__bottom > div {
        width: 100%; } }

/**
 * Footer address.
 */
.footer-address > .far-map-marker-alt {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  align-items: center;
  width: 140px;
  padding-left: 30px; }
  .footer-address > .far-map-marker-alt > .far-map-marker-alt {
    position: absolute;
    left: 0;
    width: 14px;
    height: 20px; }

/**
 * Footer contact.
 */
.footer-contact .far-fa-phone {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  .footer-contact .far-fa-phone > svg {
    width: 18px;
    height: 20px;
    margin-right: 10px;
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1); }

.footer-contact .fal-fa-envelope {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  .footer-contact .fal-fa-envelope > svg {
    width: 18px;
    height: 20px;
    margin-right: 10px; }

.footer-contact p:not(:last-child) {
  margin-bottom: 15px; }

/**
 * Footer menu.
 */
@media only screen and (min-width: 600px) {
  .footer__menu a:not(:last-child)::after {
    display: inline-block;
    margin: 0 10px;
    content: '|'; } }

@media only screen and (max-width: 599px) {
  .footer__menu a::after {
    display: block;
    line-height: 10px;
    content: '-'; } }

/* ==========================================================================
   Form
   ========================================================================== */
.fieldset__title {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  margin-bottom: 10px;
  font-weight: 900; }

.form__is-logged-in legend {
  position: relative;
  margin-top: 20px;
  margin-bottom: 20px;
  color: #e15c37;
  font-size: 18px;
  font-weight: 600; }
  .form__is-logged-in legend::after {
    display: block;
    position: absolute;
    right: 0;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #e15c37;
    content: ''; }

.form__is-logged-in label {
  display: block;
  color: #e15c37;
  font-weight: 600; }

.form__label {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  display: inline-block;
  margin-bottom: 10px;
  color: #606060;
  font-weight: 600; }

.form__heading {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 0.90909em;
  display: inline-block;
  margin: 30px 0;
  color: #606060;
  font-weight: 600; }

.form__label--radio {
  margin-bottom: 20px; }

.form__input {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  display: block;
  width: 100%;
  margin-bottom: 30px;
  padding: 10px;
  transition: box-shadow 180ms;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  color: #606060;
  font-family: "Dosis"; }
  .form__input.is-disabled {
    cursor: default; }
  .form__input.is-invalid {
    border: 2px solid #e15679;
    background: #ffeef2; }
  .form__input:not(.is-disabled) {
    box-shadow: 3px 3px 1px 0 #e0e0e0; }

.js-submit-activity-create-form-hidden.is-disabled {
  pointer-events: none; }

.form__input--big {
  height: 120px; }

.form__input-wrapper {
  position: relative; }

.form__select-wrapper {
  position: relative; }
  .form__select-wrapper > .inline-icon {
    display: none;
    position: absolute;
    top: 5px;
    right: 10px;
    width: 15px;
    height: 30px;
    color: #606060;
    pointer-events: none; }
    .form__select-wrapper > .inline-icon.is-shown {
      display: block; }

.form__select.hidden {
  display: none; }

.form__input--select.is-disabled {
  pointer-events: none; }

/**
 * Checkbox.
 */
.form__checkbox-wrapper {
  display: flex;
  position: relative;
  align-items: center; }
  .form__checkbox-wrapper .info-icon {
    width: 15px;
    margin-left: 8px;
    vertical-align: -4px; }

.form__checkbox:checked + .form__checkbox-label svg {
  display: block; }

.form__checkbox {
  display: none;
  position: absolute;
  left: -9999px;
  opacity: 0; }

.form__checkbox-label {
  display: flex;
  align-items: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .form__checkbox-label::before {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    border: 1px solid #606060;
    border-radius: 5px;
    box-shadow: 3px 3px 1px 0 #e0e0e0;
    content: ''; }
  .form__checkbox-label > svg {
    display: none;
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 25px; }

/**
 * Change password.
 */
.password-change-button {
  display: inline-block;
  position: relative;
  margin-bottom: 50px;
  color: #06a68a;
  cursor: pointer; }
  .password-change-button::after {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #06a68a;
    content: ''; }

/**
 * Location select.
 */
.location-select__active-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  .location-select__active-item > div {
    word-break: keep-all;
    white-space: nowrap;
    width: calc(100% - 25px);
    overflow: hidden; }
  .location-select__active-item > svg {
    position: absolute;
    right: 20px;
    width: 14px; }
  .location-select__active-item .location-select__info {
    display: none; }

.location-select__drop-down .option > div:first-of-type {
  width: calc(100% - 24px); }

.location-select__info {
  position: relative;
  width: 14px;
  height: 15px;
  margin-top: -3px;
  margin-left: 10px;
  cursor: pointer; }
  .location-select__info svg {
    color: #06a68a; }

.location-select__info--no-color svg {
  color: inherit; }

/**
 * Number field.
 */
.form__number-controls {
  display: flex;
  position: absolute;
  right: 0;
  bottom: 35px;
  flex-wrap: wrap;
  align-items: center;
  width: 40px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.form__number-up {
  display: flex;
  align-items: center;
  width: 100%;
  height: 20px;
  cursor: pointer; }
  .form__number-up svg {
    width: 100%;
    height: 30px;
    pointer-events: none; }

.form__number-down {
  display: flex;
  align-items: center;
  width: 100%;
  height: 20px;
  cursor: pointer; }
  .form__number-down svg {
    width: 100%;
    height: 30px;
    pointer-events: none; }

/**
 * Radio.
 */
.form__radio-group {
  display: flex;
  flex-wrap: wrap;
  margin: -5px; }

.form__input-group {
  display: flex;
  flex-wrap: wrap;
  margin: -5px; }

.form__radio-wrapper {
  padding: 5px; }

.form__input-wrapper {
  padding: 5px; }

.activity-form__input-label {
  margin-top: 15px;
  display: block; }

.form__radio:checked + .form__radio-label::before {
  border-color: #06a68a; }

.form__radio:checked + .form__radio-label > svg {
  opacity: 1; }

.form__radio-label {
  position: relative;
  cursor: pointer; }
  .form__radio-label::before {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    box-shadow: 3px 3px 1px 0 #e0e0e0;
    content: ''; }
  .form__radio-label > svg {
    display: inline-block;
    position: absolute;
    top: -4px;
    left: 0;
    width: 20px;
    height: 20px;
    transition: opacity 140ms;
    color: #06a68a;
    opacity: 0; }

/**
 *
 */
.form__submit button {
  width: 100%;
  font-family: "Dosis";
  font-weight: 600;
  text-transform: uppercase; }

.form__submit.is-disabled {
  pointer-events: none !important;
  opacity: 0.5; }

/**
 * Max chars.
 */
.form__input-chars {
  position: absolute;
  right: 0;
  font-weight: 600; }

/**
 * Repeater.
 */
.form__repeat-row {
  display: none; }

.form__repeater-button {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  display: inline-block;
  position: relative;
  width: 100%;
  margin-bottom: 30px;
  padding: 10px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background-color: #f2f2f2;
  color: #606060;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.form__repeater-delete-button {
  display: flex;
  position: absolute;
  bottom: 35px;
  left: -35px;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #e23030;
  cursor: pointer; }
  .form__repeater-delete-button > svg {
    width: 14px;
    color: white;
    pointer-events: none; }

/**
 * Price.
 */
.form__price {
  display: flex;
  justify-content: flex-end; }

.form__price-body {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  width: 100%;
  max-width: 224px;
  margin-top: 30px;
  padding-top: 30px;
  border-top: 2px solid #e0e0e0;
  text-align: right; }

.form__price-label {
  width: 100%; }

.form__price-amount {
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.26667em;
  color: #06a68a;
  font-weight: 600; }

.form__price-amount-icon {
  width: 30px;
  height: 30px;
  -webkit-animation-name: spinning;
          animation-name: spinning;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: cubic-bezier(0.17, 0.67, 0.83, 0.67);
          animation-timing-function: cubic-bezier(0.17, 0.67, 0.83, 0.67); }

/* ==========================================================================
   Header
   ========================================================================== */
/**
 * Main element (header).
 */
.header {
  display: flex;
  position: fixed;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 40px 130px;
  background: #e15c37;
  z-index: 999; }
  @media only screen and (max-width: 599px) {
    .header {
      padding: 30px 20px; }
      .header.is-active {
        padding: 30px 20px 90px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .header {
      padding: 30px 20px; } }

/**
 * Links header.
 */
.header__links {
  display: flex;
  transition: all 350ms ease;
  color: white;
  font-size: 17px;
  opacity: 0; }
  @media only screen and (min-width: 900px) {
    .header__links {
      display: flex !important; } }
  @media only screen and (max-width: 899px) {
    .header__links {
      display: none; } }
  .header__links svg {
    display: block;
    width: 20px;
    height: 20px;
    margin: auto auto 10px; }
    @media only screen and (max-width: 899px) {
      .header__links svg {
        margin-right: 30px; } }
  @media only screen and (max-width: 899px) {
    .header__links.is-active {
      display: block;
      position: fixed;
      top: 100px;
      right: 0;
      bottom: 0;
      left: 0;
      flex-wrap: wrap;
      justify-content: center;
      width: 100%;
      height: auto;
      padding-top: 100px;
      background: #e15c37;
      z-index: 99; } }
  .header__links.is-active .header__link {
    display: flex; }

/**
 * Select.
 */
.header__select {
  width: 250px;
  margin-left: auto;
  margin-right: 100px; }
  @media only screen and (max-width: 599px) {
    .header__select {
      display: none;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      margin: 0 auto 25px;
      padding: 0 15px;
      z-index: 999; }
      .header__select.is-active {
        display: block; } }
  .header__select .option-selected {
    margin-bottom: 0;
    border: 2px solid white;
    color: white;
    box-shadow: none; }
  .header__select .select {
    border-radius: 10px; }
    @media only screen and (max-width: 599px) {
      .header__select .select {
        left: 0;
        right: 0;
        width: auto;
        margin: 0 15px; } }
  .header__select > svg {
    position: absolute;
    top: 11px;
    color: white;
    pointer-events: none; }
    @media only screen and (max-width: 599px) {
      .header__select > svg {
        top: 12px;
        right: 30px; } }
    .header__select > svg:not(.fa-chevron-down) {
      display: none; }

/**
 * Single link settings.
 */
.header__link {
  justify-content: center;
  transition: color 250ms ease;
  font-weight: 600; }
  @media only screen and (min-width: 1200px) {
    .header__link:hover {
      color: #7a1d15; } }
  @media only screen and (max-width: 899px) {
    .header__link {
      display: none;
      justify-content: center;
      width: 100%;
      max-height: 70px;
      margin-bottom: 40px; } }
  .header__link .is-active {
    display: flex;
    position: relative;
    color: #7a1d15; }
    .header__link .is-active::after {
      display: block;
      position: absolute;
      bottom: -3px;
      width: 100%;
      height: 2px;
      background: #7a1d15;
      content: ''; }
      @media only screen and (max-width: 899px) {
        .header__link .is-active::after {
          bottom: 7px; } }
    .header__link .is-active:nth-child(1)::after {
      display: none; }

@media only screen and (min-width: 900px) {
  .header__links .agenda a {
    display: block;
    text-align: center; } }

/**
 * Profile button settings.
 */
.header__links .profile {
  margin-left: 50px; }
  @media only screen and (max-width: 899px) {
    .header__links .profile {
      margin-left: 0; } }
  @media only screen and (min-width: 900px) {
    .header__links .profile a {
      display: block;
      text-align: center; } }

/**
 * Login links.
 */
.header__login {
  display: none; }

/**
 * Mobile menu settings.
 */
.header__mobile-menu {
  display: none;
  color: white;
  text-align: center; }
  @media only screen and (max-width: 899px) {
    .header__mobile-menu {
      display: block; } }
  .header__mobile-menu svg {
    display: block;
    width: 25px;
    height: 25px;
    margin: auto;
    font-size: 15px; }

/**
 * Mobile menu states. This is set to 'display:none;' to make sure that the right menu state is showing.
 */
.header__mobile-menu--option {
  display: none;
  cursor: pointer; }
  .header__mobile-menu--option.is-active {
    display: block; }

/* ==========================================================================
   Invalid error
   ========================================================================== */
/**
 * Note: This is used on /agenda/ page for date validation.
 */
.invalid-error__wrapper {
  display: flex;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0 20px;
  text-align: center;
  z-index: 1000; }

.invalid-error__body {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 709px;
  padding: 35px 0;
  border-radius: 10px;
  background-color: #ffeef2;
  font-weight: 500; }

.invalid-error__close {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.26667em;
  display: flex;
  position: absolute;
  top: 50%;
  right: 0;
  flex-wrap: wrap;
  justify-content: center;
  width: 60px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #e15679;
  font-weight: 600;
  cursor: pointer; }
  .invalid-error__close > svg {
    width: 100%;
    height: 30px;
    margin-bottom: -5px; }

.js-activity-form-create, .activity-list-reschedule-popup__form {
  position: relative; }

.form-loading {
  pointer-events: none; }
  .form-loading .circle {
    display: none; }
  .form-loading.is-active {
    position: absolute;
    top: 0px;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5);
    z-index: 999;
    pointer-events: all; }
    .form-loading.is-active .circle {
      display: flex;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      width: 30px;
      height: 30px;
      margin: 10px auto;
      color: #e15c37;
      -webkit-animation-name: spinning;
              animation-name: spinning;
      -webkit-animation-duration: 1s;
              animation-duration: 1s;
      -webkit-animation-iteration-count: infinite;
              animation-iteration-count: infinite;
      -webkit-animation-timing-function: linear;
              animation-timing-function: linear; }
      .form-loading.is-active .circle svg path {
        fill: #e15c37; }

/* ==========================================================================
   Login page
   ========================================================================== */
/**
 * Main element (login).
 */
.login {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  background: white; }

/**
 * Left column.
 */
.login__left {
  position: absolute;
  width: 30%;
  height: 100%;
  padding: 45px 100px;
  background: #e15c37;
  color: white; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .login__left {
      padding: 45px 75px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .login__left {
      display: flex;
      position: static;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      height: auto;
      min-height: 0;
      padding: 30px 40px; } }
  @media only screen and (max-width: 599px) {
    .login__left {
      display: flex;
      position: static;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      height: auto;
      min-height: 0;
      padding: 30px 20px; } }
  .login__left img {
    display: block;
    width: auto;
    height: 90px; }
    @media only screen and (max-width: 899px) {
      .login__left img {
        height: 53px; } }

/**
 * Titel underneath the logo.
 */
.login__left h2 {
  margin: 100px 0 40px;
  font-size: 30px; }

/**
 * Description beneath the logo.
 */
@media only screen and (max-width: 899px) {
  .login__left--description {
    display: none;
    margin-bottom: 0; } }

/**
 * Login button.
 */
@media only screen and (min-width: 1200px) {
  .login__left .button {
    padding: 15px 75px; } }

@media only screen and (min-width: 900px) {
  .login__left .button {
    position: absolute;
    margin-top: 0; } }

@media only screen and (max-width: 899px) {
  .login__left .button {
    margin: 0; } }

/**
 * Right column.
 */
.login__right {
  width: 70%;
  margin-top: 235px;
  margin-left: 30%;
  padding: 0 200px;
  padding-bottom: 50px; }
  @media only screen and (min-width: 1200px) {
    .login__right {
      position: relative;
      min-height: calc(100vh - 285px); } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .login__right {
      padding: 0 120px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .login__right {
      width: 100%;
      margin-top: 0;
      margin-left: 0;
      padding: 60px 40px;
      padding-bottom: 75px; } }
  @media only screen and (max-width: 599px) {
    .login__right {
      width: 100%;
      margin-top: 0;
      margin-left: 0;
      padding: 60px 20px;
      padding-bottom: 75px; } }

.login__right .message {
  margin-top: 30px;
  margin-bottom: 20px;
  padding: 20px;
  border: 2px solid #e15679;
  border-radius: 10px;
  background: #ffeef2; }
  .login__right .message.forgot-password {
    border: 2px solid #c9a900;
    background: #fff6c9; }

/**
 * Right column title.
 */
.login__right h2 {
  color: #e15c37;
  font-size: 30px; }
  .login__right h2:nth-child(2) {
    display: none; }

/**
 * Link.
 */
.login__link {
  position: relative;
  margin-bottom: 75px;
  border: 2px solid #c9a900;
  border-radius: 10px; }
  @media only screen and (max-width: 599px) {
    .login__link {
      margin-bottom: 50px; } }
  .login__link a {
    display: block;
    padding: 30px; }
    @media only screen and (max-width: 599px) {
      .login__link a {
        padding: 20px; } }
  .login__link svg {
    position: absolute;
    top: calc(50% - 15px);
    right: 50px;
    color: #c9a900;
    width: 30px;
    height: 34px;
    transition: all 400ms ease; }
    @media only screen and (max-width: 599px) {
      .login__link svg {
        right: 30px; } }
  .login__link:hover svg {
    right: 40px; }
    @media only screen and (max-width: 599px) {
      .login__link:hover svg {
        right: 20px; } }

.login__link-title {
  width: calc(100% - 80px);
  margin-bottom: 20px;
  color: #c9a900;
  font-size: 24px;
  font-weight: 700; }

.login__link-text {
  width: calc(100% - 80px);
  font-weight: 600; }

/**
 * Login form.
 */
.login__form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin-top: 40px; }
  @media only screen and (max-width: 899px) {
    .login__form > div {
      width: 100%; } }
  .login__form.flex-start {
    justify-content: flex-start; }

/**
 * Form item.
 */
.login__form--item {
  width: calc(100% / 2 - 10px); }
  @media only screen and (max-width: 899px) {
    .login__form--item {
      width: 100%; }
      .login__form--item:nth-child(2) {
        margin-top: 50px; } }
  .login__form--item label {
    display: block;
    margin-bottom: 5px;
    color: #606060; }
  .login__form--item input {
    width: 100%;
    height: 40px;
    padding: 5px;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    box-shadow: 3px 3px 1px 0 #e0e0e0; }

/**
 * Forgot password button.
 */
.login__form .forgot-password {
  display: table;
  position: relative;
  margin-top: 20px;
  color: #06a68a; }
  .login__form .forgot-password:after {
    position: absolute;
    right: 0;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #06a68a;
    content: ''; }

/**
 * Login button.
 */
.login__form--button {
  margin-top: 160px;
  padding: 15px 120px;
  cursor: pointer; }
  @media only screen and (min-width: 1200px) {
    .login__form--button {
      margin: 0;
      margin-top: 30px; } }
  @media only screen and (max-width: 899px) {
    .login__form--button {
      width: 100%;
      margin-top: 30px; } }

.change-password legend {
  color: #e15c37;
  font-size: 30px; }

.change-password .login__form--item {
  margin-top: 30px; }

/* ==========================================================================
   Logout
   ========================================================================== */
.logout-button {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  position: relative;
  color: #06a68a;
  font-weight: 600;
  text-transform: lowercase; }
  .logout-button > .inline-icon {
    width: 15px;
    height: 15px;
    margin-right: 7px;
    vertical-align: -2px; }
    @media only screen and (max-width: 899px) {
      .logout-button > .inline-icon {
        margin-right: 0; } }
  .logout-button::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #06a68a;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .logout-button::after {
        background-color: whitesmoke;
        top: -17px;
        left: -9px;
        bottom: initial;
        width: 30px;
        height: 2px; } }
  .logout-button.is-logged-in {
    margin-top: 20px; }

@media only screen and (max-width: 899px) {
  .logout-button__text {
    display: none; } }

/* ==========================================================================
   Modal
   ========================================================================== */
.modal-wrapper {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transition: opacity 180ms;
  background-color: rgba(255, 255, 255, 0.7);
  opacity: 0;
  z-index: 999;
  pointer-events: none; }
  .modal-wrapper.is-active {
    opacity: 1;
    pointer-events: all; }

.modal {
  position: relative;
  width: 709px;
  max-width: calc(100% - 20px);
  max-height: 715px;
  padding: 50px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background-color: white;
  box-shadow: 3px 3px 41px 0 rgba(183, 183, 183, 0.44);
  overflow-y: auto; }
  @media only screen and (max-width: 899px) {
    .modal {
      height: auto;
      max-height: 500px;
      overflow: auto; } }
  .modal.loading::after {
    opacity: 0.6;
    pointer-events: all; }
  .modal::after {
    content: '';
    opacity: 0;
    background-color: black;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    border-radius: 10px;
    pointer-events: none; }

.modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #06a68a;
  text-align: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .modal-close > .inline-icon {
    width: 10px;
    height: 15px; }

.modal-close__text {
  display: block;
  line-height: 4px; }

.modal-title {
  margin-bottom: 30px;
  color: #606060; }
  .modal-title > .inline-icon {
    width: 14px;
    height: 15px;
    margin-right: 5px; }

.modal-description {
  margin-bottom: 60px; }

.modal-button {
  width: 100%;
  margin: 0; }

.modal__loading-icon {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 auto;
  -webkit-animation-name: spinning;
          animation-name: spinning;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear; }
  .modal__loading-icon svg {
    color: #e15c37; }

@-webkit-keyframes spinning {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spinning {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.js-invisible-fields {
  display: none; }

/* ==========================================================================
   Not logged in form
   ========================================================================== */
.not-logged-in__title {
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.26087em; }

.not-logged-in__button {
  width: 100%; }

/**
 * Form.
 */
.order-options__title svg {
  position: relative;
  top: 2px;
  width: 14px;
  height: 15px;
  margin-right: 10px; }

.order-options__title span {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  width: calc(100% - 25px);
  margin-bottom: 30px;
  font-weight: 700; }

.order-options__intro {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  margin-bottom: 40px;
  font-weight: 400; }

.order-options__option {
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  padding: 10px 0;
  border-top: 1px solid #e0e0e0; }
  .order-options__option.is-first {
    border: 0; }

.order-options__option-title {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  width: calc(100% - 310px);
  font-weight: 700; }
  @media only screen and (max-width: 599px) {
    .order-options__option-title {
      width: 100%;
      margin-bottom: 10px; } }

.order-options__option-price {
  width: 175px; }
  .order-options__option-price span {
    font-weight: 400; }
  .order-options__option-price .is-caption {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.11111em;
    color: #606060;
    margin-left: 5px; }

.order-options__amount {
  width: 135px; }
  .order-options__amount .option-selected {
    margin: 0; }

.order-options__total {
  flex-wrap: wrap;
  margin: 25px 0 40px 0; }

.order-options__total-label {
  width: 100%;
  margin-bottom: 10px;
  text-align: right; }

.order-options__total-price {
  width: 100%;
  font-weight: 400;
  text-align: right; }

.order-options__button {
  width: 100%; }
  .order-options__button button {
    width: 100%; }

/**
 * Button.
 */
.order-options__book a {
  display: flex;
  align-items: center;
  position: fixed;
  top: 238px;
  right: -20px;
  width: 250px;
  height: 61px;
  background-color: #06a68a;
  border-radius: 30px 0 0 30px;
  transition: all 500ms ease;
  z-index: 1; }
  @media only screen and (max-width: 599px) {
    .order-options__book a {
      right: -185px; } }
  .order-options__book a svg {
    width: 70px;
    height: 21px;
    color: white; }
  .order-options__book a span {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.11111em;
    color: white;
    width: calc(100% - 70px);
    text-transform: none; }
  .order-options__book a:hover {
    right: 0px; }

/* ==========================================================================
   Page title
   ========================================================================== */
.page-title {
  color: #403630;
  font-weight: 600;
  text-transform: uppercase;
  box-shadow: 0 2px 0 0 #e0e0e0; }

.page-title__title {
  font-size: 25px;
  font-size: 2.5rem;
  line-height: 1.28em;
  margin-bottom: 5px; }

.page-title__subtitle {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.22222em;
  margin-top: 10px;
  color: #606060;
  text-transform: uppercase; }

/* ==========================================================================
   Profile user
   ========================================================================== */
.profile-user__form {
  position: relative; }

.profile-user__heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 50px; }

.profile-user__title {
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1.26087em;
  color: #7e6ea6;
  font-weight: 600;
  text-transform: uppercase; }
  @media only screen and (max-width: 599px) {
    .profile-user__title {
      width: 100%;
      margin-bottom: 20px; } }

.profile-user__button {
  display: none;
  transition: opacity 250ms ease;
  color: #06a68a;
  text-align: center;
  cursor: pointer;
  opacity: 0.6;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .profile-user__button > .inline-icon {
    width: 15px;
    height: 15px; }
    @media only screen and (max-width: 599px) {
      .profile-user__button > .inline-icon {
        margin-right: 5px; } }
  .profile-user__button.is-shown {
    display: block; }
    @media only screen and (max-width: 599px) {
      .profile-user__button.is-shown {
        display: flex; } }
  .profile-user__button:hover {
    opacity: 1; }

.profile-user__button-text {
  font-weight: 600;
  line-height: 14px; }

.profile-user__button--save {
  display: none; }

.profile-user__button--has-notice {
  position: absolute;
  top: 0;
  right: 0;
  background-color: white;
  z-index: 1; }
  .profile-user__button--has-notice:hover {
    top: -12px;
    right: -12px;
    width: 215px;
    padding: 10px;
    border: 2px solid #c9a900;
    border-radius: 10px; }
    .profile-user__button--has-notice:hover .profile-user__button-notice {
      display: block; }

.profile-user__button-notice {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.33333em;
  display: none;
  margin-top: 20px;
  padding: 20px 10px 10px;
  color: #606060; }

.profile-user__button--has-notice-default {
  width: 70px;
  margin-left: auto; }
  .profile-user__button--has-notice-default > .inline-icon {
    width: 15px;
    height: 15px; }

.profile-user__save {
  display: none; }

/* ==========================================================================
   Register
   ========================================================================== */
/**
 * Main element (register).
 */
.register,
.createaccount {
  position: relative; }
  .register label,
  .createaccount label {
    display: block;
    margin-bottom: 5px;
    color: #606060;
    font-size: 15px; }
    .register label.is-invalid,
    .createaccount label.is-invalid {
      color: #e15679;
      font-weight: 700; }
  .register input[type=text],
  .register input[type=password],
  .createaccount input[type=text],
  .createaccount input[type=password] {
    width: 100%;
    height: 40px;
    margin-bottom: 40px;
    padding-left: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    color: #606060;
    box-shadow: 3px 3px 1px 0 #e0e0e0; }
    .register input[type=text].is-invalid,
    .register input[type=password].is-invalid,
    .createaccount input[type=text].is-invalid,
    .createaccount input[type=password].is-invalid {
      border: 3px solid #e15679;
      background: #ffeef2; }

.change-password__button a {
  display: table;
  width: 54%;
  margin: 30px 0;
  padding: 15px;
  transition: all 250ms ease;
  border: 3px solid #e15c37;
  border-radius: 50px;
  background: white;
  color: #e15c37;
  font-size: 20px;
  text-align: center;
  text-transform: lowercase;
  box-shadow: 3px 3px 0 0 #e0e0e0; }
  @media only screen and (min-width: 1200px) {
    .change-password__button a {
      position: relative;
      top: 150px;
      margin-bottom: 150px; } }
  @media only screen and (max-width: 1199px) {
    .change-password__button a {
      width: 100%;
      padding: 15px 40px;
      font-size: 15px; } }
  .change-password__button a:hover {
    border: 3px solid #e15c37;
    background: #e15c37;
    color: white; }

.createaccount {
  margin-top: 80px; }

/**
 * Flex settings.
 */
.register__form--flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

/**
 * Form title.
 */
.register__form--title {
  margin-bottom: 60px; }

/**
 * Form steps.
 */
.register__form--steps {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 100px; }
  .register__form--steps::after {
    display: block;
    position: absolute;
    top: 14px;
    right: 0;
    left: 0;
    width: 95%;
    height: 2px;
    margin: auto;
    border-bottom: 2px dashed #7e6ea6;
    content: '';
    z-index: 1; }
    @media only screen and (max-width: 899px) {
      .register__form--steps::after {
        width: calc(100% - 30px); } }

/**
 * Form step.
 */
.register__form--step {
  position: relative;
  width: 50px;
  text-align: center;
  z-index: 2; }

/**
 * Form step number.
 */
.register__form--step-number {
  width: 30px;
  height: 30px;
  margin: auto;
  border: 2px solid #7e6ea6;
  border-radius: 5px;
  background: white;
  color: #7e6ea6;
  font-size: 20px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .register__form--step-number.is-active {
    border: 2px solid #7e6ea6;
    background: #7e6ea6;
    color: white; }

/**
 * Form step title.
 */
.register__form--step-title {
  margin-top: 5px;
  color: #7e6ea6;
  font-size: 12px; }

/**
 * Organisation name.
 */
.organisation-info__title {
  width: 100%; }

/**
 * Radio button container.
 */
.organisation-info__type {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 500px;
  margin-right: -11px;
  margin-bottom: 40px;
  margin-left: -11px; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .organisation-info__type {
      justify-content: flex-start; } }
  @media only screen and (max-width: 899px) {
    .organisation-info__type {
      width: calc(100% + 30px);
      margin-right: -15px;
      margin-left: -15px; } }
  @media only screen and (max-width: 599px) {
    .organisation-info__type {
      width: calc(100% + 20px); } }

/**
 * Radio button settings.
 */
.organisation-info__type--radiobuttons {
  margin: 0 11px; }
  @media only screen and (max-width: 599px) {
    .organisation-info__type--radiobuttons {
      width: calc(50% - 22px); } }

.organisation-info__type--radiobuttons .radio-title {
  display: inline-block;
  width: 221px;
  padding: 30px 0;
  transition: border 180ms;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  text-align: center;
  box-shadow: 3px 3px 1px 0 #e0e0e0;
  cursor: pointer; }
  @media only screen and (max-width: 599px) {
    .organisation-info__type--radiobuttons .radio-title {
      width: 100%;
      padding: 20px 0; } }
  @media only screen and (min-width: 1200px) {
    .organisation-info__type--radiobuttons .radio-title:hover {
      border: 2px solid #e15c37; } }

.organisation-info__type--radio {
  display: none;
  position: absolute;
  left: -9999px;
  pointer-events: none; }
  .organisation-info__type--radio:checked + .radio-title {
    border: 2px solid #e15c37; }

/**
 * KPL.
 */
.organisation-info__kpl {
  margin-bottom: 60px; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .organisation-info__kpl {
      margin-bottom: 30px; } }

/**
 * Street.
 */
.organisation-info__address--street {
  width: 48.5%; }
  @media only screen and (max-width: 599px) {
    .organisation-info__address--street {
      width: 100%; } }

/**
 * Housenumber.
 */
.organisation-info__address--housenumber {
  width: 31%; }
  @media only screen and (max-width: 599px) {
    .organisation-info__address--housenumber {
      width: calc(100% / 2 - 10px); } }

/**
 * Addition.
 */
.organisation-info__address--addition {
  width: 15%; }
  @media only screen and (max-width: 599px) {
    .organisation-info__address--addition {
      width: calc(100% / 2 - 10px); } }

/**
 * Zipcode & City.
 */
.organisation-info__address--zipcode,
.organisation-info__address--city,
.organisation-info__address--email {
  width: calc(100% / 2 - 10px); }
  @media only screen and (max-width: 599px) {
    .organisation-info__address--zipcode,
    .organisation-info__address--city,
    .organisation-info__address--email {
      width: 100%; } }

/**
 * Phonenumber 1.
 */
.organisation-info__address--phone1 {
  margin-top: 80px; }

/**
 * Next step button.
 */
.register__form--nextstep {
  width: 50%;
  margin-top: 60px; }
  @media only screen and (max-width: 599px) {
    .register__form--nextstep {
      width: 100%;
      font-size: 20px; } }

.userinfo {
  display: none; }

/**
 * Firstname + lastname.
 */
.userinfo__form--firstname,
.userinfo__form--lastname {
  width: 30%; }
  @media only screen and (max-width: 599px) {
    .userinfo__form--firstname,
    .userinfo__form--lastname {
      width: 100%; } }

/**
 * Initials + insertion.
 */
.userinfo__form--initials,
.userinfo__form--insertion {
  width: 15%; }
  @media only screen and (max-width: 599px) {
    .userinfo__form--initials,
    .userinfo__form--insertion {
      width: calc(100% / 2 - 10px); } }

/**
 * Terms & conditions.
 */
.createaccount__terms {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .createaccount__terms input {
    display: none; }
  .createaccount__terms label {
    position: relative;
    height: 25px;
    padding-left: 25px;
    z-index: 3; }
  .createaccount__terms a {
    position: relative;
    margin: 0 10px;
    color: #06a68a; }
    .createaccount__terms a:after {
      display: block;
      position: absolute;
      right: 0;
      bottom: -5px;
      left: 0;
      height: 2px;
      background: #06a68a;
      content: ''; }
  .createaccount__terms::before {
    display: block;
    position: absolute;
    top: 2px;
    width: 18px;
    height: 18px;
    margin-right: 15px;
    transition: background-color 180ms;
    border: 1px solid #06a68a;
    border-radius: 5px;
    box-shadow: 3px 3px 1px 0 #e0e0e0;
    content: ''; }
  .createaccount__terms.is-active::before {
    background-color: #06a68a; }

/**
 * Final submit button
 */
.register__form--submit button {
  width: 50%;
  margin-top: 80px; }
  @media only screen and (max-width: 899px) {
    .register__form--submit button {
      width: 100%; } }

/**
 * Columns in the register--success partial.
 */
.register__success--columns {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 100px; }

/**
 * Single column.
 */
.register__success--column {
  width: calc(100% / 2 - 10px);
  margin-top: 40px;
  padding: 40px;
  border-radius: 10px;
  background: white;
  box-shadow: 0 2px 40px 0 rgba(215, 215, 215, 0.5); }
  @media only screen and (max-width: 899px) {
    .register__success--column {
      width: 100%; } }

/**
 * Column title.
 */
.register__success--column-title {
  margin-bottom: 30px;
  color: #606060;
  font-size: 20px;
  font-weight: 700; }

/**
 * Column content.
 */
.register__success--column-content {
  transition: all 350ms ease;
  color: #606060;
  font-size: 15px;
  font-weight: 400;
  line-height: 20px; }

.register__success--image {
  margin-bottom: 80px;
  color: #06a68a;
  font-size: 20px;
  text-align: center; }
  .register__success--image img {
    display: block;
    width: 85px;
    height: 85px;
    margin: auto auto 20px; }

.messages .\32 {
  color: #e23030; }

.register__succes-agenda {
  width: 100%;
  max-width: 342px;
  margin-right: auto;
  margin-left: auto; }

/**
 * Register help block.
 */
.register-help {
  display: none;
  position: fixed;
  right: 120px;
  bottom: 20px;
  padding: 20px;
  transition: all 250ms ease;
  border: 3px solid #c9a900;
  border-radius: 10px;
  background: white; }
  @media only screen and (max-width: 599px) {
    .register-help {
      right: 20px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .register-help {
      right: 120px !important; } }
  @media only screen and (min-width: 900px) {
    .register-help {
      right: 200px; } }
  .register-help.is-active {
    padding: 30px;
    transition: all 250ms ease; }
    .register-help.is-active .register-help__title {
      margin-bottom: 30px;
      transition: all 250ms ease; }
    .register-help.is-active .register-help__content {
      display: block;
      transition: all 250ms ease; }

.register-help .toggles svg {
  width: 20px;
  height: 20px;
  cursor: pointer; }

.register-help .js-expand svg {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }

.register-help .js-compress {
  display: none; }
  .register-help .js-compress svg {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg); }

.register-help__title {
  transition: all 250ms ease;
  color: #c9a900;
  font-size: 20px;
  font-weight: 700; }

.register-help__content {
  display: none;
  margin-right: 50px;
  transition: all 250ms ease;
  color: #606060; }
  .register-help__content ul {
    margin-top: 30px; }
  .register-help__content li {
    display: flex; }
  .register-help__content svg {
    position: relative;
    top: 4px;
    width: 15px;
    height: 15px;
    margin-right: 12px;
    margin-bottom: 10px; }

/**
 * Error message.
 */
.register .error-message {
  display: none;
  position: fixed;
  top: 10px;
  right: 10px;
  left: 10px;
  width: auto;
  margin-left: 30%;
  padding: 80px 20px;
  border-radius: 10px;
  background: #ffeef2;
  color: #606060;
  cursor: pointer;
  text-align: center;
  z-index: 10; }
  @media only screen and (max-width: 899px) {
    .register .error-message {
      margin-left: 0; } }
  .register .error-message svg {
    width: 30px;
    height: 30px;
    color: #e15679; }
  .register .error-message h2 {
    margin: 30px 0;
    color: #606060;
    font-weight: 700; }
  .register .error-message .js-close-error {
    position: absolute;
    top: 20px;
    right: 20px;
    color: #e15679;
    font-size: 13px;
    text-align: center;
    cursor: pointer;
    pointer-events: none; }
    .register .error-message .js-close-error svg {
      display: block;
      margin: auto; }
  .register .error-message.is-active {
    display: block; }

/* ==========================================================================
   Submenu
   ========================================================================== */
.submenu {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 25px;
  letter-spacing: 0.3px; }

.submenu li {
  position: relative;
  width: 100%;
  border-top: 1px solid #e0e0e0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  @media only screen and (max-width: 599px) {
    .submenu li {
      border-top: 0; } }
  .submenu li.active > a {
    background-color: rgba(126, 110, 166, 0.1);
    color: #7e6ea6; }
    @media only screen and (max-width: 599px) {
      .submenu li.active > a {
        background: white; } }
  .submenu li.active > .subsubmenu {
    display: block; }
  .submenu li > a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 14px 6px;
    transition: opacity 250ms ease;
    border-radius: 10px;
    opacity: 0; }
  .submenu li svg {
    width: 18px;
    height: 21px;
    margin-right: 20px; }
  .submenu li.is-active .submenu__arrow {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .submenu li:nth-child(1) {
    border-top: 0;
    border-bottom: 1px solid whitesmoke; }

.submenu__arrow {
  display: flex;
  position: absolute;
  top: 13px;
  right: 5px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  transition: -webkit-transform 180ms;
  transition: transform 180ms;
  transition: transform 180ms, -webkit-transform 180ms;
  cursor: pointer; }
  .submenu__arrow > .inline-icon {
    margin: 0; }

.subsubmenu {
  display: none; }

.subsubmenu li {
  border-top: 0; }

.subsubmenu li > a {
  margin-left: 40px;
  padding-left: 16px; }

/* ==========================================================================
   Color
   ========================================================================== */
/**
 * Color utility classes.
 */
/**
       * `color` black-100 color utility.
       */
.color-black-100 {
  color: black; }

/**
       * `background-color` black-100 color utility.
       */
.background-color-black-100 {
  background-color: black; }

/**
       * `color` #0f0e0d-200 color utility.
       */
.color-black-200 {
  color: #0f0e0d; }

/**
       * `background-color` #0f0e0d-200 color utility.
       */
.background-color-black-200 {
  background-color: #0f0e0d; }

/**
       * `color` #403630-300 color utility.
       */
.color-black-300 {
  color: #403630; }

/**
       * `background-color` #403630-300 color utility.
       */
.background-color-black-300 {
  background-color: #403630; }

/**
       * `color` #e0e0e0-100 color utility.
       */
.color-grey-100 {
  color: #e0e0e0; }

/**
       * `background-color` #e0e0e0-100 color utility.
       */
.background-color-grey-100 {
  background-color: #e0e0e0; }

/**
       * `color` whitesmoke-200 color utility.
       */
.color-grey-200 {
  color: whitesmoke; }

/**
       * `background-color` whitesmoke-200 color utility.
       */
.background-color-grey-200 {
  background-color: whitesmoke; }

/**
       * `color` #606060-400 color utility.
       */
.color-grey-400 {
  color: #606060; }

/**
       * `background-color` #606060-400 color utility.
       */
.background-color-grey-400 {
  background-color: #606060; }

/**
       * `color` white-100 color utility.
       */
.color-white-100 {
  color: white; }

/**
       * `background-color` white-100 color utility.
       */
.background-color-white-100 {
  background-color: white; }

/**
       * `color` #fff9f8-100 color utility.
       */
.color-orange-100 {
  color: #fff9f8; }

/**
       * `background-color` #fff9f8-100 color utility.
       */
.background-color-orange-100 {
  background-color: #fff9f8; }

/**
       * `color` #e15c37-200 color utility.
       */
.color-orange-200 {
  color: #e15c37; }

/**
       * `background-color` #e15c37-200 color utility.
       */
.background-color-orange-200 {
  background-color: #e15c37; }

/**
       * `color` #544638-300 color utility.
       */
.color-orange-300 {
  color: #544638; }

/**
       * `background-color` #544638-300 color utility.
       */
.background-color-orange-300 {
  background-color: #544638; }

/**
       * `color` #7a1d15-400 color utility.
       */
.color-orange-400 {
  color: #7a1d15; }

/**
       * `background-color` #7a1d15-400 color utility.
       */
.background-color-orange-400 {
  background-color: #7a1d15; }

/**
       * `color` #ffeef2-50 color utility.
       */
.color-red-50 {
  color: #ffeef2; }

/**
       * `background-color` #ffeef2-50 color utility.
       */
.background-color-red-50 {
  background-color: #ffeef2; }

/**
       * `color` #e15679-100 color utility.
       */
.color-red-100 {
  color: #e15679; }

/**
       * `background-color` #e15679-100 color utility.
       */
.background-color-red-100 {
  background-color: #e15679; }

/**
       * `color` #e23030-200 color utility.
       */
.color-red-200 {
  color: #e23030; }

/**
       * `background-color` #e23030-200 color utility.
       */
.background-color-red-200 {
  background-color: #e23030; }

/**
       * `color` #7e6ea6-200 color utility.
       */
.color-purple-200 {
  color: #7e6ea6; }

/**
       * `background-color` #7e6ea6-200 color utility.
       */
.background-color-purple-200 {
  background-color: #7e6ea6; }

/**
       * `color` #e5f6f3-50 color utility.
       */
.color-green-50 {
  color: #e5f6f3; }

/**
       * `background-color` #e5f6f3-50 color utility.
       */
.background-color-green-50 {
  background-color: #e5f6f3; }

/**
       * `color` #06a68a-200 color utility.
       */
.color-green-200 {
  color: #06a68a; }

/**
       * `background-color` #06a68a-200 color utility.
       */
.background-color-green-200 {
  background-color: #06a68a; }

/**
       * `color` #c9a900-200 color utility.
       */
.color-yellow-200 {
  color: #c9a900; }

/**
       * `background-color` #c9a900-200 color utility.
       */
.background-color-yellow-200 {
  background-color: #c9a900; }

/* ==========================================================================
   Object Fit
   ========================================================================== */
/**
 * Object fit.
 *
 * 1. Font family polyfill with (https://github.com/bfred-it/object-fit-images).
 */
/**
   * `object-fit` fill utility class.
   */
.fill {
  font-family: "object-fit: fill;";
  /* 1 */
  -o-object-fit: fill;
     object-fit: fill; }

/**
   * `object-fit` contain utility class.
   */
.contain {
  font-family: "object-fit: contain;";
  /* 1 */
  -o-object-fit: contain;
     object-fit: contain; }

/**
   * `object-fit` cover utility class.
   */
.cover {
  font-family: "object-fit: cover;";
  /* 1 */
  -o-object-fit: cover;
     object-fit: cover; }

/**
   * `object-fit` none utility class.
   */
.none {
  font-family: "object-fit: none;";
  /* 1 */
  -o-object-fit: none;
     object-fit: none; }

/**
   * `object-fit` scale-down utility class.
   */
.scale-down {
  font-family: "object-fit: scale-down;";
  /* 1 */
  -o-object-fit: scale-down;
     object-fit: scale-down; }

/* ==========================================================================
   Position
   ========================================================================== */
/**
 * Position utility class.
 */
.static {
  position: static; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.sticky {
  position: -webkit-sticky;
  position: sticky; }

/* ==========================================================================
   Text
   ========================================================================== */
/**
 * Font family utility classes.
 */
.text-default-xs {
  font-family: "Dosis"; }

@media only screen and (max-width: 599px) {
  .text-default-sm {
    font-family: "Dosis"; } }

@media only screen and (min-width: 600px) {
  .text-default-md {
    font-family: "Dosis"; } }

@media only screen and (min-width: 900px) {
  .text-default-lg {
    font-family: "Dosis"; } }

@media only screen and (min-width: 1200px) {
  .text-default-xl {
    font-family: "Dosis"; } }

/**
 * Text size utility classes.
 */
.text-h1-xs {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.5625em; }

.text-h2-xs {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.21429em; }

.text-h3-xs {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.20833em; }

.text-h4-xs {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.45455em; }

.text-h5-xs {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em; }

.text-h6-xs {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.77778em; }

.text-p-xs {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

@media only screen and (max-width: 599px) {
  .text-h1-sm {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.5625em; }
  .text-h2-sm {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.21429em; }
  .text-h3-sm {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.20833em; }
  .text-h4-sm {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.45455em; }
  .text-h5-sm {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.6em; }
  .text-h6-sm {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.77778em; }
  .text-p-sm {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; } }

@media only screen and (min-width: 600px) {
  .text-h1-md {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.5625em; }
  .text-h2-md {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.21429em; }
  .text-h3-md {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.20833em; }
  .text-h4-md {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.45455em; }
  .text-h5-md {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.6em; }
  .text-h6-md {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.77778em; }
  .text-p-md {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; } }

@media only screen and (min-width: 900px) {
  .text-h1-lg {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.5625em; }
  .text-h2-lg {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.21429em; }
  .text-h3-lg {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.20833em; }
  .text-h4-lg {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.45455em; }
  .text-h5-lg {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.6em; }
  .text-h6-lg {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.77778em; }
  .text-p-lg {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; } }

@media only screen and (min-width: 1200px) {
  .text-h1-xl {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.5625em; }
  .text-h2-xl {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.21429em; }
  .text-h3-xl {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.20833em; }
  .text-h4-xl {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.45455em; }
  .text-h5-xl {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.6em; }
  .text-h6-xl {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.77778em; }
  .text-p-xl {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; } }

/**
 * Text alignment utility classes.
 */
.text-left-xs {
  text-align: left; }

.text-right-xs {
  text-align: right; }

.text-center-xs {
  text-align: center; }

@media only screen and (max-width: 599px) {
  .text-left-sm {
    text-align: left; }
  .text-right-sm {
    text-align: right; }
  .text-center-sm {
    text-align: center; } }

@media only screen and (min-width: 600px) {
  .text-left-md {
    text-align: left; }
  .text-right-md {
    text-align: right; }
  .text-center-md {
    text-align: center; } }

@media only screen and (min-width: 900px) {
  .text-left-lg {
    text-align: left; }
  .text-right-lg {
    text-align: right; }
  .text-center-lg {
    text-align: center; } }

@media only screen and (min-width: 1200px) {
  .text-left-xl {
    text-align: left; }
  .text-right-xl {
    text-align: right; }
  .text-center-xl {
    text-align: center; } }

/**
 * Font weight utility classes.
 *
 * 1. Multiply looped integer by 100 for correct font weight value.
 */
.text-100-xs {
  font-weight: 100; }

.text-200-xs {
  font-weight: 200; }

.text-300-xs {
  font-weight: 300; }

.text-400-xs {
  font-weight: 400; }

.text-500-xs {
  font-weight: 500; }

.text-600-xs {
  font-weight: 600; }

.text-700-xs {
  font-weight: 700; }

.text-800-xs {
  font-weight: 800; }

.text-900-xs {
  font-weight: 900; }

@media only screen and (max-width: 599px) {
  .text-100-sm {
    font-weight: 100; }
  .text-200-sm {
    font-weight: 200; }
  .text-300-sm {
    font-weight: 300; }
  .text-400-sm {
    font-weight: 400; }
  .text-500-sm {
    font-weight: 500; }
  .text-600-sm {
    font-weight: 600; }
  .text-700-sm {
    font-weight: 700; }
  .text-800-sm {
    font-weight: 800; }
  .text-900-sm {
    font-weight: 900; } }

@media only screen and (min-width: 600px) {
  .text-100-md {
    font-weight: 100; }
  .text-200-md {
    font-weight: 200; }
  .text-300-md {
    font-weight: 300; }
  .text-400-md {
    font-weight: 400; }
  .text-500-md {
    font-weight: 500; }
  .text-600-md {
    font-weight: 600; }
  .text-700-md {
    font-weight: 700; }
  .text-800-md {
    font-weight: 800; }
  .text-900-md {
    font-weight: 900; } }

@media only screen and (min-width: 900px) {
  .text-100-lg {
    font-weight: 100; }
  .text-200-lg {
    font-weight: 200; }
  .text-300-lg {
    font-weight: 300; }
  .text-400-lg {
    font-weight: 400; }
  .text-500-lg {
    font-weight: 500; }
  .text-600-lg {
    font-weight: 600; }
  .text-700-lg {
    font-weight: 700; }
  .text-800-lg {
    font-weight: 800; }
  .text-900-lg {
    font-weight: 900; } }

@media only screen and (min-width: 1200px) {
  .text-100-xl {
    font-weight: 100; }
  .text-200-xl {
    font-weight: 200; }
  .text-300-xl {
    font-weight: 300; }
  .text-400-xl {
    font-weight: 400; }
  .text-500-xl {
    font-weight: 500; }
  .text-600-xl {
    font-weight: 600; }
  .text-700-xl {
    font-weight: 700; }
  .text-800-xl {
    font-weight: 800; }
  .text-900-xl {
    font-weight: 900; } }

/**
 * Text transform uitlity classes.
 */
.text-capitalize-xs {
  text-transform: capitalize; }

.text-uppercase-xs {
  text-transform: uppercase; }

.text-lowercase-xs {
  text-transform: lowercase; }

.text-none-xs {
  text-transform: none; }

.text-full-width-xs {
  text-transform: full-width; }

@media only screen and (max-width: 599px) {
  .text-capitalize-sm {
    text-transform: capitalize; }
  .text-uppercase-sm {
    text-transform: uppercase; }
  .text-lowercase-sm {
    text-transform: lowercase; }
  .text-none-sm {
    text-transform: none; }
  .text-full-width-sm {
    text-transform: full-width; } }

@media only screen and (min-width: 600px) {
  .text-capitalize-md {
    text-transform: capitalize; }
  .text-uppercase-md {
    text-transform: uppercase; }
  .text-lowercase-md {
    text-transform: lowercase; }
  .text-none-md {
    text-transform: none; }
  .text-full-width-md {
    text-transform: full-width; } }

@media only screen and (min-width: 900px) {
  .text-capitalize-lg {
    text-transform: capitalize; }
  .text-uppercase-lg {
    text-transform: uppercase; }
  .text-lowercase-lg {
    text-transform: lowercase; }
  .text-none-lg {
    text-transform: none; }
  .text-full-width-lg {
    text-transform: full-width; } }

@media only screen and (min-width: 1200px) {
  .text-capitalize-xl {
    text-transform: capitalize; }
  .text-uppercase-xl {
    text-transform: uppercase; }
  .text-lowercase-xl {
    text-transform: lowercase; }
  .text-none-xl {
    text-transform: none; }
  .text-full-width-xl {
    text-transform: full-width; } }

/* ==========================================================================
   Vertical Rhythm
   ========================================================================== */
.vr-0 {
  margin-bottom: 0px; }

.vr-8 {
  margin-bottom: 8px; }

.vr-16 {
  margin-bottom: 16px; }

.vr-24 {
  margin-bottom: 24px; }

.vr-32 {
  margin-bottom: 32px; }

.vr-40 {
  margin-bottom: 40px; }

.vr-48 {
  margin-bottom: 48px; }

.vr-56 {
  margin-bottom: 56px; }

.vr-64 {
  margin-bottom: 64px; }

.vr-72 {
  margin-bottom: 72px; }

.vr-80 {
  margin-bottom: 80px; }

/* ==========================================================================
   Z-index
   ========================================================================== */
/**
 * Utility classes for manipulating stacking order in HTML.
 */
.z-index-0 {
  z-index: 0; }

.z-index-1 {
  z-index: 10; }

.z-index-2 {
  z-index: 20; }

.z-index-3 {
  z-index: 30; }

.z-index-4 {
  z-index: 40; }

.z-index-5 {
  z-index: 50; }

.z-index-6 {
  z-index: 60; }

.z-index-7 {
  z-index: 70; }

.z-index-8 {
  z-index: 80; }

.z-index-9 {
  z-index: 90; }

.z-index-10 {
  z-index: 100; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1haW4uY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fY29yZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYXV0b2hlaWdodC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fbGF6eWxvYWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3MvX3ZpZGVvLnNjc3MiLCJnZW5lcmljL19iYXNlLnNjc3MiLCJ0b29scy9fbWl4aW5zLnNjc3MiLCJzZXR0aW5ncy9fdHlwb2dyYXBoeS5zY3NzIiwidG9vbHMvX2Z1bmN0aW9ucy5zY3NzIiwic2V0dGluZ3MvX2NvbG9yLnNjc3MiLCJnZW5lcmljL19yZXNldC5zY3NzIiwib2JqZWN0cy9fYnV0dG9uLnNjc3MiLCJvYmplY3RzL19jb250ZW50LWNvbnN0cmFpbnQuc2NzcyIsIm9iamVjdHMvX2RhdGVwaWNrZXIuc2NzcyIsIm9iamVjdHMvX2hlYWRpbmcuc2NzcyIsIm9iamVjdHMvX2ZsZXguc2NzcyIsIm9iamVjdHMvX3dyYXBwZXIuc2NzcyIsIm9iamVjdHMvX3NlbGVjdC5zY3NzIiwib2JqZWN0cy9fdGl0bGUuc2NzcyIsIm9iamVjdHMvX2NvbnRhaW5lci5zY3NzIiwib2JqZWN0cy9fcGlrYWRheS5zY3NzIiwiY29tcG9uZW50cy9fYWN0aXZpdHktZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fYWN0aXZpdHktbGlzdC5zY3NzIiwiY29tcG9uZW50cy9fY2FsZW5kYXItcG9wdXAuc2NzcyIsImNvbXBvbmVudHMvX2NhbGVuZGFyLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LWRlZmF1bHQuc2NzcyIsImNvbXBvbmVudHMvX2RlbGV0ZS1idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fZm9ybS5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19pbnZhbGlkLWVycm9yLnNjc3MiLCJjb21wb25lbnRzL19sb2dpbi5zY3NzIiwiY29tcG9uZW50cy9fbG9nb3V0LnNjc3MiLCJjb21wb25lbnRzL19tb2RhbC5zY3NzIiwiY29tcG9uZW50cy9fbm90LWxvZ2dlZC1pbi5zY3NzIiwiY29tcG9uZW50cy9fb3JkZXItb3B0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fcGFnZS10aXRsZS5zY3NzIiwiY29tcG9uZW50cy9fcHJvZmlsZS11c2VyLnNjc3MiLCJjb21wb25lbnRzL19yZWdpc3Rlci5zY3NzIiwiY29tcG9uZW50cy9fc3VibWVudS5zY3NzIiwidXRpbGl0aWVzL19jb2xvci5zY3NzIiwidXRpbGl0aWVzL19vYmplY3QtZml0LnNjc3MiLCJ1dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCJ1dGlsaXRpZXMvX3RleHQuc2NzcyIsInV0aWxpdGllcy9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCJ1dGlsaXRpZXMvX3otaW5kZXguc2NzcyIsInNldHRpbmdzL196LWluZGV4LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOztFREdFO0FDQUY7RUFDQyxhQUFhO0VBQ2IsV0FBVztFQUNYLHdDQUF3QztFQUN4QyxtRUFBQTtFQUNBLGtCQUFrQjtFQUNsQixVQUFVLEVBQUE7RUFOWDtJQVNFLGtCQUFrQjtJQUVsQiwwQkFBMEI7SUFDMUIsZ0NBQWdDO0lBQUUsaUNBQUEsRUFBa0M7RUFadEU7SUFnQkUsWUFBWTtJQUNaLGNBQWM7SUFDZCxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxTQUFTLEVBQUE7RUFyQlg7SUF5QkUsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixnQ0FBQTtJQUNBLDZDQUE2QyxFQUFBO0VBNUIvQzs7SUFpQ0UsbUNBQW1D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O0lBQ2QsZ0JQbEM4QjtJT21DOUIscUJBQXdCLEVBQUE7RUFTeEI7O1VoQjhvQ0U7RWdCMW9DRjtJQUNFLHNCUGpENEIsRUFBQTtFTzRCaEM7O1FoQm1xQ0U7RWdCL3BDRjtJQUNFLGNBQWM7SUFDZCxnQlBsQzhCO0lPbUM5QixxQkFBd0IsRUFBQTtFQVN4Qjs7VWhCMHBDRTtFZ0J0cENGO0lBQ0Usc0JQakQ0QixFQUFBO0VPNEJoQzs7UWhCK3FDRTtFZ0IzcUNGO0lBQ0UsY0FBYztJQUNkLFVQbEM4QjtJT21DOUIscUJBQXdCLEVBQUE7RUFTeEI7O1VoQnNxQ0U7RWdCbHFDRjtJQUNFLGdCUGpENEIsRUFBQTtFTzRCaEM7O1FoQjJyQ0U7RWdCdnJDRjtJQUNFLGNBQWM7SUFDZCxnQlBsQzhCO0lPbUM5QixxQkFBd0IsRUFBQTtFQVN4Qjs7VWhCa3JDRTtFZ0I5cUNGO0lBQ0Usc0JQakQ0QixFQUFBO0VPNEJoQzs7UWhCdXNDRTtFZ0Juc0NGO0lBQ0UsY0FBYztJQUNkLGdCUGxDOEI7SU9tQzlCLHFCQUF3QixFQUFBO0VBU3hCOztVaEI4ckNFO0VnQjFyQ0Y7SUFDRSxzQlBqRDRCLEVBQUE7RU80QmhDOztRaEJtdENFO0VnQi9zQ0Y7SUFDRSxjQUFjO0lBQ2QsVVBsQzhCO0lPbUM5QixxQkFBd0IsRUFBQTtFQVN4Qjs7VWhCMHNDRTtFZ0J0c0NGO0lBQ0UsZ0JQakQ0QixFQUFBO0VPNEJoQzs7UWhCK3RDRTtFZ0IzdENGO0lBQ0UsY0FBYztJQUNkLGdCUGxDOEI7SU9tQzlCLHFCQUF3QixFQUFBO0VBU3hCOztVaEJzdENFO0VnQmx0Q0Y7SUFDRSxzQlBqRDRCLEVBQUE7RU80QmhDOztRaEIydUNFO0VnQnZ1Q0Y7SUFDRSxjQUFjO0lBQ2QsZ0JQbEM4QjtJT21DOUIscUJBQXdCLEVBQUE7RUFTeEI7O1VoQmt1Q0U7RWdCOXRDRjtJQUNFLHNCUGpENEIsRUFBQTtFTzRCaEM7O1FoQnV2Q0U7RWdCbnZDRjtJQUNFLGNBQWM7SUFDZCxXUGxDOEI7SU9tQzlCLHFCQUF3QixFQUFBO0VBdUIxQjs7UWhCZ3VDRTtFZ0I1dENGO0lBQ0Usb0JBUG1CLEVBQUE7RUFFckI7O1FoQnF1Q0U7RWdCanVDRjtJQUNFLG1CQVAyQixFQUFBO0VBRTdCOztRaEIwdUNFO0VnQnR1Q0Y7SUFDRSx1QkFQdUMsRUFBQTtFQUV6Qzs7UWhCK3VDRTtFZ0IzdUNGO0lBQ0UscUJBUGlELEVBQUE7RUFFbkQ7O1FoQm92Q0U7RWdCaHZDRjtJQUNFLHFCQVAyRCxFQUFBO0VBZTdEOztRaEI0dUNFO0VnQnh1Q0Y7SUFDRSxzQkFQaUIsRUFBQTtFQUVuQjs7UWhCaXZDRTtFZ0I3dUNGO0lBQ0UsdUJBUHlCLEVBQUE7RUFFM0I7O1FoQnN2Q0U7RWdCbHZDRjtJQUNFLDhCQVB3QyxFQUFBO0VBRTFDOztRaEIydkNFO0VnQnZ2Q0Y7SUFDRSw2QkFQc0QsRUFBQTtFQUV4RDs7UWhCZ3dDRTtFZ0I1dkNGO0lBQ0UsNkJBUG9FLEVBQUE7RUFFdEU7O1FoQnF3Q0U7RWdCandDRjtJQUNFLHlCQVA4RSxFQUFBO0VBZWhGOztRaEI2dkNFO0VnQnp2Q0Y7SUFDRSxlQUFnQyxFQUFBO0VBTGxDOztRaEJrd0NFO0VnQjl2Q0Y7SUFDRSxnQkFBZ0MsRUFBQTtFQUtwQzs7TWhCNnZDRTtFZ0J6dkNGO0lBQ0UsU0FBUyxFQUFBO0VBSVg7O01oQnl2Q0U7RWdCcnZDRjtJQUNFLFFBQVEsRUFBQTtFQUlWOztNaEJxdkNFO0VnQmp2Q0Y7SUFDRSwyQkFBMkIsRUFBQSxFQUM1Qjs7QVQxQ0Q7RVNoREU7O1FoQmcxQ0U7RWdCNTBDRjtJQUNFLGNBQWM7SUFDZCxlUGxDOEI7SU9tQzlCLHFCQUF3QixFQUFBO0VBU3hCOztVaEJ1MENFO0VnQm4wQ0Y7SUFDRSxxQlBqRDRCLEVBQUE7RU80QmhDOztRaEI0MUNFO0VnQngxQ0Y7SUFDRSxjQUFjO0lBQ2QsZ0JQbEM4QjtJT21DOUIscUJBQXdCLEVBQUE7RUFTeEI7O1VoQm0xQ0U7RWdCLzBDRjtJQUNFLHNCUGpENEIsRUFBQTtFTzRCaEM7O1FoQncyQ0U7RWdCcDJDRjtJQUNFLGNBQWM7SUFDZCxVUGxDOEI7SU9tQzlCLHFCQUF3QixFQUFBO0VBU3hCOztVaEIrMUNFO0VnQjMxQ0Y7SUFDRSxnQlBqRDRCLEVBQUE7RU80QmhDOztRaEJvM0NFO0VnQmgzQ0Y7SUFDRSxjQUFjO0lBQ2QsZ0JQbEM4QjtJT21DOUIscUJBQXdCLEVBQUE7RUFTeEI7O1VoQjIyQ0U7RWdCdjJDRjtJQUNFLHNCUGpENEIsRUFBQTtFTzRCaEM7O1FoQmc0Q0U7RWdCNTNDRjtJQUNFLGNBQWM7SUFDZCxnQlBsQzhCO0lPbUM5QixxQkFBd0IsRUFBQTtFQVN4Qjs7VWhCdTNDRTtFZ0JuM0NGO0lBQ0Usc0JQakQ0QixFQUFBO0VPNEJoQzs7UWhCNDRDRTtFZ0J4NENGO0lBQ0UsY0FBYztJQUNkLFVQbEM4QjtJT21DOUIscUJBQXdCLEVBQUE7RUFTeEI7O1VoQm00Q0U7RWdCLzNDRjtJQUNFLGdCUGpENEIsRUFBQTtFTzRCaEM7O1FoQnc1Q0U7RWdCcDVDRjtJQUNFLGNBQWM7SUFDZCxnQlBsQzhCO0lPbUM5QixxQkFBd0IsRUFBQTtFQVN4Qjs7VWhCKzRDRTtFZ0IzNENGO0lBQ0Usc0JQakQ0QixFQUFBO0VPNEJoQzs7UWhCbzZDRTtFZ0JoNkNGO0lBQ0UsY0FBYztJQUNkLGdCUGxDOEI7SU9tQzlCLHFCQUF3QixFQUFBO0VBU3hCOztVaEIyNUNFO0VnQnY1Q0Y7SUFDRSxzQlBqRDRCLEVBQUE7RU80QmhDOztRaEJnN0NFO0VnQjU2Q0Y7SUFDRSxjQUFjO0lBQ2QsVVBsQzhCO0lPbUM5QixxQkFBd0IsRUFBQTtFQVN4Qjs7VWhCdTZDRTtFZ0JuNkNGO0lBQ0UsZ0JQakQ0QixFQUFBO0VPNEJoQzs7UWhCNDdDRTtFZ0J4N0NGO0lBQ0UsY0FBYztJQUNkLGdCUGxDOEI7SU9tQzlCLHFCQUF3QixFQUFBO0VBU3hCOztVaEJtN0NFO0VnQi82Q0Y7SUFDRSxzQlBqRDRCLEVBQUE7RU80QmhDOztRaEJ3OENFO0VnQnA4Q0Y7SUFDRSxjQUFjO0lBQ2QsZ0JQbEM4QjtJT21DOUIscUJBQXdCLEVBQUE7RUFTeEI7O1VoQis3Q0U7RWdCMzdDRjtJQUNFLHNCUGpENEIsRUFBQTtFTzRCaEM7O1FoQm85Q0U7RWdCaDlDRjtJQUNFLGNBQWM7SUFDZCxXUGxDOEI7SU9tQzlCLHFCQUF3QixFQUFBO0VBdUIxQjs7UWhCNjdDRTtFZ0J6N0NGO0lBQ0Usb0JBUG1CLEVBQUE7RUFFckI7O1FoQms4Q0U7RWdCOTdDRjtJQUNFLG1CQVAyQixFQUFBO0VBRTdCOztRaEJ1OENFO0VnQm44Q0Y7SUFDRSx1QkFQdUMsRUFBQTtFQUV6Qzs7UWhCNDhDRTtFZ0J4OENGO0lBQ0UscUJBUGlELEVBQUE7RUFFbkQ7O1FoQmk5Q0U7RWdCNzhDRjtJQUNFLHFCQVAyRCxFQUFBO0VBZTdEOztRaEJ5OENFO0VnQnI4Q0Y7SUFDRSxzQkFQaUIsRUFBQTtFQUVuQjs7UWhCODhDRTtFZ0IxOENGO0lBQ0UsdUJBUHlCLEVBQUE7RUFFM0I7O1FoQm05Q0U7RWdCLzhDRjtJQUNFLDhCQVB3QyxFQUFBO0VBRTFDOztRaEJ3OUNFO0VnQnA5Q0Y7SUFDRSw2QkFQc0QsRUFBQTtFQUV4RDs7UWhCNjlDRTtFZ0J6OUNGO0lBQ0UsNkJBUG9FLEVBQUE7RUFFdEU7O1FoQmsrQ0U7RWdCOTlDRjtJQUNFLHlCQVA4RSxFQUFBO0VBZWhGOztRaEIwOUNFO0VnQnQ5Q0Y7SUFDRSxlQUFnQyxFQUFBO0VBTGxDOztRaEIrOUNFO0VnQjM5Q0Y7SUFDRSxnQkFBZ0MsRUFBQTtFQUtwQzs7TWhCMDlDRTtFZ0J0OUNGO0lBQ0UsU0FBUyxFQUFBO0VBSVg7O01oQnM5Q0U7RWdCbDlDRjtJQUNFLFFBQVEsRUFBQTtFQUlWOztNaEJrOUNFO0VnQjk4Q0Y7SUFDRSwyQkFBMkIsRUFBQSxFQUM1Qjs7QVQ5Q0Q7RVM1Q0U7O1FoQjZpREU7RWdCemlERjtJQUNFLGNBQWM7SUFDZCxlUGxDOEI7SU9tQzlCLHFCQUF3QixFQUFBO0VBU3hCOztVaEJvaURFO0VnQmhpREY7SUFDRSxxQlBqRDRCLEVBQUE7RU80QmhDOztRaEJ5akRFO0VnQnJqREY7SUFDRSxjQUFjO0lBQ2QsZ0JQbEM4QjtJT21DOUIscUJBQXdCLEVBQUE7RUFTeEI7O1VoQmdqREU7RWdCNWlERjtJQUNFLHNCUGpENEIsRUFBQTtFTzRCaEM7O1FoQnFrREU7RWdCamtERjtJQUNFLGNBQWM7SUFDZCxVUGxDOEI7SU9tQzlCLHFCQUF3QixFQUFBO0VBU3hCOztVaEI0akRFO0VnQnhqREY7SUFDRSxnQlBqRDRCLEVBQUE7RU80QmhDOztRaEJpbERFO0VnQjdrREY7SUFDRSxjQUFjO0lBQ2QsZ0JQbEM4QjtJT21DOUIscUJBQXdCLEVBQUE7RUFTeEI7O1VoQndrREU7RWdCcGtERjtJQUNFLHNCUGpENEIsRUFBQTtFTzRCaEM7O1FoQjZsREU7RWdCemxERjtJQUNFLGNBQWM7SUFDZCxnQlBsQzhCO0lPbUM5QixxQkFBd0IsRUFBQTtFQVN4Qjs7VWhCb2xERTtFZ0JobERGO0lBQ0Usc0JQakQ0QixFQUFBO0VPNEJoQzs7UWhCeW1ERTtFZ0JybURGO0lBQ0UsY0FBYztJQUNkLFVQbEM4QjtJT21DOUIscUJBQXdCLEVBQUE7RUFTeEI7O1VoQmdtREU7RWdCNWxERjtJQUNFLGdCUGpENEIsRUFBQTtFTzRCaEM7O1FoQnFuREU7RWdCam5ERjtJQUNFLGNBQWM7SUFDZCxnQlBsQzhCO0lPbUM5QixxQkFBd0IsRUFBQTtFQVN4Qjs7VWhCNG1ERTtFZ0J4bURGO0lBQ0Usc0JQakQ0QixFQUFBO0VPNEJoQzs7UWhCaW9ERTtFZ0I3bkRGO0lBQ0UsY0FBYztJQUNkLGdCUGxDOEI7SU9tQzlCLHFCQUF3QixFQUFBO0VBU3hCOztVaEJ3bkRFO0VnQnBuREY7SUFDRSxzQlBqRDRCLEVBQUE7RU80QmhDOztRaEI2b0RFO0VnQnpvREY7SUFDRSxjQUFjO0lBQ2QsVVBsQzhCO0lPbUM5QixxQkFBd0IsRUFBQTtFQVN4Qjs7VWhCb29ERTtFZ0Job0RGO0lBQ0UsZ0JQakQ0QixFQUFBO0VPNEJoQzs7UWhCeXBERTtFZ0JycERGO0lBQ0UsY0FBYztJQUNkLGdCUGxDOEI7SU9tQzlCLHFCQUF3QixFQUFBO0VBU3hCOztVaEJncERFO0VnQjVvREY7SUFDRSxzQlBqRDRCLEVBQUE7RU80QmhDOztRaEJxcURFO0Vn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O0VBQ0UseUIvQmR5QixFQUFBOztBK0JTM0I7O1F6Q3dxS0U7QXlDcHFLRjtFQUNFLGlCL0JieUIsRUFBQTs7QStCUTNCOztRekM4cUtFO0F5QzFxS0Y7RUFDRSw0Qi9CYnlCLEVBQUE7O0ErQlEzQjs7UXpDb3JLRTtBeUNocktGO0VBQ0UsYy9CWnNCLEVBQUE7O0ErQk94Qjs7UXpDMHJLRTtBeUN0cktGO0VBQ0UseUIvQlpzQixFQUFBOztBK0JPeEI7O1F6Q2dzS0U7QXlDNXJLRjtFQUNFLFkvQlR5QixFQUFBOztBK0JJM0I7O1F6Q3NzS0U7QXlDbHNLRjtFQUNFLHVCL0JUeUIsRUFBQTs7QStCSTNCOztRekM0c0tFO0F5Q3hzS0Y7RUFDRSxjL0JOeUIsRUFBQTs7QStCQzNCOztRekNrdEtFO0F5QzlzS0Y7RUFDRSx5Qi9CTnlCLEVBQUE7O0ErQkMzQjs7UXpDd3RLRTtBeUNwdEtGO0VBQ0UsYy9CTHVCLEVBQUE7O0ErQkF6Qjs7UXpDOHRLRTtBeUMxdEtGO0VBQ0UseUIvQkx1QixFQUFBOztBK0JBekI7O1F6Q291S0U7QXlDaHVLRjtFQUNFLGMvQkpzQixFQUFBOztBK0JEeEI7O1F6QzB1S0U7QXlDdHVLRjtFQUNFLHlCL0JKc0IsRUFBQTs7QStCRHhCOztRekNndktFO0F5QzV1S0Y7RUFDRSxjL0JIdUIsRUFBQTs7QStCRnpCOztRekNzdktFO0F5Q2x2S0Y7RUFDRSx5Qi9CSHVCLEVBQUE7O0ErQkZ6Qjs7UXpDNHZLRTtBeUN4dktGO0VBQ0UsYy9CQXdCLEVBQUE7O0ErQkwxQjs7UXpDa3dLRTtBeUM5dktGO0VBQ0UseUIvQkF3QixFQUFBOztBK0JMMUI7O1F6Q3d3S0U7QXlDcHdLRjtFQUNFLGMvQkN3QixFQUFBOztBK0JOMUI7O1F6Qzh3S0U7QXlDMXdLRjtFQUNFLHlCL0JDd0IsRUFBQTs7QStCTjFCOztRekNveEtFO0F5Q2h4S0Y7RUFDRSxjL0JFdUIsRUFBQTs7QStCUHpCOztRekMweEtFO0F5Q3R4S0Y7RUFDRSx5Qi9CRXVCLEVBQUE7O0ErQlB6Qjs7UXpDZ3lLRTtBeUM1eEtGO0VBQ0UsYy9CS3lCLEVBQUE7O0ErQlYzQjs7UXpDc3lLRTtBeUNseUtGO0VBQ0UseUIvQkt5QixFQUFBOztBK0JWM0I7O1F6QzR5S0U7QXlDeHlLRjtFQUNFLGMvQlF3QixFQUFBOztBK0JiMUI7O1F6Q2t6S0U7QXlDOXlLRjtFQUNFLHlCL0JRd0IsRUFBQTs7QStCYjFCOztRekN3ektFO0F5Q3B6S0Y7RUFDRSxjL0JTdUIsRUFBQTs7QStCZHpCOztRekM4ektFO0F5QzF6S0Y7RUFDRSx5Qi9CU3VCLEVBQUE7O0ErQmR6Qjs7UXpDbzBLRTtBeUNoMEtGO0VBQ0UsYy9CWXVCLEVBQUE7O0ErQmpCekI7O1F6QzAwS0U7QXlDdDBLRjtFQUNFLHlCL0JZdUIsRUFBQTs7QWdDdEMvQjs7K0UxQ3EySytFO0EwQ2oySy9FOzs7O0UxQ3MyS0U7QTBDNzFLQTs7STFDZzJLRTtBMEM1MUtGO0VBQ0UsZ0NBQXFDO0VBQUUsTUFBQTtFQUN2QyxtQkFBWTtLQUFaLGdCQUFZLEVBQUE7O0FBTmQ7O0kxQ3cyS0U7QTBDcDJLRjtFQUNFLG1DQUFxQztFQUFFLE1BQUE7RUFDdkMsc0JBQVk7S0FBWixtQkFBWSxFQUFBOztBQU5kOztJMUNnM0tFO0EwQzUyS0Y7RUFDRSxpQ0FBcUM7RUFBRSxNQUFBO0VBQ3ZDLG9CQUFZO0tBQVosaUJBQVksRUFBQTs7QUFOZDs7STFDdzNLRTtBMENwM0tGO0VBQ0UsZ0NBQXFDO0VBQUUsTUFBQTtFQUN2QyxtQkFBWTtLQUFaLGdCQUFZLEVBQUE7O0FBTmQ7O0kxQ2c0S0U7QTBDNTNLRjtFQUNFLHNDQUFxQztFQUFFLE1BQUE7RUFDdkMseUJBQVk7S0FBWixzQkFBWSxFQUFBOztBQ25CaEI7OytFM0NxNUsrRTtBMkNqNUsvRTs7RTNDbzVLRTtBMkMvNEtBO0VBQ0UsZ0JBRmtCLEVBQUE7O0FBQ3BCO0VBQ0Usa0JBRjRCLEVBQUE7O0FBQzlCO0VBQ0Usa0JBRnNDLEVBQUE7O0FBQ3hDO0VBQ0UsZUFGNkMsRUFBQTs7QUFDL0M7RUFDRSx3QkFGcUQ7RUFFckQsZ0JBRnFELEVBQUE7O0FDUnpEOzsrRTVDMDZLK0U7QTRDdDZLL0U7O0U1Q3k2S0U7QTRDbDZLSTtFQUNFLG9CcENOWSxFQUFBOztBRG1JaEI7RXFDOUhFO0lBQ0Usb0JwQ05ZLEVBQUEsRW9DT2I7O0FyQzRHSDtFcUM5R0U7SUFDRSxvQnBDTlksRUFBQSxFb0NPYjs7QXJDZ0dIO0VxQ2xHRTtJQUNFLG9CcENOWSxFQUFBLEVvQ09iOztBckM0Rkg7RXFDOUZFO0lBQ0Usb0JwQ05ZLEVBQUEsRW9DT2I7O0FBTVA7O0U1Q2c3S0U7QTRDejZLSTtFckMwQkYsZUN0Q1E7RUR1Q1IsaUJFOUIrQjtFRm1DL0IscUJBQWdELEVBQUE7O0FxQ2hDOUM7RXJDMEJGLGVDckNRO0VEc0NSLGlCRTlCK0I7RUZtQy9CLHNCQUFnRCxFQUFBOztBcUNoQzlDO0VyQzBCRixlQ3BDUTtFRHFDUixpQkU5QitCO0VGbUMvQixzQkFBZ0QsRUFBQTs7QXFDaEM5QztFckMwQkYsZUNuQ1E7RURvQ1IsaUJFOUIrQjtFRm1DL0Isc0JBQWdELEVBQUE7O0FxQ2hDOUM7RXJDMEJGLGVDbENRO0VEbUNSLGVFOUIrQjtFRm1DL0Isa0JBQWdELEVBQUE7O0FxQ2hDOUM7RXJDMEJGLGVDakNRO0VEa0NSLGlCRTlCK0I7RUZtQy9CLHNCQUFnRCxFQUFBOztBcUNoQzlDO0VyQzBCRixlQ2hDTztFRGlDUCxpQkU5QitCO0VGbUMvQixrQkFBZ0QsRUFBQTs7QUErRWhEO0VxQy9HRTtJckMwQkYsZUN0Q1E7SUR1Q1IsaUJFOUIrQjtJRm1DL0IscUJBQWdELEVBQUE7RXFDaEM5QztJckMwQkYsZUNyQ1E7SURzQ1IsaUJFOUIrQjtJRm1DL0Isc0JBQWdELEVBQUE7RXFDaEM5QztJckMwQkYsZUNwQ1E7SURxQ1IsaUJFOUIrQjtJRm1DL0Isc0JBQWdELEVBQUE7RXFDaEM5QztJckMwQkYsZUNuQ1E7SURvQ1IsaUJFOUIrQjtJRm1DL0Isc0JBQWdELEVBQUE7RXFDaEM5QztJckMwQkYsZUNsQ1E7SURtQ1IsZUU5QitCO0lGbUMvQixrQkFBZ0QsRUFBQTtFcUNoQzlDO0lyQzBCRixlQ2pDUTtJRGtDUixpQkU5QitCO0lGbUMvQixzQkFBZ0QsRUFBQTtFcUNoQzlDO0lyQzBCRixlQ2hDTztJRGlDUCxpQkU5QitCO0lGbUMvQixrQkFBZ0QsRUFBQSxFcUM5QjdDOztBckM2Rkg7RXFDL0ZFO0lyQzBCRixlQ3RDUTtJRHVDUixpQkU5QitCO0lGbUMvQixxQkFBZ0QsRUFBQTtFcUNoQzlDO0lyQzBCRixlQ3JDUTtJRHNDUixpQkU5QitCO0lGbUMvQixzQkFBZ0QsRUFBQTtFcUNoQzlDO0lyQzBCRixlQ3BDUTtJRHFDUixpQkU5QitCO0lGbUMvQixzQkFBZ0QsRUFBQTtFcUNoQzlDO0lyQzBCRixlQ25DUTtJRG9DUixpQkU5QitCO0lGbUMvQixzQkFBZ0QsRUFBQTtFcUNoQzlDO0lyQzBCRixlQ2xDUTtJRG1DUixlRTlCK0I7SUZtQy9CLGtCQUFnRCxFQUFBO0VxQ2hDOUM7SXJDMEJGLGVDakNRO0lEa0NSLGlCRTlCK0I7SUZtQy9CLHNCQUFnRCxFQUFBO0VxQ2hDOUM7SXJDMEJGLGVDaENPO0lEaUNQLGlCRTlCK0I7SUZtQy9CLGtCQUFnRCxFQUFBLEVxQzlCN0M7O0FyQ2lGSDtFcUNuRkU7SXJDMEJGLGVDdENRO0lEdUNSLGlCRTlCK0I7SUZtQy9CLHFCQUFnRCxFQUFBO0VxQ2hDOUM7SXJDMEJGLGVDckNRO0lEc0NSLGlCRTlCK0I7SUZtQy9CLHNCQUFnRCxFQUFBO0VxQ2hDOUM7SXJDMEJGLGVDcENRO0lEcUNSLGlCRTlCK0I7SUZtQy9CLHNCQUFnRCxFQUFBO0VxQ2hDOUM7SXJDMEJGLGVDbkNRO0lEb0NSLGlCRTlCK0I7SUZtQy9CLHNCQUFnRCxFQUFBO0VxQ2hDOUM7SXJDMEJGLGVDbENRO0lEbUNSLGVFOUIrQjtJRm1DL0Isa0JBQWdELEVBQUE7RXFDaEM5QztJckMwQkYsZUNqQ1E7SURrQ1IsaUJFOUIrQjtJRm1DL0Isc0JBQWdELEVBQUE7RXFDaEM5QztJckMwQkYsZUNoQ087SURpQ1AsaUJFOUIrQjtJRm1DL0Isa0JBQWdELEVBQUEsRXFDOUI3Qzs7QXJDNkVIO0VxQy9FRTtJckMwQkYsZUN0Q1E7SUR1Q1IsaUJFOUIrQjtJRm1DL0IscUJBQWdELEVBQUE7RXFDaEM5QztJckMwQkYsZUNyQ1E7SURzQ1IsaUJFOUIrQjtJRm1DL0Isc0JBQWdELEVBQUE7RXFDaEM5QztJckMwQkYsZUNwQ1E7SURxQ1IsaUJFOUIrQjtJRm1DL0Isc0JBQWdELEVBQUE7RXFDaEM5QztJckMwQkYsZUNuQ1E7SURvQ1IsaUJFOUIrQjtJRm1DL0Isc0JBQWdELEVBQUE7RXFDaEM5QztJckMwQkYsZUNsQ1E7SURtQ1IsZUU5QitCO0lGbUMvQixrQkFBZ0QsRUFBQTtFcUNoQzlDO0lyQzBCRixlQ2pDUTtJRGtDUixpQkU5QitCO0lGbUMvQixzQkFBZ0QsRUFBQTtFcUNoQzlDO0lyQzBCRixlQ2hDTztJRGlDUCxpQkU5QitCO0lGbUMvQixrQkFBZ0QsRUFBQSxFcUM5QjdDOztBQU1QOztFNUMrakxFO0E0Q3hqTEk7RUFDRSxnQkFGb0IsRUFBQTs7QUFDdEI7RUFDRSxpQkFGMkIsRUFBQTs7QUFDN0I7RUFDRSxrQkFGbUMsRUFBQTs7QXJDaUd2QztFcUNoR0U7SUFDRSxnQkFGb0IsRUFBQTtFQUN0QjtJQUNFLGlCQUYyQixFQUFBO0VBQzdCO0lBQ0Usa0JBRm1DLEVBQUEsRUFHcEM7O0FyQzhFSDtFcUNoRkU7SUFDRSxnQkFGb0IsRUFBQTtFQUN0QjtJQUNFLGlCQUYyQixFQUFBO0VBQzdCO0lBQ0Usa0JBRm1DLEVBQUEsRUFHcEM7O0FyQ2tFSDtFcUNwRUU7SUFDRSxnQkFGb0IsRUFBQTtFQUN0QjtJQUNFLGlCQUYyQixFQUFBO0VBQzdCO0lBQ0Usa0JBRm1DLEVBQUEsRUFHcEM7O0FyQzhESDtFcUNoRUU7SUFDRSxnQkFGb0IsRUFBQTtFQUN0QjtJQUNFLGlCQUYyQixFQUFBO0VBQzdCO0lBQ0Usa0JBRm1DLEVBQUEsRUFHcEM7O0FBTVA7Ozs7RTVDOGxMRTtBNENubExJO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBckM0RWpCO0VxQzdFRTtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUEsRUFDZDs7QXJDMkRIO0VxQzdERTtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUEsRUFDZDs7QXJDK0NIO0VxQ2pERTtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUEsRUFDZDs7QXJDMkNIO0VxQzdDRTtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUE7RUFEZjtJQUNFLGdCQUFhLEVBQUEsRUFDZDs7QUFNUDs7RTVDeXJMRTtBNENsckxJO0VBQ0UsMEJBRjBCLEVBQUE7O0FBQzVCO0VBQ0UseUJBRnFDLEVBQUE7O0FBQ3ZDO0VBQ0UseUJBRmdELEVBQUE7O0FBQ2xEO0VBQ0Usb0JBRnNELEVBQUE7O0FBQ3hEO0VBQ0UsMEJBRmtFLEVBQUE7O0FyQytEdEU7RXFDOURFO0lBQ0UsMEJBRjBCLEVBQUE7RUFDNUI7SUFDRSx5QkFGcUMsRUFBQTtFQUN2QztJQUNFLHlCQUZnRCxFQUFBO0VBQ2xEO0lBQ0Usb0JBRnNELEVBQUE7RUFDeEQ7SUFDRSwwQkFGa0UsRUFBQSxFQUduRTs7QXJDNENIO0VxQzlDRTtJQUNFLDBCQUYwQixFQUFBO0VBQzVCO0lBQ0UseUJBRnFDLEVBQUE7RUFDdkM7SUFDRSx5QkFGZ0QsRUFBQTtFQUNsRDtJQUNFLG9CQUZzRCxFQUFBO0VBQ3hEO0lBQ0UsMEJBRmtFLEVBQUEsRUFHbkU7O0FyQ2dDSDtFcUNsQ0U7SUFDRSwwQkFGMEIsRUFBQTtFQUM1QjtJQUNFLHlCQUZxQyxFQUFBO0VBQ3ZDO0lBQ0UseUJBRmdELEVBQUE7RUFDbEQ7SUFDRSxvQkFGc0QsRUFBQTtFQUN4RDtJQUNFLDBCQUZrRSxFQUFBLEVBR25FOztBckM0Qkg7RXFDOUJFO0lBQ0UsMEJBRjBCLEVBQUE7RUFDNUI7SUFDRSx5QkFGcUMsRUFBQTtFQUN2QztJQUNFLHlCQUZnRCxFQUFBO0VBQ2xEO0lBQ0Usb0JBRnNELEVBQUE7RUFDeEQ7SUFDRSwwQkFGa0UsRUFBQSxFQUduRTs7QUM3RVA7OytFN0MrekwrRTtBNkN4ekw3RTtFQUNFLGtCQUFlLEVBQUE7O0FBRGpCO0VBQ0Usa0JBQWUsRUFBQTs7QUFEakI7RUFDRSxtQkFBZSxFQUFBOztBQURqQjtFQUNFLG1CQUFlLEVBQUE7O0FBRGpCO0VBQ0UsbUJBQWUsRUFBQTs7QUFEakI7RUFDRSxtQkFBZSxFQUFBOztBQURqQjtFQUNFLG1CQUFlLEVBQUE7O0FBRGpCO0VBQ0UsbUJBQWUsRUFBQTs7QUFEakI7RUFDRSxtQkFBZSxFQUFBOztBQURqQjtFQUNFLG1CQUFlLEVBQUE7O0FBRGpCO0VBQ0UsbUJBQWUsRUFBQTs7QUNSbkI7OytFOUNtMkwrRTtBOEMvMUwvRTs7RTlDazJMRTtBOEM3MUxBO0VBQ0UsVUNGSyxFQUFBOztBRENQO0VBQ0UsV0NETSxFQUFBOztBREFSO0VBQ0UsV0NBTSxFQUFBOztBRERSO0VBQ0UsV0NDTSxFQUFBOztBREZSO0VBQ0UsV0NFTSxFQUFBOztBREhSO0VBQ0UsV0NHTSxFQUFBOztBREpSO0VBQ0UsV0NJTSxFQUFBOztBRExSO0VBQ0UsV0NLTSxFQUFBOztBRE5SO0VBQ0UsV0NNTSxFQUFBOztBRFBSO0VBQ0UsV0NPTSxFQUFBOztBRFJSO0VBQ0UsWUNRTyxFQUFBIiwiZmlsZSI6Ik1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi8gfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXIsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2LmRpc2FibGVkLFxuICAub3dsLWNhcm91c2VsIC5vd2wtZG90cy5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtcHJldixcbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3Qge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLW5leHQsXG4gIC5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3Qge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBmb250OiBpbmhlcml0OyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3dsLWNhcm91c2VsLm93bC1oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWdyYWIge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBjdXJzb3I6IGdyYWI7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVtIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1pbiB7XG4gIHotaW5kZXg6IDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLm93bC1jYXJvdXNlbCAuZmFkZU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuLm93bC1oZWlnaHQge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gIC8qKlxuXHRcdFx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdFx0XHRjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcblx0XHQgKi8gfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenk6bm90KFtzcmNdKSB7XG4gICAgbWF4LWhlaWdodDogMDsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcub3dsLWxhenkge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogODBweDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwib3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRuIHtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tZnJhbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQmFzZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFJlbW92ZSBtYXJnaW4gYW5kIHBhZGRpbmcgZnJvbSBldmVyeSBzZWxlY3RvciBpbmNsdWRpbmcgdGhlaXJcclxuICogcHN1ZWRvIHNlbGVjdG9ycy5cclxuICpcclxuICogMS4gTW9yZSBzZW5zaWJsZSBkZWZhdWx0IGJveCBzaXppbmcuXHJcbiAqICAgIChjc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UpLlxyXG4gKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgLyogMSAqLyB9XG5cbi8qKlxyXG4gKiBTZXQgaGVpZ2h0IG9mIHRoZSBkb2N1bWVudCB0byBtYXhpdW0gdmlld3BvcnQgaGVpZ2h0LlxyXG4gKlxyXG4gKiAxLiBTZXQgcm9vdCBmb250IHNpemUgdG8gMTAuXHJcbiAqL1xuaHRtbCB7XG4gIGhlaWdodDogMTAwdmg7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKipcclxuICogU2V0IG1pbmltYWwgaGVpZ2h0IG9mIHRoZSBib2R5IHRvIG1heGltdW0gdmlld3BvcnQgaGVpZ2h0IHRvXHJcbiAqIG1hdGNoIHRoZSBkb2N1bWVudCdzIGhlaWdodC5cclxuICpcclxuICogMS4gRmlyZWZveCAyNSsuXHJcbiAqIDIuIENocm9tZSA1Ky5cclxuICovXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgY29sb3I6ICM2MDYwNjA7XG4gIGZvbnQtZmFtaWx5OiBcIkRvc2lzXCI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogU2VsZWN0aW9uIGNvbG9yLlxyXG4gKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2UxNWMzNztcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi8qKlxyXG4gKiBTZXR0aW5ncyBmb3IgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IHBhZ2VzXHJcbiAqXHJcbiAqIElmIHdlJ3JlIG9uIHRoZSBob21lIHBhZ2UsIHdlIHdhbnQgZGlmZmVyZW50IHZhbHVlcyBiZWNhdXNlIG9mIHRoZSBzbGlkZXIuXHJcbiAqL1xuLmlzLWhvbWUtcGFnZSB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5pcy1ob21lLXBhZ2Uge1xuICAgICAgcGFkZGluZy10b3A6IDE5MHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaXMtaG9tZS1wYWdlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxOTBweCAhaW1wb3J0YW50OyB9IH1cblxuLyoqXHJcbiAqIEZhZGUgaW4gY2xhc3MgKHVzZWQgZm9yIGxvYWRpbmcgYSBwYWdlKS5cclxuICovXG4uYm9keV9fZmFkZS1pbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMTUwMG1zIGVhc2U7XG4gIGJhY2tncm91bmQ6ICMwZjBlMGQ7XG4gIHotaW5kZXg6IDk5OTsgfVxuXG4vKipcclxuICogSG9tZXBhZ2UgbG9hZGVyLiBUaGlzIG9ubHkgYXBwbGllcyB0byB0aGUgaG9tZSBwYWdlLCBoZW5jZSB0aGUgY2xhc3NuYW1lLlxyXG4gKi9cbi5pcy1ob21lLWxvYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMGYwZTBkO1xuICB6LWluZGV4OiA5OTk7IH1cbiAgLmlzLWhvbWUtbG9hZGVyOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBSZWd1bGFyXCI7XG4gICAgY29udGVudDogJ1xcZjMzMic7IH1cbiAgLmlzLWhvbWUtbG9hZGVyIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDUwdmg7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIGFuaW1hdGlvbjogcHVsc2UgMjAwMG1zIGVhc2UgaW5maW5pdGU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUmVzZXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBDdXN0b20gdXNlciBhZ2VudCByZXNldHMgYW5kIG92ZXJyaWRlcyB0aGF0IGFyZSBub3QgcHJlc2VudCBpblxyXG4gKiBOb3JtYWxpemUgOC4wLjAuIFRoaXMgbW9zdGx5IHJlbW92ZXMgc29tZSBhbm5veWluZyBtYXJnaW4gYW5kIHBhZGRpbmdcclxuICogZGVmYXVsdHMsIGJvcmRlciByYWRpdXMsIGFuZCBvdXRsaW5lcy5cclxuICovXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKipcclxuICogMS4gUmVtb3ZlIGJvcmRlciByYWRpdXMgb24gQ2hyb21lIDYyLjArIG9uIG1hY09TLlxyXG4gKi9cbmJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogMSAqL1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbmhyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxyXG4gKiAxLiBSZW1vdmUgd2hpdGUgc3BhY2UuXHJcbiAqL1xuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDEgKi8gfVxuXG4vKipcclxuICogMS4gUmVtb3ZlIGluaGVyaXRlZCB1c2VyIGFnZW50IGFwcGVhcmFuY2UuXHJcbiAqL1xuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIDEuIE9ubHkgYWxsb3cgdmVydGljYWwgcmVzaXppbmcgdG8gcHJldmVudCB0aGUgdGV4dGFyZWFcclxuICogICAgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyLlxyXG4gKi9cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxucCB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcclxuICogMS4gQ29sbGFwc2UgYm9yZGVycyB0byBwcmV2ZW50IGRvdWJsZSBzaWRlZCBib3JkZXJzLlxyXG4gKi9cbnRhYmxlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAvKiAxICovIH1cblxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBCdXR0b25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogRGVmYXVsdCBidXR0b24gc3R5bGluZy5cclxuICovXG4uYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwiRG9zaXNcIjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKipcclxuICogQnV0dG9uIChwcmltYXJ5KS5cclxuICovXG4uYnV0dG9uLS1vcmFuZ2Uge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIHBhZGRpbmc6IDEwcHggNjBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlMTVjMzc7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIGJhY2tncm91bmQ6ICNlMTVjMzc7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggMCAwICNlMGUwZTA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuYnV0dG9uLS1vcmFuZ2Uge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBwYWRkaW5nOiAxMHB4IDQwcHg7XG4gICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuICAuYnV0dG9uLS1vcmFuZ2U6aG92ZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMTVjMzc7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgY29sb3I6ICNlMTVjMzc7IH1cblxuLmJ1dHRvbi0td2hpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICBib3JkZXI6IDNweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiAjZTE1YzM3O1xuICBmb250LXNpemU6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogM3B4IDNweCAwIDAgI2UwZTBlMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmJ1dHRvbi0td2hpdGUge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBwYWRkaW5nOiAxMHB4IDUwcHg7XG4gICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmJ1dHRvbi0td2hpdGUge1xuICAgICAgcGFkZGluZzogMnB4IDQwcHg7XG4gICAgICBmb250LXNpemU6IDEzcHg7IH0gfVxuICAuYnV0dG9uLS13aGl0ZTpob3ZlciB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgd2hpdGU7XG4gICAgYmFja2dyb3VuZDogI2UxNWMzNztcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLmJ1dHRvbi0td2hpdGUtb3JhbmdlYm9yZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMzBweCAwO1xuICBwYWRkaW5nOiAxMHB4IDYwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICBib3JkZXI6IDNweCBzb2xpZCAjZTE1YzM3O1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6ICNlMTVjMzc7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OiAzcHggM3B4IDAgMCAjZTBlMGUwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmJ1dHRvbi0td2hpdGUtb3JhbmdlYm9yZGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgcGFkZGluZzogMTBweCA0MHB4O1xuICAgICAgZm9udC1zaXplOiAxNXB4OyB9IH1cbiAgLmJ1dHRvbi0td2hpdGUtb3JhbmdlYm9yZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTE1YzM3O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4ud2lkdGgtNTAge1xuICB3aWR0aDogNTQlO1xuICBwYWRkaW5nOiAxNXB4IDQwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC53aWR0aC01MCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbnRlbnQgQ29uc3RyYWludFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFRoZSBjb250ZW50IGNvbnN0cmFpbnQgaXMgYSBjb25zdHJhaW50IGZvciBhbGwgdGhlIGNvbnRlbnQgd2l0aGluXHJcbiAqIHRoZSBkb2N1bWVudC4gSXQgY2FuIGJlIG1hbmlwdWxhdGVkIGJ5IENTUyBvciBKYXZhU2NyaXB0IHdpdGhvdXRcclxuICogaW5mbHVlbmNpbmcgdGhlIGJvZHkuXHJcbiAqL1xuLmNvbnRlbnQtY29uc3RyYWludCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIHBhZGRpbmctdG9wOiAxOTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmNvbnRlbnQtY29uc3RyYWludCB7XG4gICAgICBwYWRkaW5nLXRvcDogMjcwcHg7IH0gfVxuXG4vKiFcclxuICogRGF0ZXBpY2tlciB2MS4wLjhcclxuICogaHR0cHM6Ly9mZW5neXVhbmNoZW4uZ2l0aHViLmlvL2RhdGVwaWNrZXJcclxuICpcclxuICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBDaGVuIEZlbmd5dWFuXHJcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxyXG4gKlxyXG4gKiBEYXRlOiAyMDE5LTA2LTIzVDA4OjA3OjM3LjIwOFpcclxuICovXG4uZGF0ZXBpY2tlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDIxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB6LWluZGV4OiAtMTtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5kYXRlcGlja2VyLWNvbnRhaW5lcjo6YmVmb3JlLFxuLmRhdGVwaWNrZXItY29udGFpbmVyOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb250ZW50OiAnICc7IH1cblxuLmRhdGVwaWNrZXItZHJvcGRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCAjY2NjO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDZweCAjY2NjO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uZGF0ZXBpY2tlci1pbmxpbmUge1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5kYXRlcGlja2VyLXRvcC1sZWZ0LFxuLmRhdGVwaWNrZXItdG9wLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2UxNWMzNzsgfVxuXG4uZGF0ZXBpY2tlci10b3AtbGVmdDo6YmVmb3JlLFxuLmRhdGVwaWNrZXItdG9wLWxlZnQ6OmFmdGVyLFxuLmRhdGVwaWNrZXItdG9wLXJpZ2h0OjpiZWZvcmUsXG4uZGF0ZXBpY2tlci10b3AtcmlnaHQ6OmFmdGVyIHtcbiAgdG9wOiAtNXB4O1xuICBsZWZ0OiAxMHB4O1xuICBib3JkZXItdG9wOiAwOyB9XG5cbi5kYXRlcGlja2VyLXRvcC1sZWZ0OjpiZWZvcmUsXG4uZGF0ZXBpY2tlci10b3AtcmlnaHQ6OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNlMTVjMzc7IH1cblxuLmRhdGVwaWNrZXItdG9wLWxlZnQ6OmFmdGVyLFxuLmRhdGVwaWNrZXItdG9wLXJpZ2h0OjphZnRlciB7XG4gIHRvcDogLTRweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsgfVxuXG4uZGF0ZXBpY2tlci1ib3R0b20tbGVmdCxcbi5kYXRlcGlja2VyLWJvdHRvbS1yaWdodCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMzOWY7IH1cblxuLmRhdGVwaWNrZXItYm90dG9tLWxlZnQ6OmJlZm9yZSxcbi5kYXRlcGlja2VyLWJvdHRvbS1sZWZ0OjphZnRlcixcbi5kYXRlcGlja2VyLWJvdHRvbS1yaWdodDo6YmVmb3JlLFxuLmRhdGVwaWNrZXItYm90dG9tLXJpZ2h0OjphZnRlciB7XG4gIGJvdHRvbTogLTVweDtcbiAgbGVmdDogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uZGF0ZXBpY2tlci1ib3R0b20tbGVmdDo6YmVmb3JlLFxuLmRhdGVwaWNrZXItYm90dG9tLXJpZ2h0OjpiZWZvcmUge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMzlmOyB9XG5cbi5kYXRlcGlja2VyLWJvdHRvbS1sZWZ0OjphZnRlcixcbi5kYXRlcGlja2VyLWJvdHRvbS1yaWdodDo6YWZ0ZXIge1xuICBib3R0b206IC00cHg7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7IH1cblxuLmRhdGVwaWNrZXItdG9wLXJpZ2h0OjpiZWZvcmUsXG4uZGF0ZXBpY2tlci10b3AtcmlnaHQ6OmFmdGVyLFxuLmRhdGVwaWNrZXItYm90dG9tLXJpZ2h0OjpiZWZvcmUsXG4uZGF0ZXBpY2tlci1ib3R0b20tcmlnaHQ6OmFmdGVyIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCB7XG4gIHdpZHRoOiAxMDIlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bDo6YmVmb3JlLFxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnOyB9XG5cbi5kYXRlcGlja2VyLXBhbmVsID4gdWw6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmbG9hdDogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZjJmZjsgfVxuXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGkubXV0ZWQsXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGkubXV0ZWQ6aG92ZXIge1xuICBjb2xvcjogIzk5OTsgfVxuXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGkuaGlnaGxpZ2h0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVmMmZmOyB9XG5cbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaS5oaWdobGlnaHRlZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2U1ZmY7IH1cblxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpLnBpY2tlZCxcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaS5waWNrZWQ6aG92ZXIge1xuICBjb2xvcjogIzM5ZjsgfVxuXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGkuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGkuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogI2NjYztcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaS5kaXNhYmxlZC5oaWdobGlnaHRlZCxcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaS5kaXNhYmxlZDpob3Zlci5oaWdobGlnaHRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWYyZmY7IH1cblxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpW2RhdGEtdmlldz0neWVhcnMgcHJldiddLFxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpW2RhdGEtdmlldz0neWVhciBwcmV2J10sXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGlbZGF0YS12aWV3PSdtb250aCBwcmV2J10sXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGlbZGF0YS12aWV3PSd5ZWFycyBuZXh0J10sXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGlbZGF0YS12aWV3PSd5ZWFyIG5leHQnXSxcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaVtkYXRhLXZpZXc9J21vbnRoIG5leHQnXSxcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaVtkYXRhLXZpZXc9J25leHQnXSB7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGlbZGF0YS12aWV3PSd5ZWFycyBjdXJyZW50J10sXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGlbZGF0YS12aWV3PSd5ZWFyIGN1cnJlbnQnXSxcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaVtkYXRhLXZpZXc9J21vbnRoIGN1cnJlbnQnXSB7XG4gIHdpZHRoOiAxNTBweDsgfVxuXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsW2RhdGEtdmlldz0neWVhcnMnXSA+IGxpLFxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bFtkYXRhLXZpZXc9J21vbnRocyddID4gbGkge1xuICB3aWR0aDogNTIuNXB4O1xuICBoZWlnaHQ6IDUyLjVweDtcbiAgbGluZS1oZWlnaHQ6IDUyLjVweDsgfVxuXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsW2RhdGEtdmlldz0nd2VlayddID4gbGksXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsW2RhdGEtdmlldz0nd2VlayddID4gbGk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmRhdGVwaWNrZXItaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSGVhZGluZ1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEgxLlxyXG4gKi9cbi50ZXh0LWgxIHtcbiAgY29sb3I6ICNlMTVjMzc7XG4gIGZvbnQtc2l6ZTogMzBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBGbGV4XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogRXhhbXBsZSBvZiBhIGZsZXggYmFzZWQgY29sdW1uIGdyaWQgbGF5b3V0IGluIHByYWN0aWNlOlxyXG4gKlxyXG4gKiA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiA8L2Rpdj5cclxuICpcclxuICogVGhpcyBleGFtcGxlIHdpbGwgY3JlYXRlIGEgcm93IHdpdGggdHdvIGNvbHVtbnMgZWFjaCBmaWxsaW5nIGhhbGYgdGhlIHdpZHRoXHJcbiAqIG9mIHRoZSByb3cgb24gYWxsIG1lZGlhLCBidXQgd2lsbCBjb252ZXJ0IHRvIGEgZnVsbCB3aWR0aCBjb2x1bW4gb24gdGhlXHJcbiAqIHNtYWxsIGAtc21gIGJyZWFrcG9pbnQgYWxpYXMsIHdoaWNoIGlzIG1vYmlsZSBvbmx5LiBSZWZlciB0b1xyXG4gKiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgIGZvciBhbGwgYnJlYWtwb2ludCBhbGlhcy5cclxuICovXG4vKipcclxuICogRmxleCBvYmplY3QuXHJcbiAqXHJcbiAqIFRpcDogVXNlIGZsZXggb24gYSBjb2x1bW4gdG8gbWFrZSB0aGUgYm94IHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgY29sdW1uLlxyXG4gKi9cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4vKipcclxuICogRmxleCBvYmplY3Qgd2l0aCBhIGNvbHVtbiBiYXNlZCBsYXlvdXQgc3lzdGVtLlxyXG4gKi9cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luOiAwIC0xMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gKiBCb3gsIHRoZSBpbnNpZGUgb2YgYSBjb2x1bW4uXHJcbiAqL1xuLmJveCB7XG4gIGZsZXg6IDE7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy0yIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtMyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTQge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy01IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA0MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtNiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTcge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy04IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtOSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNzUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy0xMCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogODMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTExIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA5MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtMTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24teHMtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhzLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LXN0YXJ0YCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhzLWZsZXgtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhzLWZsZXgtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24teHMtYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHN0YXJ0YCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnkteHMtc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14cy1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhzLXNwYWNlLWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWFyb3VuZGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhzLXNwYWNlLWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14cy1zcGFjZS1ldmVubHkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgZmxleC1lbmRgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14cy1mbGV4LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLyoqXHJcbiAgICAgICAqIEJsZWVkIGxlZnQgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5ibGVlZC14cy1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qKlxyXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmJsZWVkLXhzLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKipcclxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICovXG4uZmlyc3QteHMge1xuICBvcmRlcjogLTE7IH1cblxuLyoqXHJcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICovXG4ubGFzdC14cyB7XG4gIG9yZGVyOiAxOyB9XG5cbi8qKlxyXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAqL1xuLnJldmVyc2UteHMge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAvKipcclxuICAgICAgICogQ29sdW1uIDEgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXNtLTEge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtc20tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMiBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtc20tMiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDIgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtc20tMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDMgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXNtLTMge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAyNSU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAzIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXNtLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA0IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1zbS00IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgNCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1zbS00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gNSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtc20tNSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDUgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtc20tNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDYgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXNtLTYge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA2IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXNtLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA3IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1zbS03IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgNyBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1zbS03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gOCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtc20tOCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDggZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtc20tOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDkgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXNtLTkge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA5IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXNtLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtc20tMTAge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxMCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1zbS0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDExIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1zbS0xMSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDExIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXNtLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTIgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXNtLTEyIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAqIEFsaWduIGBzdHJldGNoYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24tc20tc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLyoqXHJcbiAgICAgICAqIEFsaWduIGBjZW50ZXJgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi1zbS1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LXN0YXJ0YCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24tc20tZmxleC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LWVuZGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLXNtLWZsZXgtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLyoqXHJcbiAgICAgICAqIEFsaWduIGBiYXNlbGluZWAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLXNtLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHN0YXJ0YCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS1zbS1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgY2VudGVyYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS1zbS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1iZXR3ZWVuYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS1zbS1zcGFjZS1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWFyb3VuZGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnktc20tc3BhY2UtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtZXZlbmx5YCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS1zbS1zcGFjZS1ldmVubHkge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBmbGV4LWVuZGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnktc20tZmxleC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLyoqXHJcbiAgICAgICAqIEJsZWVkIGxlZnQgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmJsZWVkLXNtLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAvKipcclxuICAgICAgICogQmxlZWQgcmlnaHQgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmJsZWVkLXNtLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC8qKlxyXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbiAgLmZpcnN0LXNtIHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLyoqXHJcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICovXG4gIC5sYXN0LXNtIHtcbiAgICBvcmRlcjogMTsgfVxuICAvKipcclxuICAgICAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbiAgLnJldmVyc2Utc20ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1tZC0xIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LW1kLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLW1kLTIge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAyIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LW1kLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1tZC0zIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMyBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1tZC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbWQtNCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDQgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbWQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLW1kLTUge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA1IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LW1kLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1tZC02IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgNiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1tZC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbWQtNyB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDcgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbWQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLW1kLTgge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA4IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LW1kLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1tZC05IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgOSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1tZC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLW1kLTEwIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMTAgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbWQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbWQtMTEge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxMSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1tZC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1tZC0xMiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgc3RyZXRjaGAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLW1kLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24tbWQtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLW1kLWZsZXgtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1lbmRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi1tZC1mbGV4LWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi1tZC1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnktbWQtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYGNlbnRlcmAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnktbWQtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnktbWQtc3BhY2UtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LW1kLXNwYWNlLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWV2ZW5seWAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnktbWQtc3BhY2UtZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgZmxleC1lbmRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LW1kLWZsZXgtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC8qKlxyXG4gICAgICAgKiBCbGVlZCBsZWZ0IGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5ibGVlZC1tZC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLyoqXHJcbiAgICAgICAqIEJsZWVkIHJpZ2h0IGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5ibGVlZC1tZC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAvKipcclxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICovXG4gIC5maXJzdC1tZCB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC8qKlxyXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAqL1xuICAubGFzdC1tZCB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLyoqXHJcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICovXG4gIC5yZXZlcnNlLW1kIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbGctMSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1sZy0yIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1sZy0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbGctMyB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLWxnLTQge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1sZy01IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1sZy01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbGctNiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbGctNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLWxnLTcge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LWxnLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1sZy04IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1sZy04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbGctOSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDc1JTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbGctOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1sZy0xMCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LWxnLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLWxnLTExIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbGctMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbGctMTIge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi1sZy1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLWxnLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtc3RhcnRgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi1sZy1mbGV4LXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24tbGctZmxleC1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24tbGctYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgc3RhcnRgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LWxnLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LWxnLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LWxnLXNwYWNlLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYXJvdW5kYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS1sZy1zcGFjZS1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LWxnLXNwYWNlLWV2ZW5seSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYGZsZXgtZW5kYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS1sZy1mbGV4LWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAvKipcclxuICAgICAgICogQmxlZWQgbGVmdCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYmxlZWQtbGctbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC8qKlxyXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYmxlZWQtbGctcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLyoqXHJcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAqL1xuICAuZmlyc3QtbGcge1xuICAgIG9yZGVyOiAtMTsgfVxuICAvKipcclxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbiAgLmxhc3QtbGcge1xuICAgIG9yZGVyOiAxOyB9XG4gIC8qKlxyXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAqL1xuICAucmV2ZXJzZS1sZyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC14bC0xIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXhsLTIge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAyIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXhsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC14bC0zIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMyBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC14bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wteGwtNCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDQgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQteGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXhsLTUge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA1IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXhsLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC14bC02IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgNiBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC14bC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wteGwtNyB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDcgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQteGwtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXhsLTgge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA4IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXhsLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC14bC05IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgOSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC14bC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXhsLTEwIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMTAgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQteGwtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wteGwtMTEge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxMSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC14bC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC14bC0xMiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgc3RyZXRjaGAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLXhsLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24teGwtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLXhsLWZsZXgtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1lbmRgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi14bC1mbGV4LWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi14bC1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnkteGwtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYGNlbnRlcmAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnkteGwtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnkteGwtc3BhY2UtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LXhsLXNwYWNlLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWV2ZW5seWAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnkteGwtc3BhY2UtZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgZmxleC1lbmRgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LXhsLWZsZXgtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC8qKlxyXG4gICAgICAgKiBCbGVlZCBsZWZ0IGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5ibGVlZC14bC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLyoqXHJcbiAgICAgICAqIEJsZWVkIHJpZ2h0IGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5ibGVlZC14bC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAvKipcclxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICovXG4gIC5maXJzdC14bCB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC8qKlxyXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAqL1xuICAubGFzdC14bCB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLyoqXHJcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICovXG4gIC5yZXZlcnNlLXhsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBXcmFwcGVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogVGhlIHdyYXBwZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXHJcbiAqL1xuLndyYXBwZXIge1xuICBtYXgtd2lkdGg6IGNhbGMoMTA4MHB4ICsgNDBweCk7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi53cmFwcGVyLWxnIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEyMDBweCArIDQwcHgpO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLndyYXBwZXItc20ge1xuICBtYXgtd2lkdGg6IGNhbGMoNzEwcHggKyA0MHB4KTtcbiAgcGFkZGluZzogMCAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNlbGVjdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEdsb2JhbCBDU1Mgc3R5bGluZy5cclxuICogQWRkIGNsYXNzICdqcy1zZWxlY3QnIG9uIHRoZSB3cmFwcGVyIGRpdiBhbmQgaXQgc2hvdWxkIHdvcmsuXHJcbiAqL1xuLnNlbGVjdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWxlY3Qtd3JhcHBlciA+IHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNXB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcztcbiAgICBjb2xvcjogIzA2YTY4YTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2VsZWN0LXdyYXBwZXIuaXMtYWN0aXZlID4gc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAuc2VsZWN0LXdyYXBwZXIgLmFjdGl2aXR5LXRpbWUge1xuICAgIHRvcDogNDJweCAhaW1wb3J0YW50OyB9XG5cbi5zaW5nbGUtb3B0aW9uIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnNpbmdsZS1vcHRpb24gc3ZnIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5vcHRpb24tc2VsZWN0ZWQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xMTExMWVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTgwbXM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGNvbG9yOiAjNjA2MDYwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vcHRpb24tc2VsZWN0ZWQ6bm90KC5pcy1kaXNhYmxlZCkge1xuICAgIGJveC1zaGFkb3c6IDNweCAzcHggMXB4IDAgI2UwZTBlMDsgfVxuICAub3B0aW9uLXNlbGVjdGVkICsgLnNlbGVjdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogIzYwNjA2MDtcbiAgICBib3gtc2hhZG93OiAzcHggM3B4IDFweCAwICNlMGUwZTA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgei1pbmRleDogOTsgfVxuICAgIC5vcHRpb24tc2VsZWN0ZWQgKyAuc2VsZWN0ID4gZGl2IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTExMTFlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMTNweCAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcztcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgLm9wdGlvbi1zZWxlY3RlZCArIC5zZWxlY3QgPiBkaXY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XG4gICAgLm9wdGlvbi1zZWxlY3RlZCArIC5zZWxlY3QgPiBkaXY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMGUwZTA7IH1cbiAgICAub3B0aW9uLXNlbGVjdGVkICsgLnNlbGVjdC5hY3Rpdml0eS1saXN0IHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAgIC5vcHRpb24tc2VsZWN0ZWQgKyAuc2VsZWN0LmFjdGl2aXR5LWxpc3QgLm9wdGlvbjpudGgtY2hpbGQoMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vcHRpb24tc2VsZWN0ZWQuaXMtYWN0aXZlICsgLnNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm9wdGlvbi1zZWxlY3RlZCBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICAgIGNvbG9yOiAjNjA2MDYwOyB9XG4gICAgLm9wdGlvbi1zZWxlY3RlZCBzdmcuaXMtYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVGl0bGVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29udGFpbmVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmc6IDUwcHggMzVweDsgfVxuXG4vKiFcclxuICogUGlrYWRheVxyXG4gKiBDb3B5cmlnaHQgwqkgMjAxNCBEYXZpZCBCdXNoZWxsIHwgQlNEICYgTUlUIGxpY2Vuc2UgfCBodHRwczovL2RidXNoZWxsLmNvbS9cclxuICovXG4ucGlrYS1zaW5nbGUge1xuICB6LWluZGV4OiA5OTk5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2JiYjtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAucGlrYS1zaW5nbGUuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5waWthLXNpbmdsZS5pcy1ib3VuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLnBpa2Etc2luZ2xlOmJlZm9yZSwgLnBpa2Etc2luZ2xlOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5waWthLXNpbmdsZTphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5waWthLWxlbmRhciB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjQwcHg7XG4gIG1hcmdpbjogOHB4OyB9XG5cbi5waWthLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBpa2EtdGl0bGUgc2VsZWN0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDk5OTg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA1cHg7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4ucGlrYS1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk5O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDVweCAzcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4ucGlrYS1wcmV2LFxuLnBpa2EtbmV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB0ZXh0LWluZGVudDogMjBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNzUlIDc1JTtcbiAgb3BhY2l0eTogLjU7IH1cbiAgLnBpa2EtcHJldjpob3ZlcixcbiAgLnBpa2EtbmV4dDpob3ZlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAucGlrYS1wcmV2LmlzLWRpc2FibGVkLFxuICAucGlrYS1uZXh0LmlzLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogLjI7IH1cblxuLnBpa2EtcHJldixcbi5pcy1ydGwgLnBpa2EtbmV4dCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJRQUFBQWVDQVlBQUFBc0VqNXJBQUFBVWtsRVFWUjQydTNWTVFvQUlCQURRZjhQZ2orT0Q5aEcyQ3RPTkpCMnltUWtLZTBIYndBUDB4dWNEaVFXQVJJVElERUJFbk1nTVE4UzgrQXFCSWw2a0tnSGlYcVFxQWVKZXBCby96MzhKL1UwdUFIbGFCa0JsOUk0R3dBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH1cblxuLnBpa2EtbmV4dCxcbi5pcy1ydGwgLnBpa2EtcHJldiB7XG4gIGZsb2F0OiByaWdodDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFlQ0FZQUFBQXNFajVyQUFBQVUwbEVRVlI0MnUzVk93b0FNQWdFMGR3ZkFuTmpVMjZiWWtCQ0ZHd2ZpTDlWVldvTytCSjRHZjNndHNFS0tvRkJOVENvQ0FZVndhQWlHTlFHTVVITWtqR2JnamsybUlPTnVYbzBuQzhYbkNmMUpYZ0FyVklaQVFoNVRLWUFBQUFBU1VWT1JLNUNZSUk9XCIpOyB9XG5cbi5waWthLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucGlrYS10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgYm9yZGVyOiAwOyB9XG4gIC5waWthLXRhYmxlIHRoLFxuICAucGlrYS10YWJsZSB0ZCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTcxNDI4NiU7XG4gICAgcGFkZGluZzogMDsgfVxuICAucGlrYS10YWJsZSB0aCB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGlrYS10YWJsZSBhYmJyIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGN1cnNvcjogaGVscDsgfVxuXG4ucGlrYS1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNXB4O1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTVweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIGhlaWdodDogaW5pdGlhbDsgfVxuICAuaGFzLWV2ZW50IC5waWthLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogIzMzYWFmZjsgfVxuICAuaXMtdG9kYXkgLnBpa2EtYnV0dG9uIHtcbiAgICBjb2xvcjogIzMzYWFmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuaXMtc2VsZWN0ZWQgLnBpa2EtYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBiYWNrZ3JvdW5kOiAjMzNhYWZmO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCAjMTc4ZmU1O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAuaXMtZGlzYWJsZWQgLnBpa2EtYnV0dG9uLFxuICAuaXMtb3V0c2lkZS1jdXJyZW50LW1vbnRoIC5waWthLWJ1dHRvbiB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgb3BhY2l0eTogLjM7IH1cbiAgLmlzLWRpc2FibGVkIC5waWthLWJ1dHRvbiB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5waWthLWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogI2ZmODAwMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAucGlrYS1idXR0b24gLmlzLXNlbGVjdGlvbi1kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5waWthLXdlZWsge1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi5pcy1pbnJhbmdlIC5waWthLWJ1dHRvbiB7XG4gIGNvbG9yOiAjNjY2O1xuICBiYWNrZ3JvdW5kOiAjRDVFOUY3OyB9XG5cbi5pcy1zdGFydHJhbmdlIC5waWthLWJ1dHRvbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjNkNCMzFEO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLmlzLWVuZHJhbmdlIC5waWthLWJ1dHRvbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjMzNhYWZmO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQWN0aXZpdHkgZm9ybVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmFjdGl2aXR5LWZvcm0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKipcclxuICogVGl0bGUuXHJcbiAqL1xuLmFjdGl2aXR5LWZvcm1fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyM3B4O1xuICBmb250LXNpemU6IDIuM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjYwODdlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjdweDsgfVxuXG4vKipcclxuICogRGVzY3JpcHRpb24uXHJcbiAqL1xuLmFjdGl2aXR5LWZvcm1fX2Rlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTExMTFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gIGNvbG9yOiAjNjA2MDYwOyB9XG5cbi8qKlxyXG4gKiBTZWxlY3Rib3hlcy5cclxuICovXG4uZm9ybV9fY2hlY2tib3g6Y2hlY2tlZCArIC5hY3Rpdml0eS1mb3JtX19jaGVja2JveC1sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDZhNjhhOyB9XG5cbi5mb3JtX19jaGVja2JveDpjaGVja2VkICsgLmFjdGl2aXR5LWZvcm1fX2NoZWNrYm94LWxhYmVsID4gc3ZnIHtcbiAgbGVmdDogLTJweDsgfVxuXG4uYWN0aXZpdHktZm9ybV9fY2hlY2tib3gtbGFiZWwgPiBzdmcge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogIzA2YTY4YTsgfVxuXG4vKipcclxuICogQXR0ZW5kZWVzLlxyXG4gKi9cbi5mb3JtX19pbnB1dC13cmFwcGVyLS1hdHRlbmRlZXMge1xuICBtYXgtd2lkdGg6IDE0MHB4OyB9XG5cbi8qKlxyXG4gKiBDcmVhdGUgYnV0dG9uLlxyXG4gKi9cbi5hY3Rpdml0eS1jcmVhdGVfX2J1dHRvbiB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5hY3Rpdml0eS1jcmVhdGVfX2J1dHRvbi5wcmV2ZW50LWRvdWJsZS1jbGljayB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBBY3Rpdml0eSBsaXN0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogTWFpbiBlbGVtZW50IChhY3Rpdml0eS1saXN0KS5cclxuICovXG4uYWN0aXZpdHktbGlzdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5hY3Rpdml0eS1saXN0IC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogOTAwcHg7IH1cblxuLyoqXHJcbiAqIEJyZWFkY3J1bWJzLlxyXG4gKi9cbi5hY3Rpdml0eS1saXN0X19icmVhZGNydW1icyAuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgZm9udC1zaXplOiAyLjNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI2MDg3ZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBjb2xvcjogIzdlNmVhNjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYWN0aXZpdHktbGlzdF9fYnJlYWRjcnVtYnMgLmJyZWFkY3J1bWIgYSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIC5hY3Rpdml0eS1saXN0X19icmVhZGNydW1icyAuYnJlYWRjcnVtYiBhIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuLyoqXHJcbiAqIExpc3QgaGVhZGVyLlxyXG4gKi9cbi5hY3Rpdml0eS1saXN0LWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjExMTExZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgcGFkZGluZzogMXB4IDIwcHggNXB4O1xuICBjb2xvcjogIzYwNjA2MDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmFjdGl2aXR5LWxpc3QtaGVhZGVyIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuYWN0aXZpdHktbGlzdC1oZWFkZXIgPiBkaXYge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAuYWN0aXZpdHktbGlzdC1oZWFkZXIgPiBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgICB3aWR0aDogY2FsYygxNSUgLSAxMHB4KTsgfVxuICAuYWN0aXZpdHktbGlzdC1oZWFkZXIgPiBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxMHB4KTsgfVxuICAuYWN0aXZpdHktbGlzdC1oZWFkZXIgPiBkaXY6bnRoLWNoaWxkKDMpIHtcbiAgICB3aWR0aDogY2FsYygzMCUgLSAxMHB4KTsgfVxuICAuYWN0aXZpdHktbGlzdC1oZWFkZXIgPiBkaXY6bnRoLWNoaWxkKDQpIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxMHB4KTsgfVxuICAuYWN0aXZpdHktbGlzdC1oZWFkZXIgPiBkaXY6bnRoLWNoaWxkKDUpIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEwcHgpOyB9XG5cbi8qKlxyXG4gKiBMaXN0IGl0ZW0uXHJcbiAqL1xuLmFjdGl2aXR5LWxpc3Qtb3JnYW5pc2F0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5hY3Rpdml0eS1saXN0LW9yZ2FuaXNhdGlvbiB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAuYWN0aXZpdHktbGlzdC1vcmdhbmlzYXRpb246bnRoLWNoaWxkKDEpIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuYWN0aXZpdHktbGlzdC1vcmdhbmlzYXRpb24gPiBkaXYge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAuYWN0aXZpdHktbGlzdC1vcmdhbmlzYXRpb24gPiBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgICB3aWR0aDogY2FsYygxNSUgLSAxMHB4KTsgfVxuICAuYWN0aXZpdHktbGlzdC1vcmdhbmlzYXRpb24gPiBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxMHB4KTsgfVxuICAuYWN0aXZpdHktbGlzdC1vcmdhbmlzYXRpb24gPiBkaXY6bnRoLWNoaWxkKDMpIHtcbiAgICB3aWR0aDogY2FsYygzMCUgLSAxMHB4KTsgfVxuICAuYWN0aXZpdHktbGlzdC1vcmdhbmlzYXRpb24gPiBkaXY6bnRoLWNoaWxkKDQpIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxMHB4KTsgfVxuICAuYWN0aXZpdHktbGlzdC1vcmdhbmlzYXRpb24gPiBkaXY6bnRoLWNoaWxkKDUpIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEwcHgpOyB9XG4gIC5hY3Rpdml0eS1saXN0LW9yZ2FuaXNhdGlvbi5leHBpcmVkIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZXNtb2tlOyB9XG5cbi8qKlxyXG4gKlNpbmdsZSBidXR0b25zLlxyXG4gKi9cbi5hY3Rpdml0eS1saXN0X19jYW5jZWwsXG4uYWN0aXZpdHktbGlzdF9fcmVzY2hlZHVsZSB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBlYXNlO1xuICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cbiAgLmFjdGl2aXR5LWxpc3RfX2NhbmNlbCAuaW5saW5lLWljb24sXG4gIC5hY3Rpdml0eS1saXN0X19jYW5jZWwgYSAuaW5saW5lLWljb24sXG4gIC5hY3Rpdml0eS1saXN0X19yZXNjaGVkdWxlIC5pbmxpbmUtaWNvbixcbiAgLmFjdGl2aXR5LWxpc3RfX3Jlc2NoZWR1bGUgYSAuaW5saW5lLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAuYWN0aXZpdHktbGlzdF9fY2FuY2VsOmhvdmVyLFxuICAuYWN0aXZpdHktbGlzdF9fcmVzY2hlZHVsZTpob3ZlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4vKipcclxuICpQb3B1cCB0aXRsZS5cclxuICovXG4uYWN0aXZpdHktbGlzdC1yZXNjaGVkdWxlLXBvcHVwX190aXRsZSxcbi5hY3Rpdml0eS1saXN0LWNhbmNlbC1wb3B1cF9fdGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xMTExMWVtO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5hY3Rpdml0eS1saXN0LXJlc2NoZWR1bGUtcG9wdXBfX3RpdGxlIHN2ZyxcbiAgLmFjdGl2aXR5LWxpc3QtY2FuY2VsLXBvcHVwX190aXRsZSBzdmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cblxuLyoqXHJcbiAqUG9wdXAgY29udGVudC5cclxuICovXG4uYWN0aXZpdHktbGlzdC1jYW5jZWwtcG9wdXBfX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4vKipcclxuICpQb3B1cCBzdWJtaXQuXHJcbiAqL1xuLmFjdGl2aXR5LWxpc3QtY2FuY2VsLXBvcHVwX19zdWJtaXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMzBweCAwIDA7XG4gIGZvbnQtZmFtaWx5OiBcIkRvc2lzXCI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmFjdGl2aXR5LWxpc3QtY2FuY2VsLXBvcHVwX19zdWJtaXQgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkRvc2lzXCI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5hY3Rpdml0eS1saXN0LWNhbmNlbC1wb3B1cF9fc3VibWl0OmhvdmVyIHtcbiAgICBjb2xvcjogI2UxNWMzNzsgfVxuICAgIC5hY3Rpdml0eS1saXN0LWNhbmNlbC1wb3B1cF9fc3VibWl0OmhvdmVyIGJ1dHRvbiB7XG4gICAgICBjb2xvcjogI2UxNWMzNzsgfVxuXG4uZm9ybV9fcmFkaW8tYnV0dG9ucyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmFjdGl2aXR5LWxpc3QtcmVzY2hlZHVsZS1wb3B1cF9fZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIC5hY3Rpdml0eS1saXN0LXJlc2NoZWR1bGUtcG9wdXBfX2Zvcm0gLmZvcm0taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmFjdGl2aXR5LWxpc3QtcmVzY2hlZHVsZS1wb3B1cF9fZm9ybSAuZm9ybS1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAgIC5hY3Rpdml0eS1saXN0LXJlc2NoZWR1bGUtcG9wdXBfX2Zvcm0gLmZvcm0taXRlbS53aWR0aC0xMDAge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYWN0aXZpdHktbGlzdC1yZXNjaGVkdWxlLXBvcHVwX19mb3JtIC5mb3JtLWl0ZW0gLmZvcm1fX2xhYmVsIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmFjdGl2aXR5LWxpc3QtcmVzY2hlZHVsZS1wb3B1cF9fZm9ybSAuZm9ybS1pdGVtIC5pbmxpbmUtaWNvbi1kb3duIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNDJweDtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGNvbG9yOiAjNjA2MDYwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIC5hY3Rpdml0eS1saXN0LXJlc2NoZWR1bGUtcG9wdXBfX2Zvcm0gLmZvcm0taXRlbSAuaW5saW5lLWljb24tZG93bjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgLmFjdGl2aXR5LWxpc3QtcmVzY2hlZHVsZS1wb3B1cF9fZm9ybSAuZm9ybS1pdGVtOm50aC1jaGlsZCg0KSAuZm9ybV9faW5wdXQge1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICAuYWN0aXZpdHktbGlzdC1yZXNjaGVkdWxlLXBvcHVwX19mb3JtIC5mb3JtX19jaGVja2JveC1sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgLmFjdGl2aXR5LWxpc3QtcmVzY2hlZHVsZS1wb3B1cF9fZm9ybSAuZm9ybV9fY2hlY2tib3gtbGFiZWwgc3ZnIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDFweDtcbiAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgY29sb3I6ICMwNmE2OGE7IH1cbiAgICAuYWN0aXZpdHktbGlzdC1yZXNjaGVkdWxlLXBvcHVwX19mb3JtIC5mb3JtX19jaGVja2JveC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7IH1cbiAgLmFjdGl2aXR5LWxpc3QtcmVzY2hlZHVsZS1wb3B1cF9fZm9ybSBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDZhNjhhOyB9XG4gIC5hY3Rpdml0eS1saXN0LXJlc2NoZWR1bGUtcG9wdXBfX2Zvcm0gLmZvcm1fX3JlcGVhdC1yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTA1JTsgfVxuICAuYWN0aXZpdHktbGlzdC1yZXNjaGVkdWxlLXBvcHVwX19mb3JtIC5qcy10b2dnbGUtc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hY3Rpdml0eS1saXN0LXJlc2NoZWR1bGUtcG9wdXBfX2Zvcm0gLmZvcm1fX3JlcGVhdGVyLWRlbGV0ZS1idXR0b24ge1xuICAgIGxlZnQ6IC0yNXB4OyB9XG4gIC5hY3Rpdml0eS1saXN0LXJlc2NoZWR1bGUtcG9wdXBfX2Zvcm0gLmZvcm1fX3N1Ym1pdCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFjdGl2aXR5LWxpc3QtcmVzY2hlZHVsZS1wb3B1cF9fZm9ybSAuZm9ybV9fc3VibWl0IGJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxN3B4OyB9XG5cbi5yZXNjaGVkdWxlLWFjdGl2aXR5LXByaWNlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMzVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAucmVzY2hlZHVsZS1hY3Rpdml0eS1wcmljZTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMjI1cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2UwZTBlMDtcbiAgICBjb250ZW50OiAnJzsgfVxuXG4ucmVzY2hlZHVsZS1hY3Rpdml0eS1wcmljZV9fdG90YWwge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xMTExMWVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnJlc2NoZWR1bGUtYWN0aXZpdHktcHJpY2VfX3ByaWNlIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXNpemU6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI2NjY3ZW07XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzA2YTY4YTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgY2FsZW5kYXIuXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2FsZW5kYXItcG9wdXBfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTExMTFlbTtcbiAgY29sb3I6ICM2MDYwNjA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLyoqXHJcbiAqIGNhbGVuZGFyLlxyXG4gKi9cbi5jYWxlbmRhci1wb3B1cF9fY2FsZW5kYXIge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xMTExMWVtO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi8qKlxyXG4gKiBEZXNjcmlwdGlvbi5cclxuICovXG4uY2FsZW5kYXItcG9wdXBfX2Rlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzg4ODllbTtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgY29sb3I6ICM2MDYwNjA7IH1cblxuLyoqXHJcbiAqIEJvZHkuXHJcbiAqL1xuLmNhbGVuZGFyLXBvcHVwX19ib2R5IHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZTBlMGUwOyB9XG5cbi5jYWxlbmRhci1wb3B1cF9fYWRkcmVzcyB7XG4gIHdpZHRoOiAyNSU7XG4gIGNvbG9yOiAjN2U2ZWE2O1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuY2FsZW5kYXItcG9wdXBfX2FkZHJlc3Mge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4OyB9IH1cblxuLmNhbGVuZGFyLXBvcHVwX19hZGRyZXNzLXRpdGxlIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5jYWxlbmRhci1wb3B1cF9fYWRkcmVzcy10aXRsZSBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTVweDsgfVxuXG4uY2FsZW5kYXItcG9wdXBfX3BhcnRpY2lwYW50cyB7XG4gIHdpZHRoOiAyNSU7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICBjb2xvcjogI2UxNTY3OTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uY2FsZW5kYXItcG9wdXBfX3BhcnRpY2lwYW50cy10aXRsZSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAuY2FsZW5kYXItcG9wdXBfX3BhcnRpY2lwYW50cy10aXRsZSBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTVweDsgfVxuXG4uY2FsZW5kYXItcG9wdXBfX2RhdGUge1xuICB3aWR0aDogMjUlO1xuICBjb2xvcjogI2UxNWMzNztcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uY2FsZW5kYXItcG9wdXBfX2RhdGUtdGl0bGUge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgLmNhbGVuZGFyLXBvcHVwX19kYXRlLXRpdGxlIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxNXB4OyB9XG5cbi5jYWxlbmRhci1wb3B1cF9fdGltZSB7XG4gIHdpZHRoOiAyNSU7XG4gIGNvbG9yOiAjN2U2ZWE2O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5jYWxlbmRhci1wb3B1cF9fdGltZS10aXRsZSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAuY2FsZW5kYXItcG9wdXBfX3RpbWUtdGl0bGUgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE1cHg7IH1cblxuLmNhbGVuZGFyLXBvcHVwX19sb2NhdGlvbiB7XG4gIHdpZHRoOiAyNSU7XG4gIHdpZHRoOiAyNSU7XG4gIGNvbG9yOiAjZTE1Njc5O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5jYWxlbmRhci1wb3B1cF9fbG9jYXRpb24tdGl0bGUge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgLmNhbGVuZGFyLXBvcHVwX19sb2NhdGlvbi10aXRsZSBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTVweDsgfVxuXG4uY2FsZW5kYXItcG9wdXBfX2NvbnRhY3Qge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2UwZTBlMDsgfVxuXG4uY2FsZW5kYXItcG9wdXBfX2NvbnRhY3QtdGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xMTExMWVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgY29sb3I6ICM2MDYwNjA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmNhbGVuZGFyLXBvcHVwX19jb250YWN0LXRleHQge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICM2MDYwNjA7IH1cbiAgLmNhbGVuZGFyLXBvcHVwX19jb250YWN0LXRleHQgc3ZnIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTsgfVxuXG4uY2FsZW5kYXItcG9wdXBfX3NwYWNlcy10aXRsZSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgY29sb3I6ICM2MDYwNjA7IH1cbiAgLmNhbGVuZGFyLXBvcHVwX19zcGFjZXMtdGl0bGUgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE1cHg7IH1cblxuLmNhbGVuZGFyLXBvcHVwX19zcGFjZXMge1xuICB3aWR0aDogNzUlOyB9XG5cbi5jYWxlbmRhci1wb3B1cF9fc3BhY2VzLXdyYXBwZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmNhbGVuZGFyLXBvcHVwX19zcGFjZSB7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLmNhbGVuZGFyLXBvcHVwX19zcGFjZSBzdmcge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBtYXJnaW46IDAgMzBweCAwIDEwcHg7IH1cbiAgLmNhbGVuZGFyLXBvcHVwX19zcGFjZSA+IGRpdiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU0cHgpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLyoqXHJcbiAqIEltYWdlIHNsaWRlci5cclxuICovXG4uY2FsZW5kYXItcG9wdXBfX2ltYWdlcyB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2UwZTBlMDsgfVxuICAuY2FsZW5kYXItcG9wdXBfX2ltYWdlcyAub3dsLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDhweCk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwIDUwcHg7IH1cbiAgICAuY2FsZW5kYXItcG9wdXBfX2ltYWdlcyAub3dsLW5hdiBzdmcge1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICBjb2xvcjogIzA2YTY4YTsgfVxuICAuY2FsZW5kYXItcG9wdXBfX2ltYWdlcyAub3dsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgIC5jYWxlbmRhci1wb3B1cF9faW1hZ2VzIC5vd2wtaXRlbS5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uY2FsZW5kYXItcG9wdXBfX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1NSU7IH1cbiAgLmNhbGVuZGFyLXBvcHVwX19pbWFnZSBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4uY2FsZW5kYXItcG9wdXBfX3NwYWNlLW9wdGlvbnMge1xuICB3aWR0aDogMjUlO1xuICBtYXJnaW4tbGVmdDogNDBweDtcbiAgY29sb3I6ICMwNmE2OGE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmNhbGVuZGFyLXBvcHVwX19zcGFjZS1vcHRpb25zLXRpdGxlIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5jYWxlbmRhci1wb3B1cF9fc3BhY2Utb3B0aW9ucy10aXRsZSBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZpbGw6ICMwNmE2OGE7XG4gICAgaGVpZ2h0OiAxNXB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENhbGVuZGFyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2FsZW5kYXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTAwcHggMDsgfVxuICAuY2FsZW5kYXIgLndyYXBwZXItbGcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKipcclxuICogQ2FsZW5kYXIgZm9ybS5cclxuICovXG4uY2FsZW5kYXItZm9ybV9fdGl0bGUge1xuICBmb250LXNpemU6IDIzcHg7XG4gIGZvbnQtc2l6ZTogMi4zcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNjA4N2VtOyB9XG5cbi5jYWxlbmRhci1mb3JtX19jb2x1bW5zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cblxuLmNhbGVuZGFyLWZvcm1fX2NvbHVtbjpudGgtY2hpbGQoMSkge1xuICB3aWR0aDogMjAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuY2FsZW5kYXItZm9ybV9fY29sdW1uOm50aC1jaGlsZCgxKSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5jYWxlbmRhci1mb3JtX19jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgd2lkdGg6IDgwJTtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuY2FsZW5kYXItZm9ybV9fY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi8qKlxyXG4gKiBGaWx0ZXJzLlxyXG4gKi9cbi5jYWxlbmRhci1mb3JtX19maWx0ZXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMGUwZTA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5jYWxlbmRhci1mb3JtX19maWx0ZXJzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi8qKlxyXG4gKiBMYXlvdXQgc3dpdGNoLlxyXG4gKi9cbi5jYWxlbmRhci1mb3JtX19sYXlvdXQtc3dpdGNoIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAycHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5jYWxlbmRhci1mb3JtX19sYXlvdXQtc3dpdGNoIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmNhbGVuZGFyLWZvcm1fX2xheW91dC1zd2l0Y2ggaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNhbGVuZGFyLWZvcm1fX2xheW91dC1zd2l0Y2ggaW5wdXRbdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWwge1xuICAgIGNvbG9yOiAjMDZhNjhhOyB9XG5cbi5jYWxlbmRhci1mb3JtX19sYXlvdXQtc3dpdGNoIGxhYmVsIHtcbiAgZm9udC1zaXplOiAyM3B4O1xuICBmb250LXNpemU6IDIuM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjYwODdlbTtcbiAgcGFkZGluZzogM3B4IDM1cHg7XG4gIHRyYW5zaXRpb246IGNvbG9yIDE0MG1zO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQ7XG4gIGNvbG9yOiAjNjA2MDYwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5jYWxlbmRhci1mb3JtX19sYXlvdXQtc3dpdGNoIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5jYWxlbmRhci1mb3JtX19sYXlvdXQtc3dpdGNoLWl0ZW0ge1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4vKipcclxuICogRGF0ZS5cclxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5jYWxlbmRhci1mb3JtX19kYXRlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuXG4uY2FsZW5kYXItZm9ybV9fZGF0ZS1wcmV2LFxuLmNhbGVuZGFyLWZvcm1fX2RhdGUtbmV4dCB7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDIzcHg7XG4gIGNvbG9yOiAjMDZhNjhhOyB9XG5cbi5jYWxlbmRhci1mb3JtX19kYXRlLXRleHQge1xuICBmb250LXNpemU6IDIzcHg7XG4gIGZvbnQtc2l6ZTogMi4zcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNjA4N2VtO1xuICB3aWR0aDogMTQycHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgY29sb3I6ICM2MDYwNjA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKipcclxuICogTG9jYXRpb24gZm9ybS5cclxuICovXG4ubG9jYXRpb24tZm9ybV9fY2hlY2tib3hlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAtMTBweCAtMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5sb2NhdGlvbi1mb3JtX19jaGVja2JveGVzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9IH1cbiAgLmxvY2F0aW9uLWZvcm1fX2NoZWNrYm94ZXMgLmZvcm1fX2NoZWNrYm94LXdyYXBwZXIge1xuICAgIG1hcmdpbjogMTBweCAyMHB4OyB9XG5cbi8qKlxyXG4gKiBDYWxlbmRhciBzdHlsaW5nLlxyXG4gKi9cbi5jYWxlbmRhcl9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAuY2FsZW5kYXJfX3dyYXBwZXIuaXMtbG9hZGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjYwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5jYWxlbmRhcl9fd3JhcHBlci5pcy1sb2FkaW5nIC5pcy1sb2FkaW5nX19pY29uIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbWFyZ2luOiAxNTBweCBhdXRvO1xuICAgICAgY29sb3I6ICNlMTVjMzc7XG4gICAgICBhbmltYXRpb24tbmFtZTogc3Bpbm5pbmc7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cblxuLmNhbGVuZGFyX19ib2R5IHtcbiAgd2lkdGg6IDEyMDBweDsgfVxuXG4uY2FsZW5kYXJfX3JvdzpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY5Zjg7IH1cblxuLmNhbGVuZGFyX19yb3cuaG9saWRheSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY2FsZW5kYXJfX3Jvdy5ob2xpZGF5IC5ob2xpZGF5LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBmb250LXNpemU6IDIuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNjA4N2VtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAjNjA2MDYwO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAuY2FsZW5kYXJfX3Jvdy5ob2xpZGF5IC5ob2xpZGF5LW5hbWU6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgei1pbmRleDogLTE7IH1cblxuLmNhbGVuZGFyX19yb3cuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZjZmMzsgfVxuICAuY2FsZW5kYXJfX3Jvdy5hY3RpdmUgLmNhbGVuZGFyX19zcGFjZSB7XG4gICAgY29sb3I6ICMwNmE2OGE7IH1cblxuLmNhbGVuZGFyX19yb3cuZXhwaXJlZCB7XG4gIG9wYWNpdHk6IDAuNDsgfVxuXG4uY2FsZW5kYXJfX2Z1bGxyb3cuaG9saWRheSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY2FsZW5kYXJfX2Z1bGxyb3cuaG9saWRheSAuaG9saWRheS1uYW1lIHtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgZm9udC1zaXplOiAyLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjYwODdlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzYwNjA2MDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLmNhbGVuZGFyX19mdWxscm93LmhvbGlkYXkgLmhvbGlkYXktbmFtZTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuXG4uY2FsZW5kYXJfX2NvbHVtbiB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jYWxlbmRhcl9fY29sdW1uLXJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyNXB4KTtcbiAgaGVpZ2h0OiA2OXB4OyB9XG5cbi5jYWxlbmRhcl9fY29sdW1uLXJvdy0tc21hbGwge1xuICBoZWlnaHQ6IDQwcHg7IH1cblxuLmNhbGVuZGFyX19zcGFjZSB7XG4gIHdpZHRoOiAxMjVweDtcbiAgY29sb3I6ICM2MDYwNjA7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmNhbGVuZGFyX19zcGFjZSB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgbGVmdDogMDsgfSB9XG5cbi5jYWxlbmRhcl9fYWN0aXZpdHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogLThweDtcbiAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgcGFkZGluZzogNXB4O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXM7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBjb2xvcjogIzYwNjA2MDtcbiAgei1pbmRleDogMTsgfVxuICAuY2FsZW5kYXJfX2FjdGl2aXR5ID4gYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY2FsZW5kYXJfX2FjdGl2aXR5LmV4cGlyZWQge1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAuY2FsZW5kYXJfX2FjdGl2aXR5Ojpob3Zlci5leHBpcmVkIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5jYWxlbmRhcl9faG91cnMge1xuICB0b3A6IDE1MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiA5NXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgei1pbmRleDogOTsgfVxuICAuY2FsZW5kYXJfX2hvdXJzLnJlbW92ZS1zdGlja3kge1xuICAgIHBvc2l0aW9uOiBpbml0aWFsICFpbXBvcnRhbnQ7IH1cblxuLmNhbGVuZGFyX19ob3VyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNhbGVuZGFyX19ob3VyLWNvbHVtbnMge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZTBlMGUwOyB9XG5cbi5jYWxlbmRhcl9fc2Nyb2xsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI1MHB4O1xuICBsZWZ0OiBjYWxjKDUwJSAtIDcuNXB4KTtcbiAgd2lkdGg6IDE1cHg7XG4gIGNvbG9yOiAjMDZhNjhhO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYW5pbWF0aW9uOiBmYWRlT3V0TGVmdCAxNTAwbXMgZWFzZSBpbmZpbml0ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5jYWxlbmRhcl9fc2Nyb2xsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLyoqXHJcbiAqIEFjdGl2aXR5LlxyXG4gKi9cbi5jYWxlbmRhci1hY3Rpdml0eV9fdGltZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmNhbGVuZGFyLWFjdGl2aXR5X19pY29uIHtcbiAgd2lkdGg6IDE0cHg7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG4gIG1hcmdpbi1yaWdodDogNXB4OyB9XG5cbi5jYWxlbmRhci1hY3Rpdml0eV9fbmFtZSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTRweCk7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7IH1cblxuLmNhbGVuZGFyLWZvcm1fX3F1aWNrLXN3aXRjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAxNXB4O1xuICBtYXJnaW4tdG9wOiAycHg7IH1cbiAgLmNhbGVuZGFyLWZvcm1fX3F1aWNrLXN3aXRjaCBzdmcge1xuICAgIHdpZHRoOiAxOXB4O1xuICAgIGhlaWdodDogMTZweDsgfVxuICAgIC5jYWxlbmRhci1mb3JtX19xdWljay1zd2l0Y2ggc3ZnIHBhdGgge1xuICAgICAgZmlsbDogIzA2YTY4YTsgfVxuICAuY2FsZW5kYXItZm9ybV9fcXVpY2stc3dpdGNoIC5vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmNhbGVuZGFyLWZvcm1fX3F1aWNrLXN3aXRjaCAub3B0aW9uIC50b29sdGlwIHtcbiAgICAgIHRyYW5zaXRpb246IDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTIwMCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZhNjhhO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMHB4IDZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgd2lkdGg6IG1heC1jb250ZW50OyB9XG4gICAgLmNhbGVuZGFyLWZvcm1fX3F1aWNrLXN3aXRjaCAub3B0aW9uOmhvdmVyIC50b29sdGlwIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNhbGVuZGFyLWZvcm1fX3F1aWNrLXN3aXRjaCAuc2VsZWN0LXdyYXBwZXIge1xuICAgIG1pbi13aWR0aDogMTUwcHg7IH1cbiAgICAuY2FsZW5kYXItZm9ybV9fcXVpY2stc3dpdGNoIC5zZWxlY3Qtd3JhcHBlciAub3B0aW9uLXNlbGVjdGVkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmpzLXNwYWNlcy1jb250YWluZXIuaXMtbG9hZGluZywgLmpzLWxvYWQtY2FsZW5kYXIuaXMtbG9hZGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDBweDsgfVxuICAuanMtc3BhY2VzLWNvbnRhaW5lci5pcy1sb2FkaW5nOmFmdGVyLCAuanMtbG9hZC1jYWxlbmRhci5pcy1sb2FkaW5nOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNFJTNDIS0tISBGb250IEF3ZXNvbWUgUHJvIDYuMi4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDIyIEZvbnRpY29ucywgSW5jLiAtLSUzRSUzQ3BhdGggZD0nTTMwNCA0OGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDh6bTAgNDE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4czIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OHpNNDggMzA0YzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4czIxLjUgNDggNDggNDh6bTQ2NC00OGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDh6TTE0Mi45IDQzN2MxOC43LTE4LjcgMTguNy00OS4xIDAtNjcuOXMtNDkuMS0xOC43LTY3LjkgMHMtMTguNyA0OS4xIDAgNjcuOXM0OS4xIDE4LjcgNjcuOSAwem0wLTI5NC4yYzE4LjctMTguNyAxOC43LTQ5LjEgMC02Ny45UzkzLjcgNTYuMiA3NSA3NXMtMTguNyA0OS4xIDAgNjcuOXM0OS4xIDE4LjcgNjcuOSAwek0zNjkuMSA0MzdjMTguNyAxOC43IDQ5LjEgMTguNyA2Ny45IDBzMTguNy00OS4xIDAtNjcuOXMtNDkuMS0xOC43LTY3LjkgMHMtMTguNyA0OS4xIDAgNjcuOXonIGZpbGw9JyUyM2UxNWMzNycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNwaW5uaW5nO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIHotaW5kZXg6IDEwMDsgfVxuXG4uanMtbG9hZC1jYWxlbmRhci5pcy1sb2FkaW5nIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLmpzLWxvYWQtY2FsZW5kYXIuaXMtbG9hZGluZzo6YWZ0ZXIge1xuICAgIHRvcDogLTIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogMTAwMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb250ZW50IGRlZmF1bHRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250ZW50LWRlZmF1bHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctdG9wOiAxMzVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmNvbnRlbnQtZGVmYXVsdCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTYzcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuY29udGVudC1kZWZhdWx0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMTBweDsgfSB9XG5cbi5jb250ZW50LWRlZmF1bHRfX2xlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzNDNweDtcbiAgcGFkZGluZzogNTBweCA2MHB4O1xuICBib3gtc2hhZG93OiAwIDJweCAxNHB4IDAgcmdiYSgyMDYsIDIwNiwgMjA2LCAwLjUpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuY29udGVudC1kZWZhdWx0X19sZWZ0IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgcGFkZGluZy10b3A6IDExOHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICB6LWluZGV4OiA5OyB9XG4gICAgICAuY29udGVudC1kZWZhdWx0X19sZWZ0LmlzLWFjdGl2ZSB7XG4gICAgICAgIHdpZHRoOiAyNDVweDsgfVxuICAgICAgICAuY29udGVudC1kZWZhdWx0X19sZWZ0LmlzLWFjdGl2ZSAuY29udGVudC1kZWZhdWx0X19sZWZ0LW1lbnUge1xuICAgICAgICAgIHdpZHRoOiAyMjVweDsgfVxuICAgICAgICAuY29udGVudC1kZWZhdWx0X19sZWZ0LmlzLWFjdGl2ZSAuY29udGVudC1kZWZhdWx0X19sZWZ0LW9wZW4ge1xuICAgICAgICAgIGxlZnQ6IDE5MHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgICAgLmNvbnRlbnQtZGVmYXVsdF9fbGVmdC5pcy1hY3RpdmUgKyAuY29udGVudC1kZWZhdWx0X19yaWdodDo6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjM7IH1cbiAgICAgICAgLmNvbnRlbnQtZGVmYXVsdF9fbGVmdC5pcy1hY3RpdmUgLmxvZ291dC1idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgICAgIC5jb250ZW50LWRlZmF1bHRfX2xlZnQuaXMtYWN0aXZlIC5sb2dvdXQtYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmNvbnRlbnQtZGVmYXVsdF9fbGVmdC5pcy1hY3RpdmUgLmxvZ291dC1idXR0b25fX3RleHQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAgICAgLmNvbnRlbnQtZGVmYXVsdF9fbGVmdDpub3QoLmlzLWFjdGl2ZSkge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuY29udGVudC1kZWZhdWx0X19sZWZ0Om5vdCguaXMtYWN0aXZlKSAuc3VibWVudV9fYXJyb3cge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmNvbnRlbnQtZGVmYXVsdF9fbGVmdDpub3QoLmlzLWFjdGl2ZSkgLnN1Ym1lbnUgbGkgc3ZnIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLmNvbnRlbnQtZGVmYXVsdF9fbGVmdDpub3QoLmlzLWFjdGl2ZSkgLmxvZ291dC1idXR0b24gPiAuaW5saW5lLWljb24ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAuY29udGVudC1kZWZhdWx0X19sZWZ0Om5vdCguaXMtYWN0aXZlKSAuc3Vic3VibWVudSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmNvbnRlbnQtZGVmYXVsdF9fbGVmdC1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuY29udGVudC1kZWZhdWx0X19sZWZ0LW1lbnUge1xuICAgICAgdG9wOiAyMDBweDtcbiAgICAgIHdpZHRoOiAzNXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbnRlbnQtZGVmYXVsdF9fbGVmdC1tZW51IHtcbiAgICAgIHRvcDogMTUwcHg7XG4gICAgICB3aWR0aDogMzVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuY29udGVudC1kZWZhdWx0X19sZWZ0LW1lbnUge1xuICAgICAgd2lkdGg6IDIyNXB4OyB9IH1cblxuLmNvbnRlbnQtZGVmYXVsdF9fbGVmdC1vcGVuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGNvbG9yOiAjMDZhNjhhOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuY29udGVudC1kZWZhdWx0X19sZWZ0LW9wZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jb250ZW50LWRlZmF1bHRfX2xlZnQtb3BlbiA+IHN2ZyB7XG4gICAgaGVpZ2h0OiAxNHB4OyB9XG5cbi5jb250ZW50LWRlZmF1bHRfX3JpZ2h0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzQzcHgpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuY29udGVudC1kZWZhdWx0X19yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG4gIC5jb250ZW50LWRlZmF1bHRfX3JpZ2h0OjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBEZWxldGUgYnV0dG9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGVsZXRlLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjExMTExZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2U7XG4gIGNvbG9yOiAjZTIzMDMwO1xuICBmb250LWZhbWlseTogXCJEb3Npc1wiO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICBvcGFjaXR5OiAwLjY1OyB9XG4gIC5kZWxldGUtYnV0dG9uID4gLmlubGluZS1pY29uIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5kZWxldGUtYnV0dG9uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTRweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMjMwMzA7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmRlbGV0ZS1idXR0b246aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmRlbGV0ZS1idXR0b24tLWhhcy1ob3ZlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZGVsZXRlLWJ1dHRvbi0taGFzLWhvdmVyOmhvdmVyIC5kZWxldGUtYnV0dG9uX19ob3Zlci10ZXh0IHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5kZWxldGUtYnV0dG9uX19ob3Zlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0zMHB4O1xuICBsZWZ0OiAtMjBweDtcbiAgbWF4LXdpZHRoOiAzOTJweDtcbiAgcGFkZGluZzogMjBweCAyMHB4IDgwcHg7XG4gIHRyYW5zaXRpb246IDE4MG1zO1xuICBib3JkZXI6IDJweCBzb2xpZCAjYzlhOTAwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmRlbGV0ZS1idXR0b25fX2hvdmVyLXRleHQgKyAuZGVsZXRlLWJ1dHRvbiB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZvb3RlclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvb3RlciB7XG4gIHBhZGRpbmc6IDUwcHggMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMTVjMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY5Zjg7XG4gIGNvbG9yOiAjNjA2MDYwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDsgfSB9XG4gIC5mb290ZXIgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5mb290ZXIgLnJvdyB7XG4gICAgICBwYWRkaW5nOiAwIDQwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmZvb3RlciAucm93ID4gLmNvbCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5mb290ZXIgLnJvdyA+IC5jb2w6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMGUwZTA7IH0gfVxuXG4uZm9vdGVyX19ib3R0b20ge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMGUwZTA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXJfX2JvdHRvbSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmZvb3Rlcl9fYm90dG9tIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICBtYXJnaW46IDAgMzBweDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICAgIC5mb290ZXJfX2JvdHRvbSA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyoqXHJcbiAqIEZvb3RlciBhZGRyZXNzLlxyXG4gKi9cbi5mb290ZXItYWRkcmVzcyA+IC5mYXItbWFwLW1hcmtlci1hbHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDE0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cbiAgLmZvb3Rlci1hZGRyZXNzID4gLmZhci1tYXAtbWFya2VyLWFsdCA+IC5mYXItbWFwLW1hcmtlci1hbHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMjBweDsgfVxuXG4vKipcclxuICogRm9vdGVyIGNvbnRhY3QuXHJcbiAqL1xuLmZvb3Rlci1jb250YWN0IC5mYXItZmEtcGhvbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZvb3Rlci1jb250YWN0IC5mYXItZmEtcGhvbmUgPiBzdmcge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyB9XG5cbi5mb290ZXItY29udGFjdCAuZmFsLWZhLWVudmVsb3BlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mb290ZXItY29udGFjdCAuZmFsLWZhLWVudmVsb3BlID4gc3ZnIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5mb290ZXItY29udGFjdCBwOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi8qKlxyXG4gKiBGb290ZXIgbWVudS5cclxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5mb290ZXJfX21lbnUgYTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIGNvbnRlbnQ6ICd8JzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmZvb3Rlcl9fbWVudSBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgY29udGVudDogJy0nOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRm9ybVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZpZWxkc2V0X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjExMTExZW07XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLmZvcm1fX2lzLWxvZ2dlZC1pbiBsZWdlbmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjZTE1YzM3O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmZvcm1fX2lzLWxvZ2dlZC1pbiBsZWdlbmQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAtM3B4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogI2UxNWMzNztcbiAgICBjb250ZW50OiAnJzsgfVxuXG4uZm9ybV9faXMtbG9nZ2VkLWluIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZTE1YzM3O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5mb3JtX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjExMTExZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICM2MDYwNjA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmZvcm1fX2hlYWRpbmcge1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBsaW5lLWhlaWdodDogMC45MDkwOWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMzBweCAwO1xuICBjb2xvcjogIzYwNjA2MDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZm9ybV9fbGFiZWwtLXJhZGlvIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uZm9ybV9faW5wdXQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xMTExMWVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTgwbXM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGNvbG9yOiAjNjA2MDYwO1xuICBmb250LWZhbWlseTogXCJEb3Npc1wiOyB9XG4gIC5mb3JtX19pbnB1dC5pcy1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5mb3JtX19pbnB1dC5pcy1pbnZhbGlkIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTE1Njc5O1xuICAgIGJhY2tncm91bmQ6ICNmZmVlZjI7IH1cbiAgLmZvcm1fX2lucHV0Om5vdCguaXMtZGlzYWJsZWQpIHtcbiAgICBib3gtc2hhZG93OiAzcHggM3B4IDFweCAwICNlMGUwZTA7IH1cblxuLmpzLXN1Ym1pdC1hY3Rpdml0eS1jcmVhdGUtZm9ybS1oaWRkZW4uaXMtZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZm9ybV9faW5wdXQtLWJpZyB7XG4gIGhlaWdodDogMTIwcHg7IH1cblxuLmZvcm1fX2lucHV0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZvcm1fX3NlbGVjdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mb3JtX19zZWxlY3Qtd3JhcHBlciA+IC5pbmxpbmUtaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGNvbG9yOiAjNjA2MDYwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmZvcm1fX3NlbGVjdC13cmFwcGVyID4gLmlubGluZS1pY29uLmlzLXNob3duIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mb3JtX19zZWxlY3QuaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9ybV9faW5wdXQtLXNlbGVjdC5pcy1kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qKlxyXG4gKiBDaGVja2JveC5cclxuICovXG4uZm9ybV9fY2hlY2tib3gtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZm9ybV9fY2hlY2tib3gtd3JhcHBlciAuaW5mby1pY29uIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiAtNHB4OyB9XG5cbi5mb3JtX19jaGVja2JveDpjaGVja2VkICsgLmZvcm1fX2NoZWNrYm94LWxhYmVsIHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mb3JtX19jaGVja2JveCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZm9ybV9fY2hlY2tib3gtbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5mb3JtX19jaGVja2JveC1sYWJlbDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNjA2MDYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiAzcHggM3B4IDFweCAwICNlMGUwZTA7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmZvcm1fX2NoZWNrYm94LWxhYmVsID4gc3ZnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDJweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAyNXB4OyB9XG5cbi8qKlxyXG4gKiBDaGFuZ2UgcGFzc3dvcmQuXHJcbiAqL1xuLnBhc3N3b3JkLWNoYW5nZS1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgY29sb3I6ICMwNmE2OGE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAucGFzc3dvcmQtY2hhbmdlLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0ycHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZhNjhhO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG5cbi8qKlxyXG4gKiBMb2NhdGlvbiBzZWxlY3QuXHJcbiAqL1xuLmxvY2F0aW9uLXNlbGVjdF9fYWN0aXZlLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmxvY2F0aW9uLXNlbGVjdF9fYWN0aXZlLWl0ZW0gPiBkaXYge1xuICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI1cHgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmxvY2F0aW9uLXNlbGVjdF9fYWN0aXZlLWl0ZW0gPiBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICB3aWR0aDogMTRweDsgfVxuICAubG9jYXRpb24tc2VsZWN0X19hY3RpdmUtaXRlbSAubG9jYXRpb24tc2VsZWN0X19pbmZvIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5sb2NhdGlvbi1zZWxlY3RfX2Ryb3AtZG93biAub3B0aW9uID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjRweCk7IH1cblxuLmxvY2F0aW9uLXNlbGVjdF9faW5mbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTVweDtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubG9jYXRpb24tc2VsZWN0X19pbmZvIHN2ZyB7XG4gICAgY29sb3I6ICMwNmE2OGE7IH1cblxuLmxvY2F0aW9uLXNlbGVjdF9faW5mby0tbm8tY29sb3Igc3ZnIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLyoqXHJcbiAqIE51bWJlciBmaWVsZC5cclxuICovXG4uZm9ybV9fbnVtYmVyLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAzNXB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uZm9ybV9fbnVtYmVyLXVwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5mb3JtX19udW1iZXItdXAgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmZvcm1fX251bWJlci1kb3duIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5mb3JtX19udW1iZXItZG93biBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzBweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKipcclxuICogUmFkaW8uXHJcbiAqL1xuLmZvcm1fX3JhZGlvLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IC01cHg7IH1cblxuLmZvcm1fX2lucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IC01cHg7IH1cblxuLmZvcm1fX3JhZGlvLXdyYXBwZXIge1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLmZvcm1fX2lucHV0LXdyYXBwZXIge1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLmFjdGl2aXR5LWZvcm1fX2lucHV0LWxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZvcm1fX3JhZGlvOmNoZWNrZWQgKyAuZm9ybV9fcmFkaW8tbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzA2YTY4YTsgfVxuXG4uZm9ybV9fcmFkaW86Y2hlY2tlZCArIC5mb3JtX19yYWRpby1sYWJlbCA+IHN2ZyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZvcm1fX3JhZGlvLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmZvcm1fX3JhZGlvLWxhYmVsOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IDNweCAzcHggMXB4IDAgI2UwZTBlMDtcbiAgICBjb250ZW50OiAnJzsgfVxuICAuZm9ybV9fcmFkaW8tbGFiZWwgPiBzdmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTQwbXM7XG4gICAgY29sb3I6ICMwNmE2OGE7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4vKipcclxuICpcclxuICovXG4uZm9ybV9fc3VibWl0IGJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LWZhbWlseTogXCJEb3Npc1wiO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5mb3JtX19zdWJtaXQuaXMtZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjU7IH1cblxuLyoqXHJcbiAqIE1heCBjaGFycy5cclxuICovXG4uZm9ybV9faW5wdXQtY2hhcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi8qKlxyXG4gKiBSZXBlYXRlci5cclxuICovXG4uZm9ybV9fcmVwZWF0LXJvdyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvcm1fX3JlcGVhdGVyLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjExMTExZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgY29sb3I6ICM2MDYwNjA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uZm9ybV9fcmVwZWF0ZXItZGVsZXRlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAzNXB4O1xuICBsZWZ0OiAtMzVweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UyMzAzMDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5mb3JtX19yZXBlYXRlci1kZWxldGUtYnV0dG9uID4gc3ZnIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyoqXHJcbiAqIFByaWNlLlxyXG4gKi9cbi5mb3JtX19wcmljZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmZvcm1fX3ByaWNlLWJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDIyNHB4O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlMGUwZTA7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5mb3JtX19wcmljZS1sYWJlbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mb3JtX19wcmljZS1hbW91bnQge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjY2NjdlbTtcbiAgY29sb3I6ICMwNmE2OGE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmZvcm1fX3ByaWNlLWFtb3VudC1pY29uIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW5uaW5nO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTcsIDAuNjcsIDAuODMsIDAuNjcpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEhlYWRlclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIE1haW4gZWxlbWVudCAoaGVhZGVyKS5cclxuICovXG4uaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA0MHB4IDEzMHB4O1xuICBiYWNrZ3JvdW5kOiAjZTE1YzM3O1xuICB6LWluZGV4OiA5OTk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5oZWFkZXIge1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4OyB9XG4gICAgICAuaGVhZGVyLmlzLWFjdGl2ZSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMjBweCA5MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7IH0gfVxuXG4vKipcclxuICogTGlua3MgaGVhZGVyLlxyXG4gKi9cbi5oZWFkZXJfX2xpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBvcGFjaXR5OiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuaGVhZGVyX19saW5rcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmhlYWRlcl9fbGlua3Mge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXJfX2xpbmtzIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbjogYXV0byBhdXRvIDEwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuaGVhZGVyX19saW5rcyBzdmcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmhlYWRlcl9fbGlua3MuaXMtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAxMDBweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTE1YzM3O1xuICAgICAgei1pbmRleDogOTk7IH0gfVxuICAuaGVhZGVyX19saW5rcy5pcy1hY3RpdmUgLmhlYWRlcl9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuXG4vKipcclxuICogU2VsZWN0LlxyXG4gKi9cbi5oZWFkZXJfX3NlbGVjdCB7XG4gIHdpZHRoOiAyNTBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogMTAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5oZWFkZXJfX3NlbGVjdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0byAyNXB4O1xuICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgei1pbmRleDogOTk5OyB9XG4gICAgICAuaGVhZGVyX19zZWxlY3QuaXMtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuaGVhZGVyX19zZWxlY3QgLm9wdGlvbi1zZWxlY3RlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuaGVhZGVyX19zZWxlY3QgLnNlbGVjdCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5oZWFkZXJfX3NlbGVjdCAuc2VsZWN0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMTVweDsgfSB9XG4gIC5oZWFkZXJfX3NlbGVjdCA+IHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTFweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAuaGVhZGVyX19zZWxlY3QgPiBzdmcge1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIHJpZ2h0OiAzMHB4OyB9IH1cbiAgICAuaGVhZGVyX19zZWxlY3QgPiBzdmc6bm90KC5mYS1jaGV2cm9uLWRvd24pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXHJcbiAqIFNpbmdsZSBsaW5rIHNldHRpbmdzLlxyXG4gKi9cbi5oZWFkZXJfX2xpbmsge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjUwbXMgZWFzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5oZWFkZXJfX2xpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICM3YTFkMTU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmhlYWRlcl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDcwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgLmhlYWRlcl9fbGluayAuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzdhMWQxNTsgfVxuICAgIC5oZWFkZXJfX2xpbmsgLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0zcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZDogIzdhMWQxNTtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5oZWFkZXJfX2xpbmsgLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogN3B4OyB9IH1cbiAgICAuaGVhZGVyX19saW5rIC5pcy1hY3RpdmU6bnRoLWNoaWxkKDEpOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmhlYWRlcl9fbGlua3MgLmFnZW5kYSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4vKipcclxuICogUHJvZmlsZSBidXR0b24gc2V0dGluZ3MuXHJcbiAqL1xuLmhlYWRlcl9fbGlua3MgLnByb2ZpbGUge1xuICBtYXJnaW4tbGVmdDogNTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmhlYWRlcl9fbGlua3MgLnByb2ZpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmhlYWRlcl9fbGlua3MgLnByb2ZpbGUgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi8qKlxyXG4gKiBMb2dpbiBsaW5rcy5cclxuICovXG4uaGVhZGVyX19sb2dpbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXHJcbiAqIE1vYmlsZSBtZW51IHNldHRpbmdzLlxyXG4gKi9cbi5oZWFkZXJfX21vYmlsZS1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5oZWFkZXJfX21vYmlsZS1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmhlYWRlcl9fbW9iaWxlLW1lbnUgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuXG4vKipcclxuICogTW9iaWxlIG1lbnUgc3RhdGVzLiBUaGlzIGlzIHNldCB0byAnZGlzcGxheTpub25lOycgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHJpZ2h0IG1lbnUgc3RhdGUgaXMgc2hvd2luZy5cclxuICovXG4uaGVhZGVyX19tb2JpbGUtbWVudS0tb3B0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5oZWFkZXJfX21vYmlsZS1tZW51LS1vcHRpb24uaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBJbnZhbGlkIGVycm9yXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogTm90ZTogVGhpcyBpcyB1c2VkIG9uIC9hZ2VuZGEvIHBhZ2UgZm9yIGRhdGUgdmFsaWRhdGlvbi5cclxuICovXG4uaW52YWxpZC1lcnJvcl9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5pbnZhbGlkLWVycm9yX19ib2R5IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTExMTFlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDcwOXB4O1xuICBwYWRkaW5nOiAzNXB4IDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVlZjI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmludmFsaWQtZXJyb3JfX2Nsb3NlIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjY2NjdlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA2MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGNvbG9yOiAjZTE1Njc5O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmludmFsaWQtZXJyb3JfX2Nsb3NlID4gc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTVweDsgfVxuXG4uanMtYWN0aXZpdHktZm9ybS1jcmVhdGUsIC5hY3Rpdml0eS1saXN0LXJlc2NoZWR1bGUtcG9wdXBfX2Zvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZvcm0tbG9hZGluZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5mb3JtLWxvYWRpbmcgLmNpcmNsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZm9ybS1sb2FkaW5nLmlzLWFjdGl2ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cbiAgICAuZm9ybS1sb2FkaW5nLmlzLWFjdGl2ZSAuY2lyY2xlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgICAgIGNvbG9yOiAjZTE1YzM3O1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW5uaW5nO1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG4gICAgICAuZm9ybS1sb2FkaW5nLmlzLWFjdGl2ZSAuY2lyY2xlIHN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogI2UxNWMzNzsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBMb2dpbiBwYWdlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogTWFpbiBlbGVtZW50IChsb2dpbikuXHJcbiAqL1xuLmxvZ2luIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuXG4vKipcclxuICogTGVmdCBjb2x1bW4uXHJcbiAqL1xuLmxvZ2luX19sZWZ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMzAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDQ1cHggMTAwcHg7XG4gIGJhY2tncm91bmQ6ICNlMTVjMzc7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmxvZ2luX19sZWZ0IHtcbiAgICAgIHBhZGRpbmc6IDQ1cHggNzVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5sb2dpbl9fbGVmdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmxvZ2luX19sZWZ0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweDsgfSB9XG4gIC5sb2dpbl9fbGVmdCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogOTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5sb2dpbl9fbGVmdCBpbWcge1xuICAgICAgICBoZWlnaHQ6IDUzcHg7IH0gfVxuXG4vKipcclxuICogVGl0ZWwgdW5kZXJuZWF0aCB0aGUgbG9nby5cclxuICovXG4ubG9naW5fX2xlZnQgaDIge1xuICBtYXJnaW46IDEwMHB4IDAgNDBweDtcbiAgZm9udC1zaXplOiAzMHB4OyB9XG5cbi8qKlxyXG4gKiBEZXNjcmlwdGlvbiBiZW5lYXRoIHRoZSBsb2dvLlxyXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLmxvZ2luX19sZWZ0LS1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLyoqXHJcbiAqIExvZ2luIGJ1dHRvbi5cclxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubG9naW5fX2xlZnQgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTVweCA3NXB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAubG9naW5fX2xlZnQgLmJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5sb2dpbl9fbGVmdCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4vKipcclxuICogUmlnaHQgY29sdW1uLlxyXG4gKi9cbi5sb2dpbl9fcmlnaHQge1xuICB3aWR0aDogNzAlO1xuICBtYXJnaW4tdG9wOiAyMzVweDtcbiAgbWFyZ2luLWxlZnQ6IDMwJTtcbiAgcGFkZGluZzogMCAyMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAubG9naW5fX3JpZ2h0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyODVweCk7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmxvZ2luX19yaWdodCB7XG4gICAgICBwYWRkaW5nOiAwIDEyMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmxvZ2luX19yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDYwcHggNDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3NXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5sb2dpbl9fcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiA2MHB4IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNzVweDsgfSB9XG5cbi5sb2dpbl9fcmlnaHQgLm1lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTE1Njc5O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZlZWYyOyB9XG4gIC5sb2dpbl9fcmlnaHQgLm1lc3NhZ2UuZm9yZ290LXBhc3N3b3JkIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYzlhOTAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY2Yzk7IH1cblxuLyoqXHJcbiAqIFJpZ2h0IGNvbHVtbiB0aXRsZS5cclxuICovXG4ubG9naW5fX3JpZ2h0IGgyIHtcbiAgY29sb3I6ICNlMTVjMzc7XG4gIGZvbnQtc2l6ZTogMzBweDsgfVxuICAubG9naW5fX3JpZ2h0IGgyOm50aC1jaGlsZCgyKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcclxuICogTGluay5cclxuICovXG4ubG9naW5fX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNjOWE5MDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5sb2dpbl9fbGluayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cbiAgLmxvZ2luX19saW5rIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDMwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAubG9naW5fX2xpbmsgYSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAubG9naW5fX2xpbmsgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgIHJpZ2h0OiA1MHB4O1xuICAgIGNvbG9yOiAjYzlhOTAwO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5sb2dpbl9fbGluayBzdmcge1xuICAgICAgICByaWdodDogMzBweDsgfSB9XG4gIC5sb2dpbl9fbGluazpob3ZlciBzdmcge1xuICAgIHJpZ2h0OiA0MHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLmxvZ2luX19saW5rOmhvdmVyIHN2ZyB7XG4gICAgICAgIHJpZ2h0OiAyMHB4OyB9IH1cblxuLmxvZ2luX19saW5rLXRpdGxlIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBjb2xvcjogI2M5YTkwMDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5sb2dpbl9fbGluay10ZXh0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi8qKlxyXG4gKiBMb2dpbiBmb3JtLlxyXG4gKi9cbi5sb2dpbl9fZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmxvZ2luX19mb3JtID4gZGl2IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmxvZ2luX19mb3JtLmZsZXgtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4vKipcclxuICogRm9ybSBpdGVtLlxyXG4gKi9cbi5sb2dpbl9fZm9ybS0taXRlbSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMTBweCk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5sb2dpbl9fZm9ybS0taXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmxvZ2luX19mb3JtLS1pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuICAubG9naW5fX2Zvcm0tLWl0ZW0gbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBjb2xvcjogIzYwNjA2MDsgfVxuICAubG9naW5fX2Zvcm0tLWl0ZW0gaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJveC1zaGFkb3c6IDNweCAzcHggMXB4IDAgI2UwZTBlMDsgfVxuXG4vKipcclxuICogRm9yZ290IHBhc3N3b3JkIGJ1dHRvbi5cclxuICovXG4ubG9naW5fX2Zvcm0gLmZvcmdvdC1wYXNzd29yZCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGNvbG9yOiAjMDZhNjhhOyB9XG4gIC5sb2dpbl9fZm9ybSAuZm9yZ290LXBhc3N3b3JkOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAtM3B4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzA2YTY4YTtcbiAgICBjb250ZW50OiAnJzsgfVxuXG4vKipcclxuICogTG9naW4gYnV0dG9uLlxyXG4gKi9cbi5sb2dpbl9fZm9ybS0tYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMTYwcHg7XG4gIHBhZGRpbmc6IDE1cHggMTIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5sb2dpbl9fZm9ybS0tYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmxvZ2luX19mb3JtLS1idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cblxuLmNoYW5nZS1wYXNzd29yZCBsZWdlbmQge1xuICBjb2xvcjogI2UxNWMzNztcbiAgZm9udC1zaXplOiAzMHB4OyB9XG5cbi5jaGFuZ2UtcGFzc3dvcmQgLmxvZ2luX19mb3JtLS1pdGVtIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBMb2dvdXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sb2dvdXQtYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTExMTFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzA2YTY4YTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuICAubG9nb3V0LWJ1dHRvbiA+IC5pbmxpbmUtaWNvbiB7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmxvZ291dC1idXR0b24gPiAuaW5saW5lLWljb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAubG9nb3V0LWJ1dHRvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC00cHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZhNjhhO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmxvZ291dC1idXR0b246OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcbiAgICAgICAgdG9wOiAtMTdweDtcbiAgICAgICAgbGVmdDogLTlweDtcbiAgICAgICAgYm90dG9tOiBpbml0aWFsO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAycHg7IH0gfVxuICAubG9nb3V0LWJ1dHRvbi5pcy1sb2dnZWQtaW4ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAubG9nb3V0LWJ1dHRvbl9fdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE1vZGFsXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubW9kYWwtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE4MG1zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDk5OTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLm1vZGFsLXdyYXBwZXIuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNzA5cHg7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gIG1heC1oZWlnaHQ6IDcxNXB4O1xuICBwYWRkaW5nOiA1MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogM3B4IDNweCA0MXB4IDAgcmdiYSgxODMsIDE4MywgMTgzLCAwLjQ0KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm1vZGFsIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgICAgb3ZlcmZsb3c6IGF1dG87IH0gfVxuICAubW9kYWwubG9hZGluZzo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gIC5tb2RhbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tb2RhbC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgY29sb3I6ICMwNmE2OGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAubW9kYWwtY2xvc2UgPiAuaW5saW5lLWljb24ge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTVweDsgfVxuXG4ubW9kYWwtY2xvc2VfX3RleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDRweDsgfVxuXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBjb2xvcjogIzYwNjA2MDsgfVxuICAubW9kYWwtdGl0bGUgPiAuaW5saW5lLWljb24ge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4ubW9kYWwtZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG5cbi5tb2RhbC1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5tb2RhbF9fbG9hZGluZy1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBhbmltYXRpb24tbmFtZTogc3Bpbm5pbmc7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cbiAgLm1vZGFsX19sb2FkaW5nLWljb24gc3ZnIHtcbiAgICBjb2xvcjogI2UxNWMzNzsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW5uaW5nIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uanMtaW52aXNpYmxlLWZpZWxkcyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTm90IGxvZ2dlZCBpbiBmb3JtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubm90LWxvZ2dlZC1pbl9fdGl0bGUge1xuICBmb250LXNpemU6IDIzcHg7XG4gIGZvbnQtc2l6ZTogMi4zcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNjA4N2VtOyB9XG5cbi5ub3QtbG9nZ2VkLWluX19idXR0b24ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKipcclxuICogRm9ybS5cclxuICovXG4ub3JkZXItb3B0aW9uc19fdGl0bGUgc3ZnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5vcmRlci1vcHRpb25zX190aXRsZSBzcGFuIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTExMTFlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDI1cHgpO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5vcmRlci1vcHRpb25zX19pbnRybyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjExMTExZW07XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLm9yZGVyLW9wdGlvbnNfX29wdGlvbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2UwZTBlMDsgfVxuICAub3JkZXItb3B0aW9uc19fb3B0aW9uLmlzLWZpcnN0IHtcbiAgICBib3JkZXI6IDA7IH1cblxuLm9yZGVyLW9wdGlvbnNfX29wdGlvbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjExMTExZW07XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzMTBweCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5vcmRlci1vcHRpb25zX19vcHRpb24tdGl0bGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cblxuLm9yZGVyLW9wdGlvbnNfX29wdGlvbi1wcmljZSB7XG4gIHdpZHRoOiAxNzVweDsgfVxuICAub3JkZXItb3B0aW9uc19fb3B0aW9uLXByaWNlIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLm9yZGVyLW9wdGlvbnNfX29wdGlvbi1wcmljZSAuaXMtY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjExMTExZW07XG4gICAgY29sb3I6ICM2MDYwNjA7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4ub3JkZXItb3B0aW9uc19fYW1vdW50IHtcbiAgd2lkdGg6IDEzNXB4OyB9XG4gIC5vcmRlci1vcHRpb25zX19hbW91bnQgLm9wdGlvbi1zZWxlY3RlZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5vcmRlci1vcHRpb25zX190b3RhbCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAyNXB4IDAgNDBweCAwOyB9XG5cbi5vcmRlci1vcHRpb25zX190b3RhbC1sYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ub3JkZXItb3B0aW9uc19fdG90YWwtcHJpY2Uge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLm9yZGVyLW9wdGlvbnNfX2J1dHRvbiB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5vcmRlci1vcHRpb25zX19idXR0b24gYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4vKipcclxuICogQnV0dG9uLlxyXG4gKi9cbi5vcmRlci1vcHRpb25zX19ib29rIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMjM4cHg7XG4gIHJpZ2h0OiAtMjBweDtcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDYxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNmE2OGE7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHggMCAwIDMwcHg7XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAub3JkZXItb3B0aW9uc19fYm9vayBhIHtcbiAgICAgIHJpZ2h0OiAtMTg1cHg7IH0gfVxuICAub3JkZXItb3B0aW9uc19fYm9vayBhIHN2ZyB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAub3JkZXItb3B0aW9uc19fYm9vayBhIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xMTExMWVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm9yZGVyLW9wdGlvbnNfX2Jvb2sgYTpob3ZlciB7XG4gICAgcmlnaHQ6IDBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQYWdlIHRpdGxlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS10aXRsZSB7XG4gIGNvbG9yOiAjNDAzNjMwO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3gtc2hhZG93OiAwIDJweCAwIDAgI2UwZTBlMDsgfVxuXG4ucGFnZS10aXRsZV9fdGl0bGUge1xuICBmb250LXNpemU6IDI1cHg7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOGVtO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLnBhZ2UtdGl0bGVfX3N1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjIyMjJlbTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgY29sb3I6ICM2MDYwNjA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUHJvZmlsZSB1c2VyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucHJvZmlsZS11c2VyX19mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wcm9maWxlLXVzZXJfX2hlYWRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4ucHJvZmlsZS11c2VyX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgZm9udC1zaXplOiAyLjNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI2MDg3ZW07XG4gIGNvbG9yOiAjN2U2ZWE2O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAucHJvZmlsZS11c2VyX190aXRsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG4ucHJvZmlsZS11c2VyX19idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2U7XG4gIGNvbG9yOiAjMDZhNjhhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC42O1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAucHJvZmlsZS11c2VyX19idXR0b24gPiAuaW5saW5lLWljb24ge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5wcm9maWxlLXVzZXJfX2J1dHRvbiA+IC5pbmxpbmUtaWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9IH1cbiAgLnByb2ZpbGUtdXNlcl9fYnV0dG9uLmlzLXNob3duIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5wcm9maWxlLXVzZXJfX2J1dHRvbi5pcy1zaG93biB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAucHJvZmlsZS11c2VyX19idXR0b246aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnByb2ZpbGUtdXNlcl9fYnV0dG9uLXRleHQge1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTRweDsgfVxuXG4ucHJvZmlsZS11c2VyX19idXR0b24tLXNhdmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9maWxlLXVzZXJfX2J1dHRvbi0taGFzLW5vdGljZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLnByb2ZpbGUtdXNlcl9fYnV0dG9uLS1oYXMtbm90aWNlOmhvdmVyIHtcbiAgICB0b3A6IC0xMnB4O1xuICAgIHJpZ2h0OiAtMTJweDtcbiAgICB3aWR0aDogMjE1cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYzlhOTAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAucHJvZmlsZS11c2VyX19idXR0b24tLWhhcy1ub3RpY2U6aG92ZXIgLnByb2ZpbGUtdXNlcl9fYnV0dG9uLW5vdGljZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHJvZmlsZS11c2VyX19idXR0b24tbm90aWNlIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzNlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZzogMjBweCAxMHB4IDEwcHg7XG4gIGNvbG9yOiAjNjA2MDYwOyB9XG5cbi5wcm9maWxlLXVzZXJfX2J1dHRvbi0taGFzLW5vdGljZS1kZWZhdWx0IHtcbiAgd2lkdGg6IDcwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5wcm9maWxlLXVzZXJfX2J1dHRvbi0taGFzLW5vdGljZS1kZWZhdWx0ID4gLmlubGluZS1pY29uIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7IH1cblxuLnByb2ZpbGUtdXNlcl9fc2F2ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUmVnaXN0ZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBNYWluIGVsZW1lbnQgKHJlZ2lzdGVyKS5cclxuICovXG4ucmVnaXN0ZXIsXG4uY3JlYXRlYWNjb3VudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucmVnaXN0ZXIgbGFiZWwsXG4gIC5jcmVhdGVhY2NvdW50IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgY29sb3I6ICM2MDYwNjA7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICAgLnJlZ2lzdGVyIGxhYmVsLmlzLWludmFsaWQsXG4gICAgLmNyZWF0ZWFjY291bnQgbGFiZWwuaXMtaW52YWxpZCB7XG4gICAgICBjb2xvcjogI2UxNTY3OTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnJlZ2lzdGVyIGlucHV0W3R5cGU9dGV4dF0sXG4gIC5yZWdpc3RlciBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgLmNyZWF0ZWFjY291bnQgaW5wdXRbdHlwZT10ZXh0XSxcbiAgLmNyZWF0ZWFjY291bnQgaW5wdXRbdHlwZT1wYXNzd29yZF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY29sb3I6ICM2MDYwNjA7XG4gICAgYm94LXNoYWRvdzogM3B4IDNweCAxcHggMCAjZTBlMGUwOyB9XG4gICAgLnJlZ2lzdGVyIGlucHV0W3R5cGU9dGV4dF0uaXMtaW52YWxpZCxcbiAgICAucmVnaXN0ZXIgaW5wdXRbdHlwZT1wYXNzd29yZF0uaXMtaW52YWxpZCxcbiAgICAuY3JlYXRlYWNjb3VudCBpbnB1dFt0eXBlPXRleHRdLmlzLWludmFsaWQsXG4gICAgLmNyZWF0ZWFjY291bnQgaW5wdXRbdHlwZT1wYXNzd29yZF0uaXMtaW52YWxpZCB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZTE1Njc5O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZWVmMjsgfVxuXG4uY2hhbmdlLXBhc3N3b3JkX19idXR0b24gYSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogNTQlO1xuICBtYXJnaW46IDMwcHggMDtcbiAgcGFkZGluZzogMTVweDtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNlMTVjMzc7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBjb2xvcjogI2UxNWMzNztcbiAgZm9udC1zaXplOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggMCAwICNlMGUwZTA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY2hhbmdlLXBhc3N3b3JkX19idXR0b24gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDE1MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5jaGFuZ2UtcGFzc3dvcmRfX2J1dHRvbiBhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMTVweCA0MHB4O1xuICAgICAgZm9udC1zaXplOiAxNXB4OyB9IH1cbiAgLmNoYW5nZS1wYXNzd29yZF9fYnV0dG9uIGE6aG92ZXIge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNlMTVjMzc7XG4gICAgYmFja2dyb3VuZDogI2UxNWMzNztcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLmNyZWF0ZWFjY291bnQge1xuICBtYXJnaW4tdG9wOiA4MHB4OyB9XG5cbi8qKlxyXG4gKiBGbGV4IHNldHRpbmdzLlxyXG4gKi9cbi5yZWdpc3Rlcl9fZm9ybS0tZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qKlxyXG4gKiBGb3JtIHRpdGxlLlxyXG4gKi9cbi5yZWdpc3Rlcl9fZm9ybS0tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG5cbi8qKlxyXG4gKiBGb3JtIHN0ZXBzLlxyXG4gKi9cbi5yZWdpc3Rlcl9fZm9ybS0tc3RlcHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuICAucmVnaXN0ZXJfX2Zvcm0tLXN0ZXBzOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTRweDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA5NSU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBkYXNoZWQgIzdlNmVhNjtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnJlZ2lzdGVyX19mb3JtLS1zdGVwczo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7IH0gfVxuXG4vKipcclxuICogRm9ybSBzdGVwLlxyXG4gKi9cbi5yZWdpc3Rlcl9fZm9ybS0tc3RlcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMjsgfVxuXG4vKipcclxuICogRm9ybSBzdGVwIG51bWJlci5cclxuICovXG4ucmVnaXN0ZXJfX2Zvcm0tLXN0ZXAtbnVtYmVyIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXI6IDJweCBzb2xpZCAjN2U2ZWE2O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBjb2xvcjogIzdlNmVhNjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5yZWdpc3Rlcl9fZm9ybS0tc3RlcC1udW1iZXIuaXMtYWN0aXZlIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjN2U2ZWE2O1xuICAgIGJhY2tncm91bmQ6ICM3ZTZlYTY7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi8qKlxyXG4gKiBGb3JtIHN0ZXAgdGl0bGUuXHJcbiAqL1xuLnJlZ2lzdGVyX19mb3JtLS1zdGVwLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBjb2xvcjogIzdlNmVhNjtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi8qKlxyXG4gKiBPcmdhbmlzYXRpb24gbmFtZS5cclxuICovXG4ub3JnYW5pc2F0aW9uLWluZm9fX3RpdGxlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyoqXHJcbiAqIFJhZGlvIGJ1dHRvbiBjb250YWluZXIuXHJcbiAqL1xuLm9yZ2FuaXNhdGlvbi1pbmZvX190eXBlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAub3JnYW5pc2F0aW9uLWluZm9fX3R5cGUge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5vcmdhbmlzYXRpb24taW5mb19fdHlwZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5vcmdhbmlzYXRpb24taW5mb19fdHlwZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7IH0gfVxuXG4vKipcclxuICogUmFkaW8gYnV0dG9uIHNldHRpbmdzLlxyXG4gKi9cbi5vcmdhbmlzYXRpb24taW5mb19fdHlwZS0tcmFkaW9idXR0b25zIHtcbiAgbWFyZ2luOiAwIDExcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5vcmdhbmlzYXRpb24taW5mb19fdHlwZS0tcmFkaW9idXR0b25zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIycHgpOyB9IH1cblxuLm9yZ2FuaXNhdGlvbi1pbmZvX190eXBlLS1yYWRpb2J1dHRvbnMgLnJhZGlvLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjIxcHg7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDE4MG1zO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggMXB4IDAgI2UwZTBlMDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAub3JnYW5pc2F0aW9uLWluZm9fX3R5cGUtLXJhZGlvYnV0dG9ucyAucmFkaW8tdGl0bGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5vcmdhbmlzYXRpb24taW5mb19fdHlwZS0tcmFkaW9idXR0b25zIC5yYWRpby10aXRsZTpob3ZlciB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZTE1YzM3OyB9IH1cblxuLm9yZ2FuaXNhdGlvbi1pbmZvX190eXBlLS1yYWRpbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLm9yZ2FuaXNhdGlvbi1pbmZvX190eXBlLS1yYWRpbzpjaGVja2VkICsgLnJhZGlvLXRpdGxlIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTE1YzM3OyB9XG5cbi8qKlxyXG4gKiBLUEwuXHJcbiAqL1xuLm9yZ2FuaXNhdGlvbi1pbmZvX19rcGwge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAub3JnYW5pc2F0aW9uLWluZm9fX2twbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuLyoqXHJcbiAqIFN0cmVldC5cclxuICovXG4ub3JnYW5pc2F0aW9uLWluZm9fX2FkZHJlc3MtLXN0cmVldCB7XG4gIHdpZHRoOiA0OC41JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm9yZ2FuaXNhdGlvbi1pbmZvX19hZGRyZXNzLS1zdHJlZXQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKipcclxuICogSG91c2VudW1iZXIuXHJcbiAqL1xuLm9yZ2FuaXNhdGlvbi1pbmZvX19hZGRyZXNzLS1ob3VzZW51bWJlciB7XG4gIHdpZHRoOiAzMSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5vcmdhbmlzYXRpb24taW5mb19fYWRkcmVzcy0taG91c2VudW1iZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAxMHB4KTsgfSB9XG5cbi8qKlxyXG4gKiBBZGRpdGlvbi5cclxuICovXG4ub3JnYW5pc2F0aW9uLWluZm9fX2FkZHJlc3MtLWFkZGl0aW9uIHtcbiAgd2lkdGg6IDE1JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm9yZ2FuaXNhdGlvbi1pbmZvX19hZGRyZXNzLS1hZGRpdGlvbiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDEwcHgpOyB9IH1cblxuLyoqXHJcbiAqIFppcGNvZGUgJiBDaXR5LlxyXG4gKi9cbi5vcmdhbmlzYXRpb24taW5mb19fYWRkcmVzcy0temlwY29kZSxcbi5vcmdhbmlzYXRpb24taW5mb19fYWRkcmVzcy0tY2l0eSxcbi5vcmdhbmlzYXRpb24taW5mb19fYWRkcmVzcy0tZW1haWwge1xuICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDEwcHgpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAub3JnYW5pc2F0aW9uLWluZm9fX2FkZHJlc3MtLXppcGNvZGUsXG4gICAgLm9yZ2FuaXNhdGlvbi1pbmZvX19hZGRyZXNzLS1jaXR5LFxuICAgIC5vcmdhbmlzYXRpb24taW5mb19fYWRkcmVzcy0tZW1haWwge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKipcclxuICogUGhvbmVudW1iZXIgMS5cclxuICovXG4ub3JnYW5pc2F0aW9uLWluZm9fX2FkZHJlc3MtLXBob25lMSB7XG4gIG1hcmdpbi10b3A6IDgwcHg7IH1cblxuLyoqXHJcbiAqIE5leHQgc3RlcCBidXR0b24uXHJcbiAqL1xuLnJlZ2lzdGVyX19mb3JtLS1uZXh0c3RlcCB7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbi10b3A6IDYwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5yZWdpc3Rlcl9fZm9ybS0tbmV4dHN0ZXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuXG4udXNlcmluZm8ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxyXG4gKiBGaXJzdG5hbWUgKyBsYXN0bmFtZS5cclxuICovXG4udXNlcmluZm9fX2Zvcm0tLWZpcnN0bmFtZSxcbi51c2VyaW5mb19fZm9ybS0tbGFzdG5hbWUge1xuICB3aWR0aDogMzAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAudXNlcmluZm9fX2Zvcm0tLWZpcnN0bmFtZSxcbiAgICAudXNlcmluZm9fX2Zvcm0tLWxhc3RuYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyoqXHJcbiAqIEluaXRpYWxzICsgaW5zZXJ0aW9uLlxyXG4gKi9cbi51c2VyaW5mb19fZm9ybS0taW5pdGlhbHMsXG4udXNlcmluZm9fX2Zvcm0tLWluc2VydGlvbiB7XG4gIHdpZHRoOiAxNSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC51c2VyaW5mb19fZm9ybS0taW5pdGlhbHMsXG4gICAgLnVzZXJpbmZvX19mb3JtLS1pbnNlcnRpb24ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAxMHB4KTsgfSB9XG5cbi8qKlxyXG4gKiBUZXJtcyAmIGNvbmRpdGlvbnMuXHJcbiAqL1xuLmNyZWF0ZWFjY291bnRfX3Rlcm1zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLmNyZWF0ZWFjY291bnRfX3Rlcm1zIGlucHV0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcmVhdGVhY2NvdW50X190ZXJtcyBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMjVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgei1pbmRleDogMzsgfVxuICAuY3JlYXRlYWNjb3VudF9fdGVybXMgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIGNvbG9yOiAjMDZhNjhhOyB9XG4gICAgLmNyZWF0ZWFjY291bnRfX3Rlcm1zIGE6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQ6ICMwNmE2OGE7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAuY3JlYXRlYWNjb3VudF9fdGVybXM6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnB4O1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxODBtcztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDZhNjhhO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiAzcHggM3B4IDFweCAwICNlMGUwZTA7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmNyZWF0ZWFjY291bnRfX3Rlcm1zLmlzLWFjdGl2ZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZhNjhhOyB9XG5cbi8qKlxyXG4gKiBGaW5hbCBzdWJtaXQgYnV0dG9uXHJcbiAqL1xuLnJlZ2lzdGVyX19mb3JtLS1zdWJtaXQgYnV0dG9uIHtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luLXRvcDogODBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnJlZ2lzdGVyX19mb3JtLS1zdWJtaXQgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyoqXHJcbiAqIENvbHVtbnMgaW4gdGhlIHJlZ2lzdGVyLS1zdWNjZXNzIHBhcnRpYWwuXHJcbiAqL1xuLnJlZ2lzdGVyX19zdWNjZXNzLS1jb2x1bW5zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG5cbi8qKlxyXG4gKiBTaW5nbGUgY29sdW1uLlxyXG4gKi9cbi5yZWdpc3Rlcl9fc3VjY2Vzcy0tY29sdW1uIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAxMHB4KTtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgcGFkZGluZzogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDQwcHggMCByZ2JhKDIxNSwgMjE1LCAyMTUsIDAuNSk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5yZWdpc3Rlcl9fc3VjY2Vzcy0tY29sdW1uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyoqXHJcbiAqIENvbHVtbiB0aXRsZS5cclxuICovXG4ucmVnaXN0ZXJfX3N1Y2Nlc3MtLWNvbHVtbi10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGNvbG9yOiAjNjA2MDYwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLyoqXHJcbiAqIENvbHVtbiBjb250ZW50LlxyXG4gKi9cbi5yZWdpc3Rlcl9fc3VjY2Vzcy0tY29sdW1uLWNvbnRlbnQge1xuICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcbiAgY29sb3I6ICM2MDYwNjA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cblxuLnJlZ2lzdGVyX19zdWNjZXNzLS1pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIGNvbG9yOiAjMDZhNjhhO1xuICBmb250LXNpemU6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucmVnaXN0ZXJfX3N1Y2Nlc3MtLWltYWdlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDg1cHg7XG4gICAgaGVpZ2h0OiA4NXB4O1xuICAgIG1hcmdpbjogYXV0byBhdXRvIDIwcHg7IH1cblxuLm1lc3NhZ2VzIC5cXDMyIHtcbiAgY29sb3I6ICNlMjMwMzA7IH1cblxuLnJlZ2lzdGVyX19zdWNjZXMtYWdlbmRhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzQycHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLyoqXHJcbiAqIFJlZ2lzdGVyIGhlbHAgYmxvY2suXHJcbiAqL1xuLnJlZ2lzdGVyLWhlbHAge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxMjBweDtcbiAgYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgYm9yZGVyOiAzcHggc29saWQgI2M5YTkwMDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5yZWdpc3Rlci1oZWxwIHtcbiAgICAgIHJpZ2h0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnJlZ2lzdGVyLWhlbHAge1xuICAgICAgcmlnaHQ6IDEyMHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnJlZ2lzdGVyLWhlbHAge1xuICAgICAgcmlnaHQ6IDIwMHB4OyB9IH1cbiAgLnJlZ2lzdGVyLWhlbHAuaXMtYWN0aXZlIHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlOyB9XG4gICAgLnJlZ2lzdGVyLWhlbHAuaXMtYWN0aXZlIC5yZWdpc3Rlci1oZWxwX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7IH1cbiAgICAucmVnaXN0ZXItaGVscC5pcy1hY3RpdmUgLnJlZ2lzdGVyLWhlbHBfX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTsgfVxuXG4ucmVnaXN0ZXItaGVscCAudG9nZ2xlcyBzdmcge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnJlZ2lzdGVyLWhlbHAgLmpzLWV4cGFuZCBzdmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5yZWdpc3Rlci1oZWxwIC5qcy1jb21wcmVzcyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnJlZ2lzdGVyLWhlbHAgLmpzLWNvbXByZXNzIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxuXG4ucmVnaXN0ZXItaGVscF9fdGl0bGUge1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgY29sb3I6ICNjOWE5MDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ucmVnaXN0ZXItaGVscF9fY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogNTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gIGNvbG9yOiAjNjA2MDYwOyB9XG4gIC5yZWdpc3Rlci1oZWxwX19jb250ZW50IHVsIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5yZWdpc3Rlci1oZWxwX19jb250ZW50IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5yZWdpc3Rlci1oZWxwX19jb250ZW50IHN2ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNHB4O1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKipcclxuICogRXJyb3IgbWVzc2FnZS5cclxuICovXG4ucmVnaXN0ZXIgLmVycm9yLW1lc3NhZ2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tbGVmdDogMzAlO1xuICBwYWRkaW5nOiA4MHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmVlZjI7XG4gIGNvbG9yOiAjNjA2MDYwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5yZWdpc3RlciAuZXJyb3ItbWVzc2FnZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5yZWdpc3RlciAuZXJyb3ItbWVzc2FnZSBzdmcge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBjb2xvcjogI2UxNTY3OTsgfVxuICAucmVnaXN0ZXIgLmVycm9yLW1lc3NhZ2UgaDIge1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIGNvbG9yOiAjNjA2MDYwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnJlZ2lzdGVyIC5lcnJvci1tZXNzYWdlIC5qcy1jbG9zZS1lcnJvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICByaWdodDogMjBweDtcbiAgICBjb2xvcjogI2UxNTY3OTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5yZWdpc3RlciAuZXJyb3ItbWVzc2FnZSAuanMtY2xvc2UtZXJyb3Igc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5yZWdpc3RlciAuZXJyb3ItbWVzc2FnZS5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFN1Ym1lbnVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zdWJtZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7IH1cblxuLnN1Ym1lbnUgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2UwZTBlMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5zdWJtZW51IGxpIHtcbiAgICAgIGJvcmRlci10b3A6IDA7IH0gfVxuICAuc3VibWVudSBsaS5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNiwgMTEwLCAxNjYsIDAuMSk7XG4gICAgY29sb3I6ICM3ZTZlYTY7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAuc3VibWVudSBsaS5hY3RpdmUgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7IH0gfVxuICAuc3VibWVudSBsaS5hY3RpdmUgPiAuc3Vic3VibWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnN1Ym1lbnUgbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE0cHggNnB4O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXMgZWFzZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLnN1Ym1lbnUgbGkgc3ZnIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDIxcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gIC5zdWJtZW51IGxpLmlzLWFjdGl2ZSAuc3VibWVudV9fYXJyb3cge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZXNtb2tlOyB9XG5cbi5zdWJtZW51X19hcnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxM3B4O1xuICByaWdodDogNXB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXM7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc3VibWVudV9fYXJyb3cgPiAuaW5saW5lLWljb24ge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uc3Vic3VibWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN1YnN1Ym1lbnUgbGkge1xuICBib3JkZXItdG9wOiAwOyB9XG5cbi5zdWJzdWJtZW51IGxpID4gYSB7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29sb3JcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBDb2xvciB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgYmxhY2stMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWJsYWNrLTEwMCB7XG4gIGNvbG9yOiBibGFjazsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgIGJsYWNrLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJsYWNrLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICMwZjBlMGQtMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWJsYWNrLTIwMCB7XG4gIGNvbG9yOiAjMGYwZTBkOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzBmMGUwZC0yMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ibGFjay0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwZTBkOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICM0MDM2MzAtMzAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWJsYWNrLTMwMCB7XG4gIGNvbG9yOiAjNDAzNjMwOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzQwMzYzMC0zMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ibGFjay0zMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDAzNjMwOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICNlMGUwZTAtMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWdyZXktMTAwIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZTBlMGUwLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWdyZXktMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCB3aGl0ZXNtb2tlLTIwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ncmV5LTIwMCB7XG4gIGNvbG9yOiB3aGl0ZXNtb2tlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgd2hpdGVzbW9rZS0yMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ncmV5LTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2U7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgIzYwNjA2MC00MDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItZ3JleS00MDAge1xuICBjb2xvcjogIzYwNjA2MDsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICM2MDYwNjAtNDAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JleS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjA2MDYwOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgIHdoaXRlLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci13aGl0ZS0xMDAge1xuICBjb2xvcjogd2hpdGU7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCB3aGl0ZS0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci13aGl0ZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjZmZmOWY4LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1vcmFuZ2UtMTAwIHtcbiAgY29sb3I6ICNmZmY5Zjg7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZmZmOWY4LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLW9yYW5nZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWY4OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICNlMTVjMzctMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLW9yYW5nZS0yMDAge1xuICBjb2xvcjogI2UxNWMzNzsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNlMTVjMzctMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3Itb3JhbmdlLTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMTVjMzc7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgIzU0NDYzOC0zMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3Itb3JhbmdlLTMwMCB7XG4gIGNvbG9yOiAjNTQ0NjM4OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzU0NDYzOC0zMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1vcmFuZ2UtMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NDYzODsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjN2ExZDE1LTQwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1vcmFuZ2UtNDAwIHtcbiAgY29sb3I6ICM3YTFkMTU7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjN2ExZDE1LTQwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLW9yYW5nZS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2ExZDE1OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICNmZmVlZjItNTAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItcmVkLTUwIHtcbiAgY29sb3I6ICNmZmVlZjI7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZmZlZWYyLTUwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItcmVkLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWVmMjsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjZTE1Njc5LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1yZWQtMTAwIHtcbiAgY29sb3I6ICNlMTU2Nzk7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZTE1Njc5LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLXJlZC0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTE1Njc5OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICNlMjMwMzAtMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLXJlZC0yMDAge1xuICBjb2xvcjogI2UyMzAzMDsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNlMjMwMzAtMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItcmVkLTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMjMwMzA7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgIzdlNmVhNi0yMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItcHVycGxlLTIwMCB7XG4gIGNvbG9yOiAjN2U2ZWE2OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzdlNmVhNi0yMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1wdXJwbGUtMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdlNmVhNjsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjZTVmNmYzLTUwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWdyZWVuLTUwIHtcbiAgY29sb3I6ICNlNWY2ZjM7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZTVmNmYzLTUwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JlZW4tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVmNmYzOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICMwNmE2OGEtMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWdyZWVuLTIwMCB7XG4gIGNvbG9yOiAjMDZhNjhhOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzA2YTY4YS0yMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ncmVlbi0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZhNjhhOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICNjOWE5MDAtMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLXllbGxvdy0yMDAge1xuICBjb2xvcjogI2M5YTkwMDsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNjOWE5MDAtMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3IteWVsbG93LTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOWE5MDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgT2JqZWN0IEZpdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIE9iamVjdCBmaXQuXHJcbiAqXHJcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXHJcbiAqL1xuLyoqXHJcbiAgICogYG9iamVjdC1maXRgIGZpbGwgdXRpbGl0eSBjbGFzcy5cclxuICAgKi9cbi5maWxsIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogZmlsbDtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBmaWxsOyB9XG5cbi8qKlxyXG4gICAqIGBvYmplY3QtZml0YCBjb250YWluIHV0aWxpdHkgY2xhc3MuXHJcbiAgICovXG4uY29udGFpbiB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IGNvbnRhaW47XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4vKipcclxuICAgKiBgb2JqZWN0LWZpdGAgY292ZXIgdXRpbGl0eSBjbGFzcy5cclxuICAgKi9cbi5jb3ZlciB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IGNvdmVyO1wiO1xuICAvKiAxICovXG4gIG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi8qKlxyXG4gICAqIGBvYmplY3QtZml0YCBub25lIHV0aWxpdHkgY2xhc3MuXHJcbiAgICovXG4ubm9uZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IG5vbmU7XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogbm9uZTsgfVxuXG4vKipcclxuICAgKiBgb2JqZWN0LWZpdGAgc2NhbGUtZG93biB1dGlsaXR5IGNsYXNzLlxyXG4gICAqL1xuLnNjYWxlLWRvd24ge1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBzY2FsZS1kb3duO1wiO1xuICAvKiAxICovXG4gIG9iamVjdC1maXQ6IHNjYWxlLWRvd247IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUG9zaXRpb25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBQb3NpdGlvbiB1dGlsaXR5IGNsYXNzLlxyXG4gKi9cbi5zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRleHRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xuLnRleHQtZGVmYXVsdC14cyB7XG4gIGZvbnQtZmFtaWx5OiBcIkRvc2lzXCI7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGV4dC1kZWZhdWx0LXNtIHtcbiAgICBmb250LWZhbWlseTogXCJEb3Npc1wiOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGV4dC1kZWZhdWx0LW1kIHtcbiAgICBmb250LWZhbWlseTogXCJEb3Npc1wiOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAudGV4dC1kZWZhdWx0LWxnIHtcbiAgICBmb250LWZhbWlseTogXCJEb3Npc1wiOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRleHQtZGVmYXVsdC14bCB7XG4gICAgZm9udC1mYW1pbHk6IFwiRG9zaXNcIjsgfSB9XG5cbi8qKlxyXG4gKiBUZXh0IHNpemUgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cbi50ZXh0LWgxLXhzIHtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LXNpemU6IDMuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTYyNWVtOyB9XG5cbi50ZXh0LWgyLXhzIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXNpemU6IDIuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0MjllbTsgfVxuXG4udGV4dC1oMy14cyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIwODMzZW07IH1cblxuLnRleHQtaDQteHMge1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBsaW5lLWhlaWdodDogMS40NTQ1NWVtOyB9XG5cbi50ZXh0LWg1LXhzIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfVxuXG4udGV4dC1oNi14cyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc4ZW07IH1cblxuLnRleHQtcC14cyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ZXh0LWgxLXNtIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTYyNWVtOyB9XG4gIC50ZXh0LWgyLXNtIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjE0MjllbTsgfVxuICAudGV4dC1oMy1zbSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIwODMzZW07IH1cbiAgLnRleHQtaDQtc20ge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40NTQ1NWVtOyB9XG4gIC50ZXh0LWg1LXNtIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfVxuICAudGV4dC1oNi1zbSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc3Nzc4ZW07IH1cbiAgLnRleHQtcC1zbSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRleHQtaDEtbWQge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1ZW07IH1cbiAgLnRleHQtaDItbWQge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yMTQyOWVtOyB9XG4gIC50ZXh0LWgzLW1kIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjA4MzNlbTsgfVxuICAudGV4dC1oNC1tZCB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1NDU1ZW07IH1cbiAgLnRleHQtaDUtbWQge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9XG4gIC50ZXh0LWg2LW1kIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzc3NzhlbTsgfVxuICAudGV4dC1wLW1kIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAudGV4dC1oMS1sZyB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVlbTsgfVxuICAudGV4dC1oMi1sZyB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIxNDI5ZW07IH1cbiAgLnRleHQtaDMtbGcge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG4gIC50ZXh0LWg0LWxnIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU0NTVlbTsgfVxuICAudGV4dC1oNS1sZyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42ZW07IH1cbiAgLnRleHQtaDYtbGcge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43Nzc3OGVtOyB9XG4gIC50ZXh0LXAtbGcge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudGV4dC1oMS14bCB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVlbTsgfVxuICAudGV4dC1oMi14bCB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIxNDI5ZW07IH1cbiAgLnRleHQtaDMteGwge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG4gIC50ZXh0LWg0LXhsIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU0NTVlbTsgfVxuICAudGV4dC1oNS14bCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42ZW07IH1cbiAgLnRleHQtaDYteGwge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43Nzc3OGVtOyB9XG4gIC50ZXh0LXAteGwge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07IH0gfVxuXG4vKipcclxuICogVGV4dCBhbGlnbm1lbnQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cbi50ZXh0LWxlZnQteHMge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0LXhzIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyLXhzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRleHQtbGVmdC1zbSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAudGV4dC1yaWdodC1zbSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnRleHQtY2VudGVyLXNtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ZXh0LWxlZnQtbWQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnRleHQtcmlnaHQtbWQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC50ZXh0LWNlbnRlci1tZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAudGV4dC1sZWZ0LWxnIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50ZXh0LXJpZ2h0LWxnIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAudGV4dC1jZW50ZXItbGcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50ZXh0LWxlZnQteGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnRleHQtcmlnaHQteGwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC50ZXh0LWNlbnRlci14bCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLyoqXHJcbiAqIEZvbnQgd2VpZ2h0IHV0aWxpdHkgY2xhc3Nlcy5cclxuICpcclxuICogMS4gTXVsdGlwbHkgbG9vcGVkIGludGVnZXIgYnkgMTAwIGZvciBjb3JyZWN0IGZvbnQgd2VpZ2h0IHZhbHVlLlxyXG4gKi9cbi50ZXh0LTEwMC14cyB7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7IH1cblxuLnRleHQtMjAwLXhzIHtcbiAgZm9udC13ZWlnaHQ6IDIwMDsgfVxuXG4udGV4dC0zMDAteHMge1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi50ZXh0LTQwMC14cyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnRleHQtNTAwLXhzIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4udGV4dC02MDAteHMge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi50ZXh0LTcwMC14cyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnRleHQtODAwLXhzIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuXG4udGV4dC05MDAteHMge1xuICBmb250LXdlaWdodDogOTAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRleHQtMTAwLXNtIHtcbiAgICBmb250LXdlaWdodDogMTAwOyB9XG4gIC50ZXh0LTIwMC1zbSB7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDsgfVxuICAudGV4dC0zMDAtc20ge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLnRleHQtNDAwLXNtIHtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC50ZXh0LTUwMC1zbSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAudGV4dC02MDAtc20ge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnRleHQtNzAwLXNtIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC50ZXh0LTgwMC1zbSB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuICAudGV4dC05MDAtc20ge1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ZXh0LTEwMC1tZCB7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuICAudGV4dC0yMDAtbWQge1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiAgLnRleHQtMzAwLW1kIHtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC50ZXh0LTQwMC1tZCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAudGV4dC01MDAtbWQge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLnRleHQtNjAwLW1kIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC50ZXh0LTcwMC1tZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudGV4dC04MDAtbWQge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7IH1cbiAgLnRleHQtOTAwLW1kIHtcbiAgICBmb250LXdlaWdodDogOTAwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAudGV4dC0xMDAtbGcge1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7IH1cbiAgLnRleHQtMjAwLWxnIHtcbiAgICBmb250LXdlaWdodDogMjAwOyB9XG4gIC50ZXh0LTMwMC1sZyB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAudGV4dC00MDAtbGcge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnRleHQtNTAwLWxnIHtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC50ZXh0LTYwMC1sZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAudGV4dC03MDAtbGcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnRleHQtODAwLWxnIHtcbiAgICBmb250LXdlaWdodDogODAwOyB9XG4gIC50ZXh0LTkwMC1sZyB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50ZXh0LTEwMC14bCB7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuICAudGV4dC0yMDAteGwge1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiAgLnRleHQtMzAwLXhsIHtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC50ZXh0LTQwMC14bCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAudGV4dC01MDAteGwge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLnRleHQtNjAwLXhsIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC50ZXh0LTcwMC14bCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudGV4dC04MDAteGwge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7IH1cbiAgLnRleHQtOTAwLXhsIHtcbiAgICBmb250LXdlaWdodDogOTAwOyB9IH1cblxuLyoqXHJcbiAqIFRleHQgdHJhbnNmb3JtIHVpdGxpdHkgY2xhc3Nlcy5cclxuICovXG4udGV4dC1jYXBpdGFsaXplLXhzIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQtdXBwZXJjYXNlLXhzIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC1sb3dlcmNhc2UteHMge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LW5vbmUteHMge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC1mdWxsLXdpZHRoLXhzIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGV4dC1jYXBpdGFsaXplLXNtIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAudGV4dC11cHBlcmNhc2Utc20ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRleHQtbG93ZXJjYXNlLXNtIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gIC50ZXh0LW5vbmUtc20ge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC50ZXh0LWZ1bGwtd2lkdGgtc20ge1xuICAgIHRleHQtdHJhbnNmb3JtOiBmdWxsLXdpZHRoOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGV4dC1jYXBpdGFsaXplLW1kIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAudGV4dC11cHBlcmNhc2UtbWQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRleHQtbG93ZXJjYXNlLW1kIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gIC50ZXh0LW5vbmUtbWQge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC50ZXh0LWZ1bGwtd2lkdGgtbWQge1xuICAgIHRleHQtdHJhbnNmb3JtOiBmdWxsLXdpZHRoOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAudGV4dC1jYXBpdGFsaXplLWxnIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAudGV4dC11cHBlcmNhc2UtbGcge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRleHQtbG93ZXJjYXNlLWxnIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gIC50ZXh0LW5vbmUtbGcge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC50ZXh0LWZ1bGwtd2lkdGgtbGcge1xuICAgIHRleHQtdHJhbnNmb3JtOiBmdWxsLXdpZHRoOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRleHQtY2FwaXRhbGl6ZS14bCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLnRleHQtdXBwZXJjYXNlLXhsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50ZXh0LWxvd2VyY2FzZS14bCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuICAudGV4dC1ub25lLXhsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAudGV4dC1mdWxsLXdpZHRoLXhsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogZnVsbC13aWR0aDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFZlcnRpY2FsIFJoeXRobVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnZyLTAge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cblxuLnZyLTgge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cblxuLnZyLTE2IHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuXG4udnItMjQge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG5cbi52ci0zMiB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7IH1cblxuLnZyLTQwIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4udnItNDgge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4OyB9XG5cbi52ci01NiB7XG4gIG1hcmdpbi1ib3R0b206IDU2cHg7IH1cblxuLnZyLTY0IHtcbiAgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxuXG4udnItNzIge1xuICBtYXJnaW4tYm90dG9tOiA3MnB4OyB9XG5cbi52ci04MCB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgWi1pbmRleFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFV0aWxpdHkgY2xhc3NlcyBmb3IgbWFuaXB1bGF0aW5nIHN0YWNraW5nIG9yZGVyIGluIEhUTUwuXHJcbiAqL1xuLnotaW5kZXgtMCB7XG4gIHotaW5kZXg6IDA7IH1cblxuLnotaW5kZXgtMSB7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi56LWluZGV4LTIge1xuICB6LWluZGV4OiAyMDsgfVxuXG4uei1pbmRleC0zIHtcbiAgei1pbmRleDogMzA7IH1cblxuLnotaW5kZXgtNCB7XG4gIHotaW5kZXg6IDQwOyB9XG5cbi56LWluZGV4LTUge1xuICB6LWluZGV4OiA1MDsgfVxuXG4uei1pbmRleC02IHtcbiAgei1pbmRleDogNjA7IH1cblxuLnotaW5kZXgtNyB7XG4gIHotaW5kZXg6IDcwOyB9XG5cbi56LWluZGV4LTgge1xuICB6LWluZGV4OiA4MDsgfVxuXG4uei1pbmRleC05IHtcbiAgei1pbmRleDogOTA7IH1cblxuLnotaW5kZXgtMTAge1xuICB6LWluZGV4OiAxMDA7IH1cbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHQub3dsLXN0YWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7XG5cdFx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cdFx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi9cblx0fVxuXG5cdC5vd2wtc3RhZ2U6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiLlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdH1cblxuXHQub3dsLXN0YWdlLW91dGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG5cdH1cblxuXHQub3dsLXdyYXBwZXIsXG5cdC5vd2wtaXRlbXtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdH1cblxuXHQub3dsLWl0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtaW4taGVpZ2h0OiAxcHg7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHQtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG5cdH1cblx0Lm93bC1pdGVtIGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQub3dsLW5hdi5kaXNhYmxlZCxcblx0Lm93bC1kb3RzLmRpc2FibGVkIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm93bC1uYXYgLm93bC1wcmV2LFxuXHQub3dsLW5hdiAub3dsLW5leHQsXG5cdC5vd2wtZG90IHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiBidXR0b24ub3dsLXByZXYsXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcblx0YnV0dG9uLm93bC1kb3Qge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdHBhZGRpbmc6MCFpbXBvcnRhbnQ7XG5cdFx0Zm9udDogaW5oZXJpdDtcblx0fVxuXG5cdCYub3dsLWxvYWRlZCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1sb2FkaW5nIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ji5vd2wtaGlkZGVuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Ji5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXG5cdCYub3dsLWRyYWcgLm93bC1pdGVtIHtcblx0XHR0b3VjaC1hY3Rpb246IHBhbi15O1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQmLm93bC1ncmFiIHtcblx0XHRjdXJzb3I6IG1vdmU7XG5cdFx0Y3Vyc29yOiBncmFiO1xuXHR9XG5cblx0Ji5vd2wtcnRsIHtcblx0XHRkaXJlY3Rpb246IHJ0bDtcblx0fVxuXG5cdCYub3dsLXJ0bCAub3dsLWl0ZW0ge1xuXHRcdGZsb2F0OiByaWdodDtcblx0fVxufVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbHtcblx0LmFuaW1hdGVkIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcblx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXHR9XG5cdC5vd2wtYW5pbWF0ZWQtaW4ge1xuXHRcdHotaW5kZXg6IDA7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1vdXQge1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblx0LmZhZGVPdXQge1xuXHRcdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuIiwiLypcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cblxuLm93bC1oZWlnaHQge1xuXHR0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luXG4gKi9cblxuLm93bC1jYXJvdXNlbCB7XG5cdC5vd2wtaXRlbSB7XG5cdFx0Lm93bC1sYXp5IHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdFx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdFx0XHRjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcblx0XHQgKi9cblx0XHQub3dsLWxhenlbc3JjXj1cIlwiXSwgLm93bC1sYXp5Om5vdChbc3JjXSkge1xuXHRcdFx0bWF4LWhlaWdodDogMDtcblx0XHR9XG5cblx0XHRpbWcub3dsLWxhenkge1xuXHRcdFx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0XHR9XG5cdH1cbn1cblxuIiwiJG93bC1pbWFnZS1wYXRoOiBcIlwiICFkZWZhdWx0O1xuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2Vse1xuXHQub3dsLXZpZGVvLXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogIzAwMDtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdHdpZHRoOiA4MHB4O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tbGVmdDogLTQwcHg7XG5cdFx0bWFyZ2luLXRvcDogLTQwcHg7XG5cdFx0YmFja2dyb3VuZDogdXJsKFwiI3skb3dsLWltYWdlLXBhdGh9b3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ei1pbmRleDogMTtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuXHQub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLXZpZGVvLXRuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tZnJhbWUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQmFzZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBtYXJnaW4gYW5kIHBhZGRpbmcgZnJvbSBldmVyeSBzZWxlY3RvciBpbmNsdWRpbmcgdGhlaXJcclxuICogcHN1ZWRvIHNlbGVjdG9ycy5cclxuICpcclxuICogMS4gTW9yZSBzZW5zaWJsZSBkZWZhdWx0IGJveCBzaXppbmcuXHJcbiAqICAgIChjc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UpLlxyXG4gKi9cclxuXHJcbiosXHJcbio6OmJlZm9yZSxcclxuKjo6YWZ0ZXIge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTZXQgaGVpZ2h0IG9mIHRoZSBkb2N1bWVudCB0byBtYXhpdW0gdmlld3BvcnQgaGVpZ2h0LlxyXG4gKlxyXG4gKiAxLiBTZXQgcm9vdCBmb250IHNpemUgdG8gMTAuXHJcbiAqL1xyXG5cclxuaHRtbCB7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICBmb250LXNpemU6IDYyLjUlOyAvKiAxICovXHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTZXQgbWluaW1hbCBoZWlnaHQgb2YgdGhlIGJvZHkgdG8gbWF4aW11bSB2aWV3cG9ydCBoZWlnaHQgdG9cclxuICogbWF0Y2ggdGhlIGRvY3VtZW50J3MgaGVpZ2h0LlxyXG4gKlxyXG4gKiAxLiBGaXJlZm94IDI1Ky5cclxuICogMi4gQ2hyb21lIDUrLlxyXG4gKi9cclxuXHJcbmJvZHkge1xyXG4gIEBpbmNsdWRlIHRleHQoJGJvZHktdGV4dCk7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5LTQwMDtcclxuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8qIDEgKi9cclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogU2VsZWN0aW9uIGNvbG9yLlxyXG4gKi9cclxuXHJcbjo6c2VsZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3Itb3JhbmdlLTIwMDtcclxuICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNldHRpbmdzIGZvciB0aGUgcGFkZGluZyBvbiBkaWZmZXJlbnQgcGFnZXNcclxuICpcclxuICogSWYgd2UncmUgb24gdGhlIGhvbWUgcGFnZSwgd2Ugd2FudCBkaWZmZXJlbnQgdmFsdWVzIGJlY2F1c2Ugb2YgdGhlIHNsaWRlci5cclxuICovXHJcblxyXG4uaXMtaG9tZS1wYWdlIHtcclxuICBcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTkwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTkwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGYWRlIGluIGNsYXNzICh1c2VkIGZvciBsb2FkaW5nIGEgcGFnZSkuXHJcbiAqL1xyXG5cclxuLmJvZHlfX2ZhZGUtaW4ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHRyYW5zaXRpb246IGFsbCAxNTAwbXMgZWFzZTtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2stMjAwO1xyXG4gIHotaW5kZXg6IDk5OTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhvbWVwYWdlIGxvYWRlci4gVGhpcyBvbmx5IGFwcGxpZXMgdG8gdGhlIGhvbWUgcGFnZSwgaGVuY2UgdGhlIGNsYXNzbmFtZS5cclxuICovXHJcblxyXG4uaXMtaG9tZS1sb2FkZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjay0yMDA7XHJcbiAgei1pbmRleDogOTk5O1xyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBmb250YXdlc29tZSgnZjMzMicsICdSZWd1bGFyJyk7XHJcbiAgfVxyXG5cclxuICBzdmcge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBtYXJnaW4tdG9wOiA1MHZoO1xyXG4gICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgYW5pbWF0aW9uOiBwdWxzZSAyMDAwbXMgZWFzZSBpbmZpbml0ZTtcclxuICB9XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gTWl4aW5zXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBDb250YWluZXJcclxuLy8gQ2VudGVyIGFsaWducyBlbGVtZW50IHdpdGggZ2l2ZW4gbWF4aW11bSB3aWR0aCwgcGFkZGluZywgYW5kIG1hcmdpbnMgdG9wXHJcbi8vIGFuZCBib3R0b20uXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGdhcCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgY29udGFpbmVyKDEwMjRweCwgMjBweCk7XHJcbkBtaXhpbiBjb250YWluZXIoJHdpZHRoOiAkZ3JpZC13aWR0aCwgJGdhcDogJGdyaWQtZ2FwKSB7XHJcbiAgQGlmICh0eXBlLW9mKCR3aWR0aCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRnYXApID09IG51bWJlcikge1xyXG4gICAgQGlmICgkZ2FwICE9IDApIHtcclxuICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7JHdpZHRofSArICN7KCRnYXAgKiAyKX0pO1xyXG4gICAgICBwYWRkaW5nOiAwICRnYXA7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgbWF4LXdpZHRoOiAkd2lkdGg7XHJcbiAgICB9XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdBcmd1bWVudHMgYCR3aWR0aGAgYW5kIGAkZ2FwYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIFNlY3Rpb25cclxuLy8gQWRkIHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgdG8gZWxlbWVudCB1c2luZyBwYWRkaW5ncy5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICR0b3AgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGJvdHRvbSAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgc2VjdGlvbigxMDBweCwgMTAwcHgpO1xyXG5AbWl4aW4gc2VjdGlvbigkdG9wOiAwLCAkYm90dG9tOiAwKSB7XHJcbiAgQGlmICh0eXBlLW9mKCR0b3ApID09IG51bWJlciBhbmQgdHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIpIHtcclxuICAgIHBhZGRpbmc6ICR0b3AgMCAkYm90dG9tO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdBcmd1bWVudHMgYCR0b3BgIGFuZCBgYm90dG9tYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEZvbnRcclxuLy8gQWRkcyBgcmVtYCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYSBmYWxsYmFja1xyXG4vLyBgcHhgIHVuaXQgYmFzZWQgZm9udCBzaXplIHByb3BlcnR5LCBhbmQgYSBgZW1gIHVuaXQgYmFzZWQgbGluZSBoZWlnaHRcclxuLy8gcHJvcGVydHkgdG8gYW55IHJ1bGUuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZm9udC1zaXplIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRsaW5lLWhlaWdodCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDI0cHgpO1xyXG5AbWl4aW4gZm9udCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcclxuICBAaWYgKHR5cGUtb2YoJGZvbnQtc2l6ZSkgPT0gbnVtYmVyIGFuZCB1bml0KCRmb250LXNpemUpID09ICdweCcpIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUpOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAZXJyb3IgJ1ZhbHVlIGZvciBgI3skZm9udC1zaXplfWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0JztcclxuICB9XHJcbiAgQGlmICh0eXBlLW9mKCRsaW5lLWhlaWdodCkgPT0gbnVtYmVyIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gJ3B4Jykge1xyXG4gICAgbGluZS1oZWlnaHQ6ICgoJGxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZSkgKiAxZW0pO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdWYWx1ZSBmb3IgYCN7JGxpbmUtaGVpZ2h0fWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0JztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBUZXh0XHJcbi8vIFNob3J0aGFuZCBmb3IgdGhlIGZvbnQgbWl4aW4sIHJ1bnMgdGhlIGZvbnQgbWl4aW4gYmFzZWQgb24gYSBjb21tb25cclxuLy8gZGVtZWFub3VyIGV4aXN0aW5nIGJvdGggaW4gdGhlIGAkZm9udC1zaXplYCBhbmQgdGhlIGAkbGluZS1oZWlnaHRgIG1hcHMuXHJcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdmFsdWUgLSBTdHJpbmdcclxuLy8gQGV4YW1wbGVcclxuLy8gICBAaW5jbHVkZSB0ZXh0KCdwJyk7XHJcbkBtaXhpbiB0ZXh0KCR2YWx1ZSkge1xyXG4gIEBpZiAodHlwZS1vZigkdmFsdWUpID09IHN0cmluZykge1xyXG4gICAgQGluY2x1ZGUgZm9udChtYXAtZ2V0KCRmb250LXNpemUsICR2YWx1ZSksIG1hcC1nZXQoJGxpbmUtaGVpZ2h0LCAkdmFsdWUpKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciAnVmFsdWUgc2hvdWxkIGJlIGEgc3RyaW5nJztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBGb250IEF3ZXNvbWVcclxuLy8gQWRkIEZvbnQgQXdlc29tZSBpY29ucyBhcyBwc3VlZG8gZWxlbWVudHMgYnkgdXNpbmcgdGhlaXIgdW5pY29kZS5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRjb250ZW50IC0gVW5pY29kZSBzdHJpbmcuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZmFtaWx5IC0gRm9udCBBd2Vzb21lIGZvbnQgZmFtaWx5IHN0cmluZy5cclxuLy8gQGV4YW1wbGVcclxuLy8gICBAaW5jbHVkZSBmb250YXdlc29tZSgnZjEwMCcsICdMaWdodCcpO1xyXG5AbWl4aW4gZm9udGF3ZXNvbWUoJGNvbnRlbnQsICRmYW1pbHkpIHtcclxuICBAaWYgKHR5cGUtb2YoJGZhbWlseSkgPT0gc3RyaW5nKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSAjeyRmYW1pbHl9JztcclxuICAgIGNvbnRlbnQ6IHVuaWNvZGUoJGNvbnRlbnQpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdBcmd1bWVudCBgJGZhbWlseWAgc2hvdWxkIGJlIGEgc3RyaW5nJztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBNZWRpYVxyXG4vLyBNZWRpYSBxdWVyaWVzIGFjY29yZGluZyB0byBcIlRoZSAxMDAlIENvcnJlY3QgV2F5IFRvIERvIENTUyBCcmVha3BvaW50c1wiXHJcbi8vIChodHRwczovL21lZGl1bS5mcmVlY29kZWNhbXAuY29tL3RoZS0xMDAtY29ycmVjdC13YXktdG8tZG8tY3NzLWJyZWFrcG9pbnRzLTg4ZDZhNWJhMTg2MikuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIEJyZWFrcG9pbnQgcGl4ZWwgdW5pdCB2YWx1ZS5cclxuLy8gQGV4YW1wbGVcclxuLy8gICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7fVxyXG5AbWl4aW4gbWVkaWEoJHNpemUpIHtcclxuICBAaWYgKCRzaXplID09ICdkZXNrdG9wJykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5MDBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5MDBweCkgYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQtdXAnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkgYW5kKG1heC13aWR0aDogODk5cHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDg5OXB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAncGhvbmUnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogNTk5cHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gVHlwb2dyYXBoeVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gRm9udCBmYW1pbHkgbWFwLlxyXG4kZm9udC1mYW1pbHk6IChcclxuICAnZGVmYXVsdCc6ICdEb3NpcydcclxuKTtcclxuXHJcbiRmb250LXByaW1hcnk6ICdEb3Npcyc7XHJcblxyXG5cclxuLy8gRm9udCBzaXplIG1hcC5cclxuJGZvbnQtc2l6ZTogKFxyXG4gICdoMSc6IDMycHgsXHJcbiAgJ2gyJzogMjhweCxcclxuICAnaDMnOiAyNHB4LFxyXG4gICdoNCc6IDIycHgsXHJcbiAgJ2g1JzogMjBweCxcclxuICAnaDYnOiAxOHB4LFxyXG4gICdwJzogMTZweFxyXG4pO1xyXG5cclxuXHJcbi8vIExpbmUgaGVpZ2h0IG1hcC5cclxuJGxpbmUtaGVpZ2h0OiAoXHJcbiAgJ2gxJzogNTBweCxcclxuICAnaDInOiAzNHB4LFxyXG4gICdoMyc6IDI5cHgsXHJcbiAgJ2g0JzogMzJweCxcclxuICAnaDUnOiAzMnB4LFxyXG4gICdoNic6IDMycHgsXHJcbiAgJ3AnOiAyNHB4XHJcbik7XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIEZ1bmN0aW9uc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gVW5pY29kZVxyXG4vLyBQcmVzZXJ2ZSBlc2NhcGVkIHVuaWNvZGUgc3RyaW5nLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEFuIHVuaWNvZGUgc3RyaW5nLlxyXG4vLyBAcmV0dXJuIHtTdHJpbmd9IEEgcHJlc2VydmVkIGVzY2FwZWQgdW5pY29kZSBzdHJpbmdcclxuLy8gc2Fzcy1saW50OmRpc2FibGUgcXVvdGVzXHJcbkBmdW5jdGlvbiB1bmljb2RlKCRzdHJpbmcpIHtcclxuICBAcmV0dXJuIHVucXVvdGUoXCJcXCdcIikgKyB1bnF1b3RlKHN0ci1pbnNlcnQoJHN0cmluZywgJ1xcXFwnLCAxKSkgKyB1bnF1b3RlKFwiXFwnXCIpO1xyXG59XHJcbi8vIHNhc3MtbGludDplbmFibGUgcXVvdGVzXHJcblxyXG5cclxuLy8gUkVNXHJcbi8vIENvbnZlcnQgcGl4ZWwgdW5pdHMgdG8gUkVNIHVuaXRzLlxyXG4vLyBAcGFyYW0ge051bWJlcn0gJHBpeGVscyAtIFBpeGVsIHZhbHVlLlxyXG4vLyBAcmV0dXJuIHsqfSAtIEEgY29udmVydGVkIGByZW1gIHVuaXQuXHJcbkBmdW5jdGlvbiByZW0oJHBpeGVscykge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgIEBlcnJvciAnVmFsdWUgZm9yIGAjeyRwaXhlbHN9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQuJztcclxuICB9XHJcbiAgQHJldHVybiAoKCRwaXhlbHMgLyAxMHB4KSAqIDFyZW0pO1xyXG59XHJcblxyXG5cclxuLy8gQ29sdW1uXHJcbi8vIENhbGN1bGF0ZSBnaXZlbiBjb2x1bW4gd2lkdGguXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1uIC0gVGhlIGFtb3VudCBvZiBjb2x1bW5zIHRvIHNwYW4uXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIFRoZSBhbW91bnQgb2YgY29sdW1ucyB0aGF0IGNhbiBiZSBzcGFubmVkLlxyXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gUGVyY2VudGFnZSB2YWx1ZS5cclxuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG4gIEByZXR1cm4gKCRjb2x1bW4gICogMTAwJSAvICRjb2x1bW5zKTtcclxufVxyXG5cclxuXHJcbi8vIENvbG9yXHJcbi8vIEdldCBhIGNvbG9yIHZhbHVlIGZyb20gdHdvIGxldmVscyBkZWVwIGluIHRoZSBgJGNvbG9yYCBtYXAuXHJcbi8vIEBwYXJhbSB7JHN0cmluZ30gJGtleSAtIEtleSBvZiB0aGUgY29sb3IgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIG9mIHRoZSBrZXkgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuLy8gQHJldHVybiB7Kn0gQSBIU0xBIGNvbG9yIHZhbHVlLlxyXG5AZnVuY3Rpb24gY29sb3IoJGtleSwgJHZhbHVlKSB7XHJcbiAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJGtleSksICR2YWx1ZSk7XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gQ29sb3JcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIENvbG9yIG1hcC5cclxuJGNvbG9yczogKFxyXG4gICdibGFjayc6IChcclxuICAgICcxMDAnOiByZ2JhKDAsIDAsIDAsIDEpLFxyXG4gICAgJzIwMCc6IHJnYmEoMTUsIDE0LCAxMywgMSksXHJcbiAgICAnMzAwJzogcmdiYSg2NCwgNTQsIDQ4LCAxKVxyXG4gICksXHJcbiAgJ2dyZXknOiAoXHJcbiAgICAnMTAwJzogcmdiYSgyMjQsIDIyNCwgMjI0LCAxKSxcclxuICAgICcyMDAnOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDEpLFxyXG4gICAgJzQwMCc6IHJnYmEoOTYsIDk2LCA5NiwgMSlcclxuICApLFxyXG4gICd3aGl0ZSc6IChcclxuICAgICcxMDAnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpXHJcbiAgKSxcclxuICAnb3JhbmdlJzogKFxyXG4gICAgJzEwMCc6IHJnYmEoMjU1LCAyNDksIDI0OCwgMSksXHJcbiAgICAnMjAwJzogcmdiYSgyMjUsIDkyLCA1NSwgMSksXHJcbiAgICAnMzAwJzogcmdiYSg4NCwgNzAsIDU2LCAxKSxcclxuICAgICc0MDAnOiByZ2JhKDEyMiwgMjksIDIxLCAxKVxyXG4gICksXHJcbiAgJ3JlZCc6IChcclxuICAgICc1MCc6IHJnYmEoMjU1LCAyMzgsIDI0MiwgMSksXHJcbiAgICAnMTAwJzogcmdiYSgyMjUsIDg2LCAxMjEsIDEpLFxyXG4gICAgJzIwMCc6IHJnYmEoMjI2LCA0OCwgNDgsIDEpXHJcbiAgKSxcclxuICAncHVycGxlJzogKFxyXG4gICAgJzIwMCc6IHJnYmEoMTI2LCAxMTAsIDE2NiwgMSlcclxuICApLFxyXG4gICdncmVlbic6IChcclxuICAgICc1MCc6IHJnYmEoMjI5LCAyNDYsIDI0MywgMSksXHJcbiAgICAnMjAwJzogcmdiYSg2LCAxNjYsIDEzOCwgMSlcclxuICApLFxyXG4gICd5ZWxsb3cnOiAoXHJcbiAgICAnMjAwJzogcmdiYSgyMDEsIDE2OSwgMCwgMSlcclxuICApXHJcbik7XHJcblxyXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBjbGFzcy1uYW1lLWZvcm1hdCBuby1jb2xvci1saXRlcmFscyBuby1pZHMgaWQtbmFtZS1mb3JtYXRcclxuXHJcbi8vIENvbG9yIHNob3J0aGFuZCB2YXJpYWJsZXMuXHJcbiRjb2xvci1ibGFjay0xMDA6ICAgICBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsYWNrJyksICcxMDAnKTtcclxuJGNvbG9yLWJsYWNrLTIwMDogICAgIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmxhY2snKSwgJzIwMCcpO1xyXG4kY29sb3ItYmxhY2stMzAwOiAgICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnMzAwJyk7XHJcblxyXG4kY29sb3ItZ3JleS0xMDA6ICAgICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmV5JyksICcxMDAnKTtcclxuJGNvbG9yLWdyZXktMjAwOiAgICAgIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JleScpLCAnMjAwJyk7XHJcbiRjb2xvci1ncmV5LTQwMDogICAgICBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZXknKSwgJzQwMCcpO1xyXG5cclxuJGNvbG9yLXdoaXRlLTEwMDogICAgIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnd2hpdGUnKSwgJzEwMCcpO1xyXG5cclxuJGNvbG9yLW9yYW5nZS0xMDA6ICAgIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnb3JhbmdlJyksICcxMDAnKTtcclxuJGNvbG9yLW9yYW5nZS0yMDA6ICAgIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnb3JhbmdlJyksICcyMDAnKTtcclxuJGNvbG9yLW9yYW5nZS0zMDA6ICAgIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnb3JhbmdlJyksICczMDAnKTtcclxuJGNvbG9yLW9yYW5nZS00MDA6ICAgIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnb3JhbmdlJyksICc0MDAnKTtcclxuXHJcbiRjb2xvci1yZWQtNTA6ICAgICAgICBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3JlZCcpLCAnNTAnKTtcclxuJGNvbG9yLXJlZC0xMDA6ICAgICAgIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncmVkJyksICcxMDAnKTtcclxuJGNvbG9yLXJlZC0yMDA6ICAgICAgIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncmVkJyksICcyMDAnKTtcclxuXHJcbiRjb2xvci1wdXJwbGUtMjAwOiAgICBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3B1cnBsZScpLCAnMjAwJyk7XHJcblxyXG4kY29sb3ItZ3JlZW4tNTA6ICAgICBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuJyksICc1MCcpO1xyXG4kY29sb3ItZ3JlZW4tMjAwOiAgICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbicpLCAnMjAwJyk7XHJcblxyXG4kY29sb3IteWVsbG93LTIwMDogICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd5ZWxsb3cnKSwgJzIwMCcpO1xyXG5cclxuLy8gUHJpbWFyeSBjb2xvci5cclxuJGNvbG9yLXByaW1hcnk6ICAgICAgICRjb2xvci1vcmFuZ2UtMjAwO1xyXG5cclxuJGNvbG9yLXNlY29uZGFyeTogICAgICRjb2xvci13aGl0ZS0xMDA7XHJcblxyXG4vL0JveCBzaGFkb3dcclxuJGJveC1zaGFkb3ctMTAwOiAgICAgIDNweCAzcHggMCAwICRjb2xvci1ncmV5LTEwMDtcclxuJGJveC1zaGFkb3ctMjAwOiAgICAgIDNweCAzcHggMXB4IDAgJGNvbG9yLWdyZXktMTAwO1xyXG4kYm94LXNoYWRvdy0zMDA6ICAgICAgMCAycHggNDBweCAwIHJnYmEoMjE1LCAyMTUsIDIxNSwgMC41KTtcclxuXHJcbi8vIHNhc3MtbGludDplbmFibGUgY2xhc3MtbmFtZS1mb3JtYXQgbm8tY29sb3ItbGl0ZXJhbHMgbm8taWRzIGlkLW5hbWUtZm9ybWF0XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFJlc2V0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQ3VzdG9tIHVzZXIgYWdlbnQgcmVzZXRzIGFuZCBvdmVycmlkZXMgdGhhdCBhcmUgbm90IHByZXNlbnQgaW5cclxuICogTm9ybWFsaXplIDguMC4wLiBUaGlzIG1vc3RseSByZW1vdmVzIHNvbWUgYW5ub3lpbmcgbWFyZ2luIGFuZCBwYWRkaW5nXHJcbiAqIGRlZmF1bHRzLCBib3JkZXIgcmFkaXVzLCBhbmQgb3V0bGluZXMuXHJcbiAqL1xyXG5cclxuYSB7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSBib3JkZXIgcmFkaXVzIG9uIENocm9tZSA2Mi4wKyBvbiBtYWNPUy5cclxuICovXHJcblxyXG5idXR0b24ge1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItcmFkaXVzOiAwOyAvKiAxICovXHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuZmllbGRzZXQge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuZmlndXJlIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICBmb250LXdlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuaHIge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB3aGl0ZSBzcGFjZS5cclxuICovXHJcblxyXG5pbWcge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSBpbmhlcml0ZWQgdXNlciBhZ2VudCBhcHBlYXJhbmNlLlxyXG4gKi9cclxuXHJcbmlucHV0LFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBhcHBlYXJhbmNlOiBub25lOyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gT25seSBhbGxvdyB2ZXJ0aWNhbCByZXNpemluZyB0byBwcmV2ZW50IHRoZSB0ZXh0YXJlYVxyXG4gKiAgICBmcm9tIG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIuXHJcbiAqL1xyXG5cclxudGV4dGFyZWEge1xyXG4gIHJlc2l6ZTogdmVydGljYWw7XHJcbn1cclxuXHJcbnVsLFxyXG5vbCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG59XHJcblxyXG5wIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gQ29sbGFwc2UgYm9yZGVycyB0byBwcmV2ZW50IGRvdWJsZSBzaWRlZCBib3JkZXJzLlxyXG4gKi9cclxuXHJcbnRhYmxlIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMSAqL1xyXG59XHJcblxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQnV0dG9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIERlZmF1bHQgYnV0dG9uIHN0eWxpbmcuXHJcbiAqL1xyXG5cclxuLmJ1dHRvbiB7XHJcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCdXR0b24gKHByaW1hcnkpLlxyXG4gKi9cclxuXHJcbi5idXR0b24tLW9yYW5nZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgcGFkZGluZzogMTBweCA0MHB4O1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgcGFkZGluZzogMTBweCA2MHB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1vcmFuZ2UtMjAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy0xMDA7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbi0td2hpdGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQnKSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHBhZGRpbmc6IDEwcHggNTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHBhZGRpbmc6IDJweCA0MHB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3Itc2Vjb25kYXJ5O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLXNlY29uZGFyeTtcclxuICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy0xMDA7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYm9yZGVyOiAzcHggc29saWQgJGNvbG9yLXNlY29uZGFyeTtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgfVxyXG59XHJcblxyXG4uYnV0dG9uLS13aGl0ZS1vcmFuZ2Vib3JkZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHBhZGRpbmc6IDEwcHggNDBweDtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICB9XHJcblxyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbjogMzBweCAwO1xyXG4gIHBhZGRpbmc6IDEwcHggNjBweDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3Itb3JhbmdlLTIwMDtcclxuICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctMTAwO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgfVxyXG59XHJcblxyXG4ud2lkdGgtNTAge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDU0JTtcclxuICBwYWRkaW5nOiAxNXB4IDQwcHg7XHJcbn1cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbnRlbnQgQ29uc3RyYWludFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFRoZSBjb250ZW50IGNvbnN0cmFpbnQgaXMgYSBjb25zdHJhaW50IGZvciBhbGwgdGhlIGNvbnRlbnQgd2l0aGluXHJcbiAqIHRoZSBkb2N1bWVudC4gSXQgY2FuIGJlIG1hbmlwdWxhdGVkIGJ5IENTUyBvciBKYXZhU2NyaXB0IHdpdGhvdXRcclxuICogaW5mbHVlbmNpbmcgdGhlIGJvZHkuXHJcbiAqL1xyXG5cclxuLmNvbnRlbnQtY29uc3RyYWludCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykgICB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjcwcHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgcGFkZGluZy10b3A6IDE5MHB4O1xyXG59XHJcbiIsIi8qIVxyXG4gKiBEYXRlcGlja2VyIHYxLjAuOFxyXG4gKiBodHRwczovL2Zlbmd5dWFuY2hlbi5naXRodWIuaW8vZGF0ZXBpY2tlclxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IENoZW4gRmVuZ3l1YW5cclxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXHJcbiAqXHJcbiAqIERhdGU6IDIwMTktMDYtMjNUMDg6MDc6MzcuMjA4WlxyXG4gKi9cclxuXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcclxuXHJcbi5kYXRlcGlja2VyLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAyMTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBsaW5lLWhlaWdodDogMzBweDtcclxuICB6LWluZGV4OiAtMTtcclxuICBkaXJlY3Rpb246IGx0cjtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XHJcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci1jb250YWluZXI6OmJlZm9yZSxcclxuLmRhdGVwaWNrZXItY29udGFpbmVyOjphZnRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBjb250ZW50OiAnICc7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLWRyb3Bkb3duIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBib3gtc2hhZG93OiAwIDNweCA2cHggI2NjYztcclxuICB6LWluZGV4OiAxO1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggNnB4ICNjY2M7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItaW5saW5lIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci10b3AtbGVmdCxcclxuLmRhdGVwaWNrZXItdG9wLXJpZ2h0IHtcclxuICBib3JkZXItdG9wLWNvbG9yOiAjZTE1YzM3O1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci10b3AtbGVmdDo6YmVmb3JlLFxyXG4uZGF0ZXBpY2tlci10b3AtbGVmdDo6YWZ0ZXIsXHJcbi5kYXRlcGlja2VyLXRvcC1yaWdodDo6YmVmb3JlLFxyXG4uZGF0ZXBpY2tlci10b3AtcmlnaHQ6OmFmdGVyIHtcclxuICB0b3A6IC01cHg7XHJcbiAgbGVmdDogMTBweDtcclxuICBib3JkZXItdG9wOiAwO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci10b3AtbGVmdDo6YmVmb3JlLFxyXG4uZGF0ZXBpY2tlci10b3AtcmlnaHQ6OmJlZm9yZSB7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2UxNWMzNztcclxufVxyXG5cclxuLmRhdGVwaWNrZXItdG9wLWxlZnQ6OmFmdGVyLFxyXG4uZGF0ZXBpY2tlci10b3AtcmlnaHQ6OmFmdGVyIHtcclxuICB0b3A6IC00cHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItYm90dG9tLWxlZnQsXHJcbi5kYXRlcGlja2VyLWJvdHRvbS1yaWdodCB7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzM5ZjtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItYm90dG9tLWxlZnQ6OmJlZm9yZSxcclxuLmRhdGVwaWNrZXItYm90dG9tLWxlZnQ6OmFmdGVyLFxyXG4uZGF0ZXBpY2tlci1ib3R0b20tcmlnaHQ6OmJlZm9yZSxcclxuLmRhdGVwaWNrZXItYm90dG9tLXJpZ2h0OjphZnRlciB7XHJcbiAgYm90dG9tOiAtNXB4O1xyXG4gIGxlZnQ6IDEwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItYm90dG9tLWxlZnQ6OmJlZm9yZSxcclxuLmRhdGVwaWNrZXItYm90dG9tLXJpZ2h0OjpiZWZvcmUge1xyXG4gIGJvcmRlci10b3AtY29sb3I6ICMzOWY7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLWJvdHRvbS1sZWZ0OjphZnRlcixcclxuLmRhdGVwaWNrZXItYm90dG9tLXJpZ2h0OjphZnRlciB7XHJcbiAgYm90dG9tOiAtNHB4O1xyXG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLXRvcC1yaWdodDo6YmVmb3JlLFxyXG4uZGF0ZXBpY2tlci10b3AtcmlnaHQ6OmFmdGVyLFxyXG4uZGF0ZXBpY2tlci1ib3R0b20tcmlnaHQ6OmJlZm9yZSxcclxuLmRhdGVwaWNrZXItYm90dG9tLXJpZ2h0OjphZnRlciB7XHJcbiAgcmlnaHQ6IDEwcHg7XHJcbiAgbGVmdDogYXV0bztcclxufVxyXG5cclxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCB7XHJcbiAgd2lkdGg6IDEwMiU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLXBhbmVsID4gdWw6OmJlZm9yZSxcclxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bDo6YWZ0ZXIge1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG4gIGNvbnRlbnQ6ICcgJztcclxufVxyXG5cclxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bDo6YWZ0ZXIge1xyXG4gIGNsZWFyOiBib3RoO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGkge1xyXG4gIHdpZHRoOiAzMHB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBmbG9hdDogbGVmdDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI5LCAyNDIsIDI1NSk7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaS5tdXRlZCxcclxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpLm11dGVkOmhvdmVyIHtcclxuICBjb2xvcjogIzk5OTtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpLmhpZ2hsaWdodGVkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI5LCAyNDIsIDI1NSk7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaS5oaWdobGlnaHRlZDpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwNCwgMjI5LCAyNTUpO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGkucGlja2VkLFxyXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGkucGlja2VkOmhvdmVyIHtcclxuICBjb2xvcjogIzM5ZjtcclxufVxyXG5cclxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpLmRpc2FibGVkLFxyXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGkuZGlzYWJsZWQ6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgY29sb3I6ICNjY2M7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGkuZGlzYWJsZWQuaGlnaGxpZ2h0ZWQsXHJcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaS5kaXNhYmxlZDpob3Zlci5oaWdobGlnaHRlZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyOSwgMjQyLCAyNTUpO1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGlbZGF0YS12aWV3PSd5ZWFycyBwcmV2J10sXHJcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaVtkYXRhLXZpZXc9J3llYXIgcHJldiddLFxyXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsID4gbGlbZGF0YS12aWV3PSdtb250aCBwcmV2J10sXHJcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaVtkYXRhLXZpZXc9J3llYXJzIG5leHQnXSxcclxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpW2RhdGEtdmlldz0neWVhciBuZXh0J10sXHJcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaVtkYXRhLXZpZXc9J21vbnRoIG5leHQnXSxcclxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpW2RhdGEtdmlldz0nbmV4dCddIHtcclxuICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaVtkYXRhLXZpZXc9J3llYXJzIGN1cnJlbnQnXSxcclxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpW2RhdGEtdmlldz0neWVhciBjdXJyZW50J10sXHJcbi5kYXRlcGlja2VyLXBhbmVsID4gdWwgPiBsaVtkYXRhLXZpZXc9J21vbnRoIGN1cnJlbnQnXSB7XHJcbiAgd2lkdGg6IDE1MHB4O1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsW2RhdGEtdmlldz0neWVhcnMnXSA+IGxpLFxyXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsW2RhdGEtdmlldz0nbW9udGhzJ10gPiBsaSB7XHJcbiAgd2lkdGg6IDUyLjVweDtcclxuICBoZWlnaHQ6IDUyLjVweDtcclxuICBsaW5lLWhlaWdodDogNTIuNXB4O1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci1wYW5lbCA+IHVsW2RhdGEtdmlldz0nd2VlayddID4gbGksXHJcbi5kYXRlcGlja2VyLXBhbmVsID4gdWxbZGF0YS12aWV3PSd3ZWVrJ10gPiBsaTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLWhpZGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSGVhZGluZ1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEgxLlxyXG4gKi9cclxuXHJcbi50ZXh0LWgxIHtcclxuICBjb2xvcjogJGNvbG9yLW9yYW5nZS0yMDA7XHJcbiAgZm9udC1zaXplOiAzMHB4O1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZsZXhcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBFeGFtcGxlIG9mIGEgZmxleCBiYXNlZCBjb2x1bW4gZ3JpZCBsYXlvdXQgaW4gcHJhY3RpY2U6XHJcbiAqXHJcbiAqIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XHJcbiAqIDwvZGl2PlxyXG4gKlxyXG4gKiBUaGlzIGV4YW1wbGUgd2lsbCBjcmVhdGUgYSByb3cgd2l0aCB0d28gY29sdW1ucyBlYWNoIGZpbGxpbmcgaGFsZiB0aGUgd2lkdGhcclxuICogb2YgdGhlIHJvdyBvbiBhbGwgbWVkaWEsIGJ1dCB3aWxsIGNvbnZlcnQgdG8gYSBmdWxsIHdpZHRoIGNvbHVtbiBvbiB0aGVcclxuICogc21hbGwgYC1zbWAgYnJlYWtwb2ludCBhbGlhcywgd2hpY2ggaXMgbW9iaWxlIG9ubHkuIFJlZmVyIHRvXHJcbiAqIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AgZm9yIGFsbCBicmVha3BvaW50IGFsaWFzLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBGbGV4IG9iamVjdC5cclxuICpcclxuICogVGlwOiBVc2UgZmxleCBvbiBhIGNvbHVtbiB0byBtYWtlIHRoZSBib3ggdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBjb2x1bW4uXHJcbiAqL1xyXG5cclxuLmZsZXgge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRmxleCBvYmplY3Qgd2l0aCBhIGNvbHVtbiBiYXNlZCBsYXlvdXQgc3lzdGVtLlxyXG4gKi9cclxuXHJcbi5yb3cge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleDogMCAxIGF1dG87XHJcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICBtYXJnaW46IDAgLSN7KCRncmlkLWdhcC8yKX07XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQm94LCB0aGUgaW5zaWRlIG9mIGEgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5ib3gge1xyXG4gIGZsZXg6IDE7XHJcbn1cclxuXHJcblxyXG4vLyBMb29wIHRocm91Z2ggYWxsIHRoZSBrZXlzIGluIHRoZSBgJGJyZWFrcG9pbnRzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpblxyXG4vLyBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHJcbiAgLy8gQ3JlYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGV2ZXJ5IGtleSBpbiBgJGJyZWFrcG9pbnRzYC5cclxuICBAaW5jbHVkZSBtZWRpYSgkdmFsdWUpIHtcclxuXHJcbiAgICAvLyBJdGVyYXRlIGZyb20gMSB0aHJvdWdoIHRoZSBhbW91bnQgb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnlcclxuICAgIC8vIGAkZ3JpZC1jb2x1bW5zYCBpbiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuXHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gI3skaX0gZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXHJcblxyXG4gICAgICAuY29sLSN7JGtleX0tI3skaX0ge1xyXG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiBjb2x1bW4oJGkpO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgKCRncmlkLWdhcC8yKTtcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIC8vIE91dHB1dCBhbiBvZmZzZXQgdXRpbGl0eSBjbGFzcyBpZiB0aGUgaXRlcmF0b3IgaXMgbGVzcyB0aGFuIHRoZSBhbW91bnRcclxuICAgICAgLy8gb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnkgYCRncmlkLWNvbHVtbnNgIGluXHJcbiAgICAgIC8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcbiAgICAgIEBpZiAoJGkgPCAkZ3JpZC1jb2x1bW5zKSB7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAjeyRpfSBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xyXG5cclxuICAgICAgICAub2Zmc2V0LSN7JGtleX0tI3skaX0ge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGFsaWduLWl0ZW1zYCBwcm9wZXJ0eS5cclxuICAgIEBlYWNoICR2YWx1ZSBpbiBzdHJldGNoLCBjZW50ZXIsIGZsZXgtc3RhcnQsIGZsZXgtZW5kLCBiYXNlbGluZSB7XHJcblxyXG4gICAgICAvKipcclxuICAgICAgICogQWxpZ24gYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xyXG5cclxuICAgICAgLmFsaWduLSN7JGtleX0tI3skdmFsdWV9IHtcclxuICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGp1c3RpZnktY29udGVudGAgcHJvcGVydHkuXHJcbiAgICBAZWFjaCAkdmFsdWUgaW4gc3RhcnQsIGNlbnRlciwgc3BhY2UtYmV0d2Vlbiwgc3BhY2UtYXJvdW5kLCBzcGFjZS1ldmVubHksIGZsZXgtZW5kIHtcclxuXHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGAjeyR2YWx1ZX1gIGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgIC5qdXN0aWZ5LSN7JGtleX0tI3skdmFsdWV9IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBMb29wIHRocm91Z2ggZXZlcnkgZGlyZWN0aW9uIGZyb20gbGVmdCB0byByaWdodC5cclxuICAgIEBlYWNoICRkaXJlY3Rpb24gaW4gbGVmdCwgcmlnaHQge1xyXG5cclxuICAgICAgLyoqXHJcbiAgICAgICAqIEJsZWVkICN7JGRpcmVjdGlvbn0gZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xyXG5cclxuICAgICAgLmJsZWVkLSN7JGtleX0tI3skZGlyZWN0aW9ufSB7XHJcbiAgICAgICAgcGFkZGluZy0jeyRkaXJlY3Rpb259OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuICAgICAqL1xyXG5cclxuICAgIC5maXJzdC0jeyRrZXl9IHtcclxuICAgICAgb3JkZXI6IC0xO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuICAgICAqL1xyXG5cclxuICAgIC5sYXN0LSN7JGtleX0ge1xyXG4gICAgICBvcmRlcjogMTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cclxuXHJcbiAgICAucmV2ZXJzZS0jeyRrZXl9IHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBXcmFwcGVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogVGhlIHdyYXBwZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXHJcbiAqL1xyXG5cclxuLy8gXHJcbiR3ZWJzaXRlLXdpZHRoOiAxMDgwcHg7XHJcbiR3ZWJzaXRlLXBhZGRpbmc6IDIwcHg7XHJcblxyXG4ud3JhcHBlciB7XHJcbiAgQGluY2x1ZGUgY29udGFpbmVyKCR3ZWJzaXRlLXdpZHRoLCAkd2Vic2l0ZS1wYWRkaW5nKTtcclxufVxyXG5cclxuJHdlYnNpdGUtd2lkdGgtbGFyZ2U6IDEyMDBweDtcclxuXHJcbi53cmFwcGVyLWxnIHtcclxuICBAaW5jbHVkZSBjb250YWluZXIoJHdlYnNpdGUtd2lkdGgtbGFyZ2UsICR3ZWJzaXRlLXBhZGRpbmcpO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4kd2Vic2l0ZS13aWR0aC1zbWFsbDogNzEwcHg7XHJcblxyXG4ud3JhcHBlci1zbSB7XHJcbiAgQGluY2x1ZGUgY29udGFpbmVyKCR3ZWJzaXRlLXdpZHRoLXNtYWxsLCAkd2Vic2l0ZS1wYWRkaW5nKTtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTZWxlY3RcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBHbG9iYWwgQ1NTIHN0eWxpbmcuXHJcbiAqIEFkZCBjbGFzcyAnanMtc2VsZWN0JyBvbiB0aGUgd3JhcHBlciBkaXYgYW5kIGl0IHNob3VsZCB3b3JrLlxyXG4gKi9cclxuLnNlbGVjdC13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gID4gc3ZnIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNXB4O1xyXG4gICAgcmlnaHQ6IDE1cHg7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcztcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmLmlzLWFjdGl2ZSB7XHJcbiAgICA+IHN2ZyB7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFjdGl2aXR5LXRpbWUge1xyXG4gICAgdG9wOiA0MnB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uc2luZ2xlLW9wdGlvbiB7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLm9wdGlvbi1zZWxlY3RlZCB7XHJcbiAgQGluY2x1ZGUgZm9udCgxOHB4LCAyMHB4KTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBtaW4taGVpZ2h0OiA0MHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDE4MG1zO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICAmOm5vdCguaXMtZGlzYWJsZWQpIHtcclxuICAgIGJveC1zaGFkb3c6IDNweCAzcHggMXB4IDAgI2UwZTBlMDtcclxuICB9XHJcblxyXG4gICsgLnNlbGVjdCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbiAgICBib3gtc2hhZG93OiAzcHggM3B4IDFweCAwICNlMGUwZTA7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIHotaW5kZXg6IDk7XHJcblxyXG4gICAgPiBkaXYge1xyXG4gICAgICBAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiAxM3B4IDA7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjUwbXM7XHJcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLWdyZXktMTAwLCA3JSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IGRpdjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JleS0xMDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3Rpdml0eS1saXN0IHtcclxuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG5cclxuICAgICAgLm9wdGlvbjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaXMtYWN0aXZlICsgLnNlbGVjdCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIHN2ZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGVhc2U7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXktNDAwO1xyXG5cclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVGl0bGVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50aXRsZSB7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbnRhaW5lclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiA4MDBweDtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgcGFkZGluZzogNTBweCAzNXB4O1xyXG59XHJcbiIsIi8qIVxyXG4gKiBQaWthZGF5XHJcbiAqIENvcHlyaWdodCDCqSAyMDE0IERhdmlkIEJ1c2hlbGwgfCBCU0QgJiBNSVQgbGljZW5zZSB8IGh0dHBzOi8vZGJ1c2hlbGwuY29tL1xyXG4gKi9cclxuXHJcbi8vIFZhcmlhYmxlc1xyXG4vLyBEZWNsYXJlIGFueSBvZiB0aGVzZSB2YXJpYWJsZXMgYmVmb3JlIGltcG9ydGluZyB0aGlzIFNDU1MgZmlsZSB0byBlYXNpbHkgb3ZlcnJpZGUgZGVmYXVsdHNcclxuLy8gVmFyaWFibGVzIGFyZSBuYW1lc3BhY2VkIHdpdGggdGhlIHBkIChwaWthZGF5KSBwcmVmaXhcclxuXHJcbi8vIENvbG91cnNcclxuJHBkLXRleHQtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XHJcbiRwZC10aXRsZS1jb2xvcjogIzMzMyAhZGVmYXVsdDtcclxuJHBkLXRpdGxlLWJnOiAjZmZmICFkZWZhdWx0O1xyXG4kcGQtcGlja2VyLWJnOiAjZmZmICFkZWZhdWx0O1xyXG4kcGQtcGlja2VyLWJvcmRlcjogI2NjYyAhZGVmYXVsdDtcclxuJHBkLXBpY2tlci1ib3JkZXItYm90dG9tOiAjYmJiICFkZWZhdWx0O1xyXG4kcGQtcGlja2VyLXNoYWRvdzogcmdiYSgwLDAsMCwuNSkgIWRlZmF1bHQ7XHJcbiRwZC10aC1jb2xvcjogIzk5OSAhZGVmYXVsdDtcclxuJHBkLWRheS1jb2xvcjogIzY2NiAhZGVmYXVsdDtcclxuJHBkLWRheS1iZzogI2Y1ZjVmNSAhZGVmYXVsdDtcclxuJHBkLWRheS1ob3Zlci1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcclxuJHBkLWRheS1ob3Zlci1iZzogI2ZmODAwMCAhZGVmYXVsdDtcclxuJHBkLWRheS10b2RheS1jb2xvcjogIzMzYWFmZiAhZGVmYXVsdDtcclxuJHBkLWRheS1zZWxlY3RlZC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcclxuJHBkLWRheS1zZWxlY3RlZC1iZzogIzMzYWFmZiAhZGVmYXVsdDtcclxuJHBkLWRheS1zZWxlY3RlZC1zaGFkb3c6ICMxNzhmZTUgIWRlZmF1bHQ7XHJcbiRwZC1kYXktZGlzYWJsZWQtY29sb3I6ICM5OTkgIWRlZmF1bHQ7XHJcbiRwZC13ZWVrLWNvbG9yOiAjOTk5ICFkZWZhdWx0O1xyXG4kcGQtaW5yYW5nZS1jb2xvcjogIzY2NiAhZGVmYXVsdDtcclxuJHBkLWlucmFuZ2UtYmc6ICNENUU5RjcgIWRlZmF1bHQ7XHJcbiRwZC1zdGFydHJhbmdlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xyXG4kcGQtc3RhcnRyYW5nZS1iZzogIzZDQjMxRCAhZGVmYXVsdDtcclxuJHBkLWVuZHJhbmdlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xyXG4kcGQtZW5kcmFuZ2UtYmc6ICMzM2FhZmYgIWRlZmF1bHQ7XHJcbiRwZC1ldmVudC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcclxuJHBkLWV2ZW50LWJnOiAjMzNhYWZmICFkZWZhdWx0O1xyXG5cclxuJHBkLXotaW5kZXg6IDk5OTkgIWRlZmF1bHQ7XHJcbiRwZC1mb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG4kcGQtYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xyXG5cclxuXHJcbi5waWthLXNpbmdsZSB7XHJcbiAgICB6LWluZGV4OiAkcGQtei1pbmRleDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY29sb3I6ICRwZC10ZXh0LWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZDogJHBkLXBpY2tlci1iZztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRwZC1waWNrZXItYm9yZGVyO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBkLXBpY2tlci1ib3JkZXItYm90dG9tO1xyXG4gICAgZm9udC1mYW1pbHk6ICRwZC1mb250LWZhbWlseTtcclxuXHJcbiAgICAmLmlzLWhpZGRlbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWJvdW5kIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTVweCAtNXB4ICRwZC1waWNrZXItc2hhZG93O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBjbGVhciBjaGlsZCBmbG9hdCAocGlrYS1sZW5kYXIpLCB1c2luZyB0aGUgZmFtb3VzIG1pY3JvIGNsZWFyZml4IGhhY2tcclxuLy8gaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXHJcbi5waWthLXNpbmdsZSB7XHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIgeyBjbGVhcjogYm90aCB9XHJcbn1cclxuXHJcbi5waWthLWxlbmRhciB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAyNDBweDtcclxuICAgIG1hcmdpbjogOHB4O1xyXG59XHJcblxyXG4ucGlrYS10aXRsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHotaW5kZXg6ICRwZC16LWluZGV4IC0gMTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGlrYS1sYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAkcGQtei1pbmRleDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiA1cHggM3B4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiAkcGQtdGl0bGUtY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGQtdGl0bGUtYmc7XHJcbn1cclxuXHJcbi5waWthLXByZXYsXHJcbi5waWthLW5leHQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgdGV4dC1pbmRlbnQ6IDIwcHg7IC8vIGhpZGUgdGV4dCB1c2luZyB0ZXh0LWluZGVudCB0cmljaywgdXNpbmcgd2lkdGggdmFsdWUgKGl0J3MgZW5vdWdoKVxyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA3NSUgNzUlO1xyXG4gICAgb3BhY2l0eTogLjU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWRpc2FibGVkIHtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgb3BhY2l0eTogLjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5waWthLXByZXYsXHJcbi5pcy1ydGwgLnBpa2EtbmV4dCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFlQ0FZQUFBQXNFajVyQUFBQVVrbEVRVlI0MnUzVk1Rb0FJQkFEUWY4UGdqK09EOWhHMkN0T05KQjJ5bVFrS2UwSGJ3QVAweHVjRGlRV0FSSVRJREVCRW5NZ01ROFM4K0FxQklsNmtLZ0hpWHFRcUFlSmVwQm8vejM4Si9VMHVBSGxhQmtCbDlJNEd3QUFBQUJKUlU1RXJrSmdnZz09Jyk7XHJcbn1cclxuXHJcbi5waWthLW5leHQsXHJcbi5pcy1ydGwgLnBpa2EtcHJldiB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQlFBQUFBZUNBWUFBQUFzRWo1ckFBQUFVMGxFUVZSNDJ1M1ZPd29BTUFnRTBkd2ZBbk5qVTI2YllrQkNGR3dmaUw5VlZXb08rQko0R2YzZ3RzRUtLb0ZCTlRDb0NBWVZ3YUFpR05RR01VSE1rakdiZ2prMm1JT051WG8wbkM4WG5DZjFKWGdBclZJWkFRaDVUS1lBQUFBQVNVVk9SSzVDWUlJPScpO1xyXG59XHJcblxyXG4ucGlrYS1zZWxlY3Qge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4ucGlrYS10YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBib3JkZXItc3BhY2luZzogMDtcclxuICAgIGJvcmRlcjogMDtcclxuXHJcbiAgICB0aCxcclxuICAgIHRkIHtcclxuICAgICAgICB3aWR0aDogMTQuMjg1NzE0Mjg1NzE0Mjg2JTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHRoIHtcclxuICAgICAgICBjb2xvcjogJHBkLXRoLWNvbG9yO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgYWJiciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICBjdXJzb3I6IGhlbHA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5waWthLWJ1dHRvbiB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBjb2xvcjogJHBkLWRheS1jb2xvcjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcGQtZGF5LWJnO1xyXG4gICAgaGVpZ2h0OiBpbml0aWFsO1xyXG5cclxuICAgIC5oYXMtZXZlbnQgJiB7XHJcbiAgICAgICAgY29sb3I6ICRwZC1ldmVudC1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcGQtZXZlbnQtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLXRvZGF5ICYge1xyXG4gICAgICAgIGNvbG9yOiAkcGQtZGF5LXRvZGF5LWNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG5cclxuICAgIC5pcy1zZWxlY3RlZCAmIHtcclxuICAgICAgICBjb2xvcjogJHBkLWRheS1zZWxlY3RlZC1jb2xvcjtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcGQtZGF5LXNlbGVjdGVkLWJnO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCAkcGQtZGF5LXNlbGVjdGVkLXNoYWRvdztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkcGQtYm9yZGVyLXJhZGl1cztcclxuICAgIH1cclxuXHJcbiAgICAuaXMtZGlzYWJsZWQgJixcclxuICAgIC5pcy1vdXRzaWRlLWN1cnJlbnQtbW9udGggJiB7XHJcbiAgICAgICAgY29sb3I6ICRwZC1kYXktZGlzYWJsZWQtY29sb3I7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLWRpc2FibGVkICYge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHBkLWRheS1ob3Zlci1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcGQtZGF5LWhvdmVyLWJnO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHBkLWJvcmRlci1yYWRpdXM7XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLXNlbGVjdGlvbi1kaXNhYmxlZCB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGlrYS13ZWVrIHtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIGNvbG9yOiAkcGQtd2Vlay1jb2xvcjtcclxufVxyXG5cclxuLmlzLWlucmFuZ2UgLnBpa2EtYnV0dG9uIHtcclxuICAgIGNvbG9yOiAkcGQtaW5yYW5nZS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQ6ICRwZC1pbnJhbmdlLWJnO1xyXG59XHJcblxyXG4uaXMtc3RhcnRyYW5nZSAucGlrYS1idXR0b24ge1xyXG4gICAgY29sb3I6ICRwZC1zdGFydHJhbmdlLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZDogJHBkLXN0YXJ0cmFuZ2UtYmc7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHBkLWJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbi5pcy1lbmRyYW5nZSAucGlrYS1idXR0b24ge1xyXG4gICAgY29sb3I6ICRwZC1lbmRyYW5nZS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQ6ICRwZC1lbmRyYW5nZS1iZztcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcGQtYm9yZGVyLXJhZGl1cztcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBBY3Rpdml0eSBmb3JtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYWN0aXZpdHktZm9ybSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGl0bGUuXHJcbiAqL1xyXG5cclxuLmFjdGl2aXR5LWZvcm1fX3RpdGxlIHtcclxuICBAaW5jbHVkZSBmb250KDIzcHgsIDI5cHgpO1xyXG4gIG1hcmdpbi1ib3R0b206IDI3cHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRGVzY3JpcHRpb24uXHJcbiAqL1xyXG5cclxuLmFjdGl2aXR5LWZvcm1fX2Rlc2NyaXB0aW9uIHtcclxuICBAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG4gIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2VsZWN0Ym94ZXMuXHJcbiAqL1xyXG5cclxuLmZvcm1fX2NoZWNrYm94OmNoZWNrZWQgKyAuYWN0aXZpdHktZm9ybV9fY2hlY2tib3gtbGFiZWwge1xyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ncmVlbi0yMDA7XHJcbiAgfVxyXG5cclxuICA+IHN2ZyB7XHJcbiAgICBsZWZ0OiAtMnB4O1xyXG4gIH1cclxufVxyXG5cclxuLmFjdGl2aXR5LWZvcm1fX2NoZWNrYm94LWxhYmVsIHtcclxuXHJcbiAgPiBzdmcge1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTIwMDtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBdHRlbmRlZXMuXHJcbiAqL1xyXG5cclxuLmZvcm1fX2lucHV0LXdyYXBwZXItLWF0dGVuZGVlcyB7XHJcbiAgbWF4LXdpZHRoOiAxNDBweDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGUgYnV0dG9uLlxyXG4gKi9cclxuXHJcbi5hY3Rpdml0eS1jcmVhdGVfX2J1dHRvbiB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICYucHJldmVudC1kb3VibGUtY2xpY2sge1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEFjdGl2aXR5IGxpc3RcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblxyXG4vKipcclxuICogTWFpbiBlbGVtZW50IChhY3Rpdml0eS1saXN0KS5cclxuICovXHJcblxyXG4uYWN0aXZpdHktbGlzdCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCcmVhZGNydW1icy5cclxuICovXHJcblxyXG4uYWN0aXZpdHktbGlzdF9fYnJlYWRjcnVtYnMgLmJyZWFkY3J1bWIge1xyXG4gIEBpbmNsdWRlIGZvbnQoMjNweCwgMjlweCk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgY29sb3I6ICRjb2xvci1wdXJwbGUtMjAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRvcDogM3B4O1xyXG4gICAgICB3aWR0aDogMjJweDtcclxuICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTGlzdCBoZWFkZXIuXHJcbiAqL1xyXG5cclxuLmFjdGl2aXR5LWxpc3QtaGVhZGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgcGFkZGluZzogMXB4IDIwcHggNXB4O1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuXHJcbiAgJiA+IGRpdiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICB3aWR0aDogY2FsYygxNSUgLSAxMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMzAlIC0gMTBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoNCkge1xyXG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmOm50aC1jaGlsZCg1KSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMTBweCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIExpc3QgaXRlbS5cclxuICovXHJcblxyXG4uYWN0aXZpdHktbGlzdC1vcmdhbmlzYXRpb24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcblxyXG4gICY6bnRoLWNoaWxkKDEpIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgfVxyXG5cclxuICAmID4gZGl2IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDE1JSAtIDEwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMTBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICB3aWR0aDogY2FsYygzMCUgLSAxMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgICY6bnRoLWNoaWxkKDUpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxMHB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuZXhwaXJlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0yMDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICpTaW5nbGUgYnV0dG9ucy5cclxuICovXHJcblxyXG4uYWN0aXZpdHktbGlzdF9fY2FuY2VsLFxyXG4uYWN0aXZpdHktbGlzdF9fcmVzY2hlZHVsZSB7XHJcbiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIG1hcmdpbi1yaWdodDogMjBweDtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2U7XHJcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcblxyXG4gIC5pbmxpbmUtaWNvbixcclxuICBhIC5pbmxpbmUtaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqUG9wdXAgdGl0bGUuXHJcbiAqL1xyXG4uYWN0aXZpdHktbGlzdC1yZXNjaGVkdWxlLXBvcHVwX190aXRsZSxcclxuLmFjdGl2aXR5LWxpc3QtY2FuY2VsLXBvcHVwX190aXRsZSB7XHJcbiAgQGluY2x1ZGUgZm9udCgxOHB4LCAyMHB4KTtcclxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMTRweDtcclxuICAgIGhlaWdodDogMTVweDtcclxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKlBvcHVwIGNvbnRlbnQuXHJcbiAqL1xyXG5cclxuXHJcbi5hY3Rpdml0eS1saXN0LWNhbmNlbC1wb3B1cF9fY29udGVudCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiA2MDBweDtcclxuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKlBvcHVwIHN1Ym1pdC5cclxuICovXHJcblxyXG4uYWN0aXZpdHktbGlzdC1jYW5jZWwtcG9wdXBfX3N1Ym1pdCB7IFxyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogMzBweCAwIDA7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICBidXR0b24ge1xyXG4gICAgQGluY2x1ZGUgZm9udCgyMHB4LCAyMHB4KTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtcHJpbWFyeTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yLW9yYW5nZS0yMDA7XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1vcmFuZ2UtMjAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZvcm1fX3JhZGlvLWJ1dHRvbnMge1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5hY3Rpdml0eS1saXN0LXJlc2NoZWR1bGUtcG9wdXBfX2Zvcm0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBtYXJnaW4tdG9wOiA0MHB4O1xyXG5cclxuICAuZm9ybS1pdGVtIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XHJcblxyXG4gICAgJi53aWR0aC0xMDAge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybV9fbGFiZWwge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuaW5saW5lLWljb24tZG93biB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA0MnB4O1xyXG4gICAgICByaWdodDogMTBweDtcclxuICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgICAgY29sb3I6ICRjb2xvci1ncmV5LTQwMDtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmVkO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoNCkgLmZvcm1fX2lucHV0IHtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtX19jaGVja2JveC1sYWJlbCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAxcHg7XHJcbiAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZWVuLTIwMDtcclxuICB9XHJcblxyXG4gIC5mb3JtX19yZXBlYXQtcm93IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDUlO1xyXG4gIH1cclxuXHJcbiAgLmpzLXRvZ2dsZS1zZWxlY3Qge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5mb3JtX19yZXBlYXRlci1kZWxldGUtYnV0dG9uIHtcclxuICAgIGxlZnQ6IC0yNXB4O1xyXG4gIH1cclxuXHJcbiAgLmZvcm1fX3N1Ym1pdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5mb3JtX19zdWJtaXQgYnV0dG9uIHtcclxuICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICB9XHJcblxyXG59XHJcblxyXG4ucmVzY2hlZHVsZS1hY3Rpdml0eS1wcmljZSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAzNXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDIyNXB4O1xyXG4gICAgaGVpZ2h0OiAycHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0xMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcbn1cclxuXHJcbi5yZXNjaGVkdWxlLWFjdGl2aXR5LXByaWNlX190b3RhbCB7XHJcbiAgQGluY2x1ZGUgZm9udCgxOHB4LCAyMHB4KTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4ucmVzY2hlZHVsZS1hY3Rpdml0eS1wcmljZV9fcHJpY2Uge1xyXG4gIEBpbmNsdWRlIGZvbnQoMzBweCwgMzhweCk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgY29sb3I6ICRjb2xvci1ncmVlbi0yMDA7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgY2FsZW5kYXIuXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY2FsZW5kYXItcG9wdXBfX3RpdGxlIHtcclxuICBAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBjYWxlbmRhci5cclxuICovXHJcblxyXG4uY2FsZW5kYXItcG9wdXBfX2NhbGVuZGFyIHtcclxuICBAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRGVzY3JpcHRpb24uXHJcbiAqL1xyXG5cclxuLmNhbGVuZGFyLXBvcHVwX19kZXNjcmlwdGlvbiB7XHJcbiAgQGluY2x1ZGUgZm9udCgxOHB4LCAyNXB4KTtcclxuICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQm9keS5cclxuICovXHJcblxyXG4uY2FsZW5kYXItcG9wdXBfX2JvZHkge1xyXG4gIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgcGFkZGluZy10b3A6IDI1cHg7XHJcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcclxufVxyXG5cclxuLmNhbGVuZGFyLXBvcHVwX19hZGRyZXNzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgIG1hcmdpbi1yaWdodDogMzVweDtcclxuICB9XHJcblxyXG4gIHdpZHRoOiAyNSU7XHJcbiAgY29sb3I6ICRjb2xvci1wdXJwbGUtMjAwO1xyXG4gIGZvbnQtd2VpZ2h0OiAgNjAwO1xyXG59XHJcblxyXG4uY2FsZW5kYXItcG9wdXBfX2FkZHJlc3MtdGl0bGUge1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FsZW5kYXItcG9wdXBfX3BhcnRpY2lwYW50cyB7XHJcbiAgd2lkdGg6IDI1JTtcclxuICBtYXJnaW4tbGVmdDogNDBweDtcclxuICBjb2xvcjogJGNvbG9yLXJlZC0xMDA7XHJcbiAgZm9udC13ZWlnaHQ6ICA2MDA7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1wb3B1cF9fcGFydGljaXBhbnRzLXRpdGxlIHtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmNhbGVuZGFyLXBvcHVwX19kYXRlIHtcclxuICB3aWR0aDogMjUlO1xyXG4gIGNvbG9yOiAkY29sb3Itb3JhbmdlLTIwMDtcclxuICBmb250LXdlaWdodDogIDYwMDtcclxufVxyXG5cclxuLmNhbGVuZGFyLXBvcHVwX19kYXRlLXRpdGxlIHtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmNhbGVuZGFyLXBvcHVwX190aW1lIHtcclxuICB3aWR0aDogMjUlO1xyXG4gIGNvbG9yOiAkY29sb3ItcHVycGxlLTIwMDtcclxuICBmb250LXdlaWdodDogIDYwMDtcclxufVxyXG5cclxuLmNhbGVuZGFyLXBvcHVwX190aW1lLXRpdGxlIHtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmNhbGVuZGFyLXBvcHVwX19sb2NhdGlvbiB7XHJcbiAgd2lkdGg6IDI1JTtcclxuICB3aWR0aDogMjUlO1xyXG4gIGNvbG9yOiAkY29sb3ItcmVkLTEwMDtcclxuICBmb250LXdlaWdodDogIDYwMDtcclxufVxyXG5cclxuLmNhbGVuZGFyLXBvcHVwX19sb2NhdGlvbi10aXRsZSB7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTVweDtcclxuICB9XHJcbn1cclxuXHJcbi5jYWxlbmRhci1wb3B1cF9fY29udGFjdCB7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgcGFkZGluZy10b3A6IDI1cHg7XHJcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcclxufVxyXG5cclxuLmNhbGVuZGFyLXBvcHVwX19jb250YWN0LXRpdGxlIHtcclxuICBAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5LTQwMDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uY2FsZW5kYXItcG9wdXBfX2NvbnRhY3QtdGV4dCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5LTQwMDtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xyXG4gIH1cclxufVxyXG5cclxuLmNhbGVuZGFyLXBvcHVwX19zcGFjZXMtdGl0bGUge1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTVweDtcclxuICB9XHJcbn1cclxuXHJcbi5jYWxlbmRhci1wb3B1cF9fc3BhY2VzIHtcclxuICB3aWR0aDogNzUlO1xyXG59XHJcblxyXG4uY2FsZW5kYXItcG9wdXBfX3NwYWNlcy13cmFwcGVyIHtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1wb3B1cF9fc3BhY2Uge1xyXG4gIHdpZHRoOiA1MCU7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIG1hcmdpbjogMCAzMHB4IDAgMTBweDtcclxuICB9XHJcblxyXG4gID4gZGl2IHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NHB4KTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEltYWdlIHNsaWRlci5cclxuICovXHJcblxyXG4uY2FsZW5kYXItcG9wdXBfX2ltYWdlcyB7XHJcbiAgbWFyZ2luLXRvcDogMjVweDtcclxuICBwYWRkaW5nLXRvcDogMjVweDtcclxuICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yLWdyZXktMTAwO1xyXG5cclxuICAub3dsLW5hdiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiBjYWxjKDUwJSAtIDhweCk7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBhZGRpbmc6IDAgNTBweDtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICB3aWR0aDogMThweDtcclxuICAgICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTIwMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5vd2wtaXRlbSB7XHJcbiAgICBvcGFjaXR5OiAwLjc7XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNhbGVuZGFyLXBvcHVwX19pbWFnZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogMDtcclxuICBwYWRkaW5nLWJvdHRvbTogNTUlO1xyXG5cclxuICBpbWcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcbn1cclxuXHJcbi5jYWxlbmRhci1wb3B1cF9fc3BhY2Utb3B0aW9ucyB7XHJcblx0d2lkdGg6IDI1JTtcclxuXHRtYXJnaW4tbGVmdDogNDBweDtcclxuXHRjb2xvcjogJGNvbG9yLWdyZWVuLTIwMDtcclxuXHRmb250LXdlaWdodDogIDYwMDtcclxuICB9XHJcbiAgXHJcbiAgLmNhbGVuZGFyLXBvcHVwX19zcGFjZS1vcHRpb25zLXRpdGxlIHtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxuICBcclxuXHRzdmcge1xyXG5cdCAgd2lkdGg6IDEwMCU7XHJcblx0ICBmaWxsOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG5cdCAgaGVpZ2h0OiAxNXB4O1xyXG5cdH1cclxuICB9IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ2FsZW5kYXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jYWxlbmRhciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMTAwcHggMDtcclxuXHJcbiAgLndyYXBwZXItbGcge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDYWxlbmRhciBmb3JtLlxyXG4gKi9cclxuXHJcbi5jYWxlbmRhci1mb3JtX190aXRsZSB7XHJcbiAgQGluY2x1ZGUgZm9udCgyM3B4LCAyOXB4KTtcclxufVxyXG5cclxuLmNhbGVuZGFyLWZvcm1fX2NvbHVtbnMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxufVxyXG5cclxuLmNhbGVuZGFyLWZvcm1fX2NvbHVtbiB7XHJcbiAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIHdpZHRoOiAyMCU7XHJcbiAgfVxyXG5cclxuICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICB3aWR0aDogODAlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEZpbHRlcnMuXHJcbiAqL1xyXG5cclxuLmNhbGVuZGFyLWZvcm1fX2ZpbHRlcnMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLWdyZXktMTAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIExheW91dCBzd2l0Y2guXHJcbiAqL1xyXG5cclxuLmNhbGVuZGFyLWZvcm1fX2xheW91dC1zd2l0Y2gge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1mb3JtX19sYXlvdXQtc3dpdGNoIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICY6Y2hlY2tlZCArIGxhYmVsIHtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gIH1cclxufVxyXG5cclxuLmNhbGVuZGFyLWZvcm1fX2xheW91dC1zd2l0Y2ggbGFiZWwge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGZvbnQoMjNweCwgMjlweCk7XHJcbiAgcGFkZGluZzogM3B4IDM1cHg7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgMTQwbXM7XHJcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY2FsZW5kYXItZm9ybV9fbGF5b3V0LXN3aXRjaC1pdGVtIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBEYXRlLlxyXG4gKi9cclxuXHJcbi5jYWxlbmRhci1mb3JtX19kYXRlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG4gIH1cclxufVxyXG5cclxuLmNhbGVuZGFyLWZvcm1fX2RhdGUtcHJldixcclxuLmNhbGVuZGFyLWZvcm1fX2RhdGUtbmV4dCB7XHJcbiAgd2lkdGg6IDEwcHg7XHJcbiAgaGVpZ2h0OiAyM3B4O1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG59XHJcblxyXG4uY2FsZW5kYXItZm9ybV9fZGF0ZS10ZXh0IHtcclxuICBAaW5jbHVkZSBmb250KDIzcHgsIDI5cHgpO1xyXG4gIHdpZHRoOiAxNDJweDtcclxuICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5LTQwMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTG9jYXRpb24gZm9ybS5cclxuICovXHJcblxyXG4ubG9jYXRpb24tZm9ybV9fY2hlY2tib3hlcyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICB9XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIG1hcmdpbjogLTEwcHggLTIwcHg7XHJcblxyXG4gIC5mb3JtX19jaGVja2JveC13cmFwcGVyIHtcclxuICAgIG1hcmdpbjogMTBweCAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDYWxlbmRhciBzdHlsaW5nLlxyXG4gKi9cclxuXHJcbi5jYWxlbmRhcl9fd3JhcHBlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93LXg6IGF1dG87XHJcblxyXG4gICYuaXMtbG9hZGluZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDI2MHB4O1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcblxyXG4gICAgLmlzLWxvYWRpbmdfX2ljb24ge1xyXG4gICAgICB3aWR0aDogNTBweDtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICBtYXJnaW46IDE1MHB4IGF1dG87XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itb3JhbmdlLTIwMDtcclxuICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW5uaW5nO1xyXG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNhbGVuZGFyX19ib2R5IHtcclxuICB3aWR0aDogMTIwMHB4O1xyXG59XHJcblxyXG4uY2FsZW5kYXJfX3JvdyB7XHJcbiAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb3JhbmdlLTEwMDtcclxuICB9XHJcblxyXG4gICYuaG9saWRheSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLmhvbGlkYXktbmFtZSB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnQoMjNweCwgMjlweCk7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgY29sb3I6ICRjb2xvci1ncmV5LTQwMDtcclxuICAgICAgei1pbmRleDogMTtcclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktMTAwO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuLTUwO1xyXG5cclxuICAgIC5jYWxlbmRhcl9fc3BhY2Uge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTIwMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuZXhwaXJlZCB7XHJcbiAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FsZW5kYXJfX2Z1bGxyb3cge1xyXG4gIFxyXG4gICYuaG9saWRheSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLmhvbGlkYXktbmFtZSB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnQoMjNweCwgMjlweCk7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgY29sb3I6ICRjb2xvci1ncmV5LTQwMDtcclxuICAgICAgei1pbmRleDogMTtcclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktMTAwO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNhbGVuZGFyX19jb2x1bW4ge1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5jYWxlbmRhcl9fY29sdW1uLXJvdyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjVweCk7XHJcbiAgaGVpZ2h0OiA2OXB4O1xyXG59XHJcblxyXG4uY2FsZW5kYXJfX2NvbHVtbi1yb3ctLXNtYWxsIHtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbi5jYWxlbmRhcl9fc3BhY2Uge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcblxyXG4gIHdpZHRoOiAxMjVweDtcclxuICBjb2xvcjogJGNvbG9yLWdyZXktNDAwO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbn1cclxuXHJcbi5jYWxlbmRhcl9fYWN0aXZpdHkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLXRvcDogLThweDtcclxuICBtYXJnaW4tbGVmdDogMXB4O1xyXG4gIHBhZGRpbmc6IDVweDtcclxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXM7XHJcbiAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXdoaXRlLTEwMDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbiAgei1pbmRleDogMTtcclxuXHJcbiAgPiBhIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gICYuZXhwaXJlZCB7XHJcbiAgICBvcGFjaXR5OiAwLjc7XHJcbiAgfVxyXG5cclxuICAmOjpob3ZlciB7XHJcbiAgICAmLmV4cGlyZWQge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNhbGVuZGFyX19ob3VycyB7XHJcbiAgdG9wOiAxNTBweCFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiA5NXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgei1pbmRleDogOTtcclxuXHJcbiAgJi5yZW1vdmUtc3RpY2t5IHtcclxuICAgIHBvc2l0aW9uOiBpbml0aWFsIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5jYWxlbmRhcl9faG91ciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jYWxlbmRhcl9faG91ci1jb2x1bW5zIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcclxufVxyXG5cclxuLmNhbGVuZGFyX19zY3JvbGwge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAyNTBweDtcclxuICBsZWZ0OiBjYWxjKDUwJSAtIDcuNXB4KTtcclxuICB3aWR0aDogMTVweDtcclxuICBjb2xvcjogJGNvbG9yLWdyZWVuLTIwMDtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBhbmltYXRpb246IGZhZGVPdXRMZWZ0IDE1MDBtcyBlYXNlIGluZmluaXRlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcclxuICAwJSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQWN0aXZpdHkuXHJcbiAqL1xyXG5cclxuLmNhbGVuZGFyLWFjdGl2aXR5X190aW1lIHtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1hY3Rpdml0eV9faWNvbiB7XHJcbiAgd2lkdGg6IDE0cHg7XHJcbiAgbWFyZ2luLXRvcDogLTNweDtcclxuICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmNhbGVuZGFyLWFjdGl2aXR5X19uYW1lIHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gMTRweCk7XHJcbiAgaGVpZ2h0OiAzMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1mb3JtX19xdWljay1zd2l0Y2gge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW46IDAgMTVweDtcclxuXHRtYXJnaW4tdG9wOiAycHg7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHR3aWR0aDogMTlweDtcclxuXHRcdGhlaWdodDogMTZweDtcclxuXHJcblx0XHRwYXRoIHtcclxuXHRcdFx0ZmlsbDogJGNvbG9yLWdyZWVuLTIwMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5vcHRpb24ge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cdFx0LnRvb2x0aXAge1xyXG5cdFx0XHR0cmFuc2l0aW9uOiAxNTBtcyBlYXNlLWluLW91dDtcclxuXHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IC0yMDAlO1xyXG5cdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTNweDtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuXHRcdFx0cGFkZGluZzogMHB4IDZweDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRcdFx0d2lkdGg6IG1heC1jb250ZW50O1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHQudG9vbHRpcCB7XHJcblx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2VsZWN0LXdyYXBwZXIge1xyXG5cdFx0bWluLXdpZHRoOiAxNTBweDtcclxuXHJcblx0XHQub3B0aW9uLXNlbGVjdGVkIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5qcy1zcGFjZXMtY29udGFpbmVyLCAuanMtbG9hZC1jYWxlbmRhciB7XHJcblx0Ji5pcy1sb2FkaW5nIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGhlaWdodDogMTAwcHg7XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XHJcblx0XHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM0UlM0MhLS0hIEZvbnQgQXdlc29tZSBQcm8gNi4yLjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjIgRm9udGljb25zLCBJbmMuIC0tJTNFJTNDcGF0aCBkPSdNMzA0IDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4czIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OHptMCA0MTZjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhzMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4ek00OCAzMDRjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhzMjEuNSA0OCA0OCA0OHptNDY0LTQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4czIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OHpNMTQyLjkgNDM3YzE4LjctMTguNyAxOC43LTQ5LjEgMC02Ny45cy00OS4xLTE4LjctNjcuOSAwcy0xOC43IDQ5LjEgMCA2Ny45czQ5LjEgMTguNyA2Ny45IDB6bTAtMjk0LjJjMTguNy0xOC43IDE4LjctNDkuMSAwLTY3LjlTOTMuNyA1Ni4yIDc1IDc1cy0xOC43IDQ5LjEgMCA2Ny45czQ5LjEgMTguNyA2Ny45IDB6TTM2OS4xIDQzN2MxOC43IDE4LjcgNDkuMSAxOC43IDY3LjkgMHMxOC43LTQ5LjEgMC02Ny45cy00OS4xLTE4LjctNjcuOSAwcy0xOC43IDQ5LjEgMCA2Ny45eicgZmlsbD0nJTIzZTE1YzM3Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdFx0YW5pbWF0aW9uLW5hbWU6IHNwaW5uaW5nO1xyXG5cdFx0XHRhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG5cdFx0XHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuXHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG5cdFx0XHR6LWluZGV4OiAxMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uanMtbG9hZC1jYWxlbmRhci5pcy1sb2FkaW5nIHtcclxuXHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHQmOjphZnRlciB7XHJcblx0XHQvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgIWltcG9ydGFudDtcclxuXHRcdHRvcDogLTIwMHB4ICFpbXBvcnRhbnQ7XHJcblx0XHR6LWluZGV4OiAxMDAwO1xyXG5cdH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb250ZW50IGRlZmF1bHRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jb250ZW50LWRlZmF1bHQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHBhZGRpbmctdG9wOiAxNjNweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTEwcHg7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBwYWRkaW5nLXRvcDogMTM1cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWRlZmF1bHRfX2xlZnQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgcGFkZGluZy10b3A6IDExOHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgIHotaW5kZXg6IDk7XHJcblxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICB3aWR0aDogMjQ1cHg7XHJcblxyXG4gICAgICAuY29udGVudC1kZWZhdWx0X19sZWZ0LW1lbnUge1xyXG4gICAgICAgIHdpZHRoOiAyMjVweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmNvbnRlbnQtZGVmYXVsdF9fbGVmdC1vcGVuIHtcclxuICAgICAgICBsZWZ0OiAxOTBweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICArIC5jb250ZW50LWRlZmF1bHRfX3JpZ2h0IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmxvZ291dC1idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubG9nb3V0LWJ1dHRvbjo6YmVmb3JlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubG9nb3V0LWJ1dHRvbl9fdGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoLmlzLWFjdGl2ZSkge1xyXG4gICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgIC5zdWJtZW51X19hcnJvdyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnN1Ym1lbnUgbGkgc3ZnIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sb2dvdXQtYnV0dG9uID4gLmlubGluZS1pY29uIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zdWJzdWJtZW51IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAzNDNweDtcclxuICBwYWRkaW5nOiA1MHB4IDYwcHg7XHJcbiAgYm94LXNoYWRvdzogMCAycHggMTRweCAwIHJnYmEoMjA2LCAyMDYsIDIwNiwgMC41KTtcclxufVxyXG5cclxuLmNvbnRlbnQtZGVmYXVsdF9fbGVmdC1tZW51IHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB0b3A6IDIwMHB4O1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgdG9wOiAxNTBweDtcclxuICAgIHdpZHRoOiAzNXB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICB3aWR0aDogMjI1cHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbn1cclxuXHJcbi5jb250ZW50LWRlZmF1bHRfX2xlZnQtb3BlbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBib3R0b206IDEwcHg7XHJcbiAgbGVmdDogMDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgY29sb3I6ICRjb2xvci1ncmVlbi0yMDA7XHJcblxyXG4gID4gc3ZnIHtcclxuICAgIGhlaWdodDogMTRweDtcclxuICB9XHJcbn1cclxuXHJcbi5jb250ZW50LWRlZmF1bHRfX3JpZ2h0IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICB9XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzNDNweCk7XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIERlbGV0ZSBidXR0b25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5kZWxldGUtYnV0dG9uIHtcclxuICBAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2U7XHJcbiAgY29sb3I6ICRjb2xvci1yZWQtMjAwO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcclxuICBvcGFjaXR5OiAwLjY1O1xyXG5cclxuICA+IC5pbmxpbmUtaWNvbiB7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIGhlaWdodDogMTVweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICB9XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogLTRweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXJlZC0yMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5kZWxldGUtYnV0dG9uLS1oYXMtaG92ZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAuZGVsZXRlLWJ1dHRvbl9faG92ZXItdGV4dCB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZGVsZXRlLWJ1dHRvbl9faG92ZXItdGV4dCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogLTMwcHg7XHJcbiAgbGVmdDogLTIwcHg7XHJcbiAgbWF4LXdpZHRoOiAzOTJweDtcclxuICBwYWRkaW5nOiAyMHB4IDIwcHggODBweDtcclxuICB0cmFuc2l0aW9uOiAxODBtcztcclxuICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3IteWVsbG93LTIwMDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgb3BhY2l0eTogMDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLmRlbGV0ZS1idXR0b25fX2hvdmVyLXRleHQgKyAuZGVsZXRlLWJ1dHRvbiB7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBGb290ZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mb290ZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgfVxyXG4gIHBhZGRpbmc6IDUwcHggMDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLW9yYW5nZS0yMDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW9yYW5nZS0xMDA7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5LTQwMDtcclxuXHJcbiAgaDIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgfVxyXG5cclxuICAucm93IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgcGFkZGluZzogMCA0MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnJvdyA+IC5jb2wge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnJvdyA+IC5jb2w6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mb290ZXJfX2JvdHRvbSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xyXG4gICAgbWFyZ2luOiAwIDMwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb290ZXIgYWRkcmVzcy5cclxuICovXHJcblxyXG4uZm9vdGVyLWFkZHJlc3Mge1xyXG4gID4gLmZhci1tYXAtbWFya2VyLWFsdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxNDBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuXHJcbiAgICA+IC5mYXItbWFwLW1hcmtlci1hbHQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvb3RlciBjb250YWN0LlxyXG4gKi9cclxuXHJcbi5mb290ZXItY29udGFjdCB7XHJcbiAgLmZhci1mYS1waG9uZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICA+IHN2ZyB7XHJcbiAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZhbC1mYS1lbnZlbG9wZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICA+IHN2ZyB7XHJcbiAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHA6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb290ZXIgbWVudS5cclxuICovXHJcblxyXG4uZm9vdGVyX19tZW51IHtcclxuICBhOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICBjb250ZW50OiAnfCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgY29udGVudDogJy0nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZvcm1cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5maWVsZHNldF9fdGl0bGUge1xyXG4gIEBpbmNsdWRlIGZvbnQoMThweCwgMjBweCk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICBmb250LXdlaWdodDogOTAwO1xyXG59XHJcblxyXG4uZm9ybV9faXMtbG9nZ2VkLWluIHtcclxuXHJcbiAgbGVnZW5kIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1vcmFuZ2UtMjAwO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IC0zcHg7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLW9yYW5nZS0yMDA7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbGFiZWwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogJGNvbG9yLW9yYW5nZS0yMDA7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gIH1cclxufVxyXG5cclxuLmZvcm1fX2xhYmVsIHtcclxuICBAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmZvcm1fX2hlYWRpbmcge1xyXG5cdEBpbmNsdWRlIGZvbnQoMjJweCwgMjBweCk7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbjogMzBweCAwO1xyXG5cdGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmZvcm1fX2xhYmVsLS1yYWRpbyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLmZvcm1fX2lucHV0IHtcclxuICBAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDE4MG1zO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cclxuICAmLmlzLWRpc2FibGVkIHtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICB9XHJcblxyXG4gICYuaXMtaW52YWxpZCB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItcmVkLTEwMDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1yZWQtNTA7XHJcbiAgfVxyXG5cclxuICAmOm5vdCguaXMtZGlzYWJsZWQpIHtcclxuICAgIGJveC1zaGFkb3c6IDNweCAzcHggMXB4IDAgI2UwZTBlMDtcclxuICB9XHJcbn1cclxuXHJcbi5qcy1zdWJtaXQtYWN0aXZpdHktY3JlYXRlLWZvcm0taGlkZGVuIHtcclxuXHQmLmlzLWRpc2FibGVkIHtcclxuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdCAgfVxyXG59XHJcblxyXG4uZm9ybV9faW5wdXQtLWJpZyB7XHJcbiAgaGVpZ2h0OiAxMjBweDtcclxufVxyXG5cclxuLmZvcm1fX2lucHV0LXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmZvcm1fX3NlbGVjdC13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gID4gLmlubGluZS1pY29uIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDVweDtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgd2lkdGg6IDE1cHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXktNDAwO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgJi5pcy1zaG93biB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZvcm1fX3NlbGVjdCB7XHJcbiAgJi5oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5mb3JtX19pbnB1dC0tc2VsZWN0IHtcclxuICAmLmlzLWRpc2FibGVkIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDaGVja2JveC5cclxuICovXHJcblxyXG4uZm9ybV9fY2hlY2tib3gtd3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgLmluZm8taWNvbiB7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTRweDtcclxuICB9XHJcbn1cclxuXHJcbi5mb3JtX19jaGVja2JveDpjaGVja2VkICsgLmZvcm1fX2NoZWNrYm94LWxhYmVsIHtcclxuICBzdmcge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4uZm9ybV9fY2hlY2tib3gge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IC05OTk5cHg7XHJcbiAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLmZvcm1fX2NoZWNrYm94LWxhYmVsIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleS00MDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBib3gtc2hhZG93OiAzcHggM3B4IDFweCAwICRjb2xvci1ncmV5LTEwMDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gIH1cclxuXHJcbiAgPiBzdmcge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMnB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDaGFuZ2UgcGFzc3dvcmQuXHJcbiAqL1xyXG5cclxuLnBhc3N3b3JkLWNoYW5nZS1idXR0b24ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICBjb2xvcjogJGNvbG9yLWdyZWVuLTIwMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogLTJweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuLTIwMDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBMb2NhdGlvbiBzZWxlY3QuXHJcbiAqL1xyXG5cclxuLmxvY2F0aW9uLXNlbGVjdF9fYWN0aXZlLWl0ZW0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gID4gZGl2IHtcclxuICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICA+IHN2ZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAxNHB4O1xyXG4gIH1cclxuXHJcbiAgLmxvY2F0aW9uLXNlbGVjdF9faW5mbyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmxvY2F0aW9uLXNlbGVjdF9fZHJvcC1kb3duIC5vcHRpb24gPiBkaXYge1xyXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjRweCk7XHJcbiAgfVxyXG59XHJcblxyXG4ubG9jYXRpb24tc2VsZWN0X19pbmZvIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDE0cHg7XHJcbiAgaGVpZ2h0OiAxNXB4O1xyXG4gIG1hcmdpbi10b3A6IC0zcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBzdmcge1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmVlbi0yMDA7XHJcbiAgfVxyXG59XHJcblxyXG4ubG9jYXRpb24tc2VsZWN0X19pbmZvLS1uby1jb2xvciB7XHJcbiAgc3ZnIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBOdW1iZXIgZmllbGQuXHJcbiAqL1xyXG5cclxuLmZvcm1fX251bWJlci1jb250cm9scyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAzNXB4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4uZm9ybV9fbnVtYmVyLXVwIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAyMHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZm9ybV9fbnVtYmVyLWRvd24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogUmFkaW8uXHJcbiAqL1xyXG5cclxuLmZvcm1fX3JhZGlvLWdyb3VwIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IC01cHg7XHJcbn1cclxuXHJcbi5mb3JtX19pbnB1dC1ncm91cCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0bWFyZ2luOiAtNXB4O1xyXG59XHJcblxyXG4uZm9ybV9fcmFkaW8td3JhcHBlciB7XHJcbiAgcGFkZGluZzogNXB4O1xyXG59XHJcblxyXG4uZm9ybV9faW5wdXQtd3JhcHBlciB7XHJcblx0cGFkZGluZzogNXB4O1xyXG59XHJcblxyXG4uYWN0aXZpdHktZm9ybV9faW5wdXQtbGFiZWwge1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5mb3JtX19yYWRpbzpjaGVja2VkICsgLmZvcm1fX3JhZGlvLWxhYmVsIHtcclxuICAmOjpiZWZvcmUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gIH1cclxuXHJcbiAgPiBzdmcge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5mb3JtX19yYWRpby1sYWJlbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZXktMTAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYm94LXNoYWRvdzogM3B4IDNweCAxcHggMCAkY29sb3ItZ3JleS0xMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcblxyXG4gID4gc3ZnIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTRweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTQwbXM7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTIwMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqXHJcbiAqL1xyXG5cclxuLmZvcm1fX3N1Ym1pdCB7XHJcbiAgYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcblxyXG4gICYuaXMtZGlzYWJsZWQge1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XHJcblx0b3BhY2l0eTogMC41O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBNYXggY2hhcnMuXHJcbiAqL1xyXG5cclxuLmZvcm1fX2lucHV0LWNoYXJzIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBSZXBlYXRlci5cclxuICovXHJcblxyXG4uZm9ybV9fcmVwZWF0LXJvdyB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmZvcm1fX3JlcGVhdGVyLWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgZm9udCgxOHB4LCAyMHB4KTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleS0xMDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1ncmV5LTEwMCwgNyUpO1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4uZm9ybV9fcmVwZWF0ZXItZGVsZXRlLWJ1dHRvbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAzNXB4O1xyXG4gIGxlZnQ6IC0zNXB4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgd2lkdGg6IDMwcHg7XHJcbiAgaGVpZ2h0OiAzMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkLTIwMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gID4gc3ZnIHtcclxuICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogUHJpY2UuXHJcbiAqL1xyXG5cclxuLmZvcm1fX3ByaWNlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5mb3JtX19wcmljZS1ib2R5IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogMjI0cHg7XHJcbiAgbWFyZ2luLXRvcDogMzBweDtcclxuICBwYWRkaW5nLXRvcDogMzBweDtcclxuICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yLWdyZXktMTAwO1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4uZm9ybV9fcHJpY2UtbGFiZWwge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZm9ybV9fcHJpY2UtYW1vdW50IHtcclxuICBAaW5jbHVkZSBmb250KDMwcHgsIDM4cHgpO1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5mb3JtX19wcmljZS1hbW91bnQtaWNvbiB7XHJcbiAgd2lkdGg6IDMwcHg7XHJcbiAgaGVpZ2h0OiAzMHB4O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzcGlubmluZztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTcsLjY3LC44MywuNjcpO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEhlYWRlclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIE1haW4gZWxlbWVudCAoaGVhZGVyKS5cclxuICovXHJcblxyXG4uaGVhZGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcblxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHggOTBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcbiAgfVxyXG5cclxuICAvLyBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy8gICB6LWluZGV4OiAxMDtcclxuICAvLyB9XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDQwcHggMTMwcHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLW9yYW5nZS0yMDA7XHJcbiAgei1pbmRleDogOTk5O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIExpbmtzIGhlYWRlci5cclxuICovXHJcblxyXG4uaGVhZGVyX19saW5rcyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcclxuICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICBmb250LXNpemU6IDE3cHg7XHJcbiAgb3BhY2l0eTogMDtcclxuXHJcbiAgc3ZnIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBtYXJnaW46IGF1dG8gYXV0byAxMHB4O1xyXG4gIH1cclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICB0b3A6IDEwMHB4O1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1vcmFuZ2UtMjAwO1xyXG4gICAgICB6LWluZGV4OiA5OTtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyX19saW5rIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2VsZWN0LlxyXG4gKi9cclxuXHJcbi5oZWFkZXJfX3NlbGVjdCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMjVweDtcclxuICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgIHotaW5kZXg6IDk5OTtcclxuXHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuICB3aWR0aDogMjUwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMDBweDtcclxuXHJcbiAgLm9wdGlvbi1zZWxlY3RlZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcblxyXG4gIC5zZWxlY3Qge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1hcmdpbjogMCAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgfVxyXG5cclxuICA+IHN2ZyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIHRvcDogMTJweDtcclxuICAgICAgcmlnaHQ6IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMXB4O1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgICAmOm5vdCguZmEtY2hldnJvbi1kb3duKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFNpbmdsZSBsaW5rIHNldHRpbmdzLlxyXG4gKi9cclxuXHJcblxyXG4uaGVhZGVyX19saW5rIHtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itb3JhbmdlLTQwMDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiA3MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICB9XHJcblxyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHRyYW5zaXRpb246IGNvbG9yIDI1MG1zIGVhc2U7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuXHJcbiAgLmlzLWFjdGl2ZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY29sb3I6ICRjb2xvci1vcmFuZ2UtNDAwO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICAgIGJvdHRvbTogN3B4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IC0zcHg7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLW9yYW5nZS00MDA7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgfVxyXG5cclxuICAgICY6bnRoLWNoaWxkKDEpOjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5oZWFkZXJfX2xpbmtzIC5hZ2VuZGEge1xyXG4gIGEge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogUHJvZmlsZSBidXR0b24gc2V0dGluZ3MuXHJcbiAqL1xyXG5cclxuXHJcbi5oZWFkZXJfX2xpbmtzIC5wcm9maWxlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcblxyXG4gIG1hcmdpbi1sZWZ0OiA1MHB4O1xyXG5cclxuICBhIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIExvZ2luIGxpbmtzLlxyXG4gKi9cclxuXHJcblxyXG4uaGVhZGVyX19sb2dpbiB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBNb2JpbGUgbWVudSBzZXR0aW5ncy5cclxuICovXHJcblxyXG4uaGVhZGVyX19tb2JpbGUtbWVudSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgc3ZnIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogTW9iaWxlIG1lbnUgc3RhdGVzLiBUaGlzIGlzIHNldCB0byAnZGlzcGxheTpub25lOycgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHJpZ2h0IG1lbnUgc3RhdGUgaXMgc2hvd2luZy5cclxuICovXHJcblxyXG4uaGVhZGVyX19tb2JpbGUtbWVudS0tb3B0aW9uIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEludmFsaWQgZXJyb3JcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBOb3RlOiBUaGlzIGlzIHVzZWQgb24gL2FnZW5kYS8gcGFnZSBmb3IgZGF0ZSB2YWxpZGF0aW9uLlxyXG4gKi9cclxuXHJcbi5pbnZhbGlkLWVycm9yX193cmFwcGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbn1cclxuXHJcbi5pbnZhbGlkLWVycm9yX19ib2R5IHtcclxuICBAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiA3MDlweDtcclxuICBwYWRkaW5nOiAzNXB4IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkLTUwO1xyXG4gIC8vIGJveC1zaGFkb3c6IDVweCA1cHggMCAwICRjb2xvci1ncmV5LTEwMDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uaW52YWxpZC1lcnJvcl9fY2xvc2Uge1xyXG4gIEBpbmNsdWRlIGZvbnQoMTVweCwgMTlweCk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHdpZHRoOiA2MHB4O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICBjb2xvcjogJGNvbG9yLXJlZC0xMDA7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gID4gc3ZnIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTVweDtcclxuICB9XHJcbn1cclxuXHJcbi5qcy1hY3Rpdml0eS1mb3JtLWNyZWF0ZSwgLmFjdGl2aXR5LWxpc3QtcmVzY2hlZHVsZS1wb3B1cF9fZm9ybSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZm9ybS1sb2FkaW5nIHtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHQuY2lyY2xlIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdFxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMHB4O1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcblx0XHR6LWluZGV4OiA5OTk7XHJcblx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xyXG5cclxuXHRcdC5jaXJjbGUge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdFx0XHR3aWR0aDogMzBweDtcclxuXHRcdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHRtYXJnaW46IDEwcHggYXV0bztcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1vcmFuZ2UtMjAwO1xyXG5cdFx0XHRhbmltYXRpb24tbmFtZTogc3Bpbm5pbmc7XHJcblx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcblx0XHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG5cdFx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcblx0XHRcdFxyXG5cdFx0XHRzdmcgcGF0aCB7XHJcblx0XHRcdFx0ZmlsbDogJGNvbG9yLW9yYW5nZS0yMDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBMb2dpbiBwYWdlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogTWFpbiBlbGVtZW50IChsb2dpbikuXHJcbiAqL1xyXG5cclxuLmxvZ2luIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlLTEwMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBMZWZ0IGNvbHVtbi5cclxuICovXHJcblxyXG4ubG9naW5fX2xlZnQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgcGFkZGluZzogNDVweCA3NXB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuICAgIHBhZGRpbmc6IDMwcHggNDBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuICAgIHBhZGRpbmc6IDMwcHggMjBweDtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMzAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwYWRkaW5nOiA0NXB4IDEwMHB4O1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gIGNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xyXG5cclxuICBpbWcge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBoZWlnaHQ6IDUzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogOTBweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGl0ZWwgdW5kZXJuZWF0aCB0aGUgbG9nby5cclxuICovXHJcblxyXG4ubG9naW5fX2xlZnQgaDIge1xyXG4gIG1hcmdpbjogMTAwcHggMCA0MHB4O1xyXG4gIGZvbnQtc2l6ZTogMzBweDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBEZXNjcmlwdGlvbiBiZW5lYXRoIHRoZSBsb2dvLlxyXG4gKi9cclxuXHJcbi5sb2dpbl9fbGVmdC0tZGVzY3JpcHRpb24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBMb2dpbiBidXR0b24uXHJcbiAqL1xyXG5cclxuLmxvZ2luX19sZWZ0IC5idXR0b24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgcGFkZGluZzogMTVweCA3NXB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogUmlnaHQgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5sb2dpbl9fcmlnaHQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDI4NXB4KTtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICBwYWRkaW5nOiAwIDEyMHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZzogNjBweCA0MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDc1cHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIHBhZGRpbmc6IDYwcHggMjBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDcwJTtcclxuICBtYXJnaW4tdG9wOiAyMzVweDtcclxuICBtYXJnaW4tbGVmdDogMzAlO1xyXG4gIHBhZGRpbmc6IDAgMjAwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbn1cclxuXHJcblxyXG4ubG9naW5fX3JpZ2h0IC5tZXNzYWdlIHtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgcGFkZGluZzogMjBweDtcclxuICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItcmVkLTEwMDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1yZWQtNTA7XHJcblxyXG4gICYuZm9yZ290LXBhc3N3b3JkIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci15ZWxsb3ctMjAwO1xyXG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkY29sb3IteWVsbG93LTIwMCwgNTAlKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogUmlnaHQgY29sdW1uIHRpdGxlLlxyXG4gKi9cclxuXHJcbi5sb2dpbl9fcmlnaHQgaDIge1xyXG4gIGNvbG9yOiAkY29sb3Itb3JhbmdlLTIwMDtcclxuICBmb250LXNpemU6IDMwcHg7XHJcblxyXG4gICY6bnRoLWNoaWxkKDIpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIExpbmsuXHJcbiAqL1xyXG5cclxuLmxvZ2luX19saW5rIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDc1cHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXllbGxvdy0yMDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuXHJcbiAgYSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgc3ZnIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgcmlnaHQ6IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiBjYWxjKDUwJSAtIDE1cHgpO1xyXG4gICAgcmlnaHQ6IDUwcHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLXllbGxvdy0yMDA7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIGhlaWdodDogMzRweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBzdmcge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJpZ2h0OiA0MHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmxvZ2luX19saW5rLXRpdGxlIHtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICBjb2xvcjogJGNvbG9yLXllbGxvdy0yMDA7XHJcbiAgZm9udC1zaXplOiAyNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5sb2dpbl9fbGluay10ZXh0IHtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBMb2dpbiBmb3JtLlxyXG4gKi9cclxuXHJcbi5sb2dpbl9fZm9ybSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgPiBkaXYge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi10b3A6IDQwcHg7XHJcblxyXG4gICYuZmxleC1zdGFydCB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogRm9ybSBpdGVtLlxyXG4gKi9cclxuXHJcbi5sb2dpbl9fZm9ybS0taXRlbSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAxMHB4KTtcclxuXHJcbiAgbGFiZWwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXktNDAwO1xyXG4gIH1cclxuXHJcbiAgaW5wdXQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleS0xMDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctMjAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb3Jnb3QgcGFzc3dvcmQgYnV0dG9uLlxyXG4gKi9cclxuXHJcbi5sb2dpbl9fZm9ybSAuZm9yZ290LXBhc3N3b3JkIHtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBjb2xvcjogJGNvbG9yLWdyZWVuLTIwMDtcclxuXHJcbiAgJjphZnRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogLTNweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMnB4O1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTIwMDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIExvZ2luIGJ1dHRvbi5cclxuICovXHJcblxyXG4ubG9naW5fX2Zvcm0tLWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tdG9wOiAxNjBweDtcclxuICBwYWRkaW5nOiAxNXB4IDEyMHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNoYW5nZS1wYXNzd29yZCB7XHJcblxyXG4gIGxlZ2VuZCB7XHJcbiAgICBjb2xvcjogJGNvbG9yLW9yYW5nZS0yMDA7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgfVxyXG5cclxuICAubG9naW5fX2Zvcm0tLWl0ZW0ge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBMb2dvdXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5sb2dvdXQtYnV0dG9uIHtcclxuICBAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBjb2xvcjogJGNvbG9yLWdyZWVuLTIwMDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XHJcblxyXG4gID4gLmlubGluZS1pY29uIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDtcclxuICB9XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktMjAwO1xyXG4gICAgICB0b3A6IC0xN3B4O1xyXG4gICAgICBsZWZ0OiAtOXB4O1xyXG4gICAgICBib3R0b206IGluaXRpYWw7XHJcbiAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgIH1cclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IC00cHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbi0yMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcblxyXG4gICYuaXMtbG9nZ2VkLWluIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4ubG9nb3V0LWJ1dHRvbl9fdGV4dCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTW9kYWxcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5tb2RhbC13cmFwcGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci13aGl0ZS0xMDAsIDAuNyk7XHJcbiAgb3BhY2l0eTogMDtcclxuICB6LWluZGV4OiA5OTk7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5tb2RhbCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogNzA5cHg7XHJcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcclxuICBtYXgtaGVpZ2h0OiA3MTVweDtcclxuICBwYWRkaW5nOiA1MHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgYm94LXNoYWRvdzogM3B4IDNweCA0MXB4IDAgcmdiYSgxODMsIDE4MywgMTgzLCAwLjQ0KTtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAmLmxvYWRpbmcge1xyXG5cdCY6OmFmdGVyIHtcclxuXHRcdG9wYWNpdHk6IDAuNjtcclxuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcblx0fVxyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAxMDAwMDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLm1vZGFsLWNsb3NlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAxMHB4O1xyXG4gIHJpZ2h0OiAxMHB4O1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gID4gLmlubGluZS1pY29uIHtcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLm1vZGFsLWNsb3NlX190ZXh0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBsaW5lLWhlaWdodDogNHB4O1xyXG59XHJcblxyXG4ubW9kYWwtdGl0bGUge1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5LTQwMDtcclxuXHJcbiAgPiAuaW5saW5lLWljb24ge1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbiAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICB9XHJcbn1cclxuXHJcbi5tb2RhbC1kZXNjcmlwdGlvbiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxufVxyXG5cclxuLm1vZGFsLWJ1dHRvbiB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4ubW9kYWxfX2xvYWRpbmctaWNvbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDQwcHg7XHJcbiAgaGVpZ2h0OiA0MHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzcGlubmluZztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuXHJcbiAgc3ZnIHtcclxuICAgIGNvbG9yOiAkY29sb3Itb3JhbmdlLTIwMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3Bpbm5pbmcge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5qcy1pbnZpc2libGUtZmllbGRzIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTm90IGxvZ2dlZCBpbiBmb3JtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubm90LWxvZ2dlZC1pbiB7XHJcbiAgXHJcbn1cclxuXHJcbi5ub3QtbG9nZ2VkLWluX190aXRsZSB7XHJcbiAgQGluY2x1ZGUgZm9udCgyM3B4LCAyOXB4KTtcclxufVxyXG5cclxuLm5vdC1sb2dnZWQtaW5fX2J1dHRvbiB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuIiwiLyoqXHJcbiAqIEZvcm0uXHJcbiAqL1xyXG5cclxuLm9yZGVyLW9wdGlvbnNfX3RpdGxlIHtcclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAycHg7XHJcblx0XHR3aWR0aDogMTRweDtcclxuXHRcdGhlaWdodDogMTVweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHR9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxOHB4LCAyMHB4KTtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdH1cclxufVxyXG5cclxuLm9yZGVyLW9wdGlvbnNfX2ludHJvIHtcclxuXHRAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG5cdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLm9yZGVyLW9wdGlvbnNfX29wdGlvbnMge1xyXG5cclxufVxyXG5cclxuLm9yZGVyLW9wdGlvbnNfX29wdGlvbiB7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDEwcHggMDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXktMTAwO1xyXG5cclxuXHQmLmlzLWZpcnN0IHtcclxuXHRcdGJvcmRlcjogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5vcmRlci1vcHRpb25zX19vcHRpb24tdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGZvbnQoMThweCwgMjBweCk7XHJcblx0d2lkdGg6IGNhbGMoMTAwJSAtIDMxMHB4KTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4ub3JkZXItb3B0aW9uc19fb3B0aW9uLXByaWNlIHtcclxuXHR3aWR0aDogMTc1cHg7XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHR9XHJcblxyXG5cdC5pcy1jYXB0aW9uIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMThweCwgMjBweCk7XHJcblx0XHRjb2xvcjogJGNvbG9yLWdyZXktNDAwO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDVweDtcclxuXHR9XHJcbn1cclxuXHJcbi5vcmRlci1vcHRpb25zX19hbW91bnQge1xyXG5cdHdpZHRoOiAxMzVweDtcclxuXHJcblx0Lm9wdGlvbi1zZWxlY3RlZCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG59XHJcblxyXG4ub3JkZXItb3B0aW9uc19fdG90YWwge1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRtYXJnaW46IDI1cHggMCA0MHB4IDA7XHJcbn1cclxuXHJcbi5vcmRlci1vcHRpb25zX190b3RhbC1sYWJlbCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLm9yZGVyLW9wdGlvbnNfX3RvdGFsLXByaWNlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4ub3JkZXItb3B0aW9uc19fYnV0dG9uIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0YnV0dG9uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCdXR0b24uXHJcbiAqL1xyXG5cclxuXHJcbi5vcmRlci1vcHRpb25zX19ib29rIHtcclxuXHRhIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0cmlnaHQ6IC0xODVweDtcclxuXHRcdH1cclxuXHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHRvcDogMjM4cHg7XHJcblx0XHRyaWdodDogLTIwcHg7XHJcblx0XHR3aWR0aDogMjUwcHg7XHJcblx0XHRoZWlnaHQ6IDYxcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMzBweCAwIDAgMzBweDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdHdpZHRoOiA3MHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDIxcHg7XHJcblx0XHRcdGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0cmlnaHQ6IDBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUGFnZSB0aXRsZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnBhZ2UtdGl0bGUge1xyXG4gIGNvbG9yOiAkY29sb3ItYmxhY2stMzAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBib3gtc2hhZG93OiAwIDJweCAwIDAgI2UwZTBlMDtcclxufVxyXG5cclxuLnBhZ2UtdGl0bGVfX3RpdGxlIHtcclxuICBAaW5jbHVkZSBmb250KDI1cHgsIDMycHgpO1xyXG4gIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG5cclxuLnBhZ2UtdGl0bGVfX3N1YnRpdGxlIHtcclxuICBAaW5jbHVkZSBmb250KDE4cHgsIDIycHgpO1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5LTQwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFByb2ZpbGUgdXNlclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnByb2ZpbGUtdXNlcl9fZm9ybSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ucHJvZmlsZS11c2VyX19oZWFkaW5nIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxufVxyXG5cclxuLnByb2ZpbGUtdXNlcl9fdGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgZm9udCgyM3B4LCAyOXB4KTtcclxuICBjb2xvcjogJGNvbG9yLXB1cnBsZS0yMDA7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4ucHJvZmlsZS11c2VyX19idXR0b24ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBlYXNlO1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgb3BhY2l0eTogMC42O1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICA+IC5pbmxpbmUtaWNvbiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgfVxyXG4gICAgd2lkdGg6IDE1cHg7XHJcbiAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgfVxyXG5cclxuICAmLmlzLXNob3duIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLnByb2ZpbGUtdXNlcl9fYnV0dG9uLXRleHQge1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcbn1cclxuXHJcbi5wcm9maWxlLXVzZXJfX2J1dHRvbi0tc2F2ZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnByb2ZpbGUtdXNlcl9fYnV0dG9uLS1oYXMtbm90aWNlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgei1pbmRleDogMTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICB0b3A6IC0xMnB4O1xyXG4gICAgcmlnaHQ6IC0xMnB4O1xyXG4gICAgd2lkdGg6IDIxNXB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci15ZWxsb3ctMjAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuXHJcbiAgICAucHJvZmlsZS11c2VyX19idXR0b24tbm90aWNlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucHJvZmlsZS11c2VyX19idXR0b24tbm90aWNlIHtcclxuICBAaW5jbHVkZSBmb250KDE1cHgsIDIwcHgpO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBwYWRkaW5nOiAyMHB4IDEwcHggMTBweDtcclxuICBjb2xvcjogJGNvbG9yLWdyZXktNDAwO1xyXG59XHJcblxyXG4ucHJvZmlsZS11c2VyX19idXR0b24tLWhhcy1ub3RpY2UtZGVmYXVsdCB7XHJcbiAgd2lkdGg6IDcwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcblxyXG4gID4gLmlubGluZS1pY29uIHtcclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLnByb2ZpbGUtdXNlcl9fc2F2ZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSZWdpc3RlclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIE1haW4gZWxlbWVudCAocmVnaXN0ZXIpLlxyXG4gKi9cclxuXHJcbi5yZWdpc3RlcixcclxuLmNyZWF0ZWFjY291bnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgbGFiZWwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZXktNDAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG5cclxuICAgICYuaXMtaW52YWxpZCB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItcmVkLTEwMDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0W3R5cGU9dGV4dF0sXHJcbiAgaW5wdXRbdHlwZT1wYXNzd29yZF0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZXktMTAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy0yMDA7XHJcblxyXG4gICAgJi5pcy1pbnZhbGlkIHtcclxuICAgICAgYm9yZGVyOiAzcHggc29saWQgJGNvbG9yLXJlZC0xMDA7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1yZWQtNTA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2hhbmdlLXBhc3N3b3JkX19idXR0b24ge1xyXG5cclxuICBhIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRvcDogMTUwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiAxNXB4IDQwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHdpZHRoOiA1NCU7XHJcbiAgICBtYXJnaW46IDMwcHggMDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuICAgIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xyXG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctMTAwO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNyZWF0ZWFjY291bnQge1xyXG4gIG1hcmdpbi10b3A6IDgwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRmxleCBzZXR0aW5ncy5cclxuICovXHJcblxyXG4ucmVnaXN0ZXJfX2Zvcm0tLWZsZXgge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZvcm0gdGl0bGUuXHJcbiAqL1xyXG5cclxuLnJlZ2lzdGVyX19mb3JtLS10aXRsZSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb3JtIHN0ZXBzLlxyXG4gKi9cclxuXHJcbi5yZWdpc3Rlcl9fZm9ybS0tc3RlcHMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xyXG4gICAgfVxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDE0cHg7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogOTUlO1xyXG4gICAgaGVpZ2h0OiAycHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggZGFzaGVkICRjb2xvci1wdXJwbGUtMjAwO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb3JtIHN0ZXAuXHJcbiAqL1xyXG5cclxuLnJlZ2lzdGVyX19mb3JtLS1zdGVwIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDUwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9ybSBzdGVwIG51bWJlci5cclxuICovXHJcblxyXG4ucmVnaXN0ZXJfX2Zvcm0tLXN0ZXAtbnVtYmVyIHtcclxuICB3aWR0aDogMzBweDtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1wdXJwbGUtMjAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gIGNvbG9yOiAkY29sb3ItcHVycGxlLTIwMDtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICAmLmlzLWFjdGl2ZSB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItcHVycGxlLTIwMDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1wdXJwbGUtMjAwO1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvcm0gc3RlcCB0aXRsZS5cclxuICovXHJcblxyXG4ucmVnaXN0ZXJfX2Zvcm0tLXN0ZXAtdGl0bGUge1xyXG4gIG1hcmdpbi10b3A6IDVweDtcclxuICBjb2xvcjogJGNvbG9yLXB1cnBsZS0yMDA7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE9yZ2FuaXNhdGlvbiBuYW1lLlxyXG4gKi9cclxuXHJcbi5vcmdhbmlzYXRpb24taW5mb19fdGl0bGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFJhZGlvIGJ1dHRvbiBjb250YWluZXIuXHJcbiAqL1xyXG5cclxuLm9yZ2FuaXNhdGlvbi1pbmZvX190eXBlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiA1MDBweDtcclxuICBtYXJnaW4tcmlnaHQ6IC0xMXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xyXG4gIFxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFJhZGlvIGJ1dHRvbiBzZXR0aW5ncy5cclxuICovXHJcblxyXG4ub3JnYW5pc2F0aW9uLWluZm9fX3R5cGUtLXJhZGlvYnV0dG9ucyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMjJweCk7XHJcbiAgfVxyXG4gIG1hcmdpbjogMCAxMXB4O1xyXG59XHJcblxyXG4ub3JnYW5pc2F0aW9uLWluZm9fX3R5cGUtLXJhZGlvYnV0dG9ucyAucmFkaW8tdGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG4gIH1cclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDIyMXB4O1xyXG4gIHBhZGRpbmc6IDMwcHggMDtcclxuICB0cmFuc2l0aW9uOiBib3JkZXIgMTgwbXM7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZXktMTAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJveC1zaGFkb3c6IDNweCAzcHggMXB4IDAgJGNvbG9yLWdyZXktMTAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLW9yYW5nZS0yMDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ub3JnYW5pc2F0aW9uLWluZm9fX3R5cGUtLXJhZGlvIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAtOTk5OXB4O1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAmOmNoZWNrZWQgKyAucmFkaW8tdGl0bGUge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLW9yYW5nZS0yMDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEtQTC5cclxuICovXHJcblxyXG4ub3JnYW5pc2F0aW9uLWluZm9fX2twbCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTdHJlZXQuXHJcbiAqL1xyXG5cclxuLm9yZ2FuaXNhdGlvbi1pbmZvX19hZGRyZXNzLS1zdHJlZXQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDQ4LjUlO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhvdXNlbnVtYmVyLlxyXG4gKi9cclxuXHJcbi5vcmdhbmlzYXRpb24taW5mb19fYWRkcmVzcy0taG91c2VudW1iZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMTBweCk7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogMzElO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEFkZGl0aW9uLlxyXG4gKi9cclxuXHJcbi5vcmdhbmlzYXRpb24taW5mb19fYWRkcmVzcy0tYWRkaXRpb24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMTBweCk7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogMTUlO1xyXG59XHJcblxyXG4vKipcclxuICogWmlwY29kZSAmIENpdHkuXHJcbiAqL1xyXG5cclxuLm9yZ2FuaXNhdGlvbi1pbmZvX19hZGRyZXNzLS16aXBjb2RlLFxyXG4ub3JnYW5pc2F0aW9uLWluZm9fX2FkZHJlc3MtLWNpdHksIFxyXG4ub3JnYW5pc2F0aW9uLWluZm9fX2FkZHJlc3MtLWVtYWlsIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMTBweCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQaG9uZW51bWJlciAxLlxyXG4gKi9cclxuXHJcbi5vcmdhbmlzYXRpb24taW5mb19fYWRkcmVzcy0tcGhvbmUxIHtcclxuICBtYXJnaW4tdG9wOiA4MHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE5leHQgc3RlcCBidXR0b24uXHJcbiAqL1xyXG5cclxuLnJlZ2lzdGVyX19mb3JtLS1uZXh0c3RlcCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IDYwcHg7XHJcbn1cclxuXHJcbi51c2VyaW5mbyB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGaXJzdG5hbWUgKyBsYXN0bmFtZS5cclxuICovXHJcblxyXG4udXNlcmluZm9fX2Zvcm0tLWZpcnN0bmFtZSxcclxuLnVzZXJpbmZvX19mb3JtLS1sYXN0bmFtZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogMzAlO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEluaXRpYWxzICsgaW5zZXJ0aW9uLlxyXG4gKi9cclxuXHJcbi51c2VyaW5mb19fZm9ybS0taW5pdGlhbHMsXHJcbi51c2VyaW5mb19fZm9ybS0taW5zZXJ0aW9uIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDEwcHgpO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDE1JTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXJtcyAmIGNvbmRpdGlvbnMuXHJcbiAqL1xyXG5cclxuLmNyZWF0ZWFjY291bnRfX3Rlcm1zIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICBpbnB1dCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgbGFiZWwge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgei1pbmRleDogMztcclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTIwMDtcclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogLTVweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbi0yMDA7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAycHg7XHJcbiAgICB3aWR0aDogMThweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTgwbXM7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctMjAwO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgfVxyXG5cclxuICAmLmlzLWFjdGl2ZTo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbi0yMDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZpbmFsIHN1Ym1pdCBidXR0b25cclxuICovXHJcblxyXG4ucmVnaXN0ZXJfX2Zvcm0tLXN1Ym1pdCBidXR0b24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDUwJTtcclxuICBtYXJnaW4tdG9wOiA4MHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbHVtbnMgaW4gdGhlIHJlZ2lzdGVyLS1zdWNjZXNzIHBhcnRpYWwuXHJcbiAqL1xyXG5cclxuLnJlZ2lzdGVyX19zdWNjZXNzLS1jb2x1bW5zIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2luZ2xlIGNvbHVtbi5cclxuICovXHJcblxyXG4ucmVnaXN0ZXJfX3N1Y2Nlc3MtLWNvbHVtbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDEwcHgpO1xyXG4gIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgcGFkZGluZzogNDBweDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctMzAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbHVtbiB0aXRsZS5cclxuICovXHJcblxyXG4ucmVnaXN0ZXJfX3N1Y2Nlc3MtLWNvbHVtbi10aXRsZSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICBjb2xvcjogJGNvbG9yLWdyZXktNDAwO1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbHVtbiBjb250ZW50LlxyXG4gKi9cclxuXHJcbi5yZWdpc3Rlcl9fc3VjY2Vzcy0tY29sdW1uLWNvbnRlbnQge1xyXG4gIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JleS00MDA7XHJcbiAgZm9udC1zaXplOiAxNXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5yZWdpc3Rlcl9fc3VjY2Vzcy0taW1hZ2Uge1xyXG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbiAgY29sb3I6ICRjb2xvci1ncmVlbi0yMDA7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgaW1nIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDg1cHg7XHJcbiAgICBoZWlnaHQ6IDg1cHg7XHJcbiAgICBtYXJnaW46IGF1dG8gYXV0byAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLm1lc3NhZ2VzIHtcclxuXHJcbiAgLlxcMzIge1xyXG4gICAgY29sb3I6ICRjb2xvci1yZWQtMjAwO1xyXG4gIH1cclxufVxyXG5cclxuLnJlZ2lzdGVyX19zdWNjZXMtYWdlbmRhIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDM0MnB4O1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBSZWdpc3RlciBoZWxwIGJsb2NrLlxyXG4gKi9cclxuXHJcbi5yZWdpc3Rlci1oZWxwIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICByaWdodDogMjBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICByaWdodDogMTIwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG4gICAgcmlnaHQ6IDIwMHB4O1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgcmlnaHQ6IDEyMHB4O1xyXG4gIGJvdHRvbTogMjBweDtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG4gIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvci15ZWxsb3ctMjAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlLTEwMDtcclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuICAgIC5yZWdpc3Rlci1oZWxwX190aXRsZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWdpc3Rlci1oZWxwX19jb250ZW50IHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnJlZ2lzdGVyLWhlbHAgLnRvZ2dsZXMgc3ZnIHtcclxuICB3aWR0aDogMjBweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucmVnaXN0ZXItaGVscCAuanMtZXhwYW5kIHN2ZyB7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuLnJlZ2lzdGVyLWhlbHAgLmpzLWNvbXByZXNzIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG5cclxuICBzdmcge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbi5yZWdpc3Rlci1oZWxwX190aXRsZSB7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcbiAgY29sb3I6ICRjb2xvci15ZWxsb3ctMjAwO1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4ucmVnaXN0ZXItaGVscF9fY29udGVudCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBtYXJnaW4tcmlnaHQ6IDUwcHg7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcbiAgY29sb3I6ICRjb2xvci1ncmV5LTQwMDtcclxuXHJcbiAgdWwge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICB9XHJcblxyXG4gIGxpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgfVxyXG5cclxuICBzdmcge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiA0cHg7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIGhlaWdodDogMTVweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEVycm9yIG1lc3NhZ2UuXHJcbiAqL1xyXG5cclxuLnJlZ2lzdGVyIC5lcnJvci1tZXNzYWdlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcblxyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMTBweDtcclxuICByaWdodDogMTBweDtcclxuICBsZWZ0OiAxMHB4O1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIG1hcmdpbi1sZWZ0OiAzMCU7XHJcbiAgcGFkZGluZzogODBweCAyMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLXJlZC01MDtcclxuICBjb2xvcjogJGNvbG9yLWdyZXktNDAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgei1pbmRleDogMTA7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIGNvbG9yOiAkY29sb3ItcmVkLTEwMDtcclxuICB9XHJcblxyXG4gIGgyIHtcclxuICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmV5LTQwMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgfVxyXG5cclxuICAuanMtY2xvc2UtZXJyb3Ige1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAyMHB4O1xyXG4gICAgcmlnaHQ6IDIwcHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLXJlZC0xMDA7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFN1Ym1lbnVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zdWJtZW51IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcclxufVxyXG5cclxuLnN1Ym1lbnUgbGkge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgPiBhIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXB1cnBsZS0yMDAsIDAuMSk7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItcHVycGxlLTIwMDtcclxuICAgIH1cclxuXHJcbiAgICA+IC5zdWJzdWJtZW51IHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICA+IGEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxNHB4IDZweDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXMgZWFzZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgaGVpZ2h0OiAyMXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgLnN1Ym1lbnVfX2Fycm93IHtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bnRoLWNoaWxkKDEpIHtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXktMjAwO1xyXG4gIH1cclxufVxyXG5cclxuLnN1Ym1lbnVfX2Fycm93IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDEzcHg7XHJcbiAgcmlnaHQ6IDVweDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB3aWR0aDogMjVweDtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE4MG1zO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgPiAuaW5saW5lLWljb24ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnN1YnN1Ym1lbnUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5zdWJzdWJtZW51IGxpIHtcclxuICBib3JkZXItdG9wOiAwO1xyXG59XHJcblxyXG4uc3Vic3VibWVudSBsaSA+IGEge1xyXG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMTZweDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb2xvclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIENvbG9yIHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG4vLyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBjb2xvciBhbmQgYmFja2dyb3VuZCBjb2xvciB1dGlsaXR5IGNsYXNzZXMgYmFzZWQgb25cclxuLy8gZXZlcnkgY29sb3IgZGVmaW5pdGlvbiBpbiBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxyXG4vL1xyXG4vLyBMb29wIHRocm91Z2ggZXZlcnkgYCRrZXlgIGFuZCBgJG1hcGAgaW4gdGhlIGAkY29sb3JzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpblxyXG4vLyBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxyXG5AZWFjaCAka2V5LCAkbWFwIGluICRjb2xvcnMge1xyXG5cclxuICAvLyBMb29wIHRocm91Z2ggZXZlcnkgYCRzaGFkZWAgYW5kIGAkcmdiYCBpbiBgJG1hcGAuXHJcbiAgQGVhY2ggJHNoYWRlLCAkcmdiIGluICRtYXAge1xyXG5cclxuICAgIC8vIExvb3AgdGhyb3VnaCBldmVyeSBgY29sb3JgIGFuZCBgYmFja2dyb3VuZC1jb2xvcmAgcnVsZXMuXHJcbiAgICBAZWFjaCAkcnVsZSBpbiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciB7XHJcblxyXG4gICAgICAvKipcclxuICAgICAgICogYCN7JHJ1bGV9YCAjeyRyZ2J9LSN7JHNoYWRlfSBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgIC4jeyRydWxlfS0je3VucXVvdGUoJGtleSl9LSN7dW5xdW90ZSgkc2hhZGUpfSB7XHJcbiAgICAgICAgI3skcnVsZX06ICRyZ2I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgT2JqZWN0IEZpdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIE9iamVjdCBmaXQuXHJcbiAqXHJcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXHJcbiAqL1xyXG5cclxuLy8gTG9vcCB0aHJvdWdoIGV2ZXJ5IHZhbHVlIGZvciB0aGUgYG9iamVjdC1maXRgIHByb3BlcnR5LlxyXG5AZWFjaCAkdmFsdWUgaW4gZmlsbCwgY29udGFpbiwgY292ZXIsIG5vbmUsIHNjYWxlLWRvd24ge1xyXG5cclxuICAvKipcclxuICAgKiBgb2JqZWN0LWZpdGAgI3skdmFsdWV9IHV0aWxpdHkgY2xhc3MuXHJcbiAgICovXHJcblxyXG4gIC4jeyR2YWx1ZX0ge1xyXG4gICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiAjeyR2YWx1ZX07JzsgLyogMSAqL1xyXG4gICAgb2JqZWN0LWZpdDogI3skdmFsdWV9O1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQb3NpdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFBvc2l0aW9uIHV0aWxpdHkgY2xhc3MuXHJcbiAqL1xyXG5cclxuQGVhY2ggJHZhbHVlIGluIHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5IHtcclxuICAuI3skdmFsdWV9IHtcclxuICAgIHBvc2l0aW9uOiAkdmFsdWU7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRleHRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGFsaWFzLCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWx5IHtcclxuICAgICAgLnRleHQtI3t1bnF1b3RlKCRrZXkpfS0jeyRhbGlhc30ge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJGtleSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dCBzaXplIHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG5AZWFjaCAkYWxpYXMsICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZm9udC1zaXplIHtcclxuICAgICAgLnRleHQtI3t1bnF1b3RlKCRrZXkpfS0jeyRhbGlhc30ge1xyXG4gICAgICAgIEBpbmNsdWRlIHRleHQoJGtleSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dCBhbGlnbm1lbnQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRhbGlhcywgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCwgY2VudGVyIHtcclxuICAgICAgLnRleHQtI3skZGlyZWN0aW9ufS0jeyRhbGlhc30ge1xyXG4gICAgICAgIHRleHQtYWxpZ246ICRkaXJlY3Rpb247XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKlxyXG4gKiAxLiBNdWx0aXBseSBsb29wZWQgaW50ZWdlciBieSAxMDAgZm9yIGNvcnJlY3QgZm9udCB3ZWlnaHQgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGFsaWFzLCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDkge1xyXG4gICAgICAkaTogJGkgKiAxMDA7IC8vIFsxXVxyXG5cclxuICAgICAgLnRleHQtI3skaX0tI3skYWxpYXN9IHtcclxuICAgICAgICBmb250LXdlaWdodDogI3skaX07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dCB0cmFuc2Zvcm0gdWl0bGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRhbGlhcywgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG4gICAgQGVhY2ggJHRyYW5zZm9ybSBpbiBjYXBpdGFsaXplLCB1cHBlcmNhc2UsIGxvd2VyY2FzZSwgbm9uZSwgZnVsbC13aWR0aCB7XHJcbiAgICAgIC50ZXh0LSN7JHRyYW5zZm9ybX0tI3skYWxpYXN9IHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRyYW5zZm9ybTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBWZXJ0aWNhbCBSaHl0aG1cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTAge1xyXG4gICRpOiAkaSAqIDg7XHJcblxyXG4gIC52ci0jeyRpfSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAjeyRpfXB4O1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBaLWluZGV4XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogVXRpbGl0eSBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgc3RhY2tpbmcgb3JkZXIgaW4gSFRNTC5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJHotaW5kZXgge1xyXG4gIC56LWluZGV4LSN7JGtleX0ge1xyXG4gICAgei1pbmRleDogJHZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBaLWluZGV4XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBBIGxpbWl0ZWQgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgYHotaW5kZXhgIHByb3BlcnR5IHRvIHByZXZlbnRcclxuLy8gZXhhZ2dlcmF0ZWQgYW1vdW50cyBhbmQgdWdseSBoYWNrcy5cclxuXHJcbiR6LWluZGV4OiAoXHJcbiAgJzAnOiAgMCxcclxuICAnMSc6ICAxMCxcclxuICAnMic6ICAyMCxcclxuICAnMyc6ICAzMCxcclxuICAnNCc6ICA0MCxcclxuICAnNSc6ICA1MCxcclxuICAnNic6ICA2MCxcclxuICAnNyc6ICA3MCxcclxuICAnOCc6ICA4MCxcclxuICAnOSc6ICA5MCxcclxuICAnMTAnOiAxMDBcclxuKTtcclxuIl19 */
