/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
@media (min-width: 1501px) {
  :root {
    --breakpoint: "xxl";
  }
}
@media (max-width: 1500px) and (min-width: 1201px) {
  :root {
    --breakpoint: "xl";
  }
}
@media (max-width: 1200px) and (min-width: 601px) {
  :root {
    --breakpoint: "md";
  }
}
@media (max-width: 600px) {
  :root {
    --breakpoint: "sm";
  }
}
html {
  --scrollBar: 0px;
}

body {
  font-size: 16px;
  line-height: 1.8;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  background-color: #f9f9f9;
  color: #55565a;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  height: 100dvh;
  min-width: 320px;
}
body:not(.body--padding-top-none) {
  padding-top: 160px;
}
body:has(.menu--open) {
  overflow: hidden;
  max-width: calc(100% - var(--scrollBar));
  position: relative;
}

main {
  outline: none;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: #55565a;
  text-transform: uppercase;
  line-height: 1;
}
h1:not(.banner__content-title):not(.header-inline__header):not(.icon-info__title), h2:not(.banner__content-title):not(.header-inline__header):not(.icon-info__title), h3:not(.banner__content-title):not(.header-inline__header):not(.icon-info__title), h4:not(.banner__content-title):not(.header-inline__header):not(.icon-info__title), h5:not(.banner__content-title):not(.header-inline__header):not(.icon-info__title), h6:not(.banner__content-title):not(.header-inline__header):not(.icon-info__title),
.h1:not(.banner__content-title):not(.header-inline__header):not(.icon-info__title), .h2:not(.banner__content-title):not(.header-inline__header):not(.icon-info__title), .h3:not(.banner__content-title):not(.header-inline__header):not(.icon-info__title), .h4:not(.banner__content-title):not(.header-inline__header):not(.icon-info__title), .h5:not(.banner__content-title):not(.header-inline__header):not(.icon-info__title), .h6:not(.banner__content-title):not(.header-inline__header):not(.icon-info__title) {
  margin-bottom: 1.25em;
}
h1.header-inline__header, h2.header-inline__header, h3.header-inline__header, h4.header-inline__header, h5.header-inline__header, h6.header-inline__header,
.h1.header-inline__header, .h2.header-inline__header, .h3.header-inline__header, .h4.header-inline__header, .h5.header-inline__header, .h6.header-inline__header {
  margin-bottom: 0;
}

h1, h2, h3, h4,
.h1, .h2, .h3, .h4 {
  font-weight: 400;
}

h5, h6, .h5, .h6 {
  font-weight: 500;
}

@media (min-width: 1921px) {
  h1,
  .h1 {
    font-size: 3rem;
    line-height: 1;
  }
}
@media (max-width: 1920px) and (min-width: 1420px) {
  h1,
  .h1 {
    font-size: calc(0.016 * 100vw + 1.08rem);
  }
}
@media (max-width: 1420px) and (min-width: 768px) {
  h1,
  .h1 {
    font-size: calc(0 * 100vw + 2.5rem);
  }
}
@media (max-width: 768px) and (min-width: 375px) {
  h1,
  .h1 {
    font-size: calc(0.0203562341 * 100vw + 1.5229007634rem);
  }
}
@media (max-width: 375px) {
  h1,
  .h1 {
    font-size: calc(0 * 100vw + 2rem);
  }
}

@media (min-width: 1921px) {
  h2,
  .h2 {
    font-size: 2.5rem;
    line-height: 1;
  }
}
@media (max-width: 1920px) and (min-width: 375px) {
  h2,
  .h2 {
    font-size: calc(0.0064724919 * 100vw + 1.7233009709rem);
  }
}
@media (max-width: 375px) {
  h2,
  .h2 {
    font-size: calc(0 * 100vw + 1.875rem);
  }
}

@media (min-width: 1921px) {
  h3,
  .h3 {
    font-size: 2.25rem;
    line-height: 1;
  }
}
@media (max-width: 1920px) and (min-width: 375px) {
  h3,
  .h3 {
    font-size: calc(0.0064724919 * 100vw + 1.4733009709rem);
  }
}
@media (max-width: 375px) {
  h3,
  .h3 {
    font-size: calc(0 * 100vw + 1.625rem);
  }
}

@media (min-width: 1921px) {
  h4,
  .h4 {
    font-size: 2rem;
    line-height: 1;
  }
}
@media (max-width: 1920px) and (min-width: 375px) {
  h4,
  .h4 {
    font-size: calc(0.0051779935 * 100vw + 1.3786407767rem);
  }
}
@media (max-width: 375px) {
  h4,
  .h4 {
    font-size: calc(0 * 100vw + 1.5rem);
  }
}

@media (min-width: 1921px) {
  h5,
  .h5 {
    font-size: 1.5rem;
    line-height: 1;
  }
}
@media (max-width: 1920px) and (min-width: 375px) {
  h5,
  .h5 {
    font-size: calc(0.0025889968 * 100vw + 1.1893203883rem);
  }
}
@media (max-width: 375px) {
  h5,
  .h5 {
    font-size: calc(0 * 100vw + 1.25rem);
  }
}

@media (min-width: 1921px) {
  h6,
  .h6 {
    font-size: 1.25rem;
    line-height: 1;
  }
}
@media (max-width: 1920px) and (min-width: 375px) {
  h6,
  .h6 {
    font-size: calc(0.0012944984 * 100vw + 1.0946601942rem);
  }
}
@media (max-width: 375px) {
  h6,
  .h6 {
    font-size: calc(0 * 100vw + 1.125rem);
  }
}

p, ul, ol {
  margin-bottom: 2em;
}

li {
  margin-bottom: 1em;
}

strong {
  font-weight: 600;
}

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

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

.main-container {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media (min-width: 601px) {
  .main-container {
    max-width: 1736px;
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media (max-width: 600px) {
  .main-container {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media (min-width: 601px) {
  .main-margin-top {
    margin-top: 180px;
  }
}
@media (max-width: 600px) {
  .main-margin-top {
    margin-top: 100px;
  }
}

@media (min-width: 601px) {
  .main-margin-bottom {
    margin-bottom: 180px;
  }
}
@media (max-width: 600px) {
  .main-margin-bottom {
    margin-bottom: 100px;
  }
}

.d-none {
  display: none;
}

.table {
  overflow-x: auto;
}
.table__wrapper {
  border: 1px solid rgba(85, 86, 90, 0.3);
  border-radius: 6px;
  padding-left: 40px;
  padding-right: 40px;
  position: relative;
  width: max-content;
}
@media (max-width: 1200px) {
  .table__wrapper {
    min-width: 100%;
  }
}
.table table {
  min-width: 100%;
}
.table thead::after,
.table tfoot::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  border-bottom: 1px solid rgba(85, 86, 90, 0.3);
}
.table tr:not(:last-child) {
  border-bottom: 1px solid rgba(85, 86, 90, 0.3);
}
.table th {
  color: rgba(85, 86, 90, 0.4);
  padding-top: 40px;
  padding-bottom: 25px;
}
.table td {
  padding-top: 40px;
  padding-bottom: 40px;
}
.table th,
.table td {
  font-weight: 500;
}
@media (min-width: 1201px) {
  .table th,
  .table td {
    font-size: 1.125rem;
    line-height: 1.6666666667;
  }
}
@media (max-width: 1200px) {
  .table th,
  .table td {
    font-size: 0.875rem;
    line-height: 1.2857142857;
  }
}
.table th:not(:first-child),
.table td:not(:first-child) {
  text-align: right;
  padding-left: 20px;
}
.table th:not(:last-child),
.table td:not(:last-child) {
  padding-right: 20px;
}

.clear-both {
  clear: both;
}

a {
  color: #0095d6;
}
a:not(:hover) {
  text-decoration: none;
}

@media (min-width: 601px) {
  .icon-new {
    font-size: 2.5rem;
    line-height: 1;
  }
}
@media (max-width: 600px) {
  .icon-new {
    font-size: 1.25rem;
    line-height: 1;
  }
}
.icon-new {
  font-weight: 400;
  padding: 0.475em 0.45em 1.175em;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 75%, 0 100%);
  text-transform: uppercase;
  display: inline-block;
  text-align: center;
  color: #0095d6;
}
.banner__content:not(.banner__content--black) .icon-new {
  background: #fff;
}
.banner__content--black .icon-new {
  background: #55565a;
}

.icon-new-card {
  padding: 0.875em 0.3125em 1.0625em;
  border-top: 1px solid;
  border-left: 1px solid;
  border-right: 1px solid;
  border-color: #c7c7c8;
  font-weight: 600;
  line-height: 1.159375;
  background: #fff;
  color: #55565a;
  text-transform: uppercase;
  display: inline-block;
  text-align: center;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 88%, 0 100%);
}

.special-offer-card {
  padding: 0.625em 1em 0.625em 0.8125em;
  border-top: 1px solid;
  border-left: 1px solid;
  border-bottom: 1px solid;
  border-color: #c7c7c8;
  font-weight: 600;
  line-height: 1.159375;
  background: #fff;
  color: #55565a;
  text-transform: uppercase;
  display: inline-block;
  text-align: center;
  clip-path: polygon(0 0, 100% 0, 96.2732919255% 50%, 100% 100%, 0 100%);
}

.header-inline__wrapper {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 30px;
  row-gap: 30px;
}
@media (min-width: 1501px) {
  .header-inline__wrapper {
    margin-bottom: 3.5885167464%;
  }
}
@media (max-width: 1500px) and (min-width: 601px) {
  .header-inline__wrapper {
    margin-bottom: 50px;
  }
}
@media (max-width: 1200px) {
  .header-inline__wrapper {
    justify-content: space-between;
  }
}
@media (max-width: 600px) {
  .header-inline__wrapper {
    margin-bottom: 40px;
  }
}
.header-inline__left {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 30px;
  row-gap: 30px;
}
@media (min-width: 1201px) {
  .header-inline__left {
    max-width: calc(100% - 640px);
  }
}
.header-inline__right-text {
  max-width: 560px;
}
@media (min-width: 1201px) {
  .header-inline__right-text {
    margin-left: auto;
  }
}

.link-arrow {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
}
.link-arrow__text {
  padding-top: 7px;
  padding-bottom: 7px;
  padding-left: 11px;
  padding-right: 16px;
  border-top: 2px solid;
  border-bottom: 2px solid;
  border-left: 2px solid;
  display: inline-block;
  color: #55565a;
  transition: 0.21s background-color, 0.21s color, 0.21s border-color;
}
@media (hover: hover) {
  .link-arrow__text:hover {
    background-color: #e63816;
    border-color: #e63816;
    color: #fff;
  }
}
.link-arrow__arrow {
  background-color: #e63816;
  display: inline-flex;
  position: relative;
  justify-content: center;
  align-items: center;
  min-width: 34px;
}
.link-arrow__arrow::before {
  content: "";
  display: inline-block;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 7px solid;
  position: absolute;
  z-index: 1;
  color: #fff;
  transition: 0.21s transform;
}
.link-arrow__arrow::after {
  content: "A";
  color: transparent;
  padding-top: 7px;
  padding-bottom: 7px;
  border-top: 2px solid;
  border-bottom: 2px solid;
  display: inline-block;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl92YXJpYWJsZXMuc2NzcyIsImFsbC5zY3NzIiwiX2Z1bmN0aW9ucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBNkNBO0FBS0E7QUFJQTtBQXNCQTtBQVVBO0FBdEZBO0FBNkNBO0FBS0E7QUFJQTtBQXNCQTtBQVVBO0FBdEZBO0FBNkNBO0FBS0E7QUFJQTtBQXNCQTtBQVVBO0FBdEZBO0FBNkNBO0FBS0E7QUFJQTtBQXNCQTtBQVVBO0FDaEZBO0VBQ0k7SUFDSTs7O0FBSVI7RUFDSTtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7O0FBS1I7RUFDSTs7O0FBR0o7RUFDSTtFQUNBLGFEbENlO0VDbUNmO0VBQ0E7RUFDQTtFQUNBLGtCRFJvQjtFQ1NwQixPRHJDUztFQ3VDVDtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUtSO0VBQ0k7OztBQUdKO0FBQUE7RUFFSSxPRGhFUztFQ2lFVDtFQUNBOztBQUVBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0VBQ0k7OztBQUlSO0FBQUE7RUFFSTs7O0FBR0o7RUFDSTs7O0FBTUE7RUFISjtBQUFBO0lDL0VJO0lBQ0E7OztBQTJFSTtFREdSO0FBQUE7SUNGWTs7O0FBREo7RURHUjtBQUFBO0lDRlk7OztBQURKO0VER1I7QUFBQTtJQ0ZZOzs7QUFHSjtFRERSO0FBQUE7SUNFWTs7OztBRGtDUjtFQUZKO0FBQUE7SUNqSEk7SUFDQTs7O0FBMkVJO0VEcUNSO0FBQUE7SUNwQ1k7OztBQUdKO0VEaUNSO0FBQUE7SUNoQ1k7Ozs7QURtRFI7RUFGSjtBQUFBO0lDbElJO0lBQ0E7OztBQTJFSTtFRHNEUjtBQUFBO0lDckRZOzs7QUFHSjtFRGtEUjtBQUFBO0lDakRZOzs7O0FEb0VSO0VBRko7QUFBQTtJQ25KSTtJQUNBOzs7QUEyRUk7RUR1RVI7QUFBQTtJQ3RFWTs7O0FBR0o7RURtRVI7QUFBQTtJQ2xFWTs7OztBRHNGUjtFQUZKO0FBQUE7SUNyS0k7SUFDQTs7O0FBMkVJO0VEeUZSO0FBQUE7SUN4Rlk7OztBQUdKO0VEcUZSO0FBQUE7SUNwRlk7Ozs7QUR1R1I7RUFGSjtBQUFBO0lDdExJO0lBQ0E7OztBQTJFSTtFRDBHUjtBQUFBO0lDekdZOzs7QUFHSjtFRHNHUjtBQUFBO0lDckdZOzs7O0FEc0haO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUtBO0VBQ0k7OztBQUtKO0VBQ0k7OztBQUtSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBTEo7SUFNUSxXRDVLUTtJQzZLUixjRGxMb0I7SUNtTHBCLGVEbkxvQjs7O0FDc0x4QjtFQVhKO0lBWVEsY0RwTG1CO0lDcUxuQixlRHJMbUI7Ozs7QUVwRHZCO0VENk9KO0lDNU9ROzs7QUFHSjtFRHlPSjtJQ3hPUTs7OztBQUtKO0VEdU9KO0lDdE9ROzs7QUFHSjtFRG1PSjtJQ2xPUTs7OztBRHNPUjtFQUNJOzs7QUFJSjtFQUNJOztBQUlBO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBOztBQUVBO0VBVko7SUFXUTs7O0FBSVI7RUFDSTs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0FBQUE7RUFFSTs7QUFFQTtFQUpKO0FBQUE7SUNsVEE7SUFDQTs7O0FEeVRJO0VBUko7QUFBQTtJQ2xUQTtJQUNBOzs7QUQ2VEk7QUFBQTtFQUNJO0VBQ0E7O0FBR0o7QUFBQTtFQUNJOzs7QUFLWjtFQUNJOzs7QUFHSjtFQUNJLE9EalVLOztBQ21VTDtFQUNJOzs7QUFLSjtFQURKO0lDclZJO0lBQ0E7OztBRHlWQTtFQUxKO0lDclZJO0lBQ0E7OztBRG9WSjtFQVNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9EdlZLOztBQ3lWTDtFQUNJLFlEeFZBOztBQzJWSjtFQUNJLFlEbFhLOzs7QUNzWGI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNENVdLO0VDNldMO0VBQ0E7RUFDQSxZRHhXSTtFQ3lXSixPRC9YUztFQ2dZVDtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUdBO0VBQ0E7RUFDQTtFQUNBLGNEOVhLO0VDK1hMO0VBQ0E7RUFDQSxZRDFYSTtFQzJYSixPRGpaUztFQ2taVDtFQUNBO0VBQ0E7RUFDQTs7O0FBT0E7RUFDSTtFQUVBO0VBRUE7RUFFQTtFQUNBOztBQUdBO0VBWEo7SUFZUTs7O0FBR0o7RUFmSjtJQWdCUTs7O0FBR0o7RUFuQko7SUFvQlE7OztBQUdKO0VBdkJKO0lBd0JROzs7QUFNUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFQSjtJQVFROzs7QUFPUjtFQUNJOztBQUVBO0VBSEo7SUFJUTs7OztBQU1aO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9EdmVLO0VDd2VMOztBQUVBO0VBQ0k7SUFDSSxrQkR2ZVY7SUN3ZVUsY0R4ZVY7SUN5ZVUsT0R4ZFI7OztBQytkSjtFQUNJLGtCRGpmRjtFQ2tmRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPRC9lSjtFQ2dmSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuJGZvbnQtc2l6ZS1iYXNlOiAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRsaW5lLWhlaWdodC1iYXNlOiAxLjg7XG4kZm9udC1zaXplLW1haW46IDE2O1xuJGNvbG9yLWJhc2U6ICM1NTU2NWE7XG4kYmFja2dyb3VuZC1iYXNlLWNvbG9yOiAjZjdmN2Y3O1xuXG4kcHJvZHVjdC1ncmF5LWNvbG9yOiAjZTZlNmU2O1xuXG4kcmVkOiAjZTYzODE2O1xuXG5cbiRlcnJvcjogJHJlZDtcbiRzdWNjZXNzOiAjMjhhNzQ1O1xuXG5cbiRmb3JtLWJvcmRlci1yYWRpdXM6IDMycHg7XG5cbiRncmF5LTE6ICM2NTY1NjU7XG4kZ3JheS0yOiAjYzdjN2M4O1xuJGdyYXktMzogIzlkOWQ5ZDtcbiRncmF5LTQ6ICNhNmE3YTk7XG5cblxuJGJsdWUtMTogIzAwOTVkNjtcblxuJHdoaXRlOiAjZmZmO1xuXG5cblxuXG5cbiRiYWNrZ3JvdW5kLWJhc2UtY29sb3I6ICNmOWY5Zjk7XG4vLyRibHVlLTE6ICMwMDc3QUI7XG4vLyRncmF5LTQ6ICM2QzZENkU7XG4vLyRyZWQ6ICNDRjMyMTQ7XG5cbiRjb250cmFzdC1ibHVlLTE6ICMwMDc3QUI7XG4kY29udHJhc3QtZ3JheS0zOiAjNkU2RTZFO1xuJGNvbnRyYXN0LWdyYXktNDogIzZDNkQ2RTtcbiRjb250cmFzdC1yZWQ6ICNDRjMyMTQ7XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCxcbmlubGluZS1mbGV4ICFkZWZhdWx0O1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4kbWFpbi1jb250YWluZXItbWF4LXdpZGh0OiAxNjcycHg7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiRtZWRpYS14eGw6IDE5MjBweDsgLy8gZnVsbCBoZFxuJG1lZGlhLXhsOiAxNTAwcHg7IC8vIGxhcHRvcCA8XG4kbWVkaWEtbWQ6IDEyMDBweDsgLy8gdGFibGV0IDxcbiRtZWRpYS1zbTogNjAwcHg7IC8vIG1vYmlsZSA8XG5cbiRmb250LW1lZGlhLXh4bDogMTkyMHB4OyAvLyBmdWxsIGhkXG4kZm9udC1tZWRpYS14bDogMTQyMHB4OyAvLyBsYXB0b3AgPFxuJGZvbnQtbWVkaWEtbWQ6IDc2OHB4OyAvLyB0YWJsZXQgPFxuJGZvbnQtbWVkaWEtc206IDM3NXB4OyAvLyBtb2JpbGUgPFxuXG4kY29udGFpbmVyLXBhZGRpbmcteHhsLWwtcjogMzJweDtcbiRjb250YWluZXItcGFkZGluZy14bC1sLXI6IDMycHg7XG4kY29udGFpbmVyLXBhZGRpbmctbWQtbC1yOiAzMnB4O1xuJGNvbnRhaW5lci1wYWRkaW5nLXNtLWwtcjogMTVweDtcblxuJGNvbnRhaW5lci14eGw6ICRtYWluLWNvbnRhaW5lci1tYXgtd2lkaHQgKyAkY29udGFpbmVyLXBhZGRpbmcteHhsLWwtciAqIDI7XG4kY29udGFpbmVyLXhsOiAkbWVkaWEteGwgLSAkY29udGFpbmVyLXBhZGRpbmcteGwtbC1yICogMjtcbiRjb250YWluZXItbWQ6ICRtZWRpYS1tZCAtICRjb250YWluZXItcGFkZGluZy1tZC1sLXIgKiAyO1xuJGNvbnRhaW5lci1zbTogJG1lZGlhLXNtIC0gJGNvbnRhaW5lci1wYWRkaW5nLXNtLWwtciAqIDI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi8vINCU0LDQvdC90YvQtSDQtNC70Y8g0LHQu9C+0LrQsCDQs9Cw0LvQtdGA0LXQuVxuXG4kZ2FsbGVyeU5hdkJ1dHRvbldpZHRoOiAxNjBweDtcbiRnYWxsZXJ5SXRlbVBhZGRpbmc6IDIycHg7XG4kZ2FsbGVyeVdpZHRoQWJzOiAxNDY4cHg7XG4kZ2FsbGVyeVdpZHRoSW1nSG9yOiA3MTJweDtcbiRnYWxsZXJ5V2lkdGhJbWdWZXI6IDMzNHB4O1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuIiwiQGltcG9ydCBcImJvb3RzdHJhcC1mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAtdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiZm9udC1zdHlsZVwiO1xuXG5AbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLXhsICsgMXB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWJyZWFrcG9pbnQ6IFwieHhsXCI7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXhsKSBhbmQgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWJyZWFrcG9pbnQ6IFwieGxcIjtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtc20gKyAxcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tYnJlYWtwb2ludDogXCJtZFwiO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1zbSkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1icmVha3BvaW50OiBcInNtXCI7XG4gICAgfVxufVxuXG5cbmh0bWwge1xuICAgIC0tc2Nyb2xsQmFyOiAwcHg7XG59XG5cbmJvZHkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tYWluICogMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bztcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWJhc2UtY29sb3I7XG4gICAgY29sb3I6ICRjb2xvci1iYXNlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIGhlaWdodDogMTAwZHZoO1xuXG4gICAgbWluLXdpZHRoOiAzMjBweDtcblxuICAgICY6bm90KC5ib2R5LS1wYWRkaW5nLXRvcC1ub25lKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNjBweDtcbiAgICB9XG5cbiAgICAmOmhhcygubWVudS0tb3Blbikge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNjcm9sbEJhcikpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG59XG5cbm1haW4ge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgICBjb2xvcjogJGNvbG9yLWJhc2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICY6bm90KC5iYW5uZXJfX2NvbnRlbnQtdGl0bGUpOm5vdCguaGVhZGVyLWlubGluZV9faGVhZGVyKTpub3QoLmljb24taW5mb19fdGl0bGUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogKDYwLzQ4ICogMWVtKTtcbiAgICB9XG5cbiAgICAmLmhlYWRlci1pbmxpbmVfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG5oMSwgaDIsIGgzLCBoNCxcbi5oMSwgLmgyLCAuaDMsIC5oNCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuaDUsIGg2LCAuaDUsIC5oNiB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDEsXG4uaDEge1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRmb250LW1lZGlhLXh4bCArIDFweCkge1xuICAgICAgICBAaW5jbHVkZSBGU0woNDgsIDQ4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYV9mb250X3NpemVfd2lkdGhfX3YyKFxuICAgICAgICAgICAgICAgICAgICAkZm9udC1tZWRpYS14eGwsXG4gICAgICAgICAgICAgICAgICAgICRmb250LW1lZGlhLXhsLFxuICAgICAgICAgICAgICAgICAgICA0OCxcbiAgICAgICAgICAgICAgICAgICAgNDAsXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWFfZm9udF9zaXplX3dpZHRoX192MihcbiAgICAgICAgICAgICAgICAgICAgJGZvbnQtbWVkaWEteGwsXG4gICAgICAgICAgICAgICAgICAgICRmb250LW1lZGlhLW1kLFxuICAgICAgICAgICAgICAgICAgICA0MCxcbiAgICAgICAgICAgICAgICAgICAgNDAsXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWFfZm9udF9zaXplX3dpZHRoX192MihcbiAgICAgICAgICAgICAgICAgICAgJGZvbnQtbWVkaWEtbWQsXG4gICAgICAgICAgICAgICAgICAgICRmb250LW1lZGlhLXNtLFxuICAgICAgICAgICAgICAgICAgICA0MCxcbiAgICAgICAgICAgICAgICAgICAgMzIsXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWFfZm9udF9zaXplX3dpZHRoX192MigkZm9udC1tZWRpYS1zbSwgMCwgMzIsIDMyLCAwKTtcbn1cblxuaDIsXG4uaDIge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZm9udC1tZWRpYS14eGwgKyAxcHgpIHtcbiAgICAgICAgQGluY2x1ZGUgRlNMKDQwLCA0MCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWFfZm9udF9zaXplX3dpZHRoX192MihcbiAgICAgICAgICAgICAgICAgICAgJGZvbnQtbWVkaWEteHhsLFxuICAgICAgICAgICAgICAgICAgICAkZm9udC1tZWRpYS1zbSxcbiAgICAgICAgICAgICAgICAgICAgNDAsXG4gICAgICAgICAgICAgICAgICAgIDMwLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhX2ZvbnRfc2l6ZV93aWR0aF9fdjIoJGZvbnQtbWVkaWEtc20sIDAsIDMwLCAzMCwgMCk7XG59XG5cbmgzLFxuLmgzIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGZvbnQtbWVkaWEteHhsICsgMXB4KSB7XG4gICAgICAgIEBpbmNsdWRlIEZTTCgzNiwgMzYpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhX2ZvbnRfc2l6ZV93aWR0aF9fdjIoXG4gICAgICAgICAgICAgICAgICAgICRmb250LW1lZGlhLXh4bCxcbiAgICAgICAgICAgICAgICAgICAgJGZvbnQtbWVkaWEtc20sXG4gICAgICAgICAgICAgICAgICAgIDM2LFxuICAgICAgICAgICAgICAgICAgICAyNixcbiAgICAgICAgICAgICAgICAgICAgMVxuICAgICk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYV9mb250X3NpemVfd2lkdGhfX3YyKCRmb250LW1lZGlhLXNtLCAwLCAyNiwgMjYsIDApO1xufVxuXG5oNCxcbi5oNCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRmb250LW1lZGlhLXh4bCArIDFweCkge1xuICAgICAgICBAaW5jbHVkZSBGU0woMzIsIDMyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYV9mb250X3NpemVfd2lkdGhfX3YyKFxuICAgICAgICAgICAgICAgICAgICAkZm9udC1tZWRpYS14eGwsXG4gICAgICAgICAgICAgICAgICAgICRmb250LW1lZGlhLXNtLFxuICAgICAgICAgICAgICAgICAgICAzMixcbiAgICAgICAgICAgICAgICAgICAgMjQsXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWFfZm9udF9zaXplX3dpZHRoX192MigkZm9udC1tZWRpYS1zbSwgMCwgMjQsIDI0LCAwKTtcbn1cblxuXG5oNSxcbi5oNSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRmb250LW1lZGlhLXh4bCArIDFweCkge1xuICAgICAgICBAaW5jbHVkZSBGU0woMjQsIDI0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYV9mb250X3NpemVfd2lkdGhfX3YyKFxuICAgICAgICAgICAgICAgICAgICAkZm9udC1tZWRpYS14eGwsXG4gICAgICAgICAgICAgICAgICAgICRmb250LW1lZGlhLXNtLFxuICAgICAgICAgICAgICAgICAgICAyNCxcbiAgICAgICAgICAgICAgICAgICAgMjAsXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWFfZm9udF9zaXplX3dpZHRoX192MigkZm9udC1tZWRpYS1zbSwgMCwgMjAsIDIwLCAwKTtcbn1cblxuaDYsXG4uaDYge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZm9udC1tZWRpYS14eGwgKyAxcHgpIHtcbiAgICAgICAgQGluY2x1ZGUgRlNMKDIwLCAyMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWFfZm9udF9zaXplX3dpZHRoX192MihcbiAgICAgICAgICAgICAgICAgICAgJGZvbnQtbWVkaWEteHhsLFxuICAgICAgICAgICAgICAgICAgICAkZm9udC1tZWRpYS1zbSxcbiAgICAgICAgICAgICAgICAgICAgMjAsXG4gICAgICAgICAgICAgICAgICAgIDE4LFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhX2ZvbnRfc2l6ZV93aWR0aF9fdjIoJGZvbnQtbWVkaWEtc20sIDAsIDE4LCAxOCwgMCk7XG59XG5cbnAsIHVsLCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG5saSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cblxuLmpzIHtcbiAgICAubm8tanMge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubm8tanMge1xuICAgIC5vbi1qcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLm1haW4tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLXNtICsgMXB4KSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci14eGw7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLXh4bC1sLXI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy14eGwtbC1yO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtc20pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctc20tbC1yO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctc20tbC1yO1xuICAgIH1cbn1cblxuLm1haW4tbWFyZ2luLXRvcCB7XG4gICAgQGluY2x1ZGUgbWFyZ2luLXRvcCgpO1xufVxuXG4ubWFpbi1tYXJnaW4tYm90dG9tIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4tYm90dG9tKCk7XG59XG5cbi5kLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLnRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgLy8gLnRhYmxlX193cmFwcGVyXG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkY29sb3ItYmFzZSwgMC4zKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLW1kKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0YWJsZSB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICB0aGVhZDo6YWZ0ZXIsXG4gICAgdGZvb3Q6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkY29sb3ItYmFzZSwgMC4zKTtcbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkY29sb3ItYmFzZSwgMC4zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRoIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJGNvbG9yLWJhc2UsIDAuNCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1tZCArIDFweCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgRlNMKDE4LCAzMCk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLW1kKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBGU0woMTQsIDE4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNsZWFyLWJvdGgge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG5hIHtcbiAgICBjb2xvcjogJGJsdWUtMTtcblxuICAgICY6bm90KDpob3Zlcikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4uaWNvbi1uZXcge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtc20gKyAxcHgpIHtcbiAgICAgICAgQGluY2x1ZGUgRlNMKDQwLCA0MCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1zbSkge1xuICAgICAgICBAaW5jbHVkZSBGU0woMjAsIDIwKTtcbiAgICB9XG5cbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmc6ICgxOS80MCAqIDFlbSkgKDE4LzQwICogMWVtKSAoNDcvNDAgKiAxZW0pO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCA1MCUgNzUlLCAwIDEwMCUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJGJsdWUtMTtcblxuICAgIC5iYW5uZXJfX2NvbnRlbnQ6bm90KC5iYW5uZXJfX2NvbnRlbnQtLWJsYWNrKSAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cblxuICAgIC5iYW5uZXJfX2NvbnRlbnQtLWJsYWNrICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmFzZTtcbiAgICB9XG59XG5cbi5pY29uLW5ldy1jYXJkIHtcbiAgICBwYWRkaW5nOiAoMTQvMTYgKiAxZW0pICg1LzE2ICogMWVtKSAoMTcvMTYgKiAxZW0pO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXktMjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAoMTguNTUvMTYpO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGNvbG9yLWJhc2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCA1MCUgKDEwMCUtNi81MCoxMDAlKSwgMCAxMDAlKTtcbn1cblxuLnNwZWNpYWwtb2ZmZXItY2FyZCB7XG4gICAgcGFkZGluZzogKDEwLzE2ICogMWVtKSAoMTYvMTYgKiAxZW0pICgxMC8xNiAqIDFlbSkgKDEzLzE2ICogMWVtKTtcblxuXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXktMjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAoMTguNTUvMTYpO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGNvbG9yLWJhc2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgKDEwMCUtNi8xNjEqMTAwJSkgNTAlLCAxMDAlIDEwMCUsIDAgMTAwJSk7XG59XG5cbi5oZWFkZXItaW5saW5lIHtcblxuICAgIC8vIC5oZWFkZXItaW5saW5lX193cmFwcGVyXG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBjb2x1bW4tZ2FwOiAzMHB4O1xuICAgICAgICByb3ctZ2FwOiAzMHB4O1xuXG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS14bCArIDFweCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogKDYwcHgvJG1haW4tY29udGFpbmVyLW1heC13aWRodCAqIDEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS14bCkgYW5kIChtaW4td2lkdGg6ICRtZWRpYS1zbSArIDFweCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtc20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuaGVhZGVyLWlubGluZV9fbGVmdFxuXG4gICAgJl9fbGVmdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgY29sdW1uLWdhcDogMzBweDtcbiAgICAgICAgcm93LWdhcDogMzBweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDY0MHB4KTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gLmhlYWRlci1pbmxpbmVfX3JpZ2h0LXRleHRcblxuICAgICZfX3JpZ2h0LXRleHQge1xuICAgICAgICBtYXgtd2lkdGg6IDU2MHB4O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtbWQgKyAxcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi5saW5rLWFycm93IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAvLyAubGluay1hcnJvd19fdGV4dFxuXG4gICAgJl9fdGV4dCB7XG5cbiAgICAgICAgcGFkZGluZy10b3A6IDdweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJhc2U7XG4gICAgICAgIHRyYW5zaXRpb246IC4yMXMgYmFja2dyb3VuZC1jb2xvciwgLjIxcyBjb2xvciwgLjIxcyBib3JkZXItY29sb3I7XG5cbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAubGluay1hcnJvd19fYXJyb3dcblxuICAgICZfX2Fycm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMzRweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4yMXMgdHJhbnNmb3JtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJBXCI7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuLy8g0J/QtdGA0LXQstC+0LTQuNGC0Ywg0YDQsNC30LzQtdGAINC40Lcg0L/QuNC60YHQtdC70LXQuSDQsiByZW0g0L7RgtC90L7RgdC40YLQtdC70YzQvdC+INCx0LDQt9C+0LLQvtCz0L4g0YDQsNGJ0LzQtdGA0LAg0YjRgNC40YTRgtC+0LIg0LIg0LHRgNCw0YPQt9C10YDQtVxuQGZ1bmN0aW9uIHJlbUZTKCRmb250LXNpemUpIHtcbiAgICAkZm9udC1zaXplLXB4OiAkZm9udC1zaXplICogMXB4O1xuICAgICRmb250LXNpemUtbWFpbi1weDogJGZvbnQtc2l6ZS1tYWluICogMXB4O1xuICAgIEByZXR1cm4gKCRmb250LXNpemUtcHgvJGZvbnQtc2l6ZS1tYWluLXB4KSAqIDFyZW07XG59XG5cbi8vINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINGA0LDQt9C80LXRgNGLINGI0YDQuNGE0YLQsCDQuCDQstGL0YHQvtGC0Ysg0YjRgNC40YTRgtCwXG4vLyBAaW5jbHVkZSBGU0woMjAsIDMyKTtcbkBtaXhpbiBGU0woJGZvbnQtc2l6ZSwgJGZvbnQtbGluZS1oZWlnaHQpIHtcbiAgICBmb250LXNpemU6IHJlbUZTKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAoJGZvbnQtbGluZS1oZWlnaHQvJGZvbnQtc2l6ZSk7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtc20gKyAxcHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTgwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1zbSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICB9XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEtc20gKyAxcHgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTgwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1zbSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICB9XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wLWJvdHRvbSgpIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4tdG9wKCk7XG4gICAgQGluY2x1ZGUgbWFyZ2luLWJvdHRvbSgpO1xufVxuXG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgICBAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSBcIm51bWJlclwiIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xuICAgICAgICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRudW1iZXI7XG59XG5cbkBmdW5jdGlvbiBjYWxjRmx1aWRGb250U2l6ZSgkdy1tYXgsICR3LW1pbiwgJGYtbWF4LCAkZi1taW4sICR1bml0czogcHgpIHtcbiAgICAkZi1taW46IHN0cmlwLXVuaXQoJGYtbWluKTtcbiAgICAkZi1tYXg6IHN0cmlwLXVuaXQoJGYtbWF4KTtcbiAgICAkdy1taW46IHN0cmlwLXVuaXQoJHctbWluKTtcbiAgICAkdy1tYXg6IHN0cmlwLXVuaXQoJHctbWF4KTtcblxuICAgICRrOiAoJGYtbWF4IC0gJGYtbWluKS8gKCR3LW1heCAtICR3LW1pbik7XG4gICAgJGI6ICRmLW1pbiAtICRrICogJHctbWluO1xuXG4gICAgJGI6ICRiICsgJHVuaXRzO1xuXG4gICAgQHJldHVybiBjYWxjKCN7JGt9ICogMTAwdncgKyAjeyRifSk7XG59XG5cbi8vXG5cbkBtaXhpbiBtZWRpYV9mb250X3NpemVfd2lkdGhfX3YyKFxuICAgICRtZWRpYV9tYXgsXG4gICAgJG1lZGlhX21pbixcbiAgICAkZm9udF9uYW1lX21heCxcbiAgICAkZm9udF9uYW1lX21pbixcbiAgICAkaXNfbWVkaWFfbWluXG4pIHtcbiAgICAkbWVkaWFfbWF4OiBzdHJpcC11bml0KCRtZWRpYV9tYXgpO1xuICAgICRtZWRpYV9taW46IHN0cmlwLXVuaXQoJG1lZGlhX21pbik7XG4gICAgJGZvbnRfbmFtZV9tYXg6IHN0cmlwLXVuaXQoJGZvbnRfbmFtZV9tYXgpO1xuICAgICRmb250X25hbWVfbWluOiBzdHJpcC11bml0KCRmb250X25hbWVfbWluKTtcblxuICAgICRrOiAoJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX21pbikvICgkbWVkaWFfbWF4IC0gJG1lZGlhX21pbik7XG4gICAgJGI6ICRmb250X25hbWVfbWluIC0gJGsgKiAkbWVkaWFfbWluO1xuXG4gICAgJGI6ICRiIC8gJGZvbnQtc2l6ZS1tYWluICogMXJlbTtcblxuICAgICRtZWRpYV9tYXhfcHg6ICRtZWRpYV9tYXggKiAxcHg7XG5cbiAgICBAaWYgJGlzX21lZGlhX21pbiA9PSAxIHtcbiAgICAgICAgJG1lZGlhX21pbl9weDogJG1lZGlhX21pbiAqIDFweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhX21heF9weCkgYW5kIChtaW4td2lkdGg6ICRtZWRpYV9taW5fcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRrfSAqIDEwMHZ3ICsgI3skYn0pO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWFfbWF4X3B4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGNhbGMoI3ska30gKiAxMDB2dyArICN7JGJ9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQGluY2x1ZGUgbWVkaWFfZm9udF9zaXplX3dpZHRoKDkwMCwgMzIwLCA4MCwgNTgsIDApO1xuQG1peGluIG1lZGlhX2ZvbnRfc2l6ZV93aWR0aChcbiAgICAkbWVkaWFfbWF4LFxuICAgICRtZWRpYV9taW4sXG4gICAgJGZvbnRfbmFtZV9tYXgsXG4gICAgJGZvbnRfbmFtZV9taW4sXG4gICAgJGlzX21pbl9tZWRpYVxuKSB7XG4gICAgJHJhem46ICRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9taW47XG5cbiAgICBAZm9yICRmb250X25hbWVfaSBmcm9tIDEgdGhyb3VnaCAkcmF6biB7XG4gICAgICAgICRtZWRpYTogJG1lZGlhX21heC8kZm9udF9uYW1lX21heDtcblxuICAgICAgICAkbWVkaWFfY29lZjogKCRtZWRpYV9tYXggLSAkbWVkaWFfbWluKSAvXG4gICAgICAgICAgICAoJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX21pbik7XG5cbiAgICAgICAgQGlmICRpc19taW5fbWVkaWEgPT0gMSB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogKCRtZWRpYV9tYXggLSAoKCRmb250X25hbWVfaSAtIDEpICogJG1lZGlhX2NvZWYpKSAqIDFweCkgYW5kIChtaW4td2lkdGg6ICRtZWRpYV9taW4gKiAxcHgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICgoJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX2kpIC8gJGZvbnQtc2l6ZS1tYWluKSAqXG4gICAgICAgICAgICAgICAgICAgIDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJGZvbnRfbWF4X21lZGlhOiAkbWVkaWFfbWF4IC1cbiAgICAgICAgICAgICAgICBmbG9vcigoJGZvbnRfbmFtZV9pIC0gMSkgKiAkbWVkaWFfY29lZikgKlxuICAgICAgICAgICAgICAgIDFweDtcblxuICAgICAgICAgICAgJGZvbnRfbWluX21lZGlhOiAkbWVkaWFfbWF4IC1cbiAgICAgICAgICAgICAgICBmbG9vcigoJGZvbnRfbmFtZV9pKSAqICRtZWRpYV9jb2VmKSAqXG4gICAgICAgICAgICAgICAgMXB4O1xuXG4gICAgICAgICAgICBAaWYgJGZvbnRfbWluX21lZGlhID4gJG1lZGlhX21pbiB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRmb250X21heF9tZWRpYSkgYW5kIChtaW4td2lkdGg6ICgkZm9udF9taW5fbWVkaWEgKyAxcHgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkZm9udF9uYW1lX21heCAtICRmb250X25hbWVfaSkgLyAkZm9udC1zaXplLW1haW5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgKiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZm9udF9tYXhfbWVkaWEpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9pKSAvICRmb250LXNpemUtbWFpblxuICAgICAgICAgICAgICAgICAgICAgICAgKSAqIDFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBAaW5jbHVkZSBtZWRpYV9mb250X3NpemVfd2lkdGgoOTAwLCAzMjAsIDgwLCA1OCwgMCk7XG4vLyBAbWl4aW4gbWVkaWFfZm9udF9zaXplX3dpZHRoKFxuLy8gICAgICRtZWRpYV9tYXgsXG4vLyAgICAgJG1lZGlhX21pbixcbi8vICAgICAkZm9udF9uYW1lX21heCxcbi8vICAgICAkZm9udF9uYW1lX21pbixcbi8vICAgICAkaXNfbWluX21lZGlhXG4vLyApIHtcbi8vICAgICAkcmF6bjogJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX21pbjtcblxuLy8gICAgIEBmb3IgJGZvbnRfbmFtZV9pIGZyb20gMSB0aHJvdWdoICRyYXpuIHtcbi8vICAgICAgICAgJG1lZGlhOiAkbWVkaWFfbWF4LyRmb250X25hbWVfbWF4O1xuXG4vLyAgICAgICAgICRtZWRpYV9jb2VmOiAoJG1lZGlhX21heCAtICRtZWRpYV9taW4pIC9cbi8vICAgICAgICAgICAgICgkZm9udF9uYW1lX21heCAtICRmb250X25hbWVfbWluKTtcblxuLy8gICAgICAgICBAaWYgJGlzX21pbl9tZWRpYSA9PSAxIHtcbi8vICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAoJG1lZGlhX21heCAtICgoJGZvbnRfbmFtZV9pIC0gMSkgKiAkbWVkaWFfY29lZikpICogMXB4KSBhbmQgKG1pbi13aWR0aDogJG1lZGlhX21pbiAqIDFweCkge1xuLy8gICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCgkZm9udF9uYW1lX21heCAtICRmb250X25hbWVfaSkgLyAkZm9udC1zaXplLW1haW4pICpcbi8vICAgICAgICAgICAgICAgICAgICAgMXJlbTtcbi8vICAgICAgICAgICAgIH1cbi8vICAgICAgICAgfSBAZWxzZSB7XG4vLyAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogKCRtZWRpYV9tYXggLSAoKCRmb250X25hbWVfaSAtIDEpICogJG1lZGlhX2NvZWYpKSAqIDFweCkge1xuLy8gICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCgkZm9udF9uYW1lX21heCAtICRmb250X25hbWVfaSkgLyAkZm9udC1zaXplLW1haW4pICpcbi8vICAgICAgICAgICAgICAgICAgICAgMXJlbTtcbi8vICAgICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cblxuLy8gQGluY2x1ZGUgbWVkaWFfZm9udF9zaXplX2hlaWdodCg5MDAsIDMyMCwgODAsIDU4LCAwKTtcbkBtaXhpbiBtZWRpYV9mb250X3NpemVfaGVpZ2h0KFxuICAgICRtZWRpYV9tYXgsXG4gICAgJG1lZGlhX21pbixcbiAgICAkZm9udF9zaXplX21heCxcbiAgICAkZm9udF9zaXplX21pbixcbiAgICAkaXNfbWluX21lZGlhXG4pIHtcbiAgICAkcmF6bjogJGZvbnRfc2l6ZV9tYXggLSAkZm9udF9zaXplX21pbjtcblxuICAgIEBmb3IgJGZvbnRfc2l6ZV9pIGZyb20gMSB0aHJvdWdoICRyYXpuIHtcbiAgICAgICAgJG1lZGlhOiAkbWVkaWFfbWF4LyRmb250X3NpemVfbWF4O1xuXG4gICAgICAgICRtZWRpYV9jb2VmOiAoJG1lZGlhX21heCAtICRtZWRpYV9taW4pIC9cbiAgICAgICAgICAgICgkZm9udF9zaXplX21heCAtICRmb250X3NpemVfbWluKTtcblxuICAgICAgICBAaWYgJGlzX21pbl9tZWRpYSA9PSAxIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LWhlaWdodDogKCRtZWRpYV9tYXggLSAoKCRmb250X3NpemVfaSAtIDEpICogJG1lZGlhX2NvZWYpKSAqIDFweCkgYW5kIChtaW4taGVpZ2h0OiAkbWVkaWFfbWluICogMXB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoKCRmb250X3NpemVfbWF4IC0gJGZvbnRfbmFtZV9pKSAvICRmb250LXNpemUtbWFpbikgKlxuICAgICAgICAgICAgICAgICAgICAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LWhlaWdodDogKCRtZWRpYV9tYXggLSAoKCRmb250X3NpemVfaSAtIDEpICogJG1lZGlhX2NvZWYpKSAqIDFweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCgkZm9udF9zaXplX21heCAtICRmb250X3NpemVfaSkgLyAkZm9udC1zaXplLW1haW4pICpcbiAgICAgICAgICAgICAgICAgICAgMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtZWRpYS1icmVha3BvaW50cykge1xuICAgICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAgIEBpZiAkbWluIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIHNsaWNrRG90cygpIHtcbiAgICAuc2xpY2stZG90cyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICgkbWVkaWEteGwrMSkpIHtcbiAgICAgICAgICAgIGJvdHRvbTogNjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEteGwpIGFuZCAobWluLXdpZHRoOiAoJG1lZGlhLW1kKzEpKSB7XG4gICAgICAgICAgICBib3R0b206IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLW1kKSBhbmQgKG1pbi13aWR0aDogKCRtZWRpYS1zbSsxKSkge1xuICAgICAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1zbSkge1xuICAgICAgICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNy41cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuNXB4O1xuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4yMXMgYmFja2dyb3VuZC1jb2xvciwgMC4yMXMgd2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIDAuMjFzIGhlaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoLnNsaWNrLWFjdGl2ZSkgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gc2xpY2tCaWdBcnJvd3MoKSB7XG4gICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgIGhlaWdodDogNjVweDtcblxuICAgICAgICAmLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS14eGwgKyAxcHgpIHtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS14eGwpIGFuZCAobWluLXdpZHRoOiAkbWVkaWEteGwgKyAxcHgpIHtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS14bCkge1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zbGljay1uZXh0IHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEteHhsICsgMXB4KSB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEteHhsKSBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXhsICsgMXB4KSB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEteGwpIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLy8g0JLQvtC30LLRgNCw0YnQsNC10YIgQ1NTLdCy0YvRgNCw0LbQtdC90LjQtSDQstC40LTQsFxuLy8vIG1pbihjYWxjKCgxMDB2dyAtIGNvbnRhaW5lciAtIG5hdiAtIGl0ZW1zIC0gc2Nyb2xsYmFyKSAqICh3aWR0aFggLyB0b3RhbFdpZHRoKSksIHdpZHRoWClcbkBmdW5jdGlvbiBmbHVpZC1tYXgoJHdpZHRoWHB4KSB7XG4gICAgJHVuaXRsZXNzWDogJHdpZHRoWHB4ICAgICAgICAgIC8gMXB4O1xuICAgICR1bml0bGVzc1RvdGFsOiAkZ2FsbGVyeVdpZHRoQWJzICAgLyAxcHg7XG5cbiAgICAvLyDQktGL0LHQuNGA0LDQtdC8INC90YPQttC90YPRjiDRhNGD0L3QutGG0LjRjjog0LXRgdC70Lgg0L7RgtGA0LjRhtCw0YLQtdC70YzQvdC+0LUg4oCUIG1heCwg0LjQvdCw0YfQtSBtaW5cbiAgICAkZm46IGlmKCR1bml0bGVzc1ggPCAwLCBcIm1heFwiLCBcIm1pblwiKTtcblxuICAgIEByZXR1cm4gdW5xdW90ZShcbiAgICAgICAgICAgICAgICAgICAgXCIjeyRmbn0oY2FsYygoMTAwdncgLSAjeyRjb250YWluZXItcGFkZGluZy14eGwtbC1yICogMn0gLSAjeyRnYWxsZXJ5TmF2QnV0dG9uV2lkdGh9IC0gI3skZ2FsbGVyeUl0ZW1QYWRkaW5nICogMn0gLSB2YXIoLS1zY3JvbGxCYXIpKSAqICgjeyR1bml0bGVzc1h9IC8gI3skdW5pdGxlc3NUb3RhbH0pKSwgI3skd2lkdGhYcHh9KVwiXG4gICAgKTtcblxufVxuIl0sImZpbGUiOiJhbGwuY3NzIn0= */
