/* ----------
 @ Bourbon
---------- */
/* ----------
 @ Bootstrap Variables
---------- */
/* ----------
 @ Custom Variables
---------- */
/* --------------------
 @@ Project Specific Variables
-------------------- */
/* ----------
 @ Options
---------- */
/* ----------
 @ Colors
---------- */
/* ----------
 @ Typography
---------- */
/* ----------
 @ Layout
---------- */
/* ----------
 @ Misc
---------- */
/* ----------
 @ Custom Utilities
---------- */
/* Project specific mixins */
/* ----------
 @ A mixin to handle some site entity colors
---------- */
/* --------------------
 @@ Mixins
-------------------- */
/* ----------
 @ Maintain Aspect Ratio
	- *** requires that the element has an inner container element if there is inner content
	- $x => x portion of ratio
	- $y => y portion of ratio
    - $c => set to 'false' to skip :first-child styling
---------- */
/* ----------
 @ Background Image
	- Shortcut for linking images in the configured images folder
	- $i => image file name (relative to images folder)
	- $rest => any additional 'background' property shortcut declarations (ie: no-repeat)
---------- */
/* ----------
 @ Size
 	- Shortcut for setting height and width
 	- $width => width of element
 	- $height => height of element
 	- Single value will set both values (e.g. size(100%);
---------- */
/* --------------------
 @@ Functions
-------------------- */
/* ----------
 @ Color Get
 	- get value from the $theme-colors map
---------- */
/* ----------
 @ Breakpoint Get
 	- get value from the $grid-breakpoints map
 	- $type => 'max' | 'min', depending on media query type
---------- */
/* ----------
 @ Rems
	- convert pixels to rems
	- $p => pixel value
	- $b => base size (to use in formula) - defaults to $font-sizes root variable
---------- */
/* ----------
 @ Map Deep Get
 	- get value from nested maps
---------- */
/* ----------
 @ Weight Get
 	- get value from the $font-weights map
---------- */
.c-banner-image {
  position: relative;
  margin: 0;
  overflow: hidden;
}

.c-banner-image + * {
  margin-top: 5rem;
}

.c-banner-image__swoop {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 15rem;
  z-index: 0;
}

.parent-back-to-batoche .c-banner-small-swoop__circle-back,
.c-banner-image--batoche .c-banner-small-swoop__circle-back {
  fill: #ffcd00;
}

.c-banner-image__image {
  width: 100%;
  height: 56rem;
  margin-top: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-banner-image__fake-clip {
  position: absolute;
  bottom: -1px;
  left: -1px;
  right: -1px;
  width: calc(100% + 2px);
  margin: 0;
  fill: #f0f0f0;
  z-index: 1;
  pointer-events: none;
}

@media only screen and (min-width: 1900px) {
  .c-banner-image__swoop {
    top: -1vw;
    height: 13.7vw;
  }
}

@media only screen and (max-width: 768px) {
  .c-banner-image__swoop {
    left: 0;
    -webkit-transform: none;
            transform: none;
    height: 9rem;
  }
  .c-banner-image__swoop circle {
    -webkit-transform: translateX(38rem) translateY(6rem) scale(0.55);
            transform: translateX(38rem) translateY(6rem) scale(0.55);
  }
  .c-banner-image__image {
    width: 100%;
    height: 100vw;
    margin-top: 3rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.c-cta-blocks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -1rem;
}

.c-cta-blocks__block {
  width: calc((100% - 2rem * 4) / 4);
  margin: 1rem;
}

.c-cta-block {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  padding: 1rem;
  font-family: kiro, sans-serif;
  font-size: max(1.75vw, 1.11111rem);
  font-weight: 700;
  line-height: 1.05882;
  letter-spacing: -0.01em;
  color: #fff;
  background-color: #2670c2;
  border-radius: 10px;
  overflow: hidden;
  z-index: 0;
}

.c-cta-block::before {
  content: '';
  width: 0;
  height: 0;
  padding-bottom: 100%;
}

.c-cta-block::after {
  content: url("../../img/beadwork-single-blue.svg");
  display: block;
  position: absolute;
  top: -76%;
  left: calc(100% - 6rem);
  width: 175%;
  -webkit-transform: rotate(-13deg);
          transform: rotate(-13deg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top left;
  z-index: -1;
  -webkit-transition: -webkit-transform 250ms ease-out;
  transition: -webkit-transform 250ms ease-out;
  transition: transform 250ms ease-out;
  transition: transform 250ms ease-out, -webkit-transform 250ms ease-out;
}

.c-cta-block:hover, .c-cta-block:focus {
  text-decoration: none;
  color: #fff;
}

.c-cta-block:hover::after, .c-cta-block:focus::after {
  -webkit-transform: rotate(-13deg) translateX(-1rem);
          transform: rotate(-13deg) translateX(-1rem);
}

@media only screen and (max-width: 991px) {
  .c-cta-blocks__block {
    width: calc((100% - 2rem * 2) / 2);
    margin: 1rem;
  }
  .c-cta-block {
    font-size: max(4vw, 1.22222rem);
  }
}

@media only screen and (max-width: 768px) {
  .c-cta-block {
    font-size: max(6vw, 1.11111rem);
  }
}

.c-filterbar__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -0.5rem;
}

.c-filterbar__button {
  --btn-color: #0057b7;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.5em 1em;
  font-family: kiro, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  color: #2e2e2e;
  border: 3px solid var(--btn-color);
  border-radius: 2em;
  margin: 0.5rem;
  -webkit-transition: color 150ms ease-out, background 150ms ease-out, border 150ms ease-out;
  transition: color 150ms ease-out, background 150ms ease-out, border 150ms ease-out;
}

.c-filterbar__button:hover, .c-filterbar__button:focus {
  border-color: #2e2e2e;
}

.c-filterbar__button.is-active {
  color: #fff;
  background-color: var(--btn-color);
}

.c-filterbar__button.is-active:hover, .c-filterbar__button.is-active:focus {
  background-color: #2e2e2e;
}

.c-filterbar__button--artisan-village {
  --btn-color: #f04664;
}

.c-filterbar__button--batoche-historic-site {
  --btn-color: #6e41b4;
}

.c-filterbar__button--elders-lodge {
  --btn-color: #0057b7;
}

.c-filterbar__button--food-truck-alley {
  --btn-color: #d22828;
}

.c-filterbar__button--little-jiggers-village {
  --btn-color: #6e41b4;
}

.c-filterbar__button--main-stage {
  --btn-color: #002b45;
}

.c-filterbar__button--michif-corner {
  --btn-color: #ff6a13;
}

.c-filterbar__button--second-stage {
  --btn-color: #4c8d2b;
}

.c-filterbar__button--voyageur-games-demonstration {
  --btn-color: #00a0aa;
}

.c-filterbar__button--contest-ages {
  --btn-color: #ff6a13;
}

.c-filterbar__button--contest-categories {
  --btn-color: #0057b7;
}

.c-filterbar__button--vendors {
  --btn-color: #6e41b4;
}

.c-filterbar__button--store-categories {
  --btn-color: #ff6a13;
}

.c-filterbar__button--yellow {
  --btn-color: #ffcd00;
}

.c-filterbar__button--light-blue {
  --btn-color: #71c5e8;
}

.c-filterbar__extras {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 3rem;
}

.c-filterbar__search {
  width: calc(100% / 12 * 8);
  margin-right: 1rem;
}

.c-filterbar__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0;
  margin-left: auto;
  font-family: kiro, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1;
}

.c-filterbar__filter-count__number::before {
  content: '(';
}

.c-filterbar__filter-count__number::after {
  content: ')';
}

.c-filterbar__filter-count__plural {
  display: inline;
}

.c-filterbar__filter-count__plural.is-singular {
  display: none;
}

.c-filterbar__clear {
  display: inline-block;
  margin-left: 1em;
  padding-left: 1em;
  font-family: kiro, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1;
  color: #2e2e2e;
  border-left: 2px solid #2670c2;
}

.c-filterbar__clear:hover, .c-filterbar__clear:focus {
  color: #ff6a13;
}

.c-filterbar__clear-btn {
  margin-left: 1rem;
}

@media only screen and (max-width: 991px) {
  .c-filterbar__search {
    width: calc(100% / 12 * 7);
    margin-right: 1rem;
  }
}

@media only screen and (max-width: 768px) {
  .c-filterbar__extras {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 2rem;
  }
  c-filterbar__buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-filterbar__button {
    width: 100%;
  }
  .c-filterbar__search {
    width: 100%;
    margin-right: 0;
  }
  .c-filterbar__meta {
    margin: 2rem auto 0;
  }
}

.c-search-bar {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 3rem;
  padding-left: 4rem;
  border-radius: 2rem;
  background-color: #fff;
  -webkit-box-shadow: inset 2px 2px 3px rgba(0, 0, 0, 0.1);
          box-shadow: inset 2px 2px 3px rgba(0, 0, 0, 0.1);
  z-index: 1;
}

.c-search-bar__form {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-search-bar__label {
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3rem;
  height: 3rem;
  font-size: 0;
  color: #fff;
  background-color: #0057b7;
  border-radius: 50%;
  cursor: pointer;
}

.c-search-bar__label::before {
  content: '\f002';
  font-family: "Font Awesome 5 Pro";
  font-size: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-search-bar__input {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  width: auto;
  height: auto;
}

.c-search-bar__submit {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 3rem;
  height: 3rem;
  color: #0057b7;
}

.c-search-bar__submit::before {
  content: '\f061';
  font-family: "Font Awesome 5 Pro";
}

.c-search-bar__submit:hover, .c-search-bar__submit:focus {
  color: #ff6a13;
}

.c-video {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

.c-video--16-9 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-video--16-9::before {
  content: '';
  width: 0;
  height: 0;
  padding-bottom: 56.25%;
}

.c-video--16-9 .c-video__thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-video__video {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  cursor: pointer;
}

.c-video__play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 10%;
  max-width: 5rem;
  margin: 0;
  fill: #fff;
  -webkit-transition: opacity 100ms ease-out, -webkit-transform 150ms ease-out;
  transition: opacity 100ms ease-out, -webkit-transform 150ms ease-out;
  transition: transform 150ms ease-out, opacity 100ms ease-out;
  transition: transform 150ms ease-out, opacity 100ms ease-out, -webkit-transform 150ms ease-out;
}

.c-video__play-btn .c-video__play-btn__icon {
  display: block;
  width: 100%;
}

.has-video-playing .c-video__play-btn {
  opacity: 0;
}

.c-video:hover .c-video__play-btn {
  -webkit-transform: translate(-50%, -50%) scale(1.25);
          transform: translate(-50%, -50%) scale(1.25);
}

.c-video--embed {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.c-video--embed iframe,
.c-video--embed object,
.c-video--embed embed {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.c-video-post {
  color: #2e2e2e;
}

.c-video-post:hover, .c-video-post:focus {
  text-decoration: none;
}

.c-video-post__categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0.5rem -0.5rem 0;
}

.c-video-post__category {
  margin: 0.5rem;
}

.c-video-post__title {
  margin-top: 1rem;
  font-family: kiro, sans-serif;
  font-size: 1.66667rem;
  font-weight: 700;
  line-height: 1.06667;
  letter-spacing: -0.02em;
}

.c-video-post__likes {
  margin-top: 1rem;
  color: #000;
  font-size: 1.33333rem;
}

.c-video-grid__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 3rem -1rem 0;
}

.c-video-grid__item {
  width: calc((100% - 6rem) / 3);
  margin: 1.5rem 1rem;
}

.c-video-grid__items .c-no-results {
  margin: 0 1rem;
}

@media only screen and (max-width: 1080px) {
  .c-video-grid__item {
    width: calc((100% - 4rem) / 2);
  }
}

@media only screen and (max-width: 768px) {
  .c-video-grid__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 3rem -1rem 0;
  }
  .c-video-grid__item {
    width: 100%;
    margin: 2rem 1rem 0;
  }
  .c-video-grid__item:first-child {
    margin-top: 0;
  }
}

.c-likes-heart {
  position: relative;
  font-weight: 700;
  padding-left: 1.25em;
  color: inherit;
  line-height: 1.2;
  font-family: kiro, sans-serif;
}

.c-likes-heart::before, .c-likes-heart::after {
  line-height: 1.2;
}

.c-likes-heart::before {
  content: '\f004';
  position: absolute;
  left: 0;
  display: inline-block;
  margin-right: 0.25em;
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
}

.c-likes-heart::after {
  content: '\f004';
  position: absolute;
  left: 0;
  display: inline-block;
  margin-right: 0.25em;
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
  opacity: 0;
}

.c-likes-heart.u-like::after {
  -webkit-animation: heartPop 450ms ease-in-out;
          animation: heartPop 450ms ease-in-out;
}

.c-likes-heart.u-like-active::before {
  font-weight: 700;
}

@-webkit-keyframes heartPop {
  0% {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
  50% {
    opacity: 0;
    -webkit-transform: scaleX(0.8) translateY(-50%);
            transform: scaleX(0.8) translateY(-50%);
  }
}

@keyframes heartPop {
  0% {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
  50% {
    opacity: 0;
    -webkit-transform: scaleX(0.8) translateY(-50%);
            transform: scaleX(0.8) translateY(-50%);
  }
}

.c-winner-badge {
  position: absolute;
  top: 0px;
  right: -20px;
  width: 80px;
  height: auto;
  margin-top: 0;
  -webkit-transform: rotate(15deg);
          transform: rotate(15deg);
  -webkit-transform-origin: top right;
          transform-origin: top right;
}

.c-winner-badge--large {
  width: 130px;
  right: -35px;
}

@media only screen and (max-width: 768px) {
  .c-winner-badge--large {
    width: 80px;
    right: -10px;
  }
}

.c-submissions-intro {
  position: relative;
  z-index: 1;
}

.c-submissions-intro::before {
  content: '';
  position: absolute;
  top: -18rem;
  right: 0;
  display: block;
  width: 50rem;
  height: 53rem;
  background-image: url("../../img/beadwork-single-rotated-colour.svg");
  background-position: right -30rem top 0;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}

.c-submissions-intro + * {
  margin-top: 3rem;
}

.c-video-grid {
  margin-top: 5rem;
}

@media only screen and (max-width: 1439px) {
  .c-submissions-intro::before {
    top: -12rem;
  }
}

@media only screen and (max-width: 991px) {
  .c-submissions-intro::before {
    top: -10rem;
    width: 30rem;
    background-position: right -18rem top 0;
  }
}

@media only screen and (max-width: 768px) {
  .c-submissions-intro::before {
    top: -8rem;
    width: 25rem;
    background-position: right -15rem top 0;
  }
  .c-submissions-intro__title {
    font-size: 2.5rem;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl91dGlsaXRpZXMuc2NzcyIsInBhZ2UtdGVtcGxhdGVzL2FyY2hpdmUtc3VibWlzc2lvbnMuY3NzIiwiX2N1c3RvbS11dGlsaXRpZXMuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsIl9taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2Jhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL19taXhpbnMuc2NzcyIsImNvbXBvbmVudHMvX2Jhbm5lci1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fY3RhLWJsb2Nrcy5zY3NzIiwiY29tcG9uZW50cy9fZmlsdGVyYmFyLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2gtYmFyLnNjc3MiLCJjb21wb25lbnRzL192aWRlby5zY3NzIiwiY29tcG9uZW50cy9fdmlkZW8tcG9zdC5zY3NzIiwiY29tcG9uZW50cy9fdmlkZW8tZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fbGlrZXMtaGVhcnQuc2NzcyIsImNvbXBvbmVudHMvX3dpbm5lci1iYWRnZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL2xpYnJhcnkvX3Bvc2l0aW9uLnNjc3MiLCJwYWdlLXRlbXBsYXRlcy9hcmNoaXZlLXN1Ym1pc3Npb25zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O1lDRVk7QURJWjs7WUNEWTtBQ0xaOztZRFFZO0FFUlo7O3NCRldzQjtBRVB0Qjs7WUZVWTtBRUpaOztZRk9ZO0FFK0VaOztZRjVFWTtBRThIWjs7WUYzSFk7QUVtSlo7O1lGaEpZO0FDcEJaOztZRHVCWTtBRzdCWiw0QkFBQTtBQUVBOztZSCtCWTtBSWpDWjs7c0JKb0NzQjtBSWhDdEI7Ozs7OztZSnVDWTtBSWhCWjs7Ozs7WUpzQlk7QUlYWjs7Ozs7O1lKa0JZO0FJTlo7O3NCSlNzQjtBSUx0Qjs7O1lKU1k7QUlDWjs7OztZSklZO0FJV1o7Ozs7O1lKTFk7QUlnQlo7OztZSlpZO0FJd0JaOzs7WUpwQlk7QUtsRlo7RUFDSSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULGdCQUFnQjtBTG9GcEI7O0FLdkZBO0VBTVEsZ0JBQWdCO0FMcUZ4Qjs7QUtsRkE7RUFDSSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFNBQVM7RUFDVCxtQ0FBMkI7VUFBM0IsMkJBQTJCO0VBQzNCLFdBQVc7RUFDWCxhQUFhO0VBQ2IsVUFBVTtBTHFGZDs7QUtuRkE7O0VBRUksYUhMMkI7QUYyRi9COztBS3BGQTtFQUNJLFdBQVc7RUFDWCxhQUFhO0VBQ2IsYUFBYTtFQUNiLG9CQUFpQjtLQUFqQixpQkFBaUI7QUx1RnJCOztBS3JGQTtFQUNJLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osVUFBVTtFQUNWLFdBQVc7RUFDWCx1QkFBdUI7RUFDdkIsU0FBUztFQUVULGFIb0QyQjtFR25EM0IsVUFBVTtFQUNWLG9CQUFvQjtBTHVGeEI7O0FLcEZBO0VBQ0k7SUFDSSxTQUFTO0lBQ1QsY0FBYztFTHVGcEI7QUFDRjs7QUtwRkE7RUFDSTtJQUNJLE9BQU87SUFDUCx1QkFBZTtZQUFmLGVBQWU7SUFDZixZQUE0QjtFTHVGbEM7RUsxRkU7SUFNUSxpRUFBeUQ7WUFBekQseURBQXlEO0VMdUZuRTtFS3BGRTtJQUNJLFdBQVc7SUFDWCxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLG9CQUFpQjtPQUFqQixpQkFBaUI7RUxzRnZCO0FBQ0Y7O0FNckpBO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixtQkFBZTtNQUFmLGVBQWU7RUFDZixhQUF3QjtBTndKNUI7O0FNdEpBO0VBQ0ksa0NBQW1EO0VBQ25ELFlKZ0pvQztBRlN4Qzs7QU1wSkE7RUFDSSxrQkFBa0I7RUFDbEIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLDZCSndHbUM7RUl2R25DLGtDQUEwQztFQUMxQyxnQko0R1M7RUkzR1Qsb0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixXQUFXO0VBQ1gseUJKTjJCO0VJTzNCLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsVUFBVTtBTnVKZDs7QU12S0E7RUFtQlEsV0FBVztFQUNYLFFBQVE7RUFDUixTQUFTO0VBQ1Qsb0JBQW9CO0FOd0o1Qjs7QU05S0E7RUF5QlEsa0RBQWtEO0VBQ2xELGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsU0FBUztFQUNULHVCQUF1QjtFQUN2QixXQUFXO0VBQ1gsaUNBQXlCO1VBQXpCLHlCQUF5QjtFQUN6Qiw0QkFBNEI7RUFDNUIsc0JBQXNCO0VBQ3RCLDZCQUE2QjtFQUM3QixXQUFXO0VBQ1gsb0RBQW9DO0VBQXBDLDRDQUFvQztFQUFwQyxvQ0FBb0M7RUFBcEMsc0VBQW9DO0FOeUo1Qzs7QU03TEE7RUF3Q1EscUJBQXFCO0VBQ3JCLFdBQVc7QU55Sm5COztBTWxNQTtFQTRDWSxtREFBMkM7VUFBM0MsMkNBQTJDO0FOMEp2RDs7QU1ySkE7RUFDSTtJQUNJLGtDQUFtRDtJQUNuRCxZSnVGZ0M7RUZpRXRDO0VNdEpFO0lBQ0ksK0JBQXVDO0VOd0o3QztBQUNGOztBTXJKQTtFQUNJO0lBQ0ksK0JBQXVDO0VOd0o3QztBQUNGOztBT2xPQTtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsbUJBQWU7TUFBZixlQUFlO0VBQ2YsZUFBZTtBUHFPbkI7O0FPbk9BO0VBQ0ksb0JBQVk7RUFDWiwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsNkJMZ0htQztFSy9HbkMsZUFBZTtFQUNmLGdCTG9IUztFS25IVCxjQUFjO0VBQ2QseUJBQXlCO0VBQ3pCLGNMeUUyQjtFS3hFM0Isa0NBQWtDO0VBQ2xDLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsMEZBQWtGO0VBQWxGLGtGQUFrRjtBUHNPdEY7O0FPclBBO0VBbUJRLHFCTGlFdUI7QUZxSy9COztBT3pQQTtFQXNCUSxXQUFXO0VBQ1gsa0NBQWtDO0FQdU8xQzs7QU85UEE7RUEyQlkseUJMeURtQjtBRjhLL0I7O0FPak9JO0VBQ0ksb0JBQVk7QVBvT3BCOztBT3JPSTtFQUNJLG9CQUFZO0FQd09wQjs7QU96T0k7RUFDSSxvQkFBWTtBUDRPcEI7O0FPN09JO0VBQ0ksb0JBQVk7QVBnUHBCOztBT2pQSTtFQUNJLG9CQUFZO0FQb1BwQjs7QU9yUEk7RUFDSSxvQkFBWTtBUHdQcEI7O0FPelBJO0VBQ0ksb0JBQVk7QVA0UHBCOztBTzdQSTtFQUNJLG9CQUFZO0FQZ1FwQjs7QU9qUUk7RUFDSSxvQkFBWTtBUG9RcEI7O0FPclFJO0VBQ0ksb0JBQVk7QVB3UXBCOztBT3pRSTtFQUNJLG9CQUFZO0FQNFFwQjs7QU83UUk7RUFDSSxvQkFBWTtBUGdScEI7O0FPalJJO0VBQ0ksb0JBQVk7QVBvUnBCOztBT3JSSTtFQUNJLG9CQUFZO0FQd1JwQjs7QU96Ukk7RUFDSSxvQkFBWTtBUDRScEI7O0FPeFJBO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixnQkFBZ0I7QVAyUnBCOztBT3pSQTtFQUNJLDBCQUEwQjtFQUMxQixrQkFBa0I7QVA0UnRCOztBTzFSQTtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsYUFBYTtFQUNiLGlCQUFpQjtFQUNqQiw2QkxtRW1DO0VLbEVuQyxlSDhCZ0Q7RUc3QmhELGdCTHVFUztFS3RFVCx5QkFBeUI7RUFDekIsY0FBYztBUDZSbEI7O0FPM1JBO0VBRVEsWUFBWTtBUDZScEI7O0FPL1JBO0VBS1EsWUFBWTtBUDhScEI7O0FPM1JBO0VBQ0ksZUFBZTtBUDhSbkI7O0FPL1JBO0VBSVEsYUFBYTtBUCtSckI7O0FPNVJBO0VBQ0kscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsNkJMMENtQztFS3pDbkMsZUhLZ0Q7RUdKaEQsZ0JMOENTO0VLN0NULHlCQUF5QjtFQUN6QixjQUFjO0VBQ2QsY0xHMkI7RUtGM0IsOEJMcEUyQjtBRm1XL0I7O0FPelNBO0VBY1EsY0wzRXVCO0FGMFcvQjs7QU81UkE7RUFDSSxpQkFBaUI7QVArUnJCOztBTzVSQTtFQUNJO0lBQ0ksMEJBQTBCO0lBQzFCLGtCQUFrQjtFUCtSeEI7QUFDRjs7QU81UkE7RUFDSTtJQUNJLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QixnQkFBZ0I7RVArUnRCO0VPN1JFO0lBQ0ksNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCO0VQK1I1QjtFTzdSRTtJQUNJLFdBQVc7RVArUmpCO0VPN1JFO0lBQ0ksV0FBVztJQUNYLGVBQWU7RVArUnJCO0VPN1JFO0lBQ0ksbUJBQW1CO0VQK1J6QjtBQUNGOztBUXpaQTtFQUNJLGtCQUFrQjtFQUNsQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUN0Qix3REFBNkM7VUFBN0MsZ0RBQTZDO0VBQzdDLFVBQVU7QVI0WmQ7O0FRMVpBO0VBQ0ksbUJBQWM7TUFBZCxrQkFBYztVQUFkLGNBQWM7RUFDZCxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0FSNlp2Qjs7QVEzWkE7RUFDSSxrQkFBa0I7RUFDbEIsT0FBTztFQUNQLE1BQU07RUFDTixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLFdBQVc7RUFDWCxZQUFZO0VBQ1osWUFBWTtFQUNaLFdBQVc7RUFDWCx5Qk5aMkI7RU1hM0Isa0JBQWtCO0VBQ2xCLGVBQWU7QVI4Wm5COztBUTNhQTtFQWdCUSxnQkFBZ0I7RUFDaEIsaUNONkY2QjtFTTVGN0IsZUFBZTtFQUNmLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7QVIrWi9COztBUTNaQTtFQUNJLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjO0VBQ2QsV0FBVztFQUNYLFlBQVk7QVI4WmhCOztBUTVaQTtFQUNJLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjO0VBQ2QsV0FBVztFQUNYLFlBQVk7RUFDWixjTm5DMkI7QUZrYy9COztBUW5hQTtFQU9RLGdCQUFnQjtFQUNoQixpQ053RTZCO0FGd1ZyQzs7QVF4YUE7RUFZUSxjTnpDdUI7QUZ5Yy9COztBU3pkQTtFQUNJLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0FUNGRwQjs7QVM1Y0E7RUFDSSxrQkFBa0I7RUFDbEIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7QVQrY2pCOztBU2pkQTtFQUtRLFdBQVc7RUFDWCxRQUFRO0VBQ1IsU0FBUztFQUNULHNCQUErQjtBVGdkdkM7O0FTN2NBO0VBQ0ksa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVk7RUFDWixvQkFBaUI7S0FBakIsaUJBQWlCO0FUZ2RyQjs7QVM5Y0E7RUFDSSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLFdBQVc7RUFDWCxZQUFZO0VBQ1osb0JBQWlCO0tBQWpCLGlCQUFpQjtFQUNqQixlQUFlO0FUaWRuQjs7QVMvY0E7RUFDSSxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLFNBQVM7RUFDVCx3Q0FBZ0M7VUFBaEMsZ0NBQWdDO0VBQ2hDLFVBQVU7RUFDVixlQUFlO0VBQ2YsU0FBUztFQUNULFVBQVU7RUFDViw0RUFBNEQ7RUFBNUQsb0VBQTREO0VBQTVELDREQUE0RDtFQUE1RCw4RkFBNEQ7QVRrZGhFOztBUzNkQTtFQVlRLGNBQWM7RUFDZCxXQUFXO0FUbWRuQjs7QVNoZEE7RUFDSSxVQUFVO0FUbWRkOztBU2pkQTtFQUVRLG9EQUE0QztVQUE1Qyw0Q0FBNEM7QVRtZHBEOztBU2hkQTtFQUNJLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsV0FBVztFQUNYLFNBQVM7RUFDVCxzQkFBc0I7QVRtZDFCOztBU2pkQTs7O0VBR0ksa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsU0FBUztFQUNULE9BQU87RUFDUCxZQUFZO0VBQ1osV0FBVztBVG9kZjs7QVV4aUJBO0VBQ0ksY1JzRjJCO0FGcWQvQjs7QVU1aUJBO0VBS1EscUJBQXFCO0FWMmlCN0I7O0FVeGlCQTtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsbUJBQWU7TUFBZixlQUFlO0VBQ2Ysd0JBQXdCO0FWMmlCNUI7O0FVemlCQTtFQUNJLGNBQWM7QVY0aUJsQjs7QVUxaUJBO0VBQ0ksZ0JBQWdCO0VBQ2hCLDZCUnVHbUM7RVF0R25DLHFCTmtFZ0Q7RU1qRWhELGdCUjJHUztFUTFHVCxvQkFBZ0I7RUFDaEIsdUJBQXVCO0FWNmlCM0I7O0FVM2lCQTtFQUNJLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gscUJOMERnRDtBSm9mcEQ7O0FXemtCQTtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsbUJBQWU7TUFBZixlQUFlO0VBQ2Ysb0JBQWdDO0FYNGtCcEM7O0FXMWtCQTtFQUNJLDhCQUFtRDtFQUNuRCxtQlQ4SW9DO0FGK2J4Qzs7QVcza0JBO0VBQ0ksY1QySW9DO0FGbWN4Qzs7QVcza0JBO0VBQ0k7SUFDSSw4QkFBbUQ7RVg4a0J6RDtBQUNGOztBVzNrQkE7RUFDSTtJQUNJLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsbUJBQWU7UUFBZixlQUFlO0lBQ2Ysb0JBQWdDO0VYOGtCdEM7RVc1a0JFO0lBQ0ksV0FBVztJQUNYLG1CQUE0QjtFWDhrQmxDO0VXaGxCRTtJQUtRLGFBQWE7RVg4a0J2QjtBQUNGOztBWS9tQkE7RUFDSSxrQkFBa0I7RUFDbEIsZ0JWK0hTO0VVOUhULG9CQUFvQjtFQUNwQixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLDZCVnFIbUM7QUY2ZnZDOztBWXhuQkE7RUFTUSxnQkFBZ0I7QVptbkJ4Qjs7QVk1bkJBO0VBWVEsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixpQ1Y0RzZCO0VVM0c3QixnQlZpSFE7QUZtZ0JoQjs7QVl0b0JBO0VBcUJRLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsT0FBTztFQUNQLHFCQUFxQjtFQUNyQixvQkFBb0I7RUFDcEIsaUNWbUc2QjtFVWxHN0IsZ0JWd0dRO0VVdkdSLFVBQVU7QVpxbkJsQjs7QVlqcEJBO0VBaUNZLDZDQUFxQztVQUFyQyxxQ0FBcUM7QVpvbkJqRDs7QVlycEJBO0VBdUNZLGdCVjBGQztBRndoQmI7O0FZN21CQTtFQUNJO0lBQ0ksVUFBVTtJQUNWLHlDQUFpQztZQUFqQyxpQ0FBaUM7RVpnbkJ2QztFWTltQkU7SUFDSSxVQUFVO0lBQ1YsK0NBQXVDO1lBQXZDLHVDQUF1QztFWmduQjdDO0FBQ0Y7O0FZeG5CQTtFQUNJO0lBQ0ksVUFBVTtJQUNWLHlDQUFpQztZQUFqQyxpQ0FBaUM7RVpnbkJ2QztFWTltQkU7SUFDSSxVQUFVO0lBQ1YsK0NBQXVDO1lBQXZDLHVDQUF1QztFWmduQjdDO0FBQ0Y7O0FhcHFCQTtFQ3NERSxrQkRyRDRCO0VDeUR4QixRRHpENkI7RUN5RDdCLFlEekRtQztFQUNyQyxXQUFXO0VBQ1gsWUFBWTtFQUNaLGFBQWE7RUFDYixnQ0FBd0I7VUFBeEIsd0JBQXdCO0VBQ3hCLG1DQUEyQjtVQUEzQiwyQkFBMkI7QWJ5cUIvQjs7QWF2cUJJO0VBQ0ksWUFBWTtFQUNaLFlBQVk7QWIwcUJwQjs7QWF0cUJBO0VBQ0k7SUFDSSxXQUFXO0lBQ1gsWUFBWTtFYnlxQmxCO0FBQ0Y7O0FlbHJCQTtFQUNJLGtCQUFrQjtFQUNsQixVQUFVO0FmcXJCZDs7QWV2ckJBO0VBS1EsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsUUFBUTtFQUNSLGNBQWM7RUFDZCxZQUFZO0VBQ1osYUFBYTtFQUNiLHFFQUFxRTtFQUNyRSx1Q0FBdUM7RUFDdkMsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUN4QixvQkFBb0I7QWZzckI1Qjs7QWV0c0JBO0VBbUJRLGdCQUFnQjtBZnVyQnhCOztBZXByQkE7RUFDSSxnQkFBZ0I7QWZ1ckJwQjs7QWVwckJBO0VBQ0k7SUFFUSxXQUFXO0Vmc3JCckI7QUFDRjs7QWVsckJBO0VBQ0k7SUFFUSxXQUFXO0lBQ1gsWUFBWTtJQUNaLHVDQUF1QztFZm9yQmpEO0FBQ0Y7O0FlaHJCQTtFQUNJO0lBRVEsVUFBVTtJQUNWLFlBQVk7SUFDWix1Q0FBdUM7RWZrckJqRDtFZS9xQkU7SUFDSSxpQlh5QjRDO0VKd3BCbEQ7QUFDRiIsImZpbGUiOiJwYWdlLXRlbXBsYXRlcy9hcmNoaXZlLXN1Ym1pc3Npb25zLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIC0tLS0tLS0tLS1cbiBAIEJvdXJib25cbi0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImJvdXJib24vY29yZS9fYm91cmJvbi5zY3NzXCI7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJvb3RzdHJhcCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL21peGluc1wiOyIsIi8qIC0tLS0tLS0tLS1cbiBAIEJvdXJib25cbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEJvb3RzdHJhcCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEN1c3RvbSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgUHJvamVjdCBTcGVjaWZpYyBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBPcHRpb25zXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvcnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIExheW91dFxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTWlzY1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ3VzdG9tIFV0aWxpdGllc1xuLS0tLS0tLS0tLSAqL1xuLyogUHJvamVjdCBzcGVjaWZpYyBtaXhpbnMgKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEEgbWl4aW4gdG8gaGFuZGxlIHNvbWUgc2l0ZSBlbnRpdHkgY29sb3JzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIE1peGluc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE1haW50YWluIEFzcGVjdCBSYXRpb1xuXHQtICoqKiByZXF1aXJlcyB0aGF0IHRoZSBlbGVtZW50IGhhcyBhbiBpbm5lciBjb250YWluZXIgZWxlbWVudCBpZiB0aGVyZSBpcyBpbm5lciBjb250ZW50XG5cdC0gJHggPT4geCBwb3J0aW9uIG9mIHJhdGlvXG5cdC0gJHkgPT4geSBwb3J0aW9uIG9mIHJhdGlvXG4gICAgLSAkYyA9PiBzZXQgdG8gJ2ZhbHNlJyB0byBza2lwIDpmaXJzdC1jaGlsZCBzdHlsaW5nXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBCYWNrZ3JvdW5kIEltYWdlXG5cdC0gU2hvcnRjdXQgZm9yIGxpbmtpbmcgaW1hZ2VzIGluIHRoZSBjb25maWd1cmVkIGltYWdlcyBmb2xkZXJcblx0LSAkaSA9PiBpbWFnZSBmaWxlIG5hbWUgKHJlbGF0aXZlIHRvIGltYWdlcyBmb2xkZXIpXG5cdC0gJHJlc3QgPT4gYW55IGFkZGl0aW9uYWwgJ2JhY2tncm91bmQnIHByb3BlcnR5IHNob3J0Y3V0IGRlY2xhcmF0aW9ucyAoaWU6IG5vLXJlcGVhdClcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFNpemVcbiBcdC0gU2hvcnRjdXQgZm9yIHNldHRpbmcgaGVpZ2h0IGFuZCB3aWR0aFxuIFx0LSAkd2lkdGggPT4gd2lkdGggb2YgZWxlbWVudFxuIFx0LSAkaGVpZ2h0ID0+IGhlaWdodCBvZiBlbGVtZW50XG4gXHQtIFNpbmdsZSB2YWx1ZSB3aWxsIHNldCBib3RoIHZhbHVlcyAoZS5nLiBzaXplKDEwMCUpO1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBGdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvciBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICR0aGVtZS1jb2xvcnMgbWFwXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBCcmVha3BvaW50IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGdyaWQtYnJlYWtwb2ludHMgbWFwXG4gXHQtICR0eXBlID0+ICdtYXgnIHwgJ21pbicsIGRlcGVuZGluZyBvbiBtZWRpYSBxdWVyeSB0eXBlXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBSZW1zXG5cdC0gY29udmVydCBwaXhlbHMgdG8gcmVtc1xuXHQtICRwID0+IHBpeGVsIHZhbHVlXG5cdC0gJGIgPT4gYmFzZSBzaXplICh0byB1c2UgaW4gZm9ybXVsYSkgLSBkZWZhdWx0cyB0byAkZm9udC1zaXplcyByb290IHZhcmlhYmxlXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBNYXAgRGVlcCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gbmVzdGVkIG1hcHNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFdlaWdodCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICRmb250LXdlaWdodHMgbWFwXG4tLS0tLS0tLS0tICovXG4uYy1iYW5uZXItaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtYmFubmVyLWltYWdlICsgKiB7XG4gIG1hcmdpbi10b3A6IDVyZW07XG59XG5cbi5jLWJhbm5lci1pbWFnZV9fc3dvb3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE1cmVtO1xuICB6LWluZGV4OiAwO1xufVxuXG4ucGFyZW50LWJhY2stdG8tYmF0b2NoZSAuYy1iYW5uZXItc21hbGwtc3dvb3BfX2NpcmNsZS1iYWNrLFxuLmMtYmFubmVyLWltYWdlLS1iYXRvY2hlIC5jLWJhbm5lci1zbWFsbC1zd29vcF9fY2lyY2xlLWJhY2sge1xuICBmaWxsOiAjZmZjZDAwO1xufVxuXG4uYy1iYW5uZXItaW1hZ2VfX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTZyZW07XG4gIG1hcmdpbi10b3A6IDA7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYy1iYW5uZXItaW1hZ2VfX2Zha2UtY2xpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMXB4O1xuICBsZWZ0OiAtMXB4O1xuICByaWdodDogLTFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gIG1hcmdpbjogMDtcbiAgZmlsbDogI2YwZjBmMDtcbiAgei1pbmRleDogMTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkwMHB4KSB7XG4gIC5jLWJhbm5lci1pbWFnZV9fc3dvb3Age1xuICAgIHRvcDogLTF2dztcbiAgICBoZWlnaHQ6IDEzLjd2dztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLWJhbm5lci1pbWFnZV9fc3dvb3Age1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGhlaWdodDogOXJlbTtcbiAgfVxuICAuYy1iYW5uZXItaW1hZ2VfX3N3b29wIGNpcmNsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDM4cmVtKSB0cmFuc2xhdGVZKDZyZW0pIHNjYWxlKDAuNTUpO1xuICB9XG4gIC5jLWJhbm5lci1pbWFnZV9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdnc7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuXG4uYy1jdGEtYmxvY2tzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IC0xcmVtO1xufVxuXG4uYy1jdGEtYmxvY2tzX19ibG9jayB7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC0gMnJlbSAqIDQpIC8gNCk7XG4gIG1hcmdpbjogMXJlbTtcbn1cblxuLmMtY3RhLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtO1xuICBmb250LWZhbWlseToga2lybywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiBtYXgoMS43NXZ3LCAxLjExMTExcmVtKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMDU4ODI7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2NzBjMjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMDtcbn1cblxuLmMtY3RhLWJsb2NrOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG59XG5cbi5jLWN0YS1ibG9jazo6YWZ0ZXIge1xuICBjb250ZW50OiB1cmwoXCIuLi8uLi9pbWcvYmVhZHdvcmstc2luZ2xlLWJsdWUuc3ZnXCIpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC03NiU7XG4gIGxlZnQ6IGNhbGMoMTAwJSAtIDZyZW0pO1xuICB3aWR0aDogMTc1JTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEzZGVnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gIHotaW5kZXg6IC0xO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZS1vdXQ7XG59XG5cbi5jLWN0YS1ibG9jazpob3ZlciwgLmMtY3RhLWJsb2NrOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmMtY3RhLWJsb2NrOmhvdmVyOjphZnRlciwgLmMtY3RhLWJsb2NrOmZvY3VzOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xM2RlZykgdHJhbnNsYXRlWCgtMXJlbSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmMtY3RhLWJsb2Nrc19fYmxvY2sge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMnJlbSAqIDIpIC8gMik7XG4gICAgbWFyZ2luOiAxcmVtO1xuICB9XG4gIC5jLWN0YS1ibG9jayB7XG4gICAgZm9udC1zaXplOiBtYXgoNHZ3LCAxLjIyMjIycmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLWN0YS1ibG9jayB7XG4gICAgZm9udC1zaXplOiBtYXgoNnZ3LCAxLjExMTExcmVtKTtcbiAgfVxufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogLTAuNXJlbTtcbn1cblxuLmMtZmlsdGVyYmFyX19idXR0b24ge1xuICAtLWJ0bi1jb2xvcjogIzAwNTdiNztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gIGZvbnQtZmFtaWx5OiBraXJvLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzJlMmUyZTtcbiAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tYnRuLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogMmVtO1xuICBtYXJnaW46IDAuNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMTUwbXMgZWFzZS1vdXQsIGJhY2tncm91bmQgMTUwbXMgZWFzZS1vdXQsIGJvcmRlciAxNTBtcyBlYXNlLW91dDtcbn1cblxuLmMtZmlsdGVyYmFyX19idXR0b246aG92ZXIsIC5jLWZpbHRlcmJhcl9fYnV0dG9uOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMmUyZTJlO1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi5pcy1hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLWNvbG9yKTtcbn1cblxuLmMtZmlsdGVyYmFyX19idXR0b24uaXMtYWN0aXZlOmhvdmVyLCAuYy1maWx0ZXJiYXJfX2J1dHRvbi5pcy1hY3RpdmU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tYXJ0aXNhbi12aWxsYWdlIHtcbiAgLS1idG4tY29sb3I6ICNmMDQ2NjQ7XG59XG5cbi5jLWZpbHRlcmJhcl9fYnV0dG9uLS1iYXRvY2hlLWhpc3RvcmljLXNpdGUge1xuICAtLWJ0bi1jb2xvcjogIzZlNDFiNDtcbn1cblxuLmMtZmlsdGVyYmFyX19idXR0b24tLWVsZGVycy1sb2RnZSB7XG4gIC0tYnRuLWNvbG9yOiAjMDA1N2I3O1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tZm9vZC10cnVjay1hbGxleSB7XG4gIC0tYnRuLWNvbG9yOiAjZDIyODI4O1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tbGl0dGxlLWppZ2dlcnMtdmlsbGFnZSB7XG4gIC0tYnRuLWNvbG9yOiAjNmU0MWI0O1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tbWFpbi1zdGFnZSB7XG4gIC0tYnRuLWNvbG9yOiAjMDAyYjQ1O1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tbWljaGlmLWNvcm5lciB7XG4gIC0tYnRuLWNvbG9yOiAjZmY2YTEzO1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tc2Vjb25kLXN0YWdlIHtcbiAgLS1idG4tY29sb3I6ICM0YzhkMmI7XG59XG5cbi5jLWZpbHRlcmJhcl9fYnV0dG9uLS12b3lhZ2V1ci1nYW1lcy1kZW1vbnN0cmF0aW9uIHtcbiAgLS1idG4tY29sb3I6ICMwMGEwYWE7XG59XG5cbi5jLWZpbHRlcmJhcl9fYnV0dG9uLS1jb250ZXN0LWFnZXMge1xuICAtLWJ0bi1jb2xvcjogI2ZmNmExMztcbn1cblxuLmMtZmlsdGVyYmFyX19idXR0b24tLWNvbnRlc3QtY2F0ZWdvcmllcyB7XG4gIC0tYnRuLWNvbG9yOiAjMDA1N2I3O1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tdmVuZG9ycyB7XG4gIC0tYnRuLWNvbG9yOiAjNmU0MWI0O1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tc3RvcmUtY2F0ZWdvcmllcyB7XG4gIC0tYnRuLWNvbG9yOiAjZmY2YTEzO1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0teWVsbG93IHtcbiAgLS1idG4tY29sb3I6ICNmZmNkMDA7XG59XG5cbi5jLWZpbHRlcmJhcl9fYnV0dG9uLS1saWdodC1ibHVlIHtcbiAgLS1idG4tY29sb3I6ICM3MWM1ZTg7XG59XG5cbi5jLWZpbHRlcmJhcl9fZXh0cmFzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbn1cblxuLmMtZmlsdGVyYmFyX19zZWFyY2gge1xuICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uYy1maWx0ZXJiYXJfX21ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZm9udC1mYW1pbHk6IGtpcm8sIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5jLWZpbHRlcmJhcl9fZmlsdGVyLWNvdW50X19udW1iZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcoJztcbn1cblxuLmMtZmlsdGVyYmFyX19maWx0ZXItY291bnRfX251bWJlcjo6YWZ0ZXIge1xuICBjb250ZW50OiAnKSc7XG59XG5cbi5jLWZpbHRlcmJhcl9fZmlsdGVyLWNvdW50X19wbHVyYWwge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5jLWZpbHRlcmJhcl9fZmlsdGVyLWNvdW50X19wbHVyYWwuaXMtc2luZ3VsYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy1maWx0ZXJiYXJfX2NsZWFyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgZm9udC1mYW1pbHk6IGtpcm8sIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMmUyZTJlO1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMyNjcwYzI7XG59XG5cbi5jLWZpbHRlcmJhcl9fY2xlYXI6aG92ZXIsIC5jLWZpbHRlcmJhcl9fY2xlYXI6Zm9jdXMge1xuICBjb2xvcjogI2ZmNmExMztcbn1cblxuLmMtZmlsdGVyYmFyX19jbGVhci1idG4ge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuYy1maWx0ZXJiYXJfX3NlYXJjaCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogNyk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmMtZmlsdGVyYmFyX19leHRyYXMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgfVxuICBjLWZpbHRlcmJhcl9fYnV0dG9ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuYy1maWx0ZXJiYXJfX2J1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmMtZmlsdGVyYmFyX19zZWFyY2gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuYy1maWx0ZXJiYXJfX21ldGEge1xuICAgIG1hcmdpbjogMnJlbSBhdXRvIDA7XG4gIH1cbn1cblxuLmMtc2VhcmNoLWJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAzcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDJweCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgei1pbmRleDogMTtcbn1cblxuLmMtc2VhcmNoLWJhcl9fZm9ybSB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1zZWFyY2gtYmFyX19sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgZm9udC1zaXplOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTdiNztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jLXNlYXJjaC1iYXJfX2xhYmVsOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDAyJztcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLXNlYXJjaC1iYXJfX2lucHV0IHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jLXNlYXJjaC1iYXJfX3N1Ym1pdCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBjb2xvcjogIzAwNTdiNztcbn1cblxuLmMtc2VhcmNoLWJhcl9fc3VibWl0OjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDYxJztcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG59XG5cbi5jLXNlYXJjaC1iYXJfX3N1Ym1pdDpob3ZlciwgLmMtc2VhcmNoLWJhcl9fc3VibWl0OmZvY3VzIHtcbiAgY29sb3I6ICNmZjZhMTM7XG59XG5cbi5jLXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy12aWRlby0tMTYtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmMtdmlkZW8tLTE2LTk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4uYy12aWRlby0tMTYtOSAuYy12aWRlb19fdGh1bWJuYWlsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYy12aWRlb19fdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYy12aWRlb19fcGxheS1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogMTAlO1xuICBtYXgtd2lkdGg6IDVyZW07XG4gIG1hcmdpbjogMDtcbiAgZmlsbDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGVhc2Utb3V0LCBvcGFjaXR5IDEwMG1zIGVhc2Utb3V0O1xufVxuXG4uYy12aWRlb19fcGxheS1idG4gLmMtdmlkZW9fX3BsYXktYnRuX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaGFzLXZpZGVvLXBsYXlpbmcgLmMtdmlkZW9fX3BsYXktYnRuIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmMtdmlkZW86aG92ZXIgLmMtdmlkZW9fX3BsYXktYnRuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4yNSk7XG59XG5cbi5jLXZpZGVvLS1lbWJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4uYy12aWRlby0tZW1iZWQgaWZyYW1lLFxuLmMtdmlkZW8tLWVtYmVkIG9iamVjdCxcbi5jLXZpZGVvLS1lbWJlZCBlbWJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy12aWRlby1wb3N0IHtcbiAgY29sb3I6ICMyZTJlMmU7XG59XG5cbi5jLXZpZGVvLXBvc3Q6aG92ZXIsIC5jLXZpZGVvLXBvc3Q6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLXZpZGVvLXBvc3RfX2NhdGVnb3JpZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMC41cmVtIC0wLjVyZW0gMDtcbn1cblxuLmMtdmlkZW8tcG9zdF9fY2F0ZWdvcnkge1xuICBtYXJnaW46IDAuNXJlbTtcbn1cblxuLmMtdmlkZW8tcG9zdF9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBmb250LWZhbWlseToga2lybywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjY2NjY3cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4wNjY2NztcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59XG5cbi5jLXZpZGVvLXBvc3RfX2xpa2VzIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMS4zMzMzM3JlbTtcbn1cblxuLmMtdmlkZW8tZ3JpZF9faXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogM3JlbSAtMXJlbSAwO1xufVxuXG4uYy12aWRlby1ncmlkX19pdGVtIHtcbiAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2cmVtKSAvIDMpO1xuICBtYXJnaW46IDEuNXJlbSAxcmVtO1xufVxuXG4uYy12aWRlby1ncmlkX19pdGVtcyAuYy1uby1yZXN1bHRzIHtcbiAgbWFyZ2luOiAwIDFyZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gIC5jLXZpZGVvLWdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNHJlbSkgLyAyKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLXZpZGVvLWdyaWRfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDNyZW0gLTFyZW0gMDtcbiAgfVxuICAuYy12aWRlby1ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDJyZW0gMXJlbSAwO1xuICB9XG4gIC5jLXZpZGVvLWdyaWRfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLmMtbGlrZXMtaGVhcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmctbGVmdDogMS4yNWVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC1mYW1pbHk6IGtpcm8sIHNhbnMtc2VyaWY7XG59XG5cbi5jLWxpa2VzLWhlYXJ0OjpiZWZvcmUsIC5jLWxpa2VzLWhlYXJ0OjphZnRlciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5jLWxpa2VzLWhlYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDA0JztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmMtbGlrZXMtaGVhcnQ6OmFmdGVyIHtcbiAgY29udGVudDogJ1xcZjAwNCc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jLWxpa2VzLWhlYXJ0LnUtbGlrZTo6YWZ0ZXIge1xuICBhbmltYXRpb246IGhlYXJ0UG9wIDQ1MG1zIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1saWtlcy1oZWFydC51LWxpa2UtYWN0aXZlOjpiZWZvcmUge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5Aa2V5ZnJhbWVzIGhlYXJ0UG9wIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuLmMtd2lubmVyLWJhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IC0yMHB4O1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbn1cblxuLmMtd2lubmVyLWJhZGdlLS1sYXJnZSB7XG4gIHdpZHRoOiAxMzBweDtcbiAgcmlnaHQ6IC0zNXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLXdpbm5lci1iYWRnZS0tbGFyZ2Uge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgfVxufVxuXG4uYy1zdWJtaXNzaW9ucy1pbnRybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLmMtc3VibWlzc2lvbnMtaW50cm86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTE4cmVtO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA1MHJlbTtcbiAgaGVpZ2h0OiA1M3JlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1nL2JlYWR3b3JrLXNpbmdsZS1yb3RhdGVkLWNvbG91ci5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0zMHJlbSB0b3AgMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtc3VibWlzc2lvbnMtaW50cm8gKyAqIHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbn1cblxuLmMtdmlkZW8tZ3JpZCB7XG4gIG1hcmdpbi10b3A6IDVyZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gIC5jLXN1Ym1pc3Npb25zLWludHJvOjpiZWZvcmUge1xuICAgIHRvcDogLTEycmVtO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmMtc3VibWlzc2lvbnMtaW50cm86OmJlZm9yZSB7XG4gICAgdG9wOiAtMTByZW07XG4gICAgd2lkdGg6IDMwcmVtO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xOHJlbSB0b3AgMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLXN1Ym1pc3Npb25zLWludHJvOjpiZWZvcmUge1xuICAgIHRvcDogLThyZW07XG4gICAgd2lkdGg6IDI1cmVtO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xNXJlbSB0b3AgMDtcbiAgfVxuICAuYy1zdWJtaXNzaW9ucy1pbnRyb19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tXG4gQCBDdXN0b20gVmFyaWFibGVzXG4tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJjaGlsZC10aGVtZS9hc3NldHMvc2Nzcy92YXJpYWJsZXNcIjtcblxuLyogLS0tLS0tLS0tLVxuIEAgQ3VzdG9tIFV0aWxpdGllc1xuLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiY2hpbGQtdGhlbWUvYXNzZXRzL3Njc3MvbWl4aW5zXCI7XG5cbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9taXhpbnNcIjtcbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9yZXNldFwiO1xuQGltcG9ydCBcImJhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL2Jhc2VcIjtcbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy93cC1iYXNlXCI7IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBQcm9qZWN0IFNwZWNpZmljIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgT3B0aW9uc1xuLS0tLS0tLS0tLSAqL1xuXG4kZW5hYmxlLXJlc3BvbnNpdmUtdGV4dDpcdHRydWU7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yc1xuLS0tLS0tLS0tLSAqL1xuXG4kYnJhbmQtYmx1ZTogICAgICAgICAgICAjMDA1N2I3O1xuJGJyYW5kLXllbGxvdzogICAgICAgICAgI2ZmY2QwMDtcbiRicmFuZC1vcmFuZ2U6ICAgICAgICAgICNmZjZhMTM7XG4kYnJhbmQtZ3JlZW46ICAgICAgICAgICAjMGI4ZDJiO1xuJGJyYW5kLWJhYnktYmx1ZTogICAgICAgIzcxYzVlODtcbiRicmFuZC1saWdodC1ibHVlOiAgICAgICMyNjcwYzI7XG4kYnJhbmQtZGFyay1ibHVlOiAgICAgICAjMDA0ODk4O1xuXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICAkYnJhbmQtYmx1ZTtcbiRicmFuZC1zZWNvbmRhcnk6ICAgICAgICRicmFuZC15ZWxsb3c7XG4kYnJhbmQtdGVydGlhcnk6ICAgICAgICAkYnJhbmQtb3JhbmdlO1xuXG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoJHRoZW1lLWNvbG9ycywgKFxuICAgIGJsdWU6ICRicmFuZC1ibHVlLFxuICAgIHllbGxvdzogJGJyYW5kLXllbGxvdyxcbiAgICBvcmFuZ2U6ICRicmFuZC1vcmFuZ2UsXG4gICAgZ3JlZW46ICRicmFuZC1ncmVlbixcbiAgICBiYWJ5LWJsdWU6ICRicmFuZC1iYWJ5LWJsdWUsXG4gICAgbGlnaHQtYmx1ZTogJGJyYW5kLWxpZ2h0LWJsdWUsXG4gICAgZGFyay1ibHVlOiAkYnJhbmQtZGFyay1ibHVlLFxuICAgIHByaW1hcnk6ICRicmFuZC1wcmltYXJ5LFxuICAgIHNlY29uZGFyeTogJGJyYW5kLXNlY29uZGFyeSxcbiAgICB0ZXJ0aWFyeTogJGJyYW5kLXRlcnRpYXJ5LFxuICAgIHN1Y2Nlc3M6ICM2NmIxMzIsXG4gICAgaW5mbzogJGJyYW5kLXByaW1hcnksXG4gICAgd2FybmluZzogJGJyYW5kLXllbGxvdyxcbiAgICBkYW5nZXI6ICRicmFuZC1vcmFuZ2VcbikpO1xuXG4vLyBCYXRvY2hlIENvbG91cnNcblxuJGJhdG9jaGUtcHJpbWFyeTogICAgICAgICAjMDA1N2I3OyAvLyBCbHVlXG4kYmF0b2NoZS1zZWNvbmRhcnk6ICAgICAgICM3MWM1ZTg7IC8vIExpZ2h0IEJsdWVcbiRiYXRvY2hlLXRlcnRpYXJ5OiAgICAgICAgI2ZmY2QwMDsgLy8gWWVsbG93XG4kYmF0b2NoZS1kYXJrLWJsdWU6ICAgICAgICMwMDJiNDU7IC8vIERhcmsgQmx1ZVxuJGJhdG9jaGUtb3JhbmdlOiAgICAgICAgICAjZmY2YTEzOyAvLyBPcmFuZ2VcbiRiYXRvY2hlLWdyZWVuOiAgICAgICAgICAgIzRjOGQyYjsgLy8gR3JlZW5cbiRiYXRvY2hlLXBpbms6ICAgICAgICAgICAgI2YwNDY2NDsgLy8gUGlua1xuJGJhdG9jaGUtcHVycGxlOiAgICAgICAgICAjNmU0MWI0OyAvLyBQdXJwbGVcbiRiYXRvY2hlLXRlYWw6ICAgICAgICAgICAgIzAwYTBhYTsgLy8gVGVhbFxuJGJhdG9jaGUtcmVkOiAgICAgICAgICAgICAjZDIyODI4OyAvLyBSZWRcblxuJGJhdG9jaGUtY29sb3JzOiAoXG4gICAgYmx1ZTogJGJhdG9jaGUtcHJpbWFyeSxcbiAgICBsaWdodC1ibHVlOiAkYmF0b2NoZS1zZWNvbmRhcnksXG4gICAgeWVsbG93OiAkYmF0b2NoZS10ZXJ0aWFyeSxcbiAgICBkYXJrLWJsdWU6ICRiYXRvY2hlLWRhcmstYmx1ZSxcbiAgICBvcmFuZ2U6ICRiYXRvY2hlLW9yYW5nZSxcbiAgICBncmVlbjogJGJhdG9jaGUtZ3JlZW4sXG4gICAgcGluazogJGJhdG9jaGUtcGluayxcbiAgICBwdXJwbGU6ICRiYXRvY2hlLXB1cnBsZSxcbiAgICB0ZWFsOiAkYmF0b2NoZS10ZWFsLFxuICAgIHJlZDogJGJhdG9jaGUtcmVkLFxuKTtcblxuLy8gY2VydGFpbiBzaXRlIGVsZW1lbnRzIGFuZCBzZWN0aW9ucyBoYXZlIGFzc2lnbmVkIGNvbG9ycy4uLiBhc3NpZ25hYmxlIGhlcmVcbiRlbnRpdHktY29sb3JzOiAoXG4gICAgYXJ0aXNhbi12aWxsYWdlOiBwaW5rLFxuICAgIGJhdG9jaGUtaGlzdG9yaWMtc2l0ZTogcHVycGxlLFxuICAgIGVsZGVycy1sb2RnZTogYmx1ZSxcbiAgICBmb29kLXRydWNrLWFsbGV5OiByZWQsXG4gICAgbGl0dGxlLWppZ2dlcnMtdmlsbGFnZTogcHVycGxlLFxuICAgIG1haW4tc3RhZ2U6IGRhcmstYmx1ZSxcbiAgICBtaWNoaWYtY29ybmVyOiBvcmFuZ2UsXG4gICAgc2Vjb25kLXN0YWdlOiBncmVlbixcbiAgICB2b3lhZ2V1ci1nYW1lcy1kZW1vbnN0cmF0aW9uOiB0ZWFsLFxuICAgIGNvbnRlc3QtYWdlczogb3JhbmdlLFxuICAgIGNvbnRlc3QtY2F0ZWdvcmllczogYmx1ZSxcbiAgICB2ZW5kb3JzOiBwdXJwbGUsXG4gICAgc3RvcmUtY2F0ZWdvcmllczogb3JhbmdlLFxuICAgIHllbGxvdzogeWVsbG93LFxuICAgIGxpZ2h0LWJsdWU6IGxpZ2h0LWJsdWVcbik7XG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmMGYwZjA7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAjMmUyZTJlO1xuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKTtcblxuJGxpbmUtY29sb3I6IFx0XHRcdCNkZGQ7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0gKi9cblxuJGJhc2VGb250U2l6ZTogMThweDtcblxuJHJvb3RGb250U2l6ZTogc3RyaXAtdW5pdCgkYmFzZUZvbnRTaXplKSAvIDE2ICogMTAwJTsgLy8gRm9yIGFjY2Vzc2liaWxpdHkgcmVhc29ucyB0aGUgcm9vdCBmb250IHNpemUgc2hvdWxkIGJlIHNldCB0byAlLCBtb3N0IGJyb3dzZXJzIGhhdmUgYSBiYXNlIGZvbnQgc2l6ZSBvZiAxNnB4XG5cbiRmb250LXNpemVzOiAoXG4gICAgcm9vdDogJHJvb3RGb250U2l6ZSxcbiAgICBoMTogNjRweCxcbiAgICBoMjogNDBweCxcbiAgICBoMzogMjRweCxcbiAgICBoNDogMjBweCxcbiAgICBoNTogMjBweCxcbiAgICBoNjogMThweCxcbiAgICBsZWFkOiAyMnB4LFxuICAgIGJsb2NrcXVvdGU6IDQwcHhcbik7XG5cbiRmb250LXNpemUtYmFzZTogMXJlbTtcblxuJGxlYWQtZm9udC1zaXplOiByZW1zKG1hcC1nZXQoJGZvbnQtc2l6ZXMsIGxlYWQpKTtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogcmVtcyhtYXAtZ2V0KCRmb250LXNpemVzLCBibG9ja3F1b3RlKSk7XG5cbiRmb250LWZhbWlseS1iYXNlOiBhY3VtaW4tcHJvLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICRmb250LWZhbWlseS1iYXNlO1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiBraXJvLCBzYW5zLXNlcmlmO1xuXG4kZmEtZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG5cbiRmb250LXdlaWdodHM6IChcbiAgICBibGFjazogODAwLFxuICAgIGJvbGQ6IDcwMCxcbiAgICBzZW1pYm9sZDogNjAwLFxuICAgIHJlZ3VsYXI6IDQwMCxcbiAgICBsaWdodDogMzAwLFxuICAgIHRoaW46IDMwMFxuKTtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6IG1hcC1nZXQoJGZvbnQtd2VpZ2h0cywgcmVndWxhcik7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGZvbnQtd2VpZ2h0cywgYm9sZCk7XG4kbGVhZC1mb250LXdlaWdodDogbWFwLWdldCgkZm9udC13ZWlnaHRzLCBzZW1pLWJvbGQpO1xuXG4kbGluZS1oZWlnaHQtYmFzZTogMS42NTtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogMS40O1xuXG4kbGluay1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBMYXlvdXRcbi0tLS0tLS0tLS0gKi9cblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiBcdCAycmVtO1xuJGdyaWQtcGFkZGluZzpcdFx0XHQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuJHZlcnRpY2FsLW1hcmdpbi1iYXNlOlx0IDEuNXJlbTtcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICB4czogMCwgLy8gTm90IHN1cmUgd2h5IGJ1dCB0aGlzIG11c3QgYmUgemVyb1xuICAgIHNtOiA1NzZweCxcbiAgICBtZDogNzY5cHgsXG4gICAgbGc6IDk5MnB4LFxuICAgIHhsOiAxNDQwcHhcbik7XG5cbiRjb250YWluZXItd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIHhsKSsoc3RyaXAtdW5pdCgkZ3JpZC1ndXR0ZXItd2lkdGgpICogc3RyaXAtdW5pdCgkYmFzZUZvbnRTaXplKSk7XG5cbiRoZWFkZXItaGVpZ2h0OiA2cmVtO1xuXG4kY2lyY2xlLWltYWdlLXNpemU6IDExcmVtO1xuJGNpcmNsZS1pbWFnZS1tb2JpbGUtc2l6ZTogMTByZW07XG5cbi8qIC0tLS0tLS0tLS1cbiBAIE1pc2Ncbi0tLS0tLS0tLS0gKi9cblxuJGhyLWJvcmRlci1jb2xvcjogJGxpbmUtY29sb3I7XG4kaHItYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiRib3JkZXItcmFkaXVzOiAwLjVlbTtcbiRib3JkZXItcmFkaXVzLWxnOiAkYm9yZGVyLXJhZGl1cyAqIDEuNTtcbiRib3JkZXItcmFkaXVzLXNtOiAkYm9yZGVyLXJhZGl1cyAvIDEuNTsiLCIvKiBQcm9qZWN0IHNwZWNpZmljIG1peGlucyAqL1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBBIG1peGluIHRvIGhhbmRsZSBzb21lIHNpdGUgZW50aXR5IGNvbG9yc1xuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gZ2V0RW50aXR5Q29sb3IoJGVudGl0eU5hbWUpIHtcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRlbnRpdHktY29sb3JzLCAkZW50aXR5TmFtZSkpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRiYXRvY2hlLWNvbG9ycywgbWFwLWdldCgkZW50aXR5LWNvbG9ycywgJGVudGl0eU5hbWUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRiYXRvY2hlLWNvbG9ycywgJGVudGl0eU5hbWUpO1xuICAgIH1cbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIE1peGluc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgTWFpbnRhaW4gQXNwZWN0IFJhdGlvXG5cdC0gKioqIHJlcXVpcmVzIHRoYXQgdGhlIGVsZW1lbnQgaGFzIGFuIGlubmVyIGNvbnRhaW5lciBlbGVtZW50IGlmIHRoZXJlIGlzIGlubmVyIGNvbnRlbnRcblx0LSAkeCA9PiB4IHBvcnRpb24gb2YgcmF0aW9cblx0LSAkeSA9PiB5IHBvcnRpb24gb2YgcmF0aW9cbiAgICAtICRjID0+IHNldCB0byAnZmFsc2UnIHRvIHNraXAgOmZpcnN0LWNoaWxkIHN0eWxpbmdcbi0tLS0tLS0tLS0gKi9cblxuQG1peGluIGFzcGVjdC1yYXRpbygkeDogMSwgJHk6IDEsICRjOiB0cnVlKSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkeSAvICR4KTtcblx0fVxuXHRAaWYgKCRjID09IHRydWUpIHtcblx0XHQmID4gOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcblx0XHR9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgQmFja2dyb3VuZCBJbWFnZVxuXHQtIFNob3J0Y3V0IGZvciBsaW5raW5nIGltYWdlcyBpbiB0aGUgY29uZmlndXJlZCBpbWFnZXMgZm9sZGVyXG5cdC0gJGkgPT4gaW1hZ2UgZmlsZSBuYW1lIChyZWxhdGl2ZSB0byBpbWFnZXMgZm9sZGVyKVxuXHQtICRyZXN0ID0+IGFueSBhZGRpdGlvbmFsICdiYWNrZ3JvdW5kJyBwcm9wZXJ0eSBzaG9ydGN1dCBkZWNsYXJhdGlvbnMgKGllOiBuby1yZXBlYXQpXG4tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBiZy1pbWFnZSgkaSwgJHJlc3QuLi4pIHtcblx0YmFja2dyb3VuZDogdXJsKFwiI3skaW1hZ2VzLWZvbGRlcn0vI3skaX1cIikgJHJlc3Q7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFNpemVcbiBcdC0gU2hvcnRjdXQgZm9yIHNldHRpbmcgaGVpZ2h0IGFuZCB3aWR0aFxuIFx0LSAkd2lkdGggPT4gd2lkdGggb2YgZWxlbWVudFxuIFx0LSAkaGVpZ2h0ID0+IGhlaWdodCBvZiBlbGVtZW50XG4gXHQtIFNpbmdsZSB2YWx1ZSB3aWxsIHNldCBib3RoIHZhbHVlcyAoZS5nLiBzaXplKDEwMCUpO1xuLS0tLS0tLS0tLSAqL1xuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcblx0d2lkdGg6ICR3aWR0aDtcblx0aGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIEZ1bmN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3IgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkdGhlbWUtY29sb3JzIG1hcFxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gY29sb3ItZ2V0KCRrZXlzKSB7XG5cdCRjb2xvcjogbWFwLWRlZXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXlzKTtcblx0QHJldHVybiAkY29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJyZWFrcG9pbnQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZ3JpZC1icmVha3BvaW50cyBtYXBcbiBcdC0gJHR5cGUgPT4gJ21heCcgfCAnbWluJywgZGVwZW5kaW5nIG9uIG1lZGlhIHF1ZXJ5IHR5cGVcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0KCR0eXBlLCAka2V5cykge1xuXHQkYnJlYWtwb2ludDogbWFwLWRlZXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAka2V5cyk7XG5cdEBpZiAoJHR5cGUgPT0gJ21heCcpe1xuXHRcdEByZXR1cm4gJGJyZWFrcG9pbnQgLSAxO1xuXHR9IEBlbHNlIHtcblx0XHRAcmV0dXJuICRicmVha3BvaW50O1xuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFJlbXNcblx0LSBjb252ZXJ0IHBpeGVscyB0byByZW1zXG5cdC0gJHAgPT4gcGl4ZWwgdmFsdWVcblx0LSAkYiA9PiBiYXNlIHNpemUgKHRvIHVzZSBpbiBmb3JtdWxhKSAtIGRlZmF1bHRzIHRvICRmb250LXNpemVzIHJvb3QgdmFyaWFibGVcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIHJlbXMoJHAsICRiOiAkYmFzZUZvbnRTaXplKSB7XG4gICAgQHJldHVybiAoc3RyaXAtdW5pdCgkcCkgLyBzdHJpcC11bml0KCRiKSkgKyAwcmVtO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBNYXAgRGVlcCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gbmVzdGVkIG1hcHNcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuXHRAZWFjaCAka2V5IGluICRrZXlzIHtcblx0XHQkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuXHR9XG5cdEByZXR1cm4gJG1hcDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgV2VpZ2h0IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGZvbnQtd2VpZ2h0cyBtYXBcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIHdlaWdodC1nZXQoJGtleXMpIHtcblx0JHdlaWdodDogbWFwLWRlZXAtZ2V0KCRmb250LXdlaWdodHMsICRrZXlzKTtcblx0QHJldHVybiAkd2VpZ2h0O1xufSIsIi5jLWJhbm5lci1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJiArICoge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cmVtO1xuICAgIH1cbn1cbi5jLWJhbm5lci1pbWFnZV9fc3dvb3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE1cmVtO1xuICAgIHotaW5kZXg6IDA7XG59XG4ucGFyZW50LWJhY2stdG8tYmF0b2NoZSAuYy1iYW5uZXItc21hbGwtc3dvb3BfX2NpcmNsZS1iYWNrLFxuLmMtYmFubmVyLWltYWdlLS1iYXRvY2hlIC5jLWJhbm5lci1zbWFsbC1zd29vcF9fY2lyY2xlLWJhY2sge1xuICAgIGZpbGw6IGNvbG9yLWdldCh5ZWxsb3cpO1xufVxuLmMtYmFubmVyLWltYWdlX19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1NnJlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmMtYmFubmVyLWltYWdlX19mYWtlLWNsaXAgeyAgICBcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIC8vIGhlaWdodDogMjJyZW07XG4gICAgZmlsbDogJGJvZHktYmc7XG4gICAgei1pbmRleDogMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTAwcHgpIHtcbiAgICAuYy1iYW5uZXItaW1hZ2VfX3N3b29wIHtcbiAgICAgICAgdG9wOiAtMXZ3O1xuICAgICAgICBoZWlnaHQ6IDEzLjd2dztcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgIC5jLWJhbm5lci1pbWFnZV9fc3dvb3Age1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQgKiAxLjU7XG5cbiAgICAgICAgY2lyY2xlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzOHJlbSkgdHJhbnNsYXRlWSg2cmVtKSBzY2FsZSgwLjU1KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYy1iYW5uZXItaW1hZ2VfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwdnc7XG4gICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbn0iLCIuYy1jdGEtYmxvY2tzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDAgLSRncmlkLXBhZGRpbmc7XG59XG4uYy1jdGEtYmxvY2tzX19ibG9jayB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAjeyRncmlkLWd1dHRlci13aWR0aH0gKiA0KSAvIDQpO1xuICAgIG1hcmdpbjogJGdyaWQtcGFkZGluZztcbn1cblxuLy8gQ1RBIEJsb2NrXG5cbi5jLWN0YS1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogbSN7YX14KDEuNzV2dywgI3tyZW1zKDIwcHgpfSk7XG4gICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQoYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6ICgzNiAvIDM0KTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1nZXQobGlnaHQtYmx1ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogdXJsKCcuLi8uLi9pbWcvYmVhZHdvcmstc2luZ2xlLWJsdWUuc3ZnJyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTc2JTtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gNnJlbSk7XG4gICAgICAgIHdpZHRoOiAxNzUlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTNkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlLW91dDtcbiAgICB9XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTNkZWcpIHRyYW5zbGF0ZVgoLTFyZW0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBsZykpIHtcbiAgICAuYy1jdGEtYmxvY2tzX19ibG9jayB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gI3skZ3JpZC1ndXR0ZXItd2lkdGh9ICogMikgLyAyKTtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1wYWRkaW5nO1xuICAgIH1cbiAgICAuYy1jdGEtYmxvY2sge1xuICAgICAgICBmb250LXNpemU6IG0je2F9eCg0dncsICN7cmVtcygyMnB4KX0pO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtY3RhLWJsb2NrIHtcbiAgICAgICAgZm9udC1zaXplOiBtI3thfXgoNnZ3LCAje3JlbXMoMjBweCl9KTtcbiAgICB9XG59IiwiLmMtZmlsdGVyYmFyX19idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IC0wLjVyZW07XG59XG4uYy1maWx0ZXJiYXJfX2J1dHRvbiB7XG4gICAgLS1idG4tY29sb3I6ICN7Y29sb3ItZ2V0KGJsdWUpfTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogd2VpZ2h0LWdldChib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1idG4tY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcbiAgICBtYXJnaW46IDAuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAxNTBtcyBlYXNlLW91dCwgYmFja2dyb3VuZCAxNTBtcyBlYXNlLW91dCwgYm9yZGVyIDE1MG1zIGVhc2Utb3V0O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB9XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLWNvbG9yKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AZWFjaCAkZW50aXR5LW5hbWUsICRjb2xvcktleSBpbiAkZW50aXR5LWNvbG9ycyB7XG4gICAgLmMtZmlsdGVyYmFyX19idXR0b24tLSN7JGVudGl0eS1uYW1lfSB7XG4gICAgICAgIC0tYnRuLWNvbG9yOiAje2dldEVudGl0eUNvbG9yKCRlbnRpdHktbmFtZSl9O1xuICAgIH1cbn1cblxuLmMtZmlsdGVyYmFyX19leHRyYXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbn1cbi5jLWZpbHRlcmJhcl9fc2VhcmNoIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG4uYy1maWx0ZXJiYXJfX21ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiByZW1zKDE4cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiB3ZWlnaHQtZ2V0KGJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG4uYy1maWx0ZXJiYXJfX2ZpbHRlci1jb3VudF9fbnVtYmVyIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyknO1xuICAgIH1cbn1cbi5jLWZpbHRlcmJhcl9fZmlsdGVyLWNvdW50X19wbHVyYWwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICYuaXMtc2luZ3VsYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5jLWZpbHRlcmJhcl9fY2xlYXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiByZW1zKDE4cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiB3ZWlnaHQtZ2V0KGJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgY29sb3ItZ2V0KGxpZ2h0LWJsdWUpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IGNvbG9yLWdldChvcmFuZ2UpO1xuICAgIH1cbn1cbi5jLWZpbHRlcmJhcl9fY2xlYXItYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbGcpKSB7XG4gICAgLmMtZmlsdGVyYmFyX19zZWFyY2gge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA3KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtZmlsdGVyYmFyX19leHRyYXMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgICBjLWZpbHRlcmJhcl9fYnV0dG9ucyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIC5jLWZpbHRlcmJhcl9fYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5jLWZpbHRlcmJhcl9fc2VhcmNoIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgLmMtZmlsdGVyYmFyX19tZXRhIHtcbiAgICAgICAgbWFyZ2luOiAycmVtIGF1dG8gMDtcbiAgICB9XG59IiwiLmMtc2VhcmNoLWJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDJweCAzcHggcmdiYSgwLDAsMCwwLjEpO1xuICAgIHotaW5kZXg6IDE7XG59XG4uYy1zZWFyY2gtYmFyX19mb3JtIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYy1zZWFyY2gtYmFyX19sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLWdldChibHVlKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZmEtZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG59XG4uYy1zZWFyY2gtYmFyX19pbnB1dCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuLmMtc2VhcmNoLWJhcl9fc3VibWl0IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgY29sb3I6IGNvbG9yLWdldChibHVlKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwNjEnO1xuICAgICAgICBmb250LWZhbWlseTogJGZhLWZvbnQtZmFtaWx5O1xuICAgIH1cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogY29sb3ItZ2V0KG9yYW5nZSk7XG4gICAgfVxufSIsIi5jLXZpZGVvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gJi5oYXMtdmlkZW8tcGxheWluZyB7XG4gICAgLy8gICAgICY6aG92ZXIge1xuICAgIC8vICAgICAgICAgJjo6YWZ0ZXIge1xuICAgIC8vICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIC8vICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgICAgICAgICAgICB0b3A6IDA7XG4gICAgLy8gICAgICAgICAgICAgbGVmdDogMDtcbiAgICAvLyAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KHRyYW5zcGFyZW50LCAjeyRib2R5LWNvbG9yfSk7XG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG59XG4uYy12aWRlby0tMTYtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICg5IC8gMTYgKiAxMDAlKTtcbiAgICB9XG59XG4uYy12aWRlby0tMTYtOSAuYy12aWRlb19fdGh1bWJuYWlsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmMtdmlkZW9fX3ZpZGVvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jLXZpZGVvX19wbGF5LWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB3aWR0aDogMTAlO1xuICAgIG1heC13aWR0aDogNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgZmlsbDogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgZWFzZS1vdXQsIG9wYWNpdHkgMTAwbXMgZWFzZS1vdXQ7XG5cbiAgICAuYy12aWRlb19fcGxheS1idG5fX2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuLmhhcy12aWRlby1wbGF5aW5nIC5jLXZpZGVvX19wbGF5LWJ0biB7XG4gICAgb3BhY2l0eTogMDtcbn1cbi5jLXZpZGVvOmhvdmVyIHtcbiAgICAuYy12aWRlb19fcGxheS1idG4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjI1KTtcbiAgICB9XG59XG4uYy12aWRlby0tZW1iZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG4uYy12aWRlby0tZW1iZWQgaWZyYW1lLFxuLmMtdmlkZW8tLWVtYmVkIG9iamVjdCxcbi5jLXZpZGVvLS1lbWJlZCBlbWJlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59IiwiQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvdmlkZW9cIjtcblxuLmMtdmlkZW8tcG9zdCB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cbi5jLXZpZGVvLXBvc3RfX2NhdGVnb3JpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMC41cmVtIC0wLjVyZW0gMDtcbn1cbi5jLXZpZGVvLXBvc3RfX2NhdGVnb3J5IHtcbiAgICBtYXJnaW46IDAuNXJlbTtcbn1cbi5jLXZpZGVvLXBvc3RfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiByZW1zKDMwcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiB3ZWlnaHQtZ2V0KGJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAoMzIgLyAzMCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59XG4uYy12aWRlby1wb3N0X19saWtlcyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IHJlbXMoMjRweCk7XG59IiwiQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvdmlkZW8tcG9zdFwiO1xuXG4uYy12aWRlby1ncmlkX19pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAzcmVtICN7LSRncmlkLXBhZGRpbmd9IDA7XG59XG4uYy12aWRlby1ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtICN7JGdyaWQtZ3V0dGVyLXdpZHRoICogM30pIC8gMyk7XG4gICAgbWFyZ2luOiAxLjVyZW0gJGdyaWQtcGFkZGluZztcbn1cbi5jLXZpZGVvLWdyaWRfX2l0ZW1zIC5jLW5vLXJlc3VsdHMge1xuICAgIG1hcmdpbjogMCAkZ3JpZC1wYWRkaW5nO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwODBweCkge1xuICAgIC5jLXZpZGVvLWdyaWRfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtICN7JGdyaWQtZ3V0dGVyLXdpZHRoICogMn0pIC8gMik7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy12aWRlby1ncmlkX19pdGVtcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiAzcmVtICN7LSRncmlkLXBhZGRpbmd9IDA7XG4gICAgfVxuICAgIC5jLXZpZGVvLWdyaWRfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAycmVtICRncmlkLXBhZGRpbmcgMDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmMtbGlrZXMtaGVhcnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogd2VpZ2h0LWdldChib2xkKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVlbTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG5cbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjAwNCc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmYS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQocmVndWxhcik7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcZjAwNCc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmYS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQocmVndWxhcik7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgICYudS1saWtlIHtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBhbmltYXRpb246IGhlYXJ0UG9wIDQ1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgfVxuICAgICYudS1saWtlLWFjdGl2ZSB7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB3ZWlnaHQtZ2V0KGJvbGQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhlYXJ0UG9wIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbn0iLCIuYy13aW5uZXItYmFkZ2Uge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwcHggLTIwcHggbnVsbCBudWxsKTtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuXG4gICAgJi0tbGFyZ2Uge1xuICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgIHJpZ2h0OiAtMzVweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgIC5jLXdpbm5lci1iYWRnZS0tbGFyZ2Uge1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbmluZ1xuLy8vIHByb3BlcnRpZXM6IGBwb3NpdGlvbmAsIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCBhbmQgYGxlZnRgLiBVc2UgYSBgbnVsbGBcbi8vLyB2YWx1ZSB0byDigJxza2lw4oCdIGFuIGVkZ2Ugb2YgdGhlIGJveC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkcG9zaXRpb25cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkYm94LWVkZ2UtdmFsdWVzXG4vLy8gICBMaXN0IG9mIGxlbmd0aHM7IGFjY2VwdHMgQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIDAgbnVsbCBudWxsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGxlZnQ6IDEwZW07XG4vLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICAgIHJpZ2h0OiAwO1xuLy8vICAgICBib3R0b206IDA7XG4vLy8gICAgIGxlZnQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9pcy1sZW5ndGhcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX3VucGFjay1zaG9ydGhhbmRcblxuQG1peGluIHBvc2l0aW9uKFxuICAkcG9zaXRpb24sXG4gICRib3gtZWRnZS12YWx1ZXNcbikge1xuICAkYm94LWVkZ2UtdmFsdWVzOiBfdW5wYWNrLXNob3J0aGFuZCgkYm94LWVkZ2UtdmFsdWVzKTtcbiAgJG9mZnNldHM6IChcbiAgICBcInRvcFwiOiBudGgoJGJveC1lZGdlLXZhbHVlcywgMSksXG4gICAgXCJyaWdodFwiOiBudGgoJGJveC1lZGdlLXZhbHVlcywgMiksXG4gICAgXCJib3R0b21cIjogbnRoKCRib3gtZWRnZS12YWx1ZXMsIDMpLFxuICAgIFwibGVmdFwiOiBudGgoJGJveC1lZGdlLXZhbHVlcywgNCksXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBfaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jhbm5lci1pbWFnZVwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvY3RhLWJsb2Nrc1wiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvZmlsdGVyYmFyXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9zZWFyY2gtYmFyXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy92aWRlby1ncmlkXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9saWtlcy1oZWFydFwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvd2lubmVyLWJhZGdlXCI7XG5cbi5jLXN1Ym1pc3Npb25zLWludHJvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTE4cmVtO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA1MHJlbTtcbiAgICAgICAgaGVpZ2h0OiA1M3JlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWcvYmVhZHdvcmstc2luZ2xlLXJvdGF0ZWQtY29sb3VyLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMzByZW0gdG9wIDA7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgICYgKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG59XG4uYy12aWRlby1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiA1cmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCB4bCkpIHtcbiAgICAuYy1zdWJtaXNzaW9ucy1pbnRybyB7ICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAtMTJyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIGxnKSkge1xuICAgIC5jLXN1Ym1pc3Npb25zLWludHJvIHsgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IC0xMHJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAzMHJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xOHJlbSB0b3AgMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtc3VibWlzc2lvbnMtaW50cm8geyAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogLThyZW07XG4gICAgICAgICAgICB3aWR0aDogMjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMTVyZW0gdG9wIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmMtc3VibWlzc2lvbnMtaW50cm9fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1zKDQ1cHgpO1xuICAgIH1cbn0iXX0= */
