@charset "UTF-8";
/* -------------------------------- 

Primary style

-------------------------------- */
/* -------------------------------- 

Main Components 

-------------------------------- */
.cd-primary-nav ul {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%); }
  .cd-primary-nav ul.is-visible {
    -webkit-box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
            box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2); }

.cd-primary-nav a {
  display: block;
  padding-left: 5%;
  background: #21272c;
  border-top: 1px solid #333c44;
  color: #ffffff; }

@media screen and (min-width: 75em) {
  .cd-primary-nav {
    /* reset navigation values */
    width: auto;
    height: auto;
    background: none; }
    .cd-primary-nav ul {
      position: static;
      width: auto;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
      .cd-primary-nav ul.is-visible {
        -webkit-transform: translateY(0);
                transform: translateY(0); }
    .cd-primary-nav li {
      display: inline-block;
      margin-left: 1em; }
    .cd-primary-nav a {
      display: inline-block;
      height: auto;
      font-weight: 600;
      font-size: 0.75rem;
      line-height: normal;
      background: transparent;
      padding: .6em 1em;
      border-top: none; } }

/* -------------------------------- 

Slider

-------------------------------- */
.cd-hero {
  position: relative;
  font-size: 1rem; }

.cd-hero-slider {
  margin: 0;
  position: relative;
  height: 21rem;
  overflow: hidden;
  list-style: none; }
  .cd-hero-slider li {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
    .cd-hero-slider li.selected {
      /* this is the visible slide */
      position: relative;
      -webkit-transform: translateX(0);
              transform: translateX(0); }
    .cd-hero-slider li.move-left {
      /* slide hidden on the left */
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%); }
    .cd-hero-slider li.is-moving, .cd-hero-slider li.selected {
      /* the is-moving class is assigned to the slide which is moving outside the viewport */
      -webkit-transition: -webkit-transform .5s;
      transition: -webkit-transform .5s;
      transition: transform .5s;
      transition: transform .5s, -webkit-transform .5s; }
  @media screen and (min-width: 75em) {
    .cd-hero-slider {
      height: 25rem; } }
  @media screen and (min-width: 90em) {
    .cd-hero-slider {
      height: 29rem; } }

/* -------------------------------- 

Single slide style

-------------------------------- */
.cd-hero-slider li {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat; }

.cd-hero-slider .cd-full-width,
.cd-hero-slider .cd-half-width {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  left: 0;
  top: 0;
  /* this padding is used to align the text */
  text-align: center;
  /* Force Hardware Acceleration in WebKit */
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: translateZ(0);
          transform: translateZ(0); }

.cd-hero-slider .cd-half-width {
  padding-top: 5rem; }

.cd-hero-slider .cd-full-width {
  padding-top: 4.5rem; }

.cd-hero-slider .cd-img-container {
  /* hide image on mobile device */
  display: none; }
  .cd-hero-slider .cd-img-container img {
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

.cd-hero-slider .cd-bg-video-wrapper {
  /* hide video on mobile device */
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }
  .cd-hero-slider .cd-bg-video-wrapper video {
    /* you won't see this element in the html, but it will be injected using js */
    display: block;
    min-height: 100%;
    min-width: 100%;
    max-width: none;
    height: auto;
    width: auto;
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

.cd-hero-slider h1 {
  color: white;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.95);
  font-size: 1.5em;
  font-weight: bold; }
  @media screen and (min-width: 75em) {
    .cd-hero-slider h1 {
      font-size: 2.2em; } }

.cd-hero-slider h2,
.cd-hero-slider p {
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.95);
  line-height: 1.2;
  margin: 0 auto 14px;
  color: #ffffff;
  width: 100%; }

.cd-hero-slider h2 {
  font-size: 1.6em; }

.cd-hero-slider p {
  font-size: 1em;
  line-height: 1.4; }

.cd-hero-slider .cd-btn {
  border-radius: 4px;
  display: inline-block;
  padding: 1.2em 1.4em;
  margin-top: .8em;
  background-color: rgba(212, 68, 87, 0.9);
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 1px;
  color: #ffffff;
  text-transform: uppercase;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
  -webkit-transition: background-color .2s;
  transition: background-color .2s; }
  .cd-hero-slider .cd-btn.secondary {
    background-color: rgba(22, 26, 30, 0.8); }
  .cd-hero-slider .cd-btn:nth-of-type(2) {
    margin-left: 1em; }
  .no-touch .cd-hero-slider .cd-btn:hover {
    background-color: #d44457; }
  .no-touch .cd-hero-slider .cd-btn.secondary:hover {
    background-color: #161a1e; }

@media print, screen and (min-width: 40em) {
  .cd-hero-slider .cd-full-width,
  .cd-hero-slider .cd-half-width {
    padding-top: 6.5rem; } }

@media screen and (min-width: 75em) {
  .cd-hero-slider .cd-full-width {
    padding-top: 8rem; }
  .cd-hero-slider .cd-bg-video-wrapper {
    display: block; }
  .cd-hero-slider .cd-half-width {
    padding-top: 8rem;
    width: 50%; }
    .cd-hero-slider .cd-half-width:first-of-type {
      left: 5%; }
    .cd-hero-slider .cd-half-width:nth-of-type(2) {
      right: 5%;
      left: auto; }
  .cd-hero-slider .cd-img-container {
    display: block; }
  .cd-hero-slider h2 {
    font-size: 2.2em;
    font-weight: 300; }
  .cd-hero-slider p {
    font-size: 1.1em; }
  .cd-hero-slider .cd-btn {
    font-size: 0.7em; } }

@media screen and (min-width: 90em) {
  .cd-hero-slider .cd-full-width {
    padding-top: 9rem; }
  .cd-hero-slider .cd-half-width {
    padding-top: 7rem; }
  .cd-hero-slider h2,
  .cd-hero-slider p {
    margin-bottom: 20px; }
  .cd-hero-slider h2 {
    font-size: 2.5em; }
  .cd-hero-slider p {
    font-size: 1.4em; }
  .cd-hero-slider .cd-btn {
    font-size: 0.9em; } }

/* -------------------------------- 

Single slide animation

-------------------------------- */
@media screen and (min-width: 75em) {
  .cd-hero-slider .cd-half-width {
    opacity: 0;
    -webkit-transform: translateX(40px);
            transform: translateX(40px); }
  .cd-hero-slider .move-left .cd-half-width {
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px); }
  .cd-hero-slider .selected .cd-half-width {
    /* this is the visible slide */
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  .cd-hero-slider .is-moving .cd-half-width {
    /* this is the slide moving outside the viewport 
			wait for the end of the transition on the <li> parent before set opacity to 0 and translate to 40px/-40px */
    -webkit-transition: opacity 0s .5s, -webkit-transform 0s .5s;
    transition: opacity 0s .5s, -webkit-transform 0s .5s;
    transition: opacity 0s .5s, transform 0s .5s;
    transition: opacity 0s .5s, transform 0s .5s, -webkit-transform 0s .5s; }
  .cd-hero-slider li.selected.from-left .cd-half-width:nth-of-type(2),
  .cd-hero-slider li.selected.from-right .cd-half-width:first-of-type {
    /* this is the selected slide - different animation if it's entering from left or right */
    -webkit-transition: opacity .4s .2s, -webkit-transform .5s .2s;
    transition: opacity .4s .2s, -webkit-transform .5s .2s;
    transition: opacity .4s .2s, transform .5s .2s;
    transition: opacity .4s .2s, transform .5s .2s, -webkit-transform .5s .2s; }
  .cd-hero-slider li.selected.from-left .cd-half-width:first-of-type,
  .cd-hero-slider li.selected.from-right .cd-half-width:nth-of-type(2) {
    /* this is the selected slide - different animation if it's entering from left or right */
    -webkit-transition: opacity .4s .4s, -webkit-transform .5s .4s;
    transition: opacity .4s .4s, -webkit-transform .5s .4s;
    transition: opacity .4s .4s, transform .5s .4s;
    transition: opacity .4s .4s, transform .5s .4s, -webkit-transform .5s .4s; }
  .cd-hero-slider .cd-full-width h2,
  .cd-hero-slider .cd-full-width p,
  .cd-hero-slider .cd-full-width .cd-btn {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px); }
  .cd-hero-slider .move-left .cd-full-width h2,
  .cd-hero-slider .move-left .cd-full-width p,
  .cd-hero-slider .move-left .cd-full-width .cd-btn {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px); }
  .cd-hero-slider .selected .cd-full-width h2,
  .cd-hero-slider .selected .cd-full-width p,
  .cd-hero-slider .selected .cd-full-width .cd-btn {
    /* this is the visible slide */
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  .cd-hero-slider li.is-moving .cd-full-width h2,
  .cd-hero-slider li.is-moving .cd-full-width p,
  .cd-hero-slider li.is-moving .cd-full-width .cd-btn {
    /* this is the slide moving outside the viewport 
			wait for the end of the transition on the li parent before set opacity to 0 and translate to 100px/-100px */
    -webkit-transition: opacity 0s .5s, -webkit-transform 0s .5s;
    transition: opacity 0s .5s, -webkit-transform 0s .5s;
    transition: opacity 0s .5s, transform 0s .5s;
    transition: opacity 0s .5s, transform 0s .5s, -webkit-transform 0s .5s; }
  .cd-hero-slider li.selected h2 {
    -webkit-transition: opacity .4s .2s, -webkit-transform .5s .2s;
    transition: opacity .4s .2s, -webkit-transform .5s .2s;
    transition: opacity .4s .2s, transform .5s .2s;
    transition: opacity .4s .2s, transform .5s .2s, -webkit-transform .5s .2s; }
  .cd-hero-slider li.selected p {
    -webkit-transition: opacity .4s .3s, -webkit-transform .5s .3s;
    transition: opacity .4s .3s, -webkit-transform .5s .3s;
    transition: opacity .4s .3s, transform .5s .3s;
    transition: opacity .4s .3s, transform .5s .3s, -webkit-transform .5s .3s; }
  .cd-hero-slider li.selected .cd-btn {
    -webkit-transition: opacity .4s .4s, background-color .2s 0s, -webkit-transform .5s .4s;
    transition: opacity .4s .4s, background-color .2s 0s, -webkit-transform .5s .4s;
    transition: opacity .4s .4s, transform .5s .4s, background-color .2s 0s;
    transition: opacity .4s .4s, transform .5s .4s, background-color .2s 0s, -webkit-transform .5s .4s; } }

/* -------------------------------- 

Slider navigation

-------------------------------- */
.cd-slider-nav {
  position: absolute;
  width: 100%;
  top: 0;
  z-index: 2;
  text-align: center;
  background-color: rgba(0, 1, 1, 0.3);
  font-size: 0; }
  .cd-slider-nav nav,
  .cd-slider-nav ul,
  .cd-slider-nav li,
  .cd-slider-nav a {
    height: 100%;
    padding: 0;
    margin: 0;
    font-size: 0.8rem; }
  .cd-slider-nav nav {
    display: inline-block;
    position: relative; }
  .cd-slider-nav ul::before, .cd-slider-nav ul::after {
    display: table;
    content: ' '; }
  .cd-slider-nav ul::after {
    clear: both; }
  .cd-slider-nav li {
    display: inline-block;
    width: 10rem;
    float: left; }
    .cd-slider-nav li.selected a {
      color: white;
      -webkit-text-decoration-line: underline;
              text-decoration-line: underline; }
      .no-touch .cd-slider-nav li.selected a:hover {
        background-color: transparent; }
  .cd-slider-nav a {
    display: block;
    position: relative;
    padding: 0.7rem;
    font-weight: 700;
    color: white;
    -webkit-transition: background-color .2s;
    transition: background-color .2s; }
    .no-touch .cd-slider-nav a:hover {
      background-color: rgba(0, 1, 1, 0.5); }
  .cd-slider-nav .cd-marker,
  .cd-slider-nav li {
    width-min: 7rem; }
  @media screen and (min-width: 75em) {
    .cd-slider-nav .cd-marker,
    .cd-slider-nav li {
      width-min: 10rem; }
    .cd-slider-nav a {
      font-size: 0.75rem;
      text-transform: uppercase; } }

/* -------------------------------- 

Main content

-------------------------------- */
.cd-main-content {
  width: 90%;
  margin: 0 auto;
  padding: 2em 0;
  color: white; }
  .cd-main-content p {
    font-size: 1.1em;
    line-height: 1.8;
    color: #999999;
    margin: 2em 0; }
  @media screen and (min-width: 90em) {
    .cd-main-content {
      padding: 3em 0; }
      .cd-main-content p {
        font-size: 1.6em; } }

/* -------------------------------- 

Javascript disabled

-------------------------------- */
.no-js .cd-hero-slider li {
  display: none; }
  .no-js .cd-hero-slider li.selected {
    display: block; }

.no-js .cd-slider-nav {
  display: none; }

.main__categories-wrapper {
  background: white;
  margin-bottom: 2.5rem; }

.main_cat_list {
  display: block;
  white-space: nowrap;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
  font-size: 0.85rem; }
  @media print, screen and (min-width: 64em) {
    .main_cat_list {
      padding: 0 80px; } }
  .main_cat_list > li {
    display: inline-block;
    padding-top: 10px;
    padding-bottom: 11px;
    border-top: 3px solid white; }
    .main_cat_list > li > a {
      color: #808080;
      position: relative;
      padding: 5px 12px; }
      .main_cat_list > li > a::after {
        visibility: hidden;
        position: absolute;
        content: " ";
        background: #c0c0c0;
        width: 13px;
        height: 13px;
        border-radius: 2px 0 0 0;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        -webkit-box-shadow: none;
                box-shadow: none;
        bottom: -70%;
        right: calc(50% - 7px); }
    .main_cat_list > li:hover, .main_cat_list > li.active {
      border-color: #00aeef; }
      .main_cat_list > li:hover > a, .main_cat_list > li.active > a {
        color: black; }
        .main_cat_list > li:hover > a::after, .main_cat_list > li.active > a::after {
          visibility: visible; }

.main_sub_cat_list {
  position: relative;
  background-color: #c0c0c0;
  min-height: 7.55rem; }
  @media print, screen and (min-width: 64em) {
    .main_sub_cat_list {
      padding: 0 100px; } }

.main_sub_cat_list__wrapper {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }
  @media print, screen and (min-width: 64em) {
    .main_sub_cat_list__wrapper {
      overflow: hidden; } }

.main_sub_cat_list__prev,
.main_sub_cat_list__next {
  cursor: pointer;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  font-size: 1.7em;
  text-align: center;
  background: none;
  border: none;
  outline: none; }
  .main_sub_cat_list__prev::before,
  .main_sub_cat_list__next::before {
    content: '';
    display: block;
    position: absolute;
    border: 8px solid transparent;
    /* Прозрачные границы */
    left: 50%;
    top: 50%; }
  .main_sub_cat_list__prev:hover,
  .main_sub_cat_list__next:hover {
    background-color: #b0b0b0;
    color: #df4346; }

.main_sub_cat_list__prev {
  left: 0; }
  .main_sub_cat_list__prev::before {
    border-right: 16px solid black;
    /* Добавляем треугольник */
    -webkit-transform: translate(-75%, -50%);
            transform: translate(-75%, -50%); }
  .main_sub_cat_list__prev:hover::before {
    border-right-color: #df4346; }

.main_sub_cat_list__next {
  right: 0; }
  .main_sub_cat_list__next::before {
    border-left: 16px solid black;
    /* Добавляем треугольник */
    -webkit-transform: translate(-30%, -50%);
            transform: translate(-30%, -50%); }
  .main_sub_cat_list__next:hover::before {
    border-left-color: #df4346; }

.navsite_lk {
  position: relative;
  width: 120px;
  height: 121px;
  text-align: center;
  display: table-cell;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  line-height: 1; }
  .navsite_lk:hover {
    background-color: #c9c9c9; }
    .navsite_lk:hover .navsite_tx {
      color: black; }

.navsite_img {
  margin-top: 15px;
  width: 120px;
  height: 82px;
  border-radius: 3px; }

.navsite_tx {
  margin-top: 10px;
  padding-bottom: 17px;
  font-size: 13px;
  width: 150px;
  color: #333a42;
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.main_cat_list__wrapper {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch; }

.main_sub_cat_list__slider {
  display: none; }
  .main_sub_cat_list__slider.active {
    display: block; }

.slide-1 {
  background-image: url(../resources/slide-1.jpg); }
  .slide-1 h1 {
    font-family: 'Proxima Nova Semibold', sans-serif; }
  .slide-1 p, .slide-1 a {
    font-family: 'Proxima Nova Regular', sans-serif; }

.slide-2 {
  background-image: url(../resources/slide-2.jpg); }
  .slide-2 h1 {
    font-family: 'Proxima Nova Semibold', sans-serif; }
  .slide-2 p, .slide-2 a {
    font-family: 'Proxima Nova Regular', sans-serif; }

h3 {
  font-family: 'Proxima Nova Semibold', sans-serif; }

h3:hover {
  text-decoration: underline; }

.old-check {
  display: inline-block;
  border-top: 2px dotted;
  border-bottom: 2px dotted #2c343b;
  background-color: #ececec;
  width: 20rem;
  margin-bottom: 1rem; }

.old-check__coast {
  border-top: 1px dashed #8a8a8a;
  border-bottom: 1px dashed #8a8a8a;
  margin-top: 1rem;
  font-size: 0.8rem;
  color: #333a42; }

.old-check__overpayments {
  padding: 1.3rem 0 0.6rem;
  border-bottom: 1px dashed #8a8a8a;
  text-transform: uppercase;
  color: #df4346;
  font-weight: bold; }

.old-check__barcode {
  height: 14px;
  -webkit-box-shadow: 1px 0 0 1px #c0c3c7, 5px 0 0 1px #c0c3c7, 10px 0 0 1px #c0c3c7, 11px 0 0 1px #c0c3c7, 15px 0 0 1px #c0c3c7, 18px 0 0 1px #c0c3c7, 22px 0 0 1px #c0c3c7, 23px 0 0 1px #c0c3c7, 26px 0 0 1px #c0c3c7, 30px 0 0 1px #c0c3c7, 35px 0 0 1px #c0c3c7, 37px 0 0 1px #c0c3c7, 41px 0 0 1px #c0c3c7, 44px 0 0 1px #c0c3c7, 47px 0 0 1px #c0c3c7, 51px 0 0 1px #c0c3c7, 56px 0 0 1px #c0c3c7, 59px 0 0 1px #c0c3c7, 64px 0 0 1px #c0c3c7, 68px 0 0 1px #c0c3c7, 72px 0 0 1px #c0c3c7, 74px 0 0 1px #c0c3c7, 77px 0 0 1px #c0c3c7, 81px 0 0 1px #c0c3c7;
          box-shadow: 1px 0 0 1px #c0c3c7, 5px 0 0 1px #c0c3c7, 10px 0 0 1px #c0c3c7, 11px 0 0 1px #c0c3c7, 15px 0 0 1px #c0c3c7, 18px 0 0 1px #c0c3c7, 22px 0 0 1px #c0c3c7, 23px 0 0 1px #c0c3c7, 26px 0 0 1px #c0c3c7, 30px 0 0 1px #c0c3c7, 35px 0 0 1px #c0c3c7, 37px 0 0 1px #c0c3c7, 41px 0 0 1px #c0c3c7, 44px 0 0 1px #c0c3c7, 47px 0 0 1px #c0c3c7, 51px 0 0 1px #c0c3c7, 56px 0 0 1px #c0c3c7, 59px 0 0 1px #c0c3c7, 64px 0 0 1px #c0c3c7, 68px 0 0 1px #c0c3c7, 72px 0 0 1px #c0c3c7, 74px 0 0 1px #c0c3c7, 77px 0 0 1px #c0c3c7, 81px 0 0 1px #c0c3c7;
  display: inline-block;
  margin: 1rem 0 0 -25%; }

.old-check__thanks {
  font-size: 0.8rem;
  color: #333a42; }

.owl-item > .card {
  display: inline-block;
  width: 100%; }

.marketing-site-features {
  text-align: center;
  padding: 2rem 0; }

.marketing-site-features-headline {
  text-align: center;
  font-size: 24px;
  font-family: 'Proxima Nova', sans-serif; }

.marketing-site-features-subheadline {
  margin-bottom: 1rem;
  text-align: center;
  font-family: 'Proxima Nova Semibold', sans-serif;
  font-size: 24px; }

.product-feature-section {
  background: #f7f7f7;
  padding: 1rem; }

.product-feature-section-outer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  margin: 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media print, screen and (min-width: 40em) {
    .product-feature-section-outer {
      max-width: 75%; } }

.product-feature-section-headline {
  margin-bottom: 2rem;
  text-align: center; }

.product-feature-section-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.product-feature-section-feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 1rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 50%;
          flex: 1 0 50%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .product-feature-section-feature.top-left {
    border-right: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8; }
  .product-feature-section-feature.top-right {
    border-bottom: 1px solid #e8e8e8; }
  .product-feature-section-feature.bottom-left {
    border-right: 1px solid #e8e8e8; }
  .product-feature-section-feature .feature-title {
    margin-bottom: 0;
    line-height: 16px;
    font-size: 0.875rem;
    font-family: 'Proxima Nova', sans-serif; }
  .product-feature-section-feature .feature-desc {
    margin-bottom: 0;
    font-family: 'Proxima Nova Semibold', sans-serif; }
  .product-feature-section-feature .fa {
    margin-right: 1.25rem;
    font-size: 2rem;
    color: #333a42; }
  @media print, screen and (min-width: 40em) {
    .product-feature-section-feature {
      padding: 2rem;
      -webkit-box-flex: 1;
          -ms-flex: 1 0 50%;
              flex: 1 0 50%;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

.timeline .timeline-item::after, .timeline .timeline-item::before {
  clear: both;
  content: '';
  display: block;
  width: 100%; }

.timeline {
  margin: 30px auto;
  padding: 0 10px;
  position: relative;
  -webkit-transition: all 0.25s ease-in;
  transition: all 0.25s ease-in;
  width: 100%; }
  .timeline::before {
    background: #fefefe;
    content: '';
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    width: 3px; }
  .timeline::after {
    clear: both;
    content: '';
    display: table;
    width: 100%; }
  .timeline a {
    color: #fefefe;
    font-weight: bold;
    -webkit-transition: all 0.25s ease-in;
    transition: all 0.25s ease-in; }
    .timeline a:hover {
      -webkit-box-shadow: 0 1px 0px 0px #fefefe;
              box-shadow: 0 1px 0px 0px #fefefe;
      -webkit-transition: all 0.25s ease-in;
      transition: all 0.25s ease-in; }
  .timeline .timeline-item {
    margin-bottom: 50px;
    position: relative; }
    .timeline .timeline-item .timeline-icon {
      background: #fefefe;
      border-radius: 50%;
      height: 50px;
      left: 50%;
      margin-left: -23px;
      overflow: hidden;
      position: absolute;
      top: 0;
      width: 50px; }
      .timeline .timeline-item .timeline-icon img,
      .timeline .timeline-item .timeline-icon svg {
        left: 14px;
        position: relative;
        top: 11px; }
      .timeline .timeline-item .timeline-icon svg {
        top: 14px; }
      .timeline .timeline-item .timeline-icon i {
        left: 18px;
        position: relative;
        top: 15px; }
    .timeline .timeline-item .timeline-content {
      padding: 20px;
      text-align: right;
      -webkit-transition: all 0.25s ease-in;
      transition: all 0.25s ease-in;
      width: 45%;
      background: transparent; }
      .timeline .timeline-item .timeline-content p {
        color: #fefefe; }
      .timeline .timeline-item .timeline-content p {
        color: #333a42;
        font-size: 16px;
        line-height: 1.4;
        margin-bottom: 0;
        font-family: 'Proxima Nova', sans-serif; }
      .timeline .timeline-item .timeline-content .timeline-content-title {
        color: #333a42;
        font-size: 16px;
        margin-bottom: 10px;
        font-family: 'Proxima Nova Semibold', sans-serif; }
      .timeline .timeline-item .timeline-content .timeline-content-month {
        font-size: 0.875rem;
        text-transform: uppercase;
        font-weight: 400; }
      .timeline .timeline-item .timeline-content.right {
        float: right;
        text-align: left; }

@media screen and (max-width: 39.9375em) {
  .timeline {
    margin: 30px;
    padding: 0;
    width: 90%; }
    .timeline::before {
      left: 0; }
    .timeline .timeline-item .timeline-content {
      float: right;
      text-align: left;
      width: 90%; }
      .timeline .timeline-item .timeline-content::before, .timeline .timeline-item .timeline-content.right::before {
        border-left: 0;
        border-right: 7px solid #fefefe;
        left: 10%;
        margin-left: -6px; }
    .timeline .timeline-item .timeline-icon {
      left: 0; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWVQYWdlLmNzcyIsImNvbXBvbmVudHMvX21haW5QYWdlU2xpZGVyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsImNvbXBvbmVudHMvX2NhdGVnb3J5U2xpZGVyLnNjc3MiLCJob21lUGFnZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3Mvc2V0dGluZ3Muc2NzcyIsImNvbW1vbi9fdmFyaWFibGVzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDb0RqQjs7OzttQ0FJbUM7QUFPbkM7Ozs7bUNBSW1DO0FBV25DO0VBRUksbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLHFDQUE0QjtVQUE1Qiw2QkFBNEIsRUFJN0I7RUFWSDtJQVFNLGlEQUErQjtZQUEvQix5Q0FBK0IsRUFDaEM7O0FBVEw7RUFZSSxlQUFjO0VBQ2QsaUJBQWdCO0VBQ2hCLG9CQUFnQztFQUNoQyw4QkFBMkM7RUFDM0MsZUEzRmEsRUE0RmQ7O0FDaUVHO0VEbEZOO0lBdUJJLDZCQUE2QjtJQUM3QixZQUFXO0lBQ1gsYUFBWTtJQUNaLGlCQUFnQixFQXlCbkI7SUFuREQ7TUE0Qk0saUJBQWdCO01BQ2hCLFlBQVc7TUFDWCxpQ0FBd0I7Y0FBeEIseUJBQXdCLEVBS3pCO01BbkNMO1FBaUNRLGlDQUF3QjtnQkFBeEIseUJBQXdCLEVBQ3pCO0lBbENQO01BcUNNLHNCQUFxQjtNQUNyQixpQkFBZ0IsRUFDakI7SUF2Q0w7TUF5Q00sc0JBQXFCO01BQ3JCLGFBQVk7TUFDWixpQkFBZ0I7TUFD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QUFZO1FBQ1osaUJBQWdCLEVBQ2pCOztBSDNJRDtFRzBCTjtJQXdISSxhQUFZO0lBQ1osV0FBVTtJQUNWLFdBQVUsRUF5Qlg7SUFuSkg7TUE2SE0sUUFBTyxFQUNSO0lBOUhMO01Ba0lRLGFBQVk7TUFDWixpQkFBZ0I7TUFDaEIsV0FBVSxFQVNYO01BdEJMO1FBaUJRLGVBQWM7UUFDZCxnQ0NyUUs7UURzUUwsVUFBUztRQUNULGtCQUFpQixFQUNsQjtJQTVJVDtNQWdKUSxRQUFPLEVBQ1IsRUFBQSIsImZpbGUiOiJob21lUGFnZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcblxuUHJpbWFyeSBzdHlsZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbk1haW4gQ29tcG9uZW50cyBcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jZC1wcmltYXJ5LW5hdiB1bCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICAuY2QtcHJpbWFyeS1uYXYgdWwuaXMtdmlzaWJsZSB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4uY2QtcHJpbWFyeS1uYXYgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDUlO1xuICBiYWNrZ3JvdW5kOiAjMjEyNzJjO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzMzM2M0NDtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuY2QtcHJpbWFyeS1uYXYge1xuICAgIC8qIHJlc2V0IG5hdmlnYXRpb24gdmFsdWVzICovXG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAuY2QtcHJpbWFyeS1uYXYgdWwge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgICAuY2QtcHJpbWFyeS1uYXYgdWwuaXMtdmlzaWJsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIC5jZC1wcmltYXJ5LW5hdiBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gICAgLmNkLXByaW1hcnktbmF2IGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IC42ZW0gMWVtO1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5TbGlkZXJcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jZC1oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLmNkLWhlcm8tc2xpZGVyIHtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMjFyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNkLWhlcm8tc2xpZGVyIGxpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAgIC5jZC1oZXJvLXNsaWRlciBsaS5zZWxlY3RlZCB7XG4gICAgICAvKiB0aGlzIGlzIHRoZSB2aXNpYmxlIHNsaWRlICovXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICAuY2QtaGVyby1zbGlkZXIgbGkubW92ZS1sZWZ0IHtcbiAgICAgIC8qIHNsaWRlIGhpZGRlbiBvbiB0aGUgbGVmdCAqL1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAgIC5jZC1oZXJvLXNsaWRlciBsaS5pcy1tb3ZpbmcsIC5jZC1oZXJvLXNsaWRlciBsaS5zZWxlY3RlZCB7XG4gICAgICAvKiB0aGUgaXMtbW92aW5nIGNsYXNzIGlzIGFzc2lnbmVkIHRvIHRoZSBzbGlkZSB3aGljaCBpcyBtb3Zpbmcgb3V0c2lkZSB0aGUgdmlld3BvcnQgKi9cbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5jZC1oZXJvLXNsaWRlciB7XG4gICAgICBoZWlnaHQ6IDI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5jZC1oZXJvLXNsaWRlciB7XG4gICAgICBoZWlnaHQ6IDI5cmVtOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cblNpbmdsZSBzbGlkZSBzdHlsZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNkLWhlcm8tc2xpZGVyIGxpIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uY2QtaGVyby1zbGlkZXIgLmNkLWZ1bGwtd2lkdGgsXG4uY2QtaGVyby1zbGlkZXIgLmNkLWhhbGYtd2lkdGgge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgLyogdGhpcyBwYWRkaW5nIGlzIHVzZWQgdG8gYWxpZ24gdGhlIHRleHQgKi9cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvKiBGb3JjZSBIYXJkd2FyZSBBY2NlbGVyYXRpb24gaW4gV2ViS2l0ICovXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG5cbi5jZC1oZXJvLXNsaWRlciAuY2QtaGFsZi13aWR0aCB7XG4gIHBhZGRpbmctdG9wOiA1cmVtOyB9XG5cbi5jZC1oZXJvLXNsaWRlciAuY2QtZnVsbC13aWR0aCB7XG4gIHBhZGRpbmctdG9wOiA0LjVyZW07IH1cblxuLmNkLWhlcm8tc2xpZGVyIC5jZC1pbWctY29udGFpbmVyIHtcbiAgLyogaGlkZSBpbWFnZSBvbiBtb2JpbGUgZGV2aWNlICovXG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNkLWhlcm8tc2xpZGVyIC5jZC1pbWctY29udGFpbmVyIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLmNkLWhlcm8tc2xpZGVyIC5jZC1iZy12aWRlby13cmFwcGVyIHtcbiAgLyogaGlkZSB2aWRlbyBvbiBtb2JpbGUgZGV2aWNlICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jZC1oZXJvLXNsaWRlciAuY2QtYmctdmlkZW8td3JhcHBlciB2aWRlbyB7XG4gICAgLyogeW91IHdvbid0IHNlZSB0aGlzIGVsZW1lbnQgaW4gdGhlIGh0bWwsIGJ1dCBpdCB3aWxsIGJlIGluamVjdGVkIHVzaW5nIGpzICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4uY2QtaGVyby1zbGlkZXIgaDEge1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtc2hhZG93OiAwIDFweCA2cHggcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5jZC1oZXJvLXNsaWRlciBoMSB7XG4gICAgICBmb250LXNpemU6IDIuMmVtOyB9IH1cblxuLmNkLWhlcm8tc2xpZGVyIGgyLFxuLmNkLWhlcm8tc2xpZGVyIHAge1xuICB0ZXh0LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMCBhdXRvIDE0cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2QtaGVyby1zbGlkZXIgaDIge1xuICBmb250LXNpemU6IDEuNmVtOyB9XG5cbi5jZC1oZXJvLXNsaWRlciBwIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLmNkLWhlcm8tc2xpZGVyIC5jZC1idG4ge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMS4yZW0gMS40ZW07XG4gIG1hcmdpbi10b3A6IC44ZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEyLCA2OCwgODcsIDAuOSk7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnM7IH1cbiAgLmNkLWhlcm8tc2xpZGVyIC5jZC1idG4uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCAyNiwgMzAsIDAuOCk7IH1cbiAgLmNkLWhlcm8tc2xpZGVyIC5jZC1idG46bnRoLW9mLXR5cGUoMikge1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLm5vLXRvdWNoIC5jZC1oZXJvLXNsaWRlciAuY2QtYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQ0NDU3OyB9XG4gIC5uby10b3VjaCAuY2QtaGVyby1zbGlkZXIgLmNkLWJ0bi5zZWNvbmRhcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjFhMWU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNkLWhlcm8tc2xpZGVyIC5jZC1mdWxsLXdpZHRoLFxuICAuY2QtaGVyby1zbGlkZXIgLmNkLWhhbGYtd2lkdGgge1xuICAgIHBhZGRpbmctdG9wOiA2LjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5jZC1oZXJvLXNsaWRlciAuY2QtZnVsbC13aWR0aCB7XG4gICAgcGFkZGluZy10b3A6IDhyZW07IH1cbiAgLmNkLWhlcm8tc2xpZGVyIC5jZC1iZy12aWRlby13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY2QtaGVyby1zbGlkZXIgLmNkLWhhbGYtd2lkdGgge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuY2QtaGVyby1zbGlkZXIgLmNkLWhhbGYtd2lkdGg6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBsZWZ0OiA1JTsgfVxuICAgIC5jZC1oZXJvLXNsaWRlciAuY2QtaGFsZi13aWR0aDpudGgtb2YtdHlwZSgyKSB7XG4gICAgICByaWdodDogNSU7XG4gICAgICBsZWZ0OiBhdXRvOyB9XG4gIC5jZC1oZXJvLXNsaWRlciAuY2QtaW1nLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNkLWhlcm8tc2xpZGVyIGgyIHtcbiAgICBmb250LXNpemU6IDIuMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmNkLWhlcm8tc2xpZGVyIHAge1xuICAgIGZvbnQtc2l6ZTogMS4xZW07IH1cbiAgLmNkLWhlcm8tc2xpZGVyIC5jZC1idG4ge1xuICAgIGZvbnQtc2l6ZTogMC43ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5jZC1oZXJvLXNsaWRlciAuY2QtZnVsbC13aWR0aCB7XG4gICAgcGFkZGluZy10b3A6IDlyZW07IH1cbiAgLmNkLWhlcm8tc2xpZGVyIC5jZC1oYWxmLXdpZHRoIHtcbiAgICBwYWRkaW5nLXRvcDogN3JlbTsgfVxuICAuY2QtaGVyby1zbGlkZXIgaDIsXG4gIC5jZC1oZXJvLXNsaWRlciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5jZC1oZXJvLXNsaWRlciBoMiB7XG4gICAgZm9udC1zaXplOiAyLjVlbTsgfVxuICAuY2QtaGVyby1zbGlkZXIgcCB7XG4gICAgZm9udC1zaXplOiAxLjRlbTsgfVxuICAuY2QtaGVyby1zbGlkZXIgLmNkLWJ0biB7XG4gICAgZm9udC1zaXplOiAwLjllbTsgfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5TaW5nbGUgc2xpZGUgYW5pbWF0aW9uXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5jZC1oZXJvLXNsaWRlciAuY2QtaGFsZi13aWR0aCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDBweCk7IH1cbiAgLmNkLWhlcm8tc2xpZGVyIC5tb3ZlLWxlZnQgLmNkLWhhbGYtd2lkdGgge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cbiAgLmNkLWhlcm8tc2xpZGVyIC5zZWxlY3RlZCAuY2QtaGFsZi13aWR0aCB7XG4gICAgLyogdGhpcyBpcyB0aGUgdmlzaWJsZSBzbGlkZSAqL1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIC5jZC1oZXJvLXNsaWRlciAuaXMtbW92aW5nIC5jZC1oYWxmLXdpZHRoIHtcbiAgICAvKiB0aGlzIGlzIHRoZSBzbGlkZSBtb3Zpbmcgb3V0c2lkZSB0aGUgdmlld3BvcnQgXG5cdFx0XHR3YWl0IGZvciB0aGUgZW5kIG9mIHRoZSB0cmFuc2l0aW9uIG9uIHRoZSA8bGk+IHBhcmVudCBiZWZvcmUgc2V0IG9wYWNpdHkgdG8gMCBhbmQgdHJhbnNsYXRlIHRvIDQwcHgvLTQwcHggKi9cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIC41cywgdHJhbnNmb3JtIDBzIC41czsgfVxuICAuY2QtaGVyby1zbGlkZXIgbGkuc2VsZWN0ZWQuZnJvbS1sZWZ0IC5jZC1oYWxmLXdpZHRoOm50aC1vZi10eXBlKDIpLFxuICAuY2QtaGVyby1zbGlkZXIgbGkuc2VsZWN0ZWQuZnJvbS1yaWdodCAuY2QtaGFsZi13aWR0aDpmaXJzdC1vZi10eXBlIHtcbiAgICAvKiB0aGlzIGlzIHRoZSBzZWxlY3RlZCBzbGlkZSAtIGRpZmZlcmVudCBhbmltYXRpb24gaWYgaXQncyBlbnRlcmluZyBmcm9tIGxlZnQgb3IgcmlnaHQgKi9cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyAuMnMsIHRyYW5zZm9ybSAuNXMgLjJzOyB9XG4gIC5jZC1oZXJvLXNsaWRlciBsaS5zZWxlY3RlZC5mcm9tLWxlZnQgLmNkLWhhbGYtd2lkdGg6Zmlyc3Qtb2YtdHlwZSxcbiAgLmNkLWhlcm8tc2xpZGVyIGxpLnNlbGVjdGVkLmZyb20tcmlnaHQgLmNkLWhhbGYtd2lkdGg6bnRoLW9mLXR5cGUoMikge1xuICAgIC8qIHRoaXMgaXMgdGhlIHNlbGVjdGVkIHNsaWRlIC0gZGlmZmVyZW50IGFuaW1hdGlvbiBpZiBpdCdzIGVudGVyaW5nIGZyb20gbGVmdCBvciByaWdodCAqL1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIC40cywgdHJhbnNmb3JtIC41cyAuNHM7IH1cbiAgLmNkLWhlcm8tc2xpZGVyIC5jZC1mdWxsLXdpZHRoIGgyLFxuICAuY2QtaGVyby1zbGlkZXIgLmNkLWZ1bGwtd2lkdGggcCxcbiAgLmNkLWhlcm8tc2xpZGVyIC5jZC1mdWxsLXdpZHRoIC5jZC1idG4ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTsgfVxuICAuY2QtaGVyby1zbGlkZXIgLm1vdmUtbGVmdCAuY2QtZnVsbC13aWR0aCBoMixcbiAgLmNkLWhlcm8tc2xpZGVyIC5tb3ZlLWxlZnQgLmNkLWZ1bGwtd2lkdGggcCxcbiAgLmNkLWhlcm8tc2xpZGVyIC5tb3ZlLWxlZnQgLmNkLWZ1bGwtd2lkdGggLmNkLWJ0biB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTsgfVxuICAuY2QtaGVyby1zbGlkZXIgLnNlbGVjdGVkIC5jZC1mdWxsLXdpZHRoIGgyLFxuICAuY2QtaGVyby1zbGlkZXIgLnNlbGVjdGVkIC5jZC1mdWxsLXdpZHRoIHAsXG4gIC5jZC1oZXJvLXNsaWRlciAuc2VsZWN0ZWQgLmNkLWZ1bGwtd2lkdGggLmNkLWJ0biB7XG4gICAgLyogdGhpcyBpcyB0aGUgdmlzaWJsZSBzbGlkZSAqL1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIC5jZC1oZXJvLXNsaWRlciBsaS5pcy1tb3ZpbmcgLmNkLWZ1bGwtd2lkdGggaDIsXG4gIC5jZC1oZXJvLXNsaWRlciBsaS5pcy1tb3ZpbmcgLmNkLWZ1bGwtd2lkdGggcCxcbiAgLmNkLWhlcm8tc2xpZGVyIGxpLmlzLW1vdmluZyAuY2QtZnVsbC13aWR0aCAuY2QtYnRuIHtcbiAgICAvKiB0aGlzIGlzIHRoZSBzbGlkZSBtb3Zpbmcgb3V0c2lkZSB0aGUgdmlld3BvcnQgXG5cdFx0XHR3YWl0IGZvciB0aGUgZW5kIG9mIHRoZSB0cmFuc2l0aW9uIG9uIHRoZSBsaSBwYXJlbnQgYmVmb3JlIHNldCBvcGFjaXR5IHRvIDAgYW5kIHRyYW5zbGF0ZSB0byAxMDBweC8tMTAwcHggKi9cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIC41cywgdHJhbnNmb3JtIDBzIC41czsgfVxuICAuY2QtaGVyby1zbGlkZXIgbGkuc2VsZWN0ZWQgaDIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIC4ycywgdHJhbnNmb3JtIC41cyAuMnM7IH1cbiAgLmNkLWhlcm8tc2xpZGVyIGxpLnNlbGVjdGVkIHAge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIC4zcywgdHJhbnNmb3JtIC41cyAuM3M7IH1cbiAgLmNkLWhlcm8tc2xpZGVyIGxpLnNlbGVjdGVkIC5jZC1idG4ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIC40cywgdHJhbnNmb3JtIC41cyAuNHMsIGJhY2tncm91bmQtY29sb3IgLjJzIDBzOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cblNsaWRlciBuYXZpZ2F0aW9uXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY2Qtc2xpZGVyLW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEsIDEsIDAuMyk7XG4gIGZvbnQtc2l6ZTogMDsgfVxuICAuY2Qtc2xpZGVyLW5hdiBuYXYsXG4gIC5jZC1zbGlkZXItbmF2IHVsLFxuICAuY2Qtc2xpZGVyLW5hdiBsaSxcbiAgLmNkLXNsaWRlci1uYXYgYSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtOyB9XG4gIC5jZC1zbGlkZXItbmF2IG5hdiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY2Qtc2xpZGVyLW5hdiB1bDo6YmVmb3JlLCAuY2Qtc2xpZGVyLW5hdiB1bDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuY2Qtc2xpZGVyLW5hdiB1bDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jZC1zbGlkZXItbmF2IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwcmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmNkLXNsaWRlci1uYXYgbGkuc2VsZWN0ZWQgYSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lOyB9XG4gICAgICAubm8tdG91Y2ggLmNkLXNsaWRlci1uYXYgbGkuc2VsZWN0ZWQgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5jZC1zbGlkZXItbmF2IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnM7IH1cbiAgICAubm8tdG91Y2ggLmNkLXNsaWRlci1uYXYgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEsIDEsIDAuNSk7IH1cbiAgLmNkLXNsaWRlci1uYXYgLmNkLW1hcmtlcixcbiAgLmNkLXNsaWRlci1uYXYgbGkge1xuICAgIHdpZHRoLW1pbjogN3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmNkLXNsaWRlci1uYXYgLmNkLW1hcmtlcixcbiAgICAuY2Qtc2xpZGVyLW5hdiBsaSB7XG4gICAgICB3aWR0aC1taW46IDEwcmVtOyB9XG4gICAgLmNkLXNsaWRlci1uYXYgYSB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbk1haW4gY29udGVudFxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNkLW1haW4tY29udGVudCB7XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAyZW0gMDtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5jZC1tYWluLWNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgIG1hcmdpbjogMmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5jZC1tYWluLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogM2VtIDA7IH1cbiAgICAgIC5jZC1tYWluLWNvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42ZW07IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcblxuSmF2YXNjcmlwdCBkaXNhYmxlZFxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm5vLWpzIC5jZC1oZXJvLXNsaWRlciBsaSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5vLWpzIC5jZC1oZXJvLXNsaWRlciBsaS5zZWxlY3RlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5vLWpzIC5jZC1zbGlkZXItbmF2IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWFpbl9fY2F0ZWdvcmllcy13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4ubWFpbl9jYXRfbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LXNpemU6IDAuODVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFpbl9jYXRfbGlzdCB7XG4gICAgICBwYWRkaW5nOiAwIDgwcHg7IH0gfVxuICAubWFpbl9jYXRfbGlzdCA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDExcHg7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHdoaXRlOyB9XG4gICAgLm1haW5fY2F0X2xpc3QgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICM4MDgwODA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA1cHggMTJweDsgfVxuICAgICAgLm1haW5fY2F0X2xpc3QgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYzBjMGMwO1xuICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHggMCAwIDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm90dG9tOiAtNzAlO1xuICAgICAgICByaWdodDogY2FsYyg1MCUgLSA3cHgpOyB9XG4gICAgLm1haW5fY2F0X2xpc3QgPiBsaTpob3ZlciwgLm1haW5fY2F0X2xpc3QgPiBsaS5hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDBhZWVmOyB9XG4gICAgICAubWFpbl9jYXRfbGlzdCA+IGxpOmhvdmVyID4gYSwgLm1haW5fY2F0X2xpc3QgPiBsaS5hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6IGJsYWNrOyB9XG4gICAgICAgIC5tYWluX2NhdF9saXN0ID4gbGk6aG92ZXIgPiBhOjphZnRlciwgLm1haW5fY2F0X2xpc3QgPiBsaS5hY3RpdmUgPiBhOjphZnRlciB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4ubWFpbl9zdWJfY2F0X2xpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzA7XG4gIG1pbi1oZWlnaHQ6IDcuNTVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFpbl9zdWJfY2F0X2xpc3Qge1xuICAgICAgcGFkZGluZzogMCAxMDBweDsgfSB9XG5cbi5tYWluX3N1Yl9jYXRfbGlzdF9fd3JhcHBlciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFpbl9zdWJfY2F0X2xpc3RfX3dyYXBwZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG5cbi5tYWluX3N1Yl9jYXRfbGlzdF9fcHJldixcbi5tYWluX3N1Yl9jYXRfbGlzdF9fbmV4dCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDgwcHg7XG4gIGZvbnQtc2l6ZTogMS43ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lOyB9XG4gIC5tYWluX3N1Yl9jYXRfbGlzdF9fcHJldjo6YmVmb3JlLFxuICAubWFpbl9zdWJfY2F0X2xpc3RfX25leHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlcjogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIC8qINCf0YDQvtC30YDQsNGH0L3Ri9C1INCz0YDQsNC90LjRhtGLICovXG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlOyB9XG4gIC5tYWluX3N1Yl9jYXRfbGlzdF9fcHJldjpob3ZlcixcbiAgLm1haW5fc3ViX2NhdF9saXN0X19uZXh0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjBiMGIwO1xuICAgIGNvbG9yOiAjZGY0MzQ2OyB9XG5cbi5tYWluX3N1Yl9jYXRfbGlzdF9fcHJldiB7XG4gIGxlZnQ6IDA7IH1cbiAgLm1haW5fc3ViX2NhdF9saXN0X19wcmV2OjpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodDogMTZweCBzb2xpZCBibGFjaztcbiAgICAvKiDQlNC+0LHQsNCy0LvRj9C10Lwg0YLRgNC10YPQs9C+0LvRjNC90LjQuiAqL1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC03NSUsIC01MCUpOyB9XG4gIC5tYWluX3N1Yl9jYXRfbGlzdF9fcHJldjpob3Zlcjo6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICNkZjQzNDY7IH1cblxuLm1haW5fc3ViX2NhdF9saXN0X19uZXh0IHtcbiAgcmlnaHQ6IDA7IH1cbiAgLm1haW5fc3ViX2NhdF9saXN0X19uZXh0OjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0OiAxNnB4IHNvbGlkIGJsYWNrO1xuICAgIC8qINCU0L7QsdCw0LLQu9GP0LXQvCDRgtGA0LXRg9Cz0L7Qu9GM0L3QuNC6ICovXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTMwJSwgLTUwJSk7IH1cbiAgLm1haW5fc3ViX2NhdF9saXN0X19uZXh0OmhvdmVyOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZGY0MzQ2OyB9XG5cbi5uYXZzaXRlX2xrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTIwcHg7XG4gIGhlaWdodDogMTIxcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm5hdnNpdGVfbGs6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOWM5Yzk7IH1cbiAgICAubmF2c2l0ZV9sazpob3ZlciAubmF2c2l0ZV90eCB7XG4gICAgICBjb2xvcjogYmxhY2s7IH1cblxuLm5hdnNpdGVfaW1nIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDgycHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4ubmF2c2l0ZV90eCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxN3B4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIHdpZHRoOiAxNTBweDtcbiAgY29sb3I6ICMzMzNhNDI7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLm1haW5fY2F0X2xpc3RfX3dyYXBwZXIge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4ubWFpbl9zdWJfY2F0X2xpc3RfX3NsaWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1haW5fc3ViX2NhdF9saXN0X19zbGlkZXIuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2xpZGUtMSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvc2xpZGUtMS5qcGcpOyB9XG4gIC5zbGlkZS0xIGgxIHtcbiAgICBmb250LWZhbWlseTogJ1Byb3hpbWEgTm92YSBTZW1pYm9sZCcsIHNhbnMtc2VyaWY7IH1cbiAgLnNsaWRlLTEgcCwgLnNsaWRlLTEgYSB7XG4gICAgZm9udC1mYW1pbHk6ICdQcm94aW1hIE5vdmEgUmVndWxhcicsIHNhbnMtc2VyaWY7IH1cblxuLnNsaWRlLTIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL3NsaWRlLTIuanBnKTsgfVxuICAuc2xpZGUtMiBoMSB7XG4gICAgZm9udC1mYW1pbHk6ICdQcm94aW1hIE5vdmEgU2VtaWJvbGQnLCBzYW5zLXNlcmlmOyB9XG4gIC5zbGlkZS0yIHAsIC5zbGlkZS0yIGEge1xuICAgIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhIFJlZ3VsYXInLCBzYW5zLXNlcmlmOyB9XG5cbmgzIHtcbiAgZm9udC1mYW1pbHk6ICdQcm94aW1hIE5vdmEgU2VtaWJvbGQnLCBzYW5zLXNlcmlmOyB9XG5cbmgzOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLm9sZC1jaGVjayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXRvcDogMnB4IGRvdHRlZDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCAjMmMzNDNiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xuICB3aWR0aDogMjByZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLm9sZC1jaGVja19fY29hc3Qge1xuICBib3JkZXItdG9wOiAxcHggZGFzaGVkICM4YThhOGE7XG4gIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzhhOGE4YTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjMzMzYTQyOyB9XG5cbi5vbGQtY2hlY2tfX292ZXJwYXltZW50cyB7XG4gIHBhZGRpbmc6IDEuM3JlbSAwIDAuNnJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjOGE4YThhO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2RmNDM0NjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLm9sZC1jaGVja19fYmFyY29kZSB7XG4gIGhlaWdodDogMTRweDtcbiAgYm94LXNoYWRvdzogMXB4IDAgMCAxcHggI2MwYzNjNywgNXB4IDAgMCAxcHggI2MwYzNjNywgMTBweCAwIDAgMXB4ICNjMGMzYzcsIDExcHggMCAwIDFweCAjYzBjM2M3LCAxNXB4IDAgMCAxcHggI2MwYzNjNywgMThweCAwIDAgMXB4ICNjMGMzYzcsIDIycHggMCAwIDFweCAjYzBjM2M3LCAyM3B4IDAgMCAxcHggI2MwYzNjNywgMjZweCAwIDAgMXB4ICNjMGMzYzcsIDMwcHggMCAwIDFweCAjYzBjM2M3LCAzNXB4IDAgMCAxcHggI2MwYzNjNywgMzdweCAwIDAgMXB4ICNjMGMzYzcsIDQxcHggMCAwIDFweCAjYzBjM2M3LCA0NHB4IDAgMCAxcHggI2MwYzNjNywgNDdweCAwIDAgMXB4ICNjMGMzYzcsIDUxcHggMCAwIDFweCAjYzBjM2M3LCA1NnB4IDAgMCAxcHggI2MwYzNjNywgNTlweCAwIDAgMXB4ICNjMGMzYzcsIDY0cHggMCAwIDFweCAjYzBjM2M3LCA2OHB4IDAgMCAxcHggI2MwYzNjNywgNzJweCAwIDAgMXB4ICNjMGMzYzcsIDc0cHggMCAwIDFweCAjYzBjM2M3LCA3N3B4IDAgMCAxcHggI2MwYzNjNywgODFweCAwIDAgMXB4ICNjMGMzYzc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAxcmVtIDAgMCAtMjUlOyB9XG5cbi5vbGQtY2hlY2tfX3RoYW5rcyB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzMzM2E0MjsgfVxuXG4ub3dsLWl0ZW0gPiAuY2FyZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1hcmtldGluZy1zaXRlLWZlYXR1cmVzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAycmVtIDA7IH1cblxuLm1hcmtldGluZy1zaXRlLWZlYXR1cmVzLWhlYWRsaW5lIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhJywgc2Fucy1zZXJpZjsgfVxuXG4ubWFya2V0aW5nLXNpdGUtZmVhdHVyZXMtc3ViaGVhZGxpbmUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhIFNlbWlib2xkJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyNHB4OyB9XG5cbi5wcm9kdWN0LWZlYXR1cmUtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gIHBhZGRpbmc6IDFyZW07IH1cblxuLnByb2R1Y3QtZmVhdHVyZS1zZWN0aW9uLW91dGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWZlYXR1cmUtc2VjdGlvbi1vdXRlciB7XG4gICAgICBtYXgtd2lkdGg6IDc1JTsgfSB9XG5cbi5wcm9kdWN0LWZlYXR1cmUtc2VjdGlvbi1oZWFkbGluZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHJvZHVjdC1mZWF0dXJlLXNlY3Rpb24taW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5wcm9kdWN0LWZlYXR1cmUtc2VjdGlvbi1mZWF0dXJlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGZsZXg6IDEgMCA1MCU7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAucHJvZHVjdC1mZWF0dXJlLXNlY3Rpb24tZmVhdHVyZS50b3AtbGVmdCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U4ZThlODtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlODsgfVxuICAucHJvZHVjdC1mZWF0dXJlLXNlY3Rpb24tZmVhdHVyZS50b3AtcmlnaHQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4OyB9XG4gIC5wcm9kdWN0LWZlYXR1cmUtc2VjdGlvbi1mZWF0dXJlLmJvdHRvbS1sZWZ0IHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZThlOGU4OyB9XG4gIC5wcm9kdWN0LWZlYXR1cmUtc2VjdGlvbi1mZWF0dXJlIC5mZWF0dXJlLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdQcm94aW1hIE5vdmEnLCBzYW5zLXNlcmlmOyB9XG4gIC5wcm9kdWN0LWZlYXR1cmUtc2VjdGlvbi1mZWF0dXJlIC5mZWF0dXJlLWRlc2Mge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1mYW1pbHk6ICdQcm94aW1hIE5vdmEgU2VtaWJvbGQnLCBzYW5zLXNlcmlmOyB9XG4gIC5wcm9kdWN0LWZlYXR1cmUtc2VjdGlvbi1mZWF0dXJlIC5mYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBjb2xvcjogIzMzM2E0MjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWZlYXR1cmUtc2VjdGlvbi1mZWF0dXJlIHtcbiAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICBmbGV4OiAxIDAgNTAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbi50aW1lbGluZSAudGltZWxpbmUtaXRlbTo6YWZ0ZXIsIC50aW1lbGluZSAudGltZWxpbmUtaXRlbTo6YmVmb3JlIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnRpbWVsaW5lIHtcbiAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnRpbWVsaW5lOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAzcHg7IH1cbiAgLnRpbWVsaW5lOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnRpbWVsaW5lIGEge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluOyB9XG4gICAgLnRpbWVsaW5lIGE6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggMHB4IDBweCAjZmVmZWZlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW47IH1cbiAgLnRpbWVsaW5lIC50aW1lbGluZS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC50aW1lbGluZSAudGltZWxpbmUtaXRlbSAudGltZWxpbmUtaWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yM3B4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiA1MHB4OyB9XG4gICAgICAudGltZWxpbmUgLnRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWljb24gaW1nLFxuICAgICAgLnRpbWVsaW5lIC50aW1lbGluZS1pdGVtIC50aW1lbGluZS1pY29uIHN2ZyB7XG4gICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxMXB4OyB9XG4gICAgICAudGltZWxpbmUgLnRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWljb24gc3ZnIHtcbiAgICAgICAgdG9wOiAxNHB4OyB9XG4gICAgICAudGltZWxpbmUgLnRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWljb24gaSB7XG4gICAgICAgIGxlZnQ6IDE4cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxNXB4OyB9XG4gICAgLnRpbWVsaW5lIC50aW1lbGluZS1pdGVtIC50aW1lbGluZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluO1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAudGltZWxpbmUgLnRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWNvbnRlbnQgcCB7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAudGltZWxpbmUgLnRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWNvbnRlbnQgcCB7XG4gICAgICAgIGNvbG9yOiAjMzMzYTQyO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhJywgc2Fucy1zZXJpZjsgfVxuICAgICAgLnRpbWVsaW5lIC50aW1lbGluZS1pdGVtIC50aW1lbGluZS1jb250ZW50IC50aW1lbGluZS1jb250ZW50LXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICMzMzNhNDI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdQcm94aW1hIE5vdmEgU2VtaWJvbGQnLCBzYW5zLXNlcmlmOyB9XG4gICAgICAudGltZWxpbmUgLnRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWNvbnRlbnQgLnRpbWVsaW5lLWNvbnRlbnQtbW9udGgge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAudGltZWxpbmUgLnRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWNvbnRlbnQucmlnaHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC50aW1lbGluZSB7XG4gICAgbWFyZ2luOiAzMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDkwJTsgfVxuICAgIC50aW1lbGluZTo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAudGltZWxpbmUgLnRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWNvbnRlbnQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdpZHRoOiA5MCU7IH1cbiAgICAgIC50aW1lbGluZSAudGltZWxpbmUtaXRlbSAudGltZWxpbmUtY29udGVudDo6YmVmb3JlLCAudGltZWxpbmUgLnRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWNvbnRlbnQucmlnaHQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCAjZmVmZWZlO1xuICAgICAgICBsZWZ0OiAxMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4OyB9XG4gICAgLnRpbWVsaW5lIC50aW1lbGluZS1pdGVtIC50aW1lbGluZS1pY29uIHtcbiAgICAgIGxlZnQ6IDA7IH0gfVxuIiwiLy8gY29sb3JzXG4kY29sb3ItMTogIzJjMzQzYjsgLy8gXG4kY29sb3ItMjogI2Q0NDQ1NzsgLy9cbiRjb2xvci0zOiAjZmZmZmZmOyAvLyBXaGl0ZVxuLy8gaW50cm8gaGVpZ2h0XG4kaW50cm8taGVpZ2h0LVM6IDIxcmVtO1xuJGludHJvLWhlaWdodC1NOiAyNXJlbTtcbiRpbnRyby1oZWlnaHQtTDogMjlyZW07XG4vLyBjZW50ZXIgdmVydGljYWxseSBhbmQvb3IgaG9yaXpvbnRhbGx5IGFuIGFic29sdXRlIHBvc2l0aW9uZWQgZWxlbWVudFxuQG1peGluIGNlbnRlcigkeHk6eHkpIHtcbiAgQGlmICR4eT09eHkge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cbiAgQGVsc2UgaWYgJHh5PT14IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cbiAgQGVsc2UgaWYgJHh5PT15IHtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cbn1cblxuLy8gYW50aWFsaWFzaW5nIG1vZGUgZm9udCByZW5kZXJpbmdcbkBtaXhpbiBmb250LXNtb290aGluZyB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyBicmVha3BvaW50c1xuLy8kUzogICAgIDQ4MHB4OyAgIFxuLy8kTTogICAgIDc2OHB4OyAgICAgXG4vLyRMOiAgICAgMTE3MHB4OyAgICAgXG4vLyBtZWRpYSBxdWVyaWVzXG4vL0BtaXhpbiBNUSgkY2FudmFzKSB7XG4vLyAgQGlmICRjYW52YXMgPT0gUyB7XG4vLyAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFMpIHsgQGNvbnRlbnQ7IH0gXG4vLyAgfVxuLy8gIEBlbHNlIGlmICRjYW52YXMgPT0gTSB7XG4vLyAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJE0pIHsgQGNvbnRlbnQ7IH0gXG4vLyAgfVxuLy8gIEBlbHNlIGlmICRjYW52YXMgPT0gTCB7XG4vLyAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJEwpIHsgQGNvbnRlbnQ7IH0gXG4vLyAgfVxuLy99XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5QcmltYXJ5IHN0eWxlXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vXG4vL2ltZyB7XG4vL1x0bWF4LXdpZHRoOiAxMDAlO1xuLy99XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5NYWluIENvbXBvbmVudHMgXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vLmNkLWhlYWRlciB7XG4vLyAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gIHotaW5kZXg6IDI7XG4vLyAgdG9wOiAwO1xuLy8gIGxlZnQ6IDA7XG4vLyAgd2lkdGg6IDEwMCU7XG4vLyAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci0xLCA1JSk7XG4vL31cblxuLmNkLXByaW1hcnktbmF2IHtcbiAgdWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDNweCA4cHggcmdiYSgjMDAwLCAuMik7XG4gICAgfVxuICB9XG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNSU7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRjb2xvci0xLCA1JSk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNvbG9yLTEsIDMlKTtcbiAgICBjb2xvcjogJGNvbG9yLTM7XG4gIH1cbi8vICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4vLyAgICBhIHsgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4vLyAgfVxuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAvKiByZXNldCBuYXZpZ2F0aW9uIHZhbHVlcyAqL1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHVsIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIC8vbGluZS1oZWlnaHQ6ICRoZWFkZXItTTtcbiAgICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogLjZlbSAxZW07XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5TbGlkZXJcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmNkLWhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmNkLWhlcm8tc2xpZGVyIHtcbiAgLy8gZml4XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRpbnRyby1oZWlnaHQtUztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAmLnNlbGVjdGVkIHtcbiAgICAgIC8qIHRoaXMgaXMgdGhlIHZpc2libGUgc2xpZGUgKi9cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gICAgJi5tb3ZlLWxlZnQge1xuICAgICAgLyogc2xpZGUgaGlkZGVuIG9uIHRoZSBsZWZ0ICovXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIH1cbiAgICAmLmlzLW1vdmluZyxcbiAgICAmLnNlbGVjdGVkIHtcbiAgICAgIC8qIHRoZSBpcy1tb3ZpbmcgY2xhc3MgaXMgYXNzaWduZWQgdG8gdGhlIHNsaWRlIHdoaWNoIGlzIG1vdmluZyBvdXRzaWRlIHRoZSB2aWV3cG9ydCAqL1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICBoZWlnaHQ6ICRpbnRyby1oZWlnaHQtTTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICBoZWlnaHQ6ICRpbnRyby1oZWlnaHQtTDtcbiAgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5TaW5nbGUgc2xpZGUgc3R5bGVcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmNkLWhlcm8tc2xpZGVyIHtcbiAgbGkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC5jZC1mdWxsLXdpZHRoLFxuICAuY2QtaGFsZi13aWR0aCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIC8qIHRoaXMgcGFkZGluZyBpcyB1c2VkIHRvIGFsaWduIHRoZSB0ZXh0ICovXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qIEZvcmNlIEhhcmR3YXJlIEFjY2VsZXJhdGlvbiBpbiBXZWJLaXQgKi9cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB9XG4gIFxuICAuY2QtaGFsZi13aWR0aCB7XG4gICAgcGFkZGluZy10b3A6IDVyZW07O1xuICB9XG4gIC5jZC1mdWxsLXdpZHRoIHtcbiAgICBwYWRkaW5nLXRvcDogNC41cmVtO1xuICB9XG4gIFxuICAuY2QtaW1nLWNvbnRhaW5lciB7XG4gICAgLyogaGlkZSBpbWFnZSBvbiBtb2JpbGUgZGV2aWNlICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgQGluY2x1ZGUgY2VudGVyO1xuICAgIH1cbiAgfVxuICAuY2QtYmctdmlkZW8td3JhcHBlciB7XG4gICAgLyogaGlkZSB2aWRlbyBvbiBtb2JpbGUgZGV2aWNlICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmlkZW8ge1xuICAgICAgLyogeW91IHdvbid0IHNlZSB0aGlzIGVsZW1lbnQgaW4gdGhlIGh0bWwsIGJ1dCBpdCB3aWxsIGJlIGluamVjdGVkIHVzaW5nIGpzICovXG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIEBpbmNsdWRlIGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgaDEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAyLjJlbTtcbiAgICB9XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgaDIsXG4gIHAge1xuICAgIC8vdGV4dC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKCMwMDAsIC4xKTtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDAgYXV0byAxNHB4O1xuICAgIGNvbG9yOiAkY29sb3ItMztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvL21heC13aWR0aDogNDAwcHg7XG4gIH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gIH1cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuICAuY2QtYnRuIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMmVtIDEuNGVtO1xuICAgIG1hcmdpbi10b3A6IC44ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItMiwgLjkpO1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBjb2xvcjogJGNvbG9yLTM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgjMDAwLCAuMyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnM7XG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShkYXJrZW4oJGNvbG9yLTEsIDEwJSksIC44KTtcbiAgICB9XG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIH1cbiAgICAubm8tdG91Y2ggJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItMjtcbiAgICB9XG4gICAgLm5vLXRvdWNoICYuc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItMSwgMTAlKTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAuY2QtZnVsbC13aWR0aCxcbiAgICAuY2QtaGFsZi13aWR0aCB7XG4gICAgICBwYWRkaW5nLXRvcDogNi41cmVtO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIC5jZC1mdWxsLXdpZHRoIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuICAgIH1cbiAgICAuY2QtYmctdmlkZW8td3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmNkLWhhbGYtd2lkdGgge1xuICAgICAgcGFkZGluZy10b3A6IDhyZW07XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbGVmdDogNSU7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgcmlnaHQ6IDUlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2QtaW1nLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAyLjJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICB9XG4gICAgLmNkLWJ0biB7XG4gICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAuY2QtZnVsbC13aWR0aCB7XG4gICAgICBwYWRkaW5nLXRvcDogOXJlbTtcbiAgICB9XG4gICAgLmNkLWhhbGYtd2lkdGgge1xuICAgICAgcGFkZGluZy10b3A6IDdyZW07XG4gICAgfVxuICAgIGgyLFxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIH1cbiAgICAuY2QtYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgfVxuICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cblNpbmdsZSBzbGlkZSBhbmltYXRpb25cblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgLmNkLWhlcm8tc2xpZGVyIHtcbiAgICAuY2QtaGFsZi13aWR0aCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwcHgpO1xuICAgIH1cbiAgICAubW92ZS1sZWZ0IC5jZC1oYWxmLXdpZHRoIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7XG4gICAgfVxuICAgIC5zZWxlY3RlZCAuY2QtaGFsZi13aWR0aCB7XG4gICAgICAvKiB0aGlzIGlzIHRoZSB2aXNpYmxlIHNsaWRlICovXG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICAuaXMtbW92aW5nIC5jZC1oYWxmLXdpZHRoIHtcbiAgICAgIC8qIHRoaXMgaXMgdGhlIHNsaWRlIG1vdmluZyBvdXRzaWRlIHRoZSB2aWV3cG9ydCBcblx0XHRcdHdhaXQgZm9yIHRoZSBlbmQgb2YgdGhlIHRyYW5zaXRpb24gb24gdGhlIDxsaT4gcGFyZW50IGJlZm9yZSBzZXQgb3BhY2l0eSB0byAwIGFuZCB0cmFuc2xhdGUgdG8gNDBweC8tNDBweCAqL1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAuNXMsIHRyYW5zZm9ybSAwcyAuNXM7XG4gICAgfVxuICAgIGxpLnNlbGVjdGVkLmZyb20tbGVmdCAuY2QtaGFsZi13aWR0aDpudGgtb2YtdHlwZSgyKSxcbiAgICBsaS5zZWxlY3RlZC5mcm9tLXJpZ2h0IC5jZC1oYWxmLXdpZHRoOmZpcnN0LW9mLXR5cGUge1xuICAgICAgLyogdGhpcyBpcyB0aGUgc2VsZWN0ZWQgc2xpZGUgLSBkaWZmZXJlbnQgYW5pbWF0aW9uIGlmIGl0J3MgZW50ZXJpbmcgZnJvbSBsZWZ0IG9yIHJpZ2h0ICovXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyAuMnMsIHRyYW5zZm9ybSAuNXMgLjJzO1xuICAgIH1cbiAgICBsaS5zZWxlY3RlZC5mcm9tLWxlZnQgLmNkLWhhbGYtd2lkdGg6Zmlyc3Qtb2YtdHlwZSxcbiAgICBsaS5zZWxlY3RlZC5mcm9tLXJpZ2h0IC5jZC1oYWxmLXdpZHRoOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIC8qIHRoaXMgaXMgdGhlIHNlbGVjdGVkIHNsaWRlIC0gZGlmZmVyZW50IGFuaW1hdGlvbiBpZiBpdCdzIGVudGVyaW5nIGZyb20gbGVmdCBvciByaWdodCAqL1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgLjRzLCB0cmFuc2Zvcm0gLjVzIC40cztcbiAgICB9XG4gICAgLmNkLWZ1bGwtd2lkdGggaDIsXG4gICAgLmNkLWZ1bGwtd2lkdGggcCxcbiAgICAuY2QtZnVsbC13aWR0aCAuY2QtYnRuIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpO1xuICAgIH1cbiAgICAubW92ZS1sZWZ0IC5jZC1mdWxsLXdpZHRoIGgyLFxuICAgIC5tb3ZlLWxlZnQgLmNkLWZ1bGwtd2lkdGggcCxcbiAgICAubW92ZS1sZWZ0IC5jZC1mdWxsLXdpZHRoIC5jZC1idG4ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpO1xuICAgIH1cbiAgICAuc2VsZWN0ZWQgLmNkLWZ1bGwtd2lkdGggaDIsXG4gICAgLnNlbGVjdGVkIC5jZC1mdWxsLXdpZHRoIHAsXG4gICAgLnNlbGVjdGVkIC5jZC1mdWxsLXdpZHRoIC5jZC1idG4ge1xuICAgICAgLyogdGhpcyBpcyB0aGUgdmlzaWJsZSBzbGlkZSAqL1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gICAgbGkuaXMtbW92aW5nIC5jZC1mdWxsLXdpZHRoIGgyLFxuICAgIGxpLmlzLW1vdmluZyAuY2QtZnVsbC13aWR0aCBwLFxuICAgIGxpLmlzLW1vdmluZyAuY2QtZnVsbC13aWR0aCAuY2QtYnRuIHtcbiAgICAgIC8qIHRoaXMgaXMgdGhlIHNsaWRlIG1vdmluZyBvdXRzaWRlIHRoZSB2aWV3cG9ydCBcblx0XHRcdHdhaXQgZm9yIHRoZSBlbmQgb2YgdGhlIHRyYW5zaXRpb24gb24gdGhlIGxpIHBhcmVudCBiZWZvcmUgc2V0IG9wYWNpdHkgdG8gMCBhbmQgdHJhbnNsYXRlIHRvIDEwMHB4Ly0xMDBweCAqL1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAuNXMsIHRyYW5zZm9ybSAwcyAuNXM7XG4gICAgfVxuICAgIGxpLnNlbGVjdGVkIGgyIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIC4ycywgdHJhbnNmb3JtIC41cyAuMnM7XG4gICAgfVxuICAgIGxpLnNlbGVjdGVkIHAge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgLjNzLCB0cmFuc2Zvcm0gLjVzIC4zcztcbiAgICB9XG4gICAgbGkuc2VsZWN0ZWQgLmNkLWJ0biB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyAuNHMsIHRyYW5zZm9ybSAuNXMgLjRzLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyAwcztcbiAgICB9XG4gIH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcblxuU2xpZGVyIG5hdmlnYXRpb25cblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmNkLXNsaWRlci1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLy9oZWlnaHQ6IDU1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoZGFya2VuKCRjb2xvci0xLCAyMCUpLCAuMyk7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbmF2LFxuICB1bCxcbiAgbGksXG4gIGEge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgfVxuICBuYXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbi8vICAuY2QtbWFya2VyIHtcbi8vICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgIGJvdHRvbTogMDtcbi8vICAgIGxlZnQ6IDA7XG4vLyAgICB3aWR0aDogMTByZW07XG4vLyAgICBoZWlnaHQ6IDEwMCU7XG4vLyAgICAvL2NvbG9yOiAkY29sb3ItMjtcbi8vICAgIGNvbG9yOiB3aGl0ZTtcbi8vICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTM7XG4vLyAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCAwIGN1cnJlbnRDb2xvcjtcbi8vICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMsIGJveC1zaGFkb3cgLjJzO1xuLy8gICAgJi5pdGVtLTIge1xuLy8gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4vLyAgICB9XG4vLyAgICAmLml0ZW0tMyB7XG4vLyAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKTtcbi8vICAgIH1cbi8vICAgICYuaXRlbS00IHtcbi8vICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwMCUpO1xuLy8gICAgfVxuLy8gICAgJi5pdGVtLTUge1xuLy8gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwJSk7XG4vLyAgICB9XG4vLyAgfVxuICB1bCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvL2ZpeFxuICAgIHdpZHRoOiAxMHJlbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAmLnNlbGVjdGVkIGEge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgICAgIC8vY29sb3I6ICRjb2xvci0xO1xuICAgICAgLm5vLXRvdWNoICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAuN3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIC8vY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLTEsIDUwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzO1xuICAgIC5uby10b3VjaCAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoZGFya2VuKCRjb2xvci0xLCAyMCUpLCAuNSk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAuY2QtbWFya2VyLFxuICAgIGxpIHtcbiAgICAgIHdpZHRoLW1pbjogN3JlbTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAvL2hlaWdodDogODBweDtcbiAgICAuY2QtbWFya2VyLFxuICAgIGxpIHtcbiAgICAgIHdpZHRoLW1pbjogMTByZW07XG4gICAgfVxuICAgIGEge1xuICAgICAgLy9wYWRkaW5nLXRvcDogNDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAvLyAgXHRcdFx0Jjo6YmVmb3JlIHtcbiAgICAgIC8vICBcdFx0XHRcdHRvcDogMThweDtcbiAgICAgIC8vICBcdFx0XHR9XG4gICAgfVxuICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbk1haW4gY29udGVudFxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY2QtbWFpbi1jb250ZW50IHtcbiAgd2lkdGg6IDkwJTtcbiAgLy9tYXgtd2lkdGg6ICRNO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMmVtIDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcCB7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLTMsIDQwJSk7XG4gICAgbWFyZ2luOiAyZW0gMDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAzZW0gMDtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgfVxuICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbkphdmFzY3JpcHQgZGlzYWJsZWRcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLm5vLWpzIC5jZC1oZXJvLXNsaWRlciBsaSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gICYuc2VsZWN0ZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5uby1qcyAuY2Qtc2xpZGVyLW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJzsgICAgXG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlIG9yIGJyZWFrcG9pbnQgbmFtZSB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBDYXRlZ29yeSBzbGlkZXJcbi8vIE1lbnVcbiRtLWxpZ2h0LWdyZXk6ICNjOWM5Yzk7XG4kbS1ncmV5OiAjYzBjMGMwO1xuJG0tZGFyay1ncmV5OiAjYjBiMGIwO1xuJG0tYmx1ZTogIzAwYWVlZjtcbiRtLXJlZDogI2RmNDM0NjtcblxuLm1haW5fX2NhdGVnb3JpZXMtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG59XG4ubWFpbl9jYXRfbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvL1x0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAwIDgwcHg7XG4gIH1cbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICA+bGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgd2hpdGU7XG4gICAgPmEge1xuICAgICAgY29sb3I6ICM4MDgwODA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA1cHggMTJweDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbS1ncmV5O1xuICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHggMCAwIDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm90dG9tOiAtNzAlO1xuICAgICAgICByaWdodDogIGNhbGMoNTAlIC0gN3B4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlcixcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRtLWJsdWU7XG4gICAgICA+YSB7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1haW5fc3ViX2NhdF9saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbS1ncmV5O1xuICBtaW4taGVpZ2h0OiA3LjU1cmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAwIDEwMHB4O1xuICB9XG59XG5cbi5tYWluX3N1Yl9jYXRfbGlzdF9fd3JhcHBlciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi5tYWluX3N1Yl9jYXRfbGlzdF9fcHJldixcbi5tYWluX3N1Yl9jYXRfbGlzdF9fbmV4dCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDgwcHg7XG4gIGZvbnQtc2l6ZTogMS43ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXI6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAvKiDQn9GA0L7Qt9GA0LDRh9C90YvQtSDQs9GA0LDQvdC40YbRiyAqL1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbS1kYXJrLWdyZXk7XG4gICAgY29sb3I6ICRtLXJlZDtcbiAgfVxufVxuXG4ubWFpbl9zdWJfY2F0X2xpc3RfX3ByZXYge1xuICBsZWZ0OiAwO1xuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodDogMTZweCBzb2xpZCBibGFjaztcbiAgICAvKiDQlNC+0LHQsNCy0LvRj9C10Lwg0YLRgNC10YPQs9C+0LvRjNC90LjQuiAqL1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC03NSUsIC01MCUpO1xuICB9XG4gICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkbS1yZWQ7XG4gIH1cbn1cblxuLm1haW5fc3ViX2NhdF9saXN0X19uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDE2cHggc29saWQgYmxhY2s7XG4gICAgLyog0JTQvtCx0LDQstC70Y/QtdC8INGC0YDQtdGD0LPQvtC70YzQvdC40LogKi9cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzAlLCAtNTAlKTtcbiAgfVxuICAmOmhvdmVyOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbS1yZWQ7XG4gIH1cbn1cblxuLm5hdnNpdGVfbGsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiAxMjFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBsaW5lLWhlaWdodDogMTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG0tbGlnaHQtZ3JleTtcbiAgICAubmF2c2l0ZV90eCB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxuICB9XG59XG5cbi5uYXZzaXRlX2ltZyB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHdpZHRoOjEyMHB4O1xuICBoZWlnaHQ6IDgycHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLm5hdnNpdGVfdHgge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTdweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB3aWR0aDogMTUwcHg7XG4gIGNvbG9yOiAjMzMzYTQyO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4ubWFpbl9jYXRfbGlzdF9fd3JhcHBlciB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4ubWFpbl9zdWJfY2F0X2xpc3RfX3NsaWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gICYuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vY29tbW9uL192YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvX21haW5QYWdlU2xpZGVyXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL19jYXRlZ29yeVNsaWRlclwiO1xuXG4uc2xpZGUtMSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9yZXNvdXJjZXMvc2xpZGUtMS5qcGcpO1xuICBoMXtcbiAgZm9udC1mYW1pbHk6ICdQcm94aW1hIE5vdmEgU2VtaWJvbGQnLCBzYW5zLXNlcmlmO1xufVxucCxhIHtcbiAgZm9udC1mYW1pbHk6ICdQcm94aW1hIE5vdmEgUmVndWxhcicsIHNhbnMtc2VyaWY7XG59XG59XG5cbi5zbGlkZS0yIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9zbGlkZS0yLmpwZyk7XG4gIGgxe1xuICBmb250LWZhbWlseTogJ1Byb3hpbWEgTm92YSBTZW1pYm9sZCcsIHNhbnMtc2VyaWY7XG59XG5wLGEge1xuICBmb250LWZhbWlseTogJ1Byb3hpbWEgTm92YSBSZWd1bGFyJywgc2Fucy1zZXJpZjtcbn1cbn1cblxuaDN7XG4gIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhIFNlbWlib2xkJywgc2Fucy1zZXJpZjtcbn1cbmgzOmhvdmVye1xuICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xufVxuLm9sZC1jaGVjayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXRvcDogMnB4IGRvdHRlZDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCByZ2IoNDQsIDUyLCA1OSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7XG4gIHdpZHRoOiAyMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLm9sZC1jaGVja19fY29hc3Qge1xuICBib3JkZXItdG9wOiAxcHggZGFzaGVkICRkYXJrLWdyYXk7XG4gIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJGRhcmstZ3JheTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAkZGFyay1ncmF5LW9sZHRyYWRlO1xufVxuXG4ub2xkLWNoZWNrX19vdmVycGF5bWVudHMge1xuICBwYWRkaW5nOiAxLjNyZW0gMCAwLjZyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJGRhcmstZ3JheTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICRyZWQtb2xkdHJhZGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ub2xkLWNoZWNrX19iYXJjb2RlIHtcbiAgaGVpZ2h0OiAxNHB4O1xuICBib3gtc2hhZG93OiAxcHggMCAwIDFweCAjYzBjM2M3LCA1cHggMCAwIDFweCAjYzBjM2M3LCAxMHB4IDAgMCAxcHggI2MwYzNjNywgMTFweCAwIDAgMXB4ICNjMGMzYzcsIDE1cHggMCAwIDFweCAjYzBjM2M3LCAxOHB4IDAgMCAxcHggI2MwYzNjNywgMjJweCAwIDAgMXB4ICNjMGMzYzcsIDIzcHggMCAwIDFweCAjYzBjM2M3LCAyNnB4IDAgMCAxcHggI2MwYzNjNywgMzBweCAwIDAgMXB4ICNjMGMzYzcsIDM1cHggMCAwIDFweCAjYzBjM2M3LCAzN3B4IDAgMCAxcHggI2MwYzNjNywgNDFweCAwIDAgMXB4ICNjMGMzYzcsIDQ0cHggMCAwIDFweCAjYzBjM2M3LCA0N3B4IDAgMCAxcHggI2MwYzNjNywgNTFweCAwIDAgMXB4ICNjMGMzYzcsIDU2cHggMCAwIDFweCAjYzBjM2M3LCA1OXB4IDAgMCAxcHggI2MwYzNjNywgNjRweCAwIDAgMXB4ICNjMGMzYzcsIDY4cHggMCAwIDFweCAjYzBjM2M3LCA3MnB4IDAgMCAxcHggI2MwYzNjNywgNzRweCAwIDAgMXB4ICNjMGMzYzcsIDc3cHggMCAwIDFweCAjYzBjM2M3LCA4MXB4IDAgMCAxcHggI2MwYzNjNztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDFyZW0gMCAwIC0yNSU7XG59XG5cbi5vbGQtY2hlY2tfX3RoYW5rcyB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogJGRhcmstZ3JheS1vbGR0cmFkZTtcbn1cblxuLm93bC1pdGVtID4gLmNhcmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubWFya2V0aW5nLXNpdGUtZmVhdHVyZXMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDJyZW0gMDtcbn1cblxuLm1hcmtldGluZy1zaXRlLWZlYXR1cmVzLWhlYWRsaW5lIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhJywgc2Fucy1zZXJpZjtcbn1cblxuLm1hcmtldGluZy1zaXRlLWZlYXR1cmVzLXN1YmhlYWRsaW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1Byb3hpbWEgTm92YSBTZW1pYm9sZCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuJHByb2R1Y3QtZmVhdHVyZS1zZWN0aW9uLWxhcmdlLXdpZHRoOiA3NSU7XG4kcHJvZHVjdC1mZWF0dXJlLXNlY3Rpb24tYmc6ICRsaWdodC1ncmF5O1xuJHByb2R1Y3QtZmVhdHVyZS1zZWN0aW9uLWRpdmlkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLnByb2R1Y3QtZmVhdHVyZS1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogJHByb2R1Y3QtZmVhdHVyZS1zZWN0aW9uLWJnO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4ucHJvZHVjdC1mZWF0dXJlLXNlY3Rpb24tb3V0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWF4LXdpZHRoOiAkcHJvZHVjdC1mZWF0dXJlLXNlY3Rpb24tbGFyZ2Utd2lkdGg7XG4gIH1cbn1cblxuLnByb2R1Y3QtZmVhdHVyZS1zZWN0aW9uLWhlYWRsaW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJvZHVjdC1mZWF0dXJlLXNlY3Rpb24taW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucHJvZHVjdC1mZWF0dXJlLXNlY3Rpb24tZmVhdHVyZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAxcmVtO1xuICBmbGV4OiAxIDAgNTAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgJi50b3AtbGVmdCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHByb2R1Y3QtZmVhdHVyZS1zZWN0aW9uLWRpdmlkZXItY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcm9kdWN0LWZlYXR1cmUtc2VjdGlvbi1kaXZpZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50b3AtcmlnaHQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJvZHVjdC1mZWF0dXJlLXNlY3Rpb24tZGl2aWRlci1jb2xvcjtcbiAgfVxuXG4gICYuYm90dG9tLWxlZnQge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRwcm9kdWN0LWZlYXR1cmUtc2VjdGlvbi1kaXZpZGVyLWNvbG9yO1xuICB9XG5cbiAgLmZlYXR1cmUtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LWZhbWlseTogJ1Byb3hpbWEgTm92YScsIHNhbnMtc2VyaWY7XG4gIH1cblxuICAuZmVhdHVyZS1kZXNjIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhIFNlbWlib2xkJywgc2Fucy1zZXJpZjtcbiAgfVxuXG4gIC5mYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBjb2xvcjogJGRhcmstZ3JheS1vbGR0cmFkZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBmbGV4OiAxIDAgNTAlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbiR0aW1lbGluZS1jb2xvcjogJHdoaXRlO1xuJHRpbWVsaW5lLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluO1xuJHRpbWVsaW5lLWl0ZW0tY2FyZC1iZzogJHdoaXRlO1xuJHRpbWVsaW5lLWl0ZW0tZm9udC1jb2xvcjogJHdoaXRlO1xuJHRpbWVsaW5lLWl0ZW0tY2FyZDogZmFsc2U7XG4kdGltZWxpbmUtaXRlbS1jYXJkLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiVjbGVhcmZpeCB7XG4gICY6OmFmdGVyLFxuICAmOjpiZWZvcmUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIFRpbWVsaW5lXG4udGltZWxpbmUge1xuICBtYXJnaW46IDMwcHggYXV0bztcbiAgcGFkZGluZzogMCAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246ICR0aW1lbGluZS10cmFuc2l0aW9uO1xuICB3aWR0aDogMTAwJTtcblxuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICR0aW1lbGluZS1jb2xvcjtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDNweDtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkdGltZWxpbmUtaXRlbS1mb250LWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRyYW5zaXRpb246ICR0aW1lbGluZS10cmFuc2l0aW9uO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAwcHggMHB4ICR0aW1lbGluZS1pdGVtLWZvbnQtY29sb3I7XG4gICAgICB0cmFuc2l0aW9uOiAkdGltZWxpbmUtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAudGltZWxpbmUtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGV4dGVuZCAlY2xlYXJmaXg7XG5cbiAgICAudGltZWxpbmUtaWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGltZWxpbmUtY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTIzcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDUwcHg7XG5cbiAgICAgIGltZyxcbiAgICAgIHN2ZyB7XG4gICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICB0b3A6IDE0cHg7XG4gICAgICB9XG4gICAgICBpIHtcbiAgICAgICAgbGVmdDogMThweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpbWVsaW5lLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgdHJhbnNpdGlvbjogJHRpbWVsaW5lLXRyYW5zaXRpb247XG4gICAgICB3aWR0aDogNDUlO1xuXG4gICAgICBAaWYgJHRpbWVsaW5lLWl0ZW0tY2FyZCA9PSB0cnVlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHRpbWVsaW5lLWl0ZW0tY2FyZC1iZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHRpbWVsaW5lLWl0ZW0tY2FyZC1yYWRpdXM7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkdGltZWxpbmUtaXRlbS1mb250LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjojMzMzYTQyO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhJywgc2Fucy1zZXJpZjtcbiAgICAgIH1cblxuICAgICAgLnRpbWVsaW5lLWNvbnRlbnQtdGl0bGUge1xuICAgICAgICBjb2xvcjojMzMzYTQyO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhIFNlbWlib2xkJywgc2Fucy1zZXJpZjtcbiAgICAgIH1cblxuICAgICAgLnRpbWVsaW5lLWNvbnRlbnQtbW9udGgge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIH1cblxuICAgICAgJi5yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gIC50aW1lbGluZSB7XG4gICAgbWFyZ2luOiAzMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDkwJTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC50aW1lbGluZS1pdGVtIHtcbiAgICAgIC50aW1lbGluZS1jb250ZW50IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogOTAlO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJi5yaWdodDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCAkdGltZWxpbmUtY29sb3I7XG4gICAgICAgICAgbGVmdDogMTAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50aW1lbGluZS1pY29uIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE1ldGVyXG4vLyAgMjQuIE9mZi1jYW52YXNcbi8vICAyNS4gT3JiaXRcbi8vICAyNi4gUGFnaW5hdGlvblxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcbi8vICAyOC4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDI5LiBSZXZlYWxcbi8vICAzMC4gU2xpZGVyXG4vLyAgMzEuIFN3aXRjaFxuLy8gIDMyLiBUYWJsZVxuLy8gIDMzLiBUYWJzXG4vLyAgMzQuIFRodW1ibmFpbFxuLy8gIDM1LiBUaXRsZSBCYXJcbi8vICAzNi4gVG9vbHRpcFxuLy8gIDM3LiBUb3AgQmFyXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogJGJsdWUtb2xkdHJhZGUsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNkZjQzNDYsXG4pO1xuJGxpZ2h0LWdyYXk6ICNmN2Y3Zjc7XG4kbWVkaXVtLWdyYXk6ICNlOGU4ZTg7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbiAgeHh4bGFyZ2U6IDE2ODBweFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UgeHh4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAzMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDEwcHgsXG4gIG1lZGl1bTogMTBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiBub25lO1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gMCAwO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiB3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6IHdoaXRlO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4xNWVtO1xuJGJhZGdlLW1pbndpZHRoOiAxLjVlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuN3JlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLXBhZGRpbmc6IDAuNzZyZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJHdoaXRlO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMTBweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4vLyAxOS4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjAuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMi4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcbiRtZW51LWl0ZW0tcGFkZGluZzogMC44NXJlbSAxLjM4cmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICRibGFjaztcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjhyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtYm9yZGVyOiAkbGlnaHQtZ3JheTtcblxuLy8gMjMuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNC4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplOiAxNi43cmVtO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogbm9uZTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDE7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMDtcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuMnM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgxNjgsIDE2OCwgMTY4LCAwLjUzKTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI4LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gMjkuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyAzMC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzEuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAzMi4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMy4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICRncmF5LW9sZHRyYWRlO1xuJHRhYi1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICR3aGl0ZTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheS1vbGR0cmFkZTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1wYWRkaW5nOiAwLjNyZW0gMXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAwLjVyZW07XG5cbi8vIDM0LiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNS4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkZGFyay1ncmF5LW9sZHRyYWRlO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC42NXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAzNi4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBub25lO1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM3LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAwIDAuNXJlbSAyLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRkYXJrLWdyYXktb2xkdHJhZGU7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuIiwiJGRhcmstZ3JheS1vbGR0cmFkZTogIzMzM2E0MjtcbiRsaWdodC1ncmF5LW9sZHRyYWRlOiAjZjlmYWZiO1xuJGdyYXktb2xkdHJhZGU6ICNmM2YzZjM7XG4kYmx1ZS1vbGR0cmFkZTogIzAwYWVlZjtcbiRyZWQtb2xkdHJhZGU6ICNkZjQzNDY7XG4vLyR5ZWxsb3ctb2xkdHJhZGU6ICNmZmFlMDA7XG4keWVsbG93LW9sZHRyYWRlOiAjZjdkOTYzO1xuJGdyZWVuLW9sZHRyYWRlOiBncmVlbjtcbiRiZWlnZS10ZWZhY3Q6ICNjNGFmODk7XG4kYmVpZ2Utc2hhZG93LXRlZmFjdDojYTk5ODc5O1xuXG5AaW1wb3J0ICcuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9zZXR0aW5ncyc7IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iXX0= */
