/*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-13.use[2]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[4]!./assets/linko/app.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
     * On definie les variables à ce niveau afin que les variables qui derive de ces valeurs soit ajusté.
     * Example : $wbu-h1-font-size est definie ici, les derivées $wbu-h1-font-size-md, $wbu-h1-font-size-sm vont etre
     * egalement surcharger.
     */
/**
 * On injecte toutes les variables directement dans ce fichier.
*/
/*------------------------------------
  Wbu-Atomique variables
------------------------------------*/
/*------------------------------------
  COLORS
------------------------------------*/
/*------------------------------------
  BORDURES
------------------------------------*/
/*------------------------------------
  TYPOGRAPHY
 il ya une erreur de logique dans la definition des sous taille de police.
 elles ne sont pas proportionnelle à la taille parente.
------------------------------------*/
/* */
/* Page-header-bg */
/* Permet de surcharger les variables bootstrap */
/*------------------------------------
  Wbu-Atomique variables
------------------------------------*/
/*------------------------------------
  COLORS
------------------------------------*/
/*------------------------------------
  BORDURES
------------------------------------*/
/*------------------------------------
  TYPOGRAPHY
 il ya une erreur de logique dans la definition des sous taille de police.
 elles ne sont pas proportionnelle à la taille parente.
------------------------------------*/
/* */
/* Page-header-bg */
/* Permet de surcharger les variables bootstrap */
/**
 * version 1 : Juin 2023
 * pour voir les stats d'utilisation en fonction de la taille des ecrans : https://gs.statcounter.com/screen-resolution-stats/mobile/worldwide
 */
/**
 * version 0.
 * Remove before 2x
 * @depreciated value.
 */
/**
 *  Breack point hero.
 */
/**
 *  Breack point hero.
 */
/**
 *  Breack point h1.
 */
/**
 *  Breack point h2.
 */
/**
 *  Breack point h3.
 */
/**
 *  Breack point h4.
 */
/**
 *  Breack point h5.
 */
/**
 *  Breack point h6.
 */
/**
 * Chargement progressif
 */
/**
 * Affichage de la langue.
 * Model simple.
 */
/**
 *
 */
/**
 * Card rotation
 */
/**
* Translation on hover
*/
/**
* Before cover
*/
/**
* Before cover
*/
/**
 *  pas de retour à la ligne
 */
/**
 *  Mixin for multiline limit text css
 * @depreciated move before 2x, 
 * @use ellipseText
 */
/**
 * Permet de definir le nombre de ligne max a afficher
 */
/**
 *  Images area to preload,
 *  on ajoute sur la div contenant l'image
 */
/**
 *
 */
/**
 * Affet Ombre
 */
/**
 * Pricelist
 */
/**
 * On a un bug avec la fonction color-yiq à partir de la version bootstrap5, 
 * border-color: rgba(color-yiq($wbu-background), 20%); ne fonctionne pas.
 * ( raison cette fonction est repressier , il faut utiliser color-contrast() ).
 */
.top-header {
  padding: 1rem 0;
  background: linear-gradient(137deg, rgb(199.983805668, 75.5303643725, 12.016194332) 16%, #f16016 61%);
  /**
    linear-gradient(138deg, rgb(221 81 10) 16%
    16%
    16%, #f16016 61%);
  */
  background-position: right top;
  background-size: cover;
}
.top-header img.logo {
  max-height: 60px;
  max-width: 180px;
  width: auto;
}
.top-header .section.top {
  display: flex;
}
.top-header .section.top a {
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3098039216);
}
.top-header .section.top a:hover {
  text-decoration: underline;
}
.top-header .section.top .content {
  display: flex;
  align-items: center;
}
.top-header .section.top .content.branding {
  min-width: 100px;
  max-width: 200px;
}
.top-header .section.top .content.menus {
  display: none;
}
@media only screen and (min-width: 769px) {
  .top-header .section.top .content.menus {
    display: flex;
  }
}
.top-header .section.top a.btn {
  text-shadow: none !important;
  text-decoration: none !important;
}
.top-header .user-menus svg,
.top-header .user-menus img {
  width: 18px;
  height: 18px;
}
.top-header .user-menus img {
  -o-object-fit: contain;
     object-fit: contain;
}
.top-header .user-menus svg path {
  fill: #fff;
}
.top-header .user-menus img.image-profile {
  width: 35px;
  height: 35px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.top-header .block-user {
  margin-top: 2rem !important;
}
.top-header .block-user.dropdown-menu::before {
  content: "";
  position: absolute;
  top: -11px;
  right: 6px;
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-bottom: 14px solid white;
}
.top-header .block-user.dropdown-menu svg {
  margin-right: 0.5rem;
}
.top-header .block-user.dropdown-menu svg path {
  fill: #f16016;
}
.top-header .block-user.dropdown-menu a {
  color: inherit;
  text-shadow: none;
}
.top-header .block-user.dropdown-menu a:hover {
  text-decoration: none;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3098039216);
}
.top-header .block-user.dropdown-menu .dropdown-item {
  margin-bottom: 0.5rem;
}

.site-footer {
  border-top: 1px solid #dee2e6;
}
.site-footer .facebook_block {
  min-height: 165px;
  background-size: cover;
  max-width: 100%;
  padding: 1rem;
  background-size: 102%;
  background-position: right;
}
@media only screen and (min-width: 769px) {
  .site-footer .facebook_block {
    max-width: calc(100% - 50px);
  }
}
.site-footer .facebook_block svg {
  width: 2.5rem;
  height: 2.5rem;
  margin-right: 0.5rem;
}
.site-footer .facebook_block svg.facebook {
  width: 8.5rem;
  height: 8.5rem;
}
.site-footer .facebook_block .bottom svg.facebook {
  width: 2.5rem;
  height: 2.5rem;
}
.site-footer .nav .nav-link {
  padding-left: 0;
  color: #4c4c4c;
}
.site-footer .footer-logo {
  width: 180px;
}
.site-footer .rxs {
  max-width: 180px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.site-footer .rxs svg {
  width: 25px;
  height: 25px;
}
.site-footer .rxs svg path {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
.site-footer .rxs svg:hover path {
  fill: #f16016;
}

.alerts-container {
  position: fixed;
  max-width: 100%;
  width: 400px;
  top: 0;
  left: 15px;
  right: 15px;
  z-index: 999;
}
@media only screen and (min-width: 576px) {
  .alerts-container {
    left: auto;
  }
}
.alerts-container > .alert {
  margin: 2rem 0;
  border-radius: 8px;
  box-shadow: 1px 6px 10px -8px #101010;
}
.alerts-container > .alert:first-child {
  margin-top: 4rem;
}

body ::-moz-placeholder {
  opacity: 0.8 !important;
  color: #adadad !important;
}

body ::placeholder {
  opacity: 0.8 !important;
  color: #adadad !important;
}

.form-field {
  margin-bottom: 2rem;
}

.row-content {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 992px) {
  .row-content {
    flex-direction: row;
  }
}
.row-content--left {
  width: 100%;
}
@media only screen and (min-width: 992px) {
  .row-content--left {
    padding-right: 4rem;
    width: calc(100% - 320px);
  }
}
.row-content--right {
  width: 100%;
}
@media only screen and (min-width: 992px) {
  .row-content--right {
    width: 320px;
  }
}
@media only screen and (min-width: 992px) {
  .row-content.inverse .row-content--left {
    width: 320px;
  }
}
@media only screen and (min-width: 992px) {
  .row-content.inverse .row-content--right {
    width: calc(100% - 320px);
  }
}

section .titre-header {
  margin-bottom: 2rem;
}

.teaser {
  border-color: rgba(222, 226, 230, 0.4);
}
.teaser .content-img {
  height: 170px;
  width: 100%;
  padding: 1rem;
}
.teaser .content-img a {
  border-radius: 8px;
}
.teaser .content-img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition-property: all;
  transition-duration: 1s;
  transition-timing-function: linear;
}
.teaser .content-img .content-svg-wishlist {
  top: 0;
  right: 0;
  left: auto;
  bottom: auto;
  min-width: 50px;
  min-height: 50px;
  padding: 1.3rem 1.3rem 0.5rem 0.5rem;
  cursor: pointer;
}
.teaser .content-img .content-svg-wishlist:hover svg path {
  fill: #f16016;
}
.teaser .content-img .content-svg-wishlist.wishlist-fill svg path {
  fill: #f16016;
}
.teaser .content-img .content-svg-wishlist.wishlist-fill:hover svg path {
  fill: rgba(0, 0, 0, 0.2196078431);
}
.teaser--boddy {
  padding: 0 1rem;
}
.teaser--boddy a {
  color: inherit;
}
.teaser .badgets .quality {
  box-shadow: none;
  padding: 5px 5px;
  font-size: 88%;
}
.teaser .reviews .avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}
.teaser .reviews .avatar img {
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.teaser .reviews svg.start {
  width: 1.8rem;
  height: 1.8rem;
}
.teaser:hover {
  border-color: rgba(241, 96, 22, 0.4);
}
.teaser:hover .content-img img {
  transform: scale(2);
  transition-duration: 8s;
}
.teaser:hover .card-title a {
  color: #f16016;
}
.teaser.prestation .content-img {
  height: 220px;
}

.sidebar {
  width: 100%;
}
.sidebar.fixed {
  right: 0;
  margin-right: -500px;
  left: auto;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  opacity: 0;
  visibility: hidden;
}
@media only screen and (min-width: 576px) {
  .sidebar {
    max-width: 400px;
  }
}
.sidebar--count {
  background-color: #080808;
  color: #fff;
  width: 19px;
  height: 19px;
  border-radius: 10px;
  box-shadow: 0px 0px 19px -4px #000000;
  transform: translate(-5px, -7px);
  font-size: 90%;
}
.sidebar--open {
  cursor: pointer;
}
.sidebar--header svg.close {
  width: 2.5rem;
  height: 2.5rem;
  position: absolute;
  left: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}
.sidebar--header svg.close path {
  fill: #747474;
}
.sidebar--header svg.close:hover path {
  fill: #0e0d0d;
}
.sidebar--overlay {
  background: transparent;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
.sidebar.open.fixed {
  margin-right: 0;
  opacity: 1;
  visibility: visible;
  z-index: 200;
}
.sidebar.open .sidebar--overlay {
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: -3;
  background: rgba(95, 36, 6, 0.25);
  cursor: pointer;
}

.accordion .accordion-item {
  margin-bottom: 1rem;
  border: 1px solid rgb(103.7651821862, 39.1902834008, 6.2348178138);
}
.accordion .accordion-item,
.accordion .accordion-header {
  border-radius: 10px;
}
.accordion .accordion-button {
  background: transparent;
  font-size: inherit;
  color: inherit;
}
@media only screen and (min-width: 769px) {
  .accordion .accordion-button {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
.accordion .accordion-body {
  text-align: left;
}
@media only screen and (min-width: 769px) {
  .accordion .accordion-body {
    padding-left: 3rem;
    padding-right: 3rem;
    padding-bottom: 2rem;
  }
}
.accordion.inv-black-header {
  color: #fff;
}
.accordion.inv-black-header .accordion-item {
  background: transparent;
  color: inherit;
}
.accordion.inv-black-header .accordion-button {
  position: relative;
  background: #fff;
  color: #000;
  border-radius: 10px 10px 0 0 !important;
}
.accordion.inv-black-header .accordion-button::after {
  content: "+";
  font-size: 150%;
  position: absolute;
  right: 3rem;
  top: 50%;
  left: auto;
  bottom: auto;
  line-height: 0;
  transform: none;
  opacity: 0;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
.accordion.inv-black-header .accordion-button::before {
  content: "-";
  font-size: 250%;
  position: absolute;
  right: 3rem;
  top: 50%;
  left: auto;
  bottom: auto;
  line-height: 0;
  transform: none;
  opacity: 1;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  font-weight: 100;
}
.accordion.inv-black-header .accordion-button.collapsed {
  background: transparent;
  color: inherit;
}
.accordion.inv-black-header .accordion-button.collapsed::before {
  opacity: 0;
}
.accordion.inv-black-header .accordion-button.collapsed::after {
  opacity: 1;
}
.accordion.inv-black-header .accordion-collapse {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
.accordion.inv-black-header .accordion-collapse.show {
  position: relative;
  background: #fff;
  color: #000;
  border-radius: 0 0 10px 10px !important;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxnQkFBZ0I7QUNBaEI7Ozs7TUFBQTtBQThCQTs7Q0FBQTtBQzlCQTs7cUNBQUE7QUFJQTs7cUNBQUE7QUE2QkE7O3FDQUFBO0FBWUE7Ozs7cUNBQUE7QUF1REE7QUFRQTtBQUVBO0FBOUdBOztxQ0FBQTtBQUlBOztxQ0FBQTtBQTZCQTs7cUNBQUE7QUFZQTs7OztxQ0FBQTtBQXVEQTtBQVFBO0FBRUE7QUM5R0E7OztFQUFBO0FBZ0RBOzs7O0VBQUE7QUM3Q0E7O0VBQUE7QUFtQkE7O0VBQUE7QUF1Q0E7O0VBQUE7QUFhQTs7RUFBQTtBQVVBOztFQUFBO0FBVUE7O0VBQUE7QUFVQTs7RUFBQTtBQU9BOztFQUFBO0FDL0dBOztFQUFBO0FBeUJBOzs7RUFBQTtBQWlCQTs7RUFBQTtBQXVEQTs7RUFBQTtBQThCQTs7Q0FBQTtBQVFBOztDQUFBO0FBbUJBOztDQUFBO0FBbUJBOztFQUFBO0FBVUE7Ozs7RUFBQTtBQTJDQTs7RUFBQTtBQXlGQTs7O0VBQUE7QUF3QkE7O0VBQUE7QUFpQkE7O0VBQUE7QUEyREE7O0VBQUE7QUN2WkE7Ozs7RUFBQTtBQ1BBO0VBQ0k7RUFDQTtFQUNBOzs7O0dBQUE7RUFLQTtFQUNBO0FQK0hKO0FPOUhJO0VBQ0k7RUFDQTtFQUNBO0FQZ0lSO0FPN0hJO0VBQ0k7QVArSFI7QU83SFE7RUFDSTtBUCtIWjtBTzlIWTtFQUNJO0FQZ0loQjtBTzdIUTtFQUNJO0VBQ0E7QVArSFo7QU85SFk7RUFDSTtFQUNBO0FQZ0loQjtBTzlIWTtFQUNJO0FQZ0loQjtBR3ZFSTtFSTFEUTtJQUdRO0VQa0lsQjtBQUNGO0FPL0hRO0VBQ0k7RUFDQTtBUGlJWjtBTzdIUTs7RUFFSTtFQUNBO0FQK0haO0FPN0hRO0VBQ0k7S0FBQTtBUCtIWjtBTzdIUTtFQUNJO0FQK0haO0FPMUhRO0VBQ0k7RUFDQTtFQUNBO0tBQUE7RUFDQTtBUDRIWjtBT3hISTtFQUNJO0FQMEhSO0FPeEhZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVAwSGhCO0FPeEhZO0VBSUk7QVB1SGhCO0FPMUhnQjtFQUNJLGFOM0VBO0FEdU1wQjtBT3hIWTtFQUNJO0VBQ0E7QVAwSGhCO0FPekhnQjtFQUNJO0VBQ0E7QVAySHBCO0FPeEhZO0VBQ0k7QVAwSGhCOztBUXhOQTtFQUNJO0FSMk5KO0FRMU5JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSNE5SO0FHMUlJO0VLeEZBO0lBUVE7RVI4TlY7QUFDRjtBUTdOUTtFQUNJO0VBQ0E7RUFDQTtBUitOWjtBUTlOWTtFQUNJO0VBQ0E7QVJnT2hCO0FRM05nQjtFQUNJO0VBQ0E7QVI2TnBCO0FRdk5RO0VBQ0k7RUFDQSxjTlRLO0FGa09qQjtBUXROSTtFQUNJO0FSd05SO0FRdE5JO0VBQ0k7RUFDQTtFQUNBO0FSd05SO0FRdk5RO0VBQ0k7RUFDQTtBUnlOWjtBUXhOWTtFSG9GVix3QkFEK0I7RUFFL0IseUJHcEY2QztFSHFGN0MsdUNBSDBEO0FMMEk1RDtBUXpOZ0I7RUFDSSxhUDdDQTtBRHdRcEI7O0FRck5BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJ3Tko7QUdsTUk7RUs3Qko7SUFTUTtFUjBOTjtBQUNGO0FRek5JO0VBQ0k7RUFDQTtFQUNBO0FSMk5SO0FRMU5RO0VBQ0k7QVI0Tlo7O0FTcFNJO0VBQ0k7RUFDQTtBVHVTUjs7QVN6U0k7RUFDSTtFQUNBO0FUdVNSOztBU3BTQTtFQUNJLG1CUjhCUztBRHlRYjs7QVU5U0E7RUFDSTtFQUNBO0FWaVRKO0FHck5JO0VPOUZKO0lBSVE7RVZtVE47QUFDRjtBVWxUSTtFQUNJO0FWb1RSO0FHN05JO0VPeEZBO0lBR1E7SUFDQTtFVnNUVjtBQUNGO0FVcFRJO0VBQ0k7QVZzVFI7QUd0T0k7RU9qRkE7SUFHUSxZVDZCRjtFRDJSUjtBQUNGO0FHM09JO0VPMUVJO0lBRVEsWVR1Qk47RURnU1I7QUFDRjtBR2hQSTtFT3JFSTtJQUVRO0VWdVRkO0FBQ0Y7O0FXbFZJO0VBQ0ksbUJWbUNLO0FEa1RiOztBWXZWQTtFQUNJO0FaMFZKO0FZelZJO0VBQ0k7RUFDQTtFQUNBO0FaMlZSO0FZMVZRO0VBQ0k7QVo0Vlo7QVkxVlE7RUFDSTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0VQcUhWLHdCQUQrQjtFQUUvQix1Qk9ySHlDO0VQc0h6QyxrQ090SHFEO0FaOFZ2RDtBWTVWUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVo4Vlo7QVk1VmdCO0VBQ0ksYVhyQkE7QURtWHBCO0FZMVZnQjtFQUNJLGFYMUJBO0FEc1hwQjtBWXpWb0I7RUFDSTtBWjJWeEI7QVlyVkk7RUFDSTtBWnVWUjtBWXRWUTtFQUVJO0FadVZaO0FZblZRO0VBQ0k7RUFDQTtFQUNBO0FacVZaO0FZalZRO0VBQ0k7RUFDQTtFQUNBO0FabVZaO0FZbFZZO0VBQ0k7S0FBQTtFQUNBO0Fab1ZoQjtBWWpWUTtFQUNJO0VBQ0E7QVptVlo7QVloVkk7RUFDSTtBWmtWUjtBWWhWWTtFQUNJO0VBQ0E7QVprVmhCO0FZOVVZO0VBQ0ksY1gzRUk7QUQyWnBCO0FZM1VRO0VBQ0k7QVo2VVo7O0FhcGFBO0VBU0k7QWIrWko7QWF2YUk7RUFDSTtFQUNBO0VBQ0E7RVI4SE4sd0JBRCtCO0VBRS9CLHlCQUY0QztFQUc1Qyx1Q0FIMEQ7RVEzSHBEO0VBQ0E7QWIyYVI7QUc1Vkk7RVV0Rko7SUFXUTtFYjJhTjtBQUNGO0FhMWFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYjRhUjtBYTFhSTtFQUNJO0FiNGFSO0FhemFRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWIyYVo7QWExYVk7RUFDSTtBYjRhaEI7QWF6YWdCO0VBQ0k7QWIyYXBCO0FhdGFJO0VBQ0k7RVJvRk4sd0JBRCtCO0VBRS9CLHlCQUY0QztFQUc1Qyx1Q0FIMEQ7QUx3VjVEO0FhdmFRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWJ5YVo7QWF2YVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnlhWjs7QWN2ZUk7RUFDSTtFQUNBO0FkMGVSO0FjdmVJOztFQUVJO0FkeWVSO0FjdmVJO0VBQ0k7RUFDQTtFQUNBO0FkeWVSO0FHNVpJO0VXaEZBO0lBS1EsaUJic0JDO0lhckJELG9CYnFCQztFRHNkWDtBQUNGO0FjemVJO0VBQ0k7QWQyZVI7QUdyYUk7RVd2RUE7SUFHUTtJQUNBO0lBQ0Esb0JiYUM7RURnZVg7QUFDRjtBYzNlSTtFQUNJO0FkNmVSO0FjNWVRO0VBQ0k7RUFDQTtBZDhlWjtBYzVlUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FkOGVaO0FjN2VZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVRrRmQsd0JBRCtCO0VBRS9CLHlCQUY0QztFQUc1Qyx1Q0FIMEQ7QUxpYTVEO0FjL2VZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVRxRWQsd0JBRCtCO0VBRS9CLHlCQUY0QztFQUc1Qyx1Q0FIMEQ7RVNsRTVDO0FkbWZoQjtBY2pmWTtFQUNJO0VBQ0E7QWRtZmhCO0FjamZnQjtFQUNJO0FkbWZwQjtBY2pmZ0I7RUFDSTtBZG1mcEI7QWMvZVE7RVRxRE4sd0JBRCtCO0VBRS9CLHlCQUY0QztFQUc1Qyx1Q0FIMEQ7QUxnYzVEO0FjbGZZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWRvZmhCLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvbGlua28vYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2xpbmtvL192YXJpYWJsZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9BcHBWdWVqcy93YnUtYXRvbWlxdWUvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL0FwcFZ1ZWpzL3didS1hdG9taXF1ZS9zY3NzL2RlZmF1dC9tb2RlbC9jdXN0b21fYnAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vQXBwVnVlanMvd2J1LWF0b21pcXVlL3Njc3MvZGVmYXV0L21peGlucy90eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL0FwcFZ1ZWpzL3didS1hdG9taXF1ZS9zY3NzL2RlZmF1dC9taXhpbnMvY29tcG9uZW50cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9BcHBWdWVqcy93YnUtYXRvbWlxdWUvc2Nzcy93YnUtcmVzc291cmNlcy1jbGVhbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9saW5rby9jb21wb25lbnRzL3RvcC1oZXJkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbGlua28vY29tcG9uZW50cy9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbGlua28vY29tcG9uZW50cy9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2xpbmtvL2NvbXBvbmVudHMvY3VzdG9tLWdyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbGlua28vY29tcG9uZW50cy9zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2xpbmtvL3BhZ2VzL2NvbXBvbmVudHMvdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2xpbmtvL2NvbXBvbmVudHMvZml4ZWRfc2lkZWJhci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9saW5rby9jb21wb25lbnRzL2FjY29yZGlvbi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICAgICAqIE9uIGRlZmluaWUgbGVzIHZhcmlhYmxlcyDDoCBjZSBuaXZlYXUgYWZpbiBxdWUgbGVzIHZhcmlhYmxlcyBxdWkgZGVyaXZlIGRlIGNlcyB2YWxldXJzIHNvaXQgYWp1c3TDqS5cbiAgICAgKiBFeGFtcGxlIDogJHdidS1oMS1mb250LXNpemUgZXN0IGRlZmluaWUgaWNpLCBsZXMgZGVyaXbDqWVzICR3YnUtaDEtZm9udC1zaXplLW1kLCAkd2J1LWgxLWZvbnQtc2l6ZS1zbSB2b250IGV0cmVcbiAgICAgKiBlZ2FsZW1lbnQgc3VyY2hhcmdlci5cbiAgICAgKi9cbi8qKlxuICogT24gaW5qZWN0ZSB0b3V0ZXMgbGVzIHZhcmlhYmxlcyBkaXJlY3RlbWVudCBkYW5zIGNlIGZpY2hpZXIuXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgV2J1LUF0b21pcXVlIHZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIENPTE9SU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEJPUkRVUkVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVFlQT0dSQVBIWVxuIGlsIHlhIHVuZSBlcnJldXIgZGUgbG9naXF1ZSBkYW5zIGxhIGRlZmluaXRpb24gZGVzIHNvdXMgdGFpbGxlIGRlIHBvbGljZS5cbiBlbGxlcyBuZSBzb250IHBhcyBwcm9wb3J0aW9ubmVsbGUgw6AgbGEgdGFpbGxlIHBhcmVudGUuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogKi9cbi8qIFBhZ2UtaGVhZGVyLWJnICovXG4vKiBQZXJtZXQgZGUgc3VyY2hhcmdlciBsZXMgdmFyaWFibGVzIGJvb3RzdHJhcCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgV2J1LUF0b21pcXVlIHZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIENPTE9SU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEJPUkRVUkVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVFlQT0dSQVBIWVxuIGlsIHlhIHVuZSBlcnJldXIgZGUgbG9naXF1ZSBkYW5zIGxhIGRlZmluaXRpb24gZGVzIHNvdXMgdGFpbGxlIGRlIHBvbGljZS5cbiBlbGxlcyBuZSBzb250IHBhcyBwcm9wb3J0aW9ubmVsbGUgw6AgbGEgdGFpbGxlIHBhcmVudGUuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogKi9cbi8qIFBhZ2UtaGVhZGVyLWJnICovXG4vKiBQZXJtZXQgZGUgc3VyY2hhcmdlciBsZXMgdmFyaWFibGVzIGJvb3RzdHJhcCAqL1xuLyoqXG4gKiB2ZXJzaW9uIDEgOiBKdWluIDIwMjNcbiAqIHBvdXIgdm9pciBsZXMgc3RhdHMgZCd1dGlsaXNhdGlvbiBlbiBmb25jdGlvbiBkZSBsYSB0YWlsbGUgZGVzIGVjcmFucyA6IGh0dHBzOi8vZ3Muc3RhdGNvdW50ZXIuY29tL3NjcmVlbi1yZXNvbHV0aW9uLXN0YXRzL21vYmlsZS93b3JsZHdpZGVcbiAqL1xuLyoqXG4gKiB2ZXJzaW9uIDAuXG4gKiBSZW1vdmUgYmVmb3JlIDJ4XG4gKiBAZGVwcmVjaWF0ZWQgdmFsdWUuXG4gKi9cbi8qKlxuICogIEJyZWFjayBwb2ludCBoZXJvLlxuICovXG4vKipcbiAqICBCcmVhY2sgcG9pbnQgaGVyby5cbiAqL1xuLyoqXG4gKiAgQnJlYWNrIHBvaW50IGgxLlxuICovXG4vKipcbiAqICBCcmVhY2sgcG9pbnQgaDIuXG4gKi9cbi8qKlxuICogIEJyZWFjayBwb2ludCBoMy5cbiAqL1xuLyoqXG4gKiAgQnJlYWNrIHBvaW50IGg0LlxuICovXG4vKipcbiAqICBCcmVhY2sgcG9pbnQgaDUuXG4gKi9cbi8qKlxuICogIEJyZWFjayBwb2ludCBoNi5cbiAqL1xuLyoqXG4gKiBDaGFyZ2VtZW50IHByb2dyZXNzaWZcbiAqL1xuLyoqXG4gKiBBZmZpY2hhZ2UgZGUgbGEgbGFuZ3VlLlxuICogTW9kZWwgc2ltcGxlLlxuICovXG4vKipcbiAqXG4gKi9cbi8qKlxuICogQ2FyZCByb3RhdGlvblxuICovXG4vKipcbiogVHJhbnNsYXRpb24gb24gaG92ZXJcbiovXG4vKipcbiogQmVmb3JlIGNvdmVyXG4qL1xuLyoqXG4qIEJlZm9yZSBjb3ZlclxuKi9cbi8qKlxuICogIHBhcyBkZSByZXRvdXIgw6AgbGEgbGlnbmVcbiAqL1xuLyoqXG4gKiAgTWl4aW4gZm9yIG11bHRpbGluZSBsaW1pdCB0ZXh0IGNzc1xuICogQGRlcHJlY2lhdGVkIG1vdmUgYmVmb3JlIDJ4LCBcbiAqIEB1c2UgZWxsaXBzZVRleHRcbiAqL1xuLyoqXG4gKiBQZXJtZXQgZGUgZGVmaW5pciBsZSBub21icmUgZGUgbGlnbmUgbWF4IGEgYWZmaWNoZXJcbiAqL1xuLyoqXG4gKiAgSW1hZ2VzIGFyZWEgdG8gcHJlbG9hZCxcbiAqICBvbiBham91dGUgc3VyIGxhIGRpdiBjb250ZW5hbnQgbCdpbWFnZVxuICovXG4vKipcbiAqXG4gKi9cbi8qKlxuICogQWZmZXQgT21icmVcbiAqL1xuLyoqXG4gKiBQcmljZWxpc3RcbiAqL1xuLyoqXG4gKiBPbiBhIHVuIGJ1ZyBhdmVjIGxhIGZvbmN0aW9uIGNvbG9yLXlpcSDDoCBwYXJ0aXIgZGUgbGEgdmVyc2lvbiBib290c3RyYXA1LCBcbiAqIGJvcmRlci1jb2xvcjogcmdiYShjb2xvci15aXEoJHdidS1iYWNrZ3JvdW5kKSwgMjAlKTsgbmUgZm9uY3Rpb25uZSBwYXMuXG4gKiAoIHJhaXNvbiBjZXR0ZSBmb25jdGlvbiBlc3QgcmVwcmVzc2llciAsIGlsIGZhdXQgdXRpbGlzZXIgY29sb3ItY29udHJhc3QoKSApLlxuICovXG4udG9wLWhlYWRlciB7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzN2RlZywgcmdiKDE5OS45ODM4MDU2NjgsIDc1LjUzMDM2NDM3MjUsIDEyLjAxNjE5NDMzMikgMTYlLCAjZjE2MDE2IDYxJSk7XG4gIC8qKlxuICAgIGxpbmVhci1ncmFkaWVudCgxMzhkZWcsIHJnYigyMjEgODEgMTApIDE2JVxuICAgIDE2JVxuICAgIDE2JSwgI2YxNjAxNiA2MSUpO1xuICAqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4udG9wLWhlYWRlciBpbWcubG9nbyB7XG4gIG1heC1oZWlnaHQ6IDYwcHg7XG4gIG1heC13aWR0aDogMTgwcHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuLnRvcC1oZWFkZXIgLnNlY3Rpb24udG9wIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi50b3AtaGVhZGVyIC5zZWN0aW9uLnRvcCBhIHtcbiAgdGV4dC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMzA5ODAzOTIxNik7XG59XG4udG9wLWhlYWRlciAuc2VjdGlvbi50b3AgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLnRvcC1oZWFkZXIgLnNlY3Rpb24udG9wIC5jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi50b3AtaGVhZGVyIC5zZWN0aW9uLnRvcCAuY29udGVudC5icmFuZGluZyB7XG4gIG1pbi13aWR0aDogMTAwcHg7XG4gIG1heC13aWR0aDogMjAwcHg7XG59XG4udG9wLWhlYWRlciAuc2VjdGlvbi50b3AgLmNvbnRlbnQubWVudXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAudG9wLWhlYWRlciAuc2VjdGlvbi50b3AgLmNvbnRlbnQubWVudXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbi50b3AtaGVhZGVyIC5zZWN0aW9uLnRvcCBhLmJ0biB7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuLnRvcC1oZWFkZXIgLnVzZXItbWVudXMgc3ZnLFxuLnRvcC1oZWFkZXIgLnVzZXItbWVudXMgaW1nIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cbi50b3AtaGVhZGVyIC51c2VyLW1lbnVzIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG4udG9wLWhlYWRlciAudXNlci1tZW51cyBzdmcgcGF0aCB7XG4gIGZpbGw6ICNmZmY7XG59XG4udG9wLWhlYWRlciAudXNlci1tZW51cyBpbWcuaW1hZ2UtcHJvZmlsZSB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4udG9wLWhlYWRlciAuYmxvY2stdXNlciB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbn1cbi50b3AtaGVhZGVyIC5ibG9jay11c2VyLmRyb3Bkb3duLW1lbnU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTFweDtcbiAgcmlnaHQ6IDZweDtcbiAgYm9yZGVyLWxlZnQ6IDE0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTRweCBzb2xpZCB3aGl0ZTtcbn1cbi50b3AtaGVhZGVyIC5ibG9jay11c2VyLmRyb3Bkb3duLW1lbnUgc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG4udG9wLWhlYWRlciAuYmxvY2stdXNlci5kcm9wZG93bi1tZW51IHN2ZyBwYXRoIHtcbiAgZmlsbDogI2YxNjAxNjtcbn1cbi50b3AtaGVhZGVyIC5ibG9jay11c2VyLmRyb3Bkb3duLW1lbnUgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi50b3AtaGVhZGVyIC5ibG9jay11c2VyLmRyb3Bkb3duLW1lbnUgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMzA5ODAzOTIxNik7XG59XG4udG9wLWhlYWRlciAuYmxvY2stdXNlci5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uc2l0ZS1mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RlZTJlNjtcbn1cbi5zaXRlLWZvb3RlciAuZmFjZWJvb2tfYmxvY2sge1xuICBtaW4taGVpZ2h0OiAxNjVweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMiU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAuc2l0ZS1mb290ZXIgLmZhY2Vib29rX2Jsb2NrIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICB9XG59XG4uc2l0ZS1mb290ZXIgLmZhY2Vib29rX2Jsb2NrIHN2ZyB7XG4gIHdpZHRoOiAyLjVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cbi5zaXRlLWZvb3RlciAuZmFjZWJvb2tfYmxvY2sgc3ZnLmZhY2Vib29rIHtcbiAgd2lkdGg6IDguNXJlbTtcbiAgaGVpZ2h0OiA4LjVyZW07XG59XG4uc2l0ZS1mb290ZXIgLmZhY2Vib29rX2Jsb2NrIC5ib3R0b20gc3ZnLmZhY2Vib29rIHtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG59XG4uc2l0ZS1mb290ZXIgLm5hdiAubmF2LWxpbmsge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGNvbG9yOiAjNGM0YzRjO1xufVxuLnNpdGUtZm9vdGVyIC5mb290ZXItbG9nbyB7XG4gIHdpZHRoOiAxODBweDtcbn1cbi5zaXRlLWZvb3RlciAucnhzIHtcbiAgbWF4LXdpZHRoOiAxODBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbn1cbi5zaXRlLWZvb3RlciAucnhzIHN2ZyB7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG59XG4uc2l0ZS1mb290ZXIgLnJ4cyBzdmcgcGF0aCB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuLnNpdGUtZm9vdGVyIC5yeHMgc3ZnOmhvdmVyIHBhdGgge1xuICBmaWxsOiAjZjE2MDE2O1xufVxuXG4uYWxlcnRzLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogNDAwcHg7XG4gIHRvcDogMDtcbiAgbGVmdDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIHotaW5kZXg6IDk5OTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmFsZXJ0cy1jb250YWluZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbi5hbGVydHMtY29udGFpbmVyID4gLmFsZXJ0IHtcbiAgbWFyZ2luOiAycmVtIDA7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMXB4IDZweCAxMHB4IC04cHggIzEwMTAxMDtcbn1cbi5hbGVydHMtY29udGFpbmVyID4gLmFsZXJ0OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbn1cblxuYm9keSA6OnBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMC44ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjYWRhZGFkICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLWZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLnJvdy1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJvdy1jb250ZW50IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4ucm93LWNvbnRlbnQtLWxlZnQge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJvdy1jb250ZW50LS1sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMjBweCk7XG4gIH1cbn1cbi5yb3ctY29udGVudC0tcmlnaHQge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJvdy1jb250ZW50LS1yaWdodCB7XG4gICAgd2lkdGg6IDMyMHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5yb3ctY29udGVudC5pbnZlcnNlIC5yb3ctY29udGVudC0tbGVmdCB7XG4gICAgd2lkdGg6IDMyMHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5yb3ctY29udGVudC5pbnZlcnNlIC5yb3ctY29udGVudC0tcmlnaHQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMjBweCk7XG4gIH1cbn1cblxuc2VjdGlvbiAudGl0cmUtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLnRlYXNlciB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMjIsIDIyNiwgMjMwLCAwLjQpO1xufVxuLnRlYXNlciAuY29udGVudC1pbWcge1xuICBoZWlnaHQ6IDE3MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMXJlbTtcbn1cbi50ZWFzZXIgLmNvbnRlbnQtaW1nIGEge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG4udGVhc2VyIC5jb250ZW50LWltZyBpbWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cbi50ZWFzZXIgLmNvbnRlbnQtaW1nIC5jb250ZW50LXN2Zy13aXNobGlzdCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbWluLXdpZHRoOiA1MHB4O1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nOiAxLjNyZW0gMS4zcmVtIDAuNXJlbSAwLjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi50ZWFzZXIgLmNvbnRlbnQtaW1nIC5jb250ZW50LXN2Zy13aXNobGlzdDpob3ZlciBzdmcgcGF0aCB7XG4gIGZpbGw6ICNmMTYwMTY7XG59XG4udGVhc2VyIC5jb250ZW50LWltZyAuY29udGVudC1zdmctd2lzaGxpc3Qud2lzaGxpc3QtZmlsbCBzdmcgcGF0aCB7XG4gIGZpbGw6ICNmMTYwMTY7XG59XG4udGVhc2VyIC5jb250ZW50LWltZyAuY29udGVudC1zdmctd2lzaGxpc3Qud2lzaGxpc3QtZmlsbDpob3ZlciBzdmcgcGF0aCB7XG4gIGZpbGw6IHJnYmEoMCwgMCwgMCwgMC4yMTk2MDc4NDMxKTtcbn1cbi50ZWFzZXItLWJvZGR5IHtcbiAgcGFkZGluZzogMCAxcmVtO1xufVxuLnRlYXNlci0tYm9kZHkgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnRlYXNlciAuYmFkZ2V0cyAucXVhbGl0eSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDVweCA1cHg7XG4gIGZvbnQtc2l6ZTogODglO1xufVxuLnRlYXNlciAucmV2aWV3cyAuYXZhdGFyIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuLnRlYXNlciAucmV2aWV3cyAuYXZhdGFyIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4udGVhc2VyIC5yZXZpZXdzIHN2Zy5zdGFydCB7XG4gIHdpZHRoOiAxLjhyZW07XG4gIGhlaWdodDogMS44cmVtO1xufVxuLnRlYXNlcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNDEsIDk2LCAyMiwgMC40KTtcbn1cbi50ZWFzZXI6aG92ZXIgLmNvbnRlbnQtaW1nIGltZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDhzO1xufVxuLnRlYXNlcjpob3ZlciAuY2FyZC10aXRsZSBhIHtcbiAgY29sb3I6ICNmMTYwMTY7XG59XG4udGVhc2VyLnByZXN0YXRpb24gLmNvbnRlbnQtaW1nIHtcbiAgaGVpZ2h0OiAyMjBweDtcbn1cblxuLnNpZGViYXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi5zaWRlYmFyLmZpeGVkIHtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbi1yaWdodDogLTUwMHB4O1xuICBsZWZ0OiBhdXRvO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuc2lkZWJhciB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgfVxufVxuLnNpZGViYXItLWNvdW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA4MDgwODtcbiAgY29sb3I6ICNmZmY7XG4gIHdpZHRoOiAxOXB4O1xuICBoZWlnaHQ6IDE5cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMTlweCAtNHB4ICMwMDAwMDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01cHgsIC03cHgpO1xuICBmb250LXNpemU6IDkwJTtcbn1cbi5zaWRlYmFyLS1vcGVuIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNpZGViYXItLWhlYWRlciBzdmcuY2xvc2Uge1xuICB3aWR0aDogMi41cmVtO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxLjVyZW07XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaWRlYmFyLS1oZWFkZXIgc3ZnLmNsb3NlIHBhdGgge1xuICBmaWxsOiAjNzQ3NDc0O1xufVxuLnNpZGViYXItLWhlYWRlciBzdmcuY2xvc2U6aG92ZXIgcGF0aCB7XG4gIGZpbGw6ICMwZTBkMGQ7XG59XG4uc2lkZWJhci0tb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbi5zaWRlYmFyLm9wZW4uZml4ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHotaW5kZXg6IDIwMDtcbn1cbi5zaWRlYmFyLm9wZW4gLnNpZGViYXItLW92ZXJsYXkge1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IC0zO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDk1LCAzNiwgNiwgMC4yNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMTAzLjc2NTE4MjE4NjIsIDM5LjE5MDI4MzQwMDgsIDYuMjM0ODE3ODEzOCk7XG59XG4uYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSxcbi5hY2NvcmRpb24gLmFjY29yZGlvbi1oZWFkZXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWJvZHkge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIH1cbn1cbi5hY2NvcmRpb24uaW52LWJsYWNrLWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmFjY29yZGlvbi5pbnYtYmxhY2staGVhZGVyIC5hY2NvcmRpb24taXRlbSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5hY2NvcmRpb24uaW52LWJsYWNrLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAwIDAgIWltcG9ydGFudDtcbn1cbi5hY2NvcmRpb24uaW52LWJsYWNrLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIitcIjtcbiAgZm9udC1zaXplOiAxNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzcmVtO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbi5hY2NvcmRpb24uaW52LWJsYWNrLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCItXCI7XG4gIGZvbnQtc2l6ZTogMjUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3JlbTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG4uYWNjb3JkaW9uLmludi1ibGFjay1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24uY29sbGFwc2VkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLmFjY29yZGlvbi5pbnYtYmxhY2staGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uLmNvbGxhcHNlZDo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5hY2NvcmRpb24uaW52LWJsYWNrLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbi5jb2xsYXBzZWQ6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5hY2NvcmRpb24uaW52LWJsYWNrLWhlYWRlciAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG4uYWNjb3JkaW9uLmludi1ibGFjay1oZWFkZXIgLmFjY29yZGlvbi1jb2xsYXBzZS5zaG93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweCAhaW1wb3J0YW50O1xufSIsIi8qKlxuICAgICAqIE9uIGRlZmluaWUgbGVzIHZhcmlhYmxlcyDDoCBjZSBuaXZlYXUgYWZpbiBxdWUgbGVzIHZhcmlhYmxlcyBxdWkgZGVyaXZlIGRlIGNlcyB2YWxldXJzIHNvaXQgYWp1c3TDqS5cbiAgICAgKiBFeGFtcGxlIDogJHdidS1oMS1mb250LXNpemUgZXN0IGRlZmluaWUgaWNpLCBsZXMgZGVyaXbDqWVzICR3YnUtaDEtZm9udC1zaXplLW1kLCAkd2J1LWgxLWZvbnQtc2l6ZS1zbSB2b250IGV0cmVcbiAgICAgKiBlZ2FsZW1lbnQgc3VyY2hhcmdlci5cbiAgICAgKi9cblxuLy9jb2xvclxuJHdidS1jb2xvci1wcmltYXJ5OiAjZjE2MDE2O1xuJHdidS1jb2xvci1zZWNvbmRhcnk6ICNmODY2MTU7XG4kd2J1LWNvbG9yLXRoaXJkbHk6ICNmYWYzZTM7XG4kd2J1LWJhY2tncm91bmQ6ICM1ZjI0MDY7XG4kd2J1LWxpbmstY29sb3I6ICR3YnUtY29sb3Itc2Vjb25kYXJ5O1xuJHdidS1ib290c3RyYXAtcHJpbWFyeTogJHdidS1jb2xvci1zZWNvbmRhcnk7XG4kd2J1LWNvbG9yLXByaW1hcnktaW52OiAjZmZmO1xuXG4vLyBQb2xpY2VcbiR3YnUtaDEtZm9udC1zaXplOiA1LjZyZW07XG4kd2J1LWgyLWZvbnQtc2l6ZTogNC40cmVtO1xuJHdidS1oMy1mb250LXNpemU6IDMuMnJlbTtcbiR3YnUtaDQtZm9udC1zaXplOiAycmVtO1xuJHdidS1oNS1mb250LXNpemU6IDEuN3JlbTtcbiR3YnUtaDYtZm9udC1zaXplOiAxLjRyZW07XG4kd2J1LWRlZmF1bHQtZm9udC1zaXplOiAxLjZyZW07XG5cbi8vIE9uIGEgYmVzb2luIGRlIGNlIGZpY2hpZXIgcG91ciBsZXMgc3R5bGVzIGFqb3V0w6lzIGRhbnMgLi9jdXN0b20uc2Nzcy5cbi8vIEB1c2UgXCJAc3RlcGhhbmU4ODgvd2J1LWF0b21pcXVlL3Njc3Mvd2J1LXJlc3NvdXJjZXMtY2xlYW4uc2Nzc1wiIGFzICo7XG5cbiR3YnVfdGl0cmVfc3VwcHJhOiA4LjhyZW07XG4kd2J1X3RpdHJlX2JpZ2dlc3Q6IDhyZW07XG5cbi8qKlxuICogT24gaW5qZWN0ZSB0b3V0ZXMgbGVzIHZhcmlhYmxlcyBkaXJlY3RlbWVudCBkYW5zIGNlIGZpY2hpZXIuXG4qL1xuQGltcG9ydCBcIkBzdGVwaGFuZTg4OC93YnUtYXRvbWlxdWUvc2Nzcy9fdmFyaWFibGVzLnNjc3NcIjtcbkBpbXBvcnQgXCJAc3RlcGhhbmU4ODgvd2J1LWF0b21pcXVlL3Njc3Mvd2J1LXJlc3NvdXJjZXMtY2xlYW4uc2Nzc1wiO1xuXG4vLyBMZXMgdmFyaWFibGVzIHF1aSBvbnQgYmVzb2lucyBkZXMgaW5mb3JtYXRpb25zIHByb3ZlbmFudCBkdSBjb3JlIGRlXG4vLyB3YnUtYXRvbWlxdWUuXG4kd2J1LW1hcmdpbjogMnJlbTtcbiRzcGFjZV9ib3R0b206ICR3YnUtbWFyZ2luICogNTtcbiRzcGFjZV90b3A6ICR3YnUtbWFyZ2luICogNDtcbiRzcGFjZV9pbm5lcl90b3A6ICRzcGFjZV90b3AgKiAwLjU7XG4kc3BhY2VfaW5uZXJfdG9wOiAkc3BhY2VfdG9wICogMC41O1xuLy8gZGltZW50aW9uc1xuJHdpdGhfcGhvbmU6IDUwMHB4O1xuLy8gYmxvY2sgZGUgbGVmdCBvdSBkcm9pdCBmaXhlLlxuJHdfcmlnaHQ6IDMyMHB4O1xuLy8gJHdpdGhfdGFibGV0OiA4MDBweDtcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFdidS1BdG9taXF1ZSB2YXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIENPTE9SU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vXG4vLyBDb3VsZXVycyBwcmluY2lwYWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ291bGV1ciBwcmltYWlyZSAoIHkgY29tcHJpcyBsYSBjb3VsZXVyIGRlIGxpZW5zIHBhciBkZWZhdXQgKS5cbiR3YnUtY29sb3ItcHJpbWFyeTogI2JmZDdlZCAhZGVmYXVsdDtcbi8vIENvdWxldXIgc2Vjb25kYWlyZVxuJHdidS1jb2xvci1zZWNvbmRhcnk6ICMwMDc0YjcgIWRlZmF1bHQ7XG4vLyBDb3VsZXVyIGQnYXJyacOocmUgcGxhbiAoIMOgIHByaXZpbGlnZXIgYXUgbml2ZWF1IGR1IGZvb3RlciwgZGVzIGVsZW1lbnRzIGRlIGNvdmVycyApLlxuJHdidS1iYWNrZ3JvdW5kOiAjMDAzYjczICFkZWZhdWx0O1xuLy8gQ291bGV1cnMgc3VwcGxlbWVudGFpcmUuXG4kd2J1LWNvbG9yLXRoaXJkbHk6ICM2MGEzZDkgIWRlZmF1bHQ7XG4vLyBjb3VsZXVycyBkZXMgbGllbnNcbiR3YnUtbGluay1jb2xvcjogJHdidS1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuJHdidS1saW5rLWNvbG9yLXZpc2l0ZWQ6IGRhcmtlbigkd2J1LWxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4vL1xuLy8gQXV0cmUgY291bGV1cnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJHdidS1ib3JkZXItY29sb3I6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kd2J1LWNvbG9yLXRleHQ6ICM0YzRjNGMgIWRlZmF1bHQ7XG4kd2J1LWNvbG9yLXRlYWw6ICM0OWEwYTIgIWRlZmF1bHQ7XG4kd2J1LWNvbG9yLWJvZGVyOiAjZGVlMmU2ICFkZWZhdWx0O1xuJHdidS10aXRsZS1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gUGVybWV0IGRlIHN1cmNoYXJnZXIgbGEgY291bGV1ciBwcmltYWlyZSAocHJpbWFyeSkgZGUgYm9vdHN0cmFwXG4kd2J1LWJvb3RzdHJhcC1wcmltYXJ5OiAkd2J1LWNvbG9yLXByaW1hcnk7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEJPUkRVUkVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLy8gYnV0dG9tXG4kd2J1LWJ0bi1ib3JkZXItcm91bmQ6IDUwJSAhZGVmYXVsdDtcbiR3YnUtYnRuLXJvdW5kLWRpbWVuc2lvbjogMi4ycmVtICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItY29sb3I6ICR3YnUtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHdidS1idG4tYm9yZGVyLXJhZGl1czogMzBweCAhZGVmYXVsdDtcbiR3YnUtYnRuLXJhZGl1cy1wYWRkaW5nOiAwLjg4cmVtIDEuNXJlbSAhZGVmYXVsdDtcbi8vIGxhcmdldXIgZGUgbGEgcHVjZS5cbiR3YnVfZGltZW5zaW9uX3B1Y2U6IDI1cHggIWRlZmF1bHQ7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFRZUE9HUkFQSFlcbiBpbCB5YSB1bmUgZXJyZXVyIGRlIGxvZ2lxdWUgZGFucyBsYSBkZWZpbml0aW9uIGRlcyBzb3VzIHRhaWxsZSBkZSBwb2xpY2UuXG4gZWxsZXMgbmUgc29udCBwYXMgcHJvcG9ydGlvbm5lbGxlIMOgIGxhIHRhaWxsZSBwYXJlbnRlLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIGRlZmF1bHRcbiR3YnUtZGVmYXVsdC1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJHdidS1kZWZhdWx0LWZvbnQtc2l6ZTogMS42cmVtICFkZWZhdWx0O1xuJHdidS1kZWZhdWx0LWZvbnQtc2l6ZS1zbTogJHdidS1kZWZhdWx0LWZvbnQtc2l6ZSAqIDAuODggIWRlZmF1bHQ7XG4vL1xuJHdidS10aXRsZS1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiR3YnUtdGl0bGUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbi8vIEJpZyB0ZXh0ICggR2VuZXJhbGVtZW50IHBvdXIgbGVzIHNlY3Rpb25zIGhlcm8gKS5cbiR3YnUtdGl0cmUtc3VwcHJhOiAkd2J1LWRlZmF1bHQtZm9udC1zaXplICogNi41ICFkZWZhdWx0OyAvLyA5NnB4XG4kd2J1LXRpdHJlLXN1cHByYS1tOiAkd2J1LXRpdHJlLXN1cHByYSAqIDAuODggIWRlZmF1bHQ7XG4kd2J1LXRpdHJlLXN1cHByYS1kZDogJHdidS10aXRyZS1zdXBwcmEgKiAwLjc5ICFkZWZhdWx0O1xuJHdidS10aXRyZS1zdXBwcmEtc206ICR3YnUtdGl0cmUtc3VwcHJhICogMC42NSAhZGVmYXVsdDtcbiR3YnUtdGl0cmUtc3VwcHJhLXhzOiAkd2J1LXRpdHJlLXN1cHByYSAqIDAuNDUgIWRlZmF1bHQ7XG4vL1xuJHdidS10aXRyZS1iaWdnZXN0OiAkd2J1LWRlZmF1bHQtZm9udC1zaXplICogNSAhZGVmYXVsdDsgLy8gODhweFxuJHdidS10aXRyZS1iaWdnZXN0LW06ICR3YnUtdGl0cmUtYmlnZ2VzdCAqIDAuOSAhZGVmYXVsdDtcbiR3YnUtdGl0cmUtYmlnZ2VzdC1kZDogJHdidS10aXRyZS1iaWdnZXN0ICogMC44ICFkZWZhdWx0O1xuJHdidS10aXRyZS1iaWdnZXN0LXNtOiAkd2J1LXRpdHJlLWJpZ2dlc3QgKiAwLjcgIWRlZmF1bHQ7XG4kd2J1LXRpdHJlLWJpZ2dlc3QteHM6ICR3YnUtdGl0cmUtYmlnZ2VzdCAqIDAuNSAhZGVmYXVsdDtcbi8vXG4kd2J1LXRpdHJlLWJpZzogJHdidS1kZWZhdWx0LWZvbnQtc2l6ZSAqIDQgIWRlZmF1bHQ7IC8vIDcwLjRweFxuJHdidS10aXRyZS1iaWctbTogJHdidS10aXRyZS1iaWcgKiAwLjkgIWRlZmF1bHQ7XG4kd2J1LXRpdHJlLWJpZy1kZDogJHdidS10aXRyZS1iaWcgKiAwLjggIWRlZmF1bHQ7IC8vNTYucHhcbiR3YnUtdGl0cmUtYmlnLXNtOiAkd2J1LXRpdHJlLWJpZyAqIDAuNyAhZGVmYXVsdDsgLy8gNDkuMjhweFxuJHdidS10aXRyZS1iaWcteHM6ICR3YnUtdGl0cmUtYmlnICogMC41ICFkZWZhdWx0O1xuLy9oMVxuJHdidS1oMS1mb250LXNpemU6ICR3YnUtZGVmYXVsdC1mb250LXNpemUgKiAzLjUgIWRlZmF1bHQ7IC8vNTZweFxuJHdidS1oMS1mb250LXNpemUtbWQ6ICR3YnUtaDEtZm9udC1zaXplICogMC44ICFkZWZhdWx0OyAvLyA0NC44cHhcbiR3YnUtaDEtZm9udC1zaXplLXNtOiAkd2J1LWgxLWZvbnQtc2l6ZSAqIDAuNyAhZGVmYXVsdDsgLy8zOS4ycHhcbiR3YnUtaDEtbGluZS1oZWlnaHQ6ICR3YnUtZGVmYXVsdC1saW5lLWhlaWdodCAqIDEuNyAhZGVmYXVsdDtcbi8vaDJcbiR3YnUtaDItZm9udC1zaXplOiAkd2J1LWRlZmF1bHQtZm9udC1zaXplICogMi44ICFkZWZhdWx0OyAvLyA0NHB4XG4kd2J1LWgyLWZvbnQtc2l6ZS1zbTogJHdidS1oMi1mb250LXNpemUgKiAwLjc1ICFkZWZhdWx0OyAvLyAzNS4ycHhcbiR3YnUtaDItbGluZS1oZWlnaHQ6ICR3YnUtZGVmYXVsdC1saW5lLWhlaWdodCAqIDEuNSAhZGVmYXVsdDtcbi8vaDNcbiR3YnUtaDMtZm9udC1zaXplOiAkd2J1LWRlZmF1bHQtZm9udC1zaXplICogMi4yICFkZWZhdWx0OyAvLyAzNS4ycHhcbiR3YnUtaDMtZm9udC1zaXplLXNtOiAkd2J1LWgzLWZvbnQtc2l6ZSAqIDAuNzUgIWRlZmF1bHQ7IC8vIDI4LjE2cHhcbiR3YnUtaDMtbGluZS1oZWlnaHQ6ICR3YnUtZGVmYXVsdC1saW5lLWhlaWdodCAqIDEuMyAhZGVmYXVsdDsgLy8gMjguOHB4XG4vL2g0XG4kd2J1LWg0LWZvbnQtc2l6ZTogJHdidS1kZWZhdWx0LWZvbnQtc2l6ZSAqIDEuNSAhZGVmYXVsdDsgLy8gMjRweFxuJHdidS1oNC1saW5lLWhlaWdodDogJHdidS1kZWZhdWx0LWxpbmUtaGVpZ2h0ICogMS4xICFkZWZhdWx0OyAvLyAyOC44cHhcbi8vaDVcbiR3YnUtaDUtZm9udC1zaXplOiAkd2J1LWRlZmF1bHQtZm9udC1zaXplICogMS4yICFkZWZhdWx0OyAvLyAxOS4ycHhcbi8vaDZcbiR3YnUtaDYtZm9udC1zaXplOiAkd2J1LWRlZmF1bHQtZm9udC1zaXplICogMC44OCAhZGVmYXVsdDsgLy8gMTQuMDhweFxuLy8gUG91ciBsZXMgdGl0cmVzICggaDMsIGg0LCBoNSwgaDYgKSBwb3VyIGxlcyBwYyBldCB0ZWxlcGhvbmVzLlxuJHdidS10aXRsZS1mb250LXNpemU6IDEuNnJlbSAhZGVmYXVsdDtcbiR3YnUtdGl0bGUtZm9udC1zaXplLXNtOiAxLjZyZW0gIWRlZmF1bHQ7XG4vL1xuXG4vKiAqL1xuLy8gc3BhY2UuXG4kd2J1LW1hcmdpbjogMnJlbSAhZGVmYXVsdDtcbiR3YnUtcGFkZGluZzogMnJlbSAhZGVmYXVsdDtcbiR3YnUtaDEtbWFyZ2luOiAkd2J1LW1hcmdpbiAqIDAuNzUgIWRlZmF1bHQ7XG4kd2J1LWgyLW1hcmdpbjogJHdidS1tYXJnaW4gKiAwLjYyNSAhZGVmYXVsdDtcbiR3YnUtaDMtbWFyZ2luOiAkd2J1LW1hcmdpbiAqIDAuNTI2ICFkZWZhdWx0O1xuJHdidS1oNC1tYXJnaW46ICR3YnUtbWFyZ2luICogMC40NTQgIWRlZmF1bHQ7XG4vKiBQYWdlLWhlYWRlci1iZyAqL1xuJHdidS1wYWdlLWhlYWRlci1iZzogMjAwcHg7XG4vKiBQZXJtZXQgZGUgc3VyY2hhcmdlciBsZXMgdmFyaWFibGVzIGJvb3RzdHJhcCAqL1xuLy8gYm9vdHN0cmFwIHZhcmlhYmxlc1xuJHdidS1pbnB1dC1mb250LXNpemU6ICR3YnUtZGVmYXVsdC1mb250LXNpemUgIWRlZmF1bHQ7XG4kd2J1LWJ0bi1saW5lLWhlaWdodDogJHdidS1kZWZhdWx0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR3YnUtYnRuLWZvbnQtc2l6ZTogJHdidS1kZWZhdWx0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR3YnUtZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAkd2J1LW1hcmdpbjtcbiR3YnUtYnRuLXBhZGRpbmcteS1zbTogMy40cmVtICFkZWZhdWx0O1xuJHdidS1idG4tcGFkZGluZy14LXNtOiAwLjhyZW0gIWRlZmF1bHQ7XG4kd2J1LWJ0bi1mb250LXNpemUtc206ICR3YnUtZGVmYXVsdC1mb250LXNpemUgKiAwLjc1ICFkZWZhdWx0O1xuLy8gU3BhY2VcbiRzcGFjZV9ib3R0b206ICR3YnUtbWFyZ2luICogMy41O1xuJHNwYWNlX3RvcDogJHdidS1tYXJnaW4gKiAyLjU7XG4kc3BhY2VfaW5uZXJfdG9wOiAkc3BhY2VfdG9wICogMC41O1xuLy8gTWF4IHdpdGggZm9yIHRleHRcbiR3aXRoX3Bob25lOiA2MDBweDtcbiR3aXRoX3RhYmxldDogOTAwcHg7XG4kd2l0aF9jb250YWluZXI6IDEyMDBweDtcbiIsIi8qKlxuICogdmVyc2lvbiAxIDogSnVpbiAyMDIzXG4gKiBwb3VyIHZvaXIgbGVzIHN0YXRzIGQndXRpbGlzYXRpb24gZW4gZm9uY3Rpb24gZGUgbGEgdGFpbGxlIGRlcyBlY3JhbnMgOiBodHRwczovL2dzLnN0YXRjb3VudGVyLmNvbS9zY3JlZW4tcmVzb2x1dGlvbi1zdGF0cy9tb2JpbGUvd29ybGR3aWRlXG4gKi9cbi8vMzYwICgzNjB4ODAwIC4uLilcbiRTXzM2MF9maW46IDM1OXB4OyAvLyBTIDwgMzYwXG4kU18zNjBfZGVidXQ6IDM2MHB4OyAvLyBTID49IDM2MFxuLy80MDAgKDQxMng5MTUsIDQxNHg4OTYgLi4uKVxuJFNfNDAwX2ZpbjogMzk5cHg7IC8vIFMgPCA0MDBcbiRTXzQwMF9kZWJ1dDogNDAwcHg7IC8vIFMgPj0gNDAwXG4vLyBDVVNUT00ga2V5IDogbW9iaWxlXG4vLzU3NSAoYm9vdHN0cmFwIHY1KVxuJFNfNTc1X2ZpbjogNTc0cHg7IC8vIFMgPCA1NzVcbiRTXzU3NV9kZWJ1dDogNTc1cHg7IC8vIFMgPj0gNTc1XG4vLzYwMCAoNjAweDEwMjQsIDYwMXg5NjIgLi4uKVxuJFNfNjAwX2ZpbjogNTk5cHg7IC8vIFMgPCA2MDBcbiRTXzYwMF9kZWJ1dDogNjAwcHg7IC8vIFMgPj0gNjAwXG4vLyBDVVNUT00ga2V5IDogdGFibGV0XG4vLzc2OCAoYm9vdHN0cmFwLCA3Njh4MTAyNCAuLi4pXG4kU183NjhfZmluOiA3NjdweDsgLy8gUyA8IDc2OFxuJFNfNzY4X2RlYnV0OiA3NjhweDsgLy8gUyA+PSA3Njhcbi8vODAwICg4MDB4MTI4MCAuLi4pXG4kU184MDBfZmluOiA3OTlweDsgLy8gUyA8IDgwMFxuJFNfODAwX2RlYnV0OiA4MDBweDsgLy8gUyA+PSA4MDBcbi8vOTkyIChib290c3RyYXAgLi4uKVxuJFNfOTkyX2ZpbjogOTkxcHg7IC8vIFMgPCA5OTJcbiRTXzk5Ml9kZWJ1dDogOTkycHg7IC8vIFMgPj0gOTkyXG4vLzEyMDAgKGJvb3RzdHJhcCAuLi4pXG4kU18xMjAwX2ZpbjogMTE5OXB4OyAvLyBTIDwgMTIwMFxuJFNfMTIwMF9kZWJ1dDogMTIwMHB4OyAvLyBTID49IDEyMDBcbi8vMTI4MCAoMTI4MHg4MDAgLi4uKVxuJFNfMTI4MF9maW46IDEyNzlweDsgLy8gUyA8IDEyODBcbiRTXzEyODBfZGVidXQ6IDEyODBweDsgLy8gUyA+PSAxMjgwXG4vLyBDVVNUT00ga2V5IDogZGVza3RvcFxuLy8xMzY2ICgxMzY2eDc2OCAuLi4pXG4kU18xMzY2X2ZpbjogMTM2NXB4OyAvLyBTIDwgMTM2NlxuJFNfMTM2Nl9kZWJ1dDogMTM2NnB4OyAvLyBTID49IDEzNjZcbi8vMTQwMCAoYm9vdHN0cmFwIC4uLilcbiRTXzE0MDBfZmluOiAxMzk5cHg7IC8vIFMgPCAxNDAwXG4kU18xNDAwX2RlYnV0OiAxNDAwcHg7IC8vIFMgPj0gMTQwMFxuLy8xNTM2ICgxNTM2eDg2NCAuLi4pXG4kU18xNTM2X2ZpbjogMTUzNnB4OyAvLyBTIDwgMTUzNlxuJFNfMTUzNl9kZWJ1dDogMTUzNnB4OyAvLyBTID49IDE1MzZcbi8vMTkyMCAoMTkyMHgxMDgwIC4uLilcbiRTXzE5MjBfZmluOiAxOTE5cHg7IC8vIFMgPCAxOTIwXG4kU18xOTIwX2RlYnV0OiAxOTIwcHg7IC8vIFMgPj0gMTkyMFxuXG4vLyBlbmRcbi8qKlxuICogdmVyc2lvbiAwLlxuICogUmVtb3ZlIGJlZm9yZSAyeFxuICogQGRlcHJlY2lhdGVkIHZhbHVlLlxuICovXG4kWFhfZmluOiA0NDBweDtcbiRYU19kZWJ1dDogNDQxcHg7XG5cbiRYU19maW46IDU3NXB4O1xuJFNNX2RlYnV0OiA1NzZweDtcblxuJFNNX2ZpbjogNzY4cHg7XG4kTURfZGVidXQ6IDc2OXB4O1xuJE1EX2ZpbjogOTkxcHg7XG5cbiRERF9kZWJ1dDogOTkycHg7XG4kRERfZmluOiA5OTFweDtcblxuJE1TX2RlYnV0OiAxMDI1cHg7XG4kTVNfZmluOiAxMDI0cHg7XG5cbiRNX2RlYnV0OiAxMjAxcHg7XG4kTV9maW46IDEyMDBweDtcblxuJExNX2RlYnV0OiAxNDUxcHg7XG4kTE1fZmluOiAxNDUwcHg7XG5cbiRMX2RlYnV0OiAxNjAxcHg7XG4kTF9maW46IDE2MDBweDtcblxuJFhMX2RlYnV0OiAxOTIxcHg7XG4kWExfZmluOiAxOTIwcHg7XG5cbkBtaXhpbiBtZWRpYS1taW4oJF9rZXk6IGZhbHNlKSB7XG4gIEBpZiAkX2tleSA9PSBcIlhTXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFhTX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJTTVwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRTTV9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiTURcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkTURfZGVidXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIkREXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJEREX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJNU1wiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRNU19kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiTVwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRNX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJMTVwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRMTV9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiTFwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRMX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJYTFwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRYTF9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU18zNjBcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU18zNjBfZGVidXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIlNfNDAwXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfNDAwX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJTXzU3NVwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRTXzU3NV9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU182MDBcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU182MDBfZGVidXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIlNfNzY4XCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfNzY4X2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJTXzgwMFwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRTXzgwMF9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU185OTJcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU185OTJfZGVidXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIlhMXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFhMX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJTXzEyMDBcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU18xMjAwX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJTXzEyODBcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU18xMjgwX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJTXzEzNjZcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU18xMzY2X2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJTXzE0MDBcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU18xNDAwX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJTXzE1MzZcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU18xNTM2X2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJTXzE5MjBcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU18xOTIwX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgLy8gQ3VzdG9tIGtleVxuICBAZWxzZSBpZiAkX2tleSA9PSBcIm1vYmlsZVwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRTXzU3NV9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwidGFibGV0XCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfNzY4X2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJib290c3RyYXBfbGdcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU185OTJfZGVidXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcImRlc2t0b3BcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU18xMzY2X2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIlByb3BlcnR5ICN7JF9rZXl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlLCBzZWUgQGZpbGUgc2Nzcy9kZWZhdXQvbW9kZWwvY3VzdG9tX2JwLnNjc3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uIFwiO1xuICB9XG59XG5cbkBtaXhpbiBtZWRpYS1tYXgoJF9rZXkpIHtcbiAgQGlmICRfa2V5ID09IFwiWFhcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkWFhfZmluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJTTVwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTTV9maW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIlhTXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFhTX2Zpbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiTURcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkTURfZmluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJERFwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRERF9maW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIk1TXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJE1TX2Zpbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIC8vIEN1c3RvbSBrZXlcbiAgQGVsc2UgaWYgJF9rZXkgPT0gXCJtb2JpbGVcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU181NzVfZmluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJ0YWJsZXRcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU183NjhfZmluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJib290c3RyYXBfbGdcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU185OTJfZmluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJkZXNrdG9wXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNfMTM2Nl9maW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiUHJvcGVydHkgI3skX2tleX0gaXMgbm90IGEgdmFsaWQgdmFsdWUsIHNlZSBAZmlsZSBzY3NzL2RlZmF1dC9tb2RlbC9jdXN0b21fYnAuc2NzcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gXCI7XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi9tb2RlbC9jdXN0b21fYnAuc2Nzc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLyoqXG4gKiAgQnJlYWNrIHBvaW50IGhlcm8uXG4gKi9cbkBtaXhpbiB3YnUtdGl0cmUtYmlnZ2VzdCgpIHtcbiAgZm9udC1zaXplOiAkd2J1LXRpdHJlLWJpZ2dlc3QteHM7XG4gIEBpbmNsdWRlIG1lZGlhLW1pbihTTSkge1xuICAgIGZvbnQtc2l6ZTogJHdidS10aXRyZS1iaWdnZXN0LXNtO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLW1pbihERCkge1xuICAgIGZvbnQtc2l6ZTogJHdidS10aXRyZS1iaWdnZXN0LWRkO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLW1pbihNKSB7XG4gICAgZm9udC1zaXplOiAkd2J1LXRpdHJlLWJpZ2dlc3QtbTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1taW4oTE0pIHtcbiAgICBmb250LXNpemU6ICR3YnUtdGl0cmUtYmlnZ2VzdDtcbiAgfVxufVxuXG4vKipcbiAqICBCcmVhY2sgcG9pbnQgaGVyby5cbiAqL1xuQG1peGluIHdidS10aXRyZS1iaWcoKSB7XG4gIGZvbnQtc2l6ZTogJHdidS10aXRyZS1iaWcteHM7XG4gIEBpbmNsdWRlIG1lZGlhLW1pbihTTSkge1xuICAgIGZvbnQtc2l6ZTogJHdidS10aXRyZS1iaWctc207XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtbWluKEREKSB7XG4gICAgZm9udC1zaXplOiAkd2J1LXRpdHJlLWJpZy1kZDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1taW4oTSkge1xuICAgIGZvbnQtc2l6ZTogJHdidS10aXRyZS1iaWctbTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1taW4oTE0pIHtcbiAgICBmb250LXNpemU6ICR3YnUtdGl0cmUtYmlnO1xuICB9XG59XG5cbkBtaXhpbiBicF9oZXJvKCkge1xuICBAaW5jbHVkZSB3YnUtdGl0cmUtYmlnZ2VzdCgpO1xufVxuXG5AbWl4aW4gd2J1LXRpdHJlLXN1cHByYSgpIHtcbiAgZm9udC1zaXplOiAkd2J1LXRpdHJlLXN1cHByYS14cztcbiAgQGluY2x1ZGUgbWVkaWEtbWluKFNNKSB7XG4gICAgZm9udC1zaXplOiAkd2J1LXRpdHJlLXN1cHByYS1zbTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1taW4oREQpIHtcbiAgICBmb250LXNpemU6ICR3YnUtdGl0cmUtc3VwcHJhLWRkO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLW1pbihNKSB7XG4gICAgZm9udC1zaXplOiAkd2J1LXRpdHJlLXN1cHByYS1tO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLW1pbihMTSkge1xuICAgIGZvbnQtc2l6ZTogJHdidS10aXRyZS1zdXBwcmE7XG4gIH1cbn1cblxuLyoqXG4gKiAgQnJlYWNrIHBvaW50IGgxLlxuICovXG5AbWl4aW4gYnBfaDEoKSB7XG4gIGZvbnQtc2l6ZTogJHdidS1oMS1mb250LXNpemUtc207XG4gIEBpbmNsdWRlIG1lZGlhLW1pbihERCkge1xuICAgIGZvbnQtc2l6ZTogJHdidS1oMS1mb250LXNpemUtbWQ7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtbWluKE0pIHtcbiAgICBmb250LXNpemU6ICR3YnUtaDEtZm9udC1zaXplO1xuICB9XG59XG5cbi8qKlxuICogIEJyZWFjayBwb2ludCBoMi5cbiAqL1xuQG1peGluIGJwX2gyKCkge1xuICBmb250LXNpemU6ICR3YnUtaDItZm9udC1zaXplLXNtO1xuICBAaW5jbHVkZSBtZWRpYS1taW4oREQpIHtcbiAgICBmb250LXNpemU6ICR3YnUtaDItZm9udC1zaXplO1xuICB9XG59XG5cbi8qKlxuICogIEJyZWFjayBwb2ludCBoMy5cbiAqL1xuQG1peGluIGJwX2gzKCkge1xuICBmb250LXNpemU6ICR3YnUtaDMtZm9udC1zaXplLXNtO1xuICBAaW5jbHVkZSBtZWRpYS1taW4oREQpIHtcbiAgICBmb250LXNpemU6ICR3YnUtaDMtZm9udC1zaXplO1xuICB9XG59XG5cbi8qKlxuICogIEJyZWFjayBwb2ludCBoNC5cbiAqL1xuQG1peGluIGJwX2g0KCkge1xuICBmb250LXNpemU6ICR3YnUtZGVmYXVsdC1mb250LXNpemU7XG4gIEBpbmNsdWRlIG1lZGlhLW1pbihERCkge1xuICAgIGZvbnQtc2l6ZTogJHdidS1oNC1mb250LXNpemU7XG4gIH1cbn1cblxuLyoqXG4gKiAgQnJlYWNrIHBvaW50IGg1LlxuICovXG5AbWl4aW4gYnBfaDUoKSB7XG4gIGZvbnQtc2l6ZTogJHdidS1oNS1mb250LXNpemU7XG59XG5cbi8qKlxuICogIEJyZWFjayBwb2ludCBoNi5cbiAqL1xuQG1peGluIGJwX2g2KCkge1xuICBmb250LXNpemU6ICR3YnUtaDYtZm9udC1zaXplO1xufVxuIiwiLyoqXG4gKiBDaGFyZ2VtZW50IHByb2dyZXNzaWZcbiAqL1xuQG1peGluIGxvYWRfcHJvZ3Jlc3NpdmVfaW1hZ2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBmaWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcywgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIgNDAwbXMsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIDQwMG1zO1xuICB9XG5cbiAgJi5sYXp5bG9hZGVkOjphZnRlciB7XG4gICAgZmlsdGVyOiBub25lO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogbm9uZTtcbiAgfVxufVxuXG4vKipcbiAqIEFmZmljaGFnZSBkZSBsYSBsYW5ndWUuXG4gKiBNb2RlbCBzaW1wbGUuXG4gKi9cbkBtaXhpbiBzZWxlY3RfbGFuZ3VlKCRwYWRkaW5nOiAwLjNlbSkge1xuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGNvbG9yOiAkdGV4dF9ub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtbGluay5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiAkbGlua19jb2xvcjtcbiAgfVxufVxuXG4vKipcbiAqXG4gKi9cbkBtaXhpbiBlZmZldF9ib3V0dG9uKCRjb2xvcjogJGNvbG9yMiwgJGNvbG9yX2hvdmVyOiAkY29sb3IyKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44ZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEtbWluKEREKSB7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgPiBhIHtcbiAgICBwYWRkaW5nOiAwLjllbSAyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBAaW5jbHVkZSBXQlV0cmFuc2l0aW9uKCk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgPiBhIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX2hvdmVyO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBMYWJlbEFkZFJlcXVpcmVkU3RhcigkY29sb3Jfc3Rhcikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAqIFwiO1xuICAgIGNvbG9yOiAkY29sb3Jfc3RhcjtcbiAgfVxufVxuQG1peGluIHJlcXVpcmVkRmllbGRGb3JtKCRjb2xvcl9zdGFyKSB7XG4gIGxhYmVsW2NsYXNzKj1cInJlcXVpcmVkXCJdLFxuICBsZWdlbmRbY2xhc3MqPVwicmVxdWlyZWRcIl0ge1xuICAgIEBpbmNsdWRlIExhYmVsQWRkUmVxdWlyZWRTdGFyKCRjb2xvcl9zdGFyKTtcbiAgfVxuICAuZm9ybS1pdGVtLnJlcXVpcmVkIHtcbiAgICBsZWdlbmQgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBMYWJlbEFkZFJlcXVpcmVkU3RhcigkY29sb3Jfc3Rhcik7XG4gICAgfVxuICB9XG4gIC5qcy1mb3JtLXR5cGUtY2hlY2tib3gge1xuICAgIGlucHV0LnJlcXVpcmVkICsgbGFiZWwge1xuICAgICAgQGluY2x1ZGUgTGFiZWxBZGRSZXF1aXJlZFN0YXIoJGNvbG9yX3N0YXIpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIENhcmQgcm90YXRpb25cbiAqL1xuQG1peGluIGNhcmRfcm90YXRpb24oJGJhY2tncm91bmRfYmc6ICMzYzUyNjUpIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvL292ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHJvdGF0ZVBlcnBlY3RpdmUoJHdpZHRoOiAyOTJweCwgJGhlaWdodDogNDAwcHgsICR0aW1lOiAwLjVzKTtcblxuICAuY2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkLWJvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuY2FyZC10ZXh0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG4gIH1cbn1cbi8qKlxuKiBUcmFuc2xhdGlvbiBvbiBob3ZlclxuKi9cbkBtaXhpbiBXQlV0cmFuc2l0aW9uKCRwcm9wcmlldGU6IGFsbCwgJHRlbXBzOiAwLjNzLCAkc3R5bGU6IGVhc2UtaW4tb3V0KSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wcmlldGU7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICR0ZW1wcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRzdHlsZTtcbn1cbi8qKlxuKiBCZWZvcmUgY292ZXJcbiovXG5AbWl4aW4gYmVmb3JlQ292ZXIoJGJnX2NvbG9yOiByZ2JhKDUsIDEyLCAyOSwgMC40KSwgJHppbmRleDogMCkge1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdfY29sb3I7XG4gICAgei1pbmRleDogJHppbmRleDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbi8qKlxuKiBCZWZvcmUgY292ZXJcbiovXG5AbWl4aW4gYWZ0ZXJDb3ZlcigkYmdfY29sb3I6IHJnYmEoNSwgMTIsIDI5LCAwLjQpKSB7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnX2NvbG9yO1xuICAgIHotaW5kZXg6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4vKipcbiAqICBwYXMgZGUgcmV0b3VyIMOgIGxhIGxpZ25lXG4gKi9cbkBtaXhpbiBub3RiYWNrbGluZSgkd2lkdGg6IDEwMHB4KSB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4vKipcbiAqICBNaXhpbiBmb3IgbXVsdGlsaW5lIGxpbWl0IHRleHQgY3NzXG4gKiBAZGVwcmVjaWF0ZWQgbW92ZSBiZWZvcmUgMngsIFxuICogQHVzZSBlbGxpcHNlVGV4dFxuICovXG5AbWl4aW4gbXVsdGlMaW5lRWxsaXBzaXMoJGxpbmVIZWlnaHQ6IDEuMmVtLCAkbGluZUNvdW50OiAxLCAkYmdDb2xvcjogd2hpdGUsICR0ZXh0LWFsaWduOiBsZWZ0LCAkb3BhY2l0eTogMC41LCAkZWxsaXBzaXMtbWFyZ2luLXJpZ2h0OiAwKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZUhlaWdodDtcbiAgbWF4LWhlaWdodDogJGxpbmVIZWlnaHQgKiAkbGluZUNvdW50O1xuICB0ZXh0LWFsaWduOiAkdGV4dC1hbGlnbjtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICRtdWx0aUxpbmVFbGxpcHNpc19iZWZvcmU6ICRsaW5lSGVpZ2h0ICogJGxpbmVDb3VudDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIuLi5cIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAtMWVtO1xuICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRlbGxpcHNpcy1tYXJnaW4tcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogY2FsYygjeyRtdWx0aUxpbmVFbGxpcHNpc19iZWZvcmV9IC0gMXB4KTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogLTFlbTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIG1hcmdpbi10b3A6ICRsaW5lSGVpZ2h0ICogJGxpbmVDb3VudDtcbiAgICBiYWNrZ3JvdW5kOiAkYmdDb2xvcjtcbiAgICBtYXJnaW4tcmlnaHQ6ICRlbGxpcHNpcy1tYXJnaW4tcmlnaHQ7XG4gIH1cbn1cblxuLyoqXG4gKiBQZXJtZXQgZGUgZGVmaW5pciBsZSBub21icmUgZGUgbGlnbmUgbWF4IGEgYWZmaWNoZXJcbiAqL1xuQG1peGluIGVsbGlwc2VUZXh0KCRsaWduZTogMikge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAkbGlnbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbkBtaXhpbiBjb3Zlci1saW5rKCkge1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4vL2h0dHBzOi8vY29kZXBlbi5pby93YWJlc2hldy9wZW4vWGRiQmRNXG5AbWl4aW4gd2FpdGluZ2JvdWxlKCkge1xuICAkd2lkdGg6IDE1cHg7XG4gICRoZWlnaHQ6IDE1cHg7XG4gICRib3VuY2VfaGVpZ2h0OiAzMHB4O1xuXG4gIC5ib3VuY2ViYWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMzdweDtcbiAgICB3aWR0aDogJHdpZHRoO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmFlMTc7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gICAgICBhbmltYXRpb246IGJvdW5jZSA1MDBtcyBhbHRlcm5hdGUgaW5maW5pdGUgZWFzZTtcbiAgICB9XG4gIH1cbiAgQGtleWZyYW1lcyBib3VuY2Uge1xuICAgIDAlIHtcbiAgICAgIHRvcDogJGJvdW5jZV9oZWlnaHQ7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDYwcHggNjBweCAyMHB4IDIwcHg7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgyKTtcbiAgICB9XG5cbiAgICAzNSUge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LWVsZW1lbnQoJHBhZGRpbmdUOiAxMHB4LCAkcGFkZGluZ0I6IDEwcHgsICRwYWRkaW5nTDogNXB4LCAkcGFkZGluZ1I6IDVweCwgJGJvcmRlclc6IDFweCkge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1heC13aWR0aDogNjAwcHg7XG5cbiAgbGkge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nVCAkcGFkZGluZ1IgJHBhZGRpbmdCICRwYWRkaW5nTDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlclcgc29saWQgJGJvcmRlci1jb2xvcjtcblxuICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgPiAqOmZpcnN0LWNoaWxkICsgKiB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG1pbi13aWR0aDogNTBweDtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogIEltYWdlcyBhcmVhIHRvIHByZWxvYWQsXG4gKiAgb24gYWpvdXRlIHN1ciBsYSBkaXYgY29udGVuYW50IGwnaW1hZ2VcbiAqL1xuQG1peGluIGltYWdlLWRwYWNlLXByZWxvYWQoJHNwYWNlOiA3MCUpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuXG4gIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2U7XG4gIH1cbn1cbi8qKlxuICpcbiAqL1xuQG1peGluIGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3I6ICM5MjkwOTAsICRlbmQtY29sb3I6ICNlMmUyZTIsICRvcmllbnRhdGlvbjogXCJ2ZXJ0aWNhbFwiKSB7XG4gIGJhY2tncm91bmQ6ICRzdGFydC1jb2xvcjtcblxuICBAaWYgJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiIHtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgfSBAZWxzZSBpZiAkb3JpZW50YXRpb249PSBcImhvcml6b250YWxcIiB7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIH1cbn1cbi8qKlxuICogQWZmZXQgT21icmVcbiAqL1xuQG1peGluIG9tYnJlKCRzdGFydC1jb2xvcjogI2IxYjBiMCwgJGVuZC1jb2xvcjogI2ZmZmNmYykge1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yLCAkb3JpZW50YXRpb246IFwidmVydGljYWxcIik7XG59XG5AbWl4aW4gcm9yYXRpb25ibG9jaygpIHtcbiAgd2lkdGg6IDQwMHB4O1xuICBoZWlnaHQ6IDQwMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZmY7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDYwMHB4O1xuICBwZXJzcGVjdGl2ZTogNjAwcHg7XG5cbiAgLmZhY2UtYXZhbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogMC44cztcbiAgfVxuXG4gIC5mYWNlLWFycmllcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMDBmO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZXkoLTE4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV5KC0xODBkZWcpO1xuICAgIHRyYW5zaXRpb246IDAuOHM7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAuZmFjZS1hcnJpZXJlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRleSgwKTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV5KDApO1xuICAgIH1cblxuICAgIC5mYWNlLWF2YW50IHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV5KDE4MGRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZXkoMTgwZGVnKTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogUHJpY2VsaXN0XG4gKi9cbkBtaXhpbiBwcmljZUxpc3QoJGJhY2tncm91bmRfYmc6ICMzYzUyNjUpIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1heC13aWR0aDogMzUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5jYXJkLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmRfYmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWluLWhlaWdodDogOTBweDtcbiAgICBmb250LXNpemU6IDAuN2VtO1xuICAgIEBpbmNsdWRlIG1lZGlhLW1pbihYUykge1xuICAgICAgbWluLWhlaWdodDogMTE1cHg7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC0xOXB4OyAvLy0yOHB4O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiAxMjYlO1xuICAgICAgd2lkdGg6IDExMCU7IC8vMTE0JTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4IDAgMCAwO1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDtcblxuICAgICAgPiBwYXRoIHtcbiAgICAgICAgZmlsbDogJGJhY2tncm91bmRfYmc7XG4gICAgICAgIHN0cm9rZTogJGJhY2tncm91bmRfYmc7XG4gICAgICAgIHN0cm9rZS13aWR0aDogMDtcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbiAgICAgIH1cblxuICAgICAgPiBwYXRoLm9tYnJlLWxlZnQge1xuICAgICAgICBmaWxsOiBkYXJrZW4oJGJhY2tncm91bmRfYmcsIDcpO1xuICAgICAgICBzdHJva2U6IGRhcmtlbigkYmFja2dyb3VuZF9iZywgNyk7XG4gICAgICAgIGQ6IHBhdGgoXCJNIDAsODAgTCAyMCw3OSBMIDEwLDEwMFwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUtc21hbGwge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtYm9keSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAyZW0gMC44cmVtIDAuOHJlbTtcbiAgICBAaW5jbHVkZSBtZWRpYS1taW4oWFMpIHtcbiAgICAgIHBhZGRpbmc6IDJlbSAxLjI1cmVtIDEuMjVyZW07XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgICAgYmFja2dyb3VuZDogI2UyZTJlMjtcbiAgICAgIEBpbmNsdWRlIG9tYnJlKCk7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC5ib2R5LWhlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRiYWNrZ3JvdW5kX2JnO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAuY2FyZC10aXRsZS5wcmljZSxcbiAgLmNhcmQtdGl0bGUucHJpY2UtcHJvbW8ge1xuICAgIGZvbnQtc2l6ZTogMi4yZW07XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XG4gIH1cblxuICAuY2FyZC10aXRsZS5wcmljZS5iYXJyZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMS4yNXJlbTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIGNvbG9yOiAjZjU1MDRiO1xuICB9XG5cbiAgLmNhcmQtdGl0bGUucHJpY2Utc3VmZml4IHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICB9XG5cbiAgLmxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG5cbiAgICAuaWNvbmUge1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcblxuICAgICAgaSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTtcbiAgICAgIH1cblxuICAgICAgaS5hY3RpdmUge1xuICAgICAgICBjb2xvcjogbGlnaHRlbigkY29sb3I6ICRiYWNrZ3JvdW5kX2JnLCAkYW1vdW50OiAxMCk7XG4gICAgICB9XG5cbiAgICAgIGkuZGlzYWJsZSB7XG4gICAgICAgIGNvbG9yOiAjYzEyZjJmO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5leHBsaWNhdGlvbiB7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cbiAgfVxuXG4gIC5idG4ge1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZF9iZztcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kX2JnO1xuICB9XG5cbiAgLmJ0bjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2F0dXJhdGUoJGNvbG9yOiAkYmFja2dyb3VuZF9iZywgJGFtb3VudDogMjUlKTtcbiAgICBib3JkZXItY29sb3I6IHNhdHVyYXRlKCRjb2xvcjogJGJhY2tncm91bmRfYmcsICRhbW91bnQ6IDI1JSk7XG4gIH1cblxuICAuYnRuLmZvY3VzLFxuICAuYnRuOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgkYmFja2dyb3VuZF9iZywgMC41KTtcbiAgfVxuXG4gIC5hY3Rpb25zIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJhY2tncm91bmRfYmc7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgb21icmUoJHN0YXJ0LWNvbG9yOiAjYjFiMGIwLCAkZW5kLWNvbG9yOiAjZmZmY2ZjKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYWl0Qm90dG9tKCR3YnUtbWFyZ2luLCAkd2J1LWJvcmRlci1jb2xvciwgJHdidS13aWR0aDogNDBweCwgJHdidS1tYXJnaW4tbGVmdDogYXV0bykge1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBtYXJnaW4tdG9wOiAkd2J1LW1hcmdpbiAqIDAuODtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2J1LWJvcmRlci1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogJHdidS1tYXJnaW4tbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6ICR3YnUtd2lkdGg7XG4gICAgaGVpZ2h0OiAycHg7XG4gIH1cbn1cblxuQG1peGluIGFkZFR3b1BvaW50QWZ0ZXJMYWJlbCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDJweDtcbiAgfVxufVxuIiwiQGZvcndhcmQgXCIuL21peGlucy9fd2J1X21peGlucy5zY3NzXCI7XG5AZm9yd2FyZCBcIi4vZGVmYXV0L21vZGVsL2N1c3RvbV9icC5zY3NzXCI7XG5AZm9yd2FyZCBcIi4vZGVmYXV0L21peGlucy90eXBvZ3JhcGh5LnNjc3NcIjtcbkBmb3J3YXJkIFwiLi9kZWZhdXQvbWl4aW5zL2NvbXBvbmVudHMuc2Nzc1wiO1xuLy8gc2UgcmFzc3VyZXIgcXVlIGxhIHN1cmNoYWdlIGJvb3RzdHJhcCBmdW5jdGlvbm5lLCBzaW5vbiwgb24gY3JlZSB1biBhdXRyZSBmaWNoaWVyLlxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuXG4vKipcbiAqIE9uIGEgdW4gYnVnIGF2ZWMgbGEgZm9uY3Rpb24gY29sb3IteWlxIMOgIHBhcnRpciBkZSBsYSB2ZXJzaW9uIGJvb3RzdHJhcDUsIFxuICogYm9yZGVyLWNvbG9yOiByZ2JhKGNvbG9yLXlpcSgkd2J1LWJhY2tncm91bmQpLCAyMCUpOyBuZSBmb25jdGlvbm5lIHBhcy5cbiAqICggcmFpc29uIGNldHRlIGZvbmN0aW9uIGVzdCByZXByZXNzaWVyICwgaWwgZmF1dCB1dGlsaXNlciBjb2xvci1jb250cmFzdCgpICkuXG4gKi9cbi8vIE9uIG1hc3F1ZSBjZXR0ZSBmb25jdGlvbiBjYXIgbGUgY2FsY3VsIG4nZXN0IHBhcyBhc3NleiBleGFjdC5cbi8vIEBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yKSB7XG4vLyAgICRyZXN1bHQ6IGludmVydCgkY29sb3IpO1xuLy8gICAkbGlnaHRuZXNzOiBsaWdodG5lc3MoJHJlc3VsdCk7XG4vLyAgIEBpZiAoJGxpZ2h0bmVzcyA8IDUwKSB7XG4vLyAgICAgJHJlc3VsdDogYmxhY2s7XG4vLyAgIH1cbi8vICAgQHJldHVybiAkcmVzdWx0O1xuLy8gfVxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IpIHtcbiAgQHJldHVybiBjb2xvci1jb250cmFzdCgkY29sb3IpO1xufVxuIiwiQHVzZSBcIi4uL3ZhcmlhYmxlXCIgYXMgKjtcbi50b3AtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAkd2J1LW1hcmdpbiAqIDAuNSAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzdkZWcsIGRhcmtlbigkd2J1LWNvbG9yLXByaW1hcnksIDEwKSAxNiUsICR3YnUtY29sb3ItcHJpbWFyeSA2MSUpO1xuICAgIC8qKlxuICAgICAgbGluZWFyLWdyYWRpZW50KDEzOGRlZywgcmdiKDIyMSA4MSAxMCkgMTYlXG4gICAgICAxNiVcbiAgICAgIDE2JSwgI2YxNjAxNiA2MSUpO1xuICAgICovXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgaW1nLmxvZ28ge1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuc2VjdGlvbi50b3Age1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMnB4IDVweCAjMDAwMDAwNGY7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICYuYnJhbmRpbmcge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubWVudXMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtbWluKE1EKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEuYnRuIHtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudXNlci1tZW51cyB7XG4gICAgICAgIHN2ZyxcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICB9XG4gICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgLy8gLnVzZXItaW5mb3Mge1xuICAgICAgICAvLyAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICAgIC8vIH1cbiAgICAgICAgaW1nLmltYWdlLXByb2ZpbGUge1xuICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvL1xuICAgIC5ibG9jay11c2VyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHdidS1tYXJnaW4gIWltcG9ydGFudDtcbiAgICAgICAgJi5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMTFweDtcbiAgICAgICAgICAgICAgICByaWdodDogNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxNHB4IHNvbGlkIHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJHdidS1jb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR3YnUtbWFyZ2luICogMC4yNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDJweCA1cHggIzAwMDAwMDRmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkd2J1LW1hcmdpbiAqIDAuMjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVcIiBhcyAqO1xuLnNpdGUtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdidS1jb2xvci1ib2RlcjtcbiAgICAuZmFjZWJvb2tfYmxvY2sge1xuICAgICAgICBtaW4taGVpZ2h0OiAxNjVweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAkd2J1LW1hcmdpbiAqIDAuNTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDIlO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtbWluKE1EKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICAgICAgICB9XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgICYuZmFjZWJvb2sge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4LjVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4LjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJvdHRvbSB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICYuZmFjZWJvb2sge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5hdiB7XG4gICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBjb2xvcjogJHdidS1jb2xvci10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mb290ZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICB9XG4gICAgLnJ4cyB7XG4gICAgICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHdidS1tYXJnaW4gKiAwLjI1O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkd2J1LW1hcmdpbiAqIDAuMjU7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIFdCVXRyYW5zaXRpb24oJHRlbXBzOiAwLjNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkd2J1LWNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLmFsZXJ0cy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAxNXB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBAaW5jbHVkZSBtZWRpYS1taW4oU00pIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gICAgPiAuYWxlcnQge1xuICAgICAgICBtYXJnaW46IDJyZW0gMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBib3gtc2hhZG93OiAxcHggNnB4IDEwcHggLThweCAjMTAxMDEwO1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVcIiBhcyAqO1xuYm9keSB7XG4gICAgOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuOCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2FkYWRhZCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5mb3JtLWZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkd2J1LW1hcmdpbjtcbn1cbiIsIkB1c2UgXCIuLi92YXJpYWJsZVwiIGFzICo7XG4ucm93LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBAaW5jbHVkZSBtZWRpYS1taW4oREQpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgJi0tbGVmdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1taW4oREQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skd19yaWdodH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgICYtLXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW1pbihERCkge1xuICAgICAgICAgICAgd2lkdGg6ICR3X3JpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgICYuaW52ZXJzZSB7XG4gICAgICAgIC5yb3ctY29udGVudC0tbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1taW4oREQpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJHdfcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnJvdy1jb250ZW50LS1yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1taW4oREQpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skd19yaWdodH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL3ZhcmlhYmxlXCIgYXMgKjtcbnNlY3Rpb24ge1xuICAgIC50aXRyZS1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkd2J1LW1hcmdpbjtcbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vLi4vdmFyaWFibGVcIiBhcyAqO1xuLnRlYXNlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKCR3YnUtYm9yZGVyLWNvbG9yLCAwLjQpO1xuICAgIC5jb250ZW50LWltZyB7XG4gICAgICAgIGhlaWdodDogMTcwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAkd2J1LW1hcmdpbiAqIDAuNTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgV0JVdHJhbnNpdGlvbigkdGVtcHM6IDFzLCAkc3R5bGU6IGxpbmVhcik7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRlbnQtc3ZnLXdpc2hsaXN0IHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIG1pbi13aWR0aDogNTBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjNyZW0gMS4zcmVtIDAuNXJlbSAwLjVyZW07XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICR3YnUtY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLndpc2hsaXN0LWZpbGwge1xuICAgICAgICAgICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJHdidS1jb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzAwMDAwMDM4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLWJvZGR5IHtcbiAgICAgICAgcGFkZGluZzogMCAkd2J1LW1hcmdpbiAqIDAuNTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICAvL2NvbG9yOiBsaWdodGVuKCRjb2xvcjogJHdidS1jb2xvci10ZXh0LCAkYW1vdW50OiAxMCUpO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJhZGdldHMge1xuICAgICAgICAucXVhbGl0eSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogODglO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5yZXZpZXdzIHtcbiAgICAgICAgLmF2YXRhciB7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHN2Zy5zdGFydCB7XG4gICAgICAgICAgICB3aWR0aDogMS44cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjhyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkd2J1LWNvbG9yLXByaW1hcnksIDAuNCk7XG4gICAgICAgIC5jb250ZW50LWltZyB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogOHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQtdGl0bGUge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3YnUtY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnByZXN0YXRpb24ge1xuICAgICAgICAuY29udGVudC1pbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi92YXJpYWJsZVwiIGFzICo7XG4uc2lkZWJhciB7XG4gICAgJi5maXhlZCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC01MDBweDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgV0JVdHJhbnNpdGlvbigpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIG1lZGlhLW1pbihTTSkge1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIH1cbiAgICAmLS1jb3VudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwODA4MDg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDE5cHggLTRweCAjMDAwMDAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNXB4LCAtN3B4KTtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgfVxuICAgICYtLW9wZW4ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICYtLWhlYWRlciB7XG4gICAgICAgIHN2Zy5jbG9zZSB7XG4gICAgICAgICAgICB3aWR0aDogJHdidS1tYXJnaW4gKiAxLjI1O1xuICAgICAgICAgICAgaGVpZ2h0OiAkd2J1LW1hcmdpbiAqIDEuMjU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAkd2J1LW1hcmdpbiAqIDAuNzU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICM3NDc0NzQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogIzBlMGQwZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tb3ZlcmxheSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBAaW5jbHVkZSBXQlV0cmFuc2l0aW9uKCk7XG4gICAgfVxuICAgICYub3BlbiB7XG4gICAgICAgICYuZml4ZWQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgICAgIH1cbiAgICAgICAgLnNpZGViYXItLW92ZXJsYXkge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgei1pbmRleDogLTM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3YnUtYmFja2dyb3VuZCwgMC4yNSk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVcIiBhcyAqO1xuLmFjY29yZGlvbiB7XG4gICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHdidS1tYXJnaW4gKiAwLjU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkd2J1LWNvbG9yLXByaW1hcnksIDMwJSk7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1pdGVtLFxuICAgIC5hY2NvcmRpb24taGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB9XG4gICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtbWluKE1EKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJHdidS1tYXJnaW47XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHdidS1tYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFjY29yZGlvbi1ib2R5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtbWluKE1EKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR3YnUtbWFyZ2luICogMS41O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHdidS1tYXJnaW4gKiAxLjU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHdidS1tYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5pbnYtYmxhY2staGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAwIDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1MCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIFdCVXRyYW5zaXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCItXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNTAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBXQlV0cmFuc2l0aW9uKCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBXQlV0cmFuc2l0aW9uKCk7XG4gICAgICAgICAgICAmLnNob3cge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/