@charset "UTF-8";
/**
 * @file
 * Styles are organized using the SMACSS technique. @see http://smacss.com/book/
 *
 * When you turn on CSS aggregation at admin/config/development/performance, all
 * of these @include files will be combined into a single file.
 */
/* Import Sass mixins, variables, modules, etc. */
/* DECLARE FONTS
******************************/
@font-face {
  font-family: ProximaNova-Regular;
  src: url("../../fonts/proximanova_regular/ProximaNova-Reg-webfont.eot");
  src: url("../../fonts/proximanova_regular/ProximaNova-Reg-webfont.eot?#iefix") format("embedded-opentype"), url("../../fonts/proximanova_regular/ProximaNova-Reg-webfont.woff") format("woff"), url("../../fonts/proximanova_regular/ProximaNova-Reg-webfont.ttf") format("truetype"), url("../../fonts/proximanova_regular/ProximaNova-Reg-webfont.svg#ProximaNova-Regular") format("svg");
  font-weight: 400;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: ProximaNova-Regular;
    src: url("../../fonts/proximanova_regular/ProximaNova-Reg-webfont.svg#ProximaNova-Regular") format("svg"); } }

/* 

Breakpoints

mobile       : 320 - 759
mobile-1     : 320 - 499
mobile-2     : 500 - 759

tablet       : 760 - 1023
tablet-1     : 760 - 923
tablet-2     : 924 - 1023

desktop      : 1024 - 1279
desktop-1    : 1024 - 1139
desktop-2    : 1140 - 1279

lg-desktop   : 1280 - 1680
lg-desktop-1 : 1280 - 1439
lg-desktop-2 : 1440 - 1680

*/
.video-player {
  position: relative;
  padding-bottom: 56.25%;
  /* padding-top: 30px; */
  height: 0;
  overflow: hidden; }
  .video-player iframe,
  .video-player object,
  .video-player embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0; }

#page .field--download a, .field--download #page a,
#page a.button-link,
#page a.btn, #page .region-sidebar-second .block .block-interior .content .more-link a, .region-sidebar-second .block .block-interior .content .more-link #page a, #page .blockscolumns .block.gray-block .block-interior .more-link a, #page .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all #page a, #page #titling-container button:not(.trigger), #titling-container #page button:not(.trigger),
#page #titling-container input[type="submit"], #titling-container #page input[type="submit"],
#page #titling-container input[type="button"], #titling-container #page input[type="button"],
#page #main-wrapper form button:not(.trigger), #main-wrapper form #page button:not(.trigger),
#page #main-wrapper form input[type="submit"], #main-wrapper form #page input[type="submit"],
#page #main-wrapper form input[type="button"], #main-wrapper form #page input[type="button"],
#page #footer-wrapper button:not(.trigger), #footer-wrapper #page button:not(.trigger),
#page #footer-wrapper input[type="submit"], #footer-wrapper #page input[type="submit"],
#page #footer-wrapper input[type="button"], #footer-wrapper #page input[type="button"], #page .block--ftc-military-custom-redesign-2020-signup form input[type="submit"], .block--ftc-military-custom-redesign-2020-signup form #page input[type="submit"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  z-index: 1;
  border: 0;
  -webkit-appearance: none;
  appearance: none;
  -moz-appearance: none;
  display: inline-block;
  border-radius: 0;
  cursor: pointer;
  background: #027bc5;
  color: #fff;
  font-family: "Source Serif Pro", serif;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 56px;
  height: 56px;
  max-width: 100%;
  text-align: center;
  max-width: 310px;
  padding: 0 20px;
  -webkit-transition: background 300ms;
  transition: background 300ms; }
  @media (min-width: 761px) {
    #page .field--download a, .field--download #page a,
    #page a.button-link,
    #page a.btn, #page .region-sidebar-second .block .block-interior .content .more-link a, .region-sidebar-second .block .block-interior .content .more-link #page a, #page .blockscolumns .block.gray-block .block-interior .more-link a, #page .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all #page a, #page #titling-container button:not(.trigger), #titling-container #page button:not(.trigger),
    #page #titling-container input[type="submit"], #titling-container #page input[type="submit"],
    #page #titling-container input[type="button"], #titling-container #page input[type="button"],
    #page #main-wrapper form button:not(.trigger), #main-wrapper form #page button:not(.trigger),
    #page #main-wrapper form input[type="submit"], #main-wrapper form #page input[type="submit"],
    #page #main-wrapper form input[type="button"], #main-wrapper form #page input[type="button"],
    #page #footer-wrapper button:not(.trigger), #footer-wrapper #page button:not(.trigger),
    #page #footer-wrapper input[type="submit"], #footer-wrapper #page input[type="submit"],
    #page #footer-wrapper input[type="button"], #footer-wrapper #page input[type="button"], #page .block--ftc-military-custom-redesign-2020-signup form input[type="submit"], .block--ftc-military-custom-redesign-2020-signup form #page input[type="submit"] {
      font-size: 20px;
      font-size: 2rem;
      line-height: 66px;
      min-height: 66px; } }
  @media (min-width: 924px) {
    #page .field--download a, .field--download #page a,
    #page a.button-link,
    #page a.btn, #page .region-sidebar-second .block .block-interior .content .more-link a, .region-sidebar-second .block .block-interior .content .more-link #page a, #page .blockscolumns .block.gray-block .block-interior .more-link a, #page .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all #page a, #page #titling-container button:not(.trigger), #titling-container #page button:not(.trigger),
    #page #titling-container input[type="submit"], #titling-container #page input[type="submit"],
    #page #titling-container input[type="button"], #titling-container #page input[type="button"],
    #page #main-wrapper form button:not(.trigger), #main-wrapper form #page button:not(.trigger),
    #page #main-wrapper form input[type="submit"], #main-wrapper form #page input[type="submit"],
    #page #main-wrapper form input[type="button"], #main-wrapper form #page input[type="button"],
    #page #footer-wrapper button:not(.trigger), #footer-wrapper #page button:not(.trigger),
    #page #footer-wrapper input[type="submit"], #footer-wrapper #page input[type="submit"],
    #page #footer-wrapper input[type="button"], #footer-wrapper #page input[type="button"], #page .block--ftc-military-custom-redesign-2020-signup form input[type="submit"], .block--ftc-military-custom-redesign-2020-signup form #page input[type="submit"] {
      min-width: 280px;
      line-height: 76px;
      min-height: 76px;
      max-width: none;
      font-size: 22px;
      font-size: 2.2rem; } }
  @media (min-width: 1440px) {
    #page .field--download a, .field--download #page a,
    #page a.button-link,
    #page a.btn, #page .region-sidebar-second .block .block-interior .content .more-link a, .region-sidebar-second .block .block-interior .content .more-link #page a, #page .blockscolumns .block.gray-block .block-interior .more-link a, #page .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all #page a, #page #titling-container button:not(.trigger), #titling-container #page button:not(.trigger),
    #page #titling-container input[type="submit"], #titling-container #page input[type="submit"],
    #page #titling-container input[type="button"], #titling-container #page input[type="button"],
    #page #main-wrapper form button:not(.trigger), #main-wrapper form #page button:not(.trigger),
    #page #main-wrapper form input[type="submit"], #main-wrapper form #page input[type="submit"],
    #page #main-wrapper form input[type="button"], #main-wrapper form #page input[type="button"],
    #page #footer-wrapper button:not(.trigger), #footer-wrapper #page button:not(.trigger),
    #page #footer-wrapper input[type="submit"], #footer-wrapper #page input[type="submit"],
    #page #footer-wrapper input[type="button"], #footer-wrapper #page input[type="button"], #page .block--ftc-military-custom-redesign-2020-signup form input[type="submit"], .block--ftc-military-custom-redesign-2020-signup form #page input[type="submit"] {
      font-size: 25px;
      font-size: 2.5rem; } }
  .no-touchevents #page .field--download a:hover, .field--download .no-touchevents #page a:hover,
  .no-touchevents #page a.button-link:hover,
  .no-touchevents #page a.btn:hover, .no-touchevents #page .region-sidebar-second .block .block-interior .content .more-link a:hover, .region-sidebar-second .block .block-interior .content .more-link .no-touchevents #page a:hover, .no-touchevents #page .blockscolumns .block.gray-block .block-interior .more-link a:hover, .no-touchevents #page .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a:hover, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all .no-touchevents #page a:hover, .no-touchevents #page #titling-container button:hover:not(.trigger), #titling-container .no-touchevents #page button:hover:not(.trigger),
  .no-touchevents #page #titling-container input:hover[type="submit"], #titling-container .no-touchevents #page input:hover[type="submit"],
  .no-touchevents #page #titling-container input:hover[type="button"], #titling-container .no-touchevents #page input:hover[type="button"],
  .no-touchevents #page #main-wrapper form button:hover:not(.trigger), #main-wrapper form .no-touchevents #page button:hover:not(.trigger),
  .no-touchevents #page #main-wrapper form input:hover[type="submit"], #main-wrapper form .no-touchevents #page input:hover[type="submit"],
  .no-touchevents #page #main-wrapper form input:hover[type="button"], #main-wrapper form .no-touchevents #page input:hover[type="button"],
  .no-touchevents #page #footer-wrapper button:hover:not(.trigger), #footer-wrapper .no-touchevents #page button:hover:not(.trigger),
  .no-touchevents #page #footer-wrapper input:hover[type="submit"], #footer-wrapper .no-touchevents #page input:hover[type="submit"],
  .no-touchevents #page #footer-wrapper input:hover[type="button"], #footer-wrapper .no-touchevents #page input:hover[type="button"], .no-touchevents #page .block--ftc-military-custom-redesign-2020-signup form input:hover[type="submit"], .block--ftc-military-custom-redesign-2020-signup form .no-touchevents #page input:hover[type="submit"], .no-touchevents #page .field--download a:focus, .field--download .no-touchevents #page a:focus,
  .no-touchevents #page a.button-link:focus,
  .no-touchevents #page a.btn:focus, .no-touchevents #page .region-sidebar-second .block .block-interior .content .more-link a:focus, .region-sidebar-second .block .block-interior .content .more-link .no-touchevents #page a:focus, .no-touchevents #page .blockscolumns .block.gray-block .block-interior .more-link a:focus, .no-touchevents #page .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a:focus, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all .no-touchevents #page a:focus, .no-touchevents #page #titling-container button:focus:not(.trigger), #titling-container .no-touchevents #page button:focus:not(.trigger),
  .no-touchevents #page #titling-container input:focus[type="submit"], #titling-container .no-touchevents #page input:focus[type="submit"],
  .no-touchevents #page #titling-container input:focus[type="button"], #titling-container .no-touchevents #page input:focus[type="button"],
  .no-touchevents #page #main-wrapper form button:focus:not(.trigger), #main-wrapper form .no-touchevents #page button:focus:not(.trigger),
  .no-touchevents #page #main-wrapper form input:focus[type="submit"], #main-wrapper form .no-touchevents #page input:focus[type="submit"],
  .no-touchevents #page #main-wrapper form input:focus[type="button"], #main-wrapper form .no-touchevents #page input:focus[type="button"],
  .no-touchevents #page #footer-wrapper button:focus:not(.trigger), #footer-wrapper .no-touchevents #page button:focus:not(.trigger),
  .no-touchevents #page #footer-wrapper input:focus[type="submit"], #footer-wrapper .no-touchevents #page input:focus[type="submit"],
  .no-touchevents #page #footer-wrapper input:focus[type="button"], #footer-wrapper .no-touchevents #page input:focus[type="button"], .no-touchevents #page .block--ftc-military-custom-redesign-2020-signup form input:focus[type="submit"], .block--ftc-military-custom-redesign-2020-signup form .no-touchevents #page input:focus[type="submit"] {
    background: #0365a4;
    text-decoration: none !important; }

@media (max-width: 1023px) {
  #page .sidebar-second .field--download a, .field--download #page .sidebar-second a,
  #page .sidebar-second a.button-link,
  #page .sidebar-second a.btn, #page .sidebar-second .region-sidebar-second .block .block-interior .content .more-link a, .region-sidebar-second .block .block-interior .content .more-link #page .sidebar-second a, #page .sidebar-second .blockscolumns .block.gray-block .block-interior .more-link a, #page .blockscolumns .block.gray-block .block-interior .more-link .sidebar-second a, #page .sidebar-second .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all #page .sidebar-second a, #page .sidebar-second #titling-container button:not(.trigger), #titling-container #page .sidebar-second button:not(.trigger),
  #page .sidebar-second #titling-container input[type="submit"], #titling-container #page .sidebar-second input[type="submit"],
  #page .sidebar-second #titling-container input[type="button"], #titling-container #page .sidebar-second input[type="button"],
  #page .sidebar-second #main-wrapper form button:not(.trigger), #main-wrapper form #page .sidebar-second button:not(.trigger),
  #page .sidebar-second #main-wrapper form input[type="submit"], #main-wrapper form #page .sidebar-second input[type="submit"],
  #page .sidebar-second #main-wrapper form input[type="button"], #main-wrapper form #page .sidebar-second input[type="button"],
  #page .sidebar-second #footer-wrapper button:not(.trigger), #footer-wrapper #page .sidebar-second button:not(.trigger),
  #page .sidebar-second #footer-wrapper input[type="submit"], #footer-wrapper #page .sidebar-second input[type="submit"],
  #page .sidebar-second #footer-wrapper input[type="button"], #footer-wrapper #page .sidebar-second input[type="button"], #page .sidebar-second .block--ftc-military-custom-redesign-2020-signup form input[type="submit"], .block--ftc-military-custom-redesign-2020-signup form #page .sidebar-second input[type="submit"] {
    min-width: 210px; } }

@media (min-width: 1024px) {
  #page .sidebar-second .field--download a, .field--download #page .sidebar-second a,
  #page .sidebar-second a.button-link,
  #page .sidebar-second a.btn, #page .sidebar-second .region-sidebar-second .block .block-interior .content .more-link a, .region-sidebar-second .block .block-interior .content .more-link #page .sidebar-second a, #page .sidebar-second .blockscolumns .block.gray-block .block-interior .more-link a, #page .blockscolumns .block.gray-block .block-interior .more-link .sidebar-second a, #page .sidebar-second .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all #page .sidebar-second a, #page .sidebar-second #titling-container button:not(.trigger), #titling-container #page .sidebar-second button:not(.trigger),
  #page .sidebar-second #titling-container input[type="submit"], #titling-container #page .sidebar-second input[type="submit"],
  #page .sidebar-second #titling-container input[type="button"], #titling-container #page .sidebar-second input[type="button"],
  #page .sidebar-second #main-wrapper form button:not(.trigger), #main-wrapper form #page .sidebar-second button:not(.trigger),
  #page .sidebar-second #main-wrapper form input[type="submit"], #main-wrapper form #page .sidebar-second input[type="submit"],
  #page .sidebar-second #main-wrapper form input[type="button"], #main-wrapper form #page .sidebar-second input[type="button"],
  #page .sidebar-second #footer-wrapper button:not(.trigger), #footer-wrapper #page .sidebar-second button:not(.trigger),
  #page .sidebar-second #footer-wrapper input[type="submit"], #footer-wrapper #page .sidebar-second input[type="submit"],
  #page .sidebar-second #footer-wrapper input[type="button"], #footer-wrapper #page .sidebar-second input[type="button"], #page .sidebar-second .block--ftc-military-custom-redesign-2020-signup form input[type="submit"], .block--ftc-military-custom-redesign-2020-signup form #page .sidebar-second input[type="submit"] {
    min-width: 210px;
    width: 100%; } }

@media (min-width: 1024px) and (max-width: 1439px) {
  #page .sidebar-second .field--download a, .field--download #page .sidebar-second a,
  #page .sidebar-second a.button-link,
  #page .sidebar-second a.btn, #page .sidebar-second .region-sidebar-second .block .block-interior .content .more-link a, .region-sidebar-second .block .block-interior .content .more-link #page .sidebar-second a, #page .sidebar-second .blockscolumns .block.gray-block .block-interior .more-link a, #page .blockscolumns .block.gray-block .block-interior .more-link .sidebar-second a, #page .sidebar-second .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all #page .sidebar-second a, #page .sidebar-second #titling-container button:not(.trigger), #titling-container #page .sidebar-second button:not(.trigger),
  #page .sidebar-second #titling-container input[type="submit"], #titling-container #page .sidebar-second input[type="submit"],
  #page .sidebar-second #titling-container input[type="button"], #titling-container #page .sidebar-second input[type="button"],
  #page .sidebar-second #main-wrapper form button:not(.trigger), #main-wrapper form #page .sidebar-second button:not(.trigger),
  #page .sidebar-second #main-wrapper form input[type="submit"], #main-wrapper form #page .sidebar-second input[type="submit"],
  #page .sidebar-second #main-wrapper form input[type="button"], #main-wrapper form #page .sidebar-second input[type="button"],
  #page .sidebar-second #footer-wrapper button:not(.trigger), #footer-wrapper #page .sidebar-second button:not(.trigger),
  #page .sidebar-second #footer-wrapper input[type="submit"], #footer-wrapper #page .sidebar-second input[type="submit"],
  #page .sidebar-second #footer-wrapper input[type="button"], #footer-wrapper #page .sidebar-second input[type="button"], #page .sidebar-second .block--ftc-military-custom-redesign-2020-signup form input[type="submit"], .block--ftc-military-custom-redesign-2020-signup form #page .sidebar-second input[type="submit"] {
    font-size: 20px;
    font-size: 2rem;
    padding-left: 20px;
    padding-right: 20px; } }

#footer-columns .field--download a, .field--download #footer-columns a,
#footer-columns a.button-link,
#footer-columns a.btn, #footer-columns .region-sidebar-second .block .block-interior .content .more-link a, .region-sidebar-second .block .block-interior .content .more-link #footer-columns a, #footer-columns #page .blockscolumns .block.gray-block .block-interior .more-link a, #page .blockscolumns .block.gray-block .block-interior .more-link #footer-columns a, #footer-columns .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all #footer-columns a, #footer-columns #titling-container button:not(.trigger), #titling-container #footer-columns button:not(.trigger),
#footer-columns #titling-container input[type="submit"], #titling-container #footer-columns input[type="submit"],
#footer-columns #titling-container input[type="button"], #titling-container #footer-columns input[type="button"],
#footer-columns #main-wrapper form button:not(.trigger), #main-wrapper form #footer-columns button:not(.trigger),
#footer-columns #main-wrapper form input[type="submit"], #main-wrapper form #footer-columns input[type="submit"],
#footer-columns #main-wrapper form input[type="button"], #main-wrapper form #footer-columns input[type="button"],
#footer-columns #footer-wrapper button:not(.trigger), #footer-wrapper #footer-columns button:not(.trigger),
#footer-columns #footer-wrapper input[type="submit"], #footer-wrapper #footer-columns input[type="submit"],
#footer-columns #footer-wrapper input[type="button"], #footer-wrapper #footer-columns input[type="button"], #footer-columns .block--ftc-military-custom-redesign-2020-signup form input[type="submit"], .block--ftc-military-custom-redesign-2020-signup form #footer-columns input[type="submit"] {
  line-height: 66px;
  height: 66px;
  font-size: 16px;
  font-size: 1.6rem; }
  @media (min-width: 1024px) {
    #footer-columns .field--download a, .field--download #footer-columns a,
    #footer-columns a.button-link,
    #footer-columns a.btn, #footer-columns .region-sidebar-second .block .block-interior .content .more-link a, .region-sidebar-second .block .block-interior .content .more-link #footer-columns a, #footer-columns #page .blockscolumns .block.gray-block .block-interior .more-link a, #page .blockscolumns .block.gray-block .block-interior .more-link #footer-columns a, #footer-columns .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all #footer-columns a, #footer-columns #titling-container button:not(.trigger), #titling-container #footer-columns button:not(.trigger),
    #footer-columns #titling-container input[type="submit"], #titling-container #footer-columns input[type="submit"],
    #footer-columns #titling-container input[type="button"], #titling-container #footer-columns input[type="button"],
    #footer-columns #main-wrapper form button:not(.trigger), #main-wrapper form #footer-columns button:not(.trigger),
    #footer-columns #main-wrapper form input[type="submit"], #main-wrapper form #footer-columns input[type="submit"],
    #footer-columns #main-wrapper form input[type="button"], #main-wrapper form #footer-columns input[type="button"],
    #footer-columns #footer-wrapper button:not(.trigger), #footer-wrapper #footer-columns button:not(.trigger),
    #footer-columns #footer-wrapper input[type="submit"], #footer-wrapper #footer-columns input[type="submit"],
    #footer-columns #footer-wrapper input[type="button"], #footer-wrapper #footer-columns input[type="button"], #footer-columns .block--ftc-military-custom-redesign-2020-signup form input[type="submit"], .block--ftc-military-custom-redesign-2020-signup form #footer-columns input[type="submit"] {
      line-height: 76px;
      height: 76px; } }
  @media (min-width: 1440px) {
    #footer-columns .field--download a, .field--download #footer-columns a,
    #footer-columns a.button-link,
    #footer-columns a.btn, #footer-columns .region-sidebar-second .block .block-interior .content .more-link a, .region-sidebar-second .block .block-interior .content .more-link #footer-columns a, #footer-columns #page .blockscolumns .block.gray-block .block-interior .more-link a, #page .blockscolumns .block.gray-block .block-interior .more-link #footer-columns a, #footer-columns .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all #footer-columns a, #footer-columns #titling-container button:not(.trigger), #titling-container #footer-columns button:not(.trigger),
    #footer-columns #titling-container input[type="submit"], #titling-container #footer-columns input[type="submit"],
    #footer-columns #titling-container input[type="button"], #titling-container #footer-columns input[type="button"],
    #footer-columns #main-wrapper form button:not(.trigger), #main-wrapper form #footer-columns button:not(.trigger),
    #footer-columns #main-wrapper form input[type="submit"], #main-wrapper form #footer-columns input[type="submit"],
    #footer-columns #main-wrapper form input[type="button"], #main-wrapper form #footer-columns input[type="button"],
    #footer-columns #footer-wrapper button:not(.trigger), #footer-wrapper #footer-columns button:not(.trigger),
    #footer-columns #footer-wrapper input[type="submit"], #footer-wrapper #footer-columns input[type="submit"],
    #footer-columns #footer-wrapper input[type="button"], #footer-wrapper #footer-columns input[type="button"], #footer-columns .block--ftc-military-custom-redesign-2020-signup form input[type="submit"], .block--ftc-military-custom-redesign-2020-signup form #footer-columns input[type="submit"] {
      font-size: 20px;
      font-size: 2rem; } }
  @media (min-width: 1680px) {
    #footer-columns .field--download a, .field--download #footer-columns a,
    #footer-columns a.button-link,
    #footer-columns a.btn, #footer-columns .region-sidebar-second .block .block-interior .content .more-link a, .region-sidebar-second .block .block-interior .content .more-link #footer-columns a, #footer-columns #page .blockscolumns .block.gray-block .block-interior .more-link a, #page .blockscolumns .block.gray-block .block-interior .more-link #footer-columns a, #footer-columns .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a, .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all #footer-columns a, #footer-columns #titling-container button:not(.trigger), #titling-container #footer-columns button:not(.trigger),
    #footer-columns #titling-container input[type="submit"], #titling-container #footer-columns input[type="submit"],
    #footer-columns #titling-container input[type="button"], #titling-container #footer-columns input[type="button"],
    #footer-columns #main-wrapper form button:not(.trigger), #main-wrapper form #footer-columns button:not(.trigger),
    #footer-columns #main-wrapper form input[type="submit"], #main-wrapper form #footer-columns input[type="submit"],
    #footer-columns #main-wrapper form input[type="button"], #main-wrapper form #footer-columns input[type="button"],
    #footer-columns #footer-wrapper button:not(.trigger), #footer-wrapper #footer-columns button:not(.trigger),
    #footer-columns #footer-wrapper input[type="submit"], #footer-wrapper #footer-columns input[type="submit"],
    #footer-columns #footer-wrapper input[type="button"], #footer-wrapper #footer-columns input[type="button"], #footer-columns .block--ftc-military-custom-redesign-2020-signup form input[type="submit"], .block--ftc-military-custom-redesign-2020-signup form #footer-columns input[type="submit"] {
      font-size: 22px;
      font-size: 2.2rem; } }

/**
 * Accessibility features.
 */
/* element-invisible as defined by http://snook.ca/archives/html_and_css/hiding-content-for-accessibility */
.element-invisible,
.element-hidden,
.visually-hidden,
.visuallyhidden,
.usa-sr-only,
.element-focusable,
input[type="checkbox"],
input[type="radio"] {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); }

/* Turns off the element-invisible effect. */
.element-focusable:active, .element-focusable:focus {
  position: static !important;
  clip: auto;
  height: auto;
  width: auto;
  overflow: auto; }

/*
 * The skip-link link will be completely hidden until a user tabs to the link.
 */
#skip-link {
  margin: 0; }
  #skip-link a,
  #skip-link a:visited {
    display: block;
    width: 100%;
    padding: 2px 0 3px 0;
    text-align: center;
    background-color: #666;
    color: #fff; }

/*
 * Removing focus from content so that skip-link fix does not always highlight main container when any content is clicked
 */
#content {
  outline: none; }

/* VARIABLES
******************************/
/**
 * @file
 * Normalize.css is intended to be used as an alternative to CSS resets.
 *
 * This file is a slight fork of these original sources:
 * - normalize.css v2.1.2 | MIT License | git.io/normalize
 * - normalize.scss v2.1.2 | MIT/GPLv2 License | bit.ly/normalize-with-compass
 *
 * It's suggested that you read the normalize.scss file and customise it to meet
 * your needs, rather then including the file in your project and overriding the
 * defaults later in your CSS.
 * @see http://nicolasgallagher.com/about-normalize-css/
 *
 * Also: @see http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/
 *       @see http://snook.ca/archives/html_and_css/no_css_reset/
 */
/**
 * HTML5 display definitions
 */
/* Correct `block` display not defined in IE 8/9. */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
  display: block; }

/* Correct `inline-block` display not defined in IE 8/9. */
audio,
canvas,
video {
  display: inline-block; }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/* Address styling not present in IE 8/9. */
[hidden] {
  display: none; }

/**
 * Base
 *
 * Instead of relying on the fonts that are available on a user's computer, you
 * can use web fonts which, like images, are resources downloaded to the user's
 * browser. Because of the bandwidth and rendering resources required, web fonts
 * should be used with care.
 *
 * Numerous resources for web fonts can be found on Google. Here are a few
 * websites where you can find Open Source fonts to download:
 * - http://www.fontsquirrel.com/fontface
 * - http://www.theleagueofmoveabletype.com
 *
 * In order to use these fonts, you will need to convert them into formats
 * suitable for web fonts. We recommend the free-to-use Font Squirrel's
 * Font-Face Generator:
 *   http://www.fontsquirrel.com/fontface/generator
 *
 * The following is an example @font-face declaration. This font can then be
 * used in any ruleset using a property like this:  font-family: Example, serif;
 *
 * Since we're using Sass, you'll need to declare your font faces here, then you
 * can add them to the font variables in the _init.scss partial.
 */
/*
@font-face {
  font-family: 'Example';
  src: url('../fonts/example.eot');
  src: url('../fonts/example.eot?iefix') format('eot'),
    url('../fonts/example.woff') format('woff'),
    url('../fonts/example.ttf') format('truetype'),
    url('../fonts/example.svg#webfontOkOndcij') format('svg');
  font-weight: normal;
  font-style: normal;
}
*/
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 * 3. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 */
html {
  font-family: "ProximaNova-Regular", sans-serif;
  /* 1 */
  font-size: 62.5%;
  /* 3 */ }

/* Remove default margin. */
body {
  margin: 0;
  padding: 0; }

/**
 * Links
 *
 * The order of link states are based on Eric Meyer's article:
 * http://meyerweb.com/eric/thoughts/2007/06/11/who-ordered-the-link-states
 */
a:focus, #main-wrapper a:focus > img {
  outline: 2px dotted #275893; }

a:focus > img, .at-share-btn-elements a:focus {
  outline-offset: 2px; }

/* Address `outline` inconsistency between Chrome and other browsers. */
a:focus {
  outline: thin dotted; }

/**
 * Typography
 *
 * To achieve a pleasant vertical rhythm, we use Compass' Vertical Rhythm mixins
 * so that the line height of our base font becomes the basic unit of vertical
 * measurement. We use multiples of that unit to set the top and bottom margins
 * for our block level elements and to set the line heights of any fonts.
 * For more information, see http://24ways.org/2006/compose-to-a-vertical-rhythm
 */
/* Set 1 unit of vertical rhythm on the top and bottom margin. */
blockquote {
  /* Also indent the quote on both sides. */
  margin: 20px 30px; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
/*
$modular-scale-ratio: $golden;
$modular-scale-base: 1em;

h1 {
  font-size: modular-scale(2);
  line-height: 1em;
  @include margin(20px null 20px);
}
h2 {
  font-size: modular-scale(1, 1.39em);
  line-height: 1em;
  @include margin(20px null 20px);
}
h3 {
  font-size: modular-scale(1, 1em);
  line-height: 1em;
  @include margin(20px null 20px);
}
h4 {
  font-size: modular-scale(1, .7em);
  line-height: 1.625em;
  @include margin(20px null 20px);
}
h5 {
  font-size: modular-scale(1, .625em);
  line-height: 1.375em;
  @include margin(20px null 20px);
}
h6 {
  font-size: modular-scale(1, .55em);
  line-height: 1em;
  @include margin(20px null 20px);
}
*/
/* Address styling not present in IE 8/9, Safari 5, and Chrome. */
abbr[title] {
  border-bottom: 1px dotted; }

/* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */
b,
strong {
  font-weight: bold; }

/* Address styling not present in Safari 5 and Chrome. */
dfn {
  font-style: italic; }

/* Address differences between Firefox and other browsers. */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  border: 1px solid #666;
  padding-bottom: -1px;
  margin: 20px 0; }

/* Address styling not present in IE 8/9. */
mark {
  background: #ff0;
  color: #000; }

/* Correct font family set oddly in Safari 5 and Chrome. */
code,
kbd,
pre,
samp,
tt,
var {
  font-family: "Courier", courier, "Courier New";
  font-size: 0.68316em; }

/* Improve readability of pre-formatted text in all browsers. */
pre {
  white-space: pre-wrap; }

/* Set consistent quote types. */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

/* Address inconsistent and variable font size in all browsers. */
small {
  font-size: 80%; }

/* Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/**
 * Lists
 */
dl,
menu,
ol,
ul {
  /* Address margins set differently in IE 6/7. */
  margin-top: 20px;
  margin-bottom: 20px; }

ol ol,
ol ul,
ul ol,
ul ul {
  /* Turn off margins on nested lists. */
  margin: 0; }

dd {
  margin: 0 0 0 30px;
  /* LTR */ }

/* Address paddings set differently in IE 6/7. */
menu,
ol,
ul {
  padding: 0 0 0 30px;
  /* LTR */ }

/**
 * Embedded content and figures
 *
 * @todo Look into adding responsive embedded video.
 */
img {
  /* Remove border when inside `a` element in IE 8/9. */
  border: 0;
  /* Suppress the space beneath the baseline */
  vertical-align: bottom;
  /* Responsive images */
  max-width: 100%;
  height: auto;
  /* Correct IE 8 not scaling image height when resized. */
  width: auto; }

/* Correct overflow displayed oddly in IE 9. */
svg:not(:root) {
  overflow: hidden; }

/* Address margin not present in IE 8/9 and Safari 5. */
figure {
  margin: 0; }

/**
 * Forms
 */
/* Define consistent border, margin, and padding. */
fieldset {
  border: 1px solid;
  border-color: #c0c0c0;
  margin: 0 2px;
  padding: 5px; }

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 * 4. Improve appearance and consistency with IE 6/7.
 * 5. Keep form elements constrained in their containers.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
  max-width: 100%;
  /* 5 */ }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 * 3. Remove excess padding in IE 7.
 *    Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"],
input[type="radio"] {
  padding: 0;
  /* 2 */ }

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/* Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/* Drupal-style form labels. */
label, .field .field-label {
  display: block;
  font-weight: bold; }

/**
 * Tables
 */
table {
  /* Remove most spacing between table cells. */
  border-collapse: collapse;
  border-spacing: 0;
  /* Prevent cramped-looking tables */
  width: 100%;
  /* Add margins. */
  margin-top: 20px;
  margin-bottom: 20px; }

h1 {
  margin-top: 20px;
  margin-bottom: 20px; }

h1 {
  font-family: "Source Serif Pro", serif; }
  @media (max-width: 760px) {
    h1 {
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 1.4;
      margin-top: 1rem; } }
  @media (min-width: 761px) and (max-width: 923px) {
    h1 {
      font-size: 32px;
      font-size: 3.2rem;
      margin-top: 1.5rem; } }
  @media (min-width: 924px) {
    h1 {
      font-size: 42px;
      font-size: 4.2rem; } }

#content h2,
#content h3 {
  font-weight: 500; }

.block h2 {
  font-size: 1.44231em; }

a {
  color: #027bc5;
  text-decoration: none;
  -webkit-transition: color 300ms ease;
  transition: color 300ms ease; }
  .no-touchevents a:hover, .no-touchevents a:focus {
    text-decoration: underline;
    -webkit-transition: color 300ms ease;
    transition: color 300ms ease; }

.no-touchevents h2 a:hover, .no-touchevents h2 a:focus {
  color: #11325b; }

a:focus {
  outline: 2px dotted #275893; }

hr {
  border-bottom: 1px solid #ccc;
  border-top: 0; }

blockquote {
  border-left: 1px solid #ccc;
  padding-left: 30px;
  font-size: 1.02974em; }

.intro {
  font-size: 1.00642em;
  line-height: 2em; }

/* STYLES
******************************/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

body {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.6em;
  font-family: "ProximaNova-Regular", sans-serif;
  min-width: 320px;
  color: #000000;
  background-color: #232c33;
  overflow-x: hidden; }
  @media (max-width: 923px) {
    body.noscroll {
      overflow: hidden;
      height: 100%;
      width: 100%;
      position: fixed; } }

img {
  display: block; }

svg.ext {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

/* Layout rules */
@media (min-width: 1440px) {
  .not-logged-in #page {
    padding-top: 145px; } }

#page-wrapper {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  background: #fff;
  width: 100%;
  max-width: 1680px;
  min-width: 320px;
  overflow: hidden; }

#page,
#main-wrapper {
  background: transparent;
  margin-top: 68px; }
  @media (min-width: 1024px) {
    #page,
    #main-wrapper {
      margin-top: 0; } }

#main-wrapper {
  min-height: 300px;
  padding-bottom: 75px;
  padding-left: 20px;
  padding-right: 20px; }
  @media (min-width: 1024px) {
    #main-wrapper {
      padding-left: 30px;
      padding-right: 30px; } }

@media (max-width: 923px) {
  #main-wrapper {
    padding-bottom: 76px; } }

#main {
  width: 100%;
  max-width: 1420px;
  /*padding-left:20px;
  padding-right:20px;*/
  margin-left: auto;
  margin-right: auto; }
  @media (max-width: 923px) {
    #main {
      padding-left: 0;
      padding-right: 0; } }
  .front #main {
    max-width: none; }
    @media (min-width: 1024px) and (max-width: 1439px) {
      .front #main {
        padding-left: 0;
        padding-right: 0; } }

@media (min-width: 924px) {
  .sidebar-second .inner-wrapper.padded {
    margin-right: 17.6%; } }

#content,
#sidebar-first,
#sidebar-second {
  display: inline;
  float: left;
  position: relative; }

@media (max-width: 760px) {
  #content,
  #sidebar-first,
  #sidebar-second {
    display: block;
    float: none; } }

@media (max-width: 923px) {
  .not-front .inner-wrapper.padded {
    margin-left: 0;
    margin-right: 0; }
    .not-front .inner-wrapper.padded * {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.5; } }

@media (min-width: 500px) and (max-width: 760px) {
  .not-front .inner-wrapper.padded * {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5; } }

@media (min-width: 761px) and (max-width: 923px) {
  .not-front .inner-wrapper.padded * {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5; } }

/* LAYOUT FOR MOBILE MENU */
@media (max-width: 923px) {
  #main,
  #footer,
  #region-bottom {
    position: relative;
    left: 0;
    -webkit-transition: all 500ms ease;
    transition: all 500ms ease; }
    .menu-active #main, .menu-active
    #footer, .menu-active
    #region-bottom {
      left: -255px;
      opacity: 0.2;
      -webkit-transition: all 500ms ease;
      transition: all 500ms ease; } }

.no-sidebars #content {
  float: none;
  display: block; }

/**
 * The layout when there is only one sidebar, the right one.
 */
@media (max-width: 923px) {
  .sidebars {
    margin-top: 50px; }
  .sidebar-second {
    clear: both; } }

@media (min-width: 924px) {
  .sidebar-second #content {
    width: 67.4%; }
  .sidebar-second .sidebar-second {
    width: 32.4%;
    float: right; } }

.sidebars .sidebar-second {
  position: relative; }
  .sidebars .sidebar-second .block {
    margin-bottom: 60px; }
  .sidebars .sidebar-second .block:not(.block--menu-block) {
    padding: 30px 20px;
    margin-bottom: 20px;
    background-color: #f1f3f2; }
    .sidebars .sidebar-second .block:not(.block--menu-block) form {
      margin-bottom: 0; }
      .sidebars .sidebar-second .block:not(.block--menu-block) form fieldset {
        border: 0px solid transparent;
        padding: 0; }
    .sidebars .sidebar-second .block:not(.block--menu-block) input.form-submit {
      padding-bottom: 0;
      margin-bottom: 0;
      width: 100%;
      max-width: 100% !important; }
      @media (min-width: 924px) and (max-width: 1023px) {
        .sidebars .sidebar-second .block:not(.block--menu-block) input.form-submit {
          min-width: 0 !important; } }
    .sidebars .sidebar-second .block:not(.block--menu-block) #edit-submit {
      margin-bottom: 0; }
    .sidebars .sidebar-second .block:not(.block--menu-block) .block-interior {
      overflow: hidden; }
    .sidebars .sidebar-second .block:not(.block--menu-block) h2.block-title {
      position: relative; }
      .sidebars .sidebar-second .block:not(.block--menu-block) h2.block-title:after {
        position: absolute; }
    .sidebars .sidebar-second .block:not(.block--menu-block) ul {
      list-style: none;
      margin: 0;
      padding: 0; }
    .sidebars .sidebar-second .block:not(.block--menu-block) li, .sidebars .sidebar-second .block:not(.block--menu-block) p {
      margin: 1.2rem 0 0;
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.6; }
      .sidebars .sidebar-second .block:not(.block--menu-block) li.field-title, .sidebars .sidebar-second .block:not(.block--menu-block) p.field-title {
        margin: 1.2rem 0; }
    @media (min-width: 761px) {
      .sidebars .sidebar-second .block:not(.block--menu-block) {
        padding: 45px 40px;
        margin-bottom: 40px; }
        .sidebars .sidebar-second .block:not(.block--menu-block) li, .sidebars .sidebar-second .block:not(.block--menu-block) p {
          font-size: 20px;
          font-size: 2rem; } }
    @media (min-width: 1440px) {
      .sidebars .sidebar-second .block:not(.block--menu-block) {
        padding: 60px 60px; }
        .sidebars .sidebar-second .block:not(.block--menu-block) li, .sidebars .sidebar-second .block:not(.block--menu-block) p {
          font-size: 22px;
          font-size: 2.2rem; } }
    .sidebars .sidebar-second .block:not(.block--menu-block) h2 {
      font-size: 16px;
      font-size: 1.6rem;
      margin-top: 0;
      margin-bottom: 25px;
      position: relative;
      overflow: hidden; }
      @media (min-width: 500px) {
        .sidebars .sidebar-second .block:not(.block--menu-block) h2 {
          font-size: 20px;
          font-size: 2rem; } }
      @media (min-width: 1440px) {
        .sidebars .sidebar-second .block:not(.block--menu-block) h2 {
          font-size: 25px;
          font-size: 2.5rem; } }
      .sidebars .sidebar-second .block:not(.block--menu-block) h2:after {
        content: '';
        display: inline-block;
        position: absolute;
        height: 11px;
        background: url(../../images/pattern-stripe4.png) 0 0 repeat-x;
        background-size: auto 120%;
        width: 100px;
        margin-left: 21px;
        margin-top: 4px; }
        @media (min-width: 924px) {
          .sidebars .sidebar-second .block:not(.block--menu-block) h2:after {
            height: 18px;
            background: url(../../images/pattern-stripe4.png) 0 0 repeat-x;
            width: 120px; } }
    .sidebars .sidebar-second .block:not(.block--menu-block) input[type="text"], .sidebars .sidebar-second .block:not(.block--menu-block) input[type="email"], .sidebars .sidebar-second .block:not(.block--menu-block) input[type="submit"] {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 56px;
      height: 56px;
      width: 100%;
      border: none;
      margin-bottom: 20px;
      text-align: center; }
      @media (min-width: 761px) {
        .sidebars .sidebar-second .block:not(.block--menu-block) input[type="text"], .sidebars .sidebar-second .block:not(.block--menu-block) input[type="email"], .sidebars .sidebar-second .block:not(.block--menu-block) input[type="submit"] {
          font-size: 20px;
          font-size: 2rem;
          line-height: 66px;
          height: 66px; } }
      @media (min-width: 924px) {
        .sidebars .sidebar-second .block:not(.block--menu-block) input[type="text"], .sidebars .sidebar-second .block:not(.block--menu-block) input[type="email"], .sidebars .sidebar-second .block:not(.block--menu-block) input[type="submit"] {
          line-height: 76px;
          height: 76px;
          font-size: 25px;
          font-size: 2.5rem; } }
    @media (min-width: 1024px) and (max-width: 1439px) {
      .sidebars .sidebar-second .block:not(.block--menu-block) input[type="text"] {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 30px; } }
    .sidebars .sidebar-second .block:not(.block--menu-block) input[type="submit"] {
      margin-bottom: 0; }
    .sidebars .sidebar-second .block:not(.block--menu-block) .view-footer {
      padding-top: 2rem; }
  .sidebars .sidebar-second .block-views-blockmcg-learn-more-block-1 .block-interior {
    overflow: visible !important; }
    .sidebars .sidebar-second .block-views-blockmcg-learn-more-block-1 .block-interior .view-mcg-learn-more__block_1 a:focus {
      outline-offset: 2px; }
  .sidebars .sidebar-second .view--learn-more ul {
    list-style: none;
    padding: 0; }
    .sidebars .sidebar-second .view--learn-more ul li {
      margin-bottom: 1rem; }
  .sidebars .sidebar-second .view--learn-more .view-footer a {
    width: 100%; }
  .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block), .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) .block {
    margin: 0;
    padding: 0;
    background: transparent; }
    .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) h2.block-title, .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) .block h2.block-title {
      text-transform: uppercase;
      float: left;
      margin-right: 20px;
      font-family: "ProximaNova-Regular", sans-serif;
      position: relative;
      top: 23px;
      font-size: 16px;
      font-size: 1.6rem; }
      .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) h2.block-title:after, .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) .block h2.block-title:after {
        display: none; }
    .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) li, .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) .block li {
      display: block;
      width: 41px;
      float: left;
      margin-right: 8px; }
      .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) li a, .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) .block li a {
        display: block;
        width: 41px;
        height: 41px;
        background-image: url(../../images/sprite-1x.png);
        background-position: -55px -50px;
        background-repeat: no-repeat;
        background-size: 200px 200px;
        overflow: hidden;
        text-indent: -8765em; }
        .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) li a.facebook, .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) .block li a.facebook {
          background-position: 0px -50px; }
        .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) li a.linkedin, .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) .block li a.linkedin {
          background-position: -111px -50px; }
    .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) .addtoany_list img, .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) .block .addtoany_list img {
      width: 20px;
      height: 20px; }
  @media (max-width: 923px) {
    .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) {
      padding: 0px 0 40px 0; } }
  @media (min-width: 761px) {
    .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) {
      padding: 40px 0 40px 0; } }
  @media (min-width: 924px) {
    .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) {
      padding: 40px 0 40px 20px; } }
  @media (min-width: 924px) {
    .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) h2.block-title {
      float: none; } }
  @media (min-width: 1024px) {
    .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) {
      position: absolute;
      top: -110px;
      width: 100%;
      z-index: 2;
      padding: 0px 0 0 40px; } }
  @media (min-width: 1140px) {
    .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) {
      top: -87px;
      padding: 0 0 0 40px; }
      .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) h2.block-title {
        float: left; } }

/* Components */
.fancybox-lock-test {
  overflow-y: hidden; }

.fancybox-lock {
  overflow: visible;
  width: auto; }
  .fancybox-lock body {
    overflow: hidden; }

.fancybox-overlay {
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  z-index: 8000; }
  .fancybox-lock .fancybox-overlay {
    overflow: auto;
    overflow-y: scroll; }
  .fancybox-overlay.fancybox-overlay-fixed {
    position: fixed;
    bottom: 0;
    right: 0; }
  .fancybox-overlay .fancybox-wrap {
    left: 0;
    position: absolute;
    top: 0;
    z-index: 8020; }
    .fancybox-overlay .fancybox-wrap.fancybox-opened {
      z-index: 8030; }
    .fancybox-overlay .fancybox-wrap.fancybox-type-ajax .fancybox-skin {
      background: #fff; }
    .fancybox-overlay .fancybox-wrap .fancybox-skin {
      position: relative; }
      .fancybox-overlay .fancybox-wrap .fancybox-skin .fancybox-outer .fancybox-inner .fancybox-image,
      .fancybox-overlay .fancybox-wrap .fancybox-skin .fancybox-outer .fancybox-inner .fancybox-iframe {
        display: block;
        width: 100%;
        height: 100%; }
      .fancybox-overlay .fancybox-wrap .fancybox-skin .fancybox-outer .fancybox-nav {
        background: transparent;
        height: 100%;
        position: absolute;
        top: 0;
        width: 40%;
        text-decoration: none;
        z-index: 8040; }
        .fancybox-overlay .fancybox-wrap .fancybox-skin .fancybox-outer .fancybox-nav:hover span {
          visibility: visible; }
        .fancybox-overlay .fancybox-wrap .fancybox-skin .fancybox-outer .fancybox-nav.fancybox-next {
          right: 0; }
      .fancybox-overlay .fancybox-wrap .fancybox-skin .fancybox-close {
        cursor: pointer;
        position: absolute;
        z-index: 8040; }

.fancybox-title {
  visibility: hidden;
  position: relative;
  z-index: 8050; }

.fancybox-opened .fancybox-title {
  visibility: visible; }

form {
  margin-top: 20px;
  margin-bottom: 20px; }
  form > *:first-child {
    margin-top: 0; }
  form > *:last-child {
    margin-bottom: 0; }

label, .field .field-label {
  font-family: "ProximaNova-Regular", sans-serif;
  margin-bottom: 5px; }

input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea {
  padding: 6px 12px;
  font-family: "ProximaNova-Regular", sans-serif;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #ccc; }

input[type="checkbox"] + label, .field input[type="checkbox"] + .field-label,
input[type="radio"] + label,
.field input[type="radio"] + .field-label {
  display: inline;
  font-weight: normal;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  left: 36px;
  cursor: pointer; }
  input[type="checkbox"] + label:before, .field input[type="checkbox"] + .field-label:before,
  input[type="radio"] + label:before,
  .field input[type="radio"] + .field-label:before {
    content: '';
    position: absolute;
    display: block;
    left: -36px;
    top: 0;
    height: 24px;
    width: 24px;
    overflow: hidden;
    background: #81bde2; }

input[type="checkbox"]:checked + label:before, .field input[type="checkbox"]:checked + .field-label:before,
input[type="radio"]:checked + label:before,
.field input[type="radio"]:checked + .field-label:before {
  background: #027bc5; }


input[type="radio"] + label:before,
.field input[type="radio"] + .field-label:before {
  border-radius: 50%; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  z-index: 1;
  border: 0;
  -webkit-appearance: none;
  appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
  -moz-appearance: none;
  line-height: 40px;
  height: 40px;
  padding: 0 14px;
  border-radius: 0;
  cursor: pointer;
  background: #027bc5;
  color: #fff;
  font-family: "ProximaNova-Regular", sans-serif;
  min-width: 200px; }

select::-ms-expand {
  display: none; }

.region-sidebar-second select {
  background: #fff url(../../images/select.png) right top no-repeat;
  color: #232c33; }

.region-sidebar-second .views-exposed-form {
  float: none;
  padding: 0; }
  .region-sidebar-second .views-exposed-form select {
    min-height: 66px;
    line-height: 66px;
    padding-right: 75px; }
  .region-sidebar-second .views-exposed-form .form-submit {
    margin-top: 1.6em; }

.region-sidebar-second .no-labels label, .region-sidebar-second .no-labels .field .field-label, .field .region-sidebar-second .no-labels .field-label {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); }

form .captcha {
  margin-top: 2em;
  max-width: 100%; }
  form .captcha div {
    max-width: 100%; }

#menu-and-search-wrapper {
  z-index: 201;
  max-width: 1480px; }

#navigation {
  clear: both;
  max-height: 0px;
  overflow: hidden;
  margin-top: 46px; }
  .active-mobile-menu #navigation {
    max-height: 4000px; }

#mobile-menu-trigger {
  z-index: 203;
  right: 20px;
  top: 15px;
  position: absolute;
  background: url(../../images/sprite-2x.png) right -100px no-repeat;
  background-size: 200px 200px;
  width: 37px;
  height: 37px; }
  #mobile-menu-trigger a {
    display: block;
    width: 37px;
    height: 37px; }
  .active-mobile-menu #mobile-menu-trigger {
    background: url(../../images/sprite-2x.png) right -150px no-repeat;
    background-size: 200px 200px; }

@media (max-width: 1023px) {
  #navigation {
    margin-left: -20px;
    margin-right: -20px; }
  #main-menu .menu-block-wrapper ul,
  #main-menu .menu-block-wrapper li {
    margin: 0;
    padding: 0;
    list-style: none; }
    #main-menu .menu-block-wrapper ul a,
    #main-menu .menu-block-wrapper li a {
      color: rgba(255, 255, 255, 0.85);
      font-family: "ProximaNova-Regular", sans-serif;
      font-size: 15px;
      font-size: 1.5rem; }
      .no-touchevents #main-menu .menu-block-wrapper ul a:hover, .no-touchevents #main-menu .menu-block-wrapper ul a:focus, .no-touchevents
      #main-menu .menu-block-wrapper li a:hover, .no-touchevents
      #main-menu .menu-block-wrapper li a:focus {
        color: #fff; }
  #main-menu .menu-block-wrapper > ul > li {
    text-transform: uppercase; }
  #main-menu .menu-block-wrapper li {
    background: #11325b;
    color: #14a5fe;
    padding: 12px 40px 9px 20px;
    border-bottom: 1px solid #275893;
    display: block;
    position: relative;
    font-size: 16px;
    font-size: 1.6rem; }
    #main-menu .menu-block-wrapper li .menu-level-toggle a {
      position: absolute;
      z-index: 30;
      top: 15px;
      right: 20px; }
      #main-menu .menu-block-wrapper li .menu-level-toggle a:after {
        content: '';
        display: inline-block;
        position: relative;
        width: 0;
        height: 0;
        border-left: 7px solid transparent;
        border-right: 7px solid transparent;
        border-bottom: 12px solid #14a5fe;
        border-top: 0px solid #14a5fe;
        -webkit-transition: border-width 300ms ease;
        transition: border-width 300ms ease; }
    #main-menu .menu-block-wrapper li.open ul {
      max-height: 5000px;
      padding-bottom: 10px; }
    #main-menu .menu-block-wrapper li.closed ul {
      max-height: 0;
      overflow: hidden; }
    #main-menu .menu-block-wrapper li.closed .menu-level-toggle a {
      position: absolute;
      z-index: 30;
      top: 15px;
      right: 20px; }
      #main-menu .menu-block-wrapper li.closed .menu-level-toggle a:after {
        border-bottom: 0px solid #14a5fe;
        border-top: 12px solid #14a5fe; }
    #main-menu .menu-block-wrapper li li {
      padding: 0;
      margin: 0;
      border: none;
      font-size: 15px;
      font-size: 1.5rem;
      text-transform: none;
      margin-top: 10px; }
      #main-menu .menu-block-wrapper li li li {
        font-style: italic;
        margin-left: 20px;
        margin-top: 0; } }
      @media (max-width: 1023px) and (max-width: 1279px) {
        #main-menu .menu-block-wrapper li li li {
          display: none; } }

@media (min-width: 1024px) {
  #mobile-menu-trigger {
    display: none; }
  #navigation {
    clear: none;
    max-height: 4000px;
    overflow: visible; }
  #main-menu {
    height: 100px;
    position: relative;
    z-index: 202; }
    #main-menu .menu-block-wrapper > ul.menu {
      font-size: 0.929em;
      margin: 0;
      padding: 0;
      float: right;
      /* FIRST LEVEL */ }
      #main-menu .menu-block-wrapper > ul.menu .menu-level-toggle {
        display: none; }
      #main-menu .menu-block-wrapper > ul.menu li {
        list-style: none;
        padding: 0;
        margin: 0 1px;
        position: relative; }
      #main-menu .menu-block-wrapper > ul.menu > li {
        float: left;
        /* LTR */
        /* DROP DOWN */ }
        #main-menu .menu-block-wrapper > ul.menu > li.is-active-trail:before {
          content: '';
          display: block;
          height: 11px;
          width: 54px;
          background: #11325b;
          position: absolute;
          top: 0;
          left: 50%;
          margin-left: -27px; }
        #main-menu .menu-block-wrapper > ul.menu > li a {
          display: block;
          padding-left: 9px;
          padding-right: 9px;
          height: 100px;
          color: #037cc4;
          line-height: 100px;
          text-decoration: none;
          background-color: #fff;
          font-size: 15px;
          font-size: 1.5rem;
          text-transform: uppercase;
          font-weight: bold;
          letter-spacing: 0.05rem; }
          .no-touchevents #main-menu .menu-block-wrapper > ul.menu > li a:hover, .no-touchevents #main-menu .menu-block-wrapper > ul.menu > li a:focus {
            color: #11325b; }
        #main-menu .menu-block-wrapper > ul.menu > li.hover > ul {
          padding: 40px 0 20px 0; }
        #main-menu .menu-block-wrapper > ul.menu > li > ul {
          max-height: 0;
          overflow: hidden;
          position: absolute;
          margin-top: -1px;
          background: #f1f2f2 url(../../images/pattern-stripe5.png) left bottom repeat-x;
          width: 450px;
          opacity: 0;
          filter: alpha(opacity=0);
          /* SECOND LEVEL */
          /* THIRD LEVEL */ }
          #main-menu .menu-block-wrapper > ul.menu > li > ul > li > a {
            height: auto;
            line-height: 1.4;
            background-color: #f1f2f2;
            color: #232c33;
            margin-bottom: 15px;
            position: relative;
            overflow: hidden;
            padding-left: 0;
            margin-left: 20px;
            padding-right: 0;
            margin-right: 20px; }
            #main-menu .menu-block-wrapper > ul.menu > li > ul > li > a:after {
              content: '';
              display: inline-block;
              position: absolute;
              margin-top: 4px;
              height: 11px;
              background: url(../../images/pattern-stripe5.png) 0 0 repeat-x;
              background-size: auto 120%;
              width: 100px;
              margin-left: 21px; }
          #main-menu .menu-block-wrapper > ul.menu > li > ul ul {
            max-height: 4000px;
            overflow: visible;
            position: relative;
            margin-top: 0;
            padding-bottom: 30px;
            padding-left: 0; }
            #main-menu .menu-block-wrapper > ul.menu > li > ul ul li {
              margin-top: 5px; }
            #main-menu .menu-block-wrapper > ul.menu > li > ul ul li a {
              height: auto;
              line-height: 1.4;
              background-color: #f1f2f2;
              text-transform: none;
              font-size: 16px;
              font-size: 1.6rem;
              padding-left: 0;
              margin-left: 20px;
              padding-right: 0;
              margin-right: 20px; }
        #main-menu .menu-block-wrapper > ul.menu > li.hover > a {
          color: #11325b; }
        #main-menu .menu-block-wrapper > ul.menu > li.hover > ul {
          max-height: 4000px;
          opacity: 1;
          filter: alpha(opacity=100);
          -webkit-transition: opacity 300ms;
          transition: opacity 300ms; } }

@media (max-width: 1439px) {
  #main-menu .menu-mlid-603.hover > ul {
    right: 0; } }

@media (min-width: 1140px) {
  #main-menu .menu-block-wrapper > ul.menu > li a {
    padding-left: 12px;
    padding-right: 12px; } }

@media (min-width: 1280px) {
  #main-menu .menu-block-wrapper > ul.menu > li a {
    padding-left: 20px;
    padding-right: 20px; } }

@media (min-width: 1440px) {
  #main-menu .menu-block-wrapper > ul.menu {
    padding: 0 70px 0 0;
    /* FIRST LEVEL */ }
    #main-menu .menu-block-wrapper > ul.menu > li {
      float: left;
      /* LTR */ }
      #main-menu .menu-block-wrapper > ul.menu > li.is-active-trail:before {
        width: 74px;
        margin-left: -37px; }
      #main-menu .menu-block-wrapper > ul.menu > li a {
        padding-left: 30px;
        padding-right: 30px;
        font-size: 16px;
        font-size: 1.6rem; } }

/* SECONDARY MENU */
@media (max-width: 923px) {
  .sidebars .sidebar-second .block--menu-block {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px); } }

.sidebars .sidebar-second .block--menu-block h2.block-title {
  background: #071c36;
  color: #14a5fe;
  padding: 20px 40px 15px 20px;
  margin: 0;
  border-bottom: 1px solid #14a5fe;
  font-weight: normal;
  font-family: "ProximaNova-Regular", sans-serif; }
  @media (min-width: 924px) {
    .sidebars .sidebar-second .block--menu-block h2.block-title {
      padding: 30px 40px 25px; } }
  .sidebars .sidebar-second .block--menu-block h2.block-title a {
    color: #14a5fe;
    font-family: "ProximaNova-Regular", sans-serif; }
    .no-touchevents .sidebars .sidebar-second .block--menu-block h2.block-title a:hover, .no-touchevents .sidebars .sidebar-second .block--menu-block h2.block-title a:focus {
      color: #fff;
      text-decoration: none; }

.sidebars .sidebar-second .block--menu-block ul,
.sidebars .sidebar-second .block--menu-block li {
  margin: 0;
  padding: 0;
  list-style: none; }
  .sidebars .sidebar-second .block--menu-block ul a,
  .sidebars .sidebar-second .block--menu-block li a {
    color: #14a5fe;
    font-family: "ProximaNova-Regular", sans-serif; }
    .no-touchevents .sidebars .sidebar-second .block--menu-block ul a:hover, .no-touchevents .sidebars .sidebar-second .block--menu-block ul a:focus, .no-touchevents
    .sidebars .sidebar-second .block--menu-block li a:hover, .no-touchevents
    .sidebars .sidebar-second .block--menu-block li a:focus {
      color: #fff;
      text-decoration: none; }

.sidebars .sidebar-second .block--menu-block ul > li a {
  font-family: "Source Serif Pro", serif; }

.sidebars .sidebar-second .block--menu-block ul ul > li a {
  font-family: "ProximaNova-Regular", sans-serif; }
  .sidebars .sidebar-second .block--menu-block ul ul > li a.is-active-trail, .sidebars .sidebar-second .block--menu-block ul ul > li a.is-active {
    color: #fff !important; }

.sidebars .sidebar-second .block--menu-block li {
  background: #11325b;
  color: #14a5fe;
  padding: 20px 40px 20px 20px;
  border-bottom: 1px solid #14a5fe;
  display: block;
  position: relative; }
  @media (min-width: 924px) {
    .sidebars .sidebar-second .block--menu-block li {
      padding: 30px 40px; } }
  .sidebars .sidebar-second .block--menu-block li .menu-level-toggle a {
    position: absolute;
    z-index: 30;
    top: 32px;
    right: 20px; }
    .sidebars .sidebar-second .block--menu-block li .menu-level-toggle a:after {
      content: '';
      display: inline-block;
      position: relative;
      width: 0;
      height: 0;
      border-left: 7px solid transparent;
      border-right: 7px solid transparent;
      border-bottom: 12px solid #14a5fe;
      border-top: 0px solid #14a5fe;
      -webkit-transition: border-width 300ms ease;
      transition: border-width 300ms ease; }
  .sidebars .sidebar-second .block--menu-block li.open ul {
    max-height: 5000px; }
  .sidebars .sidebar-second .block--menu-block li.closed ul {
    max-height: 0;
    overflow: hidden; }
  .sidebars .sidebar-second .block--menu-block li.closed .menu-level-toggle a {
    position: absolute;
    z-index: 30;
    top: 32px;
    right: 20px; }
    .sidebars .sidebar-second .block--menu-block li.closed .menu-level-toggle a:after {
      border-bottom: 0px solid #14a5fe;
      border-top: 12px solid #14a5fe; }
  .sidebars .sidebar-second .block--menu-block li li {
    padding: 0;
    margin: 0;
    border: none;
    font-size: 14px;
    font-size: 1.4rem;
    font-style: italic; }

.sidebars .sidebar-second .block.sidebar-sharing.views-element-container .block-interior {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .sidebars .sidebar-second .block.sidebar-sharing.views-element-container .block-interior h2 {
    top: 0;
    margin-bottom: 0; }
  .sidebars .sidebar-second .block.sidebar-sharing.views-element-container .block-interior .at-share-btn {
    border-radius: 50% !important;
    background-color: #037cc4 !important; }
    .sidebars .sidebar-second .block.sidebar-sharing.views-element-container .block-interior .at-share-btn:hover {
      -webkit-transform: none;
              transform: none; }
    .sidebars .sidebar-second .block.sidebar-sharing.views-element-container .block-interior .at-share-btn .at-icon-wrapper,
    .sidebars .sidebar-second .block.sidebar-sharing.views-element-container .block-interior .at-share-btn svg {
      width: 28px !important;
      height: 28px !important; }

/**
 * Blocks.
 */
/* Block wrapper. */
.block {
  margin-bottom: 10px;
  position: relative; }
  #footer-bottom .block,
  #header .block {
    margin: 0; }
  @media (max-width: 1023px) {
    .block.full-width {
      margin-left: -20px;
      margin-right: -20px; } }

.sidebar-second .addthis_inline_share_toolbox {
  clear: none; }

#block-system-breadcrumb-block a:focus {
  outline-color: #fff; }

.no-touchevents .sidebars .sidebar-second .block--menu-block h2.block-title a:focus {
  outline-color: #fff; }

#sidebar-menu .block--menu-block a:focus {
  outline-color: #fff; }

.block.gray-block .block-interior {
  padding: 30px;
  background-color: #f1f3f2; }
  @media (min-width: 1024px) {
    .block.gray-block .block-interior {
      padding: 60px; } }
  .block.gray-block .block-interior h2 {
    font-size: 16px;
    font-size: 1.6rem;
    margin-top: 0;
    margin-bottom: 25px;
    position: relative;
    overflow: hidden; }
    @media (min-width: 500px) {
      .block.gray-block .block-interior h2 {
        font-size: 20px;
        font-size: 2rem; } }
    @media (min-width: 1440px) {
      .block.gray-block .block-interior h2 {
        font-size: 25px;
        font-size: 2.5rem; } }
    .block.gray-block .block-interior h2:after {
      content: '';
      display: inline-block;
      position: absolute;
      height: 11px;
      background: url(../../images/pattern-stripe4.png) 0 0 repeat-x;
      background-size: auto 120%;
      width: 100px;
      margin-left: 21px;
      margin-top: 4px; }
      @media (min-width: 924px) {
        .block.gray-block .block-interior h2:after {
          height: 18px;
          background: url(../../images/pattern-stripe4.png) 0 0 repeat-x;
          width: 120px; } }
  .block.gray-block .block-interior p {
    margin: 1.2rem 0;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.6; }
  .block.gray-block .block-interior .view-footer {
    padding-top: 2rem; }
    .block.gray-block .block-interior .view-footer p {
      text-align: center; }

.region-sidebar-second .block .block-interior .content .more-link {
  padding-top: 20px;
  width: 100%; }
  .region-sidebar-second .block .block-interior .content .more-link a {
    width: 100%;
    text-align: center;
    font-size: 14px;
    font-size: 1.4rem; }
    @media (min-width: 1024px) {
      .region-sidebar-second .block .block-interior .content .more-link a {
        font-size: 18px;
        font-size: 1.8rem; } }

@media (min-width: 924px) {
  #page .blockscolumns {
    margin-left: -10px;
    margin-right: -10px; }
    #page .blockscolumns::after {
      clear: both;
      content: "";
      display: block; }
    #page .blockscolumns .block {
      width: 33.33%;
      padding-left: 10px;
      padding-right: 10px;
      float: left; } }
    @media (min-width: 924px) and (max-width: 499px) {
      #page .blockscolumns .block {
        width: 100%;
        float: none; } }

#page .blockscolumns .block.gray-block .block-interior {
  padding: 30px; }
  @media (min-width: 924px) {
    #page .blockscolumns .block.gray-block .block-interior {
      padding-bottom: 170px; }
      #page .blockscolumns .block.gray-block .block-interior .more-link {
        position: relative;
        top: 100px;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 2;
        padding: 0 30px 0px; }
        #page .blockscolumns .block.gray-block .block-interior .more-link a {
          width: 100%;
          min-width: 0; }
      #page .blockscolumns .block.gray-block .block-interior .view-scam-alerts {
        padding: 0 0 40px 0; } }
  @media (min-width: 1024px) {
    #page .blockscolumns .block.gray-block .block-interior {
      padding: 30px 30px 170px; } }
  @media (min-width: 1140px) {
    #page .blockscolumns .block.gray-block .block-interior {
      padding: 60px 60px 170px; } }
  @media (max-width: 1139px) {
    #page .blockscolumns .block.gray-block .block-interior .more-link {
      margin-top: 20px; }
      #page .blockscolumns .block.gray-block .block-interior .more-link a {
        min-width: 0;
        width: 100%; } }
  #page .blockscolumns .block.gray-block .block-interior .view--scam-alerts .views-row {
    margin-bottom: 0px; }
    @media (min-width: 924px) {
      #page .blockscolumns .block.gray-block .block-interior .view--scam-alerts .views-row {
        margin-bottom: 0; } }
  #page .blockscolumns .block.gray-block .block-interior .content * {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1.3; }
    @media (min-width: 924px) {
      #page .blockscolumns .block.gray-block .block-interior .content * {
        font-size: 22px;
        font-size: 2.2rem; } }
  #page .blockscolumns .block.gray-block .block-interior ul {
    list-style: none;
    padding-left: 0; }
    #page .blockscolumns .block.gray-block .block-interior ul li {
      margin-bottom: 20px; }
  #page .blockscolumns .block.gray-block .block-interior .more-link * {
    font-size: 20px;
    font-size: 2rem; }
  #page .blockscolumns .block.gray-block .block-interior .field--name-field-date-time *,
  #page .blockscolumns .block.gray-block .block-interior .content .field--post-date * {
    font-size: 16px;
    font-size: 1.6rem;
    font-style: italic;
    position: relative;
    top: -3px; }
  #page .blockscolumns .block.gray-block .block-interior .field--name-field-date-time *,
  #page .blockscolumns .block.gray-block .block-interior .content .field--post-date ~ div * {
    font-size: 16px;
    font-size: 1.6rem; }

@media (min-width: 924px) {
  #page .blockscolumns .gray-block.reposition-more-link .block-interior .more-link {
    position: absolute;
    top: auto;
    bottom: 50px; } }

#content .block.toolkit::after {
  clear: both;
  content: "";
  display: block; }

#content .block.toolkit .field--name-field-heading .field__item,
#content .block.toolkit h2 {
  font-size: 16px;
  font-size: 1.6rem;
  color: #11325b;
  font-family: "Source Serif Pro", serif;
  margin-top: 50px;
  position: relative;
  overflow: hidden; }
  @media (min-width: 500px) {
    #content .block.toolkit .field--name-field-heading .field__item,
    #content .block.toolkit h2 {
      font-size: 22px;
      font-size: 2.2rem; } }
  @media (min-width: 924px) {
    #content .block.toolkit .field--name-field-heading .field__item,
    #content .block.toolkit h2 {
      font-size: 26px;
      font-size: 2.6rem; } }
  #content .block.toolkit .field--name-field-heading .field__item:after,
  #content .block.toolkit h2:after {
    content: '';
    display: inline-block;
    position: absolute;
    height: 11px;
    background: url(../../images/pattern-stripe3.png) 0 0 repeat-x;
    background-size: auto 120%;
    width: 100px;
    margin-left: 21px;
    margin-top: 4px; }
    @media (min-width: 761px) {
      #content .block.toolkit .field--name-field-heading .field__item:after,
      #content .block.toolkit h2:after {
        height: 18px;
        background: url(../../images/pattern-stripe3.png) 0 0 repeat-x;
        width: 258px;
        margin-left: 31px; } }
    @media (min-width: 924px) {
      #content .block.toolkit .field--name-field-heading .field__item:after,
      #content .block.toolkit h2:after {
        margin-top: 0; } }

#content .block.toolkit .field--name-field-heading {
  margin-bottom: 20px; }
  #content .block.toolkit .field--name-field-heading .field__item {
    line-height: 1; }

#content .block.toolkit .field-title {
  float: left;
  line-height: 1.3;
  font-size: 21px;
  font-size: 2.1rem;
  margin-top: 0;
  margin-bottom: 40px;
  color: #11325b; }
  @media (min-width: 500px) {
    #content .block.toolkit .field-title {
      margin-top: 0.75rem;
      font-size: 29px;
      font-size: 2.9rem;
      margin-bottom: 30px; } }
  @media (min-width: 1440px) {
    #content .block.toolkit .field-title {
      margin-top: 1.5rem;
      font-size: 38px;
      font-size: 3.8rem;
      margin-bottom: 18px;
      letter-spacing: 1px; } }

#content .block.toolkit .field-link {
  margin-top: 26px;
  clear: both; }

@media (max-width: 760px) {
  #content .block.toolkit {
    margin-bottom: 58px; }
    #content .block.toolkit .field-link a {
      min-width: 310px;
      text-align: center; } }

@media (min-width: 761px) {
  #content .block.toolkit {
    max-width: 570px; }
    .front #content .block.toolkit {
      margin-left: auto;
      margin-right: auto; }
    #content .block.toolkit .field-title {
      max-width: 400px; }
    #content .block.toolkit .field-link {
      clear: none;
      float: right; } }

@media (min-width: 924px) {
  #content .block.toolkit {
    max-width: 680px; }
    #content .block.toolkit .field-link a {
      min-width: 280px;
      text-align: center; } }

@media (min-width: 1440px) {
  #content .block.toolkit {
    max-width: 840px; }
    #content .block.toolkit .field-link {
      float: right;
      clear: none; }
      #content .block.toolkit .field-link a {
        min-width: 310px; }
    #content .block.toolkit .field-title {
      width: 60%;
      max-width: none; } }

.not-front #content .block.toolkit {
  margin-bottom: 80px;
  margin-left: auto;
  margin-right: auto; }

#content #comments {
  padding: 30px;
  background-color: #f1f3f2; }
  #content #comments::after {
    clear: both;
    content: "";
    display: block; }
  #content #comments .form-actions {
    margin-top: 2rem; }
  @media (min-width: 1024px) {
    #content #comments {
      padding: 60px; } }
  #content #comments input[type='text'], #content #comments textarea {
    border: none;
    width: 100%;
    padding: 20px 20px 20px 30px; }
  @media (max-width: 1023px) {
    #content #comments input[type='submit'] {
      width: 100%; } }
  .logged-in #content #comments #edit-author--2 {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px); }
  #content #comments h2 {
    font-size: 16px;
    font-size: 1.6rem;
    margin-top: 0;
    margin-bottom: 25px;
    position: relative;
    overflow: hidden; }
    @media (min-width: 500px) {
      #content #comments h2 {
        font-size: 20px;
        font-size: 2rem; } }
    @media (min-width: 1440px) {
      #content #comments h2 {
        font-size: 25px;
        font-size: 2.5rem; } }
    #content #comments h2:after {
      content: '';
      display: inline-block;
      position: absolute;
      height: 11px;
      background: url(../../images/pattern-stripe4.png) 0 0 repeat-x;
      background-size: auto 120%;
      width: 100px;
      margin-left: 21px;
      margin-top: 4px; }
      @media (min-width: 924px) {
        #content #comments h2:after {
          height: 18px;
          background: url(../../images/pattern-stripe4.png) 0 0 repeat-x;
          width: 120px; } }
  #content #comments p {
    margin: 1.2rem 0;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.6; }
  #content #comments .view-footer {
    padding-top: 2rem; }
    #content #comments .view-footer p {
      text-align: center; }
  #content #comments #edit-actions {
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: center; }
  #content #comments form + div, #content #comments .privacy-comments {
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: center; }
  #content #comments .privacy-comments a {
    display: block; }
  #content #comments .form-item-name {
    margin-bottom: 20px; }
  #content #comments .comment {
    clear: both;
    border-top: 1px solid #dbdcdb;
    padding-top: 35px;
    padding-bottom: 35px;
    margin-left: -60px;
    margin-right: -60px;
    padding-left: 60px;
    padding-right: 60px; }
    @media (max-width: 1023px) {
      #content #comments .comment {
        margin-left: -30px;
        margin-right: -30px;
        padding-left: 30px;
        padding-right: 30px; } }
    #content #comments .comment .field--comment-body {
      overflow: hidden;
      word-wrap: break-word; }
    #content #comments .comment .submitted-by, #content #comments .comment .submitted-by * {
      font-size: 12px;
      font-size: 1.2rem; }
      #content #comments .comment .submitted-by strong, #content #comments .comment .submitted-by strong *, #content #comments .comment .submitted-by * strong, #content #comments .comment .submitted-by * strong * {
        font-size: 14px;
        font-size: 1.4rem; }
    @media (max-width: 923px) {
      #content #comments .comment .submitted-by strong, #content #comments .comment .submitted-by * strong {
        display: block; } }
  @media (min-width: 1024px) {
    #content #comments #edit-actions {
      float: left; }
    #content #comments form + div, #content #comments .privacy-comments {
      float: right;
      text-align: right; }
    #content #comments .comment .submitted-by, #content #comments .comment .submitted-by * {
      font-size: 16px;
      font-size: 1.6rem; }
      #content #comments .comment .submitted-by strong, #content #comments .comment .submitted-by * strong {
        font-size: 16px;
        font-size: 1.6rem; } }

/**
 * Breadcrumb navigation.
 */
.breadcrumb * {
  color: #027bc5;
  font-size: 16px;
  font-size: 1.6rem; }
  @media (min-width: 761px) {
    .breadcrumb * {
      font-size: 20px;
      font-size: 2rem; } }
  @media (min-width: 924px) {
    .breadcrumb * {
      font-size: 24px;
      font-size: 2.4rem; } }

.breadcrumb ol {
  margin: 0;
  padding: 0; }

.breadcrumb li {
  display: inline;
  list-style-type: none;
  margin: 0 15px 0 0;
  padding: 0; }

.breadcrumb a:after {
  content: '\00BB';
  display: inline-block;
  margin-left: 5px; }

.no-touchevents .breadcrumb a:hover, .no-touchevents .breadcrumb a:focus {
  color: #fff;
  text-decoration: none; }

/**
 * Inline styles.
 */
/* List of links generated by theme_links(). */
.inline {
  display: inline;
  padding: 0; }
  .inline li {
    display: inline;
    list-style-type: none;
    padding: 0 1em 0 0;
    /* LTR */ }

/* The inline field label used by the Fences module. */
span.field-label {
  padding: 0 1em 0 0;
  /* LTR */ }

/**
 * Pager
 */
/* A list of page numbers when more than 1 page of content is available. */
#content .pager {
  clear: both;
  padding: 0;
  text-align: left;
  font-family: "Source Serif Pro", serif;
  font-size: 26px;
  font-size: 2.6rem;
  margin-top: 0; }
  @media (min-width: 924px) {
    #content .pager {
      margin-left: -0.5em; } }

#content .pager li:before,
#content .pager .pager-ellipsis {
  display: none; }

.pager-item,
.pager-first,
.pager-previous,
.pager-next,
.pager-last,
.pager-ellipsis, .pager-current {
  display: inline;
  padding: 0 0.5em;
  list-style-type: none;
  background-image: none; }

.pager-item,
.pager-first,
.pager-previous,
.pager-next,
.pager-last,
.pager-ellipsis {
  /* A concatenation of several list items using an ellipsis. */ }

/* The current page's list item. */
.pager-current {
  color: #027bc5;
  text-decoration: underline; }

.pager-next a:after,
.pager-last a:after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 8px solid rgba(0, 0, 0, 0);
  border-bottom: 8px solid rgba(0, 0, 0, 0);
  border-left: 11px solid #027bc5;
  -webkit-transition: right 300ms ease;
  transition: right 300ms ease; }

.pager-last a:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 8px solid rgba(0, 0, 0, 0);
  border-bottom: 8px solid rgba(0, 0, 0, 0);
  border-left: 11px solid #027bc5;
  -webkit-transition: right 300ms ease;
  transition: right 300ms ease; }

.pager-previous a:after,
.pager-first a:after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 8px solid rgba(0, 0, 0, 0);
  border-bottom: 8px solid rgba(0, 0, 0, 0);
  border-right: 11px solid #027bc5;
  -webkit-transition: right 300ms ease;
  transition: right 300ms ease; }

.pager-first a:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 8px solid rgba(0, 0, 0, 0);
  border-bottom: 8px solid rgba(0, 0, 0, 0);
  border-right: 11px solid #027bc5;
  -webkit-transition: right 300ms ease;
  transition: right 300ms ease; }

html body.html.logged-in {
  margin-top: 80px !important; }

.not-logged-in #page {
  padding-top: 0 !important; }
  @media (min-width: 1024px) {
    .not-logged-in #page {
      padding-top: 146px !important; } }

#block-views-exposed-filter-block-mcg-search-page-1 form {
  margin: 0; }

#block-views-exposed-filter-block-mcg-search-page-1 .content {
  margin-top: 0;
  position: relative; }

#block-views-exposed-filter-block-mcg-search-page-1 h2.element-invisible {
  margin: 0;
  padding: 0; }

@media screen and (max-width: 1023px) {
  #block-views-exposed-filter-block-mcg-search-page-1 .js-form-item-search-api-fulltext {
    width: 100%; } }

#block-views-exposed-filter-block-mcg-search-page-1 .js-form-item-search-api-fulltext input,
#block-views-exposed-filter-block-mcg-search-page-1 .form-item-search-block-form input {
  background-color: rgba(2, 123, 197, 0.41);
  border: 0;
  color: white;
  line-height: 1.2em;
  height: 46px;
  border: 0;
  padding: 5px 30px 5px 10px;
  margin: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-transform: uppercase;
  font-size: 12px;
  font-size: 1.2rem;
  width: 100%; }
  @media (min-width: 1024px) {
    #block-views-exposed-filter-block-mcg-search-page-1 .js-form-item-search-api-fulltext input,
    #block-views-exposed-filter-block-mcg-search-page-1 .form-item-search-block-form input {
      float: right;
      width: 225px; } }
  #block-views-exposed-filter-block-mcg-search-page-1 .js-form-item-search-api-fulltext input[type="text"]::-webkit-input-placeholder, #block-views-exposed-filter-block-mcg-search-page-1 .form-item-search-block-form input[type="text"]::-webkit-input-placeholder {
    color: white; }
  #block-views-exposed-filter-block-mcg-search-page-1 .js-form-item-search-api-fulltext input[type="text"]::-moz-placeholder, #block-views-exposed-filter-block-mcg-search-page-1 .form-item-search-block-form input[type="text"]::-moz-placeholder {
    color: white; }
  #block-views-exposed-filter-block-mcg-search-page-1 .js-form-item-search-api-fulltext input[type="text"]:-ms-input-placeholder, #block-views-exposed-filter-block-mcg-search-page-1 .form-item-search-block-form input[type="text"]:-ms-input-placeholder {
    color: white; }
  #block-views-exposed-filter-block-mcg-search-page-1 .js-form-item-search-api-fulltext input[type="text"]::-ms-input-placeholder, #block-views-exposed-filter-block-mcg-search-page-1 .form-item-search-block-form input[type="text"]::-ms-input-placeholder {
    color: white; }
  #block-views-exposed-filter-block-mcg-search-page-1 .js-form-item-search-api-fulltext input[type="text"]::placeholder,
  #block-views-exposed-filter-block-mcg-search-page-1 .form-item-search-block-form input[type="text"]::placeholder {
    color: white; }
  #block-views-exposed-filter-block-mcg-search-page-1 .js-form-item-search-api-fulltext input[type="text"]::-webkit-input-placeholder,
  #block-views-exposed-filter-block-mcg-search-page-1 .form-item-search-block-form input[type="text"]::-webkit-input-placeholder {
    color: white; }
  #block-views-exposed-filter-block-mcg-search-page-1 .js-form-item-search-api-fulltext input[type="text"]::-moz-placeholder,
  #block-views-exposed-filter-block-mcg-search-page-1 .form-item-search-block-form input[type="text"]::-moz-placeholder {
    color: white; }
  #block-views-exposed-filter-block-mcg-search-page-1 .js-form-item-search-api-fulltext input[type="text"]:-ms-input-placeholder,
  #block-views-exposed-filter-block-mcg-search-page-1 .form-item-search-block-form input[type="text"]:-ms-input-placeholder {
    color: white; }

#block-views-exposed-filter-block-mcg-search-page-1 input[type="search"]::-moz-placeholder, #block-views-exposed-filter-block-mcg-search-page-1 input[type="text"]::-moz-placeholder {
  color: white; }

#block-views-exposed-filter-block-mcg-search-page-1 input[type="search"]::placeholder,
#block-views-exposed-filter-block-mcg-search-page-1 input[type="search"]::-moz-placeholder,
#block-views-exposed-filter-block-mcg-search-page-1 input[type="search"]::-ms-input-placeholder,
#block-views-exposed-filter-block-mcg-search-page-1 input[type="search"]::-webkit-input-placeholder,
#block-views-exposed-filter-block-mcg-search-page-1 input[type="text"]::placeholder,
#block-views-exposed-filter-block-mcg-search-page-1 input[type="text"]::-moz-placeholder,
#block-views-exposed-filter-block-mcg-search-page-1 input[type="text"]::-ms-input-placeholder,
#block-views-exposed-filter-block-mcg-search-page-1 input[type="text"]::-webkit-input-placeholder {
  color: white; }

#block-views-exposed-filter-block-mcg-search-page-1 input:-webkit-autofill,
#block-views-exposed-filter-block-mcg-search-page-1 input:-webkit-autofill:hover,
#block-views-exposed-filter-block-mcg-search-page-1 input:-webkit-autofill:focus {
  -webkit-text-fill-color: white;
  -webkit-box-shadow: 0 0 0px 1000px #0a5289 inset; }

#header #block-views-exposed-filter-block-mcg-search-page-1 input.form-submit,
#header #block-views-exposed-filter-block-mcg-search-page-1 input.form-submit {
  position: absolute;
  top: 14px;
  right: 14px;
  height: 27px;
  width: 27px;
  padding: 0;
  cursor: pointer;
  text-indent: -9999px;
  z-index: 10005;
  background-color: transparent;
  background-image: url("../../images/search.svg");
  background-repeat: no-repeat;
  background-size: 15px 20px;
  overflow: hidden;
  border: 0; }
  @media (min-width: 1024px) {
    #header #block-views-exposed-filter-block-mcg-search-page-1 input.form-submit,
    #header #block-views-exposed-filter-block-mcg-search-page-1 input.form-submit {
      right: 0; } }

#search-form .form-item-keys label, #search-form .form-item-keys .field .field-label, .field #search-form .form-item-keys .field-label {
  display: block; }

/* HI RES
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (min-resolution: 240dpi) {

} */
#content .search-block-content-mcg {
  max-width: 710px;
  margin-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  #content .search-block-content-mcg .form-item-keys {
    width: 100%;
    float: left; }
    @media (min-width: 1024px) {
      #content .search-block-content-mcg .form-item-keys {
        width: 55%; } }
  #content .search-block-content-mcg input[type="search"],
  #content .search-block-content-mcg input[type="text"] {
    background-color: #fafafa;
    padding: 7px 20px;
    font-family: "Source Serif Pro", serif;
    margin-bottom: 20px;
    display: block;
    border: solid 1px #bbb;
    -webkit-appearance: none;
    border-radius: 0;
    color: #6f6f6f;
    vertical-align: top;
    display: inline-block;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: normal;
    width: 100%;
    line-height: 56px;
    height: 56px;
    margin: 0 0 20px;
    font-size: 16px;
    font-size: 1.6rem; }
    @media (min-width: 761px) {
      #content .search-block-content-mcg input[type="search"],
      #content .search-block-content-mcg input[type="text"] {
        width: 100%;
        height: 66px;
        line-height: 66px; } }
    @media (min-width: 1024px) {
      #content .search-block-content-mcg input[type="search"],
      #content .search-block-content-mcg input[type="text"] {
        height: 76px;
        line-height: 76px; } }
    @media (min-width: 1440px) {
      #content .search-block-content-mcg input[type="search"],
      #content .search-block-content-mcg input[type="text"] {
        font-size: 20px;
        font-size: 2rem; } }
    @media (min-width: 1680px) {
      #content .search-block-content-mcg input[type="search"],
      #content .search-block-content-mcg input[type="text"] {
        font-size: 22px;
        font-size: 2.2rem; } }
  #content .search-block-content-mcg input[type="submit"] {
    background-color: #027bc5;
    font-family: "Source Serif Pro", serif;
    font-weight: 500;
    padding: 0 7px;
    color: #FFF;
    display: inline-block;
    border: none;
    border-radius: 0;
    margin: 0;
    height: 76px;
    line-height: 76px;
    width: 45%;
    -webkit-transition: background 300ms;
    transition: background 300ms; }
    @media (max-width: 1023px) {
      #content .search-block-content-mcg input[type="submit"] {
        width: 100%;
        text-align: center;
        border: none; } }
  #content .search-block-content-mcg input[type="submit"]:hover {
    background-color: #11325b; }
  #content .search-block-content-mcg .form-item-keys label, #content .search-block-content-mcg .form-item-keys .field .field-label, .field #content .search-block-content-mcg .form-item-keys .field-label {
    display: none; }

ol.search-results {
  padding: 0;
  list-style: none;
  margin-top: 0; }
  ol.search-results .title {
    font-size: 1.2em; }
  ol.search-results .search-snippet-info {
    padding-left: 0; }

.search-help-link,
.search-advanced {
  display: none; }

#views-exposed-form-mcg-search-page-1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

/**
 * Global Tables
 */
table {
  border-color: lightgray;
  border: 0;
  width: 100% !important; }
  table tr {
    border: 0px solid lightgray; }
    table tr:nth-child(even) {
      background: #f7f7f7; }
  table td,
  table th {
    border-color: lightgray;
    padding: 0.5em 1em;
    text-align: left; }
    table td > *:first-child,
    table th > *:first-child {
      margin-top: 0; }
    table td > *:last-child,
    table th > *:last-child {
      margin-bottom: 0; }
  table thead th,
  table tbody th {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.92em;
    background: #e7e7e7; }
  table th.empty-header-cell {
    visibility: hidden; }

/**
 * Responsive data tables with headers
 */
@media (max-width: 923px) {
  table.data {
    overflow: hidden;
    display: block; }
  table.data thead,
  table.data th {
    display: none; }
  table.data tbody,
  table.data tbody th,
  table.data tr,
  table.data td,
  table.data caption {
    display: block;
    width: 100%;
    float: left; }
  table.data tr {
    border-width: 1px;
    padding: 20px 10px; }
    table.data tr + tr {
      border-top-width: 0; }
    table.data tr > th,
    table.data tr > td {
      border-width: 0; }
  table.data td.labeled:before {
    content: attr(data-th);
    display: block;
    font-weight: bold;
    font-size: 0.92em;
    color: #555;
    border-bottom: 1px solid lightgray;
    margin-bottom: 0.5em;
    padding-bottom: 0.5em; } }

@media (min-width: 1024px) {
  .not-front #titling-container {
    margin-left: auto;
    margin-right: auto;
    max-width: 1230px;
    padding-left: 30px;
    padding-right: 30px; }
    .not-front #titling-container .title-wrapper {
      position: relative;
      padding-top: 35px;
      padding-bottom: 35px; }
      .not-front #titling-container .title-wrapper * {
        position: relative;
        z-index: 2; }
      .not-front #titling-container .title-wrapper:before {
        content: '';
        display: block;
        width: 500px;
        top: 0;
        bottom: 0;
        left: -499px;
        z-index: 1;
        background: #11325b url(../../images/stripes.svg) left bottom repeat-x !important;
        position: absolute; }
  body.node-type-resource #titling-container {
    max-width: 1480px; }
  .not-front #titling {
    width: 67.4%;
    position: relative;
    -webkit-box-sizing: content-box;
            box-sizing: content-box; } }

@media (min-width: 1024px) and (min-width: 1024px) {
  .page-title-first-level #titling {
    max-width: 480px; }
    .page-title-first-level #titling .title-wrapper {
      padding-right: 100px; } }

@media (min-width: 1024px) {
  #content #block-views-life-events-block h2.block__title {
    margin-left: -30px;
    border-left: 30px solid #11325b; } }

@media (min-width: 1680px) {
  .not-front #titling {
    border-left: none; } }

#titling,
#content {
  /* ----------------- Page Titles ---------------- */ }
  #titling .title-wrapper,
  #titling #block-views-life-events-block h2.block__title,
  #content .title-wrapper,
  #content #block-views-life-events-block h2.block__title {
    position: relative;
    z-index: 5;
    background: #11325b;
    font-family: "Source Serif Pro", serif;
    font-weight: normal;
    min-width: 30.2%;
    word-break: break-word;
    font-size: 22px;
    font-size: 2.2rem;
    padding: 35px 20px 35px 20px; }
    @media (min-width: 761px) {
      #titling .title-wrapper,
      #titling #block-views-life-events-block h2.block__title,
      #content .title-wrapper,
      #content #block-views-life-events-block h2.block__title {
        font-size: 34px;
        font-size: 3.4rem;
        padding: 52px 20px 52px 20px; } }
    @media (min-width: 924px) {
      #titling .title-wrapper,
      #titling #block-views-life-events-block h2.block__title,
      #content .title-wrapper,
      #content #block-views-life-events-block h2.block__title {
        font-size: 46px;
        font-size: 4.6rem;
        padding: 70px 20px 70px 20px; } }
    @media (min-width: 1024px) {
      #titling .title-wrapper,
      #titling #block-views-life-events-block h2.block__title,
      #content .title-wrapper,
      #content #block-views-life-events-block h2.block__title {
        padding-left: 0px; } }
    @media (min-width: 1440px) {
      #titling .title-wrapper,
      #titling #block-views-life-events-block h2.block__title,
      #content .title-wrapper,
      #content #block-views-life-events-block h2.block__title {
        left: -20px;
        padding: 70px 123px 70px 140px; } }
    #titling .title-wrapper h1#page-title,
    #titling #block-views-life-events-block h2.block__title h1#page-title,
    #content .title-wrapper h1#page-title,
    #content #block-views-life-events-block h2.block__title h1#page-title {
      line-height: 1.1; }
    #titling .title-wrapper h1#page-title,
    #titling .title-wrapper h1#page-title a,
    #titling .title-wrapper .h2-inner,
    #titling #block-views-life-events-block h2.block__title h1#page-title,
    #titling #block-views-life-events-block h2.block__title h1#page-title a,
    #titling #block-views-life-events-block h2.block__title .h2-inner,
    #content .title-wrapper h1#page-title,
    #content .title-wrapper h1#page-title a,
    #content .title-wrapper .h2-inner,
    #content #block-views-life-events-block h2.block__title h1#page-title,
    #content #block-views-life-events-block h2.block__title h1#page-title a,
    #content #block-views-life-events-block h2.block__title .h2-inner {
      color: #fff;
      font-weight: normal;
      position: relative;
      z-index: 5; }
  @media (max-width: 923px) {
    #titling #block-views-life-events-block h2.block__title,
    #content #block-views-life-events-block h2.block__title {
      padding: 42px 20px;
      font-size: 20px;
      font-size: 2rem; } }
  @media (min-width: 1024px) {
    #titling #block-views-life-events-block h2.block__title,
    #content #block-views-life-events-block h2.block__title {
      display: inline-block; } }
  @media (min-width: 1440px) {
    #titling .title-wrapper,
    #content .title-wrapper {
      padding: 70px 123px 70px 0px; }
    #titling #block-views-life-events-block h2.block__title,
    #content #block-views-life-events-block h2.block__title {
      left: 0px;
      float: left;
      padding: 70px 123px 70px 100px;
      min-width: 30.2%; } }
  #titling .title-wrapper,
  #content .title-wrapper {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 50px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    float: none; }
    @media (min-width: 1440px) {
      #titling .title-wrapper,
      #content .title-wrapper {
        margin-left: 20px;
        padding-right: 220px; } }
  .sidebar-second #titling .title-wrapper, .sidebar-second
  #content .title-wrapper {
    font-size: 16px;
    font-size: 1.6rem;
    position: relative;
    margin-bottom: 50px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    max-width: none;
    float: none; }
    @media (max-width: 760px) {
      .sidebar-second #titling .title-wrapper, .sidebar-second
      #content .title-wrapper {
        margin-bottom: 70px; } }
    @media (min-width: 1440px) {
      .sidebar-second #titling .title-wrapper, .sidebar-second
      #content .title-wrapper {
        padding-right: 220px;
        margin-left: 0;
        left: 0; } }
  #titling .title-wrapper .field--post-date,
  #titling .title-wrapper .field--date-author-field,
  #content .title-wrapper .field--post-date,
  #content .title-wrapper .field--date-author-field {
    font-style: normal;
    text-transform: uppercase;
    color: #fff;
    font-family: "ProximaNova-Regular", sans-serif;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.2; }
    @media (min-width: 1024px) {
      #titling .title-wrapper .field--post-date,
      #titling .title-wrapper .field--date-author-field,
      #content .title-wrapper .field--post-date,
      #content .title-wrapper .field--date-author-field {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media (min-width: 1440px) {
      #titling .title-wrapper .field--post-date,
      #titling .title-wrapper .field--date-author-field,
      #content .title-wrapper .field--post-date,
      #content .title-wrapper .field--date-author-field {
        font-size: 16px;
        font-size: 1.6rem; } }
    #titling .title-wrapper .field--post-date .author + .author-title:before,
    #titling .title-wrapper .field--date-author-field .author + .author-title:before,
    #content .title-wrapper .field--post-date .author + .author-title:before,
    #content .title-wrapper .field--date-author-field .author + .author-title:before {
      content: ', ';
      position: relative;
      left: -2px; }

/* ----------------- Titles for pages w/ photo headers (title-only or title + breadcrumb) ---------------- */
@media (min-width: 761px) {
  body.page-title-first-level #titling .title-wrapper,
  body.page-taxonomy-term #titling .title-wrapper,
  body.page-user #titling .title-wrapper,
  body.section-resources #titling .title-wrapper,
  body.node-type-article #titling .title-wrapper,
  body.page-node #titling .title-wrapper,
  body.node-type-partners #titling .title-wrapper,
  body.node-type-resource #titling .title-wrapper {
    padding-top: 35px;
    padding-bottom: 35px; } }

@media (min-width: 924px) {
  body.page-title-first-level #titling .title-wrapper,
  body.page-taxonomy-term #titling .title-wrapper,
  body.page-user #titling .title-wrapper,
  body.section-resources #titling .title-wrapper,
  body.node-type-article #titling .title-wrapper,
  body.page-node #titling .title-wrapper,
  body.node-type-partners #titling .title-wrapper,
  body.node-type-resource #titling .title-wrapper {
    padding-top: 35px;
    padding-bottom: 35px; } }

@media (min-width: 1440px) {
  body.page-title-first-level #titling .title-wrapper,
  body.page-taxonomy-term #titling .title-wrapper,
  body.page-user #titling .title-wrapper,
  body.section-resources #titling .title-wrapper,
  body.node-type-article #titling .title-wrapper,
  body.page-node #titling .title-wrapper,
  body.node-type-partners #titling .title-wrapper,
  body.node-type-resource #titling .title-wrapper {
    padding-top: 35px;
    padding-bottom: 35px; } }

body.page-title-first-level:not(.node-type-article):not(.mcg-blog-landing),
body.page-taxonomy-term:not(.node-type-article):not(.mcg-blog-landing),
body.page-user:not(.node-type-article):not(.mcg-blog-landing),
body.section-resources:not(.node-type-article):not(.mcg-blog-landing),
body.node-type-article:not(.node-type-article):not(.mcg-blog-landing),
body.page-node:not(.node-type-article):not(.mcg-blog-landing),
body.node-type-partners:not(.node-type-article):not(.mcg-blog-landing),
body.node-type-resource:not(.node-type-article):not(.mcg-blog-landing) {
  /* Compensate for padding that's been removed. */ }
  @media (min-width: 1024px) {
    body.page-title-first-level:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.page-taxonomy-term:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.page-user:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.section-resources:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.node-type-article:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.page-node:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.node-type-partners:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.node-type-resource:not(.node-type-article):not(.mcg-blog-landing) #titling-container {
      padding-bottom: 70px; } }
  @media (min-width: 1280px) {
    body.page-title-first-level:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.page-taxonomy-term:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.page-user:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.section-resources:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.node-type-article:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.page-node:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.node-type-partners:not(.node-type-article):not(.mcg-blog-landing) #titling-container,
    body.node-type-resource:not(.node-type-article):not(.mcg-blog-landing) #titling-container {
      padding-bottom: 70px; } }

/* For pages w/ photo headers: shift title relative to photo header. */
body.page-title-first-level:not(.mcg-blog-landing),
body.section-earn,
body.section-spend,
body.section-borrow,
body.section-save-invest,
body.section-protect,
body.section-blog:not(.mcg-blog-landing),
body.section-scam-alerts {
  /* Move sharing block back up on the page, so it aligns w/ the title block. */ }
  @media (min-width: 1440px) {
    body.page-title-first-level:not(.mcg-blog-landing) #titling-container,
    body.section-earn #titling-container,
    body.section-spend #titling-container,
    body.section-borrow #titling-container,
    body.section-save-invest #titling-container,
    body.section-protect #titling-container,
    body.section-blog:not(.mcg-blog-landing) #titling-container,
    body.section-scam-alerts #titling-container {
      padding-top: 136px; } }
  @media (min-width: 1440px) {
    body.page-title-first-level:not(.mcg-blog-landing) .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block),
    body.section-earn .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block),
    body.section-spend .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block),
    body.section-borrow .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block),
    body.section-save-invest .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block),
    body.section-protect .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block),
    body.section-blog:not(.mcg-blog-landing) .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block),
    body.section-scam-alerts .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) {
      top: -144px; } }

body.node-type-article {
  /* Move sharing block back up on the page, so it aligns w/ the title block. */ }
  @media (min-width: 1440px) {
    body.node-type-article .sidebars .sidebar-second .block.sidebar-sharing:not(.block--menu-block) {
      top: -158px; } }

/* ----------------- Titles for pages that include author/date info ---------------- */
body.page-scam .view-mcg-scam-alerts__page_1 h3.node-title {
  margin: 0;
  padding: 0; }
  body.page-scam .view-mcg-scam-alerts__page_1 h3.node-title a {
    font-family: "ProximaNova-Regular",sans-serif;
    font-weight: normal; }
    body.page-scam .view-mcg-scam-alerts__page_1 h3.node-title a::after {
      content: '';
      display: inline-block;
      position: absolute;
      margin-top: 8px;
      width: 0;
      height: 0;
      border-top: 8px solid transparent;
      border-bottom: 8px solid transparent;
      border-left: 11px solid #027bc4;
      margin-left: 10px;
      -webkit-transition: border-color 300ms ease;
      transition: border-color 300ms ease; }

body.page-scam .view-mcg-scam-alerts__page_1 div.field--name-field-author:after {
  margin-top: 15px;
  content: "";
  border-top: 1px solid #ddd;
  width: 150px;
  display: block; }

body.page-scam .view-mcg-scam-alerts__page_1 div.field--name-field-date-time,
body.page-scam .view-mcg-scam-alerts__page_1 div.field--name-field-author {
  font-style: italic;
  margin: 0 1em .5em 0;
  font-size: 1.6rem;
  display: inline; }
  body.page-scam .view-mcg-scam-alerts__page_1 div.field--name-field-date-time *,
  body.page-scam .view-mcg-scam-alerts__page_1 div.field--name-field-author * {
    display: inline; }

body.page-scam .view-mcg-scam-alerts__page_1 div.field--name-body {
  margin-bottom: 6rem;
  margin-top: -15px; }

body.mcg-blog #banner {
  margin-bottom: 30px; }

body.mcg-blog #titling {
  width: 35.4%; }

@media (min-width: 761px) {
  body.node-type-scam-alert #titling .title-wrapper,
  body.node-type-blog-post #titling .title-wrapper {
    padding-top: 54px;
    padding-bottom: 54px; } }

@media (min-width: 924px) {
  body.node-type-scam-alert #titling .title-wrapper,
  body.node-type-blog-post #titling .title-wrapper {
    padding-top: 54px;
    padding-bottom: 54px; } }

@media (min-width: 1440px) {
  body.node-type-scam-alert #titling .title-wrapper,
  body.node-type-blog-post #titling .title-wrapper {
    padding-top: 54px;
    padding-bottom: 54px; } }

/**
 * Accordions.
 */
.custom-accordion .accordion-trigger * {
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: bold;
  font-family: "ProximaNova-Regular", sans-serif; }

.custom-accordion .accordion-trigger .plus {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
  border-left: 5px solid rgba(0, 0, 0, 0);
  border-right: 5px solid rgba(0, 0, 0, 0);
  border-bottom: 8px solid #027bc5;
  margin-left: 10px;
  -webkit-transition: right 300ms ease;
  transition: right 300ms ease; }

.custom-accordion.collapsed .accordion-trigger .plus {
  border-top: 8px solid #027bc5;
  border-bottom: 0; }

@media (min-width: 924px) {
  .custom-accordion .accordion-trigger .plus {
    border-left: 8px solid rgba(0, 0, 0, 0);
    border-right: 8px solid rgba(0, 0, 0, 0);
    border-bottom: 11px solid #027bc5; }
  .custom-accordion.collapsed .accordion-trigger .plus {
    border-top: 11px solid #027bc5;
    border-bottom: 0; } }

/**
 * New 2020 front page
 */
.region-highlighted .block--ftc-military-custom-redesign-2020-signup {
  background: #11325b url("../../images/stripes.svg") left bottom repeat-x !important;
  width: 90% !important;
  margin: -30px auto 0; }
  @media (min-width: 761px) {
    .region-highlighted .block--ftc-military-custom-redesign-2020-signup {
      width: 820px !important;
      margin: 0 auto; } }
  .region-highlighted .block--ftc-military-custom-redesign-2020-signup.block:after {
    display: none !important; }
  .region-highlighted .block--ftc-military-custom-redesign-2020-signup.block > div {
    padding: 25px;
    margin-left: 0; }
  .region-highlighted .block--ftc-military-custom-redesign-2020-signup .block-interior {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (min-width: 761px) {
      .region-highlighted .block--ftc-military-custom-redesign-2020-signup .block-interior {
        -ms-flex-pack: distribute;
            justify-content: space-around; } }
    .region-highlighted .block--ftc-military-custom-redesign-2020-signup .block-interior h2 {
      margin: 0; }
    .region-highlighted .block--ftc-military-custom-redesign-2020-signup .block-interior:after {
      display: none !important; }
  .region-highlighted .block--ftc-military-custom-redesign-2020-signup h2:after {
    display: none !important; }
  .region-highlighted .block--ftc-military-custom-redesign-2020-signup .h2-inner {
    color: white;
    font-family: "Source Serif Pro", serif;
    font-size: 28px;
    letter-spacing: -0.08px;
    line-height: 48px; }
  .region-highlighted .block--ftc-military-custom-redesign-2020-signup .block_content {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important; }
  .region-highlighted .block--ftc-military-custom-redesign-2020-signup .field--name-field-body {
    margin: 0; }
  .region-highlighted .block--ftc-military-custom-redesign-2020-signup form {
    width: 350px;
    margin: 10px 0 0; }
    .region-highlighted .block--ftc-military-custom-redesign-2020-signup form input[type="text"] {
      background-color: #1C4A82;
      padding: 7px 20px;
      font-family: "Source Serif Pro", serif;
      margin-bottom: 20px;
      display: block;
      border: solid 2px #bbb;
      -webkit-appearance: none;
      border-radius: 0;
      color: #FFFFFF;
      vertical-align: top;
      display: inline-block;
      font-weight: normal;
      border: 0;
      width: 75%;
      height: 52px !important;
      margin: 0;
      font-size: 16px;
      font-size: 1.6rem; }
      @media (min-width: 1024px) {
        .region-highlighted .block--ftc-military-custom-redesign-2020-signup form input[type="text"] {
          line-height: 76px;
          max-width: 250px; } }
    .region-highlighted .block--ftc-military-custom-redesign-2020-signup form input[type="text"]::-webkit-input-placeholder {
      /* Chrome/Opera/Safari */
      color: white; }
    .region-highlighted .block--ftc-military-custom-redesign-2020-signup form input[type="text"]::-moz-placeholder {
      /* Firefox 19+ */
      color: white; }
    .region-highlighted .block--ftc-military-custom-redesign-2020-signup form input[type="text"]:-ms-input-placeholder {
      /* IE 10+ */
      color: white; }
    .region-highlighted .block--ftc-military-custom-redesign-2020-signup form input[type="text"]:-moz-placeholder {
      /* Firefox 18- */
      color: white; }
    .region-highlighted .block--ftc-military-custom-redesign-2020-signup form input[type="submit"] {
      min-width: 80px !important;
      min-height: 52px !important;
      height: 52px !important; }
    .region-highlighted .block--ftc-military-custom-redesign-2020-signup form .arrow-button {
      position: relative;
      height: 52px; }
      .region-highlighted .block--ftc-military-custom-redesign-2020-signup form .arrow-button input[type=submit] {
        text-indent: -10000px;
        overflow: hidden; }
      .region-highlighted .block--ftc-military-custom-redesign-2020-signup form .arrow-button:before {
        background-image: url("../../images/arrow-right-solid.svg");
        background-repeat: no-repeat;
        background-position: center center;
        content: '';
        position: absolute;
        pointer-events: none;
        width: 20px;
        height: 17px;
        z-index: 2;
        right: 40%;
        top: 35%; }

.block--views-life-events-block-1 {
  margin-bottom: 50px; }
  .block--views-life-events-block-1 h2 {
    margin-bottom: 10px; }
  .block--views-life-events-block-1 .h2-inner {
    position: relative;
    color: #027bc5;
    font-family: "ProximaNova-Regular", sans-serif;
    font-size: 15px !important;
    font-weight: 500;
    letter-spacing: 1.89px;
    line-height: 53px !important;
    text-transform: uppercase; }
    .block--views-life-events-block-1 .h2-inner:after {
      content: '';
      width: 105px;
      height: 15px;
      margin-left: 35px;
      position: absolute;
      top: 0;
      background-image: url("../../images/stripes-blue.svg"); }
  .block--views-life-events-block-1 .view-header {
    color: #11325b;
    font-family: "Source Serif Pro", serif;
    font-size: 34px !important;
    letter-spacing: -0.1px;
    line-height: 48px !important; }
    .block--views-life-events-block-1 .view-header p {
      margin-top: 0; }
  .block--views-life-events-block-1 .view-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .block--views-life-events-block-1 .views-row {
    margin-top: 10px;
    width: 100%; }
    @media (min-width: 761px) {
      .block--views-life-events-block-1 .views-row {
        width: calc(90%/2); } }
    @media (min-width: 1024px) {
      .block--views-life-events-block-1 .views-row {
        max-width: calc(90%/3);
        width: 100%; } }
    .block--views-life-events-block-1 .views-row p.link-arrow {
      margin-top: 13px; }
      @media (min-width: 1024px) and (max-width: 1279px) {
        .block--views-life-events-block-1 .views-row p.link-arrow {
          margin-bottom: 0; } }
      .block--views-life-events-block-1 .views-row p.link-arrow a:after {
        content: '';
        display: inline-block;
        position: absolute;
        margin-top: 11px;
        width: 0;
        height: 0;
        border-top: 8px solid rgba(0, 0, 0, 0);
        border-bottom: 8px solid rgba(0, 0, 0, 0);
        border-left: 11px solid #027bc5;
        margin-left: 12px;
        -webkit-transition: border-color 300ms ease;
        transition: border-color 300ms ease; }
        @media (min-width: 1024px) and (max-width: 1279px) {
          .block--views-life-events-block-1 .views-row p.link-arrow a:after {
            margin-top: 5px; } }
      .no-touchevents .block--views-life-events-block-1 .views-row p.link-arrow a:hover:after, .no-touchevents .block--views-life-events-block-1 .views-row p.link-arrow a:focus:after {
        border-left: 11px solid #11325b; }
    .block--views-life-events-block-1 .views-row a {
      color: #11325B;
      font-family: "Source Serif Pro", serif;
      font-size: 18px;
      letter-spacing: 0;
      line-height: 22px; }

.block--ftc-military-custom-redesign-2020-toolkit {
  background: #11325b;
  background-image: url("../../images/Toolkit_Background.jpg");
  background-position: top;
  background-size: cover;
  background-repeat: no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 325px;
  margin-left: -30px;
  margin-right: -30px; }
  @media (min-width: 0) {
    .block--ftc-military-custom-redesign-2020-toolkit {
      min-height: 445px; } }
  @media (min-width: 761px) {
    .block--ftc-military-custom-redesign-2020-toolkit {
      min-height: 545px; } }
  .block--ftc-military-custom-redesign-2020-toolkit .block-interior {
    -ms-flex-item-align: center;
        align-self: center;
    max-width: 250px;
    margin: 0 auto;
    text-align: center; }
    @media (min-width: 761px) {
      .block--ftc-military-custom-redesign-2020-toolkit .block-interior {
        max-width: 415px; } }
    .block--ftc-military-custom-redesign-2020-toolkit .block-interior .block-content--377 .field--name-field-body p.field-link a:focus {
      outline-color: #fff; }
  .block--ftc-military-custom-redesign-2020-toolkit .h2-inner {
    color: #14A5FE;
    font-family: "ProximaNova-Regular", sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 1.89px;
    line-height: 15px;
    text-align: center;
    text-transform: uppercase; }
  .block--ftc-military-custom-redesign-2020-toolkit .field-title {
    color: #FFFFFF;
    font-family: "Source Serif Pro", serif;
    font-size: 34px;
    letter-spacing: -0.1px;
    line-height: 43px;
    text-align: center;
    max-width: 350px;
    margin-left: auto;
    margin-right: auto; }
  .block--ftc-military-custom-redesign-2020-toolkit .field-description {
    opacity: 0.8;
    color: #FFFFFF;
    font-family: "Source Serif Pro", serif;
    font-size: 17px;
    letter-spacing: -0.05px;
    line-height: 29px;
    text-align: center;
    margin-bottom: 45px; }
  .block--ftc-military-custom-redesign-2020-toolkit .field-link a {
    font-family: "ProximaNova-Regular", sans-serif !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    font-weight: 500;
    letter-spacing: 1.64px;
    line-height: 53px !important;
    min-width: 180px !important;
    min-height: inherit !important;
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }

.block--views-blog-featured-block .view-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.block--views-blog-featured-block h2 {
  margin-bottom: 10px; }

.block--views-blog-featured-block .h2-inner {
  position: relative;
  color: #027bc5;
  font-family: "ProximaNova-Regular", sans-serif;
  font-size: 15px !important;
  font-weight: 500;
  letter-spacing: 1.89px;
  line-height: 53px !important;
  text-transform: uppercase; }
  .block--views-blog-featured-block .h2-inner:after {
    content: '';
    width: 105px;
    height: 15px;
    margin-left: 35px;
    position: absolute;
    top: 0;
    background-image: url("../../images/stripes-blue.svg"); }

.block--views-blog-featured-block .view-header {
  color: #11325b;
  font-family: "Source Serif Pro", serif;
  font-size: 34px !important;
  letter-spacing: -0.1px;
  line-height: 48px !important; }
  .block--views-blog-featured-block .view-header p {
    margin-top: 0; }

.block--views-blog-featured-block .views-row {
  margin-top: 10px;
  width: 100%; }
  @media (min-width: 761px) {
    .block--views-blog-featured-block .views-row {
      width: calc(90%/2); } }
  @media (min-width: 1024px) {
    .block--views-blog-featured-block .views-row {
      max-width: 260px;
      width: calc(90%/4); } }

.block--views-blog-featured-block .views-field-title {
  position: relative;
  padding-top: 35px;
  font-family: "Source Serif Pro", serif;
  font-size: 21px !important;
  letter-spacing: -0.06px;
  line-height: 25px !important;
  margin-bottom: 11px; }
  .block--views-blog-featured-block .views-field-title:before {
    content: '';
    width: 100%;
    height: 15px;
    position: absolute;
    top: 0;
    background-image: url("../../images/stripes-gray.svg"); }
  .block--views-blog-featured-block .views-field-title a {
    color: #11325b; }

.block--views-blog-featured-block .views-field-created {
  color: #545B63;
  font-family: "ProximaNova-Regular", sans-serif;
  font-size: 12px !important;
  font-weight: 500;
  letter-spacing: 1.52px;
  line-height: 14px !important;
  margin-bottom: 13px;
  text-transform: uppercase; }

.block--views-blog-featured-block .views-field-body {
  color: #545B63;
  font-family: "Source Serif Pro", serif;
  font-size: 16px !important;
  letter-spacing: 0;
  line-height: 24px !important; }

.block--views-blog-featured-block .view-footer a {
  font-family: "ProximaNova-Regular", sans-serif !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  font-weight: 500;
  letter-spacing: 1.64px;
  line-height: 53px !important;
  min-width: 180px !important;
  min-height: inherit !important;
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 30px; }
  @media (min-width: 761px) {
    .block--views-blog-featured-block .view-footer a {
      margin-top: 0; } }

/**
 * New 2020 Life Events page.
 */
@media (min-width: 1024px) {
  .redesign-life-events-2020 #titling {
    width: 67.4%; } }

.redesign-life-events-2020 #titling .title-wrapper {
  margin-bottom: 0;
  padding-left: 58px;
  padding-bottom: 20px;
  padding-top: 20px; }
  @media (min-width: 1024px) {
    .redesign-life-events-2020 #titling .title-wrapper {
      margin-bottom: 40px;
      padding-left: 35px;
      padding-top: 30px;
      padding-bottom: 40px; } }
  @media (min-width: 1280px) {
    .redesign-life-events-2020 #titling .title-wrapper {
      padding-left: 20px; } }
  @media (min-width: 1440px) {
    .redesign-life-events-2020 #titling .title-wrapper {
      padding-left: 40px; } }
  .redesign-life-events-2020 #titling .title-wrapper * {
    color: #FFF; }
  .redesign-life-events-2020 #titling .title-wrapper h1#page-title {
    margin-bottom: 0; }
  .redesign-life-events-2020 #titling .title-wrapper .block-page-title-block ~ .block * {
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 0;
    max-width: 450px; }

.view--life-events.view--display-id-page-1 {
  max-width: 1200px;
  margin: 0 auto; }
  .view--life-events.view--display-id-page-1 > .view-header {
    position: absolute;
    color: white;
    margin-top: -160px;
    z-index: 500;
    max-width: 450px;
    font-size: 14px;
    font-family: "Source Serif Pro", serif;
    line-height: 1.4; }
    @media (min-width: 761px) {
      .view--life-events.view--display-id-page-1 > .view-header {
        margin-top: -175px;
        font-size: 17px;
        line-height: 1.7; } }
  .view--life-events.view--display-id-page-1 > .view-content > .views-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 50px; }
    @media (min-width: 761px) {
      .view--life-events.view--display-id-page-1 > .view-content > .views-row:nth-child(odd) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
        margin-bottom: 100px; } }
    @media (min-width: 761px) {
      .view--life-events.view--display-id-page-1 > .view-content > .views-row:nth-child(odd) .views-field-field-image {
        margin-left: -40px;
        z-index: 2; } }
    .view--life-events.view--display-id-page-1 > .view-content > .views-row:nth-child(odd) .views-field-nothing > .field-content {
      padding: 60px;
      width: 100%; }
      @media (min-width: 761px) {
        .view--life-events.view--display-id-page-1 > .view-content > .views-row:nth-child(odd) .views-field-nothing > .field-content {
          padding: 120px 120px 120px 80px;
          width: inherit; } }
    @media (min-width: 761px) {
      .view--life-events.view--display-id-page-1 > .view-content > .views-row:nth-child(even) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        margin-bottom: 100px; } }
    @media (min-width: 761px) {
      .view--life-events.view--display-id-page-1 > .view-content > .views-row:nth-child(even) .views-field-field-image {
        margin-right: -40px;
        z-index: 2; } }
    .view--life-events.view--display-id-page-1 > .view-content > .views-row:nth-child(even) .views-field-nothing > .field-content {
      padding: 60px;
      width: 100%; }
      @media (min-width: 761px) {
        .view--life-events.view--display-id-page-1 > .view-content > .views-row:nth-child(even) .views-field-nothing > .field-content {
          padding: 120px 80px 120px 120px;
          width: inherit; } }
    .view--life-events.view--display-id-page-1 > .view-content > .views-row:last-of-type {
      margin-bottom: 0; }
  .view--life-events.view--display-id-page-1 .views-field-nothing > .field-content {
    display: inline-block;
    background: #F1F3F4;
    -ms-flex-item-align: center;
        align-self: center; }
  .view--life-events.view--display-id-page-1 .views-field-nothing,
  .view--life-events.view--display-id-page-1 .views-field-field-image {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  @media (min-width: 761px) {
    .view--life-events.view--display-id-page-1 .content-wrapper {
      width: 375px; } }
  .view--life-events.view--display-id-page-1 .content-wrapper h3 {
    color: #027bc5;
    font-family: "ProximaNova-Regular", sans-serif;
    font-size: 15px !important;
    font-weight: 500;
    letter-spacing: 1.89px;
    line-height: 53px !important;
    text-transform: uppercase;
    margin-bottom: 0;
    margin-top: 7px; }
  .view--life-events.view--display-id-page-1 .content-wrapper .view-header {
    color: #11325b;
    font-family: "Source Serif Pro", serif;
    letter-spacing: -0.1px;
    line-height: 48px !important;
    font-size: 34px;
    font-size: 3.4rem; }
  .view--life-events.view--display-id-page-1 .content-wrapper .view-header + p {
    font-size: 15px;
    font-size: 1.5rem;
    color: #11325b;
    font-family: "Source Serif Pro", serif;
    letter-spacing: -0.06px;
    line-height: 1.5;
    margin-bottom: 11px; }
  .view--life-events.view--display-id-page-1 .content-wrapper .views-field-title {
    font-family: "Source Serif Pro", serif;
    font-size: 21px !important;
    letter-spacing: -0.06px;
    line-height: 25px !important;
    margin-bottom: 11px; }
    .view--life-events.view--display-id-page-1 .content-wrapper .views-field-title a {
      color: #11325b; }
  .view--life-events.view--display-id-page-1 .content-wrapper .view--life-events-articles .views-row {
    border-bottom: 2px solid #D9DADB;
    margin-bottom: 12px; }
  .view--life-events.view--display-id-page-1 .content-wrapper .button-view-all a {
    display: inline-block;
    margin-top: 20px;
    font-family: "ProximaNova-Regular", sans-serif !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    font-weight: 500;
    letter-spacing: 1.64px;
    line-height: 53px !important;
    min-width: 180px !important;
    min-height: inherit !important;
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }

.block--ftc-military-custom-redesign-2020-signup {
  background: #11325b url("../../images/stripes.svg") left bottom repeat-x !important;
  width: 100% !important;
  margin-top: 50px; }
  .block--ftc-military-custom-redesign-2020-signup.block > div {
    padding: 15px;
    margin-left: 0; }
    @media (min-width: 761px) {
      .block--ftc-military-custom-redesign-2020-signup.block > div {
        padding: 38px 90px 38px 53px; } }
  .block--ftc-military-custom-redesign-2020-signup .block-interior {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media (min-width: 761px) {
      .block--ftc-military-custom-redesign-2020-signup .block-interior {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .block--ftc-military-custom-redesign-2020-signup h2:after {
    display: none !important; }
  .block--ftc-military-custom-redesign-2020-signup .h2-inner {
    color: white;
    font-family: "Source Serif Pro", serif;
    font-size: 28px;
    letter-spacing: -0.08px;
    line-height: 48px; }
  .block--ftc-military-custom-redesign-2020-signup .block_content {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important; }
  @media (min-width: 761px) {
    .block--ftc-military-custom-redesign-2020-signup form {
      width: 350px; } }
  .block--ftc-military-custom-redesign-2020-signup form input[type="text"] {
    background-color: #1C4A82;
    padding: 7px 20px;
    font-family: "Source Serif Pro", serif;
    margin-bottom: 20px;
    display: block;
    border: solid 2px #bbb;
    -webkit-appearance: none;
    border-radius: 0;
    color: #FFF;
    vertical-align: top;
    display: inline-block;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: normal;
    border: 0;
    width: 75%;
    height: 66px;
    margin: 0;
    font-size: 16px;
    font-size: 1.6rem; }
    @media (min-width: 761px) {
      .block--ftc-military-custom-redesign-2020-signup form input[type="text"] {
        width: 100%;
        max-width: none;
        text-align: center; } }
    @media (min-width: 1024px) {
      .block--ftc-military-custom-redesign-2020-signup form input[type="text"] {
        height: 76px;
        line-height: 76px;
        max-width: 250px;
        width: 100%; } }
  .block--ftc-military-custom-redesign-2020-signup form input[type="text"]::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: white; }
  .block--ftc-military-custom-redesign-2020-signup form input[type="text"]::-moz-placeholder {
    /* Firefox 19+ */
    color: white; }
  .block--ftc-military-custom-redesign-2020-signup form input[type="text"]:-ms-input-placeholder {
    /* IE 10+ */
    color: white; }
  .block--ftc-military-custom-redesign-2020-signup form input[type="text"]:-moz-placeholder {
    /* Firefox 18- */
    color: white; }
  .block--ftc-military-custom-redesign-2020-signup form input[type="submit"] {
    height: 66px !important;
    min-width: 80px !important; }
  .block--ftc-military-custom-redesign-2020-signup form .arrow-button {
    display: inline-block;
    position: relative; }
    .block--ftc-military-custom-redesign-2020-signup form .arrow-button input[type=submit] {
      text-indent: -10000px;
      overflow: hidden; }
    .block--ftc-military-custom-redesign-2020-signup form .arrow-button:before {
      background-image: url("../../images/arrow-right-solid.svg");
      background-repeat: no-repeat;
      background-position: center center;
      content: '';
      position: absolute;
      pointer-events: none;
      width: 20px;
      height: 17px;
      z-index: 2;
      right: 40%;
      top: 35%; }

#titling .title-wrapper {
  background: #11325b url("../../images/stripes.svg") left bottom repeat-x !important;
  margin-left: -40px;
  padding-left: 80px; }
  @media (min-width: 761px) {
    #titling .title-wrapper {
      padding-left: 40px; } }

/* Drupal Specific components */
/**
 * Messages.
 */
.messages, .messages--status, .messages--warning, .messages--error {
  margin: 10px 0;
  padding: 10px 10px 10px 50px;
  /* LTR */
  border: 1px solid #be7;
  position: relative; }
  .messages:before, .messages--status:before, .messages--warning:before, .messages--error:before {
    content: '✓';
    position: absolute;
    top: 20px;
    left: 8px;
    color: #be7;
    font-size: 1.5em;
    font-weight: bold;
    width: 1.5em;
    text-align: center; }

h3.message__title {
  margin: 0; }

.messages--warning {
  border-color: #ed5; }
  .messages--warning:before {
    content: '!';
    color: #ed5; }

.messages--error {
  border-color: #ed541d; }
  .messages--error:before {
    content: '×';
    color: #ed541d; }

.messages__list {
  margin: 0; }

.messages__item {
  list-style-image: none; }

/* Core/module installation error messages. */
.messages--error p.error {
  color: #333; }

/* System status report. */
.ok,
.messages--status {
  background-color: #f8fff0;
  color: #234600; }

.warning,
.messages--warning {
  background-color: #fffce5;
  color: #840; }

.error,
.messages--error {
  background-color: #fef5f1;
  color: #8c2e0b; }

/**
 * Tabs.
 */
/* Basic positioning styles shared by primary and secondary tabs. */
.tabs-primary,
.tabs.primary, .tabs-secondary {
  /* IE 9 and earlier don't understand gradients. */
  list-style: none;
  border-bottom: 1px solid #ccc;
  margin: 20px 0;
  padding: 0 2px;
  white-space: nowrap;
  font-family: "ProximaNova-Regular", sans-serif; }
  .tabs-primary::after,
  .tabs.primary::after, .tabs-secondary::after {
    clear: both;
    content: "";
    display: block; }

.tabs.primary > li,
.tabs-primary__tab, .tabs.primary > li.is-active,
.tabs-primary__tab.is-active, .tabs-secondary__tab,
.tabs-secondary__tab.is-active {
  float: left;
  /* LTR */
  margin: 0 3px; }

.tabs.primary > li > a,
a.tabs-primary__tab-link, .tabs.primary > li.is-active > a.is-active,
a.tabs-primary__tab-link.is-active, a.tabs-secondary__tab-link, a.tabs-secondary__tab-link.is-active {
  border-right: 0;
  border-bottom: 0;
  display: block;
  text-decoration: none;
  font-size: 0.73315em;
  line-height: 1.7em;
  font-weight: bold; }

/* Primary tabs. */
.tabs.primary > li,
.tabs-primary__tab,
.tabs.primary > li.is-active,
.tabs-primary__tab.is-active {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border: 1px solid #ccc;
  border-bottom-width: 0;
  /* IE 9 and earlier don't understand gradients. */
  border-bottom: 0 \0/ie; }

.tabs.primary > li.is-active,
.tabs.primary > li.is-active,
.is-active.tabs-primary__tab {
  border-bottom-width: 0; }

.tabs.primary > li > a,
a.tabs-primary__tab-link, .tabs.primary > li.is-active > a.is-active,
a.tabs-primary__tab-link.is-active {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #333;
  background-color: #dedede;
  padding: 0 1em;
  text-align: center; }

.tabs.primary > li > a:hover, .tabs.primary > li > a:focus,
a.tabs-primary__tab-link:hover,
a.tabs-primary__tab-link:focus {
  background-color: #e9e9e9;
  border-color: #f2f2f2; }

.tabs.primary > li > a:active,
a.tabs-primary__tab-link:active, .tabs.primary > li.is-active > a.is-active,
a.tabs-primary__tab-link.is-active {
  background-color: transparent;
  border-color: #fff; }

/* Secondary tabs. */
.tabs-secondary {
  font-size: .9em;
  /* Collapse bottom margin of ul.primary. */
  margin-top: -20px; }

.tabs-secondary__tab,
.tabs-secondary__tab.is-active {
  margin: 10px 3px; }

a.tabs-secondary__tab-link, a.tabs-secondary__tab-link.is-active {
  border-radius: 0.75em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  background-color: #f2f2f2;
  color: #666;
  padding: 0 .5em; }

a.tabs-secondary__tab-link:hover, a.tabs-secondary__tab-link:focus {
  background-color: #dedede;
  border-color: #999;
  color: #333; }

a.tabs-secondary__tab-link:active, a.tabs-secondary__tab-link.is-active {
  background-color: #666;
  border-color: #000;
  color: #fff; }

.block-local-tasks-block {
  margin: 4rem 0; }
  .block-local-tasks-block .usa-button {
    font-family: Inter, Helvetica Neue, Helvetica, Arial, sans-serif;
    font-size: 1.49rem;
    line-height: 1;
    color: white;
    background-color: #005ea2;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    display: inline-block;
    font-weight: normal;
    margin-right: 0.8rem;
    margin-bottom: 0.8rem;
    padding: 2.4rem 3rem;
    text-align: center;
    text-decoration: none;
    -webkit-transition: background-color 250ms linear;
    transition: background-color 250ms linear;
    background-color: #065cb4; }
    .block-local-tasks-block .usa-button.is-active {
      background-color: #162e51; }

/**
 * Unpublished note.
 */
/* The word "Unpublished" displayed underneath the content. */
.unpublished {
  height: 0;
  overflow: visible;
  /* Remove background highlighting from <mark> in normalize. */
  background-color: transparent;
  color: #d8d8d8;
  font-size: 75px;
  line-height: 1;
  font-family: Impact, "Arial Narrow", Helvetica, sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  /* A very nice CSS3 property. */
  word-wrap: break-word; }

.field-item > *:first-child,
.block-content > *:first-child {
  margin-top: 0; }

.field-item > *:last-child,
.block-content > *:last-child {
  margin-bottom: 0; }

.field {
  margin: 0.5em 0; }
  .field .field-label {
    margin-bottom: 0; }

#page-control-container {
  position: relative; }
  #page-control-container .control-toggle {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10; }
    #page-control-container .control-toggle span {
      cursor: pointer; }

/* WordPress Specific components */
/* Default WordPress screen reader style */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

/*
 * The skip-link link will be completely hidden until a user tabs to the link.
 */
#skip-link {
  margin: 0;
  position: absolute;
  z-index: 10001;
  width: 100%; }
  #skip-link a,
  #skip-link a:visited {
    display: block;
    width: 100%;
    padding: 2px 0 3px 0;
    text-align: center;
    background-color: #666;
    color: #fff; }

/* Region rules */
#banner {
  position: static;
  margin: 0 auto;
  text-align: center;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media (min-width: 1024px) {
    #banner {
      margin: 0 auto 0;
      padding-left: 30px;
      padding-right: 30px;
      position: relative; }
      body.mcg-blog #banner {
        margin-bottom: 3rem; } }
  #banner .block {
    margin-bottom: 0; }
  #banner .region-banner,
  #banner .view-banners,
  #banner .view--banners-term-pages {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    margin-left: -40px;
    margin-right: -40px; }
    .front #banner .region-banner, .front
    #banner .view-banners, .front
    #banner .view--banners-term-pages {
      background-image: none; }
    #banner .region-banner img,
    #banner .view-banners img,
    #banner .view--banners-term-pages img {
      width: 100%; }
      @media (min-width: 761px) {
        #banner .region-banner img,
        #banner .view-banners img,
        #banner .view--banners-term-pages img {
          max-height: 210px !important;
          height: auto !important;
          -o-object-fit: fill;
             object-fit: fill; } }
  #banner p {
    margin: 0;
    padding: 0; }

#content {
  /* BLOG */
  /* Resources Listing */
  /* BLOG */ }
  #content .has-banner-image, #content #block-views-life-events-block {
    position: relative;
    margin-bottom: 100px; }
    @media (max-width: 760px) {
      #content .has-banner-image > .block-interior > h2:before, #content #block-views-life-events-block > .block-interior > h2:before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        top: -33px;
        height: 33px;
        background: url(../../images/pattern-stripe7.png) left bottom repeat-x;
        width: 760px; } }
    #content .has-banner-image .contextual-links-region, #content #block-views-life-events-block .contextual-links-region {
      position: static; }
    #content .has-banner-image .banner-image-wrapper, #content .has-banner-image .views-field-field-banner-image .content, #content #block-views-life-events-block .banner-image-wrapper, #content #block-views-life-events-block .views-field-field-banner-image .content {
      position: absolute;
      z-index: 0;
      bottom: 0;
      top: 100px;
      height: 100%;
      width: 100%;
      left: auto;
      right: auto;
      overflow: hidden;
      background: #000; }
      #content .has-banner-image .banner-image-wrapper img, #content .has-banner-image .views-field-field-banner-image .content img, #content #block-views-life-events-block .banner-image-wrapper img, #content #block-views-life-events-block .views-field-field-banner-image .content img {
        height: 100% !important;
        width: auto !important;
        display: block;
        max-width: none;
        opacity: .5; }
    #content .has-banner-image .block-interior > .content > .view > .view-content, #content #block-views-life-events-block .block-interior > .content > .view > .view-content {
      position: relative;
      z-index: 5;
      padding-bottom: 20px;
      padding-left: 20px;
      padding-right: 20px;
      padding-top: 20px;
      clear: both; }
      @media (min-width: 1440px) {
        #content .has-banner-image .block-interior > .content > .view > .view-content, #content #block-views-life-events-block .block-interior > .content > .view > .view-content {
          padding-left: 50.6%; } }
      #content .has-banner-image .block-interior > .content > .view > .view-content p, #content #block-views-life-events-block .block-interior > .content > .view > .view-content p {
        max-width: 720px; }
        @media (max-width: 923px) {
          #content .has-banner-image .block-interior > .content > .view > .view-content p, #content #block-views-life-events-block .block-interior > .content > .view > .view-content p {
            margin-bottom: 0.5rem;
            margin-top: 0.5rem; } }
      #content .has-banner-image .block-interior > .content > .view > .view-content p a, #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.25;
        color: #FFF;
        font-family: "Source Serif Pro", serif;
        -webkit-transition: color 300ms ease;
        transition: color 300ms ease; }
        @media (min-width: 761px) {
          #content .has-banner-image .block-interior > .content > .view > .view-content p a, #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a {
            font-size: 30px;
            font-size: 3rem;
            letter-spacing: 1px; } }
        @media (min-width: 1440px) {
          #content .has-banner-image .block-interior > .content > .view > .view-content p a, #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a {
            font-size: 40px;
            font-size: 4rem;
            letter-spacing: 2px; } }
        .no-touchevents #content .has-banner-image .block-interior > .content > .view > .view-content p a:hover, .no-touchevents #content .has-banner-image .block-interior > .content > .view > .view-content p a:focus, .no-touchevents #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a:hover, .no-touchevents #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a:focus {
          color: #25a7fb !important; }
        #content .has-banner-image .block-interior > .content > .view > .view-content p a:after, #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a:after {
          content: '';
          display: inline-block;
          position: relative;
          top: 4px;
          left: 0;
          width: 0;
          height: 0;
          border-top: 8px solid rgba(0, 0, 0, 0);
          border-bottom: 8px solid rgba(0, 0, 0, 0);
          border-left: 9px solid #FFF;
          margin-left: 15px;
          -webkit-transition: border-color 300ms ease;
          transition: border-color 300ms ease; }
          @media (min-width: 924px) {
            #content .has-banner-image .block-interior > .content > .view > .view-content p a:after, #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a:after {
              border-top: 12px solid rgba(0, 0, 0, 0);
              border-bottom: 12px solid rgba(0, 0, 0, 0);
              border-left: 18px solid #FFF;
              margin-left: 25px; } }
        .no-touchevents #content .has-banner-image .block-interior > .content > .view > .view-content p a:hover, .no-touchevents #content .has-banner-image .block-interior > .content > .view > .view-content p a:focus, .no-touchevents #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a:hover, .no-touchevents #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a:focus {
          color: #11325b;
          text-decoration: none; }
          .no-touchevents #content .has-banner-image .block-interior > .content > .view > .view-content p a:hover:after, .no-touchevents #content .has-banner-image .block-interior > .content > .view > .view-content p a:focus:after, .no-touchevents #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a:hover:after, .no-touchevents #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a:focus:after {
            border-left: 9px solid #25a7fb; }
            @media (min-width: 924px) {
              .no-touchevents #content .has-banner-image .block-interior > .content > .view > .view-content p a:hover:after, .no-touchevents #content .has-banner-image .block-interior > .content > .view > .view-content p a:focus:after, .no-touchevents #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a:hover:after, .no-touchevents #content #block-views-life-events-block .block-interior > .content > .view > .view-content p a:focus:after {
                border-left: 18px solid #25a7fb; } }
  #content h2 {
    font-family: "ProximaNova-Regular", sans-serif;
    font-weight: 500;
    font-size: 24px;
    font-size: 2.4rem;
    letter-spacing: 1px; }
    @media (min-width: 761px) {
      #content h2 {
        font-size: 30px;
        font-size: 3rem; } }
    @media (min-width: 924px) {
      #content h2 {
        font-size: 37px;
        font-size: 3.7rem; } }
    #content h2 strong {
      font-weight: normal; }
    #content h2 *, #content h2 a * {
      text-decoration: none; }
  #content p + h2 {
    margin-top: 4rem; }
  #content ul {
    list-style: none;
    line-height: 1.7;
    margin-left: 2rem; }
    @media (max-width: 923px) {
      #content ul {
        margin-left: 0; } }
    #content ul > li {
      margin-top: 1rem;
      margin-bottom: 1rem; }
    #content ul ul > li {
      margin-top: 0;
      margin-bottom: 0; }
    #content ul li {
      position: relative; }
    #content ul li:before {
      content: '';
      display: block;
      width: 23px;
      height: 21px;
      background-image: url(../../images/sprite-1x.png);
      background-position: 0px -150px;
      background-repeat: no-repeat;
      background-size: 200px 200px;
      position: absolute;
      left: -23px;
      top: 12px; }
      @media (max-width: 923px) {
        #content ul li:before {
          width: 16px;
          height: 12px;
          background-position: 0 -110px;
          background-size: 150px 150px;
          top: 7px; } }
      @media (max-width: 499px) {
        #content ul li:before {
          top: 3px; } }
    #content ul ul {
      margin-top: 1rem; }
    #content ul li li:before {
      background-position: 0px -175px; }
      @media (max-width: 923px) {
        #content ul li li:before {
          background-position: 0 -130px;
          background-size: 150px 150px; } }
    #content ul.tabs li:before {
      display: none; }
  #content .field--life-events {
    font-family: "Source Serif Pro", serif;
    margin-top: 40px;
    font-size: 22px;
    font-size: 2.2rem; }
    #content .field--life-events .field-label {
      text-transform: uppercase;
      font-family: "ProximaNova-Regular", sans-serif;
      font-size: 14px;
      font-size: 1.4rem; }
    #content .field--life-events a {
      text-decoration: none; }
      .no-touchevents #content .field--life-events a:hover, .no-touchevents #content .field--life-events a:focus {
        text-decoration: underline; }
  #content .field--download {
    margin-top: 40px;
    border-top: 1px solid #ccc;
    padding-top: 40px; }
    #content .field--download img, #content .field--download .file-size {
      position: absolute !important;
      height: 1px;
      width: 1px;
      overflow: hidden;
      clip: rect(1px, 1px, 1px, 1px); }
  #content .field--date-author-field {
    word-break: break-all; }
  #content .date-author-title-group,
  #content .field--date-author-field, #content .field--post-date, #content .field--author {
    font-style: italic;
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0 1em .5em 0; }
    @media (min-width: 924px) {
      #content .date-author-title-group,
      #content .field--date-author-field, #content .field--post-date, #content .field--author {
        display: inline; }
        #content .date-author-title-group *,
        #content .field--date-author-field *, #content .field--post-date *, #content .field--author * {
          display: inline; } }
  #content .field--date-author-field > div:after, #content .field--author > div:after, #content .date-author-title-group:after {
    margin-top: 15px;
    content: "";
    border-top: 1px solid #DDD;
    width: 150px;
    display: block; }
  #content .field--date-author-field > div .field--name-field-date-time, #content .field--author > div .field--name-field-date-time, #content .date-author-title-group .field--name-field-date-time {
    margin-right: 1rem; }
  #content .field--date-author-field > div .field--name-field-author + .field--name-field-author-title:before, #content .field--author > div .field--name-field-author + .field--name-field-author-title:before, #content .date-author-title-group .field--name-field-author + .field--name-field-author-title:before {
    content: ', ';
    position: relative;
    left: -2px; }
  #content .term-listing-heading .taxonomy-term-description {
    max-width: 820px; }
  #content .featured-topic-blocks {
    margin-top: 50px; }
    @media (min-width: 1024px) {
      #content .featured-topic-blocks {
        margin-left: -10px;
        margin-right: -10px; }
        #content .featured-topic-blocks .views-row {
          float: left;
          width: 50%;
          position: relative;
          padding-left: 10px;
          padding-right: 10px; }
          #content .featured-topic-blocks .views-row.views-row-odd {
            clear: both; } }
    @media (min-width: 1024px) and (max-width: 499px) {
      #content .featured-topic-blocks .views-row {
        width: 100%; } }
  #content .block-content--type-mcg-featured-item,
  #content .featured-topic-blocks .featured_block {
    position: relative;
    margin-bottom: 20px;
    background: #000;
    overflow: hidden; }
    #content .block-content--type-mcg-featured-item img,
    #content .featured-topic-blocks .featured_block img {
      position: absolute;
      width: 100%;
      max-width: 100%;
      display: block;
      z-index: 1;
      opacity: 0.5;
      filter: alpha(opacity=50);
      -webkit-transition: opacity 300ms;
      transition: opacity 300ms; }
      @media (max-width: 760px) {
        #content .block-content--type-mcg-featured-item img,
        #content .featured-topic-blocks .featured_block img {
          width: 100%;
          height: auto !important;
          max-width: none; } }
      @media (max-width: 499px) {
        #content .block-content--type-mcg-featured-item img,
        #content .featured-topic-blocks .featured_block img {
          width: 170%;
          margin-left: -35%;
          height: auto !important;
          max-width: none; } }
    #content .block-content--type-mcg-featured-item:hover img,
    #content .block-content--type-mcg-featured-item:focus-within img,
    #content .block-content--type-mcg-featured-item.hover img,
    #content .featured-topic-blocks .featured_block:hover img,
    #content .featured-topic-blocks .featured_block:focus-within img,
    #content .featured-topic-blocks .featured_block.hover img {
      opacity: 0.3;
      filter: alpha(opacity=30); }
    #content .block-content--type-mcg-featured-item .field,
    #content .featured-topic-blocks .featured_block .field {
      margin: 0; }
    #content .block-content--type-mcg-featured-item .field--name-field-body,
    #content .block-content--type-mcg-featured-item .featured_content,
    #content .featured-topic-blocks .featured_block .field--name-field-body,
    #content .featured-topic-blocks .featured_block .featured_content {
      position: relative;
      z-index: 2;
      padding: 48px 48px 40px; }
      #content .block-content--type-mcg-featured-item .field--name-field-body *,
      #content .block-content--type-mcg-featured-item .featured_content *,
      #content .featured-topic-blocks .featured_block .field--name-field-body *,
      #content .featured-topic-blocks .featured_block .featured_content * {
        color: #fff; }
      #content .block-content--type-mcg-featured-item .field--name-field-body h2,
      #content .block-content--type-mcg-featured-item .featured_content h2,
      #content .featured-topic-blocks .featured_block .field--name-field-body h2,
      #content .featured-topic-blocks .featured_block .featured_content h2 {
        font-family: "ProximaNova-Regular", sans-serif;
        font-weight: 300;
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.4; }
        #content .block-content--type-mcg-featured-item .field--name-field-body h2 *,
        #content .block-content--type-mcg-featured-item .featured_content h2 *,
        #content .featured-topic-blocks .featured_block .field--name-field-body h2 *,
        #content .featured-topic-blocks .featured_block .featured_content h2 * {
          font-size: 20px;
          font-size: 2rem;
          line-height: 1.4; }
        @media (min-width: 1024px) {
          #content .block-content--type-mcg-featured-item .field--name-field-body h2,
          #content .block-content--type-mcg-featured-item .featured_content h2,
          #content .featured-topic-blocks .featured_block .field--name-field-body h2,
          #content .featured-topic-blocks .featured_block .featured_content h2 {
            font-size: 26px;
            font-size: 2.6rem; }
            #content .block-content--type-mcg-featured-item .field--name-field-body h2 *,
            #content .block-content--type-mcg-featured-item .featured_content h2 *,
            #content .featured-topic-blocks .featured_block .field--name-field-body h2 *,
            #content .featured-topic-blocks .featured_block .featured_content h2 * {
              font-size: 26px;
              font-size: 2.6rem; } }
        @media (min-width: 1440px) {
          #content .block-content--type-mcg-featured-item .field--name-field-body h2,
          #content .block-content--type-mcg-featured-item .featured_content h2,
          #content .featured-topic-blocks .featured_block .field--name-field-body h2,
          #content .featured-topic-blocks .featured_block .featured_content h2 {
            font-size: 34px;
            font-size: 3.4rem; }
            #content .block-content--type-mcg-featured-item .field--name-field-body h2 *,
            #content .block-content--type-mcg-featured-item .featured_content h2 *,
            #content .featured-topic-blocks .featured_block .field--name-field-body h2 *,
            #content .featured-topic-blocks .featured_block .featured_content h2 * {
              font-size: 34px;
              font-size: 3.4rem; } }
        #content .block-content--type-mcg-featured-item .field--name-field-body h2:after,
        #content .block-content--type-mcg-featured-item .featured_content h2:after,
        #content .featured-topic-blocks .featured_block .field--name-field-body h2:after,
        #content .featured-topic-blocks .featured_block .featured_content h2:after {
          content: '';
          display: inline-block;
          position: absolute;
          margin-top: 8px;
          width: 0;
          height: 0;
          border-top: 8px solid rgba(0, 0, 0, 0);
          border-bottom: 8px solid rgba(0, 0, 0, 0);
          border-left: 9px solid #FFF;
          margin-left: 15px;
          -webkit-transition: left 300ms ease;
          transition: left 300ms ease; }
          @media (min-width: 924px) and (max-width: 1023px) {
            #content .block-content--type-mcg-featured-item .field--name-field-body h2:after,
            #content .block-content--type-mcg-featured-item .featured_content h2:after,
            #content .featured-topic-blocks .featured_block .field--name-field-body h2:after,
            #content .featured-topic-blocks .featured_block .featured_content h2:after {
              margin-top: 2px; } }
          @media (min-width: 1024px) {
            #content .block-content--type-mcg-featured-item .field--name-field-body h2:after,
            #content .block-content--type-mcg-featured-item .featured_content h2:after,
            #content .featured-topic-blocks .featured_block .field--name-field-body h2:after,
            #content .featured-topic-blocks .featured_block .featured_content h2:after {
              border-top: 12px solid rgba(0, 0, 0, 0);
              border-bottom: 12px solid rgba(0, 0, 0, 0);
              border-left: 18px solid #FFF;
              margin-left: 25px;
              margin-top: 10px; } }
  @media (min-width: 761px) {
    #content .block-content--type-mcg-featured-item img,
    #content .featured-topic-blocks .featured_block img {
      position: relative; }
    #content .block-content--type-mcg-featured-item .field--name-field-body,
    #content .block-content--type-mcg-featured-item .featured_content,
    #content .featured-topic-blocks .featured_block .field--name-field-body,
    #content .featured-topic-blocks .featured_block .featured_content {
      position: absolute;
      z-index: 2;
      bottom: 0px; }
    #content .block-content--type-mcg-featured-item .featured_content a:focus,
    #content .featured-topic-blocks .featured_block .featured_content a:focus {
      outline-color: #FFF; }
    #content .block-content--type-mcg-featured-item .field--name-field-link,
    #content .block-content--type-mcg-featured-item .featured_content_cover_link,
    #content .featured-topic-blocks .featured_block .field--name-field-link,
    #content .featured-topic-blocks .featured_block .featured_content_cover_link {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 5; }
      #content .block-content--type-mcg-featured-item .field--name-field-link a,
      #content .block-content--type-mcg-featured-item .featured_content_cover_link a,
      #content .featured-topic-blocks .featured_block .field--name-field-link a,
      #content .featured-topic-blocks .featured_block .featured_content_cover_link a {
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; } }
  #content article a:hover {
    text-decoration: underline; }
  #content article .field--tags {
    font-size: 16px;
    font-size: 1.6rem;
    text-transform: uppercase;
    font-family: "ProximaNova-Regular", sans-serif;
    font-weight: normal;
    margin-top: 4rem;
    margin-bottom: 4rem; }
    #content article .field--tags a {
      font-size: 14px;
      font-size: 1.4rem;
      font-family: "Source Serif Pro", serif;
      text-transform: capitalize;
      text-decoration: none;
      margin-left: 2rem; }
      @media (max-width: 923px) {
        #content article .field--tags a {
          display: block;
          clear: both;
          margin-left: 0;
          text-transform: uppercase; } }
      @media (min-width: 761px) {
        #content article .field--tags a {
          font-size: 18px;
          font-size: 1.8rem; } }
      @media (min-width: 924px) {
        #content article .field--tags a {
          font-size: 24px;
          font-size: 2.4rem; } }
    #content article .field--tags .field-label {
      float: left; }
    #content article .field--tags .field-items {
      float: none; }
  #content .view--taxonomy-term-article .view-header h2 {
    font-size: 16px;
    font-size: 1.6rem;
    color: #11325b;
    font-family: "Source Serif Pro", serif;
    margin-top: 50px;
    position: relative;
    overflow: hidden;
    letter-spacing: 0;
    margin-top: 60px;
    margin-bottom: 16px;
    font-size: 16px;
    font-size: 1.6rem; }
    @media (min-width: 500px) {
      #content .view--taxonomy-term-article .view-header h2 {
        font-size: 22px;
        font-size: 2.2rem; } }
    @media (min-width: 924px) {
      #content .view--taxonomy-term-article .view-header h2 {
        font-size: 26px;
        font-size: 2.6rem; } }
    #content .view--taxonomy-term-article .view-header h2:after {
      content: '';
      display: inline-block;
      position: absolute;
      height: 11px;
      background: url(../../images/pattern-stripe3.png) 0 0 repeat-x;
      background-size: auto 120%;
      width: 100px;
      margin-left: 21px;
      margin-top: 4px; }
      @media (min-width: 761px) {
        #content .view--taxonomy-term-article .view-header h2:after {
          height: 18px;
          background: url(../../images/pattern-stripe3.png) 0 0 repeat-x;
          width: 258px;
          margin-left: 31px; } }
      @media (min-width: 924px) {
        #content .view--taxonomy-term-article .view-header h2:after {
          margin-top: 0; } }
    @media (min-width: 924px) {
      #content .view--taxonomy-term-article .view-header h2 {
        font-size: 20px;
        font-size: 2rem;
        margin-top: 75px;
        margin-bottom: 36px; } }
    @media (min-width: 1440px) {
      #content .view--taxonomy-term-article .view-header h2 {
        font-size: 24px;
        font-size: 2.4rem;
        margin-top: 90px;
        margin-bottom: 56px; } }
  @media (max-width: 923px) {
    #content .view--taxonomy-term-article > .view-content .views-row .field--body * {
      font-size: 15px;
      font-size: 1.5rem; } }
  @media (min-width: 924px) {
    #content .view--taxonomy-term-article > .view-content {
      margin-left: -10px;
      margin-right: -10px; }
      #content .view--taxonomy-term-article > .view-content::after {
        clear: both;
        content: "";
        display: block; }
      #content .view--taxonomy-term-article > .view-content .views-row {
        width: 33.33%;
        padding-left: 10px;
        padding-right: 10px;
        float: left; }
        #content .view--taxonomy-term-article > .view-content .views-row:nth-child(3n + 1) {
          clear: left; } }
    @media (min-width: 924px) and (max-width: 499px) {
      #content .view--taxonomy-term-article > .view-content .views-row {
        width: 100%;
        float: none; } }
  @media (min-width: 924px) {
      #content .view--taxonomy-term-article > .view-content .views-row {
        margin-bottom: 4rem; }
        #content .view--taxonomy-term-article > .view-content .views-row .field--name-body {
          margin: 0.5em 0.5em 0.5em 0; }
        #content .view--taxonomy-term-article > .view-content .views-row .field--body * {
          font-size: 20px;
          font-size: 2rem;
          line-height: 1.6; } }
  #content .view--taxonomy-term-article > .view-content .node-title, #content .view--taxonomy-term-article > .view-content .node-title * {
    font-size: 24px;
    font-size: 2.4rem;
    letter-spacing: 0;
    margin-bottom: 15px; }
    @media (min-width: 924px) {
      #content .view--taxonomy-term-article > .view-content .node-title, #content .view--taxonomy-term-article > .view-content .node-title * {
        font-size: 26px;
        font-size: 2.6rem; } }
    @media (min-width: 1024px) {
      #content .view--taxonomy-term-article > .view-content .node-title, #content .view--taxonomy-term-article > .view-content .node-title * {
        font-size: 30px;
        font-size: 3rem; } }
    @media (max-width: 923px) {
      #content .view--taxonomy-term-article > .view-content .node-title, #content .view--taxonomy-term-article > .view-content .node-title * {
        margin-bottom: 5px; } }
    #content .view--taxonomy-term-article > .view-content .node-title a, #content .view--taxonomy-term-article > .view-content .node-title * a {
      text-decoration: none;
      font-weight: normal;
      font-family: "ProximaNova-Regular",sans-serif; }
      #content .view--taxonomy-term-article > .view-content .node-title a:after, #content .view--taxonomy-term-article > .view-content .node-title * a:after {
        content: '';
        display: inline-block;
        position: absolute;
        margin-top: 10px;
        width: 0;
        height: 0;
        border-top: 8px solid rgba(0, 0, 0, 0);
        border-bottom: 8px solid rgba(0, 0, 0, 0);
        border-left: 11px solid #027bc5;
        margin-left: 10px;
        -webkit-transition: border-color 300ms ease;
        transition: border-color 300ms ease; }
        @media (min-width: 924px) and (max-width: 1023px) {
          #content .view--taxonomy-term-article > .view-content .node-title a:after, #content .view--taxonomy-term-article > .view-content .node-title * a:after {
            margin-top: 2px; } }
        @media (min-width: 1024px) {
          #content .view--taxonomy-term-article > .view-content .node-title a:after, #content .view--taxonomy-term-article > .view-content .node-title * a:after {
            margin-top: 8px; } }
      .no-touchevents #content .view--taxonomy-term-article > .view-content .node-title a:hover:after, .no-touchevents #content .view--taxonomy-term-article > .view-content .node-title a:focus:after, .no-touchevents #content .view--taxonomy-term-article > .view-content .node-title * a:hover:after, .no-touchevents #content .view--taxonomy-term-article > .view-content .node-title * a:focus:after {
        border-left: 11px solid #11325b; }
  .section-scam-alerts #content .node-scam-alert.node-teaser h2, .section-scam-alerts #content .node-scam-alert.node-teaser h2 *, .section-scam-alerts #content .node-blog-post.node-teaser h2, .section-scam-alerts #content .node-blog-post.node-teaser h2 *, .page-blog #content .node-scam-alert.node-teaser h2, .page-blog #content .node-scam-alert.node-teaser h2 *, .page-blog #content .node-blog-post.node-teaser h2, .page-blog #content .node-blog-post.node-teaser h2 * {
    letter-spacing: 0;
    font-size: 22px;
    font-size: 2.2rem; }
  @media (min-width: 1024px) {
    .section-scam-alerts #content .node-scam-alert.node-teaser h2, .section-scam-alerts #content .node-scam-alert.node-teaser h2 *, .section-scam-alerts #content .node-blog-post.node-teaser h2, .section-scam-alerts #content .node-blog-post.node-teaser h2 *, .page-blog #content .node-scam-alert.node-teaser h2, .page-blog #content .node-scam-alert.node-teaser h2 *, .page-blog #content .node-blog-post.node-teaser h2, .page-blog #content .node-blog-post.node-teaser h2 * {
      font-size: 28px;
      font-size: 2.8rem; }
    .section-scam-alerts #content .node-scam-alert.node-teaser h2, .section-scam-alerts #content .node-blog-post.node-teaser h2, .page-blog #content .node-scam-alert.node-teaser h2, .page-blog #content .node-blog-post.node-teaser h2 {
      margin-bottom: 0.5rem; } }
  .section-scam-alerts #content .node-scam-alert.node-teaser h2.with-arrow, .section-scam-alerts #content .node-scam-alert.node-teaser .field--title, .section-scam-alerts #content .node-blog-post.node-teaser h2.with-arrow, .section-scam-alerts #content .node-blog-post.node-teaser .field--title, .page-blog #content .node-scam-alert.node-teaser h2.with-arrow, .page-blog #content .node-scam-alert.node-teaser .field--title, .page-blog #content .node-blog-post.node-teaser h2.with-arrow, .page-blog #content .node-blog-post.node-teaser .field--title {
    margin-bottom: 0; }
    .section-scam-alerts #content .node-scam-alert.node-teaser h2.with-arrow a:after, .section-scam-alerts #content .node-scam-alert.node-teaser .field--title a:after, .section-scam-alerts #content .node-blog-post.node-teaser h2.with-arrow a:after, .section-scam-alerts #content .node-blog-post.node-teaser .field--title a:after, .page-blog #content .node-scam-alert.node-teaser h2.with-arrow a:after, .page-blog #content .node-scam-alert.node-teaser .field--title a:after, .page-blog #content .node-blog-post.node-teaser h2.with-arrow a:after, .page-blog #content .node-blog-post.node-teaser .field--title a:after {
      content: '';
      display: inline-block;
      position: absolute;
      margin-top: 8px;
      width: 0;
      height: 0;
      border-top: 8px solid rgba(0, 0, 0, 0);
      border-bottom: 8px solid rgba(0, 0, 0, 0);
      border-left: 11px solid #027bc5;
      margin-left: 10px;
      -webkit-transition: border-color 300ms ease;
      transition: border-color 300ms ease; }
      @media (min-width: 924px) and (max-width: 1023px) {
        .section-scam-alerts #content .node-scam-alert.node-teaser h2.with-arrow a:after, .section-scam-alerts #content .node-scam-alert.node-teaser .field--title a:after, .section-scam-alerts #content .node-blog-post.node-teaser h2.with-arrow a:after, .section-scam-alerts #content .node-blog-post.node-teaser .field--title a:after, .page-blog #content .node-scam-alert.node-teaser h2.with-arrow a:after, .page-blog #content .node-scam-alert.node-teaser .field--title a:after, .page-blog #content .node-blog-post.node-teaser h2.with-arrow a:after, .page-blog #content .node-blog-post.node-teaser .field--title a:after {
          margin-top: 2px; } }
    .no-touchevents .section-scam-alerts #content .node-scam-alert.node-teaser h2.with-arrow a:hover:after, .no-touchevents .section-scam-alerts #content .node-scam-alert.node-teaser h2.with-arrow a:focus:after, .no-touchevents .section-scam-alerts #content .node-scam-alert.node-teaser .field--title a:hover:after, .no-touchevents .section-scam-alerts #content .node-scam-alert.node-teaser .field--title a:focus:after, .no-touchevents .section-scam-alerts #content .node-blog-post.node-teaser h2.with-arrow a:hover:after, .no-touchevents .section-scam-alerts #content .node-blog-post.node-teaser h2.with-arrow a:focus:after, .no-touchevents .section-scam-alerts #content .node-blog-post.node-teaser .field--title a:hover:after, .no-touchevents .section-scam-alerts #content .node-blog-post.node-teaser .field--title a:focus:after, .no-touchevents .page-blog #content .node-scam-alert.node-teaser h2.with-arrow a:hover:after, .no-touchevents .page-blog #content .node-scam-alert.node-teaser h2.with-arrow a:focus:after, .no-touchevents .page-blog #content .node-scam-alert.node-teaser .field--title a:hover:after, .no-touchevents .page-blog #content .node-scam-alert.node-teaser .field--title a:focus:after, .no-touchevents .page-blog #content .node-blog-post.node-teaser h2.with-arrow a:hover:after, .no-touchevents .page-blog #content .node-blog-post.node-teaser h2.with-arrow a:focus:after, .no-touchevents .page-blog #content .node-blog-post.node-teaser .field--title a:hover:after, .no-touchevents .page-blog #content .node-blog-post.node-teaser .field--title a:focus:after {
      border-left: 11px solid #11325b; }
  @media (max-width: 923px) {
    .section-scam-alerts #content .node-scam-alert.node-teaser .field--post-date, .section-scam-alerts #content .node-scam-alert.node-teaser .field--post-date *, .section-scam-alerts #content .node-scam-alert.node-teaser .field--date-author-field, .section-scam-alerts #content .node-scam-alert.node-teaser .field--date-author-field *, .section-scam-alerts #content .node-blog-post.node-teaser .field--post-date, .section-scam-alerts #content .node-blog-post.node-teaser .field--post-date *, .section-scam-alerts #content .node-blog-post.node-teaser .field--date-author-field, .section-scam-alerts #content .node-blog-post.node-teaser .field--date-author-field *, .page-blog #content .node-scam-alert.node-teaser .field--post-date, .page-blog #content .node-scam-alert.node-teaser .field--post-date *, .page-blog #content .node-scam-alert.node-teaser .field--date-author-field, .page-blog #content .node-scam-alert.node-teaser .field--date-author-field *, .page-blog #content .node-blog-post.node-teaser .field--post-date, .page-blog #content .node-blog-post.node-teaser .field--post-date *, .page-blog #content .node-blog-post.node-teaser .field--date-author-field, .page-blog #content .node-blog-post.node-teaser .field--date-author-field * {
      font-size: 11px;
      font-size: 1.1rem; }
    .section-scam-alerts #content .node-scam-alert.node-teaser .field--body, .section-scam-alerts #content .node-scam-alert.node-teaser .field--body *, .section-scam-alerts #content .node-blog-post.node-teaser .field--body, .section-scam-alerts #content .node-blog-post.node-teaser .field--body *, .page-blog #content .node-scam-alert.node-teaser .field--body, .page-blog #content .node-scam-alert.node-teaser .field--body *, .page-blog #content .node-blog-post.node-teaser .field--body, .page-blog #content .node-blog-post.node-teaser .field--body * {
      font-size: 15px;
      font-size: 1.5rem;
      margin-top: 15px; } }
  .section-scam-alerts #content .node-scam-alert.node-teaser .field--body, .section-scam-alerts #content .node-blog-post.node-teaser .field--body, .page-blog #content .node-scam-alert.node-teaser .field--body, .page-blog #content .node-blog-post.node-teaser .field--body {
    margin-bottom: 2rem;
    padding-top: 0; }
    @media (min-width: 924px) {
      .section-scam-alerts #content .node-scam-alert.node-teaser .field--body, .section-scam-alerts #content .node-blog-post.node-teaser .field--body, .page-blog #content .node-scam-alert.node-teaser .field--body, .page-blog #content .node-blog-post.node-teaser .field--body {
        margin-top: -15px;
        margin-bottom: 6rem; } }
  #content span.left {
    float: left;
    padding-right: 10px; }
  #content .view-resources .views-row {
    padding-top: 36px; }
    #content .view-resources .views-row .resource-title a {
      font-weight: normal;
      font-size: 31px; }
    #content .view-resources .views-row .views-field-body * {
      margin: 0; }
    #content .view-resources .views-row .pager {
      margin-top: 60px; }
  #content .mcg-teaser-list-view .mcg-teaser-list-view-row h3.node-title, #content .mcg-teaser-list-view .mcg-teaser-list-view-row h3.node-title * {
    letter-spacing: 0;
    font-size: 22px;
    font-size: 2.2rem; }
  @media (min-width: 1024px) {
    #content .mcg-teaser-list-view .mcg-teaser-list-view-row h3.node-title, #content .mcg-teaser-list-view .mcg-teaser-list-view-row h3.node-title * {
      font-size: 28px;
      font-size: 2.8rem; }
    #content .mcg-teaser-list-view .mcg-teaser-list-view-row h3.node-title {
      margin-bottom: 0.5rem; } }
  #content .mcg-teaser-list-view .mcg-teaser-list-view-row h3.node-title {
    margin-bottom: 0; }
    #content .mcg-teaser-list-view .mcg-teaser-list-view-row h3.node-title a:after {
      content: '';
      display: inline-block;
      position: absolute;
      margin-top: 8px;
      width: 0;
      height: 0;
      border-top: 8px solid rgba(0, 0, 0, 0);
      border-bottom: 8px solid rgba(0, 0, 0, 0);
      border-left: 11px solid #027bc5;
      margin-left: 10px;
      -webkit-transition: border-color 300ms ease;
      transition: border-color 300ms ease; }
      @media (min-width: 924px) and (max-width: 1023px) {
        #content .mcg-teaser-list-view .mcg-teaser-list-view-row h3.node-title a:after {
          margin-top: 2px; } }
    .no-touchevents #content .mcg-teaser-list-view .mcg-teaser-list-view-row h3.node-title a:hover:after, .no-touchevents #content .mcg-teaser-list-view .mcg-teaser-list-view-row h3.node-title a:focus:after {
      border-left: 11px solid #11325b; }
  @media (max-width: 923px) {
    #content .mcg-teaser-list-view .mcg-teaser-list-view-row .date-author-title-group * {
      font-size: 11px;
      font-size: 1.1rem; }
    #content .mcg-teaser-list-view .mcg-teaser-list-view-row .field--name-body,
    #content .mcg-teaser-list-view .mcg-teaser-list-view-row .field--name-body * {
      font-size: 15px;
      font-size: 1.5rem;
      margin-top: 15px; } }
  #content .mcg-teaser-list-view .mcg-teaser-list-view-row .field--name-body {
    margin-bottom: 2rem;
    padding-top: 0; }
    @media (min-width: 924px) {
      #content .mcg-teaser-list-view .mcg-teaser-list-view-row .field--name-body {
        margin-top: -15px;
        margin-bottom: 6rem; } }

#footer-wrapper {
  background: #232c33 url("../../images/stripes.svg") left bottom repeat-x !important;
  min-height: auto;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  #footer-wrapper a:focus {
    outline-color: #FFF; }
  @media (min-width: 1024px) {
    #footer-wrapper {
      background-color: #28353d; } }
  #footer-wrapper .section {
    width: 100%;
    max-width: 1265px;
    padding: 0 20px;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-flex-item-align: center;
        align-self: center; }
    @media (min-width: 1024px) {
      #footer-wrapper .section {
        padding: 0 30px; } }
  @media (min-width: 1024px) {
    #footer-wrapper {
      min-height: 120px; } }
  #footer-wrapper .block {
    margin: 0;
    padding: 0;
    border: none; }
    #footer-wrapper .block p {
      margin: 0; }
  #footer-wrapper #footer-columns {
    position: relative;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  #footer-wrapper .group1 {
    width: 100%;
    margin: 30px auto; }
    @media (min-width: 1024px) {
      #footer-wrapper .group1 {
        min-height: 75px;
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
            justify-content: space-around;
        margin: inherit; } }

@media (min-width: 1024px) {
  .region-footer-firstcolumn ul {
    text-align: center; } }

/* MENU */
.region-footer-firstcolumn ul {
  padding: 0;
  margin: 0;
  list-style: none; }
  .region-footer-firstcolumn ul li {
    list-style-type: none;
    list-style-image: none;
    display: inline-block;
    margin: 35px 44px 1px 0; }
    @media (max-width: 1023px) {
      .region-footer-firstcolumn ul li {
        display: block;
        text-align: center;
        margin: 0;
        padding: 11px 20px; } }
    .region-footer-firstcolumn ul li a {
      display: block;
      text-transform: uppercase;
      letter-spacing: 1px;
      font-size: 12px;
      font-size: 1.2rem;
      color: rgba(255, 255, 255, 0.81); }
      .no-touchevents .region-footer-firstcolumn ul li a:hover, .no-touchevents .region-footer-firstcolumn ul li a:focus {
        color: #14a5fe;
        text-decoration: none; }

/* SOCIAL MEDIA ICONS */
.region-footer-secondcolumn {
  text-align: center; }
  .region-footer-secondcolumn .content {
    padding-top: 22px;
    padding-bottom: 10px; }
    @media (min-width: 1024px) {
      .region-footer-secondcolumn .content {
        padding-top: 15px; } }
    @media (min-width: 1440px) {
      .region-footer-secondcolumn .content {
        padding-top: 20px; } }
  .region-footer-secondcolumn p {
    font-size: 12px;
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.81);
    letter-spacing: 1px;
    text-transform: uppercase; }
  .region-footer-secondcolumn .content a {
    position: relative;
    color: #fff;
    padding-left: 10px;
    display: inline-block;
    font-size: 15px;
    letter-spacing: 1px;
    min-height: 45px;
    vertical-align: middle; }
    .region-footer-secondcolumn .content a.twitter:after {
      background-image: url(../../images/icon-white-twitter.svg);
      background-repeat: no-repeat;
      background-size: 30px 24px;
      content: '';
      display: block;
      height: 35px;
      width: 35px;
      overflow: hidden;
      background-position: center; }
    .region-footer-secondcolumn .content a.facebook:after {
      background-image: url(../../images/icon-facebook-square.svg);
      background-repeat: no-repeat;
      background-size: 23px 24px;
      content: '';
      display: block;
      height: 35px;
      width: 35px;
      overflow: hidden;
      background-position: center; }
    .region-footer-secondcolumn .content a span.ext {
      display: none; }
    .no-touchevents .region-footer-secondcolumn .content a:hover, .no-touchevents .region-footer-secondcolumn .content a:focus {
      text-decoration: underline; }

/* EMAIL SIGNUP */
.region-footer-thirdcolumn {
  width: 100%;
  margin-top: 13px; }
  .region-footer-thirdcolumn h2 {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px); }
  @media (min-width: 1024px) {
    .region-footer-thirdcolumn {
      max-width: 510px !important; } }
  @media (min-width: 1440px) {
    .region-footer-thirdcolumn {
      max-width: 710px !important; } }
  @media (max-width: 1439px) {
    .region-footer-thirdcolumn {
      max-width: 550px;
      margin-left: auto;
      margin-right: auto; } }
  .region-footer-thirdcolumn *,
  .region-footer-thirdcolumn *:before,
  .region-footer-thirdcolumn *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .region-footer-thirdcolumn input[type="text"] {
    background-color: #fafafa;
    padding: 7px 20px;
    font-family: "Source Serif Pro", serif;
    margin-bottom: 20px;
    display: block;
    border: solid 2px #bbb;
    -webkit-appearance: none;
    border-radius: 0;
    color: #6f6f6f;
    vertical-align: top;
    display: inline-block;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: normal;
    border: 0;
    width: 55%;
    height: 66px;
    margin: 0;
    font-size: 16px;
    font-size: 1.6rem; }
    @media (max-width: 1023px) {
      .region-footer-thirdcolumn input[type="text"] {
        width: 100%;
        max-width: none;
        text-align: center; } }
    @media (min-width: 1024px) {
      .region-footer-thirdcolumn input[type="text"] {
        height: 76px;
        line-height: 76px;
        width: 45%; } }
    @media (min-width: 1440px) {
      .region-footer-thirdcolumn input[type="text"] {
        font-size: 20px;
        font-size: 2rem;
        width: 55%; } }
    @media (min-width: 1680px) {
      .region-footer-thirdcolumn input[type="text"] {
        font-size: 22px;
        font-size: 2.2rem; } }
  .region-footer-thirdcolumn input[type="text"]::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #364750; }
  .region-footer-thirdcolumn input[type="text"]::-moz-placeholder {
    /* Firefox 19+ */
    color: #364750; }
  .region-footer-thirdcolumn input[type="text"]:-ms-input-placeholder {
    /* IE 10+ */
    color: #364750; }
  .region-footer-thirdcolumn input[type="text"]:-moz-placeholder {
    /* Firefox 18- */
    color: #364750; }
  .region-footer-thirdcolumn input[type="submit"] {
    background-color: #027bc5;
    font-family: "Source Serif Pro", serif;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 500;
    padding: 0 7px;
    color: #FFF;
    display: inline-block;
    border: 1px solid black;
    border-width: 0px 0px 0px 1px;
    border-radius: 0;
    margin: 0;
    height: 66px;
    line-height: 66px;
    width: 45%;
    -webkit-transition: background 300ms;
    transition: background 300ms; }
    @media (max-width: 1023px) {
      .region-footer-thirdcolumn input[type="submit"] {
        width: 100%;
        max-width: none !important;
        text-align: center;
        border: none; } }
  .region-footer-thirdcolumn input[type="submit"]:hover {
    background-color: #11325b; }

#page .region-footer-thirdcolumn input[type="submit"] {
  max-width: 100%; }

#footer-bottom span.ext {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); }

#footer-bottom a:focus {
  outline-color: #FFF; }

#footer-bottom .block-interior,
#block-views-partners-block {
  padding: 40px 20px 0;
  background-color: #232c33;
  margin-bottom: 0; }
  #footer-bottom .block-interior a,
  #block-views-partners-block a {
    display: block; }
  #footer-bottom .block-interior .view-content,
  #block-views-partners-block .view-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 1265px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
    @media (min-width: 1024px) {
      #footer-bottom .block-interior .view-content,
      #block-views-partners-block .view-content {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        margin: 0 auto; } }
  #footer-bottom .block-interior img,
  #block-views-partners-block img {
    height: auto !important;
    width: auto !important;
    max-width: 80%;
    max-height: 72px;
    margin: 0 auto 20px; }
    @media (min-width: 761px) {
      #footer-bottom .block-interior img,
      #block-views-partners-block img {
        height: 72px;
        width: auto !important;
        margin-bottom: 40px; } }
    @media (min-width: 1024px) {
      #footer-bottom .block-interior img,
      #block-views-partners-block img {
        height: 53px; } }
  #footer-bottom .block-interior .views-row,
  #block-views-partners-block .views-row {
    text-align: center; }
    @media (min-width: 1024px) {
      #footer-bottom .block-interior .views-row,
      #block-views-partners-block .views-row {
        display: inline-block;
        margin: 0 26px; } }
    @media (min-width: 1440px) {
      #footer-bottom .block-interior .views-row,
      #block-views-partners-block .views-row {
        display: inline-block;
        margin: 0 3%; } }

.region-header {
  width: 100%;
  position: absolute;
  top: -46px;
  left: 0;
  width: 100%;
  z-index: 204;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #11325b; }
  .region-header input.form-submit {
    border-radius: 0; }

@media (max-width: 1023px) {
  .active-mobile-menu #menu-and-search-wrapper {
    padding-bottom: 110px; }
  .active-mobile-menu .region-header {
    top: auto;
    bottom: 0;
    left: 0;
    opacity: 1;
    background: #11325b url(../../images/pattern-stripe6.png) left bottom repeat-x;
    height: 110px;
    padding-left: 20px;
    padding-right: 20px; } }

#header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 200; }
  @media (min-width: 1024px) {
    #header {
      position: relative; } }
  #header .inner-wrapper {
    max-width: 1680px;
    margin-left: auto;
    margin-right: auto;
    background: #fff; }
  #header .section {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
    position: relative; }
    @media (min-width: 1024px) {
      #header .section {
        padding-left: 30px;
        padding-right: 30px; } }

@media (max-width: 923px) {
  html body.admin-menu {
    margin-top: 0 !important; } }

@media (min-width: 1440px) {
  .logged-in #admin-menu {
    display: block; }
  #header {
    position: fixed; } }

#site-id,
#site-logo {
  float: left;
  /* LTR */ }
  #site-id a#logo,
  #site-logo a#logo {
    display: block; }
  #site-id img,
  #site-logo img {
    display: block;
    width: 330px; }
    @media (max-width: 1139px) {
      #site-id img,
      #site-logo img {
        width: 250px;
        position: relative;
        top: 10px; } }
    @media (max-width: 1023px) {
      #site-id img,
      #site-logo img {
        width: 225px;
        top: 0; } }

#site-id {
  position: relative;
  z-index: 203; }

.logged-in #admin-menu {
  z-index: 10101; }

.logged-in #header {
  top: 80px; }

form[id="views-exposed-form-mcg-search-page-1"] label, form[id="views-exposed-form-mcg-search-page-1"] .field .field-label, .field form[id="views-exposed-form-mcg-search-page-1"] .field-label,
form[id="views-exposed-form-mcg-search-page-1--2"] label,
form[id="views-exposed-form-mcg-search-page-1--2"] .field .field-label,
.field form[id="views-exposed-form-mcg-search-page-1--2"] .field-label,
form[id="views-exposed-form-mcg-search-page-1--3"] label,
form[id="views-exposed-form-mcg-search-page-1--3"] .field .field-label,
.field form[id="views-exposed-form-mcg-search-page-1--3"] .field-label,
form[id="views-exposed-form-mcg-search-page-1--4"] label,
form[id="views-exposed-form-mcg-search-page-1--4"] .field .field-label,
.field form[id="views-exposed-form-mcg-search-page-1--4"] .field-label {
  position: absolute;
  left: -999em; }

.section-search form[id="views-exposed-form-mcg-search-page-1--3"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.region-highlighted::after {
  clear: both;
  content: "";
  display: block; }

.region-highlighted .block {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #11325b url(../../images/bg-blue-seal.jpg) right center no-repeat;
  background-size: auto 100%; }
  @media (max-width: 760px) {
    .region-highlighted .block:after {
      content: '';
      display: block;
      position: absolute;
      bottom: -34px;
      height: 34px;
      background: url(../../images/pattern-stripe7.png) 0 0 repeat-x;
      width: 760px; } }
  .region-highlighted .block > div {
    padding: 35px 20px 60px; }
  @media (min-width: 761px) {
    .region-highlighted .block {
      width: 57.75%;
      float: right; }
      .region-highlighted .block > div {
        padding: 35px 50px 65px 0;
        margin-left: 14.6%; } }
  .region-highlighted .block * {
    color: #30b1ff;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.15;
    font-weight: 300; }
    @media (min-width: 761px) {
      .region-highlighted .block * {
        font-size: 32px;
        font-size: 3.2rem;
        line-height: 1.275; } }
    @media (min-width: 924px) {
      .region-highlighted .block * {
        font-size: 40px;
        font-size: 4rem;
        line-height: 1.4; } }
  .region-highlighted .block h2 {
    font-weight: normal;
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 1px;
    color: #fff;
    overflow: hidden; }
    @media (min-width: 761px) {
      .region-highlighted .block h2 {
        font-size: 20px;
        font-size: 2rem; } }
    @media (min-width: 924px) {
      .region-highlighted .block h2 {
        font-size: 25px;
        font-size: 2.5rem; } }
    .region-highlighted .block h2:after {
      content: '';
      display: inline-block;
      position: relative;
      top: 0px;
      height: 10px;
      background: url(../../images/pattern-stripe-blue.png) 0 0 repeat-x;
      background-size: auto 125%;
      width: 100px;
      margin-left: 21px; }
      @media (min-width: 761px) {
        .region-highlighted .block h2:after {
          top: 2px;
          height: 18px;
          width: 200px;
          margin-left: 41px;
          background-size: auto auto; } }
  .region-highlighted .block p {
    line-height: 1.5;
    margin: 0;
    font-family: "Source Serif Pro", serif;
    max-width: 720px; }
    .region-highlighted .block p a {
      position: relative;
      padding-right: 25px;
      display: block; }
      @media (min-width: 924px) {
        .region-highlighted .block p a {
          padding-right: 100px; } }
      .region-highlighted .block p a:after {
        content: '';
        display: block;
        position: absolute;
        top: 0px;
        right: 0px;
        width: 0;
        height: 0;
        border-top: 8px solid rgba(0, 0, 0, 0);
        border-bottom: 8px solid rgba(0, 0, 0, 0);
        border-left: 11px solid #14a5fe;
        margin-left: 15px;
        -webkit-transition: border-color 300ms ease;
        transition: border-color 300ms ease; }
        @media (min-width: 924px) {
          .region-highlighted .block p a:after {
            top: 12px;
            right: 80px;
            border-top: 12px solid rgba(0, 0, 0, 0);
            border-bottom: 12px solid rgba(0, 0, 0, 0);
            border-left: 18px solid #14a5fe;
            margin-left: 25px; } }
      .no-touchevents .region-highlighted .block p a:hover, .no-touchevents .region-highlighted .block p a:focus {
        text-decoration: none !important;
        color: #fff; }
        .no-touchevents .region-highlighted .block p a:hover:after, .no-touchevents .region-highlighted .block p a:focus:after {
          border-left: 11px solid #fff; }
          @media (min-width: 924px) {
            .no-touchevents .region-highlighted .block p a:hover:after, .no-touchevents .region-highlighted .block p a:focus:after {
              border-left: 18px solid #fff; } }

/**
 * @file
 * Custom Styling Overrides
 *
 */
.clearfix::after {
  clear: both;
  content: "";
  display: block; }

.column-2::after {
  clear: both;
  content: "";
  display: block; }

@media (min-width: 924px) {
  .column-2 > div {
    width: 47%;
    float: left;
    margin-right: 4%; }
    .column-2 > div:nth-child(2n) {
      margin-right: 0;
      margin-left: 1%; } }

.column-3::after {
  clear: both;
  content: "";
  display: block; }

@media (min-width: 924px) {
  .column-3 > div {
    width: 30%;
    float: left;
    margin-right: 4%; }
    .column-3 > div:nth-child(3n) {
      margin-right: 0;
      margin-left: 0; } }

.column-4::after {
  clear: both;
  content: "";
  display: block; }

@media (min-width: 924px) {
  .column-4 > div {
    width: 21%;
    float: left;
    margin-right: 4%; }
    .column-4 > div:nth-child(4n) {
      margin-right: 0;
      margin-left: 0; } }

.column-2 > div,
.column-3 > div,
.column-4 > div {
  margin-bottom: 30px; }
  @media (min-width: 761px) and (max-width: 923px) {
    .column-2 > div,
    .column-3 > div,
    .column-4 > div {
      float: left;
      margin-right: 2%;
      width: 49%; }
      .column-2 > div:nth-child(2n),
      .column-3 > div:nth-child(2n),
      .column-4 > div:nth-child(2n) {
        margin-right: 0; } }

/* ------ Alert message --------- */
#block-views-alert-block {
  position: static;
  top: 0px;
  margin-bottom: 0px; }

#block-views-alert-block .content {
  margin-top: 0px; }

.region-alert {
  background: yellow;
  font-size: 16px;
  max-width: 1680px; }

.view-id-alert {
  width: 100%;
  max-width: 972px;
  margin-right: auto;
  margin-left: auto; }

.view-id-alert .view-content {
  margin-left: 12px;
  max-width: 960px; }

.user-alert-message div {
  background: #ff0000 none repeat scroll 0 0;
  color: #fff;
  padding: 0px 10px;
  float: left;
  font-weight: bold;
  text-transform: uppercase; }

.user-alert-message span {
  padding-left: 20px;
  font-weight: bold; }

.i18n-es .user-alert-message div {
  height: 50px; }

.i18n-es .user-alert-message span {
  display: table-cell;
  line-height: 25px; }

@media (min-width: 1024px) {
  .region-alert {
    position: relative;
    z-index: 10001;
    width: 100%;
    margin: 0 auto; }
    .admin-menu .region-alert {
      top: 29px; }
  .header-alert-drop {
    margin-top: 15px;
    top: 20px !important; }
  .banner-alert-drop {
    padding-top: 150px; }
  .search-alert-drop {
    top: 187px !important; }
  .admin-menu .region-alert {
    top: 29px; }
  .admin-menu .header-alert-drop {
    top: 50px !important; }
  .admin-menu .banner-alert-drop {
    padding-top: 100px; }
  .admin-menu .search-alert-drop {
    top: 217px !important; } }

@media (max-width: 1023px) {
  .admin-menu #page-wrapper {
    margin-top: -27px; }
  .region-alert {
    z-index: 10010;
    position: relative; } }

@media (min-width: 1024px) {
  .not-logged-in #page {
    padding-top: 100px; }
  #header {
    position: fixed; }
  #main-menu .menu-block-wrapper > ul.menu > li a {
    font-size: 14px; } }

/**
 * @file
 * Print styling
 *
 * We provide some sane print styling for Drupal using Zen's layout method.
 */
/**
 * By importing this CSS file as media "all", we allow this print file to be
 * aggregated with other stylesheets, for improved front-end performance.
 */
@media print {
  /* Underline all links. */
  a:link,
  a:visited {
    text-decoration: underline !important;
    /* Don't underline site link. */ }
    a:link.site-link,
    a:visited.site-link {
      text-decoration: none !important; }
  #content {
    /* Add visible URL after links. */
    /* Only display useful links. */
    /* Add visible title after abbreviations. */ }
    #content a[href]:after {
      content: " (" attr(href) ")";
      font-weight: normal;
      font-size: 10px; }
    #content a[href^="javascript:"]:after,
    #content a[href^="#"]:after {
      content: ""; }
    #content abbr[title]:after {
      content: " (" attr(title) ")"; }
  /* Un-float the content. */
  #content {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important; }
  /* Turn off any background colors or images. */
  body,
  #page,
  #main,
  #content {
    color: #000;
    background-color: transparent !important;
    background-image: none !important; }
  /* Hide sidebars and nav elements. */
  #skip-link,
  #navigation,
  #footer,
  .sidebars,
  .breadcrumb,
  .pager,
  .feed-icons {
    visibility: hidden;
    display: none; } }

.block-content--type-uswds-alert.usa-alert {
  padding: 2rem 3rem;
  background: #fff;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  overflow: visible; }
  .block-content--type-uswds-alert.usa-alert:before {
    display: none; }
  .block-content--type-uswds-alert.usa-alert.usa-alert--slim {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem; }
    .block-content--type-uswds-alert.usa-alert.usa-alert--slim .usa-alert__heading {
      margin-bottom: 0; }
  .block-content--type-uswds-alert.usa-alert.usa-alert--no-icon .usa-alert__icon {
    display: none; }
  .region-banner .block-content--type-uswds-alert.usa-alert *,
  .block-content--type-uswds-alert.usa-alert * {
    color: color("base-darker"); }
  .block-content--type-uswds-alert.usa-alert .usa-alert__icon {
    padding: 2.4rem 2rem;
    margin: -2rem 0 -2rem -3rem;
    background-color: color(remove("gray-20" "gray-20" "gray-20" "gray-20", "!important"))  !important; }
    .block-content--type-uswds-alert.usa-alert .usa-alert__icon svg {
      width: 2.5rem;
      height: auto; }
      .block-content--type-uswds-alert.usa-alert .usa-alert__icon svg path {
        fill: #fff; }
  .block-content--type-uswds-alert.usa-alert.usa-alert--info .usa-alert__icon {
    background-color: #2e9591; }
  .block-content--type-uswds-alert.usa-alert.usa-alert--emergency .usa-alert__icon {
    background-color: #d54309; }
  .block-content--type-uswds-alert.usa-alert.usa-alert--error .usa-alert__icon {
    background-color: color(remove(#d54309 #d54309 #d54309 #d54309, "!important"))  !important; }
  .block-content--type-uswds-alert.usa-alert.usa-alert--success .usa-alert__icon {
    background-color: color(remove("green-cool-40v" "green-cool-40v" "green-cool-40v" "green-cool-40v", "!important"))  !important; }
  .block-content--type-uswds-alert.usa-alert.usa-alert--warning .usa-alert__icon {
    background-color: color(remove("gold-20v" "gold-20v" "gold-20v" "gold-20v", "!important"))  !important; }
  .block-content--type-uswds-alert.usa-alert.usa-site-alert .grid-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%; }
    @media (min-width: 641px) and (max-width: 959px) {
      .block-content--type-uswds-alert.usa-alert.usa-site-alert .grid-container {
        padding-left: 2.8rem;
        padding-right: 2.8rem; } }
  .block-content--type-uswds-alert.usa-alert.usa-site-alert.usa-alert--info {
    background-color: #f2f8ff; }
    .block-content--type-uswds-alert.usa-alert.usa-site-alert.usa-alert--info .usa-alert__icon {
      background-color: transparent;
      padding: 0 0.8rem 0 0;
      margin: 0; }
      .block-content--type-uswds-alert.usa-alert.usa-site-alert.usa-alert--info .usa-alert__icon svg path {
        fill: #000; }
  .block-content--type-uswds-alert.usa-alert.usa-site-alert.usa-alert--emergency {
    background-color: #d54309; }
    .block-content--type-uswds-alert.usa-alert.usa-site-alert.usa-alert--emergency *,
    .block-content--type-uswds-alert.usa-alert.usa-site-alert.usa-alert--emergency a {
      color: #fff; }
    .block-content--type-uswds-alert.usa-alert.usa-site-alert.usa-alert--emergency .usa-alert__icon {
      background-color: transparent;
      padding: 0 0.8rem 0 0;
      margin: 0; }
  .block-content--type-uswds-alert.usa-alert h3 {
    font-family: "ProximaNova-Regular", sans-serif;
    font-size: 1.8rem;
    font-weight: bold; }
  .block-content--type-uswds-alert.usa-alert .usa-alert__body {
    padding: 0;
    margin-left: 2rem; }
  .block-content--type-uswds-alert.usa-alert p {
    margin: 0.5rem 0;
    font-size: 1.5rem;
    max-width: 100%; }
  .region-banner .block-content--type-uswds-alert.usa-alert a,
  .block-content--type-uswds-alert.usa-alert a {
    text-decoration: none;
    color: #065cb4; }

/* Legacy classes */
div {
  /* Legacy classes */ }
  div .article-intro {
    font-family: "ProximaNova-Regular", sans-serif;
    margin-top: 2.2rem;
    font-size: 2.2rem;
    line-height: 1.4; }
    div .article-intro + .article-anchor-list {
      margin-top: 4rem; }
  div .article-anchor-list ul {
    list-style: none;
    padding: 0; }
    div .article-anchor-list ul > li {
      padding: 1.4rem 0;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      width: 100%; }
      div .article-anchor-list ul > li ~ li {
        margin-top: 0;
        border-top: 1px solid #ccc; }
      div .article-anchor-list ul > li a {
        margin-left: 0.5rem;
        border-bottom: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCJzdHlsZXMuc2NzcyIsImJhc2UvX2ZvbnRzLnNjc3MiLCJiYXNlL19icmVha3BvaW50cy5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJiYXNlL19jb2xvcnMuc2NzcyIsImJhc2UvX2FjY2Vzc2liaWxpdHkuc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsImJhc2UvX25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJsYXlvdXRzL19sYXlvdXQtYmFzZS5zY3NzIiwibGF5b3V0cy9fbm8tc2lkZWJhcnMuc2NzcyIsImxheW91dHMvX3NpZGViYXItc2Vjb25kLnNjc3MiLCJjb21wb25lbnRzL19tb2RhbC5zY3NzIiwiY29tcG9uZW50cy9fZm9ybS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3RpbnQuc2NzcyIsImNvbXBvbmVudHMvX25hdmlnYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2Jsb2NrLnNjc3MiLCJjb21wb25lbnRzL19ibG9ja2dyYXlibG9ja3Muc2NzcyIsImNvbXBvbmVudHMvX2Jsb2NrdG9vbGtpdC5zY3NzIiwiY29tcG9uZW50cy9fY29tbWVudHMuc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWIuc2NzcyIsImNvbXBvbmVudHMvX2lubGluZS5zY3NzIiwiY29tcG9uZW50cy9fcGFnZXIuc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC5zY3NzIiwiY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJjb21wb25lbnRzL190aXRsZXMuc2NzcyIsImNvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9fZnJvbnQuc2NzcyIsImNvbXBvbmVudHMvX2xpZmVfZXZlbnRzLnNjc3MiLCJkcnVwYWwvX21lc3NhZ2VzLnNjc3MiLCJkcnVwYWwvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJkcnVwYWwvX3VucHVibGlzaGVkLnNjc3MiLCJkcnVwYWwvX2RydXBhbC5zY3NzIiwid29yZHByZXNzL19za2lwbGluay5zY3NzIiwicmVnaW9ucy9fYmFubmVyLnNjc3MiLCJyZWdpb25zL19jb250ZW50LnNjc3MiLCJyZWdpb25zL19mb290ZXIuc2NzcyIsInJlZ2lvbnMvX2hlYWRlci5zY3NzIiwicmVnaW9ucy9faGlnaGxpZ2h0ZWQuc2NzcyIsIl9jdXN0b20uc2NzcyIsIl9wcmludC5zY3NzIiwiYmxvY2tzL19ibG9jay0tdXN3ZHMtYWxlcnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvX2JyZWFrcG9pbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7OztFRE9FO0FDQ0YsaURBQUE7QUNSQTs4QkZVOEI7QUVENUI7RUFDRSxnQ0FrQmtDO0VBakJoQyx1RUFBNkI7RUFDN0IsMlhBRzJEO0VBQzdELGdCQVlrRztFQVhsRyxrQkFXMEcsRUFBQTs7QUFSNUc7RUFDRTtJQUNFLGdDQU1nQztJQUw5Qix5R0FBMkQsRUFBQSxFQUFBOztBQ3RCbkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NIMENDO0FJd1VEO0VBRUUsa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0Qix1QkFBQTtFQUNBLFNBQVM7RUFDVCxnQkFBZ0IsRUFBQTtFQU5sQjs7O0lBV0ksa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixP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IFwiVVRGLThcIjtcbi8qKlxuICogQGZpbGVcbiAqIFN0eWxlcyBhcmUgb3JnYW5pemVkIHVzaW5nIHRoZSBTTUFDU1MgdGVjaG5pcXVlLiBAc2VlIGh0dHA6Ly9zbWFjc3MuY29tL2Jvb2svXG4gKlxuICogV2hlbiB5b3UgdHVybiBvbiBDU1MgYWdncmVnYXRpb24gYXQgYWRtaW4vY29uZmlnL2RldmVsb3BtZW50L3BlcmZvcm1hbmNlLCBhbGxcbiAqIG9mIHRoZXNlIEBpbmNsdWRlIGZpbGVzIHdpbGwgYmUgY29tYmluZWQgaW50byBhIHNpbmdsZSBmaWxlLlxuICovXG4vKiBJbXBvcnQgU2FzcyBtaXhpbnMsIHZhcmlhYmxlcywgbW9kdWxlcywgZXRjLiAqL1xuLyogREVDTEFSRSBGT05UU1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBQcm94aW1hTm92YS1SZWd1bGFyO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL3Byb3hpbWFub3ZhX3JlZ3VsYXIvUHJveGltYU5vdmEtUmVnLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL3Byb3hpbWFub3ZhX3JlZ3VsYXIvUHJveGltYU5vdmEtUmVnLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vLi4vZm9udHMvcHJveGltYW5vdmFfcmVndWxhci9Qcm94aW1hTm92YS1SZWctd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uL2ZvbnRzL3Byb3hpbWFub3ZhX3JlZ3VsYXIvUHJveGltYU5vdmEtUmVnLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9wcm94aW1hbm92YV9yZWd1bGFyL1Byb3hpbWFOb3ZhLVJlZy13ZWJmb250LnN2ZyNQcm94aW1hTm92YS1SZWd1bGFyXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLVJlZ3VsYXI7XG4gICAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9wcm94aW1hbm92YV9yZWd1bGFyL1Byb3hpbWFOb3ZhLVJlZy13ZWJmb250LnN2ZyNQcm94aW1hTm92YS1SZWd1bGFyXCIpIGZvcm1hdChcInN2Z1wiKTsgfSB9XG5cbi8qIFxuXG5CcmVha3BvaW50c1xuXG5tb2JpbGUgICAgICAgOiAzMjAgLSA3NTlcbm1vYmlsZS0xICAgICA6IDMyMCAtIDQ5OVxubW9iaWxlLTIgICAgIDogNTAwIC0gNzU5XG5cbnRhYmxldCAgICAgICA6IDc2MCAtIDEwMjNcbnRhYmxldC0xICAgICA6IDc2MCAtIDkyM1xudGFibGV0LTIgICAgIDogOTI0IC0gMTAyM1xuXG5kZXNrdG9wICAgICAgOiAxMDI0IC0gMTI3OVxuZGVza3RvcC0xICAgIDogMTAyNCAtIDExMzlcbmRlc2t0b3AtMiAgICA6IDExNDAgLSAxMjc5XG5cbmxnLWRlc2t0b3AgICA6IDEyODAgLSAxNjgwXG5sZy1kZXNrdG9wLTEgOiAxMjgwIC0gMTQzOVxubGctZGVza3RvcC0yIDogMTQ0MCAtIDE2ODBcblxuKi9cbi52aWRlby1wbGF5ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIC8qIHBhZGRpbmctdG9wOiAzMHB4OyAqL1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnZpZGVvLXBsYXllciBpZnJhbWUsXG4gIC52aWRlby1wbGF5ZXIgb2JqZWN0LFxuICAudmlkZW8tcGxheWVyIGVtYmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDA7IH1cblxuI3BhZ2UgLmZpZWxkLS1kb3dubG9hZCBhLCAuZmllbGQtLWRvd25sb2FkICNwYWdlIGEsXG4jcGFnZSBhLmJ1dHRvbi1saW5rLFxuI3BhZ2UgYS5idG4sICNwYWdlIC5yZWdpb24tc2lkZWJhci1zZWNvbmQgLmJsb2NrIC5ibG9jay1pbnRlcmlvciAuY29udGVudCAubW9yZS1saW5rIGEsIC5yZWdpb24tc2lkZWJhci1zZWNvbmQgLmJsb2NrIC5ibG9jay1pbnRlcmlvciAuY29udGVudCAubW9yZS1saW5rICNwYWdlIGEsICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAubW9yZS1saW5rIGEsICNwYWdlIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAuY29udGVudC13cmFwcGVyIC5idXR0b24tdmlldy1hbGwgYSwgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xIC5jb250ZW50LXdyYXBwZXIgLmJ1dHRvbi12aWV3LWFsbCAjcGFnZSBhLCAjcGFnZSAjdGl0bGluZy1jb250YWluZXIgYnV0dG9uOm5vdCgudHJpZ2dlciksICN0aXRsaW5nLWNvbnRhaW5lciAjcGFnZSBidXR0b246bm90KC50cmlnZ2VyKSxcbiNwYWdlICN0aXRsaW5nLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiNwYWdlICN0aXRsaW5nLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiNwYWdlICNtYWluLXdyYXBwZXIgZm9ybSBidXR0b246bm90KC50cmlnZ2VyKSwgI21haW4td3JhcHBlciBmb3JtICNwYWdlIGJ1dHRvbjpub3QoLnRyaWdnZXIpLFxuI3BhZ2UgI21haW4td3JhcHBlciBmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuI3BhZ2UgI21haW4td3JhcHBlciBmb3JtIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuI3BhZ2UgI2Zvb3Rlci13cmFwcGVyIGJ1dHRvbjpub3QoLnRyaWdnZXIpLCAjZm9vdGVyLXdyYXBwZXIgI3BhZ2UgYnV0dG9uOm5vdCgudHJpZ2dlciksXG4jcGFnZSAjZm9vdGVyLXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4jcGFnZSAjZm9vdGVyLXdyYXBwZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNwYWdlIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtICNwYWdlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogIzAyN2JjNTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTZXJpZiBQcm9cIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICBoZWlnaHQ6IDU2cHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXgtd2lkdGg6IDMxMHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcztcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zO1xuICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcztcbiAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtczsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAjcGFnZSAuZmllbGQtLWRvd25sb2FkIGEsIC5maWVsZC0tZG93bmxvYWQgI3BhZ2UgYSxcbiAgICAjcGFnZSBhLmJ1dHRvbi1saW5rLFxuICAgICNwYWdlIGEuYnRuLCAjcGFnZSAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayBhLCAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayAjcGFnZSBhLCAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgLm1vcmUtbGluayBhLCAjcGFnZSAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLmNvbnRlbnQtd3JhcHBlciAuYnV0dG9uLXZpZXctYWxsIGEsIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAuY29udGVudC13cmFwcGVyIC5idXR0b24tdmlldy1hbGwgI3BhZ2UgYSwgI3BhZ2UgI3RpdGxpbmctY29udGFpbmVyIGJ1dHRvbjpub3QoLnRyaWdnZXIpLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgYnV0dG9uOm5vdCgudHJpZ2dlciksXG4gICAgI3BhZ2UgI3RpdGxpbmctY29udGFpbmVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICN0aXRsaW5nLWNvbnRhaW5lciAjcGFnZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICAgICNwYWdlICN0aXRsaW5nLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAjcGFnZSAjbWFpbi13cmFwcGVyIGZvcm0gYnV0dG9uOm5vdCgudHJpZ2dlciksICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSBidXR0b246bm90KC50cmlnZ2VyKSxcbiAgICAjcGFnZSAjbWFpbi13cmFwcGVyIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI21haW4td3JhcHBlciBmb3JtICNwYWdlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgI3BhZ2UgI21haW4td3JhcHBlciBmb3JtIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICNwYWdlICNmb290ZXItd3JhcHBlciBidXR0b246bm90KC50cmlnZ2VyKSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIGJ1dHRvbjpub3QoLnRyaWdnZXIpLFxuICAgICNwYWdlICNmb290ZXItd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyLXdyYXBwZXIgI3BhZ2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAjcGFnZSAjZm9vdGVyLXdyYXBwZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNwYWdlIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtICNwYWdlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDY2cHg7XG4gICAgICBtaW4taGVpZ2h0OiA2NnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gICAgI3BhZ2UgLmZpZWxkLS1kb3dubG9hZCBhLCAuZmllbGQtLWRvd25sb2FkICNwYWdlIGEsXG4gICAgI3BhZ2UgYS5idXR0b24tbGluayxcbiAgICAjcGFnZSBhLmJ0biwgI3BhZ2UgLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAuYmxvY2sgLmJsb2NrLWludGVyaW9yIC5jb250ZW50IC5tb3JlLWxpbmsgYSwgLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAuYmxvY2sgLmJsb2NrLWludGVyaW9yIC5jb250ZW50IC5tb3JlLWxpbmsgI3BhZ2UgYSwgI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIC5tb3JlLWxpbmsgYSwgI3BhZ2UgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xIC5jb250ZW50LXdyYXBwZXIgLmJ1dHRvbi12aWV3LWFsbCBhLCAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLmNvbnRlbnQtd3JhcHBlciAuYnV0dG9uLXZpZXctYWxsICNwYWdlIGEsICNwYWdlICN0aXRsaW5nLWNvbnRhaW5lciBidXR0b246bm90KC50cmlnZ2VyKSwgI3RpdGxpbmctY29udGFpbmVyICNwYWdlIGJ1dHRvbjpub3QoLnRyaWdnZXIpLFxuICAgICNwYWdlICN0aXRsaW5nLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAjcGFnZSAjdGl0bGluZy1jb250YWluZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgI3RpdGxpbmctY29udGFpbmVyICNwYWdlIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4gICAgI3BhZ2UgI21haW4td3JhcHBlciBmb3JtIGJ1dHRvbjpub3QoLnRyaWdnZXIpLCAjbWFpbi13cmFwcGVyIGZvcm0gI3BhZ2UgYnV0dG9uOm5vdCgudHJpZ2dlciksXG4gICAgI3BhZ2UgI21haW4td3JhcHBlciBmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICAgICNwYWdlICNtYWluLXdyYXBwZXIgZm9ybSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjbWFpbi13cmFwcGVyIGZvcm0gI3BhZ2UgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAjcGFnZSAjZm9vdGVyLXdyYXBwZXIgYnV0dG9uOm5vdCgudHJpZ2dlciksICNmb290ZXItd3JhcHBlciAjcGFnZSBidXR0b246bm90KC50cmlnZ2VyKSxcbiAgICAjcGFnZSAjZm9vdGVyLXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgI3BhZ2UgI2Zvb3Rlci13cmFwcGVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNmb290ZXItd3JhcHBlciAjcGFnZSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjcGFnZSAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSAjcGFnZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIG1pbi13aWR0aDogMjgwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNzZweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDc2cHg7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAjcGFnZSAuZmllbGQtLWRvd25sb2FkIGEsIC5maWVsZC0tZG93bmxvYWQgI3BhZ2UgYSxcbiAgICAjcGFnZSBhLmJ1dHRvbi1saW5rLFxuICAgICNwYWdlIGEuYnRuLCAjcGFnZSAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayBhLCAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayAjcGFnZSBhLCAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgLm1vcmUtbGluayBhLCAjcGFnZSAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLmNvbnRlbnQtd3JhcHBlciAuYnV0dG9uLXZpZXctYWxsIGEsIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAuY29udGVudC13cmFwcGVyIC5idXR0b24tdmlldy1hbGwgI3BhZ2UgYSwgI3BhZ2UgI3RpdGxpbmctY29udGFpbmVyIGJ1dHRvbjpub3QoLnRyaWdnZXIpLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgYnV0dG9uOm5vdCgudHJpZ2dlciksXG4gICAgI3BhZ2UgI3RpdGxpbmctY29udGFpbmVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICN0aXRsaW5nLWNvbnRhaW5lciAjcGFnZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICAgICNwYWdlICN0aXRsaW5nLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAjcGFnZSAjbWFpbi13cmFwcGVyIGZvcm0gYnV0dG9uOm5vdCgudHJpZ2dlciksICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSBidXR0b246bm90KC50cmlnZ2VyKSxcbiAgICAjcGFnZSAjbWFpbi13cmFwcGVyIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI21haW4td3JhcHBlciBmb3JtICNwYWdlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgI3BhZ2UgI21haW4td3JhcHBlciBmb3JtIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICNwYWdlICNmb290ZXItd3JhcHBlciBidXR0b246bm90KC50cmlnZ2VyKSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIGJ1dHRvbjpub3QoLnRyaWdnZXIpLFxuICAgICNwYWdlICNmb290ZXItd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyLXdyYXBwZXIgI3BhZ2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAjcGFnZSAjZm9vdGVyLXdyYXBwZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNwYWdlIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtICNwYWdlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuICAubm8tdG91Y2hldmVudHMgI3BhZ2UgLmZpZWxkLS1kb3dubG9hZCBhOmhvdmVyLCAuZmllbGQtLWRvd25sb2FkIC5uby10b3VjaGV2ZW50cyAjcGFnZSBhOmhvdmVyLFxuICAubm8tdG91Y2hldmVudHMgI3BhZ2UgYS5idXR0b24tbGluazpob3ZlcixcbiAgLm5vLXRvdWNoZXZlbnRzICNwYWdlIGEuYnRuOmhvdmVyLCAubm8tdG91Y2hldmVudHMgI3BhZ2UgLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAuYmxvY2sgLmJsb2NrLWludGVyaW9yIC5jb250ZW50IC5tb3JlLWxpbmsgYTpob3ZlciwgLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAuYmxvY2sgLmJsb2NrLWludGVyaW9yIC5jb250ZW50IC5tb3JlLWxpbmsgLm5vLXRvdWNoZXZlbnRzICNwYWdlIGE6aG92ZXIsIC5uby10b3VjaGV2ZW50cyAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgLm1vcmUtbGluayBhOmhvdmVyLCAubm8tdG91Y2hldmVudHMgI3BhZ2UgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xIC5jb250ZW50LXdyYXBwZXIgLmJ1dHRvbi12aWV3LWFsbCBhOmhvdmVyLCAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLmNvbnRlbnQtd3JhcHBlciAuYnV0dG9uLXZpZXctYWxsIC5uby10b3VjaGV2ZW50cyAjcGFnZSBhOmhvdmVyLCAubm8tdG91Y2hldmVudHMgI3BhZ2UgI3RpdGxpbmctY29udGFpbmVyIGJ1dHRvbjpob3Zlcjpub3QoLnRyaWdnZXIpLCAjdGl0bGluZy1jb250YWluZXIgLm5vLXRvdWNoZXZlbnRzICNwYWdlIGJ1dHRvbjpob3Zlcjpub3QoLnRyaWdnZXIpLFxuICAubm8tdG91Y2hldmVudHMgI3BhZ2UgI3RpdGxpbmctY29udGFpbmVyIGlucHV0OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sICN0aXRsaW5nLWNvbnRhaW5lciAubm8tdG91Y2hldmVudHMgI3BhZ2UgaW5wdXQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSxcbiAgLm5vLXRvdWNoZXZlbnRzICNwYWdlICN0aXRsaW5nLWNvbnRhaW5lciBpbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAjdGl0bGluZy1jb250YWluZXIgLm5vLXRvdWNoZXZlbnRzICNwYWdlIGlucHV0OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sXG4gIC5uby10b3VjaGV2ZW50cyAjcGFnZSAjbWFpbi13cmFwcGVyIGZvcm0gYnV0dG9uOmhvdmVyOm5vdCgudHJpZ2dlciksICNtYWluLXdyYXBwZXIgZm9ybSAubm8tdG91Y2hldmVudHMgI3BhZ2UgYnV0dG9uOmhvdmVyOm5vdCgudHJpZ2dlciksXG4gIC5uby10b3VjaGV2ZW50cyAjcGFnZSAjbWFpbi13cmFwcGVyIGZvcm0gaW5wdXQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgI21haW4td3JhcHBlciBmb3JtIC5uby10b3VjaGV2ZW50cyAjcGFnZSBpbnB1dDpob3Zlclt0eXBlPVwic3VibWl0XCJdLFxuICAubm8tdG91Y2hldmVudHMgI3BhZ2UgI21haW4td3JhcHBlciBmb3JtIGlucHV0OmhvdmVyW3R5cGU9XCJidXR0b25cIl0sICNtYWluLXdyYXBwZXIgZm9ybSAubm8tdG91Y2hldmVudHMgI3BhZ2UgaW5wdXQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSxcbiAgLm5vLXRvdWNoZXZlbnRzICNwYWdlICNmb290ZXItd3JhcHBlciBidXR0b246aG92ZXI6bm90KC50cmlnZ2VyKSwgI2Zvb3Rlci13cmFwcGVyIC5uby10b3VjaGV2ZW50cyAjcGFnZSBidXR0b246aG92ZXI6bm90KC50cmlnZ2VyKSxcbiAgLm5vLXRvdWNoZXZlbnRzICNwYWdlICNmb290ZXItd3JhcHBlciBpbnB1dDpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyLXdyYXBwZXIgLm5vLXRvdWNoZXZlbnRzICNwYWdlIGlucHV0OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sXG4gIC5uby10b3VjaGV2ZW50cyAjcGFnZSAjZm9vdGVyLXdyYXBwZXIgaW5wdXQ6aG92ZXJbdHlwZT1cImJ1dHRvblwiXSwgI2Zvb3Rlci13cmFwcGVyIC5uby10b3VjaGV2ZW50cyAjcGFnZSBpbnB1dDpob3Zlclt0eXBlPVwiYnV0dG9uXCJdLCAubm8tdG91Y2hldmVudHMgI3BhZ2UgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gaW5wdXQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gLm5vLXRvdWNoZXZlbnRzICNwYWdlIGlucHV0OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5uby10b3VjaGV2ZW50cyAjcGFnZSAuZmllbGQtLWRvd25sb2FkIGE6Zm9jdXMsIC5maWVsZC0tZG93bmxvYWQgLm5vLXRvdWNoZXZlbnRzICNwYWdlIGE6Zm9jdXMsXG4gIC5uby10b3VjaGV2ZW50cyAjcGFnZSBhLmJ1dHRvbi1saW5rOmZvY3VzLFxuICAubm8tdG91Y2hldmVudHMgI3BhZ2UgYS5idG46Zm9jdXMsIC5uby10b3VjaGV2ZW50cyAjcGFnZSAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayBhOmZvY3VzLCAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayAubm8tdG91Y2hldmVudHMgI3BhZ2UgYTpmb2N1cywgLm5vLXRvdWNoZXZlbnRzICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAubW9yZS1saW5rIGE6Zm9jdXMsIC5uby10b3VjaGV2ZW50cyAjcGFnZSAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLmNvbnRlbnQtd3JhcHBlciAuYnV0dG9uLXZpZXctYWxsIGE6Zm9jdXMsIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAuY29udGVudC13cmFwcGVyIC5idXR0b24tdmlldy1hbGwgLm5vLXRvdWNoZXZlbnRzICNwYWdlIGE6Zm9jdXMsIC5uby10b3VjaGV2ZW50cyAjcGFnZSAjdGl0bGluZy1jb250YWluZXIgYnV0dG9uOmZvY3VzOm5vdCgudHJpZ2dlciksICN0aXRsaW5nLWNvbnRhaW5lciAubm8tdG91Y2hldmVudHMgI3BhZ2UgYnV0dG9uOmZvY3VzOm5vdCgudHJpZ2dlciksXG4gIC5uby10b3VjaGV2ZW50cyAjcGFnZSAjdGl0bGluZy1jb250YWluZXIgaW5wdXQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgI3RpdGxpbmctY29udGFpbmVyIC5uby10b3VjaGV2ZW50cyAjcGFnZSBpbnB1dDpmb2N1c1t0eXBlPVwic3VibWl0XCJdLFxuICAubm8tdG91Y2hldmVudHMgI3BhZ2UgI3RpdGxpbmctY29udGFpbmVyIGlucHV0OmZvY3VzW3R5cGU9XCJidXR0b25cIl0sICN0aXRsaW5nLWNvbnRhaW5lciAubm8tdG91Y2hldmVudHMgI3BhZ2UgaW5wdXQ6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSxcbiAgLm5vLXRvdWNoZXZlbnRzICNwYWdlICNtYWluLXdyYXBwZXIgZm9ybSBidXR0b246Zm9jdXM6bm90KC50cmlnZ2VyKSwgI21haW4td3JhcHBlciBmb3JtIC5uby10b3VjaGV2ZW50cyAjcGFnZSBidXR0b246Zm9jdXM6bm90KC50cmlnZ2VyKSxcbiAgLm5vLXRvdWNoZXZlbnRzICNwYWdlICNtYWluLXdyYXBwZXIgZm9ybSBpbnB1dDpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAjbWFpbi13cmFwcGVyIGZvcm0gLm5vLXRvdWNoZXZlbnRzICNwYWdlIGlucHV0OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sXG4gIC5uby10b3VjaGV2ZW50cyAjcGFnZSAjbWFpbi13cmFwcGVyIGZvcm0gaW5wdXQ6Zm9jdXNbdHlwZT1cImJ1dHRvblwiXSwgI21haW4td3JhcHBlciBmb3JtIC5uby10b3VjaGV2ZW50cyAjcGFnZSBpbnB1dDpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdLFxuICAubm8tdG91Y2hldmVudHMgI3BhZ2UgI2Zvb3Rlci13cmFwcGVyIGJ1dHRvbjpmb2N1czpub3QoLnRyaWdnZXIpLCAjZm9vdGVyLXdyYXBwZXIgLm5vLXRvdWNoZXZlbnRzICNwYWdlIGJ1dHRvbjpmb2N1czpub3QoLnRyaWdnZXIpLFxuICAubm8tdG91Y2hldmVudHMgI3BhZ2UgI2Zvb3Rlci13cmFwcGVyIGlucHV0OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXItd3JhcHBlciAubm8tdG91Y2hldmVudHMgI3BhZ2UgaW5wdXQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSxcbiAgLm5vLXRvdWNoZXZlbnRzICNwYWdlICNmb290ZXItd3JhcHBlciBpbnB1dDpmb2N1c1t0eXBlPVwiYnV0dG9uXCJdLCAjZm9vdGVyLXdyYXBwZXIgLm5vLXRvdWNoZXZlbnRzICNwYWdlIGlucHV0OmZvY3VzW3R5cGU9XCJidXR0b25cIl0sIC5uby10b3VjaGV2ZW50cyAjcGFnZSAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSBpbnB1dDpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSAubm8tdG91Y2hldmVudHMgI3BhZ2UgaW5wdXQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZDogIzAzNjVhNDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAuZmllbGQtLWRvd25sb2FkIGEsIC5maWVsZC0tZG93bmxvYWQgI3BhZ2UgLnNpZGViYXItc2Vjb25kIGEsXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCBhLmJ1dHRvbi1saW5rLFxuICAjcGFnZSAuc2lkZWJhci1zZWNvbmQgYS5idG4sICNwYWdlIC5zaWRlYmFyLXNlY29uZCAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayBhLCAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayAjcGFnZSAuc2lkZWJhci1zZWNvbmQgYSwgI3BhZ2UgLnNpZGViYXItc2Vjb25kIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAubW9yZS1saW5rIGEsICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAubW9yZS1saW5rIC5zaWRlYmFyLXNlY29uZCBhLCAjcGFnZSAuc2lkZWJhci1zZWNvbmQgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xIC5jb250ZW50LXdyYXBwZXIgLmJ1dHRvbi12aWV3LWFsbCBhLCAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLmNvbnRlbnQtd3JhcHBlciAuYnV0dG9uLXZpZXctYWxsICNwYWdlIC5zaWRlYmFyLXNlY29uZCBhLCAjcGFnZSAuc2lkZWJhci1zZWNvbmQgI3RpdGxpbmctY29udGFpbmVyIGJ1dHRvbjpub3QoLnRyaWdnZXIpLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgLnNpZGViYXItc2Vjb25kIGJ1dHRvbjpub3QoLnRyaWdnZXIpLFxuICAjcGFnZSAuc2lkZWJhci1zZWNvbmQgI3RpdGxpbmctY29udGFpbmVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICN0aXRsaW5nLWNvbnRhaW5lciAjcGFnZSAuc2lkZWJhci1zZWNvbmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgI3BhZ2UgLnNpZGViYXItc2Vjb25kICN0aXRsaW5nLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgLnNpZGViYXItc2Vjb25kIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAjbWFpbi13cmFwcGVyIGZvcm0gYnV0dG9uOm5vdCgudHJpZ2dlciksICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSAuc2lkZWJhci1zZWNvbmQgYnV0dG9uOm5vdCgudHJpZ2dlciksXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAjbWFpbi13cmFwcGVyIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI21haW4td3JhcHBlciBmb3JtICNwYWdlIC5zaWRlYmFyLXNlY29uZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICAjcGFnZSAuc2lkZWJhci1zZWNvbmQgI21haW4td3JhcHBlciBmb3JtIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSAuc2lkZWJhci1zZWNvbmQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiAgI3BhZ2UgLnNpZGViYXItc2Vjb25kICNmb290ZXItd3JhcHBlciBidXR0b246bm90KC50cmlnZ2VyKSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIC5zaWRlYmFyLXNlY29uZCBidXR0b246bm90KC50cmlnZ2VyKSxcbiAgI3BhZ2UgLnNpZGViYXItc2Vjb25kICNmb290ZXItd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyLXdyYXBwZXIgI3BhZ2UgLnNpZGViYXItc2Vjb25kIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAjZm9vdGVyLXdyYXBwZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIC5zaWRlYmFyLXNlY29uZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjcGFnZSAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gI3BhZ2UgLnNpZGViYXItc2Vjb25kIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG1pbi13aWR0aDogMjEwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAuZmllbGQtLWRvd25sb2FkIGEsIC5maWVsZC0tZG93bmxvYWQgI3BhZ2UgLnNpZGViYXItc2Vjb25kIGEsXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCBhLmJ1dHRvbi1saW5rLFxuICAjcGFnZSAuc2lkZWJhci1zZWNvbmQgYS5idG4sICNwYWdlIC5zaWRlYmFyLXNlY29uZCAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayBhLCAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayAjcGFnZSAuc2lkZWJhci1zZWNvbmQgYSwgI3BhZ2UgLnNpZGViYXItc2Vjb25kIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAubW9yZS1saW5rIGEsICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAubW9yZS1saW5rIC5zaWRlYmFyLXNlY29uZCBhLCAjcGFnZSAuc2lkZWJhci1zZWNvbmQgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xIC5jb250ZW50LXdyYXBwZXIgLmJ1dHRvbi12aWV3LWFsbCBhLCAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLmNvbnRlbnQtd3JhcHBlciAuYnV0dG9uLXZpZXctYWxsICNwYWdlIC5zaWRlYmFyLXNlY29uZCBhLCAjcGFnZSAuc2lkZWJhci1zZWNvbmQgI3RpdGxpbmctY29udGFpbmVyIGJ1dHRvbjpub3QoLnRyaWdnZXIpLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgLnNpZGViYXItc2Vjb25kIGJ1dHRvbjpub3QoLnRyaWdnZXIpLFxuICAjcGFnZSAuc2lkZWJhci1zZWNvbmQgI3RpdGxpbmctY29udGFpbmVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICN0aXRsaW5nLWNvbnRhaW5lciAjcGFnZSAuc2lkZWJhci1zZWNvbmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgI3BhZ2UgLnNpZGViYXItc2Vjb25kICN0aXRsaW5nLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgLnNpZGViYXItc2Vjb25kIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAjbWFpbi13cmFwcGVyIGZvcm0gYnV0dG9uOm5vdCgudHJpZ2dlciksICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSAuc2lkZWJhci1zZWNvbmQgYnV0dG9uOm5vdCgudHJpZ2dlciksXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAjbWFpbi13cmFwcGVyIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI21haW4td3JhcHBlciBmb3JtICNwYWdlIC5zaWRlYmFyLXNlY29uZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICAjcGFnZSAuc2lkZWJhci1zZWNvbmQgI21haW4td3JhcHBlciBmb3JtIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSAuc2lkZWJhci1zZWNvbmQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiAgI3BhZ2UgLnNpZGViYXItc2Vjb25kICNmb290ZXItd3JhcHBlciBidXR0b246bm90KC50cmlnZ2VyKSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIC5zaWRlYmFyLXNlY29uZCBidXR0b246bm90KC50cmlnZ2VyKSxcbiAgI3BhZ2UgLnNpZGViYXItc2Vjb25kICNmb290ZXItd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyLXdyYXBwZXIgI3BhZ2UgLnNpZGViYXItc2Vjb25kIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAjZm9vdGVyLXdyYXBwZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIC5zaWRlYmFyLXNlY29uZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjcGFnZSAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gI3BhZ2UgLnNpZGViYXItc2Vjb25kIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG1pbi13aWR0aDogMjEwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAuZmllbGQtLWRvd25sb2FkIGEsIC5maWVsZC0tZG93bmxvYWQgI3BhZ2UgLnNpZGViYXItc2Vjb25kIGEsXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCBhLmJ1dHRvbi1saW5rLFxuICAjcGFnZSAuc2lkZWJhci1zZWNvbmQgYS5idG4sICNwYWdlIC5zaWRlYmFyLXNlY29uZCAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayBhLCAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayAjcGFnZSAuc2lkZWJhci1zZWNvbmQgYSwgI3BhZ2UgLnNpZGViYXItc2Vjb25kIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAubW9yZS1saW5rIGEsICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAubW9yZS1saW5rIC5zaWRlYmFyLXNlY29uZCBhLCAjcGFnZSAuc2lkZWJhci1zZWNvbmQgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xIC5jb250ZW50LXdyYXBwZXIgLmJ1dHRvbi12aWV3LWFsbCBhLCAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLmNvbnRlbnQtd3JhcHBlciAuYnV0dG9uLXZpZXctYWxsICNwYWdlIC5zaWRlYmFyLXNlY29uZCBhLCAjcGFnZSAuc2lkZWJhci1zZWNvbmQgI3RpdGxpbmctY29udGFpbmVyIGJ1dHRvbjpub3QoLnRyaWdnZXIpLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgLnNpZGViYXItc2Vjb25kIGJ1dHRvbjpub3QoLnRyaWdnZXIpLFxuICAjcGFnZSAuc2lkZWJhci1zZWNvbmQgI3RpdGxpbmctY29udGFpbmVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICN0aXRsaW5nLWNvbnRhaW5lciAjcGFnZSAuc2lkZWJhci1zZWNvbmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgI3BhZ2UgLnNpZGViYXItc2Vjb25kICN0aXRsaW5nLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjdGl0bGluZy1jb250YWluZXIgI3BhZ2UgLnNpZGViYXItc2Vjb25kIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAjbWFpbi13cmFwcGVyIGZvcm0gYnV0dG9uOm5vdCgudHJpZ2dlciksICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSAuc2lkZWJhci1zZWNvbmQgYnV0dG9uOm5vdCgudHJpZ2dlciksXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAjbWFpbi13cmFwcGVyIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI21haW4td3JhcHBlciBmb3JtICNwYWdlIC5zaWRlYmFyLXNlY29uZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICAjcGFnZSAuc2lkZWJhci1zZWNvbmQgI21haW4td3JhcHBlciBmb3JtIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNtYWluLXdyYXBwZXIgZm9ybSAjcGFnZSAuc2lkZWJhci1zZWNvbmQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiAgI3BhZ2UgLnNpZGViYXItc2Vjb25kICNmb290ZXItd3JhcHBlciBidXR0b246bm90KC50cmlnZ2VyKSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIC5zaWRlYmFyLXNlY29uZCBidXR0b246bm90KC50cmlnZ2VyKSxcbiAgI3BhZ2UgLnNpZGViYXItc2Vjb25kICNmb290ZXItd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyLXdyYXBwZXIgI3BhZ2UgLnNpZGViYXItc2Vjb25kIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAjZm9vdGVyLXdyYXBwZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgI2Zvb3Rlci13cmFwcGVyICNwYWdlIC5zaWRlYmFyLXNlY29uZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjcGFnZSAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gI3BhZ2UgLnNpZGViYXItc2Vjb25kIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuXG4jZm9vdGVyLWNvbHVtbnMgLmZpZWxkLS1kb3dubG9hZCBhLCAuZmllbGQtLWRvd25sb2FkICNmb290ZXItY29sdW1ucyBhLFxuI2Zvb3Rlci1jb2x1bW5zIGEuYnV0dG9uLWxpbmssXG4jZm9vdGVyLWNvbHVtbnMgYS5idG4sICNmb290ZXItY29sdW1ucyAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayBhLCAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLm1vcmUtbGluayAjZm9vdGVyLWNvbHVtbnMgYSwgI2Zvb3Rlci1jb2x1bW5zICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAubW9yZS1saW5rIGEsICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAubW9yZS1saW5rICNmb290ZXItY29sdW1ucyBhLCAjZm9vdGVyLWNvbHVtbnMgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xIC5jb250ZW50LXdyYXBwZXIgLmJ1dHRvbi12aWV3LWFsbCBhLCAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLmNvbnRlbnQtd3JhcHBlciAuYnV0dG9uLXZpZXctYWxsICNmb290ZXItY29sdW1ucyBhLCAjZm9vdGVyLWNvbHVtbnMgI3RpdGxpbmctY29udGFpbmVyIGJ1dHRvbjpub3QoLnRyaWdnZXIpLCAjdGl0bGluZy1jb250YWluZXIgI2Zvb3Rlci1jb2x1bW5zIGJ1dHRvbjpub3QoLnRyaWdnZXIpLFxuI2Zvb3Rlci1jb2x1bW5zICN0aXRsaW5nLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjdGl0bGluZy1jb250YWluZXIgI2Zvb3Rlci1jb2x1bW5zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4jZm9vdGVyLWNvbHVtbnMgI3RpdGxpbmctY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICN0aXRsaW5nLWNvbnRhaW5lciAjZm9vdGVyLWNvbHVtbnMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiNmb290ZXItY29sdW1ucyAjbWFpbi13cmFwcGVyIGZvcm0gYnV0dG9uOm5vdCgudHJpZ2dlciksICNtYWluLXdyYXBwZXIgZm9ybSAjZm9vdGVyLWNvbHVtbnMgYnV0dG9uOm5vdCgudHJpZ2dlciksXG4jZm9vdGVyLWNvbHVtbnMgI21haW4td3JhcHBlciBmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNtYWluLXdyYXBwZXIgZm9ybSAjZm9vdGVyLWNvbHVtbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiNmb290ZXItY29sdW1ucyAjbWFpbi13cmFwcGVyIGZvcm0gaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgI21haW4td3JhcHBlciBmb3JtICNmb290ZXItY29sdW1ucyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuI2Zvb3Rlci1jb2x1bW5zICNmb290ZXItd3JhcHBlciBidXR0b246bm90KC50cmlnZ2VyKSwgI2Zvb3Rlci13cmFwcGVyICNmb290ZXItY29sdW1ucyBidXR0b246bm90KC50cmlnZ2VyKSxcbiNmb290ZXItY29sdW1ucyAjZm9vdGVyLXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3Rlci13cmFwcGVyICNmb290ZXItY29sdW1ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuI2Zvb3Rlci1jb2x1bW5zICNmb290ZXItd3JhcHBlciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjZm9vdGVyLXdyYXBwZXIgI2Zvb3Rlci1jb2x1bW5zIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNmb290ZXItY29sdW1ucyAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSAjZm9vdGVyLWNvbHVtbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGxpbmUtaGVpZ2h0OiA2NnB4O1xuICBoZWlnaHQ6IDY2cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICNmb290ZXItY29sdW1ucyAuZmllbGQtLWRvd25sb2FkIGEsIC5maWVsZC0tZG93bmxvYWQgI2Zvb3Rlci1jb2x1bW5zIGEsXG4gICAgI2Zvb3Rlci1jb2x1bW5zIGEuYnV0dG9uLWxpbmssXG4gICAgI2Zvb3Rlci1jb2x1bW5zIGEuYnRuLCAjZm9vdGVyLWNvbHVtbnMgLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAuYmxvY2sgLmJsb2NrLWludGVyaW9yIC5jb250ZW50IC5tb3JlLWxpbmsgYSwgLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAuYmxvY2sgLmJsb2NrLWludGVyaW9yIC5jb250ZW50IC5tb3JlLWxpbmsgI2Zvb3Rlci1jb2x1bW5zIGEsICNmb290ZXItY29sdW1ucyAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgLm1vcmUtbGluayBhLCAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgLm1vcmUtbGluayAjZm9vdGVyLWNvbHVtbnMgYSwgI2Zvb3Rlci1jb2x1bW5zIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAuY29udGVudC13cmFwcGVyIC5idXR0b24tdmlldy1hbGwgYSwgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xIC5jb250ZW50LXdyYXBwZXIgLmJ1dHRvbi12aWV3LWFsbCAjZm9vdGVyLWNvbHVtbnMgYSwgI2Zvb3Rlci1jb2x1bW5zICN0aXRsaW5nLWNvbnRhaW5lciBidXR0b246bm90KC50cmlnZ2VyKSwgI3RpdGxpbmctY29udGFpbmVyICNmb290ZXItY29sdW1ucyBidXR0b246bm90KC50cmlnZ2VyKSxcbiAgICAjZm9vdGVyLWNvbHVtbnMgI3RpdGxpbmctY29udGFpbmVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICN0aXRsaW5nLWNvbnRhaW5lciAjZm9vdGVyLWNvbHVtbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAjZm9vdGVyLWNvbHVtbnMgI3RpdGxpbmctY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICN0aXRsaW5nLWNvbnRhaW5lciAjZm9vdGVyLWNvbHVtbnMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAjZm9vdGVyLWNvbHVtbnMgI21haW4td3JhcHBlciBmb3JtIGJ1dHRvbjpub3QoLnRyaWdnZXIpLCAjbWFpbi13cmFwcGVyIGZvcm0gI2Zvb3Rlci1jb2x1bW5zIGJ1dHRvbjpub3QoLnRyaWdnZXIpLFxuICAgICNmb290ZXItY29sdW1ucyAjbWFpbi13cmFwcGVyIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI21haW4td3JhcHBlciBmb3JtICNmb290ZXItY29sdW1ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICAgICNmb290ZXItY29sdW1ucyAjbWFpbi13cmFwcGVyIGZvcm0gaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgI21haW4td3JhcHBlciBmb3JtICNmb290ZXItY29sdW1ucyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICNmb290ZXItY29sdW1ucyAjZm9vdGVyLXdyYXBwZXIgYnV0dG9uOm5vdCgudHJpZ2dlciksICNmb290ZXItd3JhcHBlciAjZm9vdGVyLWNvbHVtbnMgYnV0dG9uOm5vdCgudHJpZ2dlciksXG4gICAgI2Zvb3Rlci1jb2x1bW5zICNmb290ZXItd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyLXdyYXBwZXIgI2Zvb3Rlci1jb2x1bW5zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgI2Zvb3Rlci1jb2x1bW5zICNmb290ZXItd3JhcHBlciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjZm9vdGVyLXdyYXBwZXIgI2Zvb3Rlci1jb2x1bW5zIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNmb290ZXItY29sdW1ucyAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSAjZm9vdGVyLWNvbHVtbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBsaW5lLWhlaWdodDogNzZweDtcbiAgICAgIGhlaWdodDogNzZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAjZm9vdGVyLWNvbHVtbnMgLmZpZWxkLS1kb3dubG9hZCBhLCAuZmllbGQtLWRvd25sb2FkICNmb290ZXItY29sdW1ucyBhLFxuICAgICNmb290ZXItY29sdW1ucyBhLmJ1dHRvbi1saW5rLFxuICAgICNmb290ZXItY29sdW1ucyBhLmJ0biwgI2Zvb3Rlci1jb2x1bW5zIC5yZWdpb24tc2lkZWJhci1zZWNvbmQgLmJsb2NrIC5ibG9jay1pbnRlcmlvciAuY29udGVudCAubW9yZS1saW5rIGEsIC5yZWdpb24tc2lkZWJhci1zZWNvbmQgLmJsb2NrIC5ibG9jay1pbnRlcmlvciAuY29udGVudCAubW9yZS1saW5rICNmb290ZXItY29sdW1ucyBhLCAjZm9vdGVyLWNvbHVtbnMgI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIC5tb3JlLWxpbmsgYSwgI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIC5tb3JlLWxpbmsgI2Zvb3Rlci1jb2x1bW5zIGEsICNmb290ZXItY29sdW1ucyAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLmNvbnRlbnQtd3JhcHBlciAuYnV0dG9uLXZpZXctYWxsIGEsIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAuY29udGVudC13cmFwcGVyIC5idXR0b24tdmlldy1hbGwgI2Zvb3Rlci1jb2x1bW5zIGEsICNmb290ZXItY29sdW1ucyAjdGl0bGluZy1jb250YWluZXIgYnV0dG9uOm5vdCgudHJpZ2dlciksICN0aXRsaW5nLWNvbnRhaW5lciAjZm9vdGVyLWNvbHVtbnMgYnV0dG9uOm5vdCgudHJpZ2dlciksXG4gICAgI2Zvb3Rlci1jb2x1bW5zICN0aXRsaW5nLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjdGl0bGluZy1jb250YWluZXIgI2Zvb3Rlci1jb2x1bW5zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgI2Zvb3Rlci1jb2x1bW5zICN0aXRsaW5nLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjdGl0bGluZy1jb250YWluZXIgI2Zvb3Rlci1jb2x1bW5zIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4gICAgI2Zvb3Rlci1jb2x1bW5zICNtYWluLXdyYXBwZXIgZm9ybSBidXR0b246bm90KC50cmlnZ2VyKSwgI21haW4td3JhcHBlciBmb3JtICNmb290ZXItY29sdW1ucyBidXR0b246bm90KC50cmlnZ2VyKSxcbiAgICAjZm9vdGVyLWNvbHVtbnMgI21haW4td3JhcHBlciBmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNtYWluLXdyYXBwZXIgZm9ybSAjZm9vdGVyLWNvbHVtbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAjZm9vdGVyLWNvbHVtbnMgI21haW4td3JhcHBlciBmb3JtIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNtYWluLXdyYXBwZXIgZm9ybSAjZm9vdGVyLWNvbHVtbnMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAjZm9vdGVyLWNvbHVtbnMgI2Zvb3Rlci13cmFwcGVyIGJ1dHRvbjpub3QoLnRyaWdnZXIpLCAjZm9vdGVyLXdyYXBwZXIgI2Zvb3Rlci1jb2x1bW5zIGJ1dHRvbjpub3QoLnRyaWdnZXIpLFxuICAgICNmb290ZXItY29sdW1ucyAjZm9vdGVyLXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3Rlci13cmFwcGVyICNmb290ZXItY29sdW1ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICAgICNmb290ZXItY29sdW1ucyAjZm9vdGVyLXdyYXBwZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgI2Zvb3Rlci13cmFwcGVyICNmb290ZXItY29sdW1ucyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjZm9vdGVyLWNvbHVtbnMgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gI2Zvb3Rlci1jb2x1bW5zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAgICNmb290ZXItY29sdW1ucyAuZmllbGQtLWRvd25sb2FkIGEsIC5maWVsZC0tZG93bmxvYWQgI2Zvb3Rlci1jb2x1bW5zIGEsXG4gICAgI2Zvb3Rlci1jb2x1bW5zIGEuYnV0dG9uLWxpbmssXG4gICAgI2Zvb3Rlci1jb2x1bW5zIGEuYnRuLCAjZm9vdGVyLWNvbHVtbnMgLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAuYmxvY2sgLmJsb2NrLWludGVyaW9yIC5jb250ZW50IC5tb3JlLWxpbmsgYSwgLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAuYmxvY2sgLmJsb2NrLWludGVyaW9yIC5jb250ZW50IC5tb3JlLWxpbmsgI2Zvb3Rlci1jb2x1bW5zIGEsICNmb290ZXItY29sdW1ucyAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgLm1vcmUtbGluayBhLCAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgLm1vcmUtbGluayAjZm9vdGVyLWNvbHVtbnMgYSwgI2Zvb3Rlci1jb2x1bW5zIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAuY29udGVudC13cmFwcGVyIC5idXR0b24tdmlldy1hbGwgYSwgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xIC5jb250ZW50LXdyYXBwZXIgLmJ1dHRvbi12aWV3LWFsbCAjZm9vdGVyLWNvbHVtbnMgYSwgI2Zvb3Rlci1jb2x1bW5zICN0aXRsaW5nLWNvbnRhaW5lciBidXR0b246bm90KC50cmlnZ2VyKSwgI3RpdGxpbmctY29udGFpbmVyICNmb290ZXItY29sdW1ucyBidXR0b246bm90KC50cmlnZ2VyKSxcbiAgICAjZm9vdGVyLWNvbHVtbnMgI3RpdGxpbmctY29udGFpbmVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICN0aXRsaW5nLWNvbnRhaW5lciAjZm9vdGVyLWNvbHVtbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAjZm9vdGVyLWNvbHVtbnMgI3RpdGxpbmctY29udGFpbmVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICN0aXRsaW5nLWNvbnRhaW5lciAjZm9vdGVyLWNvbHVtbnMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAjZm9vdGVyLWNvbHVtbnMgI21haW4td3JhcHBlciBmb3JtIGJ1dHRvbjpub3QoLnRyaWdnZXIpLCAjbWFpbi13cmFwcGVyIGZvcm0gI2Zvb3Rlci1jb2x1bW5zIGJ1dHRvbjpub3QoLnRyaWdnZXIpLFxuICAgICNmb290ZXItY29sdW1ucyAjbWFpbi13cmFwcGVyIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI21haW4td3JhcHBlciBmb3JtICNmb290ZXItY29sdW1ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICAgICNmb290ZXItY29sdW1ucyAjbWFpbi13cmFwcGVyIGZvcm0gaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgI21haW4td3JhcHBlciBmb3JtICNmb290ZXItY29sdW1ucyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICNmb290ZXItY29sdW1ucyAjZm9vdGVyLXdyYXBwZXIgYnV0dG9uOm5vdCgudHJpZ2dlciksICNmb290ZXItd3JhcHBlciAjZm9vdGVyLWNvbHVtbnMgYnV0dG9uOm5vdCgudHJpZ2dlciksXG4gICAgI2Zvb3Rlci1jb2x1bW5zICNmb290ZXItd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyLXdyYXBwZXIgI2Zvb3Rlci1jb2x1bW5zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgI2Zvb3Rlci1jb2x1bW5zICNmb290ZXItd3JhcHBlciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAjZm9vdGVyLXdyYXBwZXIgI2Zvb3Rlci1jb2x1bW5zIGlucHV0W3R5cGU9XCJidXR0b25cIl0sICNmb290ZXItY29sdW1ucyAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSAjZm9vdGVyLWNvbHVtbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTsgfSB9XG5cbi8qKlxuICogQWNjZXNzaWJpbGl0eSBmZWF0dXJlcy5cbiAqL1xuLyogZWxlbWVudC1pbnZpc2libGUgYXMgZGVmaW5lZCBieSBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5ICovXG4uZWxlbWVudC1pbnZpc2libGUsXG4uZWxlbWVudC1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5aGlkZGVuLFxuLnVzYS1zci1vbmx5LFxuLmVsZW1lbnQtZm9jdXNhYmxlLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH1cblxuLyogVHVybnMgb2ZmIHRoZSBlbGVtZW50LWludmlzaWJsZSBlZmZlY3QuICovXG4uZWxlbWVudC1mb2N1c2FibGU6YWN0aXZlLCAuZWxlbWVudC1mb2N1c2FibGU6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qXG4gKiBUaGUgc2tpcC1saW5rIGxpbmsgd2lsbCBiZSBjb21wbGV0ZWx5IGhpZGRlbiB1bnRpbCBhIHVzZXIgdGFicyB0byB0aGUgbGluay5cbiAqL1xuI3NraXAtbGluayB7XG4gIG1hcmdpbjogMDsgfVxuICAjc2tpcC1saW5rIGEsXG4gICNza2lwLWxpbmsgYTp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAycHggMCAzcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogUmVtb3ZpbmcgZm9jdXMgZnJvbSBjb250ZW50IHNvIHRoYXQgc2tpcC1saW5rIGZpeCBkb2VzIG5vdCBhbHdheXMgaGlnaGxpZ2h0IG1haW4gY29udGFpbmVyIHdoZW4gYW55IGNvbnRlbnQgaXMgY2xpY2tlZFxuICovXG4jY29udGVudCB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogVkFSSUFCTEVTXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKipcbiAqIEBmaWxlXG4gKiBOb3JtYWxpemUuY3NzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYXMgYW4gYWx0ZXJuYXRpdmUgdG8gQ1NTIHJlc2V0cy5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgYSBzbGlnaHQgZm9yayBvZiB0aGVzZSBvcmlnaW5hbCBzb3VyY2VzOlxuICogLSBub3JtYWxpemUuY3NzIHYyLjEuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZVxuICogLSBub3JtYWxpemUuc2NzcyB2Mi4xLjIgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtd2l0aC1jb21wYXNzXG4gKlxuICogSXQncyBzdWdnZXN0ZWQgdGhhdCB5b3UgcmVhZCB0aGUgbm9ybWFsaXplLnNjc3MgZmlsZSBhbmQgY3VzdG9taXNlIGl0IHRvIG1lZXRcbiAqIHlvdXIgbmVlZHMsIHJhdGhlciB0aGVuIGluY2x1ZGluZyB0aGUgZmlsZSBpbiB5b3VyIHByb2plY3QgYW5kIG92ZXJyaWRpbmcgdGhlXG4gKiBkZWZhdWx0cyBsYXRlciBpbiB5b3VyIENTUy5cbiAqIEBzZWUgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL2Fib3V0LW5vcm1hbGl6ZS1jc3MvXG4gKlxuICogQWxzbzogQHNlZSBodHRwOi8vbWVpZXJ0LmNvbS9lbi9ibG9nLzIwMDgwNDE5L3Jlc2V0LXN0eWxlLXNoZWV0cy1hcmUtYmFkL1xuICogICAgICAgQHNlZSBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL25vX2Nzc19yZXNldC9cbiAqL1xuLyoqXG4gKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gKi9cbi8qIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS4gKi9cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiBCYXNlXG4gKlxuICogSW5zdGVhZCBvZiByZWx5aW5nIG9uIHRoZSBmb250cyB0aGF0IGFyZSBhdmFpbGFibGUgb24gYSB1c2VyJ3MgY29tcHV0ZXIsIHlvdVxuICogY2FuIHVzZSB3ZWIgZm9udHMgd2hpY2gsIGxpa2UgaW1hZ2VzLCBhcmUgcmVzb3VyY2VzIGRvd25sb2FkZWQgdG8gdGhlIHVzZXInc1xuICogYnJvd3Nlci4gQmVjYXVzZSBvZiB0aGUgYmFuZHdpZHRoIGFuZCByZW5kZXJpbmcgcmVzb3VyY2VzIHJlcXVpcmVkLCB3ZWIgZm9udHNcbiAqIHNob3VsZCBiZSB1c2VkIHdpdGggY2FyZS5cbiAqXG4gKiBOdW1lcm91cyByZXNvdXJjZXMgZm9yIHdlYiBmb250cyBjYW4gYmUgZm91bmQgb24gR29vZ2xlLiBIZXJlIGFyZSBhIGZld1xuICogd2Vic2l0ZXMgd2hlcmUgeW91IGNhbiBmaW5kIE9wZW4gU291cmNlIGZvbnRzIHRvIGRvd25sb2FkOlxuICogLSBodHRwOi8vd3d3LmZvbnRzcXVpcnJlbC5jb20vZm9udGZhY2VcbiAqIC0gaHR0cDovL3d3dy50aGVsZWFndWVvZm1vdmVhYmxldHlwZS5jb21cbiAqXG4gKiBJbiBvcmRlciB0byB1c2UgdGhlc2UgZm9udHMsIHlvdSB3aWxsIG5lZWQgdG8gY29udmVydCB0aGVtIGludG8gZm9ybWF0c1xuICogc3VpdGFibGUgZm9yIHdlYiBmb250cy4gV2UgcmVjb21tZW5kIHRoZSBmcmVlLXRvLXVzZSBGb250IFNxdWlycmVsJ3NcbiAqIEZvbnQtRmFjZSBHZW5lcmF0b3I6XG4gKiAgIGh0dHA6Ly93d3cuZm9udHNxdWlycmVsLmNvbS9mb250ZmFjZS9nZW5lcmF0b3JcbiAqXG4gKiBUaGUgZm9sbG93aW5nIGlzIGFuIGV4YW1wbGUgQGZvbnQtZmFjZSBkZWNsYXJhdGlvbi4gVGhpcyBmb250IGNhbiB0aGVuIGJlXG4gKiB1c2VkIGluIGFueSBydWxlc2V0IHVzaW5nIGEgcHJvcGVydHkgbGlrZSB0aGlzOiAgZm9udC1mYW1pbHk6IEV4YW1wbGUsIHNlcmlmO1xuICpcbiAqIFNpbmNlIHdlJ3JlIHVzaW5nIFNhc3MsIHlvdSdsbCBuZWVkIHRvIGRlY2xhcmUgeW91ciBmb250IGZhY2VzIGhlcmUsIHRoZW4geW91XG4gKiBjYW4gYWRkIHRoZW0gdG8gdGhlIGZvbnQgdmFyaWFibGVzIGluIHRoZSBfaW5pdC5zY3NzIHBhcnRpYWwuXG4gKi9cbi8qXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdFeGFtcGxlJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2V4YW1wbGUuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy9leGFtcGxlLmVvdD9pZWZpeCcpIGZvcm1hdCgnZW90JyksXG4gICAgdXJsKCcuLi9mb250cy9leGFtcGxlLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2V4YW1wbGUudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnLi4vZm9udHMvZXhhbXBsZS5zdmcjd2ViZm9udE9rT25kY2lqJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuKi9cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICogMy4gQ29ycmVjdCB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXG4gKiAgICBgZW1gIHVuaXRzLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtUmVndWxhclwiLCBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIC8qIDMgKi8gfVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogTGlua3NcbiAqXG4gKiBUaGUgb3JkZXIgb2YgbGluayBzdGF0ZXMgYXJlIGJhc2VkIG9uIEVyaWMgTWV5ZXIncyBhcnRpY2xlOlxuICogaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rob3VnaHRzLzIwMDcvMDYvMTEvd2hvLW9yZGVyZWQtdGhlLWxpbmstc3RhdGVzXG4gKi9cbmE6Zm9jdXMsICNtYWluLXdyYXBwZXIgYTpmb2N1cyA+IGltZyB7XG4gIG91dGxpbmU6IDJweCBkb3R0ZWQgIzI3NTg5MzsgfVxuXG5hOmZvY3VzID4gaW1nLCAuYXQtc2hhcmUtYnRuLWVsZW1lbnRzIGE6Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4OyB9XG5cbi8qIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLiAqL1xuYTpmb2N1cyB7XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkOyB9XG5cbi8qKlxuICogVHlwb2dyYXBoeVxuICpcbiAqIFRvIGFjaGlldmUgYSBwbGVhc2FudCB2ZXJ0aWNhbCByaHl0aG0sIHdlIHVzZSBDb21wYXNzJyBWZXJ0aWNhbCBSaHl0aG0gbWl4aW5zXG4gKiBzbyB0aGF0IHRoZSBsaW5lIGhlaWdodCBvZiBvdXIgYmFzZSBmb250IGJlY29tZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWxcbiAqIG1lYXN1cmVtZW50LiBXZSB1c2UgbXVsdGlwbGVzIG9mIHRoYXQgdW5pdCB0byBzZXQgdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnNcbiAqIGZvciBvdXIgYmxvY2sgbGV2ZWwgZWxlbWVudHMgYW5kIHRvIHNldCB0aGUgbGluZSBoZWlnaHRzIG9mIGFueSBmb250cy5cbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cDovLzI0d2F5cy5vcmcvMjAwNi9jb21wb3NlLXRvLWEtdmVydGljYWwtcmh5dGhtXG4gKi9cbi8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uICovXG5ibG9ja3F1b3RlIHtcbiAgLyogQWxzbyBpbmRlbnQgdGhlIHF1b3RlIG9uIGJvdGggc2lkZXMuICovXG4gIG1hcmdpbjogMjBweCAzMHB4OyB9XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbi8qXG4kbW9kdWxhci1zY2FsZS1yYXRpbzogJGdvbGRlbjtcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IDFlbTtcblxuaDEge1xuICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMik7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIEBpbmNsdWRlIG1hcmdpbigyMHB4IG51bGwgMjBweCk7XG59XG5oMiB7XG4gIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgxLCAxLjM5ZW0pO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBAaW5jbHVkZSBtYXJnaW4oMjBweCBudWxsIDIwcHgpO1xufVxuaDMge1xuICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMSwgMWVtKTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgQGluY2x1ZGUgbWFyZ2luKDIwcHggbnVsbCAyMHB4KTtcbn1cbmg0IHtcbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDEsIC43ZW0pO1xuICBsaW5lLWhlaWdodDogMS42MjVlbTtcbiAgQGluY2x1ZGUgbWFyZ2luKDIwcHggbnVsbCAyMHB4KTtcbn1cbmg1IHtcbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDEsIC42MjVlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM3NWVtO1xuICBAaW5jbHVkZSBtYXJnaW4oMjBweCBudWxsIDIwcHgpO1xufVxuaDYge1xuICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMSwgLjU1ZW0pO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBAaW5jbHVkZSBtYXJnaW4oMjBweCBudWxsIDIwcHgpO1xufVxuKi9cbi8qIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzksIFNhZmFyaSA1LCBhbmQgQ2hyb21lLiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY2NjtcbiAgcGFkZGluZy1ib3R0b206IC0xcHg7XG4gIG1hcmdpbjogMjBweCAwOyB9XG5cbi8qIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gU2FmYXJpIDUgYW5kIENocm9tZS4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wLFxudHQsXG52YXIge1xuICBmb250LWZhbWlseTogXCJDb3VyaWVyXCIsIGNvdXJpZXIsIFwiQ291cmllciBOZXdcIjtcbiAgZm9udC1zaXplOiAwLjY4MzE2ZW07IH1cblxuLyogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzLiAqL1xucHJlIHtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyB9XG5cbi8qIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLiAqL1xucSB7XG4gIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjsgfVxuXG4vKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyoqXG4gKiBMaXN0c1xuICovXG5kbCxcbm1lbnUsXG5vbCxcbnVsIHtcbiAgLyogQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuICovXG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxub2wgb2wsXG5vbCB1bCxcbnVsIG9sLFxudWwgdWwge1xuICAvKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy4gKi9cbiAgbWFyZ2luOiAwOyB9XG5cbmRkIHtcbiAgbWFyZ2luOiAwIDAgMCAzMHB4O1xuICAvKiBMVFIgKi8gfVxuXG4vKiBBZGRyZXNzIHBhZGRpbmdzIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuICovXG5tZW51LFxub2wsXG51bCB7XG4gIHBhZGRpbmc6IDAgMCAwIDMwcHg7XG4gIC8qIExUUiAqLyB9XG5cbi8qKlxuICogRW1iZWRkZWQgY29udGVudCBhbmQgZmlndXJlc1xuICpcbiAqIEB0b2RvIExvb2sgaW50byBhZGRpbmcgcmVzcG9uc2l2ZSBlbWJlZGRlZCB2aWRlby5cbiAqL1xuaW1nIHtcbiAgLyogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkuICovXG4gIGJvcmRlcjogMDtcbiAgLyogU3VwcHJlc3MgdGhlIHNwYWNlIGJlbmVhdGggdGhlIGJhc2VsaW5lICovXG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIC8qIFJlc3BvbnNpdmUgaW1hZ2VzICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAvKiBDb3JyZWN0IElFIDggbm90IHNjYWxpbmcgaW1hZ2UgaGVpZ2h0IHdoZW4gcmVzaXplZC4gKi9cbiAgd2lkdGg6IGF1dG87IH1cblxuLyogQ29ycmVjdCBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaSA1LiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogRm9ybXNcbiAqL1xuLyogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBmb250IGZhbWlseSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqIDQuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgd2l0aCBJRSA2LzcuXG4gKiA1LiBLZWVwIGZvcm0gZWxlbWVudHMgY29uc3RyYWluZWQgaW4gdGhlaXIgY29udGFpbmVycy5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiA1ICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA4Ky5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS5cbiAqIDMuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA3LlxuICogICAgS25vd24gaXNzdWU6IGV4Y2VzcyBwYWRkaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC8qIDIgKi8gfVxuXG4vKiBEcnVwYWwtc3R5bGUgZm9ybSBsYWJlbHMuICovXG5sYWJlbCwgLmZpZWxkIC5maWVsZC1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAqIFRhYmxlc1xuICovXG50YWJsZSB7XG4gIC8qIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy4gKi9cbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIC8qIFByZXZlbnQgY3JhbXBlZC1sb29raW5nIHRhYmxlcyAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogQWRkIG1hcmdpbnMuICovXG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuaDEge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbmgxIHtcbiAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSBhbmQgKG1heC13aWR0aDogOTIzcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIGZvbnQtc2l6ZTogNC4ycmVtOyB9IH1cblxuI2NvbnRlbnQgaDIsXG4jY29udGVudCBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmJsb2NrIGgyIHtcbiAgZm9udC1zaXplOiAxLjQ0MjMxZW07IH1cblxuYSB7XG4gIGNvbG9yOiAjMDI3YmM1O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDMwMG1zIGVhc2U7IH1cbiAgLm5vLXRvdWNoZXZlbnRzIGE6aG92ZXIsIC5uby10b3VjaGV2ZW50cyBhOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlOyB9XG5cbi5uby10b3VjaGV2ZW50cyBoMiBhOmhvdmVyLCAubm8tdG91Y2hldmVudHMgaDIgYTpmb2N1cyB7XG4gIGNvbG9yOiAjMTEzMjViOyB9XG5cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggZG90dGVkICMyNzU4OTM7IH1cblxuaHIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXRvcDogMDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIGZvbnQtc2l6ZTogMS4wMjk3NGVtOyB9XG5cbi5pbnRybyB7XG4gIGZvbnQtc2l6ZTogMS4wMDY0MmVtO1xuICBsaW5lLWhlaWdodDogMmVtOyB9XG5cbi8qIFNUWUxFU1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtUmVndWxhclwiLCBzYW5zLXNlcmlmO1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMmMzMztcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5MjNweCkge1xuICAgIGJvZHkubm9zY3JvbGwge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGZpeGVkOyB9IH1cblxuaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc3ZnLmV4dCB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi8qIExheW91dCBydWxlcyAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAubm90LWxvZ2dlZC1pbiAjcGFnZSB7XG4gICAgcGFkZGluZy10b3A6IDE0NXB4OyB9IH1cblxuI3BhZ2Utd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTY4MHB4O1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiNwYWdlLFxuI21haW4td3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBtYXJnaW4tdG9wOiA2OHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAjcGFnZSxcbiAgICAjbWFpbi13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4jbWFpbi13cmFwcGVyIHtcbiAgbWluLWhlaWdodDogMzAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICNtYWluLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MjNweCkge1xuICAjbWFpbi13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzZweDsgfSB9XG5cbiNtYWluIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQyMHB4O1xuICAvKnBhZGRpbmctbGVmdDoyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OjIwcHg7Ki9cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTIzcHgpIHtcbiAgICAjbWFpbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLmZyb250ICNtYWluIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgICAuZnJvbnQgI21haW4ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgLnNpZGViYXItc2Vjb25kIC5pbm5lci13cmFwcGVyLnBhZGRlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNy42JTsgfSB9XG5cbiNjb250ZW50LFxuI3NpZGViYXItZmlyc3QsXG4jc2lkZWJhci1zZWNvbmQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7XG4gICNjb250ZW50LFxuICAjc2lkZWJhci1maXJzdCxcbiAgI3NpZGViYXItc2Vjb25kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MjNweCkge1xuICAubm90LWZyb250IC5pbm5lci13cmFwcGVyLnBhZGRlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLm5vdC1mcm9udCAuaW5uZXItd3JhcHBlci5wYWRkZWQgKiB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTAwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjBweCkge1xuICAubm90LWZyb250IC5pbm5lci13cmFwcGVyLnBhZGRlZCAqIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkgYW5kIChtYXgtd2lkdGg6IDkyM3B4KSB7XG4gIC5ub3QtZnJvbnQgLmlubmVyLXdyYXBwZXIucGFkZGVkICoge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9IH1cblxuLyogTEFZT1VUIEZPUiBNT0JJTEUgTUVOVSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDkyM3B4KSB7XG4gICNtYWluLFxuICAjZm9vdGVyLFxuICAjcmVnaW9uLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlOyB9XG4gICAgLm1lbnUtYWN0aXZlICNtYWluLCAubWVudS1hY3RpdmVcbiAgICAjZm9vdGVyLCAubWVudS1hY3RpdmVcbiAgICAjcmVnaW9uLWJvdHRvbSB7XG4gICAgICBsZWZ0OiAtMjU1cHg7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7IH0gfVxuXG4ubm8tc2lkZWJhcnMgI2NvbnRlbnQge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBUaGUgbGF5b3V0IHdoZW4gdGhlcmUgaXMgb25seSBvbmUgc2lkZWJhciwgdGhlIHJpZ2h0IG9uZS5cbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDkyM3B4KSB7XG4gIC5zaWRlYmFycyB7XG4gICAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAuc2lkZWJhci1zZWNvbmQge1xuICAgIGNsZWFyOiBib3RoOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gIC5zaWRlYmFyLXNlY29uZCAjY29udGVudCB7XG4gICAgd2lkdGg6IDY3LjQlOyB9XG4gIC5zaWRlYmFyLXNlY29uZCAuc2lkZWJhci1zZWNvbmQge1xuICAgIHdpZHRoOiAzMi40JTtcbiAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4uc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIHtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmM2YyOyB9XG4gICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgZm9ybSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jazpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBmb3JtIGZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jazpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBpbnB1dC5mb3JtLXN1Ym1pdCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgaW5wdXQuZm9ybS1zdWJtaXQge1xuICAgICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50OyB9IH1cbiAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jazpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSAjZWRpdC1zdWJtaXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIC5ibG9jay1pbnRlcmlvciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgaDIuYmxvY2stdGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jazpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBoMi5ibG9jay10aXRsZTphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgbGksIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIHAge1xuICAgICAgbWFyZ2luOiAxLjJyZW0gMCAwO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jazpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBsaS5maWVsZC10aXRsZSwgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgcC5maWVsZC10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMS4ycmVtIDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIHtcbiAgICAgICAgcGFkZGluZzogNDVweCA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIGxpLCAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jazpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jazpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggNjBweDsgfVxuICAgICAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jazpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBsaSwgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtOyB9IH1cbiAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jazpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBoMiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG4gICAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jazpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBoMjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3BhdHRlcm4tc3RyaXBlNC5wbmcpIDAgMCByZXBlYXQteDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEyMCU7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIxcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgICAgICAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jazpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBoMjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3BhdHRlcm4tc3RyaXBlNC5wbmcpIDAgMCByZXBlYXQteDtcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDsgfSB9XG4gICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgaW5wdXRbdHlwZT1cInRleHRcIl0sIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAgICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgaW5wdXRbdHlwZT1cInRleHRcIl0sIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNjZweDtcbiAgICAgICAgICBoZWlnaHQ6IDY2cHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gICAgICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jazpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA3NnB4O1xuICAgICAgICAgIGhlaWdodDogNzZweDtcbiAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykgLnZpZXctZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLXZpZXdzLWJsb2NrbWNnLWxlYXJuLW1vcmUtYmxvY2stMSAuYmxvY2staW50ZXJpb3Ige1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cbiAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay12aWV3cy1ibG9ja21jZy1sZWFybi1tb3JlLWJsb2NrLTEgLmJsb2NrLWludGVyaW9yIC52aWV3LW1jZy1sZWFybi1tb3JlX19ibG9ja18xIGE6Zm9jdXMge1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDsgfVxuICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC52aWV3LS1sZWFybi1tb3JlIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC52aWV3LS1sZWFybi1tb3JlIHVsIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAudmlldy0tbGVhcm4tbW9yZSAudmlldy1mb290ZXIgYSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2suc2lkZWJhci1zaGFyaW5nOm5vdCguYmxvY2stLW1lbnUtYmxvY2spLCAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay5zaWRlYmFyLXNoYXJpbmc6bm90KC5ibG9jay0tbWVudS1ibG9jaykgLmJsb2NrIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBoMi5ibG9jay10aXRsZSwgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2suc2lkZWJhci1zaGFyaW5nOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIC5ibG9jayBoMi5ibG9jay10aXRsZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDIzcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2suc2lkZWJhci1zaGFyaW5nOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIGgyLmJsb2NrLXRpdGxlOmFmdGVyLCAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay5zaWRlYmFyLXNoYXJpbmc6bm90KC5ibG9jay0tbWVudS1ibG9jaykgLmJsb2NrIGgyLmJsb2NrLXRpdGxlOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBsaSwgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2suc2lkZWJhci1zaGFyaW5nOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIC5ibG9jayBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA0MXB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuICAgICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2suc2lkZWJhci1zaGFyaW5nOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIGxpIGEsIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSAuYmxvY2sgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNDFweDtcbiAgICAgICAgaGVpZ2h0OiA0MXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS0xeC5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTVweCAtNTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMDBweCAyMDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC04NzY1ZW07IH1cbiAgICAgICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2suc2lkZWJhci1zaGFyaW5nOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIGxpIGEuZmFjZWJvb2ssIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSAuYmxvY2sgbGkgYS5mYWNlYm9vayB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC01MHB4OyB9XG4gICAgICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBsaSBhLmxpbmtlZGluLCAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay5zaWRlYmFyLXNoYXJpbmc6bm90KC5ibG9jay0tbWVudS1ibG9jaykgLmJsb2NrIGxpIGEubGlua2VkaW4ge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTFweCAtNTBweDsgfVxuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSAuYWRkdG9hbnlfbGlzdCBpbWcsIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSAuYmxvY2sgLmFkZHRvYW55X2xpc3QgaW1nIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5MjNweCkge1xuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSB7XG4gICAgICBwYWRkaW5nOiAwcHggMCA0MHB4IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay5zaWRlYmFyLXNoYXJpbmc6bm90KC5ibG9jay0tbWVudS1ibG9jaykge1xuICAgICAgcGFkZGluZzogNDBweCAwIDQwcHggMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDAgNDBweCAyMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2suc2lkZWJhci1zaGFyaW5nOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIGgyLmJsb2NrLXRpdGxlIHtcbiAgICAgIGZsb2F0OiBub25lOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xMTBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBhZGRpbmc6IDBweCAwIDAgNDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMTQwcHgpIHtcbiAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay5zaWRlYmFyLXNoYXJpbmc6bm90KC5ibG9jay0tbWVudS1ibG9jaykge1xuICAgICAgdG9wOiAtODdweDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDQwcHg7IH1cbiAgICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSBoMi5ibG9jay10aXRsZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLyogQ29tcG9uZW50cyAqL1xuLmZhbmN5Ym94LWxvY2stdGVzdCB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtbG9jayB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aWR0aDogYXV0bzsgfVxuICAuZmFuY3lib3gtbG9jayBib2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogODAwMDsgfVxuICAuZmFuY3lib3gtbG9jayAuZmFuY3lib3gtb3ZlcmxheSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIC5mYW5jeWJveC1vdmVybGF5LmZhbmN5Ym94LW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLmZhbmN5Ym94LW92ZXJsYXkgLmZhbmN5Ym94LXdyYXAge1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiA4MDIwOyB9XG4gICAgLmZhbmN5Ym94LW92ZXJsYXkgLmZhbmN5Ym94LXdyYXAuZmFuY3lib3gtb3BlbmVkIHtcbiAgICAgIHotaW5kZXg6IDgwMzA7IH1cbiAgICAuZmFuY3lib3gtb3ZlcmxheSAuZmFuY3lib3gtd3JhcC5mYW5jeWJveC10eXBlLWFqYXggLmZhbmN5Ym94LXNraW4ge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5mYW5jeWJveC1vdmVybGF5IC5mYW5jeWJveC13cmFwIC5mYW5jeWJveC1za2luIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmZhbmN5Ym94LW92ZXJsYXkgLmZhbmN5Ym94LXdyYXAgLmZhbmN5Ym94LXNraW4gLmZhbmN5Ym94LW91dGVyIC5mYW5jeWJveC1pbm5lciAuZmFuY3lib3gtaW1hZ2UsXG4gICAgICAuZmFuY3lib3gtb3ZlcmxheSAuZmFuY3lib3gtd3JhcCAuZmFuY3lib3gtc2tpbiAuZmFuY3lib3gtb3V0ZXIgLmZhbmN5Ym94LWlubmVyIC5mYW5jeWJveC1pZnJhbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmZhbmN5Ym94LW92ZXJsYXkgLmZhbmN5Ym94LXdyYXAgLmZhbmN5Ym94LXNraW4gLmZhbmN5Ym94LW91dGVyIC5mYW5jeWJveC1uYXYge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB6LWluZGV4OiA4MDQwOyB9XG4gICAgICAgIC5mYW5jeWJveC1vdmVybGF5IC5mYW5jeWJveC13cmFwIC5mYW5jeWJveC1za2luIC5mYW5jeWJveC1vdXRlciAuZmFuY3lib3gtbmF2OmhvdmVyIHNwYW4ge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAgICAgLmZhbmN5Ym94LW92ZXJsYXkgLmZhbmN5Ym94LXdyYXAgLmZhbmN5Ym94LXNraW4gLmZhbmN5Ym94LW91dGVyIC5mYW5jeWJveC1uYXYuZmFuY3lib3gtbmV4dCB7XG4gICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5mYW5jeWJveC1vdmVybGF5IC5mYW5jeWJveC13cmFwIC5mYW5jeWJveC1za2luIC5mYW5jeWJveC1jbG9zZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA4MDQwOyB9XG5cbi5mYW5jeWJveC10aXRsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA4MDUwOyB9XG5cbi5mYW5jeWJveC1vcGVuZWQgLmZhbmN5Ym94LXRpdGxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG5mb3JtIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBmb3JtID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBmb3JtID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmxhYmVsLCAuZmllbGQgLmZpZWxkLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtUmVndWxhclwiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbnRleHRhcmVhIHtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGZvbnQtZmFtaWx5OiBcIlByb3hpbWFOb3ZhLVJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCwgLmZpZWxkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIC5maWVsZC1sYWJlbCxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsLFxuLmZpZWxkIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIC5maWVsZC1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6YmVmb3JlLCAuZmllbGQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgLmZpZWxkLWxhYmVsOmJlZm9yZSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6YmVmb3JlLFxuICAuZmllbGQgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgLmZpZWxkLWxhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IC0zNnB4O1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjODFiZGUyOyB9XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLCAuZmllbGQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyAuZmllbGQtbGFiZWw6YmVmb3JlLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG4uZmllbGQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAuZmllbGQtbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzAyN2JjNTsgfVxuXG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmJlZm9yZSxcbi5maWVsZCBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyAuZmllbGQtbGFiZWw6YmVmb3JlIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgdGV4dC1pbmRlbnQ6IDAuMDFweDtcbiAgdGV4dC1vdmVyZmxvdzogJyc7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMCAxNHB4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjMDI3YmM1O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtUmVndWxhclwiLCBzYW5zLXNlcmlmO1xuICBtaW4td2lkdGg6IDIwMHB4OyB9XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCBzZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi8uLi9pbWFnZXMvc2VsZWN0LnBuZykgcmlnaHQgdG9wIG5vLXJlcGVhdDtcbiAgY29sb3I6ICMyMzJjMzM7IH1cblxuLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAudmlld3MtZXhwb3NlZC1mb3JtIHNlbGVjdCB7XG4gICAgbWluLWhlaWdodDogNjZweDtcbiAgICBsaW5lLWhlaWdodDogNjZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NXB4OyB9XG4gIC5yZWdpb24tc2lkZWJhci1zZWNvbmQgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZm9ybS1zdWJtaXQge1xuICAgIG1hcmdpbi10b3A6IDEuNmVtOyB9XG5cbi5yZWdpb24tc2lkZWJhci1zZWNvbmQgLm5vLWxhYmVscyBsYWJlbCwgLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAubm8tbGFiZWxzIC5maWVsZCAuZmllbGQtbGFiZWwsIC5maWVsZCAucmVnaW9uLXNpZGViYXItc2Vjb25kIC5uby1sYWJlbHMgLmZpZWxkLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH1cblxuZm9ybSAuY2FwdGNoYSB7XG4gIG1hcmdpbi10b3A6IDJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIGZvcm0gLmNhcHRjaGEgZGl2IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuI21lbnUtYW5kLXNlYXJjaC13cmFwcGVyIHtcbiAgei1pbmRleDogMjAxO1xuICBtYXgtd2lkdGg6IDE0ODBweDsgfVxuXG4jbmF2aWdhdGlvbiB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtaGVpZ2h0OiAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi10b3A6IDQ2cHg7IH1cbiAgLmFjdGl2ZS1tb2JpbGUtbWVudSAjbmF2aWdhdGlvbiB7XG4gICAgbWF4LWhlaWdodDogNDAwMHB4OyB9XG5cbiNtb2JpbGUtbWVudS10cmlnZ2VyIHtcbiAgei1pbmRleDogMjAzO1xuICByaWdodDogMjBweDtcbiAgdG9wOiAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvc3ByaXRlLTJ4LnBuZykgcmlnaHQgLTEwMHB4IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAyMDBweCAyMDBweDtcbiAgd2lkdGg6IDM3cHg7XG4gIGhlaWdodDogMzdweDsgfVxuICAjbW9iaWxlLW1lbnUtdHJpZ2dlciBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzdweDtcbiAgICBoZWlnaHQ6IDM3cHg7IH1cbiAgLmFjdGl2ZS1tb2JpbGUtbWVudSAjbW9iaWxlLW1lbnUtdHJpZ2dlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUtMngucG5nKSByaWdodCAtMTUwcHggbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwcHggMjAwcHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAjbmF2aWdhdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTIwcHg7IH1cbiAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyIHVsLFxuICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgdWwgYSxcbiAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgbGkgYSB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlByb3hpbWFOb3ZhLVJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gICAgICAubm8tdG91Y2hldmVudHMgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyIHVsIGE6aG92ZXIsIC5uby10b3VjaGV2ZW50cyAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgdWwgYTpmb2N1cywgLm5vLXRvdWNoZXZlbnRzXG4gICAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgbGkgYTpob3ZlciwgLm5vLXRvdWNoZXZlbnRzXG4gICAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgbGkgYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICNtYWluLW1lbnUgLm1lbnUtYmxvY2std3JhcHBlciA+IHVsID4gbGkge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTEzMjViO1xuICAgIGNvbG9yOiAjMTRhNWZlO1xuICAgIHBhZGRpbmc6IDEycHggNDBweCA5cHggMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI3NTg5MztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyIGxpIC5tZW51LWxldmVsLXRvZ2dsZSBhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDMwO1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgcmlnaHQ6IDIwcHg7IH1cbiAgICAgICNtYWluLW1lbnUgLm1lbnUtYmxvY2std3JhcHBlciBsaSAubWVudS1sZXZlbC10b2dnbGUgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgIzE0YTVmZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMHB4IHNvbGlkICMxNGE1ZmU7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAzMDBtcyBlYXNlOyB9XG4gICAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyIGxpLm9wZW4gdWwge1xuICAgICAgbWF4LWhlaWdodDogNTAwMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgbGkuY2xvc2VkIHVsIHtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyIGxpLmNsb3NlZCAubWVudS1sZXZlbC10b2dnbGUgYSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAzMDtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIHJpZ2h0OiAyMHB4OyB9XG4gICAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgbGkuY2xvc2VkIC5tZW51LWxldmVsLXRvZ2dsZSBhOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkICMxNGE1ZmU7XG4gICAgICAgIGJvcmRlci10b3A6IDEycHggc29saWQgIzE0YTVmZTsgfVxuICAgICNtYWluLW1lbnUgLm1lbnUtYmxvY2std3JhcHBlciBsaSBsaSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgICNtYWluLW1lbnUgLm1lbnUtYmxvY2std3JhcHBlciBsaSBsaSBsaSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgbGkgbGkgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICNtb2JpbGUtbWVudS10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNuYXZpZ2F0aW9uIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgICBtYXgtaGVpZ2h0OiA0MDAwcHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgI21haW4tbWVudSB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjAyOyB9XG4gICAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyID4gdWwubWVudSB7XG4gICAgICBmb250LXNpemU6IDAuOTI5ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgLyogRklSU1QgTEVWRUwgKi8gfVxuICAgICAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyID4gdWwubWVudSAubWVudS1sZXZlbC10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgPiB1bC5tZW51IGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwIDFweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgPiB1bC5tZW51ID4gbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgLyogTFRSICovXG4gICAgICAgIC8qIERST1AgRE9XTiAqLyB9XG4gICAgICAgICNtYWluLW1lbnUgLm1lbnUtYmxvY2std3JhcHBlciA+IHVsLm1lbnUgPiBsaS5pcy1hY3RpdmUtdHJhaWw6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzExMzI1YjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTI3cHg7IH1cbiAgICAgICAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyID4gdWwubWVudSA+IGxpIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogOXB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDlweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgIGNvbG9yOiAjMDM3Y2M0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNXJlbTsgfVxuICAgICAgICAgIC5uby10b3VjaGV2ZW50cyAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgPiB1bC5tZW51ID4gbGkgYTpob3ZlciwgLm5vLXRvdWNoZXZlbnRzICNtYWluLW1lbnUgLm1lbnUtYmxvY2std3JhcHBlciA+IHVsLm1lbnUgPiBsaSBhOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMTEzMjViOyB9XG4gICAgICAgICNtYWluLW1lbnUgLm1lbnUtYmxvY2std3JhcHBlciA+IHVsLm1lbnUgPiBsaS5ob3ZlciA+IHVsIHtcbiAgICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMjBweCAwOyB9XG4gICAgICAgICNtYWluLW1lbnUgLm1lbnUtYmxvY2std3JhcHBlciA+IHVsLm1lbnUgPiBsaSA+IHVsIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2YxZjJmMiB1cmwoLi4vLi4vaW1hZ2VzL3BhdHRlcm4tc3RyaXBlNS5wbmcpIGxlZnQgYm90dG9tIHJlcGVhdC14O1xuICAgICAgICAgIHdpZHRoOiA0NTBweDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgICAgICAgICAvKiBTRUNPTkQgTEVWRUwgKi9cbiAgICAgICAgICAvKiBUSElSRCBMRVZFTCAqLyB9XG4gICAgICAgICAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYyZjI7XG4gICAgICAgICAgICBjb2xvcjogIzIzMmMzMztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAgICAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGU1LnBuZykgMCAwIHJlcGVhdC14O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTIwJTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjFweDsgfVxuICAgICAgICAgICNtYWluLW1lbnUgLm1lbnUtYmxvY2std3JhcHBlciA+IHVsLm1lbnUgPiBsaSA+IHVsIHVsIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwMDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgICAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgPiB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAgICAgICAgICAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyID4gdWwubWVudSA+IGxpID4gdWwgdWwgbGkgYSB7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmMjtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgPiB1bC5tZW51ID4gbGkuaG92ZXIgPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzExMzI1YjsgfVxuICAgICAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgPiB1bC5tZW51ID4gbGkuaG92ZXIgPiB1bCB7XG4gICAgICAgICAgbWF4LWhlaWdodDogNDAwMHB4O1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zO1xuICAgICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICNtYWluLW1lbnUgLm1lbnUtbWxpZC02MDMuaG92ZXIgPiB1bCB7XG4gICAgcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTE0MHB4KSB7XG4gICNtYWluLW1lbnUgLm1lbnUtYmxvY2std3JhcHBlciA+IHVsLm1lbnUgPiBsaSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgcGFkZGluZy1yaWdodDogMTJweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyID4gdWwubWVudSA+IGxpIGEge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgPiB1bC5tZW51IHtcbiAgICBwYWRkaW5nOiAwIDcwcHggMCAwO1xuICAgIC8qIEZJUlNUIExFVkVMICovIH1cbiAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgPiB1bC5tZW51ID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAvKiBMVFIgKi8gfVxuICAgICAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyID4gdWwubWVudSA+IGxpLmlzLWFjdGl2ZS10cmFpbDpiZWZvcmUge1xuICAgICAgICB3aWR0aDogNzRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zN3B4OyB9XG4gICAgICAjbWFpbi1tZW51IC5tZW51LWJsb2NrLXdyYXBwZXIgPiB1bC5tZW51ID4gbGkgYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTsgfSB9XG5cbi8qIFNFQ09OREFSWSBNRU5VICovXG5AbWVkaWEgKG1heC13aWR0aDogOTIzcHgpIHtcbiAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2stLW1lbnUtYmxvY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH0gfVxuXG4uc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay0tbWVudS1ibG9jayBoMi5ibG9jay10aXRsZSB7XG4gIGJhY2tncm91bmQ6ICMwNzFjMzY7XG4gIGNvbG9yOiAjMTRhNWZlO1xuICBwYWRkaW5nOiAyMHB4IDQwcHggMTVweCAyMHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTRhNWZlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2stLW1lbnUtYmxvY2sgaDIuYmxvY2stdGl0bGUge1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4IDI1cHg7IH0gfVxuICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay0tbWVudS1ibG9jayBoMi5ibG9jay10aXRsZSBhIHtcbiAgICBjb2xvcjogIzE0YTVmZTtcbiAgICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAubm8tdG91Y2hldmVudHMgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2stLW1lbnUtYmxvY2sgaDIuYmxvY2stdGl0bGUgYTpob3ZlciwgLm5vLXRvdWNoZXZlbnRzIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLS1tZW51LWJsb2NrIGgyLmJsb2NrLXRpdGxlIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2stLW1lbnUtYmxvY2sgdWwsXG4uc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay0tbWVudS1ibG9jayBsaSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay0tbWVudS1ibG9jayB1bCBhLFxuICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay0tbWVudS1ibG9jayBsaSBhIHtcbiAgICBjb2xvcjogIzE0YTVmZTtcbiAgICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAubm8tdG91Y2hldmVudHMgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2stLW1lbnUtYmxvY2sgdWwgYTpob3ZlciwgLm5vLXRvdWNoZXZlbnRzIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLS1tZW51LWJsb2NrIHVsIGE6Zm9jdXMsIC5uby10b3VjaGV2ZW50c1xuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLS1tZW51LWJsb2NrIGxpIGE6aG92ZXIsIC5uby10b3VjaGV2ZW50c1xuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLS1tZW51LWJsb2NrIGxpIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2stLW1lbnUtYmxvY2sgdWwgPiBsaSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjsgfVxuXG4uc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay0tbWVudS1ibG9jayB1bCB1bCA+IGxpIGEge1xuICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2stLW1lbnUtYmxvY2sgdWwgdWwgPiBsaSBhLmlzLWFjdGl2ZS10cmFpbCwgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2stLW1lbnUtYmxvY2sgdWwgdWwgPiBsaSBhLmlzLWFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG4uc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay0tbWVudS1ibG9jayBsaSB7XG4gIGJhY2tncm91bmQ6ICMxMTMyNWI7XG4gIGNvbG9yOiAjMTRhNWZlO1xuICBwYWRkaW5nOiAyMHB4IDQwcHggMjBweCAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzE0YTVmZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay0tbWVudS1ibG9jayBsaSB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7IH0gfVxuICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay0tbWVudS1ibG9jayBsaSAubWVudS1sZXZlbC10b2dnbGUgYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDMwO1xuICAgIHRvcDogMzJweDtcbiAgICByaWdodDogMjBweDsgfVxuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLS1tZW51LWJsb2NrIGxpIC5tZW51LWxldmVsLXRvZ2dsZSBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkICMxNGE1ZmU7XG4gICAgICBib3JkZXItdG9wOiAwcHggc29saWQgIzE0YTVmZTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAzMDBtcyBlYXNlOyB9XG4gIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLS1tZW51LWJsb2NrIGxpLm9wZW4gdWwge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDsgfVxuICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay0tbWVudS1ibG9jayBsaS5jbG9zZWQgdWwge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay0tbWVudS1ibG9jayBsaS5jbG9zZWQgLm1lbnUtbGV2ZWwtdG9nZ2xlIGEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAzMDtcbiAgICB0b3A6IDMycHg7XG4gICAgcmlnaHQ6IDIwcHg7IH1cbiAgICAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay0tbWVudS1ibG9jayBsaS5jbG9zZWQgLm1lbnUtbGV2ZWwtdG9nZ2xlIGE6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkICMxNGE1ZmU7XG4gICAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkICMxNGE1ZmU7IH1cbiAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2stLW1lbnUtYmxvY2sgbGkgbGkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZy52aWV3cy1lbGVtZW50LWNvbnRhaW5lciAuYmxvY2staW50ZXJpb3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZy52aWV3cy1lbGVtZW50LWNvbnRhaW5lciAuYmxvY2staW50ZXJpb3IgaDIge1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZy52aWV3cy1lbGVtZW50LWNvbnRhaW5lciAuYmxvY2staW50ZXJpb3IgLmF0LXNoYXJlLWJ0biB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzN2NjNCAhaW1wb3J0YW50OyB9XG4gICAgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2suc2lkZWJhci1zaGFyaW5nLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIC5ibG9jay1pbnRlcmlvciAuYXQtc2hhcmUtYnRuOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZy52aWV3cy1lbGVtZW50LWNvbnRhaW5lciAuYmxvY2staW50ZXJpb3IgLmF0LXNoYXJlLWJ0biAuYXQtaWNvbi13cmFwcGVyLFxuICAgIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZy52aWV3cy1lbGVtZW50LWNvbnRhaW5lciAuYmxvY2staW50ZXJpb3IgLmF0LXNoYXJlLWJ0biBzdmcge1xuICAgICAgd2lkdGg6IDI4cHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMjhweCAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICogQmxvY2tzLlxuICovXG4vKiBCbG9jayB3cmFwcGVyLiAqL1xuLmJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNmb290ZXItYm90dG9tIC5ibG9jayxcbiAgI2hlYWRlciAuYmxvY2sge1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLmJsb2NrLmZ1bGwtd2lkdGgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweDsgfSB9XG5cbi5zaWRlYmFyLXNlY29uZCAuYWRkdGhpc19pbmxpbmVfc2hhcmVfdG9vbGJveCB7XG4gIGNsZWFyOiBub25lOyB9XG5cbiNibG9jay1zeXN0ZW0tYnJlYWRjcnVtYi1ibG9jayBhOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogI2ZmZjsgfVxuXG4ubm8tdG91Y2hldmVudHMgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2stLW1lbnUtYmxvY2sgaDIuYmxvY2stdGl0bGUgYTpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICNmZmY7IH1cblxuI3NpZGViYXItbWVudSAuYmxvY2stLW1lbnUtYmxvY2sgYTpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICNmZmY7IH1cblxuLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIHtcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjNmMjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIHtcbiAgICAgIHBhZGRpbmc6IDYwcHg7IH0gfVxuICAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgaDIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICAgIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgaDIge1xuICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cbiAgICAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgaDI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3BhdHRlcm4tc3RyaXBlNC5wbmcpIDAgMCByZXBlYXQteDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMjAlO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIxcHg7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgICAgICAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgaDI6YWZ0ZXIge1xuICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3BhdHRlcm4tc3RyaXBlNC5wbmcpIDAgMCByZXBlYXQteDtcbiAgICAgICAgICB3aWR0aDogMTIwcHg7IH0gfVxuICAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgcCB7XG4gICAgbWFyZ2luOiAxLjJyZW0gMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgLnZpZXctZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAgIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAudmlldy1mb290ZXIgcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAuYmxvY2sgLmJsb2NrLWludGVyaW9yIC5jb250ZW50IC5tb3JlLWxpbmsge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCAuYmxvY2sgLmJsb2NrLWludGVyaW9yIC5jb250ZW50IC5tb3JlLWxpbmsgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5yZWdpb24tc2lkZWJhci1zZWNvbmQgLmJsb2NrIC5ibG9jay1pbnRlcmlvciAuY29udGVudCAubW9yZS1saW5rIGEge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gICNwYWdlIC5ibG9ja3Njb2x1bW5zIHtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgfVxuICAgICNwYWdlIC5ibG9ja3Njb2x1bW5zOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jayB7XG4gICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lOyB9IH1cblxuI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIHtcbiAgcGFkZGluZzogMzBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgICAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3Ige1xuICAgICAgcGFkZGluZy1ib3R0b206IDE3MHB4OyB9XG4gICAgICAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgLm1vcmUtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHggMHB4OyB9XG4gICAgICAgICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAubW9yZS1saW5rIGEge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1pbi13aWR0aDogMDsgfVxuICAgICAgI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIC52aWV3LXNjYW0tYWxlcnRzIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDQwcHggMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3Ige1xuICAgICAgcGFkZGluZzogMzBweCAzMHB4IDE3MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDExNDBweCkge1xuICAgICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDYwcHggMTcwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTEzOXB4KSB7XG4gICAgI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIC5tb3JlLWxpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIC5tb3JlLWxpbmsgYSB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgLnZpZXctLXNjYW0tYWxlcnRzIC52aWV3cy1yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgICAgI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIC52aWV3LS1zY2FtLWFsZXJ0cyAudmlld3Mtcm93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAuY29udGVudCAqIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgICAgI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIC5jb250ZW50ICoge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtOyB9IH1cbiAgI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciB1bCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICNwYWdlIC5ibG9ja3Njb2x1bW5zIC5ibG9jay5ncmF5LWJsb2NrIC5ibG9jay1pbnRlcmlvciAubW9yZS1saW5rICoge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIC5maWVsZC0tbmFtZS1maWVsZC1kYXRlLXRpbWUgKixcbiAgI3BhZ2UgLmJsb2Nrc2NvbHVtbnMgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIC5jb250ZW50IC5maWVsZC0tcG9zdC1kYXRlICoge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTNweDsgfVxuICAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgLmZpZWxkLS1uYW1lLWZpZWxkLWRhdGUtdGltZSAqLFxuICAjcGFnZSAuYmxvY2tzY29sdW1ucyAuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3IgLmNvbnRlbnQgLmZpZWxkLS1wb3N0LWRhdGUgfiBkaXYgKiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAjcGFnZSAuYmxvY2tzY29sdW1ucyAuZ3JheS1ibG9jay5yZXBvc2l0aW9uLW1vcmUtbGluayAuYmxvY2staW50ZXJpb3IgLm1vcmUtbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDUwcHg7IH0gfVxuXG4jY29udGVudCAuYmxvY2sudG9vbGtpdDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI2NvbnRlbnQgLmJsb2NrLnRvb2xraXQgLmZpZWxkLS1uYW1lLWZpZWxkLWhlYWRpbmcgLmZpZWxkX19pdGVtLFxuI2NvbnRlbnQgLmJsb2NrLnRvb2xraXQgaDIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBjb2xvcjogIzExMzI1YjtcbiAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MDBweCkge1xuICAgICNjb250ZW50IC5ibG9jay50b29sa2l0IC5maWVsZC0tbmFtZS1maWVsZC1oZWFkaW5nIC5maWVsZF9faXRlbSxcbiAgICAjY29udGVudCAuYmxvY2sudG9vbGtpdCBoMiB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgICNjb250ZW50IC5ibG9jay50b29sa2l0IC5maWVsZC0tbmFtZS1maWVsZC1oZWFkaW5nIC5maWVsZF9faXRlbSxcbiAgICAjY29udGVudCAuYmxvY2sudG9vbGtpdCBoMiB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBmb250LXNpemU6IDIuNnJlbTsgfSB9XG4gICNjb250ZW50IC5ibG9jay50b29sa2l0IC5maWVsZC0tbmFtZS1maWVsZC1oZWFkaW5nIC5maWVsZF9faXRlbTphZnRlcixcbiAgI2NvbnRlbnQgLmJsb2NrLnRvb2xraXQgaDI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGUzLnBuZykgMCAwIHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMjAlO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBtYXJnaW4tbGVmdDogMjFweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAgICNjb250ZW50IC5ibG9jay50b29sa2l0IC5maWVsZC0tbmFtZS1maWVsZC1oZWFkaW5nIC5maWVsZF9faXRlbTphZnRlcixcbiAgICAgICNjb250ZW50IC5ibG9jay50b29sa2l0IGgyOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3BhdHRlcm4tc3RyaXBlMy5wbmcpIDAgMCByZXBlYXQteDtcbiAgICAgICAgd2lkdGg6IDI1OHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMzFweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gICAgICAjY29udGVudCAuYmxvY2sudG9vbGtpdCAuZmllbGQtLW5hbWUtZmllbGQtaGVhZGluZyAuZmllbGRfX2l0ZW06YWZ0ZXIsXG4gICAgICAjY29udGVudCAuYmxvY2sudG9vbGtpdCBoMjphZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4jY29udGVudCAuYmxvY2sudG9vbGtpdCAuZmllbGQtLW5hbWUtZmllbGQtaGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgI2NvbnRlbnQgLmJsb2NrLnRvb2xraXQgLmZpZWxkLS1uYW1lLWZpZWxkLWhlYWRpbmcgLmZpZWxkX19pdGVtIHtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4jY29udGVudCAuYmxvY2sudG9vbGtpdCAuZmllbGQtdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgZm9udC1zaXplOiAyMXB4O1xuICBmb250LXNpemU6IDIuMXJlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgY29sb3I6ICMxMTMyNWI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgI2NvbnRlbnQgLmJsb2NrLnRvb2xraXQgLmZpZWxkLXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgICBmb250LXNpemU6IDI5cHg7XG4gICAgICBmb250LXNpemU6IDIuOXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgI2NvbnRlbnQgLmJsb2NrLnRvb2xraXQgLmZpZWxkLXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICAgIGZvbnQtc2l6ZTogMy44cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH0gfVxuXG4jY29udGVudCAuYmxvY2sudG9vbGtpdCAuZmllbGQtbGluayB7XG4gIG1hcmdpbi10b3A6IDI2cHg7XG4gIGNsZWFyOiBib3RoOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkge1xuICAjY29udGVudCAuYmxvY2sudG9vbGtpdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNThweDsgfVxuICAgICNjb250ZW50IC5ibG9jay50b29sa2l0IC5maWVsZC1saW5rIGEge1xuICAgICAgbWluLXdpZHRoOiAzMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICAjY29udGVudCAuYmxvY2sudG9vbGtpdCB7XG4gICAgbWF4LXdpZHRoOiA1NzBweDsgfVxuICAgIC5mcm9udCAjY29udGVudCAuYmxvY2sudG9vbGtpdCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICNjb250ZW50IC5ibG9jay50b29sa2l0IC5maWVsZC10aXRsZSB7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4OyB9XG4gICAgI2NvbnRlbnQgLmJsb2NrLnRvb2xraXQgLmZpZWxkLWxpbmsge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgI2NvbnRlbnQgLmJsb2NrLnRvb2xraXQge1xuICAgIG1heC13aWR0aDogNjgwcHg7IH1cbiAgICAjY29udGVudCAuYmxvY2sudG9vbGtpdCAuZmllbGQtbGluayBhIHtcbiAgICAgIG1pbi13aWR0aDogMjgwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICNjb250ZW50IC5ibG9jay50b29sa2l0IHtcbiAgICBtYXgtd2lkdGg6IDg0MHB4OyB9XG4gICAgI2NvbnRlbnQgLmJsb2NrLnRvb2xraXQgLmZpZWxkLWxpbmsge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICNjb250ZW50IC5ibG9jay50b29sa2l0IC5maWVsZC1saW5rIGEge1xuICAgICAgICBtaW4td2lkdGg6IDMxMHB4OyB9XG4gICAgI2NvbnRlbnQgLmJsb2NrLnRvb2xraXQgLmZpZWxkLXRpdGxlIHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuXG4ubm90LWZyb250ICNjb250ZW50IC5ibG9jay50b29sa2l0IHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4jY29udGVudCAjY29tbWVudHMge1xuICBwYWRkaW5nOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmM2YyOyB9XG4gICNjb250ZW50ICNjb21tZW50czo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI2NvbnRlbnQgI2NvbW1lbnRzIC5mb3JtLWFjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICNjb250ZW50ICNjb21tZW50cyB7XG4gICAgICBwYWRkaW5nOiA2MHB4OyB9IH1cbiAgI2NvbnRlbnQgI2NvbW1lbnRzIGlucHV0W3R5cGU9J3RleHQnXSwgI2NvbnRlbnQgI2NvbW1lbnRzIHRleHRhcmVhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggMzBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgI2NvbnRlbnQgI2NvbW1lbnRzIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmxvZ2dlZC1pbiAjY29udGVudCAjY29tbWVudHMgI2VkaXQtYXV0aG9yLS0yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpOyB9XG4gICNjb250ZW50ICNjb21tZW50cyBoMiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1MDBweCkge1xuICAgICAgI2NvbnRlbnQgI2NvbW1lbnRzIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgICNjb250ZW50ICNjb21tZW50cyBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuICAgICNjb250ZW50ICNjb21tZW50cyBoMjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMTFweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGU0LnBuZykgMCAwIHJlcGVhdC14O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEyMCU7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMjFweDtcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gICAgICAgICNjb250ZW50ICNjb21tZW50cyBoMjphZnRlciB7XG4gICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGU0LnBuZykgMCAwIHJlcGVhdC14O1xuICAgICAgICAgIHdpZHRoOiAxMjBweDsgfSB9XG4gICNjb250ZW50ICNjb21tZW50cyBwIHtcbiAgICBtYXJnaW46IDEuMnJlbSAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICNjb250ZW50ICNjb21tZW50cyAudmlldy1mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gICAgI2NvbnRlbnQgI2NvbW1lbnRzIC52aWV3LWZvb3RlciBwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjY29udGVudCAjY29tbWVudHMgI2VkaXQtYWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjY29udGVudCAjY29tbWVudHMgZm9ybSArIGRpdiwgI2NvbnRlbnQgI2NvbW1lbnRzIC5wcml2YWN5LWNvbW1lbnRzIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNjb250ZW50ICNjb21tZW50cyAucHJpdmFjeS1jb21tZW50cyBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjY29udGVudCAjY29tbWVudHMgLmZvcm0taXRlbS1uYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICNjb250ZW50ICNjb21tZW50cyAuY29tbWVudCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYmRjZGI7XG4gICAgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC02MHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTYwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAjY29udGVudCAjY29tbWVudHMgLmNvbW1lbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDsgfSB9XG4gICAgI2NvbnRlbnQgI2NvbW1lbnRzIC5jb21tZW50IC5maWVsZC0tY29tbWVudC1ib2R5IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgICAjY29udGVudCAjY29tbWVudHMgLmNvbW1lbnQgLnN1Ym1pdHRlZC1ieSwgI2NvbnRlbnQgI2NvbW1lbnRzIC5jb21tZW50IC5zdWJtaXR0ZWQtYnkgKiB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgICAgI2NvbnRlbnQgI2NvbW1lbnRzIC5jb21tZW50IC5zdWJtaXR0ZWQtYnkgc3Ryb25nLCAjY29udGVudCAjY29tbWVudHMgLmNvbW1lbnQgLnN1Ym1pdHRlZC1ieSBzdHJvbmcgKiwgI2NvbnRlbnQgI2NvbW1lbnRzIC5jb21tZW50IC5zdWJtaXR0ZWQtYnkgKiBzdHJvbmcsICNjb250ZW50ICNjb21tZW50cyAuY29tbWVudCAuc3VibWl0dGVkLWJ5ICogc3Ryb25nICoge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkyM3B4KSB7XG4gICAgICAjY29udGVudCAjY29tbWVudHMgLmNvbW1lbnQgLnN1Ym1pdHRlZC1ieSBzdHJvbmcsICNjb250ZW50ICNjb21tZW50cyAuY29tbWVudCAuc3VibWl0dGVkLWJ5ICogc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgI2NvbnRlbnQgI2NvbW1lbnRzICNlZGl0LWFjdGlvbnMge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAjY29udGVudCAjY29tbWVudHMgZm9ybSArIGRpdiwgI2NvbnRlbnQgI2NvbW1lbnRzIC5wcml2YWN5LWNvbW1lbnRzIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgI2NvbnRlbnQgI2NvbW1lbnRzIC5jb21tZW50IC5zdWJtaXR0ZWQtYnksICNjb250ZW50ICNjb21tZW50cyAuY29tbWVudCAuc3VibWl0dGVkLWJ5ICoge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgICNjb250ZW50ICNjb21tZW50cyAuY29tbWVudCAuc3VibWl0dGVkLWJ5IHN0cm9uZywgI2NvbnRlbnQgI2NvbW1lbnRzIC5jb21tZW50IC5zdWJtaXR0ZWQtYnkgKiBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9IH1cblxuLyoqXG4gKiBCcmVhZGNydW1iIG5hdmlnYXRpb24uXG4gKi9cbi5icmVhZGNydW1iICoge1xuICBjb2xvcjogIzAyN2JjNTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAuYnJlYWRjcnVtYiAqIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgIC5icmVhZGNydW1iICoge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07IH0gfVxuXG4uYnJlYWRjcnVtYiBvbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uYnJlYWRjcnVtYiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDAgMTVweCAwIDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmJyZWFkY3J1bWIgYTphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDAwQkInO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLm5vLXRvdWNoZXZlbnRzIC5icmVhZGNydW1iIGE6aG92ZXIsIC5uby10b3VjaGV2ZW50cyAuYnJlYWRjcnVtYiBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKipcbiAqIElubGluZSBzdHlsZXMuXG4gKi9cbi8qIExpc3Qgb2YgbGlua3MgZ2VuZXJhdGVkIGJ5IHRoZW1lX2xpbmtzKCkuICovXG4uaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5pbmxpbmUgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMCAxZW0gMCAwO1xuICAgIC8qIExUUiAqLyB9XG5cbi8qIFRoZSBpbmxpbmUgZmllbGQgbGFiZWwgdXNlZCBieSB0aGUgRmVuY2VzIG1vZHVsZS4gKi9cbnNwYW4uZmllbGQtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFlbSAwIDA7XG4gIC8qIExUUiAqLyB9XG5cbi8qKlxuICogUGFnZXJcbiAqL1xuLyogQSBsaXN0IG9mIHBhZ2UgbnVtYmVycyB3aGVuIG1vcmUgdGhhbiAxIHBhZ2Ugb2YgY29udGVudCBpcyBhdmFpbGFibGUuICovXG4jY29udGVudCAucGFnZXIge1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXNpemU6IDIuNnJlbTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgICAjY29udGVudCAucGFnZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVlbTsgfSB9XG5cbiNjb250ZW50IC5wYWdlciBsaTpiZWZvcmUsXG4jY29udGVudCAucGFnZXIgLnBhZ2VyLWVsbGlwc2lzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFnZXItaXRlbSxcbi5wYWdlci1maXJzdCxcbi5wYWdlci1wcmV2aW91cyxcbi5wYWdlci1uZXh0LFxuLnBhZ2VyLWxhc3QsXG4ucGFnZXItZWxsaXBzaXMsIC5wYWdlci1jdXJyZW50IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAwIDAuNWVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLnBhZ2VyLWl0ZW0sXG4ucGFnZXItZmlyc3QsXG4ucGFnZXItcHJldmlvdXMsXG4ucGFnZXItbmV4dCxcbi5wYWdlci1sYXN0LFxuLnBhZ2VyLWVsbGlwc2lzIHtcbiAgLyogQSBjb25jYXRlbmF0aW9uIG9mIHNldmVyYWwgbGlzdCBpdGVtcyB1c2luZyBhbiBlbGxpcHNpcy4gKi8gfVxuXG4vKiBUaGUgY3VycmVudCBwYWdlJ3MgbGlzdCBpdGVtLiAqL1xuLnBhZ2VyLWN1cnJlbnQge1xuICBjb2xvcjogIzAyN2JjNTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnBhZ2VyLW5leHQgYTphZnRlcixcbi5wYWdlci1sYXN0IGE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJvcmRlci1sZWZ0OiAxMXB4IHNvbGlkICMwMjdiYzU7XG4gIHRyYW5zaXRpb246IHJpZ2h0IDMwMG1zIGVhc2U7IH1cblxuLnBhZ2VyLWxhc3QgYTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJvcmRlci1sZWZ0OiAxMXB4IHNvbGlkICMwMjdiYzU7XG4gIHRyYW5zaXRpb246IHJpZ2h0IDMwMG1zIGVhc2U7IH1cblxuLnBhZ2VyLXByZXZpb3VzIGE6YWZ0ZXIsXG4ucGFnZXItZmlyc3QgYTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICBib3JkZXItYm90dG9tOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyLXJpZ2h0OiAxMXB4IHNvbGlkICMwMjdiYzU7XG4gIHRyYW5zaXRpb246IHJpZ2h0IDMwMG1zIGVhc2U7IH1cblxuLnBhZ2VyLWZpcnN0IGE6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICBib3JkZXItcmlnaHQ6IDExcHggc29saWQgIzAyN2JjNTtcbiAgdHJhbnNpdGlvbjogcmlnaHQgMzAwbXMgZWFzZTsgfVxuXG5odG1sIGJvZHkuaHRtbC5sb2dnZWQtaW4ge1xuICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7IH1cblxuLm5vdC1sb2dnZWQtaW4gI3BhZ2Uge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubm90LWxvZ2dlZC1pbiAjcGFnZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTQ2cHggIWltcG9ydGFudDsgfSB9XG5cbiNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSBmb3JtIHtcbiAgbWFyZ2luOiAwOyB9XG5cbiNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSAuY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jYmxvY2stdmlld3MtZXhwb3NlZC1maWx0ZXItYmxvY2stbWNnLXNlYXJjaC1wYWdlLTEgaDIuZWxlbWVudC1pbnZpc2libGUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSAuanMtZm9ybS1pdGVtLXNlYXJjaC1hcGktZnVsbHRleHQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIC5qcy1mb3JtLWl0ZW0tc2VhcmNoLWFwaS1mdWxsdGV4dCBpbnB1dCxcbiNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSAuZm9ybS1pdGVtLXNlYXJjaC1ibG9jay1mb3JtIGlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyLCAxMjMsIDE5NywgMC40MSk7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IHdoaXRlO1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIGhlaWdodDogNDZweDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiA1cHggMzBweCA1cHggMTBweDtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSAuanMtZm9ybS1pdGVtLXNlYXJjaC1hcGktZnVsbHRleHQgaW5wdXQsXG4gICAgI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIC5mb3JtLWl0ZW0tc2VhcmNoLWJsb2NrLWZvcm0gaW5wdXQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IDIyNXB4OyB9IH1cbiAgI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIC5qcy1mb3JtLWl0ZW0tc2VhcmNoLWFwaS1mdWxsdGV4dCBpbnB1dFt0eXBlPVwidGV4dFwiXTo6cGxhY2Vob2xkZXIsXG4gICNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSAuZm9ybS1pdGVtLXNlYXJjaC1ibG9jay1mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSAuanMtZm9ybS1pdGVtLXNlYXJjaC1hcGktZnVsbHRleHQgaW5wdXRbdHlwZT1cInRleHRcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSAuZm9ybS1pdGVtLXNlYXJjaC1ibG9jay1mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIC5qcy1mb3JtLWl0ZW0tc2VhcmNoLWFwaS1mdWxsdGV4dCBpbnB1dFt0eXBlPVwidGV4dFwiXTo6LW1vei1wbGFjZWhvbGRlcixcbiAgI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIC5mb3JtLWl0ZW0tc2VhcmNoLWJsb2NrLWZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAjYmxvY2stdmlld3MtZXhwb3NlZC1maWx0ZXItYmxvY2stbWNnLXNlYXJjaC1wYWdlLTEgLmpzLWZvcm0taXRlbS1zZWFyY2gtYXBpLWZ1bGx0ZXh0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIC5mb3JtLWl0ZW0tc2VhcmNoLWJsb2NrLWZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIC5qcy1mb3JtLWl0ZW0tc2VhcmNoLWFwaS1mdWxsdGV4dCBpbnB1dFt0eXBlPVwidGV4dFwiXTotbW96LXBsYWNlaG9sZGVyLFxuICAjYmxvY2stdmlld3MtZXhwb3NlZC1maWx0ZXItYmxvY2stbWNnLXNlYXJjaC1wYWdlLTEgLmZvcm0taXRlbS1zZWFyY2gtYmxvY2stZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXTotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06OnBsYWNlaG9sZGVyLFxuI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi1tb3otcGxhY2Vob2xkZXIsXG4jYmxvY2stdmlld3MtZXhwb3NlZC1maWx0ZXItYmxvY2stbWNnLXNlYXJjaC1wYWdlLTEgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4jYmxvY2stdmlld3MtZXhwb3NlZC1maWx0ZXItYmxvY2stbWNnLXNlYXJjaC1wYWdlLTEgaW5wdXRbdHlwZT1cInRleHRcIl06OnBsYWNlaG9sZGVyLFxuI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbW96LXBsYWNlaG9sZGVyLFxuI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4jYmxvY2stdmlld3MtZXhwb3NlZC1maWx0ZXItYmxvY2stbWNnLXNlYXJjaC1wYWdlLTEgaW5wdXRbdHlwZT1cInRleHRcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogd2hpdGU7IH1cblxuI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG4jYmxvY2stdmlld3MtZXhwb3NlZC1maWx0ZXItYmxvY2stbWNnLXNlYXJjaC1wYWdlLTEgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSBpbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzIHtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHdoaXRlO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwcHggMTAwMHB4ICMwYTUyODkgaW5zZXQ7IH1cblxuI2hlYWRlciAjYmxvY2stdmlld3MtZXhwb3NlZC1maWx0ZXItYmxvY2stbWNnLXNlYXJjaC1wYWdlLTEgaW5wdXQuZm9ybS1zdWJtaXQsXG4jaGVhZGVyICNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSBpbnB1dC5mb3JtLXN1Ym1pdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNHB4O1xuICByaWdodDogMTRweDtcbiAgaGVpZ2h0OiAyN3B4O1xuICB3aWR0aDogMjdweDtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgei1pbmRleDogMTAwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvc2VhcmNoLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNXB4IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgI2hlYWRlciAjYmxvY2stdmlld3MtZXhwb3NlZC1maWx0ZXItYmxvY2stbWNnLXNlYXJjaC1wYWdlLTEgaW5wdXQuZm9ybS1zdWJtaXQsXG4gICAgI2hlYWRlciAjYmxvY2stdmlld3MtZXhwb3NlZC1maWx0ZXItYmxvY2stbWNnLXNlYXJjaC1wYWdlLTEgaW5wdXQuZm9ybS1zdWJtaXQge1xuICAgICAgcmlnaHQ6IDA7IH0gfVxuXG4jc2VhcmNoLWZvcm0gLmZvcm0taXRlbS1rZXlzIGxhYmVsLCAjc2VhcmNoLWZvcm0gLmZvcm0taXRlbS1rZXlzIC5maWVsZCAuZmllbGQtbGFiZWwsIC5maWVsZCAjc2VhcmNoLWZvcm0gLmZvcm0taXRlbS1rZXlzIC5maWVsZC1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEhJIFJFU1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLFxub25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksXG5vbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyNDBkcGkpIHtcblxufSAqL1xuI2NvbnRlbnQgLnNlYXJjaC1ibG9jay1jb250ZW50LW1jZyB7XG4gIG1heC13aWR0aDogNzEwcHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICNjb250ZW50IC5zZWFyY2gtYmxvY2stY29udGVudC1tY2cgLmZvcm0taXRlbS1rZXlzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICNjb250ZW50IC5zZWFyY2gtYmxvY2stY29udGVudC1tY2cgLmZvcm0taXRlbS1rZXlzIHtcbiAgICAgICAgd2lkdGg6IDU1JTsgfSB9XG4gICNjb250ZW50IC5zZWFyY2gtYmxvY2stY29udGVudC1tY2cgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgI2NvbnRlbnQgLnNlYXJjaC1ibG9jay1jb250ZW50LW1jZyBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICBwYWRkaW5nOiA3cHggMjBweDtcbiAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2VyaWYgUHJvXCIsIHNlcmlmO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2JiYjtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjNmY2ZjZmO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICAgICAgI2NvbnRlbnQgLnNlYXJjaC1ibG9jay1jb250ZW50LW1jZyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgICAgI2NvbnRlbnQgLnNlYXJjaC1ibG9jay1jb250ZW50LW1jZyBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDY2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2NnB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAjY29udGVudCAuc2VhcmNoLWJsb2NrLWNvbnRlbnQtbWNnIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgICAjY29udGVudCAuc2VhcmNoLWJsb2NrLWNvbnRlbnQtbWNnIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgaGVpZ2h0OiA3NnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNzZweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgI2NvbnRlbnQgLnNlYXJjaC1ibG9jay1jb250ZW50LW1jZyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgICAgI2NvbnRlbnQgLnNlYXJjaC1ibG9jay1jb250ZW50LW1jZyBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gICAgICAjY29udGVudCAuc2VhcmNoLWJsb2NrLWNvbnRlbnQtbWNnIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgICAjY29udGVudCAuc2VhcmNoLWJsb2NrLWNvbnRlbnQtbWNnIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IDIuMnJlbTsgfSB9XG4gICNjb250ZW50IC5zZWFyY2gtYmxvY2stY29udGVudC1tY2cgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyN2JjNTtcbiAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2VyaWYgUHJvXCIsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcGFkZGluZzogMCA3cHg7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGhlaWdodDogNzZweDtcbiAgICBsaW5lLWhlaWdodDogNzZweDtcbiAgICB3aWR0aDogNDUlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXM7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAjY29udGVudCAuc2VhcmNoLWJsb2NrLWNvbnRlbnQtbWNnIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IG5vbmU7IH0gfVxuICAjY29udGVudCAuc2VhcmNoLWJsb2NrLWNvbnRlbnQtbWNnIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTMyNWI7IH1cbiAgI2NvbnRlbnQgLnNlYXJjaC1ibG9jay1jb250ZW50LW1jZyAuZm9ybS1pdGVtLWtleXMgbGFiZWwsICNjb250ZW50IC5zZWFyY2gtYmxvY2stY29udGVudC1tY2cgLmZvcm0taXRlbS1rZXlzIC5maWVsZCAuZmllbGQtbGFiZWwsIC5maWVsZCAjY29udGVudCAuc2VhcmNoLWJsb2NrLWNvbnRlbnQtbWNnIC5mb3JtLWl0ZW0ta2V5cyAuZmllbGQtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxub2wuc2VhcmNoLXJlc3VsdHMge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIG9sLnNlYXJjaC1yZXN1bHRzIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjJlbTsgfVxuICBvbC5zZWFyY2gtcmVzdWx0cyAuc2VhcmNoLXNuaXBwZXQtaW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zZWFyY2gtaGVscC1saW5rLFxuLnNlYXJjaC1hZHZhbmNlZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI3ZpZXdzLWV4cG9zZWQtZm9ybS1tY2ctc2VhcmNoLXBhZ2UtMSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLyoqXG4gKiBHbG9iYWwgVGFibGVzXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbG9yOiBsaWdodGdyYXk7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICB0YWJsZSB0ciB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgbGlnaHRncmF5OyB9XG4gICAgdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7IH1cbiAgdGFibGUgdGQsXG4gIHRhYmxlIHRoIHtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0Z3JheTtcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIHRhYmxlIHRkID4gKjpmaXJzdC1jaGlsZCxcbiAgICB0YWJsZSB0aCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIHRhYmxlIHRkID4gKjpsYXN0LWNoaWxkLFxuICAgIHRhYmxlIHRoID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgdGFibGUgdGhlYWQgdGgsXG4gIHRhYmxlIHRib2R5IHRoIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC45MmVtO1xuICAgIGJhY2tncm91bmQ6ICNlN2U3ZTc7IH1cbiAgdGFibGUgdGguZW1wdHktaGVhZGVyLWNlbGwge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKipcbiAqIFJlc3BvbnNpdmUgZGF0YSB0YWJsZXMgd2l0aCBoZWFkZXJzXG4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5MjNweCkge1xuICB0YWJsZS5kYXRhIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLmRhdGEgdGhlYWQsXG4gIHRhYmxlLmRhdGEgdGgge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuZGF0YSB0Ym9keSxcbiAgdGFibGUuZGF0YSB0Ym9keSB0aCxcbiAgdGFibGUuZGF0YSB0cixcbiAgdGFibGUuZGF0YSB0ZCxcbiAgdGFibGUuZGF0YSBjYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICB0YWJsZS5kYXRhIHRyIHtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH1cbiAgICB0YWJsZS5kYXRhIHRyICsgdHIge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxuICAgIHRhYmxlLmRhdGEgdHIgPiB0aCxcbiAgICB0YWJsZS5kYXRhIHRyID4gdGQge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwOyB9XG4gIHRhYmxlLmRhdGEgdGQubGFiZWxlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10aCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAwLjkyZW07XG4gICAgY29sb3I6ICM1NTU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0Z3JheTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5ub3QtZnJvbnQgI3RpdGxpbmctY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMjMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgICAubm90LWZyb250ICN0aXRsaW5nLWNvbnRhaW5lciAudGl0bGUtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4OyB9XG4gICAgICAubm90LWZyb250ICN0aXRsaW5nLWNvbnRhaW5lciAudGl0bGUtd3JhcHBlciAqIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAubm90LWZyb250ICN0aXRsaW5nLWNvbnRhaW5lciAudGl0bGUtd3JhcHBlcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IC00OTlweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZDogIzExMzI1YiB1cmwoLi4vLi4vaW1hZ2VzL3N0cmlwZXMuc3ZnKSBsZWZ0IGJvdHRvbSByZXBlYXQteCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgYm9keS5ub2RlLXR5cGUtcmVzb3VyY2UgI3RpdGxpbmctY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDE0ODBweDsgfVxuICAubm90LWZyb250ICN0aXRsaW5nIHtcbiAgICB3aWR0aDogNjcuNCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucGFnZS10aXRsZS1maXJzdC1sZXZlbCAjdGl0bGluZyB7XG4gICAgbWF4LXdpZHRoOiA0ODBweDsgfVxuICAgIC5wYWdlLXRpdGxlLWZpcnN0LWxldmVsICN0aXRsaW5nIC50aXRsZS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjY29udGVudCAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgaDIuYmxvY2tfX3RpdGxlIHtcbiAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDMwcHggc29saWQgIzExMzI1YjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgLm5vdC1mcm9udCAjdGl0bGluZyB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH0gfVxuXG4jdGl0bGluZyxcbiNjb250ZW50IHtcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0gUGFnZSBUaXRsZXMgLS0tLS0tLS0tLS0tLS0tLSAqLyB9XG4gICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLFxuICAjdGl0bGluZyAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgaDIuYmxvY2tfX3RpdGxlLFxuICAjY29udGVudCAudGl0bGUtd3JhcHBlcixcbiAgI2NvbnRlbnQgI2Jsb2NrLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrIGgyLmJsb2NrX190aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgYmFja2dyb3VuZDogIzExMzI1YjtcbiAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2VyaWYgUHJvXCIsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWluLXdpZHRoOiAzMC4yJTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBwYWRkaW5nOiAzNXB4IDIwcHggMzVweCAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAjdGl0bGluZyAudGl0bGUtd3JhcHBlcixcbiAgICAgICN0aXRsaW5nICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUsXG4gICAgICAjY29udGVudCAudGl0bGUtd3JhcHBlcixcbiAgICAgICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICAgICAgICBwYWRkaW5nOiA1MnB4IDIwcHggNTJweCAyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgICAgICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLFxuICAgICAgI3RpdGxpbmcgI2Jsb2NrLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrIGgyLmJsb2NrX190aXRsZSxcbiAgICAgICNjb250ZW50IC50aXRsZS13cmFwcGVyLFxuICAgICAgI2NvbnRlbnQgI2Jsb2NrLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrIGgyLmJsb2NrX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgICAgZm9udC1zaXplOiA0LjZyZW07XG4gICAgICAgIHBhZGRpbmc6IDcwcHggMjBweCA3MHB4IDIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLFxuICAgICAgI3RpdGxpbmcgI2Jsb2NrLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrIGgyLmJsb2NrX190aXRsZSxcbiAgICAgICNjb250ZW50IC50aXRsZS13cmFwcGVyLFxuICAgICAgI2NvbnRlbnQgI2Jsb2NrLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrIGgyLmJsb2NrX190aXRsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAjdGl0bGluZyAudGl0bGUtd3JhcHBlcixcbiAgICAgICN0aXRsaW5nICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUsXG4gICAgICAjY29udGVudCAudGl0bGUtd3JhcHBlcixcbiAgICAgICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUge1xuICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgcGFkZGluZzogNzBweCAxMjNweCA3MHB4IDE0MHB4OyB9IH1cbiAgICAjdGl0bGluZyAudGl0bGUtd3JhcHBlciBoMSNwYWdlLXRpdGxlLFxuICAgICN0aXRsaW5nICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUgaDEjcGFnZS10aXRsZSxcbiAgICAjY29udGVudCAudGl0bGUtd3JhcHBlciBoMSNwYWdlLXRpdGxlLFxuICAgICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUgaDEjcGFnZS10aXRsZSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4xOyB9XG4gICAgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIgaDEjcGFnZS10aXRsZSxcbiAgICAjdGl0bGluZyAudGl0bGUtd3JhcHBlciBoMSNwYWdlLXRpdGxlIGEsXG4gICAgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIgLmgyLWlubmVyLFxuICAgICN0aXRsaW5nICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUgaDEjcGFnZS10aXRsZSxcbiAgICAjdGl0bGluZyAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgaDIuYmxvY2tfX3RpdGxlIGgxI3BhZ2UtdGl0bGUgYSxcbiAgICAjdGl0bGluZyAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgaDIuYmxvY2tfX3RpdGxlIC5oMi1pbm5lcixcbiAgICAjY29udGVudCAudGl0bGUtd3JhcHBlciBoMSNwYWdlLXRpdGxlLFxuICAgICNjb250ZW50IC50aXRsZS13cmFwcGVyIGgxI3BhZ2UtdGl0bGUgYSxcbiAgICAjY29udGVudCAudGl0bGUtd3JhcHBlciAuaDItaW5uZXIsXG4gICAgI2NvbnRlbnQgI2Jsb2NrLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrIGgyLmJsb2NrX190aXRsZSBoMSNwYWdlLXRpdGxlLFxuICAgICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUgaDEjcGFnZS10aXRsZSBhLFxuICAgICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUgLmgyLWlubmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkyM3B4KSB7XG4gICAgI3RpdGxpbmcgI2Jsb2NrLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrIGgyLmJsb2NrX190aXRsZSxcbiAgICAjY29udGVudCAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgaDIuYmxvY2tfX3RpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDQycHggMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAjdGl0bGluZyAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgaDIuYmxvY2tfX3RpdGxlLFxuICAgICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLFxuICAgICNjb250ZW50IC50aXRsZS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDcwcHggMTIzcHggNzBweCAwcHg7IH1cbiAgICAjdGl0bGluZyAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgaDIuYmxvY2tfX3RpdGxlLFxuICAgICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUge1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiA3MHB4IDEyM3B4IDcwcHggMTAwcHg7XG4gICAgICBtaW4td2lkdGg6IDMwLjIlOyB9IH1cbiAgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIsXG4gICNjb250ZW50IC50aXRsZS13cmFwcGVyIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLFxuICAgICAgI2NvbnRlbnQgLnRpdGxlLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjIwcHg7IH0gfVxuICAuc2lkZWJhci1zZWNvbmQgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIsIC5zaWRlYmFyLXNlY29uZFxuICAjY29udGVudCAudGl0bGUtd3JhcHBlciB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkge1xuICAgICAgLnNpZGViYXItc2Vjb25kICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLCAuc2lkZWJhci1zZWNvbmRcbiAgICAgICNjb250ZW50IC50aXRsZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLnNpZGViYXItc2Vjb25kICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLCAuc2lkZWJhci1zZWNvbmRcbiAgICAgICNjb250ZW50IC50aXRsZS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBsZWZ0OiAwOyB9IH1cbiAgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIgLmZpZWxkLS1wb3N0LWRhdGUsXG4gICN0aXRsaW5nIC50aXRsZS13cmFwcGVyIC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQsXG4gICNjb250ZW50IC50aXRsZS13cmFwcGVyIC5maWVsZC0tcG9zdC1kYXRlLFxuICAjY29udGVudCAudGl0bGUtd3JhcHBlciAuZmllbGQtLWRhdGUtYXV0aG9yLWZpZWxkIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAjdGl0bGluZyAudGl0bGUtd3JhcHBlciAuZmllbGQtLXBvc3QtZGF0ZSxcbiAgICAgICN0aXRsaW5nIC50aXRsZS13cmFwcGVyIC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQsXG4gICAgICAjY29udGVudCAudGl0bGUtd3JhcHBlciAuZmllbGQtLXBvc3QtZGF0ZSxcbiAgICAgICNjb250ZW50IC50aXRsZS13cmFwcGVyIC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAjdGl0bGluZyAudGl0bGUtd3JhcHBlciAuZmllbGQtLXBvc3QtZGF0ZSxcbiAgICAgICN0aXRsaW5nIC50aXRsZS13cmFwcGVyIC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQsXG4gICAgICAjY29udGVudCAudGl0bGUtd3JhcHBlciAuZmllbGQtLXBvc3QtZGF0ZSxcbiAgICAgICNjb250ZW50IC50aXRsZS13cmFwcGVyIC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9IH1cbiAgICAjdGl0bGluZyAudGl0bGUtd3JhcHBlciAuZmllbGQtLXBvc3QtZGF0ZSAuYXV0aG9yICsgLmF1dGhvci10aXRsZTpiZWZvcmUsXG4gICAgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIgLmZpZWxkLS1kYXRlLWF1dGhvci1maWVsZCAuYXV0aG9yICsgLmF1dGhvci10aXRsZTpiZWZvcmUsXG4gICAgI2NvbnRlbnQgLnRpdGxlLXdyYXBwZXIgLmZpZWxkLS1wb3N0LWRhdGUgLmF1dGhvciArIC5hdXRob3ItdGl0bGU6YmVmb3JlLFxuICAgICNjb250ZW50IC50aXRsZS13cmFwcGVyIC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQgLmF1dGhvciArIC5hdXRob3ItdGl0bGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcsICc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAtMnB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tIFRpdGxlcyBmb3IgcGFnZXMgdy8gcGhvdG8gaGVhZGVycyAodGl0bGUtb25seSBvciB0aXRsZSArIGJyZWFkY3J1bWIpIC0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICBib2R5LnBhZ2UtdGl0bGUtZmlyc3QtbGV2ZWwgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIsXG4gIGJvZHkucGFnZS10YXhvbm9teS10ZXJtICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLFxuICBib2R5LnBhZ2UtdXNlciAjdGl0bGluZyAudGl0bGUtd3JhcHBlcixcbiAgYm9keS5zZWN0aW9uLXJlc291cmNlcyAjdGl0bGluZyAudGl0bGUtd3JhcHBlcixcbiAgYm9keS5ub2RlLXR5cGUtYXJ0aWNsZSAjdGl0bGluZyAudGl0bGUtd3JhcHBlcixcbiAgYm9keS5wYWdlLW5vZGUgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIsXG4gIGJvZHkubm9kZS10eXBlLXBhcnRuZXJzICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLFxuICBib2R5Lm5vZGUtdHlwZS1yZXNvdXJjZSAjdGl0bGluZyAudGl0bGUtd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDM1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgYm9keS5wYWdlLXRpdGxlLWZpcnN0LWxldmVsICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLFxuICBib2R5LnBhZ2UtdGF4b25vbXktdGVybSAjdGl0bGluZyAudGl0bGUtd3JhcHBlcixcbiAgYm9keS5wYWdlLXVzZXIgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIsXG4gIGJvZHkuc2VjdGlvbi1yZXNvdXJjZXMgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIsXG4gIGJvZHkubm9kZS10eXBlLWFydGljbGUgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIsXG4gIGJvZHkucGFnZS1ub2RlICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLFxuICBib2R5Lm5vZGUtdHlwZS1wYXJ0bmVycyAjdGl0bGluZyAudGl0bGUtd3JhcHBlcixcbiAgYm9keS5ub2RlLXR5cGUtcmVzb3VyY2UgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICBib2R5LnBhZ2UtdGl0bGUtZmlyc3QtbGV2ZWwgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIsXG4gIGJvZHkucGFnZS10YXhvbm9teS10ZXJtICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLFxuICBib2R5LnBhZ2UtdXNlciAjdGl0bGluZyAudGl0bGUtd3JhcHBlcixcbiAgYm9keS5zZWN0aW9uLXJlc291cmNlcyAjdGl0bGluZyAudGl0bGUtd3JhcHBlcixcbiAgYm9keS5ub2RlLXR5cGUtYXJ0aWNsZSAjdGl0bGluZyAudGl0bGUtd3JhcHBlcixcbiAgYm9keS5wYWdlLW5vZGUgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIsXG4gIGJvZHkubm9kZS10eXBlLXBhcnRuZXJzICN0aXRsaW5nIC50aXRsZS13cmFwcGVyLFxuICBib2R5Lm5vZGUtdHlwZS1yZXNvdXJjZSAjdGl0bGluZyAudGl0bGUtd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDM1cHg7IH0gfVxuXG5ib2R5LnBhZ2UtdGl0bGUtZmlyc3QtbGV2ZWw6bm90KC5ub2RlLXR5cGUtYXJ0aWNsZSk6bm90KC5tY2ctYmxvZy1sYW5kaW5nKSxcbmJvZHkucGFnZS10YXhvbm9teS10ZXJtOm5vdCgubm9kZS10eXBlLWFydGljbGUpOm5vdCgubWNnLWJsb2ctbGFuZGluZyksXG5ib2R5LnBhZ2UtdXNlcjpub3QoLm5vZGUtdHlwZS1hcnRpY2xlKTpub3QoLm1jZy1ibG9nLWxhbmRpbmcpLFxuYm9keS5zZWN0aW9uLXJlc291cmNlczpub3QoLm5vZGUtdHlwZS1hcnRpY2xlKTpub3QoLm1jZy1ibG9nLWxhbmRpbmcpLFxuYm9keS5ub2RlLXR5cGUtYXJ0aWNsZTpub3QoLm5vZGUtdHlwZS1hcnRpY2xlKTpub3QoLm1jZy1ibG9nLWxhbmRpbmcpLFxuYm9keS5wYWdlLW5vZGU6bm90KC5ub2RlLXR5cGUtYXJ0aWNsZSk6bm90KC5tY2ctYmxvZy1sYW5kaW5nKSxcbmJvZHkubm9kZS10eXBlLXBhcnRuZXJzOm5vdCgubm9kZS10eXBlLWFydGljbGUpOm5vdCgubWNnLWJsb2ctbGFuZGluZyksXG5ib2R5Lm5vZGUtdHlwZS1yZXNvdXJjZTpub3QoLm5vZGUtdHlwZS1hcnRpY2xlKTpub3QoLm1jZy1ibG9nLWxhbmRpbmcpIHtcbiAgLyogQ29tcGVuc2F0ZSBmb3IgcGFkZGluZyB0aGF0J3MgYmVlbiByZW1vdmVkLiAqLyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBib2R5LnBhZ2UtdGl0bGUtZmlyc3QtbGV2ZWw6bm90KC5ub2RlLXR5cGUtYXJ0aWNsZSk6bm90KC5tY2ctYmxvZy1sYW5kaW5nKSAjdGl0bGluZy1jb250YWluZXIsXG4gICAgYm9keS5wYWdlLXRheG9ub215LXRlcm06bm90KC5ub2RlLXR5cGUtYXJ0aWNsZSk6bm90KC5tY2ctYmxvZy1sYW5kaW5nKSAjdGl0bGluZy1jb250YWluZXIsXG4gICAgYm9keS5wYWdlLXVzZXI6bm90KC5ub2RlLXR5cGUtYXJ0aWNsZSk6bm90KC5tY2ctYmxvZy1sYW5kaW5nKSAjdGl0bGluZy1jb250YWluZXIsXG4gICAgYm9keS5zZWN0aW9uLXJlc291cmNlczpub3QoLm5vZGUtdHlwZS1hcnRpY2xlKTpub3QoLm1jZy1ibG9nLWxhbmRpbmcpICN0aXRsaW5nLWNvbnRhaW5lcixcbiAgICBib2R5Lm5vZGUtdHlwZS1hcnRpY2xlOm5vdCgubm9kZS10eXBlLWFydGljbGUpOm5vdCgubWNnLWJsb2ctbGFuZGluZykgI3RpdGxpbmctY29udGFpbmVyLFxuICAgIGJvZHkucGFnZS1ub2RlOm5vdCgubm9kZS10eXBlLWFydGljbGUpOm5vdCgubWNnLWJsb2ctbGFuZGluZykgI3RpdGxpbmctY29udGFpbmVyLFxuICAgIGJvZHkubm9kZS10eXBlLXBhcnRuZXJzOm5vdCgubm9kZS10eXBlLWFydGljbGUpOm5vdCgubWNnLWJsb2ctbGFuZGluZykgI3RpdGxpbmctY29udGFpbmVyLFxuICAgIGJvZHkubm9kZS10eXBlLXJlc291cmNlOm5vdCgubm9kZS10eXBlLWFydGljbGUpOm5vdCgubWNnLWJsb2ctbGFuZGluZykgI3RpdGxpbmctY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIGJvZHkucGFnZS10aXRsZS1maXJzdC1sZXZlbDpub3QoLm5vZGUtdHlwZS1hcnRpY2xlKTpub3QoLm1jZy1ibG9nLWxhbmRpbmcpICN0aXRsaW5nLWNvbnRhaW5lcixcbiAgICBib2R5LnBhZ2UtdGF4b25vbXktdGVybTpub3QoLm5vZGUtdHlwZS1hcnRpY2xlKTpub3QoLm1jZy1ibG9nLWxhbmRpbmcpICN0aXRsaW5nLWNvbnRhaW5lcixcbiAgICBib2R5LnBhZ2UtdXNlcjpub3QoLm5vZGUtdHlwZS1hcnRpY2xlKTpub3QoLm1jZy1ibG9nLWxhbmRpbmcpICN0aXRsaW5nLWNvbnRhaW5lcixcbiAgICBib2R5LnNlY3Rpb24tcmVzb3VyY2VzOm5vdCgubm9kZS10eXBlLWFydGljbGUpOm5vdCgubWNnLWJsb2ctbGFuZGluZykgI3RpdGxpbmctY29udGFpbmVyLFxuICAgIGJvZHkubm9kZS10eXBlLWFydGljbGU6bm90KC5ub2RlLXR5cGUtYXJ0aWNsZSk6bm90KC5tY2ctYmxvZy1sYW5kaW5nKSAjdGl0bGluZy1jb250YWluZXIsXG4gICAgYm9keS5wYWdlLW5vZGU6bm90KC5ub2RlLXR5cGUtYXJ0aWNsZSk6bm90KC5tY2ctYmxvZy1sYW5kaW5nKSAjdGl0bGluZy1jb250YWluZXIsXG4gICAgYm9keS5ub2RlLXR5cGUtcGFydG5lcnM6bm90KC5ub2RlLXR5cGUtYXJ0aWNsZSk6bm90KC5tY2ctYmxvZy1sYW5kaW5nKSAjdGl0bGluZy1jb250YWluZXIsXG4gICAgYm9keS5ub2RlLXR5cGUtcmVzb3VyY2U6bm90KC5ub2RlLXR5cGUtYXJ0aWNsZSk6bm90KC5tY2ctYmxvZy1sYW5kaW5nKSAjdGl0bGluZy1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7IH0gfVxuXG4vKiBGb3IgcGFnZXMgdy8gcGhvdG8gaGVhZGVyczogc2hpZnQgdGl0bGUgcmVsYXRpdmUgdG8gcGhvdG8gaGVhZGVyLiAqL1xuYm9keS5wYWdlLXRpdGxlLWZpcnN0LWxldmVsOm5vdCgubWNnLWJsb2ctbGFuZGluZyksXG5ib2R5LnNlY3Rpb24tZWFybixcbmJvZHkuc2VjdGlvbi1zcGVuZCxcbmJvZHkuc2VjdGlvbi1ib3Jyb3csXG5ib2R5LnNlY3Rpb24tc2F2ZS1pbnZlc3QsXG5ib2R5LnNlY3Rpb24tcHJvdGVjdCxcbmJvZHkuc2VjdGlvbi1ibG9nOm5vdCgubWNnLWJsb2ctbGFuZGluZyksXG5ib2R5LnNlY3Rpb24tc2NhbS1hbGVydHMge1xuICAvKiBNb3ZlIHNoYXJpbmcgYmxvY2sgYmFjayB1cCBvbiB0aGUgcGFnZSwgc28gaXQgYWxpZ25zIHcvIHRoZSB0aXRsZSBibG9jay4gKi8gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgYm9keS5wYWdlLXRpdGxlLWZpcnN0LWxldmVsOm5vdCgubWNnLWJsb2ctbGFuZGluZykgI3RpdGxpbmctY29udGFpbmVyLFxuICAgIGJvZHkuc2VjdGlvbi1lYXJuICN0aXRsaW5nLWNvbnRhaW5lcixcbiAgICBib2R5LnNlY3Rpb24tc3BlbmQgI3RpdGxpbmctY29udGFpbmVyLFxuICAgIGJvZHkuc2VjdGlvbi1ib3Jyb3cgI3RpdGxpbmctY29udGFpbmVyLFxuICAgIGJvZHkuc2VjdGlvbi1zYXZlLWludmVzdCAjdGl0bGluZy1jb250YWluZXIsXG4gICAgYm9keS5zZWN0aW9uLXByb3RlY3QgI3RpdGxpbmctY29udGFpbmVyLFxuICAgIGJvZHkuc2VjdGlvbi1ibG9nOm5vdCgubWNnLWJsb2ctbGFuZGluZykgI3RpdGxpbmctY29udGFpbmVyLFxuICAgIGJvZHkuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjdGl0bGluZy1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDEzNnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIGJvZHkucGFnZS10aXRsZS1maXJzdC1sZXZlbDpub3QoLm1jZy1ibG9nLWxhbmRpbmcpIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSxcbiAgICBib2R5LnNlY3Rpb24tZWFybiAuc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIC5ibG9jay5zaWRlYmFyLXNoYXJpbmc6bm90KC5ibG9jay0tbWVudS1ibG9jayksXG4gICAgYm9keS5zZWN0aW9uLXNwZW5kIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSxcbiAgICBib2R5LnNlY3Rpb24tYm9ycm93IC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSxcbiAgICBib2R5LnNlY3Rpb24tc2F2ZS1pbnZlc3QgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2suc2lkZWJhci1zaGFyaW5nOm5vdCguYmxvY2stLW1lbnUtYmxvY2spLFxuICAgIGJvZHkuc2VjdGlvbi1wcm90ZWN0IC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSxcbiAgICBib2R5LnNlY3Rpb24tYmxvZzpub3QoLm1jZy1ibG9nLWxhbmRpbmcpIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSxcbiAgICBib2R5LnNlY3Rpb24tc2NhbS1hbGVydHMgLnNpZGViYXJzIC5zaWRlYmFyLXNlY29uZCAuYmxvY2suc2lkZWJhci1zaGFyaW5nOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIHtcbiAgICAgIHRvcDogLTE0NHB4OyB9IH1cblxuYm9keS5ub2RlLXR5cGUtYXJ0aWNsZSB7XG4gIC8qIE1vdmUgc2hhcmluZyBibG9jayBiYWNrIHVwIG9uIHRoZSBwYWdlLCBzbyBpdCBhbGlnbnMgdy8gdGhlIHRpdGxlIGJsb2NrLiAqLyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICBib2R5Lm5vZGUtdHlwZS1hcnRpY2xlIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLnNpZGViYXItc2hhcmluZzpub3QoLmJsb2NrLS1tZW51LWJsb2NrKSB7XG4gICAgICB0b3A6IC0xNThweDsgfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tIFRpdGxlcyBmb3IgcGFnZXMgdGhhdCBpbmNsdWRlIGF1dGhvci9kYXRlIGluZm8gLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keS5wYWdlLXNjYW0gLnZpZXctbWNnLXNjYW0tYWxlcnRzX19wYWdlXzEgaDMubm9kZS10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICBib2R5LnBhZ2Utc2NhbSAudmlldy1tY2ctc2NhbS1hbGVydHNfX3BhZ2VfMSBoMy5ub2RlLXRpdGxlIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIlByb3hpbWFOb3ZhLVJlZ3VsYXJcIixzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICBib2R5LnBhZ2Utc2NhbSAudmlldy1tY2ctc2NhbS1hbGVydHNfX3BhZ2VfMSBoMy5ub2RlLXRpdGxlIGE6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCAjMDI3YmM0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMzAwbXMgZWFzZTsgfVxuXG5ib2R5LnBhZ2Utc2NhbSAudmlldy1tY2ctc2NhbS1hbGVydHNfX3BhZ2VfMSBkaXYuZmllbGQtLW5hbWUtZmllbGQtYXV0aG9yOmFmdGVyIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gIHdpZHRoOiAxNTBweDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYm9keS5wYWdlLXNjYW0gLnZpZXctbWNnLXNjYW0tYWxlcnRzX19wYWdlXzEgZGl2LmZpZWxkLS1uYW1lLWZpZWxkLWRhdGUtdGltZSxcbmJvZHkucGFnZS1zY2FtIC52aWV3LW1jZy1zY2FtLWFsZXJ0c19fcGFnZV8xIGRpdi5maWVsZC0tbmFtZS1maWVsZC1hdXRob3Ige1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1hcmdpbjogMCAxZW0gLjVlbSAwO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgZGlzcGxheTogaW5saW5lOyB9XG4gIGJvZHkucGFnZS1zY2FtIC52aWV3LW1jZy1zY2FtLWFsZXJ0c19fcGFnZV8xIGRpdi5maWVsZC0tbmFtZS1maWVsZC1kYXRlLXRpbWUgKixcbiAgYm9keS5wYWdlLXNjYW0gLnZpZXctbWNnLXNjYW0tYWxlcnRzX19wYWdlXzEgZGl2LmZpZWxkLS1uYW1lLWZpZWxkLWF1dGhvciAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuYm9keS5wYWdlLXNjYW0gLnZpZXctbWNnLXNjYW0tYWxlcnRzX19wYWdlXzEgZGl2LmZpZWxkLS1uYW1lLWJvZHkge1xuICBtYXJnaW4tYm90dG9tOiA2cmVtO1xuICBtYXJnaW4tdG9wOiAtMTVweDsgfVxuXG5ib2R5Lm1jZy1ibG9nICNiYW5uZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbmJvZHkubWNnLWJsb2cgI3RpdGxpbmcge1xuICB3aWR0aDogMzUuNCU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gIGJvZHkubm9kZS10eXBlLXNjYW0tYWxlcnQgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIsXG4gIGJvZHkubm9kZS10eXBlLWJsb2ctcG9zdCAjdGl0bGluZyAudGl0bGUtd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDU0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDU0cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgYm9keS5ub2RlLXR5cGUtc2NhbS1hbGVydCAjdGl0bGluZyAudGl0bGUtd3JhcHBlcixcbiAgYm9keS5ub2RlLXR5cGUtYmxvZy1wb3N0ICN0aXRsaW5nIC50aXRsZS13cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNTRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTRweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgYm9keS5ub2RlLXR5cGUtc2NhbS1hbGVydCAjdGl0bGluZyAudGl0bGUtd3JhcHBlcixcbiAgYm9keS5ub2RlLXR5cGUtYmxvZy1wb3N0ICN0aXRsaW5nIC50aXRsZS13cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNTRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTRweDsgfSB9XG5cbi8qKlxuICogQWNjb3JkaW9ucy5cbiAqL1xuLmN1c3RvbS1hY2NvcmRpb24gLmFjY29yZGlvbi10cmlnZ2VyICoge1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtUmVndWxhclwiLCBzYW5zLXNlcmlmOyB9XG5cbi5jdXN0b20tYWNjb3JkaW9uIC5hY2NvcmRpb24tdHJpZ2dlciAucGx1cyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjMDI3YmM1O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgdHJhbnNpdGlvbjogcmlnaHQgMzAwbXMgZWFzZTsgfVxuXG4uY3VzdG9tLWFjY29yZGlvbi5jb2xsYXBzZWQgLmFjY29yZGlvbi10cmlnZ2VyIC5wbHVzIHtcbiAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICMwMjdiYzU7XG4gIGJvcmRlci1ib3R0b206IDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gIC5jdXN0b20tYWNjb3JkaW9uIC5hY2NvcmRpb24tdHJpZ2dlciAucGx1cyB7XG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMTFweCBzb2xpZCAjMDI3YmM1OyB9XG4gIC5jdXN0b20tYWNjb3JkaW9uLmNvbGxhcHNlZCAuYWNjb3JkaW9uLXRyaWdnZXIgLnBsdXMge1xuICAgIGJvcmRlci10b3A6IDExcHggc29saWQgIzAyN2JjNTtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cblxuLyoqXG4gKiBOZXcgMjAyMCBmcm9udCBwYWdlXG4gKi9cbi5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIHtcbiAgYmFja2dyb3VuZDogIzExMzI1YiB1cmwoXCIuLi8uLi9pbWFnZXMvc3RyaXBlcy5zdmdcIikgbGVmdCBib3R0b20gcmVwZWF0LXggIWltcG9ydGFudDtcbiAgd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0zMHB4IGF1dG8gMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCB7XG4gICAgICB3aWR0aDogODIwcHggIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLnJlZ2lvbi1oaWdobGlnaHRlZCAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAuYmxvY2s6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cC5ibG9jayA+IGRpdiB7XG4gICAgcGFkZGluZzogMjVweDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCAuYmxvY2staW50ZXJpb3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAgIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIC5ibG9jay1pbnRlcmlvciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cbiAgICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCAuYmxvY2staW50ZXJpb3IgaDIge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnJlZ2lvbi1oaWdobGlnaHRlZCAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgLmJsb2NrLWludGVyaW9yOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBoMjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIC5oMi1pbm5lciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTZXJpZiBQcm9cIiwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0OHB4OyB9XG4gIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIC5ibG9ja19jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCAuZmllbGQtLW5hbWUtZmllbGQtYm9keSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0ge1xuICAgIHdpZHRoOiAzNTBweDtcbiAgICBtYXJnaW46IDEwcHggMCAwOyB9XG4gICAgLnJlZ2lvbi1oaWdobGlnaHRlZCAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUM0QTgyO1xuICAgICAgcGFkZGluZzogN3B4IDIwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2VyaWYgUHJvXCIsIHNlcmlmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyOiBzb2xpZCAycHggI2JiYjtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIGhlaWdodDogNTJweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLnJlZ2lvbi1oaWdobGlnaHRlZCAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDc2cHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDsgfSB9XG4gICAgLnJlZ2lvbi1oaWdobGlnaHRlZCAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8qIEZpcmVmb3ggMTkrICovXG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAvKiBJRSAxMCsgKi9cbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLnJlZ2lvbi1oaWdobGlnaHRlZCAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIG1pbi13aWR0aDogODBweCAhaW1wb3J0YW50O1xuICAgICAgbWluLWhlaWdodDogNTJweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiA1MnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIC5hcnJvdy1idXR0b24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiA1MnB4OyB9XG4gICAgICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIC5hcnJvdy1idXR0b24gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC0xMDAwMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIC5hcnJvdy1idXR0b246YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2Fycm93LXJpZ2h0LXNvbGlkLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHJpZ2h0OiA0MCU7XG4gICAgICAgIHRvcDogMzUlOyB9XG5cbi5ibG9jay0tdmlld3MtbGlmZS1ldmVudHMtYmxvY2stMSB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmJsb2NrLS12aWV3cy1saWZlLWV2ZW50cy1ibG9jay0xIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5ibG9jay0tdmlld3MtbGlmZS1ldmVudHMtYmxvY2stMSAuaDItaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzAyN2JjNTtcbiAgICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS44OXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1M3B4ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5ibG9jay0tdmlld3MtbGlmZS1ldmVudHMtYmxvY2stMSAuaDItaW5uZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTA1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9zdHJpcGVzLWJsdWUuc3ZnXCIpOyB9XG4gIC5ibG9jay0tdmlld3MtbGlmZS1ldmVudHMtYmxvY2stMSAudmlldy1oZWFkZXIge1xuICAgIGNvbG9yOiAjMTEzMjViO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTZXJpZiBQcm9cIiwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAzNHB4ICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjFweDtcbiAgICBsaW5lLWhlaWdodDogNDhweCAhaW1wb3J0YW50OyB9XG4gICAgLmJsb2NrLS12aWV3cy1saWZlLWV2ZW50cy1ibG9jay0xIC52aWV3LWhlYWRlciBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmJsb2NrLS12aWV3cy1saWZlLWV2ZW50cy1ibG9jay0xIC52aWV3LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuYmxvY2stLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrLTEgLnZpZXdzLXJvdyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICAgICAgLmJsb2NrLS12aWV3cy1saWZlLWV2ZW50cy1ibG9jay0xIC52aWV3cy1yb3cge1xuICAgICAgICB3aWR0aDogY2FsYyg5MCUvMik7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5ibG9jay0tdmlld3MtbGlmZS1ldmVudHMtYmxvY2stMSAudmlld3Mtcm93IHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDkwJS8zKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5ibG9jay0tdmlld3MtbGlmZS1ldmVudHMtYmxvY2stMSAudmlld3Mtcm93IHAubGluay1hcnJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiAxM3B4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgICAgIC5ibG9jay0tdmlld3MtbGlmZS1ldmVudHMtYmxvY2stMSAudmlld3Mtcm93IHAubGluay1hcnJvdyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgICAuYmxvY2stLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrLTEgLnZpZXdzLXJvdyBwLmxpbmstYXJyb3cgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTFweDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCAjMDI3YmM1O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDMwMG1zIGVhc2U7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgICAgIC5ibG9jay0tdmlld3MtbGlmZS1ldmVudHMtYmxvY2stMSAudmlld3Mtcm93IHAubGluay1hcnJvdyBhOmFmdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDsgfSB9XG4gICAgICAubm8tdG91Y2hldmVudHMgLmJsb2NrLS12aWV3cy1saWZlLWV2ZW50cy1ibG9jay0xIC52aWV3cy1yb3cgcC5saW5rLWFycm93IGE6aG92ZXI6YWZ0ZXIsIC5uby10b3VjaGV2ZW50cyAuYmxvY2stLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrLTEgLnZpZXdzLXJvdyBwLmxpbmstYXJyb3cgYTpmb2N1czphZnRlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxMXB4IHNvbGlkICMxMTMyNWI7IH1cbiAgICAuYmxvY2stLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrLTEgLnZpZXdzLXJvdyBhIHtcbiAgICAgIGNvbG9yOiAjMTEzMjVCO1xuICAgICAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cblxuLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtdG9vbGtpdCB7XG4gIGJhY2tncm91bmQ6ICMxMTMyNWI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9Ub29sa2l0X0JhY2tncm91bmQuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IDMyNXB4O1xuICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIG1hcmdpbi1yaWdodDogLTMwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDApIHtcbiAgICAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC10b29sa2l0IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ0NXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtdG9vbGtpdCB7XG4gICAgICBtaW4taGVpZ2h0OiA1NDVweDsgfSB9XG4gIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXRvb2xraXQgLmJsb2NrLWludGVyaW9yIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAgIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXRvb2xraXQgLmJsb2NrLWludGVyaW9yIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MTVweDsgfSB9XG4gICAgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtdG9vbGtpdCAuYmxvY2staW50ZXJpb3IgLmJsb2NrLWNvbnRlbnQtLTM3NyAuZmllbGQtLW5hbWUtZmllbGQtYm9keSBwLmZpZWxkLWxpbmsgYTpmb2N1cyB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiAjZmZmOyB9XG4gIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXRvb2xraXQgLmgyLWlubmVyIHtcbiAgICBjb2xvcjogIzE0QTVGRTtcbiAgICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuODlweDtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC10b29sa2l0IC5maWVsZC10aXRsZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDM0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjFweDtcbiAgICBsaW5lLWhlaWdodDogNDNweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtdG9vbGtpdCAuZmllbGQtZGVzY3JpcHRpb24ge1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2VyaWYgUHJvXCIsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDVweDtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDsgfVxuICAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC10b29sa2l0IC5maWVsZC1saW5rIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIlByb3hpbWFOb3ZhLVJlZ3VsYXJcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjY0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDUzcHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDE4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYmxvY2stLXZpZXdzLWJsb2ctZmVhdHVyZWQtYmxvY2sgLnZpZXctY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5ibG9jay0tdmlld3MtYmxvZy1mZWF0dXJlZC1ibG9jayBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmJsb2NrLS12aWV3cy1ibG9nLWZlYXR1cmVkLWJsb2NrIC5oMi1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMwMjdiYzU7XG4gIGZvbnQtZmFtaWx5OiBcIlByb3hpbWFOb3ZhLVJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxLjg5cHg7XG4gIGxpbmUtaGVpZ2h0OiA1M3B4ICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmJsb2NrLS12aWV3cy1ibG9nLWZlYXR1cmVkLWJsb2NrIC5oMi1pbm5lcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9zdHJpcGVzLWJsdWUuc3ZnXCIpOyB9XG5cbi5ibG9jay0tdmlld3MtYmxvZy1mZWF0dXJlZC1ibG9jayAudmlldy1oZWFkZXIge1xuICBjb2xvcjogIzExMzI1YjtcbiAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAzNHB4ICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xcHg7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJsb2NrLS12aWV3cy1ibG9nLWZlYXR1cmVkLWJsb2NrIC52aWV3LWhlYWRlciBwIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5ibG9jay0tdmlld3MtYmxvZy1mZWF0dXJlZC1ibG9jayAudmlld3Mtcm93IHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgLmJsb2NrLS12aWV3cy1ibG9nLWZlYXR1cmVkLWJsb2NrIC52aWV3cy1yb3cge1xuICAgICAgd2lkdGg6IGNhbGMoOTAlLzIpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5ibG9jay0tdmlld3MtYmxvZy1mZWF0dXJlZC1ibG9jayAudmlld3Mtcm93IHtcbiAgICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgICB3aWR0aDogY2FsYyg5MCUvNCk7IH0gfVxuXG4uYmxvY2stLXZpZXdzLWJsb2ctZmVhdHVyZWQtYmxvY2sgLnZpZXdzLWZpZWxkLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMzVweDtcbiAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAyMXB4ICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNnB4O1xuICBsaW5lLWhlaWdodDogMjVweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxMXB4OyB9XG4gIC5ibG9jay0tdmlld3MtYmxvZy1mZWF0dXJlZC1ibG9jayAudmlld3MtZmllbGQtdGl0bGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvc3RyaXBlcy1ncmF5LnN2Z1wiKTsgfVxuICAuYmxvY2stLXZpZXdzLWJsb2ctZmVhdHVyZWQtYmxvY2sgLnZpZXdzLWZpZWxkLXRpdGxlIGEge1xuICAgIGNvbG9yOiAjMTEzMjViOyB9XG5cbi5ibG9jay0tdmlld3MtYmxvZy1mZWF0dXJlZC1ibG9jayAudmlld3MtZmllbGQtY3JlYXRlZCB7XG4gIGNvbG9yOiAjNTQ1QjYzO1xuICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMS41MnB4O1xuICBsaW5lLWhlaWdodDogMTRweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5ibG9jay0tdmlld3MtYmxvZy1mZWF0dXJlZC1ibG9jayAudmlld3MtZmllbGQtYm9keSB7XG4gIGNvbG9yOiAjNTQ1QjYzO1xuICBmb250LWZhbWlseTogXCJTb3VyY2UgU2VyaWYgUHJvXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7IH1cblxuLmJsb2NrLS12aWV3cy1ibG9nLWZlYXR1cmVkLWJsb2NrIC52aWV3LWZvb3RlciBhIHtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtUmVndWxhclwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxLjY0cHg7XG4gIGxpbmUtaGVpZ2h0OiA1M3B4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMTgwcHggIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAuYmxvY2stLXZpZXdzLWJsb2ctZmVhdHVyZWQtYmxvY2sgLnZpZXctZm9vdGVyIGEge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi8qKlxuICogTmV3IDIwMjAgTGlmZSBFdmVudHMgcGFnZS5cbiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucmVkZXNpZ24tbGlmZS1ldmVudHMtMjAyMCAjdGl0bGluZyB7XG4gICAgd2lkdGg6IDY3LjQlOyB9IH1cblxuLnJlZGVzaWduLWxpZmUtZXZlbnRzLTIwMjAgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDU4cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnJlZGVzaWduLWxpZmUtZXZlbnRzLTIwMjAgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLnJlZGVzaWduLWxpZmUtZXZlbnRzLTIwMjAgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5yZWRlc2lnbi1saWZlLWV2ZW50cy0yMDIwICN0aXRsaW5nIC50aXRsZS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG4gIC5yZWRlc2lnbi1saWZlLWV2ZW50cy0yMDIwICN0aXRsaW5nIC50aXRsZS13cmFwcGVyICoge1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5yZWRlc2lnbi1saWZlLWV2ZW50cy0yMDIwICN0aXRsaW5nIC50aXRsZS13cmFwcGVyIGgxI3BhZ2UtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnJlZGVzaWduLWxpZmUtZXZlbnRzLTIwMjAgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIgLmJsb2NrLXBhZ2UtdGl0bGUtYmxvY2sgfiAuYmxvY2sgKiB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4OyB9XG5cbi52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgPiAudmlldy1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogLTE2MHB4O1xuICAgIHotaW5kZXg6IDUwMDtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2VyaWYgUHJvXCIsIHNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAgIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSA+IC52aWV3LWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNzVweDtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS43OyB9IH1cbiAgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xID4gLnZpZXctY29udGVudCA+IC52aWV3cy1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgPiAudmlldy1jb250ZW50ID4gLnZpZXdzLXJvdzpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICAgICAgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xID4gLnZpZXctY29udGVudCA+IC52aWV3cy1yb3c6bnRoLWNoaWxkKG9kZCkgLnZpZXdzLWZpZWxkLWZpZWxkLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgICAgICB6LWluZGV4OiAyOyB9IH1cbiAgICAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgPiAudmlldy1jb250ZW50ID4gLnZpZXdzLXJvdzpudGgtY2hpbGQob2RkKSAudmlld3MtZmllbGQtbm90aGluZyA+IC5maWVsZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDYwcHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAgIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSA+IC52aWV3LWNvbnRlbnQgPiAudmlld3Mtcm93Om50aC1jaGlsZChvZGQpIC52aWV3cy1maWVsZC1ub3RoaW5nID4gLmZpZWxkLWNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDEyMHB4IDEyMHB4IDEyMHB4IDgwcHg7XG4gICAgICAgICAgd2lkdGg6IGluaGVyaXQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICAgICAgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xID4gLnZpZXctY29udGVudCA+IC52aWV3cy1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICAgICAgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xID4gLnZpZXctY29udGVudCA+IC52aWV3cy1yb3c6bnRoLWNoaWxkKGV2ZW4pIC52aWV3cy1maWVsZC1maWVsZC1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTQwcHg7XG4gICAgICAgIHotaW5kZXg6IDI7IH0gfVxuICAgIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSA+IC52aWV3LWNvbnRlbnQgPiAudmlld3Mtcm93Om50aC1jaGlsZChldmVuKSAudmlld3MtZmllbGQtbm90aGluZyA+IC5maWVsZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDYwcHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAgIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSA+IC52aWV3LWNvbnRlbnQgPiAudmlld3Mtcm93Om50aC1jaGlsZChldmVuKSAudmlld3MtZmllbGQtbm90aGluZyA+IC5maWVsZC1jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAxMjBweCA4MHB4IDEyMHB4IDEyMHB4O1xuICAgICAgICAgIHdpZHRoOiBpbmhlcml0OyB9IH1cbiAgICAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgPiAudmlldy1jb250ZW50ID4gLnZpZXdzLXJvdzpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLnZpZXdzLWZpZWxkLW5vdGhpbmcgPiAuZmllbGQtY29udGVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICNGMUYzRjQ7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAudmlld3MtZmllbGQtbm90aGluZyxcbiAgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xIC52aWV3cy1maWVsZC1maWVsZC1pbWFnZSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICAgIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAuY29udGVudC13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAzNzVweDsgfSB9XG4gIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAuY29udGVudC13cmFwcGVyIGgzIHtcbiAgICBjb2xvcjogIzAyN2JjNTtcbiAgICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS44OXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1M3B4ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDdweDsgfVxuICAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLmNvbnRlbnQtd3JhcHBlciAudmlldy1oZWFkZXIge1xuICAgIGNvbG9yOiAjMTEzMjViO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTZXJpZiBQcm9cIiwgc2VyaWY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjFweDtcbiAgICBsaW5lLWhlaWdodDogNDhweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICBmb250LXNpemU6IDMuNHJlbTsgfVxuICAudmlldy0tbGlmZS1ldmVudHMudmlldy0tZGlzcGxheS1pZC1wYWdlLTEgLmNvbnRlbnQtd3JhcHBlciAudmlldy1oZWFkZXIgKyBwIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICMxMTMyNWI7XG4gICAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDZweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IDExcHg7IH1cbiAgLnZpZXctLWxpZmUtZXZlbnRzLnZpZXctLWRpc3BsYXktaWQtcGFnZS0xIC5jb250ZW50LXdyYXBwZXIgLnZpZXdzLWZpZWxkLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2VyaWYgUHJvXCIsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjFweCAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDsgfVxuICAgIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAuY29udGVudC13cmFwcGVyIC52aWV3cy1maWVsZC10aXRsZSBhIHtcbiAgICAgIGNvbG9yOiAjMTEzMjViOyB9XG4gIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAuY29udGVudC13cmFwcGVyIC52aWV3LS1saWZlLWV2ZW50cy1hcnRpY2xlcyAudmlld3Mtcm93IHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0Q5REFEQjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4gIC52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSAuY29udGVudC13cmFwcGVyIC5idXR0b24tdmlldy1hbGwgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtUmVndWxhclwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNjRweDtcbiAgICBsaW5lLWhlaWdodDogNTNweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMTgwcHggIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCB7XG4gIGJhY2tncm91bmQ6ICMxMTMyNWIgdXJsKFwiLi4vLi4vaW1hZ2VzL3N0cmlwZXMuc3ZnXCIpIGxlZnQgYm90dG9tIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwLmJsb2NrID4gZGl2IHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAuYmxvY2sgPiBkaXYge1xuICAgICAgICBwYWRkaW5nOiAzOHB4IDkwcHggMzhweCA1M3B4OyB9IH1cbiAgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIC5ibG9jay1pbnRlcmlvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgLmJsb2NrLWludGVyaW9yIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBoMjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCAuaDItaW5uZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogXCJTb3VyY2UgU2VyaWYgUHJvXCIsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDhweDtcbiAgICBsaW5lLWhlaWdodDogNDhweDsgfVxuICAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgLmJsb2NrX2NvbnRlbnQge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICAgIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIHtcbiAgICAgIHdpZHRoOiAzNTBweDsgfSB9XG4gIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUM0QTgyO1xuICAgIHBhZGRpbmc6IDdweCAyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTZXJpZiBQcm9cIiwgc2VyaWY7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IHNvbGlkIDJweCAjYmJiO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgYm9yZGVyOiAwO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgaGVpZ2h0OiA2NnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAgIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGhlaWdodDogNzZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDc2cHg7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIC8qIEZpcmVmb3ggMTkrICovXG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgLyogSUUgMTArICovXG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIC8qIEZpcmVmb3ggMTgtICovXG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGhlaWdodDogNjZweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogODBweCAhaW1wb3J0YW50OyB9XG4gIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCBmb3JtIC5hcnJvdy1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAgZm9ybSAuYXJyb3ctYnV0dG9uIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgICB0ZXh0LWluZGVudDogLTEwMDAwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmJsb2NrLS1mdGMtbWlsaXRhcnktY3VzdG9tLXJlZGVzaWduLTIwMjAtc2lnbnVwIGZvcm0gLmFycm93LWJ1dHRvbjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2Fycm93LXJpZ2h0LXNvbGlkLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHJpZ2h0OiA0MCU7XG4gICAgICB0b3A6IDM1JTsgfVxuXG4jdGl0bGluZyAudGl0bGUtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICMxMTMyNWIgdXJsKFwiLi4vLi4vaW1hZ2VzL3N0cmlwZXMuc3ZnXCIpIGxlZnQgYm90dG9tIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICAgICN0aXRsaW5nIC50aXRsZS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG5cbi8qIERydXBhbCBTcGVjaWZpYyBjb21wb25lbnRzICovXG4vKipcbiAqIE1lc3NhZ2VzLlxuICovXG4ubWVzc2FnZXMsIC5tZXNzYWdlcy0tc3RhdHVzLCAubWVzc2FnZXMtLXdhcm5pbmcsIC5tZXNzYWdlcy0tZXJyb3Ige1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggNTBweDtcbiAgLyogTFRSICovXG4gIGJvcmRlcjogMXB4IHNvbGlkICNiZTc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubWVzc2FnZXM6YmVmb3JlLCAubWVzc2FnZXMtLXN0YXR1czpiZWZvcmUsIC5tZXNzYWdlcy0td2FybmluZzpiZWZvcmUsIC5tZXNzYWdlcy0tZXJyb3I6YmVmb3JlIHtcbiAgICBjb250ZW50OiAn4pyTJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4O1xuICAgIGxlZnQ6IDhweDtcbiAgICBjb2xvcjogI2JlNztcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHdpZHRoOiAxLjVlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuaDMubWVzc2FnZV9fdGl0bGUge1xuICBtYXJnaW46IDA7IH1cblxuLm1lc3NhZ2VzLS13YXJuaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWQ1OyB9XG4gIC5tZXNzYWdlcy0td2FybmluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICchJztcbiAgICBjb2xvcjogI2VkNTsgfVxuXG4ubWVzc2FnZXMtLWVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWQ1NDFkOyB9XG4gIC5tZXNzYWdlcy0tZXJyb3I6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnw5cnO1xuICAgIGNvbG9yOiAjZWQ1NDFkOyB9XG5cbi5tZXNzYWdlc19fbGlzdCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubWVzc2FnZXNfX2l0ZW0ge1xuICBsaXN0LXN0eWxlLWltYWdlOiBub25lOyB9XG5cbi8qIENvcmUvbW9kdWxlIGluc3RhbGxhdGlvbiBlcnJvciBtZXNzYWdlcy4gKi9cbi5tZXNzYWdlcy0tZXJyb3IgcC5lcnJvciB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi8qIFN5c3RlbSBzdGF0dXMgcmVwb3J0LiAqL1xuLm9rLFxuLm1lc3NhZ2VzLS1zdGF0dXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmZmYwO1xuICBjb2xvcjogIzIzNDYwMDsgfVxuXG4ud2FybmluZyxcbi5tZXNzYWdlcy0td2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZjZTU7XG4gIGNvbG9yOiAjODQwOyB9XG5cbi5lcnJvcixcbi5tZXNzYWdlcy0tZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmNWYxO1xuICBjb2xvcjogIzhjMmUwYjsgfVxuXG4vKipcbiAqIFRhYnMuXG4gKi9cbi8qIEJhc2ljIHBvc2l0aW9uaW5nIHN0eWxlcyBzaGFyZWQgYnkgcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IHRhYnMuICovXG4udGFicy1wcmltYXJ5LFxuLnRhYnMucHJpbWFyeSwgLnRhYnMtc2Vjb25kYXJ5IHtcbiAgLyogSUUgOSBhbmQgZWFybGllciBkb24ndCB1bmRlcnN0YW5kIGdyYWRpZW50cy4gKi9cbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nOiAwIDJweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtUmVndWxhclwiLCBzYW5zLXNlcmlmOyB9XG4gIC50YWJzLXByaW1hcnk6OmFmdGVyLFxuICAudGFicy5wcmltYXJ5OjphZnRlciwgLnRhYnMtc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGFicy5wcmltYXJ5ID4gbGksXG4udGFicy1wcmltYXJ5X190YWIsIC50YWJzLnByaW1hcnkgPiBsaS5pcy1hY3RpdmUsXG4udGFicy1wcmltYXJ5X190YWIuaXMtYWN0aXZlLCAudGFicy1zZWNvbmRhcnlfX3RhYixcbi50YWJzLXNlY29uZGFyeV9fdGFiLmlzLWFjdGl2ZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICAvKiBMVFIgKi9cbiAgbWFyZ2luOiAwIDNweDsgfVxuXG4udGFicy5wcmltYXJ5ID4gbGkgPiBhLFxuYS50YWJzLXByaW1hcnlfX3RhYi1saW5rLCAudGFicy5wcmltYXJ5ID4gbGkuaXMtYWN0aXZlID4gYS5pcy1hY3RpdmUsXG5hLnRhYnMtcHJpbWFyeV9fdGFiLWxpbmsuaXMtYWN0aXZlLCBhLnRhYnMtc2Vjb25kYXJ5X190YWItbGluaywgYS50YWJzLXNlY29uZGFyeV9fdGFiLWxpbmsuaXMtYWN0aXZlIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDAuNzMzMTVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuN2VtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBQcmltYXJ5IHRhYnMuICovXG4udGFicy5wcmltYXJ5ID4gbGksXG4udGFicy1wcmltYXJ5X190YWIsXG4udGFicy5wcmltYXJ5ID4gbGkuaXMtYWN0aXZlLFxuLnRhYnMtcHJpbWFyeV9fdGFiLmlzLWFjdGl2ZSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgLyogSUUgOSBhbmQgZWFybGllciBkb24ndCB1bmRlcnN0YW5kIGdyYWRpZW50cy4gKi9cbiAgYm9yZGVyLWJvdHRvbTogMCBcXDAvaWU7IH1cblxuLnRhYnMucHJpbWFyeSA+IGxpLmlzLWFjdGl2ZSxcbi50YWJzLnByaW1hcnkgPiBsaS5pcy1hY3RpdmUsXG4uaXMtYWN0aXZlLnRhYnMtcHJpbWFyeV9fdGFiIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuXG4udGFicy5wcmltYXJ5ID4gbGkgPiBhLFxuYS50YWJzLXByaW1hcnlfX3RhYi1saW5rLCAudGFicy5wcmltYXJ5ID4gbGkuaXMtYWN0aXZlID4gYS5pcy1hY3RpdmUsXG5hLnRhYnMtcHJpbWFyeV9fdGFiLWxpbmsuaXMtYWN0aXZlIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcbiAgcGFkZGluZzogMCAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLFxuYS50YWJzLXByaW1hcnlfX3RhYi1saW5rOmhvdmVyLFxuYS50YWJzLXByaW1hcnlfX3RhYi1saW5rOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZTllOTtcbiAgYm9yZGVyLWNvbG9yOiAjZjJmMmYyOyB9XG5cbi50YWJzLnByaW1hcnkgPiBsaSA+IGE6YWN0aXZlLFxuYS50YWJzLXByaW1hcnlfX3RhYi1saW5rOmFjdGl2ZSwgLnRhYnMucHJpbWFyeSA+IGxpLmlzLWFjdGl2ZSA+IGEuaXMtYWN0aXZlLFxuYS50YWJzLXByaW1hcnlfX3RhYi1saW5rLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICNmZmY7IH1cblxuLyogU2Vjb25kYXJ5IHRhYnMuICovXG4udGFicy1zZWNvbmRhcnkge1xuICBmb250LXNpemU6IC45ZW07XG4gIC8qIENvbGxhcHNlIGJvdHRvbSBtYXJnaW4gb2YgdWwucHJpbWFyeS4gKi9cbiAgbWFyZ2luLXRvcDogLTIwcHg7IH1cblxuLnRhYnMtc2Vjb25kYXJ5X190YWIsXG4udGFicy1zZWNvbmRhcnlfX3RhYi5pcy1hY3RpdmUge1xuICBtYXJnaW46IDEwcHggM3B4OyB9XG5cbmEudGFicy1zZWNvbmRhcnlfX3RhYi1saW5rLCBhLnRhYnMtc2Vjb25kYXJ5X190YWItbGluay5pcy1hY3RpdmUge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAuNzVlbTtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwLjc1ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVlbTtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG4gIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgY29sb3I6ICM2NjY7XG4gIHBhZGRpbmc6IDAgLjVlbTsgfVxuXG5hLnRhYnMtc2Vjb25kYXJ5X190YWItbGluazpob3ZlciwgYS50YWJzLXNlY29uZGFyeV9fdGFiLWxpbms6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuICBib3JkZXItY29sb3I6ICM5OTk7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbmEudGFicy1zZWNvbmRhcnlfX3RhYi1saW5rOmFjdGl2ZSwgYS50YWJzLXNlY29uZGFyeV9fdGFiLWxpbmsuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uYmxvY2stbG9jYWwtdGFza3MtYmxvY2sge1xuICBtYXJnaW46IDRyZW0gMDsgfVxuICAuYmxvY2stbG9jYWwtdGFza3MtYmxvY2sgLnVzYS1idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiBJbnRlciwgSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjQ5cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZWEyO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjhyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgIHBhZGRpbmc6IDIuNHJlbSAzcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcyBsaW5lYXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2NWNiNDsgfVxuICAgIC5ibG9jay1sb2NhbC10YXNrcy1ibG9jayAudXNhLWJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MmU1MTsgfVxuXG4vKipcbiAqIFVucHVibGlzaGVkIG5vdGUuXG4gKi9cbi8qIFRoZSB3b3JkIFwiVW5wdWJsaXNoZWRcIiBkaXNwbGF5ZWQgdW5kZXJuZWF0aCB0aGUgY29udGVudC4gKi9cbi51bnB1Ymxpc2hlZCB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIFJlbW92ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodGluZyBmcm9tIDxtYXJrPiBpbiBub3JtYWxpemUuICovXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2Q4ZDhkODtcbiAgZm9udC1zaXplOiA3NXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1mYW1pbHk6IEltcGFjdCwgXCJBcmlhbCBOYXJyb3dcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvKiBBIHZlcnkgbmljZSBDU1MzIHByb3BlcnR5LiAqL1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cblxuLmZpZWxkLWl0ZW0gPiAqOmZpcnN0LWNoaWxkLFxuLmJsb2NrLWNvbnRlbnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZmllbGQtaXRlbSA+ICo6bGFzdC1jaGlsZCxcbi5ibG9jay1jb250ZW50ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmllbGQge1xuICBtYXJnaW46IDAuNWVtIDA7IH1cbiAgLmZpZWxkIC5maWVsZC1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jcGFnZS1jb250cm9sLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjcGFnZS1jb250cm9sLWNvbnRhaW5lciAuY29udHJvbC10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAjcGFnZS1jb250cm9sLWNvbnRhaW5lciAuY29udHJvbC10b2dnbGUgc3BhbiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyogV29yZFByZXNzIFNwZWNpZmljIGNvbXBvbmVudHMgKi9cbi8qIERlZmF1bHQgV29yZFByZXNzIHNjcmVlbiByZWFkZXIgc3R5bGUgKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IH1cblxuLypcclxuICogVGhlIHNraXAtbGluayBsaW5rIHdpbGwgYmUgY29tcGxldGVseSBoaWRkZW4gdW50aWwgYSB1c2VyIHRhYnMgdG8gdGhlIGxpbmsuXHJcbiAqL1xuI3NraXAtbGluayB7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwMTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgI3NraXAtbGluayBhLFxuICAjc2tpcC1saW5rIGE6dmlzaXRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMnB4IDAgM3B4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLyogUmVnaW9uIHJ1bGVzICovXG4jYmFubmVyIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAjYmFubmVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBib2R5Lm1jZy1ibG9nICNiYW5uZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cbiAgI2Jhbm5lciAuYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI2Jhbm5lciAucmVnaW9uLWJhbm5lcixcbiAgI2Jhbm5lciAudmlldy1iYW5uZXJzLFxuICAjYmFubmVyIC52aWV3LS1iYW5uZXJzLXRlcm0tcGFnZXMge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC00MHB4OyB9XG4gICAgLmZyb250ICNiYW5uZXIgLnJlZ2lvbi1iYW5uZXIsIC5mcm9udFxuICAgICNiYW5uZXIgLnZpZXctYmFubmVycywgLmZyb250XG4gICAgI2Jhbm5lciAudmlldy0tYmFubmVycy10ZXJtLXBhZ2VzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgICAjYmFubmVyIC5yZWdpb24tYmFubmVyIGltZyxcbiAgICAjYmFubmVyIC52aWV3LWJhbm5lcnMgaW1nLFxuICAgICNiYW5uZXIgLnZpZXctLWJhbm5lcnMtdGVybS1wYWdlcyBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICAgICAgICAjYmFubmVyIC5yZWdpb24tYmFubmVyIGltZyxcbiAgICAgICAgI2Jhbm5lciAudmlldy1iYW5uZXJzIGltZyxcbiAgICAgICAgI2Jhbm5lciAudmlldy0tYmFubmVycy10ZXJtLXBhZ2VzIGltZyB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMjEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBvYmplY3QtZml0OiBmaWxsOyB9IH1cbiAgI2Jhbm5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4jY29udGVudCB7XG4gIC8qIEJMT0cgKi9cbiAgLyogUmVzb3VyY2VzIExpc3RpbmcgKi9cbiAgLyogQkxPRyAqLyB9XG4gICNjb250ZW50IC5oYXMtYmFubmVyLWltYWdlLCAjY29udGVudCAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkge1xuICAgICAgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgPiAuYmxvY2staW50ZXJpb3IgPiBoMjpiZWZvcmUsICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayA+IC5ibG9jay1pbnRlcmlvciA+IGgyOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IC0zM3B4O1xuICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGU3LnBuZykgbGVmdCBib3R0b20gcmVwZWF0LXg7XG4gICAgICAgIHdpZHRoOiA3NjBweDsgfSB9XG4gICAgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgLmNvbnRleHR1YWwtbGlua3MtcmVnaW9uLCAjY29udGVudCAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgLmNvbnRleHR1YWwtbGlua3MtcmVnaW9uIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAjY29udGVudCAuaGFzLWJhbm5lci1pbWFnZSAuYmFubmVyLWltYWdlLXdyYXBwZXIsICNjb250ZW50IC5oYXMtYmFubmVyLWltYWdlIC52aWV3cy1maWVsZC1maWVsZC1iYW5uZXItaW1hZ2UgLmNvbnRlbnQsICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayAuYmFubmVyLWltYWdlLXdyYXBwZXIsICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayAudmlld3MtZmllbGQtZmllbGQtYmFubmVyLWltYWdlIC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0b3A6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDsgfVxuICAgICAgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgLmJhbm5lci1pbWFnZS13cmFwcGVyIGltZywgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgLnZpZXdzLWZpZWxkLWZpZWxkLWJhbm5lci1pbWFnZSAuY29udGVudCBpbWcsICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayAuYmFubmVyLWltYWdlLXdyYXBwZXIgaW1nLCAjY29udGVudCAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgLnZpZXdzLWZpZWxkLWZpZWxkLWJhbm5lci1pbWFnZSAuY29udGVudCBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogLjU7IH1cbiAgICAjY29udGVudCAuaGFzLWJhbm5lci1pbWFnZSAuYmxvY2staW50ZXJpb3IgPiAuY29udGVudCA+IC52aWV3ID4gLnZpZXctY29udGVudCwgI2NvbnRlbnQgI2Jsb2NrLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrIC5ibG9jay1pbnRlcmlvciA+IC5jb250ZW50ID4gLnZpZXcgPiAudmlldy1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAgICNjb250ZW50IC5oYXMtYmFubmVyLWltYWdlIC5ibG9jay1pbnRlcmlvciA+IC5jb250ZW50ID4gLnZpZXcgPiAudmlldy1jb250ZW50LCAjY29udGVudCAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNTAuNiU7IH0gfVxuICAgICAgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCwgI2NvbnRlbnQgI2Jsb2NrLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrIC5ibG9jay1pbnRlcmlvciA+IC5jb250ZW50ID4gLnZpZXcgPiAudmlldy1jb250ZW50IHAge1xuICAgICAgICBtYXgtd2lkdGg6IDcyMHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MjNweCkge1xuICAgICAgICAgICNjb250ZW50IC5oYXMtYmFubmVyLWltYWdlIC5ibG9jay1pbnRlcmlvciA+IC5jb250ZW50ID4gLnZpZXcgPiAudmlldy1jb250ZW50IHAsICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayAuYmxvY2staW50ZXJpb3IgPiAuY29udGVudCA+IC52aWV3ID4gLnZpZXctY29udGVudCBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfSB9XG4gICAgICAjY29udGVudCAuaGFzLWJhbm5lci1pbWFnZSAuYmxvY2staW50ZXJpb3IgPiAuY29udGVudCA+IC52aWV3ID4gLnZpZXctY29udGVudCBwIGEsICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayAuYmxvY2staW50ZXJpb3IgPiAuY29udGVudCA+IC52aWV3ID4gLnZpZXctY29udGVudCBwIGEge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTZXJpZiBQcm9cIiwgc2VyaWY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDMwMG1zIGVhc2U7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAgICAgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhLCAjY29udGVudCAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAgICAgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhLCAjY29udGVudCAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7IH0gfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhOmhvdmVyLCAubm8tdG91Y2hldmVudHMgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhOmZvY3VzLCAubm8tdG91Y2hldmVudHMgI2NvbnRlbnQgI2Jsb2NrLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrIC5ibG9jay1pbnRlcmlvciA+IC5jb250ZW50ID4gLnZpZXcgPiAudmlldy1jb250ZW50IHAgYTpob3ZlciwgLm5vLXRvdWNoZXZlbnRzICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayAuYmxvY2staW50ZXJpb3IgPiAuY29udGVudCA+IC52aWV3ID4gLnZpZXctY29udGVudCBwIGE6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjMjVhN2ZiICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhOmFmdGVyLCAjY29udGVudCAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiA5cHggc29saWQgI0ZGRjtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMzAwbXMgZWFzZTsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgICAgICAgICAgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhOmFmdGVyLCAjY29udGVudCAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxOHB4IHNvbGlkICNGRkY7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4OyB9IH1cbiAgICAgICAgLm5vLXRvdWNoZXZlbnRzICNjb250ZW50IC5oYXMtYmFubmVyLWltYWdlIC5ibG9jay1pbnRlcmlvciA+IC5jb250ZW50ID4gLnZpZXcgPiAudmlldy1jb250ZW50IHAgYTpob3ZlciwgLm5vLXRvdWNoZXZlbnRzICNjb250ZW50IC5oYXMtYmFubmVyLWltYWdlIC5ibG9jay1pbnRlcmlvciA+IC5jb250ZW50ID4gLnZpZXcgPiAudmlldy1jb250ZW50IHAgYTpmb2N1cywgLm5vLXRvdWNoZXZlbnRzICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayAuYmxvY2staW50ZXJpb3IgPiAuY29udGVudCA+IC52aWV3ID4gLnZpZXctY29udGVudCBwIGE6aG92ZXIsIC5uby10b3VjaGV2ZW50cyAjY29udGVudCAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogIzExMzI1YjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgICAubm8tdG91Y2hldmVudHMgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhOmhvdmVyOmFmdGVyLCAubm8tdG91Y2hldmVudHMgI2NvbnRlbnQgLmhhcy1iYW5uZXItaW1hZ2UgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhOmZvY3VzOmFmdGVyLCAubm8tdG91Y2hldmVudHMgI2NvbnRlbnQgI2Jsb2NrLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrIC5ibG9jay1pbnRlcmlvciA+IC5jb250ZW50ID4gLnZpZXcgPiAudmlldy1jb250ZW50IHAgYTpob3ZlcjphZnRlciwgLm5vLXRvdWNoZXZlbnRzICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayAuYmxvY2staW50ZXJpb3IgPiAuY29udGVudCA+IC52aWV3ID4gLnZpZXctY29udGVudCBwIGE6Zm9jdXM6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDlweCBzb2xpZCAjMjVhN2ZiOyB9XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgICAgICAgICAgICAgLm5vLXRvdWNoZXZlbnRzICNjb250ZW50IC5oYXMtYmFubmVyLWltYWdlIC5ibG9jay1pbnRlcmlvciA+IC5jb250ZW50ID4gLnZpZXcgPiAudmlldy1jb250ZW50IHAgYTpob3ZlcjphZnRlciwgLm5vLXRvdWNoZXZlbnRzICNjb250ZW50IC5oYXMtYmFubmVyLWltYWdlIC5ibG9jay1pbnRlcmlvciA+IC5jb250ZW50ID4gLnZpZXcgPiAudmlldy1jb250ZW50IHAgYTpmb2N1czphZnRlciwgLm5vLXRvdWNoZXZlbnRzICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayAuYmxvY2staW50ZXJpb3IgPiAuY29udGVudCA+IC52aWV3ID4gLnZpZXctY29udGVudCBwIGE6aG92ZXI6YWZ0ZXIsIC5uby10b3VjaGV2ZW50cyAjY29udGVudCAjYmxvY2stdmlld3MtbGlmZS1ldmVudHMtYmxvY2sgLmJsb2NrLWludGVyaW9yID4gLmNvbnRlbnQgPiAudmlldyA+IC52aWV3LWNvbnRlbnQgcCBhOmZvY3VzOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMThweCBzb2xpZCAjMjVhN2ZiOyB9IH1cbiAgI2NvbnRlbnQgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIlByb3hpbWFOb3ZhLVJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAjY29udGVudCBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgICAgICNjb250ZW50IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzN3B4O1xuICAgICAgICBmb250LXNpemU6IDMuN3JlbTsgfSB9XG4gICAgI2NvbnRlbnQgaDIgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAjY29udGVudCBoMiAqLCAjY29udGVudCBoMiBhICoge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICNjb250ZW50IHAgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogNHJlbTsgfVxuICAjY29udGVudCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkyM3B4KSB7XG4gICAgICAjY29udGVudCB1bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAjY29udGVudCB1bCA+IGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgI2NvbnRlbnQgdWwgdWwgPiBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICNjb250ZW50IHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNjb250ZW50IHVsIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS0xeC5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNTBweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMHB4IDIwMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTIzcHg7XG4gICAgICB0b3A6IDEycHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MjNweCkge1xuICAgICAgICAjY29udGVudCB1bCBsaTpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MHB4IDE1MHB4O1xuICAgICAgICAgIHRvcDogN3B4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgICAjY29udGVudCB1bCBsaTpiZWZvcmUge1xuICAgICAgICAgIHRvcDogM3B4OyB9IH1cbiAgICAjY29udGVudCB1bCB1bCB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgI2NvbnRlbnQgdWwgbGkgbGk6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTc1cHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MjNweCkge1xuICAgICAgICAjY29udGVudCB1bCBsaSBsaTpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEzMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTUwcHggMTUwcHg7IH0gfVxuICAgICNjb250ZW50IHVsLnRhYnMgbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2NvbnRlbnQgLmZpZWxkLS1saWZlLWV2ZW50cyB7XG4gICAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXNpemU6IDIuMnJlbTsgfVxuICAgICNjb250ZW50IC5maWVsZC0tbGlmZS1ldmVudHMgLmZpZWxkLWxhYmVsIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgICNjb250ZW50IC5maWVsZC0tbGlmZS1ldmVudHMgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5uby10b3VjaGV2ZW50cyAjY29udGVudCAuZmllbGQtLWxpZmUtZXZlbnRzIGE6aG92ZXIsIC5uby10b3VjaGV2ZW50cyAjY29udGVudCAuZmllbGQtLWxpZmUtZXZlbnRzIGE6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAjY29udGVudCAuZmllbGQtLWRvd25sb2FkIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9XG4gICAgI2NvbnRlbnQgLmZpZWxkLS1kb3dubG9hZCBpbWcsICNjb250ZW50IC5maWVsZC0tZG93bmxvYWQgLmZpbGUtc2l6ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH1cbiAgI2NvbnRlbnQgLmZpZWxkLS1kYXRlLWF1dGhvci1maWVsZCB7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG4gICNjb250ZW50IC5kYXRlLWF1dGhvci10aXRsZS1ncm91cCxcbiAgI2NvbnRlbnQgLmZpZWxkLS1kYXRlLWF1dGhvci1maWVsZCwgI2NvbnRlbnQgLmZpZWxkLS1wb3N0LWRhdGUsICNjb250ZW50IC5maWVsZC0tYXV0aG9yIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIG1hcmdpbjogMCAxZW0gLjVlbSAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gICAgICAjY29udGVudCAuZGF0ZS1hdXRob3ItdGl0bGUtZ3JvdXAsXG4gICAgICAjY29udGVudCAuZmllbGQtLWRhdGUtYXV0aG9yLWZpZWxkLCAjY29udGVudCAuZmllbGQtLXBvc3QtZGF0ZSwgI2NvbnRlbnQgLmZpZWxkLS1hdXRob3Ige1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgICAgI2NvbnRlbnQgLmRhdGUtYXV0aG9yLXRpdGxlLWdyb3VwICosXG4gICAgICAgICNjb250ZW50IC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQgKiwgI2NvbnRlbnQgLmZpZWxkLS1wb3N0LWRhdGUgKiwgI2NvbnRlbnQgLmZpZWxkLS1hdXRob3IgKiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cbiAgI2NvbnRlbnQgLmZpZWxkLS1kYXRlLWF1dGhvci1maWVsZCA+IGRpdjphZnRlciwgI2NvbnRlbnQgLmZpZWxkLS1hdXRob3IgPiBkaXY6YWZ0ZXIsICNjb250ZW50IC5kYXRlLWF1dGhvci10aXRsZS1ncm91cDphZnRlciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjREREO1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjY29udGVudCAuZmllbGQtLWRhdGUtYXV0aG9yLWZpZWxkID4gZGl2IC5maWVsZC0tbmFtZS1maWVsZC1kYXRlLXRpbWUsICNjb250ZW50IC5maWVsZC0tYXV0aG9yID4gZGl2IC5maWVsZC0tbmFtZS1maWVsZC1kYXRlLXRpbWUsICNjb250ZW50IC5kYXRlLWF1dGhvci10aXRsZS1ncm91cCAuZmllbGQtLW5hbWUtZmllbGQtZGF0ZS10aW1lIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgI2NvbnRlbnQgLmZpZWxkLS1kYXRlLWF1dGhvci1maWVsZCA+IGRpdiAuZmllbGQtLW5hbWUtZmllbGQtYXV0aG9yICsgLmZpZWxkLS1uYW1lLWZpZWxkLWF1dGhvci10aXRsZTpiZWZvcmUsICNjb250ZW50IC5maWVsZC0tYXV0aG9yID4gZGl2IC5maWVsZC0tbmFtZS1maWVsZC1hdXRob3IgKyAuZmllbGQtLW5hbWUtZmllbGQtYXV0aG9yLXRpdGxlOmJlZm9yZSwgI2NvbnRlbnQgLmRhdGUtYXV0aG9yLXRpdGxlLWdyb3VwIC5maWVsZC0tbmFtZS1maWVsZC1hdXRob3IgKyAuZmllbGQtLW5hbWUtZmllbGQtYXV0aG9yLXRpdGxlOmJlZm9yZSB7XG4gICAgY29udGVudDogJywgJztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTJweDsgfVxuICAjY29udGVudCAudGVybS1saXN0aW5nLWhlYWRpbmcgLnRheG9ub215LXRlcm0tZGVzY3JpcHRpb24ge1xuICAgIG1heC13aWR0aDogODIwcHg7IH1cbiAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyB7XG4gICAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3Mge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7IH1cbiAgICAgICAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyAudmlld3Mtcm93IHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgICAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLnZpZXdzLXJvdy52aWV3cy1yb3ctb2RkIHtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLnZpZXdzLXJvdyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0sXG4gICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSBpbWcsXG4gICAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyAuZmVhdHVyZWRfYmxvY2sgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbiAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgICAgICAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0gaW1nLFxuICAgICAgICAjY29udGVudCAuZmVhdHVyZWQtdG9waWMtYmxvY2tzIC5mZWF0dXJlZF9ibG9jayBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgICAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0gaW1nLFxuICAgICAgICAjY29udGVudCAuZmVhdHVyZWQtdG9waWMtYmxvY2tzIC5mZWF0dXJlZF9ibG9jayBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxNzAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzUlO1xuICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gICAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW06aG92ZXIgaW1nLFxuICAgICNjb250ZW50IC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtOmZvY3VzLXdpdGhpbiBpbWcsXG4gICAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0uaG92ZXIgaW1nLFxuICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrOmhvdmVyIGltZyxcbiAgICAjY29udGVudCAuZmVhdHVyZWQtdG9waWMtYmxvY2tzIC5mZWF0dXJlZF9ibG9jazpmb2N1cy13aXRoaW4gaW1nLFxuICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrLmhvdmVyIGltZyB7XG4gICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApOyB9XG4gICAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0gLmZpZWxkLFxuICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5maWVsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSAuZmllbGQtLW5hbWUtZmllbGQtYm9keSxcbiAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSAuZmVhdHVyZWRfY29udGVudCxcbiAgICAjY29udGVudCAuZmVhdHVyZWQtdG9waWMtYmxvY2tzIC5mZWF0dXJlZF9ibG9jayAuZmllbGQtLW5hbWUtZmllbGQtYm9keSxcbiAgICAjY29udGVudCAuZmVhdHVyZWQtdG9waWMtYmxvY2tzIC5mZWF0dXJlZF9ibG9jayAuZmVhdHVyZWRfY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcGFkZGluZzogNDhweCA0OHB4IDQwcHg7IH1cbiAgICAgICNjb250ZW50IC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtIC5maWVsZC0tbmFtZS1maWVsZC1ib2R5ICosXG4gICAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSAuZmVhdHVyZWRfY29udGVudCAqLFxuICAgICAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyAuZmVhdHVyZWRfYmxvY2sgLmZpZWxkLS1uYW1lLWZpZWxkLWJvZHkgKixcbiAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5mZWF0dXJlZF9jb250ZW50ICoge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0gLmZpZWxkLS1uYW1lLWZpZWxkLWJvZHkgaDIsXG4gICAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSAuZmVhdHVyZWRfY29udGVudCBoMixcbiAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5maWVsZC0tbmFtZS1maWVsZC1ib2R5IGgyLFxuICAgICAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyAuZmVhdHVyZWRfYmxvY2sgLmZlYXR1cmVkX2NvbnRlbnQgaDIge1xuICAgICAgICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgICAgICNjb250ZW50IC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtIC5maWVsZC0tbmFtZS1maWVsZC1ib2R5IGgyICosXG4gICAgICAgICNjb250ZW50IC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtIC5mZWF0dXJlZF9jb250ZW50IGgyICosXG4gICAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5maWVsZC0tbmFtZS1maWVsZC1ib2R5IGgyICosXG4gICAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5mZWF0dXJlZF9jb250ZW50IGgyICoge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0gLmZpZWxkLS1uYW1lLWZpZWxkLWJvZHkgaDIsXG4gICAgICAgICAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0gLmZlYXR1cmVkX2NvbnRlbnQgaDIsXG4gICAgICAgICAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyAuZmVhdHVyZWRfYmxvY2sgLmZpZWxkLS1uYW1lLWZpZWxkLWJvZHkgaDIsXG4gICAgICAgICAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyAuZmVhdHVyZWRfYmxvY2sgLmZlYXR1cmVkX2NvbnRlbnQgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjZyZW07IH1cbiAgICAgICAgICAgICNjb250ZW50IC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtIC5maWVsZC0tbmFtZS1maWVsZC1ib2R5IGgyICosXG4gICAgICAgICAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSAuZmVhdHVyZWRfY29udGVudCBoMiAqLFxuICAgICAgICAgICAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyAuZmVhdHVyZWRfYmxvY2sgLmZpZWxkLS1uYW1lLWZpZWxkLWJvZHkgaDIgKixcbiAgICAgICAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5mZWF0dXJlZF9jb250ZW50IGgyICoge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi42cmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgICAgICNjb250ZW50IC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtIC5maWVsZC0tbmFtZS1maWVsZC1ib2R5IGgyLFxuICAgICAgICAgICNjb250ZW50IC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtIC5mZWF0dXJlZF9jb250ZW50IGgyLFxuICAgICAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5maWVsZC0tbmFtZS1maWVsZC1ib2R5IGgyLFxuICAgICAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5mZWF0dXJlZF9jb250ZW50IGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy40cmVtOyB9XG4gICAgICAgICAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSAuZmllbGQtLW5hbWUtZmllbGQtYm9keSBoMiAqLFxuICAgICAgICAgICAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0gLmZlYXR1cmVkX2NvbnRlbnQgaDIgKixcbiAgICAgICAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5maWVsZC0tbmFtZS1maWVsZC1ib2R5IGgyICosXG4gICAgICAgICAgICAjY29udGVudCAuZmVhdHVyZWQtdG9waWMtYmxvY2tzIC5mZWF0dXJlZF9ibG9jayAuZmVhdHVyZWRfY29udGVudCBoMiAqIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDMuNHJlbTsgfSB9XG4gICAgICAgICNjb250ZW50IC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtIC5maWVsZC0tbmFtZS1maWVsZC1ib2R5IGgyOmFmdGVyLFxuICAgICAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSAuZmVhdHVyZWRfY29udGVudCBoMjphZnRlcixcbiAgICAgICAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyAuZmVhdHVyZWRfYmxvY2sgLmZpZWxkLS1uYW1lLWZpZWxkLWJvZHkgaDI6YWZ0ZXIsXG4gICAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5mZWF0dXJlZF9jb250ZW50IGgyOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDlweCBzb2xpZCAjRkZGO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgMzAwbXMgZWFzZTsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICAgICAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0gLmZpZWxkLS1uYW1lLWZpZWxkLWJvZHkgaDI6YWZ0ZXIsXG4gICAgICAgICAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSAuZmVhdHVyZWRfY29udGVudCBoMjphZnRlcixcbiAgICAgICAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5maWVsZC0tbmFtZS1maWVsZC1ib2R5IGgyOmFmdGVyLFxuICAgICAgICAgICAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyAuZmVhdHVyZWRfYmxvY2sgLmZlYXR1cmVkX2NvbnRlbnQgaDI6YWZ0ZXIge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7IH0gfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgICNjb250ZW50IC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtIC5maWVsZC0tbmFtZS1maWVsZC1ib2R5IGgyOmFmdGVyLFxuICAgICAgICAgICAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0gLmZlYXR1cmVkX2NvbnRlbnQgaDI6YWZ0ZXIsXG4gICAgICAgICAgICAjY29udGVudCAuZmVhdHVyZWQtdG9waWMtYmxvY2tzIC5mZWF0dXJlZF9ibG9jayAuZmllbGQtLW5hbWUtZmllbGQtYm9keSBoMjphZnRlcixcbiAgICAgICAgICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5mZWF0dXJlZF9jb250ZW50IGgyOmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxOHB4IHNvbGlkICNGRkY7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgI2NvbnRlbnQgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0gaW1nLFxuICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIGltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSAuZmllbGQtLW5hbWUtZmllbGQtYm9keSxcbiAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSAuZmVhdHVyZWRfY29udGVudCxcbiAgICAjY29udGVudCAuZmVhdHVyZWQtdG9waWMtYmxvY2tzIC5mZWF0dXJlZF9ibG9jayAuZmllbGQtLW5hbWUtZmllbGQtYm9keSxcbiAgICAjY29udGVudCAuZmVhdHVyZWQtdG9waWMtYmxvY2tzIC5mZWF0dXJlZF9ibG9jayAuZmVhdHVyZWRfY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYm90dG9tOiAwcHg7IH1cbiAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSAuZmVhdHVyZWRfY29udGVudCBhOmZvY3VzLFxuICAgICNjb250ZW50IC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIC5mZWF0dXJlZF9jb250ZW50IGE6Zm9jdXMge1xuICAgICAgb3V0bGluZS1jb2xvcjogI0ZGRjsgfVxuICAgICNjb250ZW50IC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtIC5maWVsZC0tbmFtZS1maWVsZC1saW5rLFxuICAgICNjb250ZW50IC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtIC5mZWF0dXJlZF9jb250ZW50X2NvdmVyX2xpbmssXG4gICAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyAuZmVhdHVyZWRfYmxvY2sgLmZpZWxkLS1uYW1lLWZpZWxkLWxpbmssXG4gICAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyAuZmVhdHVyZWRfYmxvY2sgLmZlYXR1cmVkX2NvbnRlbnRfY292ZXJfbGluayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDU7IH1cbiAgICAgICNjb250ZW50IC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtIC5maWVsZC0tbmFtZS1maWVsZC1saW5rIGEsXG4gICAgICAjY29udGVudCAuYmxvY2stY29udGVudC0tdHlwZS1tY2ctZmVhdHVyZWQtaXRlbSAuZmVhdHVyZWRfY29udGVudF9jb3Zlcl9saW5rIGEsXG4gICAgICAjY29udGVudCAuZmVhdHVyZWQtdG9waWMtYmxvY2tzIC5mZWF0dXJlZF9ibG9jayAuZmllbGQtLW5hbWUtZmllbGQtbGluayBhLFxuICAgICAgI2NvbnRlbnQgLmZlYXR1cmVkLXRvcGljLWJsb2NrcyAuZmVhdHVyZWRfYmxvY2sgLmZlYXR1cmVkX2NvbnRlbnRfY292ZXJfbGluayBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwOyB9IH1cbiAgI2NvbnRlbnQgYXJ0aWNsZSBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAjY29udGVudCBhcnRpY2xlIC5maWVsZC0tdGFncyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtUmVndWxhclwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG4gICAgI2NvbnRlbnQgYXJ0aWNsZSAuZmllbGQtLXRhZ3MgYSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTZXJpZiBQcm9cIiwgc2VyaWY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycmVtOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTIzcHgpIHtcbiAgICAgICAgI2NvbnRlbnQgYXJ0aWNsZSAuZmllbGQtLXRhZ3MgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYxcHgpIHtcbiAgICAgICAgI2NvbnRlbnQgYXJ0aWNsZSAuZmllbGQtLXRhZ3MgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgICAgICAjY29udGVudCBhcnRpY2xlIC5maWVsZC0tdGFncyBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07IH0gfVxuICAgICNjb250ZW50IGFydGljbGUgLmZpZWxkLS10YWdzIC5maWVsZC1sYWJlbCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICNjb250ZW50IGFydGljbGUgLmZpZWxkLS10YWdzIC5maWVsZC1pdGVtcyB7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlIC52aWV3LWhlYWRlciBoMiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGNvbG9yOiAjMTEzMjViO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTZXJpZiBQcm9cIiwgc2VyaWY7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlIC52aWV3LWhlYWRlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjJyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgICAgI2NvbnRlbnQgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSAudmlldy1oZWFkZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42cmVtOyB9IH1cbiAgICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlIC52aWV3LWhlYWRlciBoMjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMTFweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGUzLnBuZykgMCAwIHJlcGVhdC14O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEyMCU7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMjFweDtcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAgICNjb250ZW50IC52aWV3LS10YXhvbm9teS10ZXJtLWFydGljbGUgLnZpZXctaGVhZGVyIGgyOmFmdGVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9wYXR0ZXJuLXN0cmlwZTMucG5nKSAwIDAgcmVwZWF0LXg7XG4gICAgICAgICAgd2lkdGg6IDI1OHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMXB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgICAgICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlIC52aWV3LWhlYWRlciBoMjphZnRlciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gICAgICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlIC52aWV3LWhlYWRlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiA3NXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlIC52aWV3LWhlYWRlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU2cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTIzcHgpIHtcbiAgICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlID4gLnZpZXctY29udGVudCAudmlld3Mtcm93IC5maWVsZC0tYm9keSAqIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gICAgI2NvbnRlbnQgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSA+IC52aWV3LWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgfVxuICAgICAgI2NvbnRlbnQgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSA+IC52aWV3LWNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlID4gLnZpZXctY29udGVudCAudmlld3Mtcm93IHtcbiAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlID4gLnZpZXctY29udGVudCAudmlld3Mtcm93Om50aC1jaGlsZCgzbiArIDEpIHtcbiAgICAgICAgICBjbGVhcjogbGVmdDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgICNjb250ZW50IC52aWV3LS10YXhvbm9teS10ZXJtLWFydGljbGUgPiAudmlldy1jb250ZW50IC52aWV3cy1yb3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgICAgICNjb250ZW50IC52aWV3LS10YXhvbm9teS10ZXJtLWFydGljbGUgPiAudmlldy1jb250ZW50IC52aWV3cy1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG4gICAgICAgICNjb250ZW50IC52aWV3LS10YXhvbm9teS10ZXJtLWFydGljbGUgPiAudmlldy1jb250ZW50IC52aWV3cy1yb3cgLmZpZWxkLS1uYW1lLWJvZHkge1xuICAgICAgICAgIG1hcmdpbjogMC41ZW0gMC41ZW0gMC41ZW0gMDsgfVxuICAgICAgICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlID4gLnZpZXctY29udGVudCAudmlld3Mtcm93IC5maWVsZC0tYm9keSAqIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH0gfVxuICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlID4gLnZpZXctY29udGVudCAubm9kZS10aXRsZSwgI2NvbnRlbnQgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSA+IC52aWV3LWNvbnRlbnQgLm5vZGUtdGl0bGUgKiB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgICAgICNjb250ZW50IC52aWV3LS10YXhvbm9teS10ZXJtLWFydGljbGUgPiAudmlldy1jb250ZW50IC5ub2RlLXRpdGxlLCAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlID4gLnZpZXctY29udGVudCAubm9kZS10aXRsZSAqIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBmb250LXNpemU6IDIuNnJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgI2NvbnRlbnQgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSA+IC52aWV3LWNvbnRlbnQgLm5vZGUtdGl0bGUsICNjb250ZW50IC52aWV3LS10YXhvbm9teS10ZXJtLWFydGljbGUgPiAudmlldy1jb250ZW50IC5ub2RlLXRpdGxlICoge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkyM3B4KSB7XG4gICAgICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlID4gLnZpZXctY29udGVudCAubm9kZS10aXRsZSwgI2NvbnRlbnQgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSA+IC52aWV3LWNvbnRlbnQgLm5vZGUtdGl0bGUgKiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG4gICAgI2NvbnRlbnQgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSA+IC52aWV3LWNvbnRlbnQgLm5vZGUtdGl0bGUgYSwgI2NvbnRlbnQgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSA+IC52aWV3LWNvbnRlbnQgLm5vZGUtdGl0bGUgKiBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsc2Fucy1zZXJpZjsgfVxuICAgICAgI2NvbnRlbnQgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSA+IC52aWV3LWNvbnRlbnQgLm5vZGUtdGl0bGUgYTphZnRlciwgI2NvbnRlbnQgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSA+IC52aWV3LWNvbnRlbnQgLm5vZGUtdGl0bGUgKiBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItdG9wOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxMXB4IHNvbGlkICMwMjdiYzU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMzAwbXMgZWFzZTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgICAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlID4gLnZpZXctY29udGVudCAubm9kZS10aXRsZSBhOmFmdGVyLCAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlID4gLnZpZXctY29udGVudCAubm9kZS10aXRsZSAqIGE6YWZ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4OyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICNjb250ZW50IC52aWV3LS10YXhvbm9teS10ZXJtLWFydGljbGUgPiAudmlldy1jb250ZW50IC5ub2RlLXRpdGxlIGE6YWZ0ZXIsICNjb250ZW50IC52aWV3LS10YXhvbm9teS10ZXJtLWFydGljbGUgPiAudmlldy1jb250ZW50IC5ub2RlLXRpdGxlICogYTphZnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7IH0gfVxuICAgICAgLm5vLXRvdWNoZXZlbnRzICNjb250ZW50IC52aWV3LS10YXhvbm9teS10ZXJtLWFydGljbGUgPiAudmlldy1jb250ZW50IC5ub2RlLXRpdGxlIGE6aG92ZXI6YWZ0ZXIsIC5uby10b3VjaGV2ZW50cyAjY29udGVudCAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlID4gLnZpZXctY29udGVudCAubm9kZS10aXRsZSBhOmZvY3VzOmFmdGVyLCAubm8tdG91Y2hldmVudHMgI2NvbnRlbnQgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSA+IC52aWV3LWNvbnRlbnQgLm5vZGUtdGl0bGUgKiBhOmhvdmVyOmFmdGVyLCAubm8tdG91Y2hldmVudHMgI2NvbnRlbnQgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSA+IC52aWV3LWNvbnRlbnQgLm5vZGUtdGl0bGUgKiBhOmZvY3VzOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgIzExMzI1YjsgfVxuICAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIGgyLCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIGgyICosIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciBoMiwgLnNlY3Rpb24tc2NhbS1hbGVydHMgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIGgyICosIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciBoMiwgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIGgyICosIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIGgyLCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciBoMiAqIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAyLjJyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgaDIsIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgaDIgKiwgLnNlY3Rpb24tc2NhbS1hbGVydHMgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIGgyLCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgaDIgKiwgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIGgyLCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgaDIgKiwgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgaDIsIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIGgyICoge1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgZm9udC1zaXplOiAyLjhyZW07IH1cbiAgICAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIGgyLCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgaDIsIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciBoMiwgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9IH1cbiAgLnNlY3Rpb24tc2NhbS1hbGVydHMgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciBoMi53aXRoLWFycm93LCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIC5maWVsZC0tdGl0bGUsIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciBoMi53aXRoLWFycm93LCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgLmZpZWxkLS10aXRsZSwgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIGgyLndpdGgtYXJyb3csIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciAuZmllbGQtLXRpdGxlLCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciBoMi53aXRoLWFycm93LCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciAuZmllbGQtLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnNlY3Rpb24tc2NhbS1hbGVydHMgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciBoMi53aXRoLWFycm93IGE6YWZ0ZXIsIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS10aXRsZSBhOmFmdGVyLCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgaDIud2l0aC1hcnJvdyBhOmFmdGVyLCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgLmZpZWxkLS10aXRsZSBhOmFmdGVyLCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgaDIud2l0aC1hcnJvdyBhOmFmdGVyLCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS10aXRsZSBhOmFmdGVyLCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciBoMi53aXRoLWFycm93IGE6YWZ0ZXIsIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIC5maWVsZC0tdGl0bGUgYTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMXB4IHNvbGlkICMwMjdiYzU7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAzMDBtcyBlYXNlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgLnNlY3Rpb24tc2NhbS1hbGVydHMgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciBoMi53aXRoLWFycm93IGE6YWZ0ZXIsIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS10aXRsZSBhOmFmdGVyLCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgaDIud2l0aC1hcnJvdyBhOmFmdGVyLCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgLmZpZWxkLS10aXRsZSBhOmFmdGVyLCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgaDIud2l0aC1hcnJvdyBhOmFmdGVyLCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS10aXRsZSBhOmFmdGVyLCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciBoMi53aXRoLWFycm93IGE6YWZ0ZXIsIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIC5maWVsZC0tdGl0bGUgYTphZnRlciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMnB4OyB9IH1cbiAgICAubm8tdG91Y2hldmVudHMgLnNlY3Rpb24tc2NhbS1hbGVydHMgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciBoMi53aXRoLWFycm93IGE6aG92ZXI6YWZ0ZXIsIC5uby10b3VjaGV2ZW50cyAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIGgyLndpdGgtYXJyb3cgYTpmb2N1czphZnRlciwgLm5vLXRvdWNoZXZlbnRzIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS10aXRsZSBhOmhvdmVyOmFmdGVyLCAubm8tdG91Y2hldmVudHMgLnNlY3Rpb24tc2NhbS1hbGVydHMgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciAuZmllbGQtLXRpdGxlIGE6Zm9jdXM6YWZ0ZXIsIC5uby10b3VjaGV2ZW50cyAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgaDIud2l0aC1hcnJvdyBhOmhvdmVyOmFmdGVyLCAubm8tdG91Y2hldmVudHMgLnNlY3Rpb24tc2NhbS1hbGVydHMgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIGgyLndpdGgtYXJyb3cgYTpmb2N1czphZnRlciwgLm5vLXRvdWNoZXZlbnRzIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciAuZmllbGQtLXRpdGxlIGE6aG92ZXI6YWZ0ZXIsIC5uby10b3VjaGV2ZW50cyAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgLmZpZWxkLS10aXRsZSBhOmZvY3VzOmFmdGVyLCAubm8tdG91Y2hldmVudHMgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIGgyLndpdGgtYXJyb3cgYTpob3ZlcjphZnRlciwgLm5vLXRvdWNoZXZlbnRzIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciBoMi53aXRoLWFycm93IGE6Zm9jdXM6YWZ0ZXIsIC5uby10b3VjaGV2ZW50cyAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS10aXRsZSBhOmhvdmVyOmFmdGVyLCAubm8tdG91Y2hldmVudHMgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIC5maWVsZC0tdGl0bGUgYTpmb2N1czphZnRlciwgLm5vLXRvdWNoZXZlbnRzIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIGgyLndpdGgtYXJyb3cgYTpob3ZlcjphZnRlciwgLm5vLXRvdWNoZXZlbnRzIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIGgyLndpdGgtYXJyb3cgYTpmb2N1czphZnRlciwgLm5vLXRvdWNoZXZlbnRzIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIC5maWVsZC0tdGl0bGUgYTpob3ZlcjphZnRlciwgLm5vLXRvdWNoZXZlbnRzIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIC5maWVsZC0tdGl0bGUgYTpmb2N1czphZnRlciB7XG4gICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCAjMTEzMjViOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5MjNweCkge1xuICAgIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS1wb3N0LWRhdGUsIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS1wb3N0LWRhdGUgKiwgLnNlY3Rpb24tc2NhbS1hbGVydHMgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciAuZmllbGQtLWRhdGUtYXV0aG9yLWZpZWxkLCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQgKiwgLnNlY3Rpb24tc2NhbS1hbGVydHMgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIC5maWVsZC0tcG9zdC1kYXRlLCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgLmZpZWxkLS1wb3N0LWRhdGUgKiwgLnNlY3Rpb24tc2NhbS1hbGVydHMgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQsIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciAuZmllbGQtLWRhdGUtYXV0aG9yLWZpZWxkICosIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciAuZmllbGQtLXBvc3QtZGF0ZSwgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIC5maWVsZC0tcG9zdC1kYXRlICosIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciAuZmllbGQtLWRhdGUtYXV0aG9yLWZpZWxkLCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS1kYXRlLWF1dGhvci1maWVsZCAqLCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciAuZmllbGQtLXBvc3QtZGF0ZSwgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgLmZpZWxkLS1wb3N0LWRhdGUgKiwgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgLmZpZWxkLS1kYXRlLWF1dGhvci1maWVsZCwgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgLmZpZWxkLS1kYXRlLWF1dGhvci1maWVsZCAqIHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gICAgLnNlY3Rpb24tc2NhbS1hbGVydHMgI2NvbnRlbnQgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciAuZmllbGQtLWJvZHksIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS1ib2R5ICosIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciAuZmllbGQtLWJvZHksIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciAuZmllbGQtLWJvZHkgKiwgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIC5maWVsZC0tYm9keSwgLnBhZ2UtYmxvZyAjY29udGVudCAubm9kZS1zY2FtLWFsZXJ0Lm5vZGUtdGVhc2VyIC5maWVsZC0tYm9keSAqLCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciAuZmllbGQtLWJvZHksIC5wYWdlLWJsb2cgI2NvbnRlbnQgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIC5maWVsZC0tYm9keSAqIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG4gIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS1ib2R5LCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgLmZpZWxkLS1ib2R5LCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS1ib2R5LCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciAuZmllbGQtLWJvZHkge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgICAgIC5zZWN0aW9uLXNjYW0tYWxlcnRzICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS1ib2R5LCAuc2VjdGlvbi1zY2FtLWFsZXJ0cyAjY29udGVudCAubm9kZS1ibG9nLXBvc3Qubm9kZS10ZWFzZXIgLmZpZWxkLS1ib2R5LCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLXNjYW0tYWxlcnQubm9kZS10ZWFzZXIgLmZpZWxkLS1ib2R5LCAucGFnZS1ibG9nICNjb250ZW50IC5ub2RlLWJsb2ctcG9zdC5ub2RlLXRlYXNlciAuZmllbGQtLWJvZHkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnJlbTsgfSB9XG4gICNjb250ZW50IHNwYW4ubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAjY29udGVudCAudmlldy1yZXNvdXJjZXMgLnZpZXdzLXJvdyB7XG4gICAgcGFkZGluZy10b3A6IDM2cHg7IH1cbiAgICAjY29udGVudCAudmlldy1yZXNvdXJjZXMgLnZpZXdzLXJvdyAucmVzb3VyY2UtdGl0bGUgYSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAzMXB4OyB9XG4gICAgI2NvbnRlbnQgLnZpZXctcmVzb3VyY2VzIC52aWV3cy1yb3cgLnZpZXdzLWZpZWxkLWJvZHkgKiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAjY29udGVudCAudmlldy1yZXNvdXJjZXMgLnZpZXdzLXJvdyAucGFnZXIge1xuICAgICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAjY29udGVudCAubWNnLXRlYXNlci1saXN0LXZpZXcgLm1jZy10ZWFzZXItbGlzdC12aWV3LXJvdyBoMy5ub2RlLXRpdGxlLCAjY29udGVudCAubWNnLXRlYXNlci1saXN0LXZpZXcgLm1jZy10ZWFzZXItbGlzdC12aWV3LXJvdyBoMy5ub2RlLXRpdGxlICoge1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXNpemU6IDIuMnJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgI2NvbnRlbnQgLm1jZy10ZWFzZXItbGlzdC12aWV3IC5tY2ctdGVhc2VyLWxpc3Qtdmlldy1yb3cgaDMubm9kZS10aXRsZSwgI2NvbnRlbnQgLm1jZy10ZWFzZXItbGlzdC12aWV3IC5tY2ctdGVhc2VyLWxpc3Qtdmlldy1yb3cgaDMubm9kZS10aXRsZSAqIHtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGZvbnQtc2l6ZTogMi44cmVtOyB9XG4gICAgI2NvbnRlbnQgLm1jZy10ZWFzZXItbGlzdC12aWV3IC5tY2ctdGVhc2VyLWxpc3Qtdmlldy1yb3cgaDMubm9kZS10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH0gfVxuICAjY29udGVudCAubWNnLXRlYXNlci1saXN0LXZpZXcgLm1jZy10ZWFzZXItbGlzdC12aWV3LXJvdyBoMy5ub2RlLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgI2NvbnRlbnQgLm1jZy10ZWFzZXItbGlzdC12aWV3IC5tY2ctdGVhc2VyLWxpc3Qtdmlldy1yb3cgaDMubm9kZS10aXRsZSBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgIzAyN2JjNTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDMwMG1zIGVhc2U7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICAjY29udGVudCAubWNnLXRlYXNlci1saXN0LXZpZXcgLm1jZy10ZWFzZXItbGlzdC12aWV3LXJvdyBoMy5ub2RlLXRpdGxlIGE6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDJweDsgfSB9XG4gICAgLm5vLXRvdWNoZXZlbnRzICNjb250ZW50IC5tY2ctdGVhc2VyLWxpc3QtdmlldyAubWNnLXRlYXNlci1saXN0LXZpZXctcm93IGgzLm5vZGUtdGl0bGUgYTpob3ZlcjphZnRlciwgLm5vLXRvdWNoZXZlbnRzICNjb250ZW50IC5tY2ctdGVhc2VyLWxpc3QtdmlldyAubWNnLXRlYXNlci1saXN0LXZpZXctcm93IGgzLm5vZGUtdGl0bGUgYTpmb2N1czphZnRlciB7XG4gICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCAjMTEzMjViOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5MjNweCkge1xuICAgICNjb250ZW50IC5tY2ctdGVhc2VyLWxpc3QtdmlldyAubWNnLXRlYXNlci1saXN0LXZpZXctcm93IC5kYXRlLWF1dGhvci10aXRsZS1ncm91cCAqIHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gICAgI2NvbnRlbnQgLm1jZy10ZWFzZXItbGlzdC12aWV3IC5tY2ctdGVhc2VyLWxpc3Qtdmlldy1yb3cgLmZpZWxkLS1uYW1lLWJvZHksXG4gICAgI2NvbnRlbnQgLm1jZy10ZWFzZXItbGlzdC12aWV3IC5tY2ctdGVhc2VyLWxpc3Qtdmlldy1yb3cgLmZpZWxkLS1uYW1lLWJvZHkgKiB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuICAjY29udGVudCAubWNnLXRlYXNlci1saXN0LXZpZXcgLm1jZy10ZWFzZXItbGlzdC12aWV3LXJvdyAuZmllbGQtLW5hbWUtYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgICAgI2NvbnRlbnQgLm1jZy10ZWFzZXItbGlzdC12aWV3IC5tY2ctdGVhc2VyLWxpc3Qtdmlldy1yb3cgLmZpZWxkLS1uYW1lLWJvZHkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnJlbTsgfSB9XG5cbiNmb290ZXItd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICMyMzJjMzMgdXJsKFwiLi4vLi4vaW1hZ2VzL3N0cmlwZXMuc3ZnXCIpIGxlZnQgYm90dG9tIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gICNmb290ZXItd3JhcHBlciBhOmZvY3VzIHtcbiAgICBvdXRsaW5lLWNvbG9yOiAjRkZGOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAjZm9vdGVyLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI4MzUzZDsgfSB9XG4gICNmb290ZXItd3JhcHBlciAuc2VjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMjY1cHg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAjZm9vdGVyLXdyYXBwZXIgLnNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgI2Zvb3Rlci13cmFwcGVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OyB9IH1cbiAgI2Zvb3Rlci13cmFwcGVyIC5ibG9jayB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgI2Zvb3Rlci13cmFwcGVyIC5ibG9jayBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAjZm9vdGVyLXdyYXBwZXIgI2Zvb3Rlci1jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgI2Zvb3Rlci13cmFwcGVyIC5ncm91cDEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMzBweCBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgI2Zvb3Rlci13cmFwcGVyIC5ncm91cDEge1xuICAgICAgICBtaW4taGVpZ2h0OiA3NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIG1hcmdpbjogaW5oZXJpdDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnJlZ2lvbi1mb290ZXItZmlyc3Rjb2x1bW4gdWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi8qIE1FTlUgKi9cbi5yZWdpb24tZm9vdGVyLWZpcnN0Y29sdW1uIHVsIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5yZWdpb24tZm9vdGVyLWZpcnN0Y29sdW1uIHVsIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAzNXB4IDQ0cHggMXB4IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAucmVnaW9uLWZvb3Rlci1maXJzdGNvbHVtbiB1bCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTFweCAyMHB4OyB9IH1cbiAgICAucmVnaW9uLWZvb3Rlci1maXJzdGNvbHVtbiB1bCBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODEpOyB9XG4gICAgICAubm8tdG91Y2hldmVudHMgLnJlZ2lvbi1mb290ZXItZmlyc3Rjb2x1bW4gdWwgbGkgYTpob3ZlciwgLm5vLXRvdWNoZXZlbnRzIC5yZWdpb24tZm9vdGVyLWZpcnN0Y29sdW1uIHVsIGxpIGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzE0YTVmZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIFNPQ0lBTCBNRURJQSBJQ09OUyAqL1xuLnJlZ2lvbi1mb290ZXItc2Vjb25kY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5yZWdpb24tZm9vdGVyLXNlY29uZGNvbHVtbiAuY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDIycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucmVnaW9uLWZvb3Rlci1zZWNvbmRjb2x1bW4gLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgLnJlZ2lvbi1mb290ZXItc2Vjb25kY29sdW1uIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH0gfVxuICAucmVnaW9uLWZvb3Rlci1zZWNvbmRjb2x1bW4gcCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODEpO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAucmVnaW9uLWZvb3Rlci1zZWNvbmRjb2x1bW4gLmNvbnRlbnQgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLnJlZ2lvbi1mb290ZXItc2Vjb25kY29sdW1uIC5jb250ZW50IGEudHdpdHRlcjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2ljb24td2hpdGUtdHdpdHRlci5zdmcpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMzBweCAyNHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMzVweDtcbiAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAgIC5yZWdpb24tZm9vdGVyLXNlY29uZGNvbHVtbiAuY29udGVudCBhLmZhY2Vib29rOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvaWNvbi1mYWNlYm9vay1zcXVhcmUuc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIzcHggMjRweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICB3aWR0aDogMzVweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgICAucmVnaW9uLWZvb3Rlci1zZWNvbmRjb2x1bW4gLmNvbnRlbnQgYSBzcGFuLmV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm5vLXRvdWNoZXZlbnRzIC5yZWdpb24tZm9vdGVyLXNlY29uZGNvbHVtbiAuY29udGVudCBhOmhvdmVyLCAubm8tdG91Y2hldmVudHMgLnJlZ2lvbi1mb290ZXItc2Vjb25kY29sdW1uIC5jb250ZW50IGE6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogRU1BSUwgU0lHTlVQICovXG4ucmVnaW9uLWZvb3Rlci10aGlyZGNvbHVtbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxM3B4OyB9XG4gIC5yZWdpb24tZm9vdGVyLXRoaXJkY29sdW1uIGgyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucmVnaW9uLWZvb3Rlci10aGlyZGNvbHVtbiB7XG4gICAgICBtYXgtd2lkdGg6IDUxMHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLnJlZ2lvbi1mb290ZXItdGhpcmRjb2x1bW4ge1xuICAgICAgbWF4LXdpZHRoOiA3MTBweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAgIC5yZWdpb24tZm9vdGVyLXRoaXJkY29sdW1uIHtcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gIC5yZWdpb24tZm9vdGVyLXRoaXJkY29sdW1uICosXG4gIC5yZWdpb24tZm9vdGVyLXRoaXJkY29sdW1uICo6YmVmb3JlLFxuICAucmVnaW9uLWZvb3Rlci10aGlyZGNvbHVtbiAqOmFmdGVyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLnJlZ2lvbi1mb290ZXItdGhpcmRjb2x1bW4gaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgcGFkZGluZzogN3B4IDIwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogc29saWQgMnB4ICNiYmI7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzZmNmY2ZjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBib3JkZXI6IDA7XG4gICAgd2lkdGg6IDU1JTtcbiAgICBoZWlnaHQ6IDY2cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIC5yZWdpb24tZm9vdGVyLXRoaXJkY29sdW1uIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucmVnaW9uLWZvb3Rlci10aGlyZGNvbHVtbiBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGhlaWdodDogNzZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDc2cHg7XG4gICAgICAgIHdpZHRoOiA0NSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC5yZWdpb24tZm9vdGVyLXRoaXJkY29sdW1uIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIHdpZHRoOiA1NSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgICAgIC5yZWdpb24tZm9vdGVyLXRoaXJkY29sdW1uIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IDIuMnJlbTsgfSB9XG4gIC5yZWdpb24tZm9vdGVyLXRoaXJkY29sdW1uIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgY29sb3I6ICMzNjQ3NTA7IH1cbiAgLnJlZ2lvbi1mb290ZXItdGhpcmRjb2x1bW4gaW5wdXRbdHlwZT1cInRleHRcIl06Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIC8qIEZpcmVmb3ggMTkrICovXG4gICAgY29sb3I6ICMzNjQ3NTA7IH1cbiAgLnJlZ2lvbi1mb290ZXItdGhpcmRjb2x1bW4gaW5wdXRbdHlwZT1cInRleHRcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBJRSAxMCsgKi9cbiAgICBjb2xvcjogIzM2NDc1MDsgfVxuICAucmVnaW9uLWZvb3Rlci10aGlyZGNvbHVtbiBpbnB1dFt0eXBlPVwidGV4dFwiXTotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBGaXJlZm94IDE4LSAqL1xuICAgIGNvbG9yOiAjMzY0NzUwOyB9XG4gIC5yZWdpb24tZm9vdGVyLXRoaXJkY29sdW1uIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjdiYzU7XG4gICAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAwIDdweDtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgYm9yZGVyLXdpZHRoOiAwcHggMHB4IDBweCAxcHg7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDY2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDY2cHg7XG4gICAgd2lkdGg6IDQ1JTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgLnJlZ2lvbi1mb290ZXItdGhpcmRjb2x1bW4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IG5vbmU7IH0gfVxuICAucmVnaW9uLWZvb3Rlci10aGlyZGNvbHVtbiBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTEzMjViOyB9XG5cbiNwYWdlIC5yZWdpb24tZm9vdGVyLXRoaXJkY29sdW1uIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuI2Zvb3Rlci1ib3R0b20gc3Bhbi5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTsgfVxuXG4jZm9vdGVyLWJvdHRvbSBhOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogI0ZGRjsgfVxuXG4jZm9vdGVyLWJvdHRvbSAuYmxvY2staW50ZXJpb3IsXG4jYmxvY2stdmlld3MtcGFydG5lcnMtYmxvY2sge1xuICBwYWRkaW5nOiA0MHB4IDIwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMmMzMztcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAjZm9vdGVyLWJvdHRvbSAuYmxvY2staW50ZXJpb3IgYSxcbiAgI2Jsb2NrLXZpZXdzLXBhcnRuZXJzLWJsb2NrIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNmb290ZXItYm90dG9tIC5ibG9jay1pbnRlcmlvciAudmlldy1jb250ZW50LFxuICAjYmxvY2stdmlld3MtcGFydG5lcnMtYmxvY2sgLnZpZXctY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWF4LXdpZHRoOiAxMjY1cHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICNmb290ZXItYm90dG9tIC5ibG9jay1pbnRlcmlvciAudmlldy1jb250ZW50LFxuICAgICAgI2Jsb2NrLXZpZXdzLXBhcnRuZXJzLWJsb2NrIC52aWV3LWNvbnRlbnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICNmb290ZXItYm90dG9tIC5ibG9jay1pbnRlcmlvciBpbWcsXG4gICNibG9jay12aWV3cy1wYXJ0bmVycy1ibG9jayBpbWcge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgbWF4LWhlaWdodDogNzJweDtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAjZm9vdGVyLWJvdHRvbSAuYmxvY2staW50ZXJpb3IgaW1nLFxuICAgICAgI2Jsb2NrLXZpZXdzLXBhcnRuZXJzLWJsb2NrIGltZyB7XG4gICAgICAgIGhlaWdodDogNzJweDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgI2Zvb3Rlci1ib3R0b20gLmJsb2NrLWludGVyaW9yIGltZyxcbiAgICAgICNibG9jay12aWV3cy1wYXJ0bmVycy1ibG9jayBpbWcge1xuICAgICAgICBoZWlnaHQ6IDUzcHg7IH0gfVxuICAjZm9vdGVyLWJvdHRvbSAuYmxvY2staW50ZXJpb3IgLnZpZXdzLXJvdyxcbiAgI2Jsb2NrLXZpZXdzLXBhcnRuZXJzLWJsb2NrIC52aWV3cy1yb3cge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICNmb290ZXItYm90dG9tIC5ibG9jay1pbnRlcmlvciAudmlld3Mtcm93LFxuICAgICAgI2Jsb2NrLXZpZXdzLXBhcnRuZXJzLWJsb2NrIC52aWV3cy1yb3cge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAyNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAjZm9vdGVyLWJvdHRvbSAuYmxvY2staW50ZXJpb3IgLnZpZXdzLXJvdyxcbiAgICAgICNibG9jay12aWV3cy1wYXJ0bmVycy1ibG9jayAudmlld3Mtcm93IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMyU7IH0gfVxuXG4ucmVnaW9uLWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTQ2cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyMDQ7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiAjMTEzMjViOyB9XG4gIC5yZWdpb24taGVhZGVyIGlucHV0LmZvcm0tc3VibWl0IHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuYWN0aXZlLW1vYmlsZS1tZW51ICNtZW51LWFuZC1zZWFyY2gtd3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDExMHB4OyB9XG4gIC5hY3RpdmUtbW9iaWxlLW1lbnUgLnJlZ2lvbi1oZWFkZXIge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQ6ICMxMTMyNWIgdXJsKC4uLy4uL2ltYWdlcy9wYXR0ZXJuLXN0cmlwZTYucG5nKSBsZWZ0IGJvdHRvbSByZXBlYXQteDtcbiAgICBoZWlnaHQ6IDExMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuI2hlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAjaGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gICNoZWFkZXIgLmlubmVyLXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogMTY4MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICNoZWFkZXIgLnNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAjaGVhZGVyIC5zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkyM3B4KSB7XG4gIGh0bWwgYm9keS5hZG1pbi1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5sb2dnZWQtaW4gI2FkbWluLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNoZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfSB9XG5cbiNzaXRlLWlkLFxuI3NpdGUtbG9nbyB7XG4gIGZsb2F0OiBsZWZ0O1xuICAvKiBMVFIgKi8gfVxuICAjc2l0ZS1pZCBhI2xvZ28sXG4gICNzaXRlLWxvZ28gYSNsb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjc2l0ZS1pZCBpbWcsXG4gICNzaXRlLWxvZ28gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzMwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTEzOXB4KSB7XG4gICAgICAjc2l0ZS1pZCBpbWcsXG4gICAgICAjc2l0ZS1sb2dvIGltZyB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDEwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICNzaXRlLWlkIGltZyxcbiAgICAgICNzaXRlLWxvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IDIyNXB4O1xuICAgICAgICB0b3A6IDA7IH0gfVxuXG4jc2l0ZS1pZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjAzOyB9XG5cbi5sb2dnZWQtaW4gI2FkbWluLW1lbnUge1xuICB6LWluZGV4OiAxMDEwMTsgfVxuXG4ubG9nZ2VkLWluICNoZWFkZXIge1xuICB0b3A6IDgwcHg7IH1cblxuZm9ybVtpZD1cInZpZXdzLWV4cG9zZWQtZm9ybS1tY2ctc2VhcmNoLXBhZ2UtMVwiXSBsYWJlbCwgZm9ybVtpZD1cInZpZXdzLWV4cG9zZWQtZm9ybS1tY2ctc2VhcmNoLXBhZ2UtMVwiXSAuZmllbGQgLmZpZWxkLWxhYmVsLCAuZmllbGQgZm9ybVtpZD1cInZpZXdzLWV4cG9zZWQtZm9ybS1tY2ctc2VhcmNoLXBhZ2UtMVwiXSAuZmllbGQtbGFiZWwsXG5mb3JtW2lkPVwidmlld3MtZXhwb3NlZC1mb3JtLW1jZy1zZWFyY2gtcGFnZS0xLS0yXCJdIGxhYmVsLFxuZm9ybVtpZD1cInZpZXdzLWV4cG9zZWQtZm9ybS1tY2ctc2VhcmNoLXBhZ2UtMS0tMlwiXSAuZmllbGQgLmZpZWxkLWxhYmVsLFxuLmZpZWxkIGZvcm1baWQ9XCJ2aWV3cy1leHBvc2VkLWZvcm0tbWNnLXNlYXJjaC1wYWdlLTEtLTJcIl0gLmZpZWxkLWxhYmVsLFxuZm9ybVtpZD1cInZpZXdzLWV4cG9zZWQtZm9ybS1tY2ctc2VhcmNoLXBhZ2UtMS0tM1wiXSBsYWJlbCxcbmZvcm1baWQ9XCJ2aWV3cy1leHBvc2VkLWZvcm0tbWNnLXNlYXJjaC1wYWdlLTEtLTNcIl0gLmZpZWxkIC5maWVsZC1sYWJlbCxcbi5maWVsZCBmb3JtW2lkPVwidmlld3MtZXhwb3NlZC1mb3JtLW1jZy1zZWFyY2gtcGFnZS0xLS0zXCJdIC5maWVsZC1sYWJlbCxcbmZvcm1baWQ9XCJ2aWV3cy1leHBvc2VkLWZvcm0tbWNnLXNlYXJjaC1wYWdlLTEtLTRcIl0gbGFiZWwsXG5mb3JtW2lkPVwidmlld3MtZXhwb3NlZC1mb3JtLW1jZy1zZWFyY2gtcGFnZS0xLS00XCJdIC5maWVsZCAuZmllbGQtbGFiZWwsXG4uZmllbGQgZm9ybVtpZD1cInZpZXdzLWV4cG9zZWQtZm9ybS1tY2ctc2VhcmNoLXBhZ2UtMS0tNFwiXSAuZmllbGQtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTllbTsgfVxuXG4uc2VjdGlvbi1zZWFyY2ggZm9ybVtpZD1cInZpZXdzLWV4cG9zZWQtZm9ybS1tY2ctc2VhcmNoLXBhZ2UtMS0tM1wiXSB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnJlZ2lvbi1oaWdobGlnaHRlZDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlZ2lvbi1oaWdobGlnaHRlZCAuYmxvY2sge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZDogIzExMzI1YiB1cmwoLi4vLi4vaW1hZ2VzL2JnLWJsdWUtc2VhbC5qcGcpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkge1xuICAgIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0zNHB4O1xuICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9wYXR0ZXJuLXN0cmlwZTcucG5nKSAwIDAgcmVwZWF0LXg7XG4gICAgICB3aWR0aDogNzYwcHg7IH0gfVxuICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jayA+IGRpdiB7XG4gICAgcGFkZGluZzogMzVweCAyMHB4IDYwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgLnJlZ2lvbi1oaWdobGlnaHRlZCAuYmxvY2sge1xuICAgICAgd2lkdGg6IDU3Ljc1JTtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLnJlZ2lvbi1oaWdobGlnaHRlZCAuYmxvY2sgPiBkaXYge1xuICAgICAgICBwYWRkaW5nOiAzNXB4IDUwcHggNjVweCAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTQuNiU7IH0gfVxuICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jayAqIHtcbiAgICBjb2xvcjogIzMwYjFmZjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICAgICAgLnJlZ2lvbi1oaWdobGlnaHRlZCAuYmxvY2sgKiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gICAgICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jayAqIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH0gfVxuICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jayBoMiB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSB7XG4gICAgICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jayBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgICAgIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG4gICAgLnJlZ2lvbi1oaWdobGlnaHRlZCAuYmxvY2sgaDI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGUtYmx1ZS5wbmcpIDAgMCByZXBlYXQteDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMjUlO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIxcHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjFweCkge1xuICAgICAgICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jayBoMjphZnRlciB7XG4gICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gYXV0bzsgfSB9XG4gIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTZXJpZiBQcm9cIiwgc2VyaWY7XG4gICAgbWF4LXdpZHRoOiA3MjBweDsgfVxuICAgIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrIHAgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgICAgICAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jayBwIGEge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9IH1cbiAgICAgIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrIHAgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCAjMTRhNWZlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDMwMG1zIGVhc2U7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkyNHB4KSB7XG4gICAgICAgICAgLnJlZ2lvbi1oaWdobGlnaHRlZCAuYmxvY2sgcCBhOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgIHJpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDE4cHggc29saWQgIzE0YTVmZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4OyB9IH1cbiAgICAgIC5uby10b3VjaGV2ZW50cyAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jayBwIGE6aG92ZXIsIC5uby10b3VjaGV2ZW50cyAucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jayBwIGE6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLm5vLXRvdWNoZXZlbnRzIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrIHAgYTpob3ZlcjphZnRlciwgLm5vLXRvdWNoZXZlbnRzIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrIHAgYTpmb2N1czphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgI2ZmZjsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAgICAgICAgICAgLm5vLXRvdWNoZXZlbnRzIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrIHAgYTpob3ZlcjphZnRlciwgLm5vLXRvdWNoZXZlbnRzIC5yZWdpb24taGlnaGxpZ2h0ZWQgLmJsb2NrIHAgYTpmb2N1czphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxOHB4IHNvbGlkICNmZmY7IH0gfVxuXG4vKipcbiAqIEBmaWxlXG4gKiBDdXN0b20gU3R5bGluZyBPdmVycmlkZXNcbiAqXG4gKi9cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNvbHVtbi0yOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgLmNvbHVtbi0yID4gZGl2IHtcbiAgICB3aWR0aDogNDclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogNCU7IH1cbiAgICAuY29sdW1uLTIgPiBkaXY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMSU7IH0gfVxuXG4uY29sdW1uLTM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MjRweCkge1xuICAuY29sdW1uLTMgPiBkaXYge1xuICAgIHdpZHRoOiAzMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA0JTsgfVxuICAgIC5jb2x1bW4tMyA+IGRpdjpudGgtY2hpbGQoM24pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLmNvbHVtbi00OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTI0cHgpIHtcbiAgLmNvbHVtbi00ID4gZGl2IHtcbiAgICB3aWR0aDogMjElO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogNCU7IH1cbiAgICAuY29sdW1uLTQgPiBkaXY6bnRoLWNoaWxkKDRuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5jb2x1bW4tMiA+IGRpdixcbi5jb2x1bW4tMyA+IGRpdixcbi5jb2x1bW4tNCA+IGRpdiB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MXB4KSBhbmQgKG1heC13aWR0aDogOTIzcHgpIHtcbiAgICAuY29sdW1uLTIgPiBkaXYsXG4gICAgLmNvbHVtbi0zID4gZGl2LFxuICAgIC5jb2x1bW4tNCA+IGRpdiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgICB3aWR0aDogNDklOyB9XG4gICAgICAuY29sdW1uLTIgPiBkaXY6bnRoLWNoaWxkKDJuKSxcbiAgICAgIC5jb2x1bW4tMyA+IGRpdjpudGgtY2hpbGQoMm4pLFxuICAgICAgLmNvbHVtbi00ID4gZGl2Om50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4vKiAtLS0tLS0gQWxlcnQgbWVzc2FnZSAtLS0tLS0tLS0gKi9cbiNibG9jay12aWV3cy1hbGVydC1ibG9jayB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHRvcDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cblxuI2Jsb2NrLXZpZXdzLWFsZXJ0LWJsb2NrIC5jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMHB4OyB9XG5cbi5yZWdpb24tYWxlcnQge1xuICBiYWNrZ3JvdW5kOiB5ZWxsb3c7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWF4LXdpZHRoOiAxNjgwcHg7IH1cblxuLnZpZXctaWQtYWxlcnQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA5NzJweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4udmlldy1pZC1hbGVydCAudmlldy1jb250ZW50IHtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIG1heC13aWR0aDogOTYwcHg7IH1cblxuLnVzZXItYWxlcnQtbWVzc2FnZSBkaXYge1xuICBiYWNrZ3JvdW5kOiAjZmYwMDAwIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwcHggMTBweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi51c2VyLWFsZXJ0LW1lc3NhZ2Ugc3BhbiB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmkxOG4tZXMgLnVzZXItYWxlcnQtbWVzc2FnZSBkaXYge1xuICBoZWlnaHQ6IDUwcHg7IH1cblxuLmkxOG4tZXMgLnVzZXItYWxlcnQtbWVzc2FnZSBzcGFuIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucmVnaW9uLWFsZXJ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwMDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAuYWRtaW4tbWVudSAucmVnaW9uLWFsZXJ0IHtcbiAgICAgIHRvcDogMjlweDsgfVxuICAuaGVhZGVyLWFsZXJ0LWRyb3Age1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgdG9wOiAyMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJhbm5lci1hbGVydC1kcm9wIHtcbiAgICBwYWRkaW5nLXRvcDogMTUwcHg7IH1cbiAgLnNlYXJjaC1hbGVydC1kcm9wIHtcbiAgICB0b3A6IDE4N3B4ICFpbXBvcnRhbnQ7IH1cbiAgLmFkbWluLW1lbnUgLnJlZ2lvbi1hbGVydCB7XG4gICAgdG9wOiAyOXB4OyB9XG4gIC5hZG1pbi1tZW51IC5oZWFkZXItYWxlcnQtZHJvcCB7XG4gICAgdG9wOiA1MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmFkbWluLW1lbnUgLmJhbm5lci1hbGVydC1kcm9wIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7IH1cbiAgLmFkbWluLW1lbnUgLnNlYXJjaC1hbGVydC1kcm9wIHtcbiAgICB0b3A6IDIxN3B4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5hZG1pbi1tZW51ICNwYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IC0yN3B4OyB9XG4gIC5yZWdpb24tYWxlcnQge1xuICAgIHotaW5kZXg6IDEwMDEwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm5vdC1sb2dnZWQtaW4gI3BhZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDsgfVxuICAjaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyID4gdWwubWVudSA+IGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG5cbi8qKlxuICogQGZpbGVcbiAqIFByaW50IHN0eWxpbmdcbiAqXG4gKiBXZSBwcm92aWRlIHNvbWUgc2FuZSBwcmludCBzdHlsaW5nIGZvciBEcnVwYWwgdXNpbmcgWmVuJ3MgbGF5b3V0IG1ldGhvZC5cbiAqL1xuLyoqXG4gKiBCeSBpbXBvcnRpbmcgdGhpcyBDU1MgZmlsZSBhcyBtZWRpYSBcImFsbFwiLCB3ZSBhbGxvdyB0aGlzIHByaW50IGZpbGUgdG8gYmVcbiAqIGFnZ3JlZ2F0ZWQgd2l0aCBvdGhlciBzdHlsZXNoZWV0cywgZm9yIGltcHJvdmVkIGZyb250LWVuZCBwZXJmb3JtYW5jZS5cbiAqL1xuQG1lZGlhIHByaW50IHtcbiAgLyogVW5kZXJsaW5lIGFsbCBsaW5rcy4gKi9cbiAgYTpsaW5rLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgLyogRG9uJ3QgdW5kZXJsaW5lIHNpdGUgbGluay4gKi8gfVxuICAgIGE6bGluay5zaXRlLWxpbmssXG4gICAgYTp2aXNpdGVkLnNpdGUtbGluayB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuICAjY29udGVudCB7XG4gICAgLyogQWRkIHZpc2libGUgVVJMIGFmdGVyIGxpbmtzLiAqL1xuICAgIC8qIE9ubHkgZGlzcGxheSB1c2VmdWwgbGlua3MuICovXG4gICAgLyogQWRkIHZpc2libGUgdGl0bGUgYWZ0ZXIgYWJicmV2aWF0aW9ucy4gKi8gfVxuICAgICNjb250ZW50IGFbaHJlZl06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxMHB4OyB9XG4gICAgI2NvbnRlbnQgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICAgICNjb250ZW50IGFbaHJlZl49XCIjXCJdOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAjY29udGVudCBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgLyogVW4tZmxvYXQgdGhlIGNvbnRlbnQuICovXG4gICNjb250ZW50IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC8qIFR1cm4gb2ZmIGFueSBiYWNrZ3JvdW5kIGNvbG9ycyBvciBpbWFnZXMuICovXG4gIGJvZHksXG4gICNwYWdlLFxuICAjbWFpbixcbiAgI2NvbnRlbnQge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC8qIEhpZGUgc2lkZWJhcnMgYW5kIG5hdiBlbGVtZW50cy4gKi9cbiAgI3NraXAtbGluayxcbiAgI25hdmlnYXRpb24sXG4gICNmb290ZXIsXG4gIC5zaWRlYmFycyxcbiAgLmJyZWFkY3J1bWIsXG4gIC5wYWdlcixcbiAgLmZlZWQtaWNvbnMge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmJsb2NrLWNvbnRlbnQtLXR5cGUtdXN3ZHMtYWxlcnQudXNhLWFsZXJ0IHtcbiAgcGFkZGluZzogMnJlbSAzcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAuYmxvY2stY29udGVudC0tdHlwZS11c3dkcy1hbGVydC51c2EtYWxlcnQ6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ibG9jay1jb250ZW50LS10eXBlLXVzd2RzLWFsZXJ0LnVzYS1hbGVydC51c2EtYWxlcnQtLXNsaW0ge1xuICAgIHBhZGRpbmctdG9wOiAwLjhyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTsgfVxuICAgIC5ibG9jay1jb250ZW50LS10eXBlLXVzd2RzLWFsZXJ0LnVzYS1hbGVydC51c2EtYWxlcnQtLXNsaW0gLnVzYS1hbGVydF9faGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5ibG9jay1jb250ZW50LS10eXBlLXVzd2RzLWFsZXJ0LnVzYS1hbGVydC51c2EtYWxlcnQtLW5vLWljb24gLnVzYS1hbGVydF9faWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucmVnaW9uLWJhbm5lciAuYmxvY2stY29udGVudC0tdHlwZS11c3dkcy1hbGVydC51c2EtYWxlcnQgKixcbiAgLmJsb2NrLWNvbnRlbnQtLXR5cGUtdXN3ZHMtYWxlcnQudXNhLWFsZXJ0ICoge1xuICAgIGNvbG9yOiBjb2xvcihcImJhc2UtZGFya2VyXCIpOyB9XG4gIC5ibG9jay1jb250ZW50LS10eXBlLXVzd2RzLWFsZXJ0LnVzYS1hbGVydCAudXNhLWFsZXJ0X19pY29uIHtcbiAgICBwYWRkaW5nOiAyLjRyZW0gMnJlbTtcbiAgICBtYXJnaW46IC0ycmVtIDAgLTJyZW0gLTNyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocmVtb3ZlKFwiZ3JheS0yMFwiIFwiZ3JheS0yMFwiIFwiZ3JheS0yMFwiIFwiZ3JheS0yMFwiLCBcIiFpbXBvcnRhbnRcIikpICAhaW1wb3J0YW50OyB9XG4gICAgLmJsb2NrLWNvbnRlbnQtLXR5cGUtdXN3ZHMtYWxlcnQudXNhLWFsZXJ0IC51c2EtYWxlcnRfX2ljb24gc3ZnIHtcbiAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIC5ibG9jay1jb250ZW50LS10eXBlLXVzd2RzLWFsZXJ0LnVzYS1hbGVydCAudXNhLWFsZXJ0X19pY29uIHN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAuYmxvY2stY29udGVudC0tdHlwZS11c3dkcy1hbGVydC51c2EtYWxlcnQudXNhLWFsZXJ0LS1pbmZvIC51c2EtYWxlcnRfX2ljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTk1OTE7IH1cbiAgLmJsb2NrLWNvbnRlbnQtLXR5cGUtdXN3ZHMtYWxlcnQudXNhLWFsZXJ0LnVzYS1hbGVydC0tZW1lcmdlbmN5IC51c2EtYWxlcnRfX2ljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTQzMDk7IH1cbiAgLmJsb2NrLWNvbnRlbnQtLXR5cGUtdXN3ZHMtYWxlcnQudXNhLWFsZXJ0LnVzYS1hbGVydC0tZXJyb3IgLnVzYS1hbGVydF9faWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocmVtb3ZlKCNkNTQzMDkgI2Q1NDMwOSAjZDU0MzA5ICNkNTQzMDksIFwiIWltcG9ydGFudFwiKSkgICFpbXBvcnRhbnQ7IH1cbiAgLmJsb2NrLWNvbnRlbnQtLXR5cGUtdXN3ZHMtYWxlcnQudXNhLWFsZXJ0LnVzYS1hbGVydC0tc3VjY2VzcyAudXNhLWFsZXJ0X19pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihyZW1vdmUoXCJncmVlbi1jb29sLTQwdlwiIFwiZ3JlZW4tY29vbC00MHZcIiBcImdyZWVuLWNvb2wtNDB2XCIgXCJncmVlbi1jb29sLTQwdlwiLCBcIiFpbXBvcnRhbnRcIikpICAhaW1wb3J0YW50OyB9XG4gIC5ibG9jay1jb250ZW50LS10eXBlLXVzd2RzLWFsZXJ0LnVzYS1hbGVydC51c2EtYWxlcnQtLXdhcm5pbmcgLnVzYS1hbGVydF9faWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocmVtb3ZlKFwiZ29sZC0yMHZcIiBcImdvbGQtMjB2XCIgXCJnb2xkLTIwdlwiIFwiZ29sZC0yMHZcIiwgXCIhaW1wb3J0YW50XCIpKSAgIWltcG9ydGFudDsgfVxuICAuYmxvY2stY29udGVudC0tdHlwZS11c3dkcy1hbGVydC51c2EtYWxlcnQudXNhLXNpdGUtYWxlcnQgLmdyaWQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLmJsb2NrLWNvbnRlbnQtLXR5cGUtdXN3ZHMtYWxlcnQudXNhLWFsZXJ0LnVzYS1zaXRlLWFsZXJ0IC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi44cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjhyZW07IH0gfVxuICAuYmxvY2stY29udGVudC0tdHlwZS11c3dkcy1hbGVydC51c2EtYWxlcnQudXNhLXNpdGUtYWxlcnQudXNhLWFsZXJ0LS1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmOGZmOyB9XG4gICAgLmJsb2NrLWNvbnRlbnQtLXR5cGUtdXN3ZHMtYWxlcnQudXNhLWFsZXJ0LnVzYS1zaXRlLWFsZXJ0LnVzYS1hbGVydC0taW5mbyAudXNhLWFsZXJ0X19pY29uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogMCAwLjhyZW0gMCAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuYmxvY2stY29udGVudC0tdHlwZS11c3dkcy1hbGVydC51c2EtYWxlcnQudXNhLXNpdGUtYWxlcnQudXNhLWFsZXJ0LS1pbmZvIC51c2EtYWxlcnRfX2ljb24gc3ZnIHBhdGgge1xuICAgICAgICBmaWxsOiAjMDAwOyB9XG4gIC5ibG9jay1jb250ZW50LS10eXBlLXVzd2RzLWFsZXJ0LnVzYS1hbGVydC51c2Etc2l0ZS1hbGVydC51c2EtYWxlcnQtLWVtZXJnZW5jeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1NDMwOTsgfVxuICAgIC5ibG9jay1jb250ZW50LS10eXBlLXVzd2RzLWFsZXJ0LnVzYS1hbGVydC51c2Etc2l0ZS1hbGVydC51c2EtYWxlcnQtLWVtZXJnZW5jeSAqLFxuICAgIC5ibG9jay1jb250ZW50LS10eXBlLXVzd2RzLWFsZXJ0LnVzYS1hbGVydC51c2Etc2l0ZS1hbGVydC51c2EtYWxlcnQtLWVtZXJnZW5jeSBhIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJsb2NrLWNvbnRlbnQtLXR5cGUtdXN3ZHMtYWxlcnQudXNhLWFsZXJ0LnVzYS1zaXRlLWFsZXJ0LnVzYS1hbGVydC0tZW1lcmdlbmN5IC51c2EtYWxlcnRfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwYWRkaW5nOiAwIDAuOHJlbSAwIDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmJsb2NrLWNvbnRlbnQtLXR5cGUtdXN3ZHMtYWxlcnQudXNhLWFsZXJ0IGgzIHtcbiAgICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmJsb2NrLWNvbnRlbnQtLXR5cGUtdXN3ZHMtYWxlcnQudXNhLWFsZXJ0IC51c2EtYWxlcnRfX2JvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW07IH1cbiAgLmJsb2NrLWNvbnRlbnQtLXR5cGUtdXN3ZHMtYWxlcnQudXNhLWFsZXJ0IHAge1xuICAgIG1hcmdpbjogMC41cmVtIDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5yZWdpb24tYmFubmVyIC5ibG9jay1jb250ZW50LS10eXBlLXVzd2RzLWFsZXJ0LnVzYS1hbGVydCBhLFxuICAuYmxvY2stY29udGVudC0tdHlwZS11c3dkcy1hbGVydC51c2EtYWxlcnQgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMDY1Y2I0OyB9XG5cbi8qIExlZ2FjeSBjbGFzc2VzICovXG5kaXYge1xuICAvKiBMZWdhY3kgY2xhc3NlcyAqLyB9XG4gIGRpdiAuYXJ0aWNsZS1pbnRybyB7XG4gICAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtUmVndWxhclwiLCBzYW5zLXNlcmlmO1xuICAgIG1hcmdpbi10b3A6IDIuMnJlbTtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgZGl2IC5hcnRpY2xlLWludHJvICsgLmFydGljbGUtYW5jaG9yLWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTsgfVxuICBkaXYgLmFydGljbGUtYW5jaG9yLWxpc3QgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIGRpdiAuYXJ0aWNsZS1hbmNob3ItbGlzdCB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDEuNHJlbSAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgZGl2IC5hcnRpY2xlLWFuY2hvci1saXN0IHVsID4gbGkgfiBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjOyB9XG4gICAgICBkaXYgLmFydGljbGUtYW5jaG9yLWxpc3QgdWwgPiBsaSBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuIiwiLyoqXG4gKiBAZmlsZVxuICogU3R5bGVzIGFyZSBvcmdhbml6ZWQgdXNpbmcgdGhlIFNNQUNTUyB0ZWNobmlxdWUuIEBzZWUgaHR0cDovL3NtYWNzcy5jb20vYm9vay9cbiAqXG4gKiBXaGVuIHlvdSB0dXJuIG9uIENTUyBhZ2dyZWdhdGlvbiBhdCBhZG1pbi9jb25maWcvZGV2ZWxvcG1lbnQvcGVyZm9ybWFuY2UsIGFsbFxuICogb2YgdGhlc2UgQGluY2x1ZGUgZmlsZXMgd2lsbCBiZSBjb21iaW5lZCBpbnRvIGEgc2luZ2xlIGZpbGUuXG4gKi9cblxuLyogSW1wb3J0IFNhc3MgbWl4aW5zLCB2YXJpYWJsZXMsIG1vZHVsZXMsIGV0Yy4gKi9cbi8vIEFkZCB0aGUgQnJlYWtwb2ludCBtaXhpbnNcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnRcIjtcbi8vIEFkZCB0aGUgU2luZ3VsYXJpdHkgcmVzcG9uc2l2ZSBsYXlvdXQgbWl4aW5zLlxuLy9AaW1wb3J0IFwic2luZ3VsYXJpdHlnc1wiO1xuXG4vLyBBZGQgQm91cmJvbiBtaXhpbiBsaWJyYXJ5XG4vLyBTZWUgaHR0cDovL2JvdXJib24uaW8vZG9jcy9cbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2JvdXJib25cIjtcblxuLy8gTm93IHdlIGFkZCBvdXIgY3VzdG9tIHNldHRpbmdzLlxuQGltcG9ydCBcImJhc2UvYmFzZVwiO1xuXG4vKiBMYXlvdXQgcnVsZXMgKi9cbkBpbXBvcnQgXCJsYXlvdXRzL2xheW91dC1iYXNlXCI7XG5cbi8qIENvbXBvbmVudHMgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbXBvbmVudHNcIjtcblxuLyogRHJ1cGFsIFNwZWNpZmljIGNvbXBvbmVudHMgKi9cbkBpbXBvcnQgXCJkcnVwYWwvZHJ1cGFsXCI7XG5cbi8qIFdvcmRQcmVzcyBTcGVjaWZpYyBjb21wb25lbnRzICovXG5AaW1wb3J0IFwid29yZHByZXNzL3dvcmRwcmVzc1wiO1xuXG4vKiBSZWdpb24gcnVsZXMgKi9cbkBpbXBvcnQgXCJyZWdpb25zL3JlZ2lvbnNcIjtcblxuLy8gT3B0aW9uYWxseSwgYWRkIHlvdXIgb3duIGNvbXBvbmVudHMgaGVyZS5cbkBpbXBvcnQgXCJjdXN0b21cIjtcbkBpbXBvcnQgXCJwcmludFwiO1xuXG5AaW1wb3J0IFwiYmxvY2tzL2Jsb2NrLS11c3dkcy1hbGVydFwiOyIsIi8qIERFQ0xBUkUgRk9OVFNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLy8gSW1wb3J0IEdvb2dsZSBXZWIgRm9udHNcbi8vQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVNvdXJjZStTYW5zK1Bybzo0MDAsMzAwLDMwMGl0YWxpYyw0MDBpdGFsaWMsNzAwaXRhbGljLDcwMCw2MDBpdGFsaWMsNjAwLDkwMCk7XG4vL0BpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Ecm9pZCtTZXJpZjo0MDAsNDAwaXRhbGljLDcwMCw3MDBpdGFsaWMpO1xuXG5cbkBtaXhpbiBmb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkZmlsZS1wYXRoLCAkZm9udC13ZWlnaHQsICRmb250LXN0eWxlKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgICBzcmM6IHVybCgnI3skZmlsZS1wYXRofS5lb3QnKTtcbiAgICAgIHNyYzogdXJsKCcjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgIHVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgIHVybCgnI3skZmlsZS1wYXRofS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgIHVybCgnI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9JykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRmb250LXN0eWxlO1xuICB9XG4gIC8vIENocm9tZSBmb3IgV2luZG93cyByZW5kZXJpbmcgZml4OiBodHRwOi8vd3d3LmFkdHJhay5jby51ay9ibG9nL2ZvbnQtZmFjZS1jaHJvbWUtcmVuZGVyaW5nL1xuICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgICAgICBzcmM6IHVybCgnI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9JykgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZm9udC1mYWNlKFByb3hpbWFOb3ZhLVJlZ3VsYXIsICcuLi8uLi9mb250cy9wcm94aW1hbm92YV9yZWd1bGFyL1Byb3hpbWFOb3ZhLVJlZy13ZWJmb250JywgNDAwLCBub3JtYWwpO1xuXG5cblxuJHNlcmlmOiBcIlNvdXJjZSBTZXJpZiBQcm9cIiwgc2VyaWY7XG4kc2FuczogXCJQcm94aW1hTm92YS1SZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG5cbi8vIENyZWF0ZSBzb21lIHZhcmlhYmxlcyBmb3IgdGhlIGZvbnQgc3RhY2tzIHdlIHdhbnQgdG8gdXNlIG9uIHRoaXMgc2l0ZS5cbiRiYXNlLWZvbnQtZmFtaWx5OiAkc2Fucztcbi8vIFRoZSBmb250IGZhbWlseSBzZXQgb24gdGhlIGh0bWwgZWxlbWVudC5cbiRiYXNlLWhlYWRpbmctZm9udDogJHNlcmlmO1xuJGZvbnQtbW9ub3NwYWNlOiAnQ291cmllcicsIGNvdXJpZXIsICdDb3VyaWVyIE5ldyc7XG4iLCJcbi8qIFxuXG5CcmVha3BvaW50c1xuXG5tb2JpbGUgICAgICAgOiAzMjAgLSA3NTlcbm1vYmlsZS0xICAgICA6IDMyMCAtIDQ5OVxubW9iaWxlLTIgICAgIDogNTAwIC0gNzU5XG5cbnRhYmxldCAgICAgICA6IDc2MCAtIDEwMjNcbnRhYmxldC0xICAgICA6IDc2MCAtIDkyM1xudGFibGV0LTIgICAgIDogOTI0IC0gMTAyM1xuXG5kZXNrdG9wICAgICAgOiAxMDI0IC0gMTI3OVxuZGVza3RvcC0xICAgIDogMTAyNCAtIDExMzlcbmRlc2t0b3AtMiAgICA6IDExNDAgLSAxMjc5XG5cbmxnLWRlc2t0b3AgICA6IDEyODAgLSAxNjgwXG5sZy1kZXNrdG9wLTEgOiAxMjgwIC0gMTQzOVxubGctZGVza3RvcC0yIDogMTQ0MCAtIDE2ODBcblxuKi9cblxuXG5cbiRzY3JlZW4td2lkdGgtbWluOiAzMjBweDtcblxuJHNjcmVlbi13aWR0aC1tb2JpbGU6IDMyMHB4O1xuJHNjcmVlbi13aWR0aC1tb2JpbGUtMjogNTAwcHg7XG5cbiRzY3JlZW4td2lkdGgtdGFibGV0OiA3NjFweDtcbiRzY3JlZW4td2lkdGgtdGFibGV0LTI6IDkyNHB4O1xuXG4kc2NyZWVuLXdpZHRoLWRlc2t0b3A6IDEwMjRweDtcbiRzY3JlZW4td2lkdGgtZGVza3RvcC0yOiAxMTQwcHg7XG5cbiRzY3JlZW4td2lkdGgtbGctZGVza3RvcDogMTI4MHB4O1xuJHNjcmVlbi13aWR0aC1sZy1kZXNrdG9wLTI6IDE0NDBweDtcblxuJHNjcmVlbi13aWR0aC1tYXg6IDE2ODBweDsiLCIvLyBAZmlsZVxuLy8gQ3VzdG9tIHNhc3MgbWl4aW5zXG4vL1xuLy8gRGVmaW5lIHRoZSBjdXN0b20gbWl4aW5zIGZvciB5b3VyIHByb2plY3QgaGVyZS5cbi8vIGh0dHA6Ly9zYXNzLWxhbmcuY29tL2RvY3MveWFyZG9jL2ZpbGUuU0FTU19SRUZFUkVOQ0UuaHRtbCNkZWZpbmluZ19hX21peGluXG5cblxuQG1peGluIGJyZWFrcG9pbnQtdXAoJGNsYXNzKSB7XG5cbiAgQGlmICRjbGFzcz09bW9iaWxlIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJGNsYXNzPT1tb2JpbGUtMSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDApIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRjbGFzcz09bW9iaWxlLTIge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXdpZHRoLW1vYmlsZS0yKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PXRhYmxldCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4td2lkdGgtdGFibGV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PXRhYmxldC0xIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi13aWR0aC10YWJsZXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRjbGFzcz09dGFibGV0LTIge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXdpZHRoLXRhYmxldC0yKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PWRlc2t0b3Age1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXdpZHRoLWRlc2t0b3ApIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRjbGFzcz09ZGVza3RvcC0xIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi13aWR0aC1kZXNrdG9wKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PWRlc2t0b3AtMiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4td2lkdGgtZGVza3RvcC0yKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PWxnLWRlc2t0b3Age1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXdpZHRoLWxnLWRlc2t0b3ApIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRjbGFzcz09bGctZGVza3RvcC0xIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi13aWR0aC1sZy1kZXNrdG9wKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PWxnLWRlc2t0b3AtMiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4td2lkdGgtbGctZGVza3RvcC0yKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PXNjcmVlbi1tYXgge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXdpZHRoLW1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCBtaXhpbiBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czogbW9iaWxlLCBtb2JpbGUtMiwgdGFibGV0LCB0YWJsZXQtMiwgZGVza3RvcCwgZGVza3RvcC0yLCBsZy1kc2VrdG9wLCBsZy1kZXNrdG9wLTJcIjtcbiAgfVxuXG59XG5cblxuXG5AbWl4aW4gYnJlYWtwb2ludC1kb3duKCRjbGFzcykge1xuXG4gIEBpZiAkY2xhc3M9PW1vYmlsZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4td2lkdGgtdGFibGV0IC0gMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJGNsYXNzPT1tb2JpbGUtMSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4td2lkdGgtbW9iaWxlLTIgLSAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PW1vYmlsZS0yIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi13aWR0aC10YWJsZXQgLSAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PXRhYmxldCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4td2lkdGgtZGVza3RvcCAtIDEpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRjbGFzcz09dGFibGV0LTEge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXdpZHRoLXRhYmxldC0yIC0gMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJGNsYXNzPT10YWJsZXQtMiB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4td2lkdGgtZGVza3RvcCAtIDEpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRjbGFzcz09ZGVza3RvcCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4td2lkdGgtbGctZGVza3RvcCAtIDEpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRjbGFzcz09ZGVza3RvcC0xIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi13aWR0aC1kZXNrdG9wLTIgLSAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PWRlc2t0b3AtMiB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4td2lkdGgtbGctZGVza3RvcCAtIDEpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRjbGFzcz09bGctZGVza3RvcCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4td2lkdGgtbWF4IC0gMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJGNsYXNzPT1sZy1kZXNrdG9wLTEge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXdpZHRoLWxnLWRlc2t0b3AtMiAtIDEpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRjbGFzcz09bGctZGVza3RvcC0yIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi13aWR0aC1tYXggLSAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50IG1peGluIHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgYXJndW1lbnRzOiBtb2JpbGUsIG1vYmlsZS0yLCB0YWJsZXQsIHRhYmxldC0yLCBkZXNrdG9wLCBkZXNrdG9wLTIsIGxnLWRzZWt0b3AsIGxnLWRlc2t0b3AtMlwiO1xuICB9XG5cbn1cblxuXG5cblxuQG1peGluIGJyZWFrcG9pbnQtb25seSgkY2xhc3MpIHtcblxuICBAaWYgJGNsYXNzPT1tb2JpbGUge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXdpZHRoLXRhYmxldCAtIDEpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRjbGFzcz09bW9iaWxlLTEge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXdpZHRoLW1vYmlsZS0yIC0gMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJGNsYXNzPT1tb2JpbGUtMiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4td2lkdGgtbW9iaWxlLTIpIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXdpZHRoLXRhYmxldCAtIDEpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRjbGFzcz09dGFibGV0IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi13aWR0aC10YWJsZXQpIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXdpZHRoLWRlc2t0b3AgLSAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PXRhYmxldC0xIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi13aWR0aC10YWJsZXQpIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXdpZHRoLXRhYmxldC0yIC0gMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJGNsYXNzPT10YWJsZXQtMiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4td2lkdGgtdGFibGV0LTIpIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXdpZHRoLWRlc2t0b3AgLSAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PWRlc2t0b3Age1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXdpZHRoLWRlc2t0b3ApIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXdpZHRoLWxnLWRlc2t0b3AgLSAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PWRlc2t0b3AtZXh0ZW5kZWQge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXdpZHRoLWRlc2t0b3ApIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXdpZHRoLWxnLWRlc2t0b3AtMiAtIDEpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRjbGFzcz09ZGVza3RvcC0xIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi13aWR0aC1kZXNrdG9wKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi13aWR0aC1kZXNrdG9wLTIgLSAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PWRlc2t0b3AtMiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4td2lkdGgtZGVza3RvcC0yKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi13aWR0aC1sZy1kZXNrdG9wIC0gMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJGNsYXNzPT1sZy1kZXNrdG9wIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi13aWR0aC1sZy1kZXNrdG9wKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi13aWR0aC1tYXggLSAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkY2xhc3M9PWxnLWRlc2t0b3AtMSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4td2lkdGgtbGctZGVza3RvcCkgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4td2lkdGgtbGctZGVza3RvcC0yIC0gMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJGNsYXNzPT1sZy1kZXNrdG9wLTIge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXdpZHRoLWxnLWRlc2t0b3AtMikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4td2lkdGgtbWF4IC0gMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50IG1peGluIHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgYXJndW1lbnRzOiBtb2JpbGUsIG1vYmlsZS0yLCB0YWJsZXQsIHRhYmxldC0yLCBkZXNrdG9wLCBkZXNrdG9wLTIsIGRlc2t0b3AtZXh0ZW5kZWQgbGctZHNla3RvcCwgbGctZGVza3RvcC0yXCI7XG4gIH1cblxufVxuXG5cblxuXG4vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IGFjY2Vzc2libGUuXG4vLyBAc2VlIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xufVxuXG4vLyBUdXJucyBvZmYgdGhlIGVsZW1lbnQtaW52aXNpYmxlIGVmZmVjdC5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiBieSBkZWZhdWx0LCBidXQgdmlzaWJsZSB3aGVuIGZvY3VzZWQuXG5AbWl4aW4gZWxlbWVudC1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcblxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICB9XG59XG5cbi8vIGRlZmluZSBhIGdsb2JhbCBib3gtc2hhZG93IHN0eWxlXG5AbWl4aW4gYm94c2hhZG93IHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAtbW96LWJveC1zaGFkb3c6IDAgNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vIEEgZ2xvYmFsIHNldHRpbmcgdGhhdCBjYW4gYmUgdXNlZCBmb3IgY29udHJvbGxpbmcgY29udGFpbmVyIHdpZHRoc1xuJWlubmVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRzY3JlZW4td2lkdGgtdGFibGV0IC0gNjBweDtcbiAgbWFyZ2luOiAwIDMwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1vbmx5KHRhYmxldC0xKSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgbWF4LXdpZHRoOiAkc2NyZWVuLXdpZHRoLW1heCAtIDEyMHB4O1xuICAgIG1hcmdpbjogMCA2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChsZy1kZXNrdG9wLTIpIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG4vLyBJc29sYXRlIGEgaG92ZXIgZWZmZWN0IG9ubHkgZm9yIG5vbi10b3VjaCBzY3JlZW5zIC0gcmVxdWlyZXMgTW9kZXJuaXpyIHdpdGggdG91Y2ggZGV0ZWN0aW9uXG5AbWl4aW4gbm90b3VjaGhvdmVyIHtcbiAgLm5vLXRvdWNoZXZlbnRzICYge1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBGdWxseSBwcmVmaXhlZCBwbGFjZWhvbGRlciBzdHlsaW5nXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBQcmVmaXhlZCBib3JkZXIgcmFkaXVzIHNob3J0Y3V0XG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG4vLyBGbGV4aWJsZSB2aWRlbyBjb250YWluZXJcbi52aWRlby1wbGF5ZXIsXG4ldmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIC8qIHBhZGRpbmctdG9wOiAzMHB4OyAqL1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cbn1cblxuLy8gUmVtIHdpdGggcGl4ZWwgZmFsbGJhY2tcbkBtaXhpbiBmb250LXNpemUoJHNpemVWYWx1ZToxNikge1xuICBmb250LXNpemU6ICRzaXplVmFsdWUgKyBweDtcbiAgZm9udC1zaXplOiAoJHNpemVWYWx1ZSAvIDEwKSArIHJlbTtcbn1cblxuLy8gR2xvYmFsIGJ1dHRvbiBzdHlsaW5nXG4lYnV0dG9uIHtcbiAgI3BhZ2UgJiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBib3JkZXI6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgICBsaW5lLWhlaWdodDogNTZweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG5cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogMzEwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2NnB4O1xuICAgICAgbWluLWhlaWdodDogNjZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgICBtaW4td2lkdGg6IDI4MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDc2cHg7XG4gICAgICBtaW4taGVpZ2h0OiA3NnB4O1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGxnLWRlc2t0b3AtMikge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI1KTtcbiAgICB9XG5cbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcztcbiAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcztcbiAgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXM7XG5cbiAgICBAaW5jbHVkZSBub3RvdWNoaG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzAzNjVhNDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICNwYWdlIC5zaWRlYmFyLXNlY29uZCAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LWRvd24odGFibGV0KSB7XG4gICAgICBtaW4td2lkdGg6IDIxMHB4O1xuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgICBtaW4td2lkdGg6IDIxMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1vbmx5KGRlc2t0b3AtZXh0ZW5kZWQpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICNmb290ZXItY29sdW1ucyAmIHtcbiAgICBsaW5lLWhlaWdodDogNjZweDtcbiAgICBoZWlnaHQ6IDY2cHg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgICAgbGluZS1oZWlnaHQ6IDc2cHg7XG4gICAgICBoZWlnaHQ6IDc2cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChsZy1kZXNrdG9wLTIpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChzY3JlZW4tbWF4KSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBMZWZ0IGZsb2F0ZWQgaW5saW5lIG1lbnUgd2l0aCBubyBtYXJnaW4sIHBhZGRpbmcgb3IgYm9yZGVyXG5AbWl4aW4gbGlzdC1yZXNldCgkdHlwZTpmbG9hdCkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcblxuICAgIEBpZiAkdHlwZT09ZmxvYXQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkdHlwZT09aW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkdHlwZT09aW5saW5lLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLy8gYXV0byBzY3JvbGwgd2l0aCBzbW9vdGggc2Nyb2xsaW5nIG9uIHRvdWNoIGRldmljZXNcbiVzY3JvbGwge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuQG1peGluIGljb24oJG5hbWUpIHtcbiAgY29udGVudDogJG5hbWU7XG4gIGZvbnQtZmFtaWx5OiAnY2FwdGFpbmljb24nO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAkb3BhY2l0eS1pZTogJG9wYWNpdHkgKiAxMDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7XG4gIC8vSUU4XG59XG5cbkBtaXhpbiBoZWFkaW5nT25XaGl0ZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChtb2JpbGUtMikge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMik7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDI2KTtcbiAgfVxuXG4gIGNvbG9yOiAkZGFya2JsdWU7XG4gIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGUzLnBuZykgMCAwIHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMjAlO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBtYXJnaW4tbGVmdDogMjFweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldCkge1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9wYXR0ZXJuLXN0cmlwZTMucG5nKSAwIDAgcmVwZWF0LXg7XG4gICAgICB3aWR0aDogMjU4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMzFweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaGVhZGluZ09uR3JheSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChtb2JpbGUtMikge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGxnLWRlc2t0b3AtMikge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNSk7XG4gIH1cblxuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6aGlkZGVuO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGU0LnBuZykgMCAwIHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMjAlO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBtYXJnaW4tbGVmdDogMjFweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3BhdHRlcm4tc3RyaXBlNC5wbmcpIDAgMCByZXBlYXQteDtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLW1vei10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgLW8tdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydHkuLi4pIHtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHk7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJGR1cmF0aW9uLi4uKSB7XG4gIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogJGR1cmF0aW9uO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAkZHVyYXRpb247XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkZHVyYXRpb247XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLi4uKSB7XG4gIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJGRlbGF5Li4uKSB7XG4gIC1tb3otdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICAtby10cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbkBtaXhpbiBncmlkLTItdG8tMSB7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcblxuICAudmlld3Mtcm93IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcblxuICAgICYudmlld3Mtcm93LW9kZCB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LWRvd24obW9iaWxlLTEpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3JpZC0zLXRvLTEge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuXG4gIC52aWV3cy1yb3cge1xuICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAmOm50aC1jaGlsZCgzbiArIDEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bihtb2JpbGUtMSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGdyaWQtMy10by0xLWJsb2NrcyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG5cbiAgLmJsb2NrIHtcbiAgICB3aWR0aDogMzMuMzMlO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKG1vYmlsZS0xKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3RyaXBlcy1hYm92ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDM1cHg7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL3N0cmlwZXMtZ3JheS5zdmcnKTtcbiAgfVxufVxuXG5AbWl4aW4gc3RyaXBlcy1yaWdodCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvc3RyaXBlcy1ibHVlLnN2ZycpO1xuICB9XG59XG4iLCIvLyBDb2xvcnNcbiRkYXJrZ3JheTogIzIzMmMzMztcbiRhbHRncmF5OiAjMjgzNTNkO1xuJG1lZGdyYXk6ICM1NDVCNjM7XG4kbGlnaHRncmF5OiAjZjFmMmYyO1xuXG4kYmx1ZTogIzAyN2JjNTtcbiRicmlnaHRibHVlOiAjMTRhNWZlO1xuJGFsdGJyaWdodGJsdWU6ICMzMGIxZmY7XG4kZGFya2JsdWU6ICMxMTMyNWI7XG5cbiRtb2JpbGVibHVlOiAjMjc1ODkzO1xuXG4kZGFyazogIzA3MWMzNjtcbiRzaWRlbmF2aGV4OiAjMzFiMGZkO1xuJG5hdmJsdWU6ICMwMzdjYzQ7XG4iLCIvKipcbiAqIEFjY2Vzc2liaWxpdHkgZmVhdHVyZXMuXG4gKi9cblxuLyogZWxlbWVudC1pbnZpc2libGUgYXMgZGVmaW5lZCBieSBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5ICovXG4uZWxlbWVudC1pbnZpc2libGUsXG4uZWxlbWVudC1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5aGlkZGVuLFxuLnVzYS1zci1vbmx5LFxuJWVsZW1lbnQtaW52aXNpYmxlIHtcbiAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG59XG5cbi8qIFR1cm5zIG9mZiB0aGUgZWxlbWVudC1pbnZpc2libGUgZWZmZWN0LiAqL1xuJWVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbn1cblxuLmVsZW1lbnQtZm9jdXNhYmxlLFxuJWVsZW1lbnQtZm9jdXNhYmxlIHtcbiAgQGV4dGVuZCAlZWxlbWVudC1pbnZpc2libGU7XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIEBleHRlbmQgJWVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgfVxufVxuXG4vKlxuICogVGhlIHNraXAtbGluayBsaW5rIHdpbGwgYmUgY29tcGxldGVseSBoaWRkZW4gdW50aWwgYSB1c2VyIHRhYnMgdG8gdGhlIGxpbmsuXG4gKi9cbiNza2lwLWxpbmsge1xuICBtYXJnaW46IDA7XG5cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAycHggMCAzcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4vKlxuICogUmVtb3ZpbmcgZm9jdXMgZnJvbSBjb250ZW50IHNvIHRoYXQgc2tpcC1saW5rIGZpeCBkb2VzIG5vdCBhbHdheXMgaGlnaGxpZ2h0IG1haW4gY29udGFpbmVyIHdoZW4gYW55IGNvbnRlbnQgaXMgY2xpY2tlZFxuICovXG5cbiNjb250ZW50e1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4iLCJAaW1wb3J0IFwiZm9udHNcIjtcbkBpbXBvcnQgXCJjb2xvcnNcIjtcbkBpbXBvcnQgXCJicmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcImFjY2Vzc2liaWxpdHlcIjtcblxuLyogVkFSSUFCTEVTXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4kYmFzZS1mb250LXNpemU6IDEwcHg7IC8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRsaW5laGVpZ2h0OiAxLjZlbTtcblxuLy9EZWZpbmUgeW91ciBib3JkZXJcbiRib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzLCBibG9ja3F1b3RlcyBhbmQgY29tbWVudHMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDMwcHg7XG5cbkBpbXBvcnQgXCJub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5cbi8qIFNUWUxFU1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmJvZHkge1xuICBAaW5jbHVkZSBmb250LXNpemUoMjIpO1xuICBsaW5lLWhlaWdodDogJGxpbmVoZWlnaHQ7XG4gIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgbWluLXdpZHRoOiAkc2NyZWVuLXdpZHRoLW1pbjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrZ3JheTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gIC8vIGNyaXNwZXIgZm9udCBhbGlhc2luZ1xuICAvLy13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAvLy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQtMSkge1xuICAgICYubm9zY3JvbGwge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG5pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbnN2Zy5leHQge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbiIsIi8qKlxuICogQGZpbGVcbiAqIE5vcm1hbGl6ZS5jc3MgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBhbiBhbHRlcm5hdGl2ZSB0byBDU1MgcmVzZXRzLlxuICpcbiAqIFRoaXMgZmlsZSBpcyBhIHNsaWdodCBmb3JrIG9mIHRoZXNlIG9yaWdpbmFsIHNvdXJjZXM6XG4gKiAtIG5vcm1hbGl6ZS5jc3MgdjIuMS4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplXG4gKiAtIG5vcm1hbGl6ZS5zY3NzIHYyLjEuMiB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS13aXRoLWNvbXBhc3NcbiAqXG4gKiBJdCdzIHN1Z2dlc3RlZCB0aGF0IHlvdSByZWFkIHRoZSBub3JtYWxpemUuc2NzcyBmaWxlIGFuZCBjdXN0b21pc2UgaXQgdG8gbWVldFxuICogeW91ciBuZWVkcywgcmF0aGVyIHRoZW4gaW5jbHVkaW5nIHRoZSBmaWxlIGluIHlvdXIgcHJvamVjdCBhbmQgb3ZlcnJpZGluZyB0aGVcbiAqIGRlZmF1bHRzIGxhdGVyIGluIHlvdXIgQ1NTLlxuICogQHNlZSBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vYWJvdXQtbm9ybWFsaXplLWNzcy9cbiAqXG4gKiBBbHNvOiBAc2VlIGh0dHA6Ly9tZWllcnQuY29tL2VuL2Jsb2cvMjAwODA0MTkvcmVzZXQtc3R5bGUtc2hlZXRzLWFyZS1iYWQvXG4gKiAgICAgICBAc2VlIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3Mvbm9fY3NzX3Jlc2V0L1xuICovXG5cbi8qKlxuICogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICovXG5cbi8qIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuICovXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQmFzZVxuICpcbiAqIEluc3RlYWQgb2YgcmVseWluZyBvbiB0aGUgZm9udHMgdGhhdCBhcmUgYXZhaWxhYmxlIG9uIGEgdXNlcidzIGNvbXB1dGVyLCB5b3VcbiAqIGNhbiB1c2Ugd2ViIGZvbnRzIHdoaWNoLCBsaWtlIGltYWdlcywgYXJlIHJlc291cmNlcyBkb3dubG9hZGVkIHRvIHRoZSB1c2VyJ3NcbiAqIGJyb3dzZXIuIEJlY2F1c2Ugb2YgdGhlIGJhbmR3aWR0aCBhbmQgcmVuZGVyaW5nIHJlc291cmNlcyByZXF1aXJlZCwgd2ViIGZvbnRzXG4gKiBzaG91bGQgYmUgdXNlZCB3aXRoIGNhcmUuXG4gKlxuICogTnVtZXJvdXMgcmVzb3VyY2VzIGZvciB3ZWIgZm9udHMgY2FuIGJlIGZvdW5kIG9uIEdvb2dsZS4gSGVyZSBhcmUgYSBmZXdcbiAqIHdlYnNpdGVzIHdoZXJlIHlvdSBjYW4gZmluZCBPcGVuIFNvdXJjZSBmb250cyB0byBkb3dubG9hZDpcbiAqIC0gaHR0cDovL3d3dy5mb250c3F1aXJyZWwuY29tL2ZvbnRmYWNlXG4gKiAtIGh0dHA6Ly93d3cudGhlbGVhZ3Vlb2Ztb3ZlYWJsZXR5cGUuY29tXG4gKlxuICogSW4gb3JkZXIgdG8gdXNlIHRoZXNlIGZvbnRzLCB5b3Ugd2lsbCBuZWVkIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGZvcm1hdHNcbiAqIHN1aXRhYmxlIGZvciB3ZWIgZm9udHMuIFdlIHJlY29tbWVuZCB0aGUgZnJlZS10by11c2UgRm9udCBTcXVpcnJlbCdzXG4gKiBGb250LUZhY2UgR2VuZXJhdG9yOlxuICogICBodHRwOi8vd3d3LmZvbnRzcXVpcnJlbC5jb20vZm9udGZhY2UvZ2VuZXJhdG9yXG4gKlxuICogVGhlIGZvbGxvd2luZyBpcyBhbiBleGFtcGxlIEBmb250LWZhY2UgZGVjbGFyYXRpb24uIFRoaXMgZm9udCBjYW4gdGhlbiBiZVxuICogdXNlZCBpbiBhbnkgcnVsZXNldCB1c2luZyBhIHByb3BlcnR5IGxpa2UgdGhpczogIGZvbnQtZmFtaWx5OiBFeGFtcGxlLCBzZXJpZjtcbiAqXG4gKiBTaW5jZSB3ZSdyZSB1c2luZyBTYXNzLCB5b3UnbGwgbmVlZCB0byBkZWNsYXJlIHlvdXIgZm9udCBmYWNlcyBoZXJlLCB0aGVuIHlvdVxuICogY2FuIGFkZCB0aGVtIHRvIHRoZSBmb250IHZhcmlhYmxlcyBpbiB0aGUgX2luaXQuc2NzcyBwYXJ0aWFsLlxuICovXG4vKlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRXhhbXBsZSc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9leGFtcGxlLmVvdCcpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZXhhbXBsZS5lb3Q/aWVmaXgnKSBmb3JtYXQoJ2VvdCcpLFxuICAgIHVybCgnLi4vZm9udHMvZXhhbXBsZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi9mb250cy9leGFtcGxlLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2V4YW1wbGUuc3ZnI3dlYmZvbnRPa09uZGNpaicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICogMy4gQ29ycmVjdCB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXG4gKiAgICBgZW1gIHVuaXRzLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCUgKiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCk7IC8qIDMgKi9cblxufVxuLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBMaW5rc1xuICpcbiAqIFRoZSBvcmRlciBvZiBsaW5rIHN0YXRlcyBhcmUgYmFzZWQgb24gRXJpYyBNZXllcidzIGFydGljbGU6XG4gKiBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdGhvdWdodHMvMjAwNy8wNi8xMS93aG8tb3JkZXJlZC10aGUtbGluay1zdGF0ZXNcbiAqL1xuYTpsaW5rIHtcbn1cbmE6dmlzaXRlZCB7XG59XG5hOmZvY3VzLCAjbWFpbi13cmFwcGVyIGE6Zm9jdXMgPiBpbWcge1xuICBvdXRsaW5lOiAycHggZG90dGVkICMyNzU4OTM7XG59XG5hOmZvY3VzID4gaW1nLCAuYXQtc2hhcmUtYnRuLWVsZW1lbnRzIGE6Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuYTphY3RpdmUge1xufVxuXG4vKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy4gKi9cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuXG4vKipcbiAqIFR5cG9ncmFwaHlcbiAqXG4gKiBUbyBhY2hpZXZlIGEgcGxlYXNhbnQgdmVydGljYWwgcmh5dGhtLCB3ZSB1c2UgQ29tcGFzcycgVmVydGljYWwgUmh5dGhtIG1peGluc1xuICogc28gdGhhdCB0aGUgbGluZSBoZWlnaHQgb2Ygb3VyIGJhc2UgZm9udCBiZWNvbWVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsXG4gKiBtZWFzdXJlbWVudC4gV2UgdXNlIG11bHRpcGxlcyBvZiB0aGF0IHVuaXQgdG8gc2V0IHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zXG4gKiBmb3Igb3VyIGJsb2NrIGxldmVsIGVsZW1lbnRzIGFuZCB0byBzZXQgdGhlIGxpbmUgaGVpZ2h0cyBvZiBhbnkgZm9udHMuXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHA6Ly8yNHdheXMub3JnLzIwMDYvY29tcG9zZS10by1hLXZlcnRpY2FsLXJoeXRobVxuICovXG5cbi8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uICovXG5wLFxucHJlIHtcbn1cbmJsb2NrcXVvdGUge1xuICAvKiBBbHNvIGluZGVudCB0aGUgcXVvdGUgb24gYm90aCBzaWRlcy4gKi9cbiAgbWFyZ2luOiAyMHB4ICRpbmRlbnQtYW1vdW50O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG4vKlxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRnb2xkZW47XG4kbW9kdWxhci1zY2FsZS1iYXNlOiAxZW07XG5cbmgxIHtcbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDIpO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBAaW5jbHVkZSBtYXJnaW4oMjBweCBudWxsIDIwcHgpO1xufVxuaDIge1xuICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMSwgMS4zOWVtKTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgQGluY2x1ZGUgbWFyZ2luKDIwcHggbnVsbCAyMHB4KTtcbn1cbmgzIHtcbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDEsIDFlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIEBpbmNsdWRlIG1hcmdpbigyMHB4IG51bGwgMjBweCk7XG59XG5oNCB7XG4gIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgxLCAuN2VtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNjI1ZW07XG4gIEBpbmNsdWRlIG1hcmdpbigyMHB4IG51bGwgMjBweCk7XG59XG5oNSB7XG4gIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgxLCAuNjI1ZW0pO1xuICBsaW5lLWhlaWdodDogMS4zNzVlbTtcbiAgQGluY2x1ZGUgbWFyZ2luKDIwcHggbnVsbCAyMHB4KTtcbn1cbmg2IHtcbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDEsIC41NWVtKTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgQGluY2x1ZGUgbWFyZ2luKDIwcHggbnVsbCAyMHB4KTtcbn1cbiovXG4vKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LCBTYWZhcmkgNSwgYW5kIENocm9tZS4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NjY7XG4gIHBhZGRpbmctYm90dG9tOiAtMXB4O1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLyogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gU2FmYXJpIDUgYW5kIENocm9tZS4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wLFxudHQsXG52YXIge1xuICBmb250LWZhbWlseTogJGZvbnQtbW9ub3NwYWNlOyAvLyBUaGUgdmFsdWUgb2YgJGZvbnQtbW9ub3NwYWNlIGVuZHMgd2l0aCBcIiwgc2VyaWZcIi5cbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDEsIC41MTI1ZW0pO1xufVxuXG4vKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnMuICovXG5wcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLyogU2V0IGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuICovXG5xIHtcbiAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyoqXG4gKiBMaXN0c1xuICovXG5kbCxcbm1lbnUsXG5vbCxcbnVsIHtcbiAgLyogQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuICovXG4gIEBpbmNsdWRlIG1hcmdpbigyMHB4IG51bGwgMjBweCk7XG59XG5vbCxcbnVsIHtcbiAgb2wsXG4gIHVsIHtcbiAgICAvKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy4gKi9cbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbmRkIHtcbiAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogTFRSICovXG59XG5cbi8qIEFkZHJlc3MgcGFkZGluZ3Mgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy4gKi9cbm1lbnUsXG5vbCxcbnVsIHtcbiAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIExUUiAqL1xufVxuXG5cbi8qKlxuICogRW1iZWRkZWQgY29udGVudCBhbmQgZmlndXJlc1xuICpcbiAqIEB0b2RvIExvb2sgaW50byBhZGRpbmcgcmVzcG9uc2l2ZSBlbWJlZGRlZCB2aWRlby5cbiAqL1xuaW1nIHtcbiAgLyogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkuICovXG4gIGJvcmRlcjogMDtcblxuICAvKiBTdXBwcmVzcyB0aGUgc3BhY2UgYmVuZWF0aCB0aGUgYmFzZWxpbmUgKi9cbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcblxuICAvKiBSZXNwb25zaXZlIGltYWdlcyAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLyogQ29ycmVjdCBJRSA4IG5vdCBzY2FsaW5nIGltYWdlIGhlaWdodCB3aGVuIHJlc2l6ZWQuICovXG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKiBDb3JyZWN0IG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRSA5LiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaSA1LiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEZvcm1zXG4gKi9cblxuXG4vKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBmYW1pbHkgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKiA0LiBJbXByb3ZlIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IHdpdGggSUUgNi83LlxuICogNS4gS2VlcCBmb3JtIGVsZW1lbnRzIGNvbnN0cmFpbmVkIGluIHRoZWlyIGNvbnRhaW5lcnMuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogNSAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA4Ky5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmUgaW5uZXIgc3BhY2luZyBpbiBJRSA3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqICAgIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LlxuICogMy4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDcuXG4gKiAgICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyogRHJ1cGFsLXN0eWxlIGZvcm0gbGFiZWxzLiAqL1xubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogVGFibGVzXG4gKi9cbnRhYmxlIHtcbiAgLyogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLiAqL1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgLyogUHJldmVudCBjcmFtcGVkLWxvb2tpbmcgdGFibGVzICovXG4gIHdpZHRoOiAxMDAlO1xuICAvKiBBZGQgbWFyZ2lucy4gKi9cbiAgQGluY2x1ZGUgbWFyZ2luKDIwcHggbnVsbCAyMHB4KTtcbn1cbiIsIi8vIFNjYWxpbmcgVmFyaWFibGVzXG4kZ29sZGVuOiAgICAgICAgICAgMS42MTg7XG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XG4kbWlub3ItdGhpcmQ6ICAgICAgMS4yO1xuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XG4kYXVnbWVudGVkLWZvdXJ0aDogMS40MTQ7XG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcbiRtYWpvci1zaXh0aDogICAgICAxLjY2NztcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcbiRvY3RhdmU6ICAgICAgICAgICAyO1xuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcbiRtYWpvci10d2VsZnRoOiAgICAzO1xuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XG5cbiR1c2VyLW91dHB1dC1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4kb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlO1xuXG4kbW9kdWxhci1zY2FsZS1yYXRpbzogJHBlcmZlY3QtZm91cnRoICFkZWZhdWx0O1xuJG1vZHVsYXItc2NhbGUtYmFzZTogZW0oJGVtLWJhc2UpICFkZWZhdWx0O1xuXG4kb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLW91dHB1dC1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nO1xuXG5AZnVuY3Rpb24gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWU6ICRtb2R1bGFyLXNjYWxlLWJhc2UsICRyYXRpbzogJG1vZHVsYXItc2NhbGUtcmF0aW8pIHtcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XG4gICR2YWx1ZTogJHYxO1xuXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxuICBAd2hpbGUgJHYyID4gJHYxIHtcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXG4gIH1cbiAgQHdoaWxlICR2MiA8ICR2MSB7XG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcbiAgfVxuXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcblxuICBAaWYgJGluY3JlbWVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGluY3JlbWVudCA8IDAge1xuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHMgZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcbi8vL1xuLy8vIEBpZ25vcmUgWW91IGNhbiBhbHNvIHVzZSBgZmFsc2VgIGluc3RlYWQgb2YgYG51bGxgLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIDEwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG5cbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBjb2xsYXBzZS1kaXJlY3Rpb25hbHNgIGlzIGRlcHJlY2F0ZWQgYW5kIFwiICtcbiAgICBcIndpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICRvdXRwdXQ6IG51bGw7XG5cbiAgJGE6IG50aCgkdmFscywgMSk7XG4gICRiOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgMikpO1xuICAkYzogaWYobGVuZ3RoKCR2YWxzKSA8IDMsICRhLCBudGgoJHZhbHMsIDMpKTtcbiAgJGQ6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCBpZihsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkpKTtcblxuICBAaWYgJGEgPT0gMCB7ICRhOiAwOyB9XG4gIEBpZiAkYiA9PSAwIHsgJGI6IDA7IH1cbiAgQGlmICRjID09IDAgeyAkYzogMDsgfVxuICBAaWYgJGQgPT0gMCB7ICRkOiAwOyB9XG5cbiAgQGlmICRhID09ICRiIGFuZCAkYSA9PSAkYyBhbmQgJGEgPT0gJGQgeyAkb3V0cHV0OiAkYTsgICAgICAgICAgfVxuICBAZWxzZSBpZiAkYSA9PSAkYyBhbmQgJGIgPT0gJGQgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiOyAgICAgICB9XG4gIEBlbHNlIGlmICRiID09ICRkICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGM7ICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYyAkZDsgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIE91dHB1dCBkaXJlY3Rpb25hbCBwcm9wZXJ0aWVzLCBmb3IgaW5zdGFuY2UgYG1hcmdpbmAuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJlXG4vLy8gICBQcmVmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZcbi8vLyAgIFN1ZmZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIHZhbHVlc1xuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb2xsYXBzZS1kaXJlY3Rpb25hbHNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XG5cbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUoXCJkaXJlY3Rpb25hbC1wcm9wZXJ0eVwiKTtcblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICAvLyBQcm9wZXJ0eSBOYW1lc1xuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcblxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcblxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XG4gICAgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSAzIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDQge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCA0KSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgNCk7IH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7JGFsbH06ICR2YWxzO1xuICB9XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG59XG4iLCIvL0RlZmluZSB5b3VyIGN1c3RvbSBmb250IHN0eWxlcyBmb3Igc2VsZWN0b3JzIGhlcmVcbi8vIGluY2x1ZGUgcmVzZXQgZnJvbSBtY2dcbmgxIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbmgxIHtcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWhlYWRpbmctZm9udDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKG1vYmlsZS0yKXtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjIpO1xuICAgIGxpbmUtaGVpZ2h0OjEuNDtcbiAgICBtYXJnaW4tdG9wOjFyZW07XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1vbmx5KHRhYmxldC0xKXtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMzIpO1xuICAgIG1hcmdpbi10b3A6MS41cmVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpe1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0Mik7XG4gIH1cbn1cblxuXG5cbi8vIEhlYWRpbmcgc3R5bGVcbiNjb250ZW50IGgyLFxuI2NvbnRlbnQgaDMge1xuICBmb250LXdlaWdodDogNTAwXG59XG5cbi5ibG9jayBoMiB7XG4gIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgxLCAxLjA4MmVtKTtcbn1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgaDIge1xuXG4gIH1cbn1cblxuYSB7XG4gIGNvbG9yOiAkYmx1ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOmNvbG9yIDMwMG1zIGVhc2U7XG4gIEBpbmNsdWRlIG5vdG91Y2hob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOmNvbG9yIDMwMG1zIGVhc2U7XG4gIH1cbn1cbmgyIGEge1xuICBAaW5jbHVkZSBub3RvdWNoaG92ZXIge1xuICAgIGNvbG9yOiRkYXJrYmx1ZTtcbiAgfVxufVxuYTpmb2N1cyB7XG4gIG91dGxpbmU6MnB4IGRvdHRlZCAjMjc1ODkzO1xufVxuaHIge1xuICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICBib3JkZXItdG9wOiAwO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6ICRib3JkZXI7XG4gIHBhZGRpbmctbGVmdDogJGluZGVudC1hbW91bnQ7XG4gIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgxLCAuNzcyNWVtKTtcbn1cblxuLmludHJvIHtcbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDEsIC43NTVlbSk7XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG59XG5cbi5maWVsZC0tZG93bmxvYWQgYSxcbmEuYnV0dG9uLWxpbmssXG5hLmJ0biB7XG4gIEBleHRlbmQgJWJ1dHRvbjtcbn1cbiIsIi8vQGluY2x1ZGUgc2dzLWNoYW5nZSgnb3V0cHV0JywgJ2lzb2xhdGlvbicpO1xuQGluY2x1ZGUgYnJlYWtwb2ludC11cChsZy1kZXNrdG9wLTIpIHtcbiAgLm5vdC1sb2dnZWQtaW4gI3BhZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxNDVweDtcbiAgfVxufVxuXG4jcGFnZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNjgwcHg7XG4gIG1pbi13aWR0aDogMzIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNwYWdlLFxuI21haW4td3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBtYXJnaW4tdG9wOiA2OHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuI21haW4td3JhcHBlciB7XG4gIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQtMSkge1xuICAjbWFpbi13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzZweDtcbiAgfVxufVxuXG4jbWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MjBweDtcblxuICAvKnBhZGRpbmctbGVmdDoyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OjIwcHg7Ki9cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKHRhYmxldC0xKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuZnJvbnQgJiB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1vbmx5KGRlc2t0b3AtZXh0ZW5kZWQpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcblxufVxuXG5cbi5zaWRlYmFyLXNlY29uZCAuaW5uZXItd3JhcHBlci5wYWRkZWQge1xuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNy42JVxuICB9XG5cbn1cblxuXG5cbiNjb250ZW50LFxuI3NpZGViYXItZmlyc3QsXG4jc2lkZWJhci1zZWNvbmQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bihtb2JpbGUtMikge1xuXG4gICNjb250ZW50LFxuICAjc2lkZWJhci1maXJzdCxcbiAgI3NpZGViYXItc2Vjb25kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50LWRvd24odGFibGV0LTEpIHtcbiAgLm5vdC1mcm9udCAuaW5uZXItd3JhcHBlci5wYWRkZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICoge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQtb25seShtb2JpbGUtMikge1xuICAubm90LWZyb250IC5pbm5lci13cmFwcGVyLnBhZGRlZCB7XG4gICAgKiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludC1vbmx5KHRhYmxldC0xKSB7XG4gIC5ub3QtZnJvbnQgLmlubmVyLXdyYXBwZXIucGFkZGVkIHtcbiAgICAqIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbiAgfVxufVxuXG5cbi8qIExBWU9VVCBGT1IgTU9CSUxFIE1FTlUgKi9cbkBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQtMSkge1xuXG4gICNtYWluLFxuICAjZm9vdGVyLFxuICAjcmVnaW9uLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgNTAwbXMgZWFzZSk7XG5cbiAgICAubWVudS1hY3RpdmUgJiB7XG4gICAgICBsZWZ0OiAtMjU1cHg7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA1MDBtcyBlYXNlKTtcbiAgICB9XG5cbiAgfVxuXG59XG5cbkBpbXBvcnQgXCJuby1zaWRlYmFyc1wiO1xuQGltcG9ydCBcInNpZGViYXItc2Vjb25kXCI7XG4iLCIubm8tc2lkZWJhcnMgI2NvbnRlbnQge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTpibG9jaztcbn0iLCIvKipcbiAqIFRoZSBsYXlvdXQgd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSBzaWRlYmFyLCB0aGUgcmlnaHQgb25lLlxuICovXG5AaW5jbHVkZSBicmVha3BvaW50LWRvd24odGFibGV0LTEpIHtcblx0LnNpZGViYXJzIHtcblx0XHRtYXJnaW4tdG9wOiA1MHB4O1xuXHR9XG5cdC5zaWRlYmFyLXNlY29uZCB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcblx0LnNpZGViYXItc2Vjb25kIHtcblx0XHQjY29udGVudCB7XG5cdFx0XHR3aWR0aDogNjcuNCU7XG5cdFx0fVxuXHRcdC5zaWRlYmFyLXNlY29uZCB7XG5cdFx0XHR3aWR0aDogMzIuNCU7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0fVxuXHR9XG59XG4uc2lkZWJhcnMgLnNpZGViYXItc2Vjb25kIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC5ibG9jayB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0fVxuXHQuYmxvY2s6bm90KC5ibG9jay0tbWVudS1ibG9jaykge1xuXHRcdHBhZGRpbmc6IDMwcHggMjBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG5cdFx0Zm9ybSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0ZmllbGRzZXQge1xuXHRcdFx0XHRib3JkZXI6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0aW5wdXQuZm9ybS1zdWJtaXQge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludC1vbmx5KHRhYmxldC0yKSB7XG5cdFx0XHRcdG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQjZWRpdC1zdWJtaXQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdFx0LmJsb2NrLWludGVyaW9yIHtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0fVxuXHRcdGgyLmJsb2NrLXRpdGxlIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0dWwge1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHRcdGxpLCBwIHtcblx0XHRcdG1hcmdpbjogMS4ycmVtIDAgMDtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS42O1xuXG5cdFx0XHQmLmZpZWxkLXRpdGxlIHtcblx0XHRcdFx0bWFyZ2luOiAxLjJyZW0gMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcblx0XHRcdHBhZGRpbmc6IDQ1cHggNDBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cblx0XHRcdGxpLCBwIHtcblx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludC11cChsZy1kZXNrdG9wLTIpIHtcblx0XHRcdHBhZGRpbmc6IDYwcHggNjBweDtcblxuXHRcdFx0bGksIHAge1xuXHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUoMjIpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmM2YyO1xuXG5cdFx0aDIge1xuXHRcdFx0QGluY2x1ZGUgaGVhZGluZ09uR3JheTtcblx0XHR9XG5cdFx0aW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDU2cHg7XG5cdFx0XHRoZWlnaHQ6IDU2cHg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA2NnB4O1xuXHRcdFx0XHRoZWlnaHQ6IDY2cHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA3NnB4O1xuXHRcdFx0XHRoZWlnaHQ6IDc2cHg7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgyNSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQtb25seShkZXNrdG9wLWV4dGVuZGVkKSB7XG5cdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdFx0LnZpZXctZm9vdGVyIHtcblx0XHRcdHBhZGRpbmctdG9wOiAycmVtO1xuXG5cdFx0XHRwIHtcblx0XHRcdFx0Ly90ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuYmxvY2stdmlld3MtYmxvY2ttY2ctbGVhcm4tbW9yZS1ibG9jay0xIHtcblx0XHQuYmxvY2staW50ZXJpb3Ige1xuXHRcdFx0b3ZlcmZsb3c6IHZpc2libGUhaW1wb3J0YW50O1xuXG5cdFx0XHQudmlldy1tY2ctbGVhcm4tbW9yZV9fYmxvY2tfMSB7XG5cdFx0XHRcdGE6Zm9jdXMge1xuXHRcdFx0XHRcdG91dGxpbmUtb2Zmc2V0OiAycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnZpZXctLWxlYXJuLW1vcmUge1xuXHRcdHVsIHtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC52aWV3LWZvb3RlciBhIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXHQuYmxvY2suc2lkZWJhci1zaGFyaW5nOm5vdCguYmxvY2stLW1lbnUtYmxvY2spLCAuYmxvY2suc2lkZWJhci1zaGFyaW5nOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIC5ibG9jayB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cblx0XHRoMi5ibG9jay10aXRsZSB7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0XHRmb250LWZhbWlseTogJHNhbnM7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0b3A6IDIzcHg7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0bGkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogNDFweDtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDQxcHg7XG5cdFx0XHRcdGhlaWdodDogNDFweDtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUtMXgucG5nKTtcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTU1cHggLTUwcHg7XG5cdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMjAwcHggMjAwcHg7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdHRleHQtaW5kZW50OiAtODc2NWVtO1xuXG5cdFx0XHRcdCYuZmFjZWJvb2sge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNTBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLmxpbmtlZGluIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTExcHggLTUwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYWRkdG9hbnlfbGlzdCB7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuYmxvY2suc2lkZWJhci1zaGFyaW5nOm5vdCguYmxvY2stLW1lbnUtYmxvY2spIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50LWRvd24odGFibGV0LTEpIHtcblx0XHRcdHBhZGRpbmc6IDBweCAwIDQwcHggMDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcblx0XHRcdHBhZGRpbmc6IDQwcHggMCA0MHB4IDA7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcblx0XHRcdHBhZGRpbmc6IDQwcHggMCA0MHB4IDIwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcblx0XHRcdGgyLmJsb2NrLXRpdGxlIHtcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAtMTEwcHg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRwYWRkaW5nOiAwcHggMCAwIDQwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcC0yKSB7XG5cdFx0XHR0b3A6IC04N3B4O1xuXHRcdFx0cGFkZGluZzogMCAwIDAgNDBweDtcblxuXHRcdFx0aDIuYmxvY2stdGl0bGUge1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5mYW5jeWJveC1sb2NrLXRlc3Qge1xyXG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcclxufVxyXG5cclxuLmZhbmN5Ym94LWxvY2sge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIGJvZHkge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuXHJcbiNmYW5jeWJveC1sb2FkaW5nIHtcclxuXHJcbiAgZGl2IHtcclxuXHJcbiAgfVxyXG59XHJcblxyXG4uZmFuY3lib3gtb3ZlcmxheSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgbGVmdDogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgei1pbmRleDogODAwMDtcclxuICAuZmFuY3lib3gtbG9jayAmIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gIH1cclxuICAmLmZhbmN5Ym94LW92ZXJsYXktZml4ZWQge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgfVxyXG4gIC5mYW5jeWJveC13cmFwIHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB6LWluZGV4OiA4MDIwO1xyXG4gICAgJi5mYW5jeWJveC1vcGVuZWQge1xyXG4gICAgICB6LWluZGV4OiA4MDMwO1xyXG4gICAgfVxyXG4gICAgJi5mYW5jeWJveC10eXBlLWFqYXgge1xyXG4gICAgICAuZmFuY3lib3gtc2tpbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZhbmN5Ym94LXNraW4ge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIC5mYW5jeWJveC1vdXRlciB7XHJcbiAgICAgICAgLmZhbmN5Ym94LWlubmVyIHtcclxuICAgICAgICAgIC5mYW5jeWJveC1pbWFnZSxcclxuICAgICAgICAgIC5mYW5jeWJveC1pZnJhbWUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZhbmN5Ym94LW5hdiB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICB6LWluZGV4OiA4MDQwO1xyXG4gICAgICAgICAgJjpob3ZlciBzcGFuIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHNwYW4ge1xyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYuZmFuY3lib3gtcHJldiB7XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYuZmFuY3lib3gtbmV4dCB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmZhbmN5Ym94LWNsb3NlIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHotaW5kZXg6IDgwNDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aXRsZSB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiA4MDUwO1xyXG5cclxuICAuY2hpbGQge1xyXG5cclxuICB9XHJcbn1cclxuXHJcbi5mYW5jeWJveC1vcGVuZWQgLmZhbmN5Ym94LXRpdGxlIHtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59IiwiZm9ybSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gID4gKiB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbi5mb3JtLWl0ZW0sXG4uZm9ybS1hY3Rpb25zIHtcbn1cbmxhYmVsIHtcbiAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxudGV4dGFyZWEge1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6ICRib3JkZXI7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIEBleHRlbmQgJWVsZW1lbnQtaW52aXNpYmxlO1xuICArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAkaW5kZW50LWFtb3VudCArIDY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAtKCRpbmRlbnQtYW1vdW50ICsgNik7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kOiB0aW50KCRibHVlLCA1MCUpO1xuICAgIH1cbiAgfVxuICAmOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICB9XG59XG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpiZWZvcmUge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgdGV4dC1pbmRlbnQ6IDAuMDFweDtcbnRleHQtb3ZlcmZsb3c6ICcnO1xuLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwIDE0cHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICRibHVlO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICBtaW4td2lkdGg6IDIwMHB4O1xufVxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCB7XG4gIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZDojZmZmIHVybCguLi8uLi9pbWFnZXMvc2VsZWN0LnBuZykgcmlnaHQgdG9wIG5vLXJlcGVhdDtcbiAgICBjb2xvcjogJGRhcmtncmF5O1xuICB9XG4gIC52aWV3cy1leHBvc2VkLWZvcm0ge1xuICAgIGZsb2F0Om5vbmU7XG4gICAgcGFkZGluZzowO1xuICAgIHNlbGVjdCB7XG4gICAgICBtaW4taGVpZ2h0OjY2cHg7XG4gICAgICBsaW5lLWhlaWdodDo2NnB4O1xuICAgICAgcGFkZGluZy1yaWdodDo3NXB4O1xuICAgIH1cbiAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgbWFyZ2luLXRvcDogMS42ZW07XG4gICAgfVxuICB9XG4gIC5uby1sYWJlbHMgbGFiZWwge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4jdGl0bGluZy1jb250YWluZXIsXG4jbWFpbi13cmFwcGVyIGZvcm0sXG4jZm9vdGVyLXdyYXBwZXIge1xuICBidXR0b246bm90KC50cmlnZ2VyKSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgQGV4dGVuZCAlYnV0dG9uO1xuICB9XG59XG5mb3JtIC5jYXB0Y2hhIHtcbiAgbWFyZ2luLXRvcDoyZW07XG4gIG1heC13aWR0aDoxMDAlO1xuICBkaXYge1xuICAgIG1heC13aWR0aDoxMDAlO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggd2hpdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcbi8vLyAgIFRoZSBhbW91bnQgb2Ygd2hpdGUgdG8gYmUgbWl4ZWQgaW4uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCgjNmVjYWE2LCA0MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThkZmM5O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnQpIHtcbiAgQHJldHVybiBtaXgoI2ZmZiwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCIjbWVudS1hbmQtc2VhcmNoLXdyYXBwZXIge1xuICB6LWluZGV4OiAyMDE7XG4gIG1heC13aWR0aDogMTQ4MHB4O1xufVxuXG4jbmF2aWdhdGlvbiB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtaGVpZ2h0OiAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi10b3A6IDQ2cHg7XG5cbiAgLmFjdGl2ZS1tb2JpbGUtbWVudSAmIHtcbiAgICBtYXgtaGVpZ2h0OiA0MDAwcHg7XG4gIH1cblxufVxuXG4jbW9iaWxlLW1lbnUtdHJpZ2dlciB7XG4gIHotaW5kZXg6IDIwMztcbiAgcmlnaHQ6IDIwcHg7XG4gIHRvcDogMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS0yeC5wbmcpIHJpZ2h0IC0xMDBweCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjAwcHggMjAwcHg7XG4gIHdpZHRoOiAzN3B4O1xuICBoZWlnaHQ6IDM3cHg7XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDM3cHg7XG4gICAgaGVpZ2h0OiAzN3B4O1xuICB9XG5cbiAgLmFjdGl2ZS1tb2JpbGUtbWVudSAmIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS0yeC5wbmcpIHJpZ2h0IC0xNTBweCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDBweCAyMDBweDtcbiAgfVxuXG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQpIHtcbiAgI25hdmlnYXRpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICB9XG5cbiAgI21haW4tbWVudSAubWVudS1ibG9jay13cmFwcGVyIHtcblxuICAgIHVsLFxuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcblxuICAgICAgICBAaW5jbHVkZSBub3RvdWNoaG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPnVsPmxpIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgYmFja2dyb3VuZDogJGRhcmtibHVlO1xuICAgICAgY29sb3I6ICRicmlnaHRibHVlO1xuICAgICAgcGFkZGluZzogMTJweCA0MHB4IDlweCAyMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtb2JpbGVibHVlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuXG4gICAgICAubWVudS1sZXZlbC10b2dnbGUgYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMzA7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkICRicmlnaHRibHVlO1xuICAgICAgICAgIGJvcmRlci10b3A6IDBweCBzb2xpZCAkYnJpZ2h0Ymx1ZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggMzAwbXMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgICYub3BlbiB1bCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICYuY2xvc2VkIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWxldmVsLXRvZ2dsZSBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgei1pbmRleDogMzA7XG4gICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwcHggc29saWQgJGJyaWdodGJsdWU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkICRicmlnaHRibHVlO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKGRlc2t0b3ApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICNtb2JpbGUtbWVudS10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gLmFjdGl2ZS1zZWFyY2ggI21lbnUtYW5kLXNlYXJjaC13cmFwcGVyIHtcbiAgLy8gICB6LWluZGV4OiAxMDAwNTtcbiAgLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIH1cblxuICAjbmF2aWdhdGlvbiB7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgbWF4LWhlaWdodDogNDAwMHB4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgI21haW4tbWVudSB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjAyO1xuXG4gICAgLm1lbnUtYmxvY2std3JhcHBlcj51bC5tZW51IHtcbiAgICAgIGZvbnQtc2l6ZTogMC45MjllbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgIC5tZW51LWxldmVsLXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwIDFweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAvKiBGSVJTVCBMRVZFTCAqL1xuICAgICAgPmxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgLyogTFRSICovXG4gICAgICAgICYuaXMtYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya2JsdWU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTI3cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDlweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA5cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICBjb2xvcjogJG5hdmJsdWU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNSk7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNXJlbTtcblxuICAgICAgICAgIEBpbmNsdWRlIG5vdG91Y2hob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtibHVlO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLyogRFJPUCBET1dOICovXG4gICAgICAgICYuaG92ZXI+dWwge1xuICAgICAgICAgIHBhZGRpbmc6IDQwcHggMCAyMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+dWwge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRncmF5IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGU1LnBuZykgbGVmdCBib3R0b20gcmVwZWF0LXg7XG4gICAgICAgICAgd2lkdGg6IDQ1MHB4O1xuICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG5cbiAgICAgICAgICAvKiBTRUNPTkQgTEVWRUwgKi9cbiAgICAgICAgICA+bGk+YSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Z3JheTtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFya2dyYXk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGU1LnBuZykgMCAwIHJlcGVhdC14O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTIwJTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8qIFRISVJEIExFVkVMICovXG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDAwMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSBhIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRncmF5O1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmLmhvdmVyPmEge1xuICAgICAgICAgIGNvbG9yOiAkZGFya2JsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhvdmVyPnVsIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDAwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMzAwbXMpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKGxnLWRlc2t0b3AtMSkge1xuICAjbWFpbi1tZW51IC5tZW51LW1saWQtNjAzLmhvdmVyPnVsIHtcbiAgICByaWdodDogMDtcbiAgfVxuXG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcC0yKSB7XG4gICNtYWluLW1lbnUge1xuICAgIC5tZW51LWJsb2NrLXdyYXBwZXI+dWwubWVudT5saSBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgfVxuXG4gIH1cblxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50LXVwKGxnLWRlc2t0b3ApIHtcbiAgI21haW4tbWVudSB7XG4gICAgLm1lbnUtYmxvY2std3JhcHBlcj51bC5tZW51PmxpIGEge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB9XG5cbiAgfVxuXG59XG5cblxuXG5AaW5jbHVkZSBicmVha3BvaW50LXVwKGxnLWRlc2t0b3AtMikge1xuICAjbWFpbi1tZW51IHtcbiAgICAubWVudS1ibG9jay13cmFwcGVyPnVsLm1lbnUge1xuICAgICAgcGFkZGluZzogMCA3MHB4IDAgMDtcblxuICAgICAgLyogRklSU1QgTEVWRUwgKi9cbiAgICAgID5saSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgIC8qIExUUiAqL1xuICAgICAgICAmLmlzLWFjdGl2ZS10cmFpbCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDc0cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTM3cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogU0VDT05EQVJZIE1FTlUgKi9cbi5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQge1xuICAuYmxvY2stLW1lbnUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQtMSkge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgfVxuXG4gICAgaDIuYmxvY2stdGl0bGUge1xuICAgICAgYmFja2dyb3VuZDogJGRhcms7XG4gICAgICBjb2xvcjogJGJyaWdodGJsdWU7XG4gICAgICBwYWRkaW5nOiAyMHB4IDQwcHggMTVweCAyMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggNDBweCAyNXB4O1xuICAgICAgfVxuXG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJyaWdodGJsdWU7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRicmlnaHRibHVlO1xuICAgICAgICBmb250LWZhbWlseTogJHNhbnM7XG5cbiAgICAgICAgQGluY2x1ZGUgbm90b3VjaGhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgdWwsXG4gICAgbGkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGJyaWdodGJsdWU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2FucztcblxuICAgICAgICBAaW5jbHVkZSBub3RvdWNoaG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgICB1bD5saSBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgfVxuXG4gICAgdWwgdWw+bGkgYSB7XG4gICAgICBmb250LWZhbWlseTogJHNhbnM7XG5cbiAgICAgICYuaXMtYWN0aXZlLXRyYWlsLFxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXJrYmx1ZTtcbiAgICAgIGNvbG9yOiAkYnJpZ2h0Ymx1ZTtcbiAgICAgIHBhZGRpbmc6IDIwcHggNDBweCAyMHB4IDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcbiAgICAgICAgcGFkZGluZzogMzBweCA0MHB4O1xuICAgICAgfVxuXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJyaWdodGJsdWU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLm1lbnUtbGV2ZWwtdG9nZ2xlIGEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDMwO1xuICAgICAgICB0b3A6IDMycHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCAkYnJpZ2h0Ymx1ZTtcbiAgICAgICAgICBib3JkZXItdG9wOiAwcHggc29saWQgJGJyaWdodGJsdWU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDMwMG1zIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAmLm9wZW4gdWwge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XG4gICAgICB9XG5cbiAgICAgICYuY2xvc2VkIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWxldmVsLXRvZ2dsZSBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgei1pbmRleDogMzA7XG4gICAgICAgICAgdG9wOiAzMnB4O1xuICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwcHggc29saWQgJGJyaWdodGJsdWU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkICRicmlnaHRibHVlO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbiAgLy8gZ2xvYmFsIHNvY2lhbCBzaGFyaW5nIG92ZXJyaWRlcyBmb3IgTUNHXG4gIC5ibG9jay5zaWRlYmFyLXNoYXJpbmcudmlld3MtZWxlbWVudC1jb250YWluZXIge1xuICAgIC5ibG9jay1pbnRlcmlvciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGgyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgLmF0LXNoYXJlLWJ0biB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2Ymx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmF0LWljb24td3JhcHBlcixcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMjhweCAhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogMjhweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEJsb2Nrcy5cbiAqL1xuXG4vKiBCbG9jayB3cmFwcGVyLiAqL1xuLmJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICNmb290ZXItYm90dG9tICYsXG4gICNoZWFkZXIgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gICYuZnVsbC13aWR0aCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKHRhYmxldCl7XG4gICAgICBtYXJnaW4tbGVmdDotMjBweDtcbiAgICAgIG1hcmdpbi1yaWdodDotMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLnNpZGViYXItc2Vjb25kIC5hZGR0aGlzX2lubGluZV9zaGFyZV90b29sYm94IHtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbiNibG9jay1zeXN0ZW0tYnJlYWRjcnVtYi1ibG9jayB7XG4gIGE6Zm9jdXMge1xuICAgIG91dGxpbmUtY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLm5vLXRvdWNoZXZlbnRzIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQgLmJsb2NrLS1tZW51LWJsb2NrIGgyLmJsb2NrLXRpdGxlIGE6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjZmZmO1xufVxuXG4jc2lkZWJhci1tZW51IHtcbiAgLmJsb2NrLS1tZW51LWJsb2NrIHtcbiAgICBhOmZvY3VzIHtcbiAgICAgIG91dGxpbmUtY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG59XG4iLCIuYmxvY2suZ3JheS1ibG9jayAuYmxvY2staW50ZXJpb3Ige1xuICBwYWRkaW5nOiAzMHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgIHBhZGRpbmc6IDYwcHg7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmM2YyO1xuXG4gIGgyIHtcbiAgICBAaW5jbHVkZSBoZWFkaW5nT25HcmF5O1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAxLjJyZW0gMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cblxuICAudmlldy1mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuXG4gICAgcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gIH1cblxufVxuXG4ucmVnaW9uLXNpZGViYXItc2Vjb25kIC5ibG9jayAuYmxvY2staW50ZXJpb3Ige1xuICAuY29udGVudCAubW9yZS1saW5rIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGEge1xuICAgICAgQGV4dGVuZCAuYnRuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cblxuI3BhZ2UgLmJsb2Nrc2NvbHVtbnMge1xuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgQGluY2x1ZGUgZ3JpZC0zLXRvLTEtYmxvY2tzO1xuICB9XG5cbiAgLmJsb2NrLmdyYXktYmxvY2sgLmJsb2NrLWludGVyaW9yIHtcblxucGFkZGluZzogMzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNzBweDtcblxuICAgICAgLm1vcmUtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHggMHB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIEBleHRlbmQgLmJ0bjtcbiAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAudmlldy1zY2FtLWFsZXJ0cyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4IDA7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmc6MzBweCAzMHB4IDE3MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3AtMikge1xuICAgICAgcGFkZGluZzo2MHB4IDYwcHggMTcwcHg7XG5cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LWRvd24oZGVza3RvcC0xKSB7XG4gICAgICAubW9yZS1saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgLy9mb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAudmlldy0tc2NhbS1hbGVydHMgLnZpZXdzLXJvdyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5jb250ZW50ICoge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQtMikge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjIpO1xuICAgICAgfVxuXG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9yZS1saW5rICoge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICB9XG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWRhdGUtdGltZSAqLFxuICAgIC5jb250ZW50IC5maWVsZC0tcG9zdC1kYXRlICoge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTNweDtcbiAgICB9XG5cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtZGF0ZS10aW1lICosXG4gICAgLmNvbnRlbnQgLmZpZWxkLS1wb3N0LWRhdGUgfiBkaXYgKiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgIH1cblxuICB9XG4gIC5ncmF5LWJsb2NrLnJlcG9zaXRpb24tbW9yZS1saW5rIC5ibG9jay1pbnRlcmlvciB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG5cbiAgICAgIC5tb3JlLWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiA1MHB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn1cbiIsIiNjb250ZW50IC5ibG9jay50b29sa2l0IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWhlYWRpbmcgLmZpZWxkX19pdGVtLFxuICBoMiB7XG4gICAgQGluY2x1ZGUgaGVhZGluZ09uV2hpdGU7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAuZmllbGRfX2l0ZW0ge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLXRpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIGNvbG9yOiAkZGFya2JsdWU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKG1vYmlsZS0yKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI5KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAobGctZGVza3RvcC0yKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMzgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgfVxuICB9XG4gIC5maWVsZC1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bihtb2JpbGUtMikge1xuICAgIG1hcmdpbi1ib3R0b206IDU4cHg7XG4gICAgLmZpZWxkLWxpbmsgYSB7XG4gICAgICBtaW4td2lkdGg6MzEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KXtcbiAgICBtYXgtd2lkdGg6NTcwcHg7XG4gICAgLmZyb250ICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC5maWVsZC10aXRsZSB7XG4gICAgICBtYXgtd2lkdGg6NDAwcHg7XG4gICAgfVxuICAgIC5maWVsZC1saW5rIHtcbiAgICAgIGNsZWFyOm5vbmU7XG4gICAgICBmbG9hdDpyaWdodDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQtMil7XG4gIG1heC13aWR0aDo2ODBweDtcbiAgICAuZmllbGQtbGluayBhIHtcbiAgICAgIG1pbi13aWR0aDoyODBweDtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGxnLWRlc2t0b3AtMikge1xuICAgIG1heC13aWR0aDogODQwcHg7XG5cbiAgICAuZmllbGQtbGluayB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICAgIGEge1xuICAgICAgICBtaW4td2lkdGg6MzEwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5maWVsZC10aXRsZSB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgbWF4LXdpZHRoOm5vbmU7XG4gICAgfVxuICB9XG59XG4ubm90LWZyb250ICNjb250ZW50IC5ibG9jay50b29sa2l0IHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgbWFyZ2luLXJpZ2h0OmF1dG87XG59XG4iLCIjY29udGVudCAjY29tbWVudHMge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgcGFkZGluZzogMzBweDtcblxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBcbiAgICBtYXJnaW4tdG9wOjJyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICBwYWRkaW5nOiA2MHB4O1xuICB9XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYzZjI7XG5cblxuICBpbnB1dFt0eXBlPSd0ZXh0J10sIHRleHRhcmVhIHtcbiAgICBib3JkZXI6bm9uZTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIHBhZGRpbmc6MjBweCAyMHB4IDIwcHggMzBweDtcbiAgfVxuICBpbnB1dFt0eXBlPSdzdWJtaXQnXXtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LWRvd24odGFibGV0KXtcbndpZHRoOjEwMCU7XG4gICAgfVxuXG4gIH1cblxuICAjZWRpdC1hdXRob3ItLTIge1xuICAgIC5sb2dnZWQtaW4gJiB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICB9XG4gIH1cblxuXG5cblxuXG5cblxuICBoMiB7XG4gICAgQGluY2x1ZGUgaGVhZGluZ09uR3JheTtcbiAgfVxuICBwIHtcbiAgICBtYXJnaW46IDEuMnJlbSAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMik7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgfVxuICAudmlldy1mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuXG4gICAgcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG4gICNlZGl0LWFjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgZm9ybSArIGRpdiwgLnByaXZhY3ktY29tbWVudHMge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnByaXZhY3ktY29tbWVudHMge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC5mb3JtLWl0ZW0tbmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICB9XG4gIC5jb21tZW50IHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RiZGNkYjtcbiAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgICBtYXJnaW4tbGVmdDotNjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6LTYwcHg7XG4gICAgcGFkZGluZy1sZWZ0OjYwcHg7XG4gICAgcGFkZGluZy1yaWdodDo2MHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0Oi0zMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0Oi0zMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OjMwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OjMwcHg7XG4gICAgfVxuICAgIC5maWVsZC0tY29tbWVudC1ib2R5IHtcbiAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICAuc3VibWl0dGVkLWJ5LCAuc3VibWl0dGVkLWJ5ICoge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEyKTtcblxuICAgICAgc3Ryb25nLCBzdHJvbmcgKiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQtMSkge1xuICAgICAgLnN1Ym1pdHRlZC1ieSwgLnN1Ym1pdHRlZC1ieSAqIHtcbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAjZWRpdC1hY3Rpb25zIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICBmb3JtICsgZGl2LCAucHJpdmFjeS1jb21tZW50cyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgLmNvbW1lbnQgLnN1Ym1pdHRlZC1ieSwgLmNvbW1lbnQgLnN1Ym1pdHRlZC1ieSAqIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEJyZWFkY3J1bWIgbmF2aWdhdGlvbi5cbiAqL1xuLmJyZWFkY3J1bWIge1xuICAqIHtcbiAgICBjb2xvcjokYmx1ZTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KXtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpe1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcbiAgICB9XG5cbiAgfVxuICBvbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgYSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6J1xcMDBCQic7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDo1cHg7XG4gICAgICB9XG4gICAgQGluY2x1ZGUgbm90b3VjaGhvdmVyIHtcbiAgICAgIGNvbG9yOiNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogSW5saW5lIHN0eWxlcy5cbiAqL1xuXG4vKiBMaXN0IG9mIGxpbmtzIGdlbmVyYXRlZCBieSB0aGVtZV9saW5rcygpLiAqL1xuLmlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDFlbSAwIDA7IC8qIExUUiAqL1xuICB9XG59XG5cbi8qIFRoZSBpbmxpbmUgZmllbGQgbGFiZWwgdXNlZCBieSB0aGUgRmVuY2VzIG1vZHVsZS4gKi9cbnNwYW4uZmllbGQtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFlbSAwIDA7IC8qIExUUiAqL1xufSIsIi8qKlxuICogUGFnZXJcbiAqL1xuXG4vKiBBIGxpc3Qgb2YgcGFnZSBudW1iZXJzIHdoZW4gbW9yZSB0aGFuIDEgcGFnZSBvZiBjb250ZW50IGlzIGF2YWlsYWJsZS4gKi9cbiNjb250ZW50IC5wYWdlciB7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LWZhbWlseTokc2VyaWY7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNik7XG4gIG1hcmdpbi10b3A6MDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQtMil7XG4gICAgbWFyZ2luLWxlZnQ6LTAuNWVtOyAgXG4gIH1cbn1cbiNjb250ZW50IC5wYWdlciBsaTpiZWZvcmUsXG4jY29udGVudCAucGFnZXIgLnBhZ2VyLWVsbGlwc2lzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuJXBhZ2VyX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAwIDAuNWVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5wYWdlci1pdGVtLFxuXG4vKiBBIGxpc3QgaXRlbSBjb250YWluaW5nIGEgcGFnZSBudW1iZXIgaW4gdGhlIGxpc3Qgb2YgcGFnZXMuICovXG4ucGFnZXItZmlyc3QsXG5cbi8qIFRoZSBmaXJzdCBwYWdlJ3MgbGlzdCBpdGVtLiAqL1xuLnBhZ2VyLXByZXZpb3VzLFxuXG4vKiBUaGUgcHJldmlvdXMgcGFnZSdzIGxpc3QgaXRlbS4gKi9cbi5wYWdlci1uZXh0LFxuXG4vKiBUaGUgbmV4dCBwYWdlJ3MgbGlzdCBpdGVtLiAqL1xuLnBhZ2VyLWxhc3QsXG5cbi8qIFRoZSBsYXN0IHBhZ2UncyBsaXN0IGl0ZW0uICovXG4ucGFnZXItZWxsaXBzaXMge1xuXG4gIC8qIEEgY29uY2F0ZW5hdGlvbiBvZiBzZXZlcmFsIGxpc3QgaXRlbXMgdXNpbmcgYW4gZWxsaXBzaXMuICovXG4gIEBleHRlbmQgJXBhZ2VyX19pdGVtO1xufVxuXG4vKiBUaGUgY3VycmVudCBwYWdlJ3MgbGlzdCBpdGVtLiAqL1xuLnBhZ2VyLWN1cnJlbnQge1xuICBAZXh0ZW5kICVwYWdlcl9faXRlbTtcbiAgY29sb3I6ICRibHVlO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnBhZ2VyLW5leHQsXG4ucGFnZXItbGFzdCB7XG4gIGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgJGJsdWU7XG4gICAgdHJhbnNpdGlvbjogcmlnaHQgMzAwbXMgZWFzZTtcbiAgfVxufVxuLnBhZ2VyLWxhc3Qge1xuICBhOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCAkYmx1ZTtcbiAgICB0cmFuc2l0aW9uOiByaWdodCAzMDBtcyBlYXNlO1xuICB9XG59XG4ucGFnZXItcHJldmlvdXMsXG4ucGFnZXItZmlyc3Qge1xuICBhOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgIGJvcmRlci1yaWdodDogMTFweCBzb2xpZCAkYmx1ZTtcbiAgICB0cmFuc2l0aW9uOiByaWdodCAzMDBtcyBlYXNlO1xuICB9XG59XG4ucGFnZXItZmlyc3Qge1xuICBhOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBib3JkZXItcmlnaHQ6IDExcHggc29saWQgJGJsdWU7XG4gICAgdHJhbnNpdGlvbjogcmlnaHQgMzAwbXMgZWFzZTtcbiAgfVxufSIsIi5ibG9jay0tc2VhcmNoLWZvcm0ge1xuICAvLyBib3JkZXI6IDJweCBzb2xpZCByZWQ7XG59XG5cbmh0bWwgYm9keS5odG1sLmxvZ2dlZC1pbiB7XG4gIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcblxufVxuXG4ubm90LWxvZ2dlZC1pbiAjcGFnZSB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgcGFkZGluZy10b3A6IDE0NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIGZvcm0ge1xuICBtYXJnaW46IDA7XG59XG5cblxuI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIC5jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jYmxvY2stdmlld3MtZXhwb3NlZC1maWx0ZXItYmxvY2stbWNnLXNlYXJjaC1wYWdlLTEgaDIuZWxlbWVudC1pbnZpc2libGUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTAyM3B4KSB7XG4gICNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSAuanMtZm9ybS1pdGVtLXNlYXJjaC1hcGktZnVsbHRleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbiNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSAuanMtZm9ybS1pdGVtLXNlYXJjaC1hcGktZnVsbHRleHQgaW5wdXQsXG4jYmxvY2stdmlld3MtZXhwb3NlZC1maWx0ZXItYmxvY2stbWNnLXNlYXJjaC1wYWdlLTEgLmZvcm0taXRlbS1zZWFyY2gtYmxvY2stZm9ybSBpbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMiwgMTIzLCAxOTcsIDAuNDEpO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogNXB4IDMwcHggNXB4IDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgQGluY2x1ZGUgZm9udC1zaXplKDEyKTtcblxuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDIyNXB4O1xuICB9XG5cbiAgJlt0eXBlPVwidGV4dFwiXTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB3aGl0ZVxuICB9XG5cbiAgJlt0eXBlPVwidGV4dFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgJlt0eXBlPVwidGV4dFwiXTo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgJlt0eXBlPVwidGV4dFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gICZbdHlwZT1cInRleHRcIl06LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG59XG5cbiNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSB7XG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06OnBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotbW96LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInRleHRcIl06Oi1tb3otcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbiAgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHdoaXRlO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDBweCAxMDAwcHggcmdiYSgxMCwgODIsIDEzNywgMSkgaW5zZXQ7XG4gIH1cbn1cblxuXG4jaGVhZGVyICNibG9jay12aWV3cy1leHBvc2VkLWZpbHRlci1ibG9jay1tY2ctc2VhcmNoLXBhZ2UtMSBpbnB1dC5mb3JtLXN1Ym1pdCxcbiNoZWFkZXIgI2Jsb2NrLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2NrLW1jZy1zZWFyY2gtcGFnZS0xIGlucHV0LmZvcm0tc3VibWl0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE0cHg7XG4gIHJpZ2h0OiAxNHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgaGVpZ2h0OiAyN3B4O1xuICB3aWR0aDogMjdweDtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgei1pbmRleDogMTAwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9zZWFyY2guc3ZnJyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTVweCAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDA7XG59XG5cbiNzZWFyY2gtZm9ybSAuZm9ybS1pdGVtLWtleXMgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4vKiBISSBSRVNcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSxcbm9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLFxub25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMjQwZHBpKSB7XG5cbn0gKi9cblxuI2NvbnRlbnQgLnNlYXJjaC1ibG9jay1jb250ZW50LW1jZyB7XG4gIG1heC13aWR0aDogNzEwcHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIC5mb3JtLWl0ZW0ta2V5cyB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiA1NSU7XG4gICAgfVxuXG4gICAgZmxvYXQ6bGVmdDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgIHBhZGRpbmc6IDdweCAyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjYmJiO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICM2ZjZmNmY7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDY2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNjZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAgIGhlaWdodDogNzZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3NnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAobGctZGVza3RvcC0yKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoc2NyZWVuLW1heCkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIyKTtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBmb250LWZhbWlseTogJHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcGFkZGluZzogMCA3cHg7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGhlaWdodDogNzZweDtcbiAgICBsaW5lLWhlaWdodDogNzZweDtcbiAgICB3aWR0aDogNDUlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXM7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LWRvd24odGFibGV0KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2JsdWU7XG4gIH1cblxuICAuZm9ybS1pdGVtLWtleXMgbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxub2wuc2VhcmNoLXJlc3VsdHMge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tdG9wOiAwO1xuXG4gIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgfVxuXG4gIC5zZWFyY2gtc25pcHBldC1pbmZvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnNlYXJjaC1oZWxwLWxpbmssXG4uc2VhcmNoLWFkdmFuY2VkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3ZpZXdzLWV4cG9zZWQtZm9ybS1tY2ctc2VhcmNoLXBhZ2UtMSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4iLCIvKipcbiAqIEdsb2JhbCBUYWJsZXNcbiAqL1xudGFibGUge1xuICBib3JkZXItY29sb3I6IGxpZ2h0Z3JheTtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB0ciB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgbGlnaHRncmF5O1xuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gICAgfVxuICB9XG4gIHRkLFxuICB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiBsaWdodGdyYXk7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgPiAqIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdGhlYWQgdGgsXG4gIHRib2R5IHRoIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC45MmVtO1xuICAgIGJhY2tncm91bmQ6ICNlN2U3ZTc7XG4gIH1cbiAgdGguZW1wdHktaGVhZGVyLWNlbGwge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG4vKipcbiAqIFJlc3BvbnNpdmUgZGF0YSB0YWJsZXMgd2l0aCBoZWFkZXJzXG4gKi9cbkBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQtMSkge1xuICB0YWJsZS5kYXRhIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIHRhYmxlLmRhdGEgdGhlYWQsXG4gIHRhYmxlLmRhdGEgdGgge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgdGFibGUuZGF0YSB0Ym9keSxcbiAgdGFibGUuZGF0YSB0Ym9keSB0aCxcbiAgdGFibGUuZGF0YSB0cixcbiAgdGFibGUuZGF0YSB0ZCxcbiAgdGFibGUuZGF0YSBjYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICB0YWJsZS5kYXRhIHRyIHtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgKyB0ciB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIH1cbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuICB0YWJsZS5kYXRhIHRkLmxhYmVsZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMC45MmVtO1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGdyYXk7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICB9XG59IiwiQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gIC5ub3QtZnJvbnQgI3RpdGxpbmctY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMjMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cbiAgICAuYmxvY2sge1xuICAgICAgLy9tYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC50aXRsZS13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG5cbiAgICAgICoge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNTAwcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAtNDk5cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxMTMyNWIgdXJsKC4uLy4uL2ltYWdlcy9zdHJpcGVzLnN2ZykgbGVmdCBib3R0b20gcmVwZWF0LXggIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJvZHkubm9kZS10eXBlLXJlc291cmNlICN0aXRsaW5nLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxNDgwcHg7XG4gIH1cblxuXG4gIC5ub3QtZnJvbnQgI3RpdGxpbmcge1xuICAgIHdpZHRoOiA2Ny40JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIH1cblxuICAucGFnZS10aXRsZS1maXJzdC1sZXZlbCAjdGl0bGluZyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuXG4gICAgICAudGl0bGUtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNjb250ZW50ICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICBib3JkZXItbGVmdDogMzBweCBzb2xpZCAkZGFya2JsdWU7XG4gIH1cblxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50LXVwKHNjcmVlbi1tYXgpIHtcbiAgLm5vdC1mcm9udCAjdGl0bGluZyB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIH1cblxufVxuXG5cblxuI3RpdGxpbmcsXG4jY29udGVudCB7XG5cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0gUGFnZSBUaXRsZXMgLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAudGl0bGUtd3JhcHBlcixcbiAgI2Jsb2NrLXZpZXdzLWxpZmUtZXZlbnRzLWJsb2NrIGgyLmJsb2NrX190aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgYmFja2dyb3VuZDogJGRhcmtibHVlO1xuICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtaW4td2lkdGg6IDMwLjIlO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDIyKTtcbiAgICBwYWRkaW5nOiAzNXB4IDIwcHggMzVweCAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNCk7XG4gICAgICBwYWRkaW5nOiA1MnB4IDIwcHggNTJweCAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0Nik7XG4gICAgICBwYWRkaW5nOiA3MHB4IDIwcHggNzBweCAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChsZy1kZXNrdG9wLTIpIHtcbiAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgcGFkZGluZzogNzBweCAxMjNweCA3MHB4IDE0MHB4O1xuICAgIH1cblxuICAgIGgxI3BhZ2UtdGl0bGUge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB9XG5cbiAgICBoMSNwYWdlLXRpdGxlLFxuICAgIGgxI3BhZ2UtdGl0bGUgYSxcbiAgICAuaDItaW5uZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNTtcbiAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQtMSkge1xuICAgICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUge1xuICAgICAgcGFkZGluZzogNDJweCAyMHB4O1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChsZy1kZXNrdG9wLTIpIHtcbiAgICAudGl0bGUtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiA3MHB4IDEyM3B4IDcwcHggMHB4O1xuICAgIH1cblxuICAgICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayBoMi5ibG9ja19fdGl0bGUge1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiA3MHB4IDEyM3B4IDcwcHggMTAwcHg7XG4gICAgICBtaW4td2lkdGg6IDMwLjIlO1xuICAgIH1cblxuICB9XG5cbiAgLnRpdGxlLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbG9hdDogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAobGctZGVza3RvcC0yKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIyMHB4O1xuICAgIH1cblxuICB9XG5cbiAgLnNpZGViYXItc2Vjb25kICYge1xuICAgIC50aXRsZS13cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKG1vYmlsZS0yKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAobGctZGVza3RvcC0yKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgLnRpdGxlLXdyYXBwZXIgLmZpZWxkLS1wb3N0LWRhdGUsXG4gIC50aXRsZS13cmFwcGVyIC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAobGctZGVza3RvcC0yKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgIH1cblxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAuYXV0aG9yICsgLmF1dGhvci10aXRsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJywgJztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IC0ycHg7XG4gICAgfVxuICB9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0gVGl0bGVzIGZvciBwYWdlcyB3LyBwaG90byBoZWFkZXJzICh0aXRsZS1vbmx5IG9yIHRpdGxlICsgYnJlYWRjcnVtYikgLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keS5wYWdlLXRpdGxlLWZpcnN0LWxldmVsLFxuYm9keS5wYWdlLXRheG9ub215LXRlcm0sXG5ib2R5LnBhZ2UtdXNlcixcbmJvZHkuc2VjdGlvbi1yZXNvdXJjZXMsXG5ib2R5Lm5vZGUtdHlwZS1hcnRpY2xlLFxuYm9keS5wYWdlLW5vZGUsXG5ib2R5Lm5vZGUtdHlwZS1wYXJ0bmVycyxcbmJvZHkubm9kZS10eXBlLXJlc291cmNlIHtcbiAgI3RpdGxpbmcgLnRpdGxlLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChsZy1kZXNrdG9wLTIpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLm5vZGUtdHlwZS1hcnRpY2xlKTpub3QoLm1jZy1ibG9nLWxhbmRpbmcpIHtcblxuICAgIC8qIENvbXBlbnNhdGUgZm9yIHBhZGRpbmcgdGhhdCdzIGJlZW4gcmVtb3ZlZC4gKi9cbiAgICAjdGl0bGluZy1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGxnLWRlc2t0b3ApIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIEZvciBwYWdlcyB3LyBwaG90byBoZWFkZXJzOiBzaGlmdCB0aXRsZSByZWxhdGl2ZSB0byBwaG90byBoZWFkZXIuICovXG5ib2R5LnBhZ2UtdGl0bGUtZmlyc3QtbGV2ZWw6bm90KC5tY2ctYmxvZy1sYW5kaW5nKSxcbmJvZHkuc2VjdGlvbi1lYXJuLFxuYm9keS5zZWN0aW9uLXNwZW5kLFxuYm9keS5zZWN0aW9uLWJvcnJvdyxcbmJvZHkuc2VjdGlvbi1zYXZlLWludmVzdCxcbmJvZHkuc2VjdGlvbi1wcm90ZWN0LFxuYm9keS5zZWN0aW9uLWJsb2c6bm90KC5tY2ctYmxvZy1sYW5kaW5nKSxcbmJvZHkuc2VjdGlvbi1zY2FtLWFsZXJ0cyB7XG4gICN0aXRsaW5nLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICAgIC8vcGFkZGluZy10b3A6IDEzNnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcbiAgICAgIC8vcGFkZGluZy10b3A6IDEzNnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAobGctZGVza3RvcC0yKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTM2cHg7XG4gICAgfVxuICB9XG5cbiAgLyogTW92ZSBzaGFyaW5nIGJsb2NrIGJhY2sgdXAgb24gdGhlIHBhZ2UsIHNvIGl0IGFsaWducyB3LyB0aGUgdGl0bGUgYmxvY2suICovXG4gIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQge1xuICAgIC5ibG9jay5zaWRlYmFyLXNoYXJpbmc6bm90KC5ibG9jay0tbWVudS1ibG9jaykge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICAgICAgLy90b3A6IC0xNDRweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQtMikge1xuICAgICAgICAvL3RvcDogLTE0NHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGxnLWRlc2t0b3AtMikge1xuICAgICAgICB0b3A6IC0xNDRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keS5ub2RlLXR5cGUtYXJ0aWNsZSB7XG5cbiAgLyogTW92ZSBzaGFyaW5nIGJsb2NrIGJhY2sgdXAgb24gdGhlIHBhZ2UsIHNvIGl0IGFsaWducyB3LyB0aGUgdGl0bGUgYmxvY2suICovXG4gIC5zaWRlYmFycyAuc2lkZWJhci1zZWNvbmQge1xuICAgIC5ibG9jay5zaWRlYmFyLXNoYXJpbmc6bm90KC5ibG9jay0tbWVudS1ibG9jaykge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICAgICAgLy90b3A6IC0xNThweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQtMikge1xuICAgICAgICAvL3RvcDogLTE1OHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGxnLWRlc2t0b3AtMikge1xuICAgICAgICB0b3A6IC0xNThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0gVGl0bGVzIGZvciBwYWdlcyB0aGF0IGluY2x1ZGUgYXV0aG9yL2RhdGUgaW5mbyAtLS0tLS0tLS0tLS0tLS0tICovXG5ib2R5LnBhZ2Utc2NhbSB7XG4gIC52aWV3LW1jZy1zY2FtLWFsZXJ0c19fcGFnZV8xIHtcbiAgICBoMy5ub2RlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtUmVndWxhclwiLHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCAjMDI3YmM0O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAzMDBtcyBlYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpdi5maWVsZC0tbmFtZS1maWVsZC1kYXRlLXRpbWUge1xuXG4gICAgfVxuICAgIGRpdi5maWVsZC0tbmFtZS1maWVsZC1hdXRob3Ige1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgICBkaXYuZmllbGQtLW5hbWUtZmllbGQtZGF0ZS10aW1lLFxuICAgIGRpdi5maWVsZC0tbmFtZS1maWVsZC1hdXRob3Ige1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgbWFyZ2luOiAwIDFlbSAuNWVtIDA7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICoge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgfVxuICAgIGRpdi5maWVsZC0tbmFtZS1ib2R5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICB9XG4gIH1cbn1cblxuYm9keS5tY2ctYmxvZyB7XG5cbiAgI2Jhbm5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gICN0aXRsaW5nIHtcbiAgICB3aWR0aDogMzUuNCU7XG4gIH1cbn1cblxuYm9keS5ub2RlLXR5cGUtc2NhbS1hbGVydCxcbmJvZHkubm9kZS10eXBlLWJsb2ctcG9zdCB7XG4gICN0aXRsaW5nIC50aXRsZS13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IDU0cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNTRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1NHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAobGctZGVza3RvcC0yKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNTRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1NHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBBY2NvcmRpb25zLlxuICovXG4uY3VzdG9tLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24tdHJpZ2dlciB7XG4gICAgKiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjIpO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LWZhbWlseTogJHNhbnM7XG4gICAgfVxuICAgIC5wbHVzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAkYmx1ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMzAwbXMgZWFzZTtcbiAgICB9XG4gICAgXG4gIH1cbiAgJi5jb2xsYXBzZWQge1xuICAgICAgLmFjY29yZGlvbi10cmlnZ2VyIC5wbHVzIHtcbiAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRibHVlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbn1cblxuXG5AaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKXtcbiAuY3VzdG9tLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24tdHJpZ2dlciB7XG4gICAgLnBsdXMge1xuICAgICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDExcHggc29saWQgJGJsdWU7XG4gICAgfVxuICB9XG4gICYuY29sbGFwc2VkIHtcbiAgICAgIC5hY2NvcmRpb24tdHJpZ2dlciAucGx1cyB7XG4gICAgICAgIGJvcmRlci10b3A6IDExcHggc29saWQgJGJsdWU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9IFxufSIsIi8qKlxuICogTmV3IDIwMjAgZnJvbnQgcGFnZVxuICovXG5cbi8vIEdldCB0aGUgbGF0ZXN0IHVwZGF0ZXMgYmxvY2suXG4ucmVnaW9uLWhpZ2hsaWdodGVkIC5ibG9jay0tZnRjLW1pbGl0YXJ5LWN1c3RvbS1yZWRlc2lnbi0yMDIwLXNpZ251cCB7XG4gIGJhY2tncm91bmQ6ICRkYXJrYmx1ZSB1cmwoJy4uLy4uL2ltYWdlcy9zdHJpcGVzLnN2ZycpIGxlZnQgYm90dG9tIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA5MCUgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMzBweCBhdXRvIDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICB3aWR0aDogODIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICYuYmxvY2s6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gICYuYmxvY2s+ZGl2IHtcbiAgICBwYWRkaW5nOiAyNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmJsb2NrLWludGVyaW9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBoMjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmgyLWlubmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIH1cblxuICAuYmxvY2tfY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgZm9ybSB7XG4gICAgd2lkdGg6IDM1MHB4O1xuICAgIG1hcmdpbjogMTBweCAwIDA7XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUM0QTgyO1xuICAgICAgcGFkZGluZzogN3B4IDIwcHg7XG4gICAgICBmb250LWZhbWlseTogJHNlcmlmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyOiBzb2xpZCAycHggI2JiYjtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIGhlaWdodDogNTJweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA3NnB4O1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblxuICAgICAgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbW96LXBsYWNlaG9sZGVyIHtcblxuICAgICAgLyogRmlyZWZveCAxOSsgKi9cbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuXG4gICAgICAvKiBJRSAxMCsgKi9cbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXTotbW96LXBsYWNlaG9sZGVyIHtcblxuICAgICAgLyogRmlyZWZveCAxOC0gKi9cbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIEBleHRlbmQgJWJ1dHRvbjtcblxuICAgICAgbWluLXdpZHRoOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiA1MnB4ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDUycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYXJyb3ctYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogNTJweDtcblxuICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC0xMDAwMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2Fycm93LXJpZ2h0LXNvbGlkLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcmlnaHQ6IDQwJTtcbiAgICAgICAgdG9wOiAzNSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIExpZmUgZXZlbnRzIGJsb2NrLlxuLmJsb2NrLS12aWV3cy1saWZlLWV2ZW50cy1ibG9jay0xIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5oMi1pbm5lciB7XG4gICAgQGluY2x1ZGUgc3RyaXBlcy1yaWdodDtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuODlweDtcbiAgICBsaW5lLWhlaWdodDogNTNweCAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAudmlldy1oZWFkZXIge1xuICAgIGNvbG9yOiAkZGFya2JsdWU7XG4gICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICBmb250LXNpemU6IDM0cHggIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLnZpZXctY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLnZpZXdzLXJvdyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KSB7XG4gICAgICB3aWR0aDogY2FsYyg5MCUvMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoOTAlLzMpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgcC5saW5rLWFycm93IHtcbiAgICAgIG1hcmdpbi10b3A6IDEzcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtb25seShkZXNrdG9wKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbi10b3A6IDExcHg7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgJGJsdWU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMzAwbXMgZWFzZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1vbmx5KGRlc2t0b3ApIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIG5vdG91Y2hob3ZlciB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCAkZGFya2JsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjMTEzMjVCO1xuICAgICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgfVxuICB9XG59XG5cbi8vIFRvb2xraXQuXG4uYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC10b29sa2l0IHtcbiAgYmFja2dyb3VuZDogJGRhcmtibHVlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9Ub29sa2l0X0JhY2tncm91bmQuanBnJyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogMzI1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKG1vYmlsZSkge1xuICAgIG1pbi1oZWlnaHQ6IDQ0NXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICBtaW4taGVpZ2h0OiA1NDVweDtcbiAgfVxuXG4gIC5ibG9jay1pbnRlcmlvciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICAgIG1heC13aWR0aDogNDE1cHg7XG4gICAgfVxuXG4gICAgLmJsb2NrLWNvbnRlbnQtLTM3NyB7XG4gICAgICAuZmllbGQtLW5hbWUtZmllbGQtYm9keSB7XG4gICAgICAgIHAuZmllbGQtbGluayB7XG4gICAgICAgICAgYTpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAjZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oMi1pbm5lciB7XG4gICAgY29sb3I6ICMxNEE1RkU7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjg5cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuZmllbGQtdGl0bGUge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4xcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQzcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmZpZWxkLWRlc2NyaXB0aW9uIHtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gIH1cblxuICAuZmllbGQtbGluayBhIHtcbiAgICBmb250LWZhbWlseTogJHNhbnMgIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS42NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1M3B4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxODBweCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gTmV3cyBibG9jay5cbi5ibG9jay0tdmlld3MtYmxvZy1mZWF0dXJlZC1ibG9jayB7XG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLmgyLWlubmVyIHtcbiAgICBAaW5jbHVkZSBzdHJpcGVzLXJpZ2h0O1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICBmb250LWZhbWlseTogJHNhbnM7XG4gICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS44OXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1M3B4ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC52aWV3LWhlYWRlciB7XG4gICAgY29sb3I6ICRkYXJrYmx1ZTtcbiAgICBmb250LWZhbWlseTogJHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMzRweCAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4xcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAudmlld3Mtcm93IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkwJS8yKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgICB3aWR0aDogY2FsYyg5MCUvNCk7XG4gICAgfVxuICB9XG5cbiAgLnZpZXdzLWZpZWxkLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBzdHJpcGVzLWFib3ZlO1xuICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgZm9udC1zaXplOiAyMXB4ICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGRhcmtibHVlO1xuICAgIH1cbiAgfVxuXG4gIC52aWV3cy1maWVsZC1jcmVhdGVkIHtcbiAgICBjb2xvcjogJG1lZGdyYXk7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNTJweDtcbiAgICBsaW5lLWhlaWdodDogMTRweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC52aWV3cy1maWVsZC1ib2R5IHtcbiAgICBjb2xvcjogJG1lZGdyYXk7XG4gICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBsaW5lLWhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnZpZXctZm9vdGVyIGEge1xuICAgIGZvbnQtZmFtaWx5OiAkc2FucyAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjY0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDUzcHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDE4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogTmV3IDIwMjAgTGlmZSBFdmVudHMgcGFnZS5cbiAqL1xuXG5cbi5yZWRlc2lnbi1saWZlLWV2ZW50cy0yMDIwIHtcblxuICAjdGl0bGluZyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgICB3aWR0aDogNjcuNCU7XG4gICAgfVxuXG4gICAgLnRpdGxlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogNThweDtcblxuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG5cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcblxuICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAobGctZGVza3RvcCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAobGctZGVza3RvcC0yKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIH1cblxuICAgICAgKiB7XG4gICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgfVxuXG4gICAgICBoMSNwYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgIC5ibG9jay1wYWdlLXRpdGxlLWJsb2NrIH4gLmJsb2NrICoge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52aWV3LS1saWZlLWV2ZW50cy52aWV3LS1kaXNwbGF5LWlkLXBhZ2UtMSB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcblxuICA+LnZpZXctaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IC0xNjBweDtcbiAgICB6LWluZGV4OiA1MDA7XG4gICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNlcmlmIFByb1wiLCBzZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xNzVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgfVxuICB9XG5cbiAgPi52aWV3LWNvbnRlbnQ+LnZpZXdzLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICB9XG5cbiAgICAgIC52aWV3cy1maWVsZC1maWVsZC1pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnZpZXdzLWZpZWxkLW5vdGhpbmc+LmZpZWxkLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA2MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldCkge1xuICAgICAgICAgIHBhZGRpbmc6IDEyMHB4IDEyMHB4IDEyMHB4IDgwcHg7XG4gICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgIH1cblxuICAgICAgLnZpZXdzLWZpZWxkLWZpZWxkLWltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC00MHB4O1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnZpZXdzLWZpZWxkLW5vdGhpbmc+LmZpZWxkLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA2MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldCkge1xuICAgICAgICAgIHBhZGRpbmc6IDEyMHB4IDgwcHggMTIwcHggMTIwcHg7XG4gICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC52aWV3cy1maWVsZC1ub3RoaW5nPi5maWVsZC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogI0YxRjNGNDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICAudmlld3MtZmllbGQtbm90aGluZyxcbiAgLnZpZXdzLWZpZWxkLWZpZWxkLWltYWdlIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuY29udGVudC13cmFwcGVyIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KSB7XG4gICAgICB3aWR0aDogMzc1cHg7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuODlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1M3B4ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICB9XG5cbiAgICAudmlldy1oZWFkZXIge1xuICAgICAgY29sb3I6ICRkYXJrYmx1ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNCk7XG4gICAgfVxuXG4gICAgLnZpZXctaGVhZGVyK3Age1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcblxuICAgICAgY29sb3I6ICRkYXJrYmx1ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICAgIH1cblxuICAgIC52aWV3cy1maWVsZC10aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogJHNlcmlmO1xuICAgICAgZm9udC1zaXplOiAyMXB4ICFpbXBvcnRhbnQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRkYXJrYmx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudmlldy0tbGlmZS1ldmVudHMtYXJ0aWNsZXMgLnZpZXdzLXJvdyB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0Q5REFEQjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi12aWV3LWFsbCBhIHtcbiAgICAgIEBleHRlbmQgLmJ0bjtcblxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2FucyAhaW1wb3J0YW50O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1M3B4ICFpbXBvcnRhbnQ7XG4gICAgICBtaW4td2lkdGg6IDE4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG4uYmxvY2stLWZ0Yy1taWxpdGFyeS1jdXN0b20tcmVkZXNpZ24tMjAyMC1zaWdudXAge1xuICBiYWNrZ3JvdW5kOiAkZGFya2JsdWUgdXJsKCcuLi8uLi9pbWFnZXMvc3RyaXBlcy5zdmcnKSBsZWZ0IGJvdHRvbSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuXG4gICYuYmxvY2s+ZGl2IHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDM4cHggOTBweCAzOHB4IDUzcHg7XG4gICAgfVxuICB9XG5cbiAgLmJsb2NrLWludGVyaW9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gIH1cblxuICBoMjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmgyLWlubmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIH1cblxuICAuYmxvY2tfY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICBmb3JtIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldCkge1xuICAgICAgd2lkdGg6IDM1MHB4O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxQzRBODI7XG4gICAgICBwYWRkaW5nOiA3cHggMjBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXI6IHNvbGlkIDJweCAjYmJiO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIGhlaWdodDogNjZweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgICAgIGhlaWdodDogNzZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDc2cHg7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblxuICAgICAgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbW96LXBsYWNlaG9sZGVyIHtcblxuICAgICAgLyogRmlyZWZveCAxOSsgKi9cbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuXG4gICAgICAvKiBJRSAxMCsgKi9cbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXTotbW96LXBsYWNlaG9sZGVyIHtcblxuICAgICAgLyogRmlyZWZveCAxOC0gKi9cbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIEBleHRlbmQgJWJ1dHRvbjtcblxuICAgICAgaGVpZ2h0OiA2NnB4ICFpbXBvcnRhbnQ7XG4gICAgICBtaW4td2lkdGg6IDgwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYXJyb3ctYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC0xMDAwMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2Fycm93LXJpZ2h0LXNvbGlkLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcmlnaHQ6IDQwJTtcbiAgICAgICAgdG9wOiAzNSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiN0aXRsaW5nIC50aXRsZS13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogJGRhcmtibHVlIHVybCgnLi4vLi4vaW1hZ2VzL3N0cmlwZXMuc3ZnJykgbGVmdCBib3R0b20gcmVwZWF0LXggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbiIsIi8qKlxuICogTWVzc2FnZXMuXG4gKi9cbi5tZXNzYWdlcyB7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCA1MHB4OyAvKiBMVFIgKi9cbiAgYm9yZGVyOiAxcHggc29saWQgI2JlNztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJ+Kckyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiA4cHg7XG4gICAgY29sb3I6ICNiZTc7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB3aWR0aDogMS41ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbmgzLm1lc3NhZ2VfX3RpdGxlIHtcbiAgbWFyZ2luOiAwO1xufVxuLm1lc3NhZ2VzLS1zdGF0dXMge1xuICBAZXh0ZW5kIC5tZXNzYWdlcztcbiAgQGV4dGVuZCAlb2s7XG59XG4ubWVzc2FnZXMtLXdhcm5pbmcge1xuICBAZXh0ZW5kIC5tZXNzYWdlcztcbiAgQGV4dGVuZCAld2FybmluZztcbiAgYm9yZGVyLWNvbG9yOiAjZWQ1O1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyEnO1xuICAgIGNvbG9yOiAjZWQ1O1xuICB9XG59XG4ubWVzc2FnZXMtLWVycm9yIHtcbiAgQGV4dGVuZCAubWVzc2FnZXM7XG4gIEBleHRlbmQgJWVycm9yO1xuICBib3JkZXItY29sb3I6ICNlZDU0MWQ7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnw5cnO1xuICAgIGNvbG9yOiAjZWQ1NDFkO1xuICB9XG5cbn1cbi5tZXNzYWdlc19fbGlzdCB7XG4gIG1hcmdpbjogMDtcbn1cbi5tZXNzYWdlc19faXRlbSB7XG4gIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG59XG5cbi8qIENvcmUvbW9kdWxlIGluc3RhbGxhdGlvbiBlcnJvciBtZXNzYWdlcy4gKi9cbi5tZXNzYWdlcy0tZXJyb3IgIHAuZXJyb3Ige1xuICBjb2xvcjogIzMzMztcbn1cblxuLyogU3lzdGVtIHN0YXR1cyByZXBvcnQuICovXG4ub2ssXG4lb2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmZmYwO1xuICBjb2xvcjogIzIzNDYwMDtcbn1cbi53YXJuaW5nLFxuJXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmY2U1O1xuICBjb2xvcjogIzg0MDtcbn1cbi5lcnJvcixcbiVlcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWY1ZjE7XG4gIGNvbG9yOiAjOGMyZTBiO1xufSIsIi8qKlxuICogVGFicy5cbiAqL1xuXG4vKiBCYXNpYyBwb3NpdGlvbmluZyBzdHlsZXMgc2hhcmVkIGJ5IHByaW1hcnkgYW5kIHNlY29uZGFyeSB0YWJzLiAqL1xuJXRhYnMge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgLyogSUUgOSBhbmQgZWFybGllciBkb24ndCB1bmRlcnN0YW5kIGdyYWRpZW50cy4gKi9cbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIHBhZGRpbmc6IDAgMnB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LWZhbWlseTogJHNhbnM7XG59XG4ldGFic19fdGFiIHtcbiAgZmxvYXQ6IGxlZnQ7IC8qIExUUiAqL1xuICBtYXJnaW46IDAgM3B4O1xufVxuJXRhYnNfX3RhYi1saW5rIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMSwgLjU1ZW0pO1xuICBsaW5lLWhlaWdodDogMS43ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBQcmltYXJ5IHRhYnMuICovXG4udGFicy1wcmltYXJ5LFxuLnRhYnMucHJpbWFyeSB7XG4gIEBleHRlbmQgJXRhYnM7XG59XG4udGFicy5wcmltYXJ5ID4gbGksXG4udGFicy1wcmltYXJ5X190YWIge1xuICBAZXh0ZW5kICV0YWJzX190YWI7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDRweCk7XG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgLyogSUUgOSBhbmQgZWFybGllciBkb24ndCB1bmRlcnN0YW5kIGdyYWRpZW50cy4gKi9cbiAgYm9yZGVyLWJvdHRvbTogMCBcXDAvaWU7XG59XG4udGFicy5wcmltYXJ5ID4gbGkuaXMtYWN0aXZlLFxuLnRhYnMtcHJpbWFyeV9fdGFiLmlzLWFjdGl2ZSB7XG4gIEBleHRlbmQgLnRhYnMtcHJpbWFyeV9fdGFiO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuXG4vLyBXZSB1c2UgMyBwbGFjZWhvbGRlciBzdHlsZXMgdG8gcHJldmVudCBAZXh0ZW5kIGZyb20gZ29pbmcgc2VsZWN0b3IgY3JhenkuXG4ldGFicy1wcmltYXJ5X190YWItbGluayB7XG4gIEBleHRlbmQgJXRhYnNfX3RhYi1saW5rO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg0cHgpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgMC4zcyk7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuICBwYWRkaW5nOiAwIDFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuJXRhYnMtcHJpbWFyeV9fdGFiLWxpbmstaXMtaG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllOWU5O1xuICBib3JkZXItY29sb3I6ICNmMmYyZjI7XG59XG4ldGFicy1wcmltYXJ5X190YWItbGluay1pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuXG4udGFicy5wcmltYXJ5ID4gbGkgPiBhLFxuYS50YWJzLXByaW1hcnlfX3RhYi1saW5rIHtcbiAgQGV4dGVuZCAldGFicy1wcmltYXJ5X190YWItbGluaztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAZXh0ZW5kICV0YWJzLXByaW1hcnlfX3RhYi1saW5rLWlzLWhvdmVyO1xuICB9XG4gICY6YWN0aXZlIHtcbiAgICBAZXh0ZW5kICV0YWJzLXByaW1hcnlfX3RhYi1saW5rLWlzLWFjdGl2ZTtcbiAgfVxufVxuXG4udGFicy5wcmltYXJ5ID4gbGkuaXMtYWN0aXZlID4gYS5pcy1hY3RpdmUsXG5hLnRhYnMtcHJpbWFyeV9fdGFiLWxpbmsuaXMtYWN0aXZlIHtcbiAgQGV4dGVuZCAldGFicy1wcmltYXJ5X190YWItbGluaztcbiAgQGV4dGVuZCAldGFicy1wcmltYXJ5X190YWItbGluay1pcy1hY3RpdmU7XG59XG5cbi8qIFNlY29uZGFyeSB0YWJzLiAqL1xuLnRhYnMtc2Vjb25kYXJ5IHtcbiAgQGV4dGVuZCAldGFicztcbiAgZm9udC1zaXplOiAuOWVtO1xuICAvKiBDb2xsYXBzZSBib3R0b20gbWFyZ2luIG9mIHVsLnByaW1hcnkuICovXG4gIG1hcmdpbi10b3A6IC0yMHB4O1xufVxuLnRhYnMtc2Vjb25kYXJ5X190YWIsXG4udGFicy1zZWNvbmRhcnlfX3RhYi5pcy1hY3RpdmUge1xuICBAZXh0ZW5kICV0YWJzX190YWI7XG4gIG1hcmdpbjogMTBweCAzcHg7XG59XG5cbi8vIFdlIHVzZSAzIHBsYWNlaG9sZGVyIHN0eWxlcyB0byBwcmV2ZW50IEBleHRlbmQgZnJvbSBnb2luZyBzZWxlY3RvciBjcmF6eS5cbiV0YWJzLXNlY29uZGFyeV9fdGFiLWxpbmsge1xuICBAZXh0ZW5kICV0YWJzX190YWItbGluaztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyguNzVlbSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAwLjNzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgY29sb3I6ICM2NjY7XG4gIHBhZGRpbmc6IDAgLjVlbTtcbn1cbiV0YWJzLXNlY29uZGFyeV9fdGFiLWxpbmstaXMtZm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuICBib3JkZXItY29sb3I6ICM5OTk7XG4gIGNvbG9yOiAjMzMzO1xufVxuJXRhYnMtc2Vjb25kYXJ5X190YWItbGluay1pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICBib3JkZXItY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5hLnRhYnMtc2Vjb25kYXJ5X190YWItbGluayB7XG4gIEBleHRlbmQgJXRhYnMtc2Vjb25kYXJ5X190YWItbGluaztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAZXh0ZW5kICV0YWJzLXNlY29uZGFyeV9fdGFiLWxpbmstaXMtZm9jdXM7XG4gIH1cbiAgJjphY3RpdmUge1xuICAgIEBleHRlbmQgJXRhYnMtc2Vjb25kYXJ5X190YWItbGluay1pcy1hY3RpdmU7XG4gIH1cbn1cbmEudGFicy1zZWNvbmRhcnlfX3RhYi1saW5rLmlzLWFjdGl2ZSB7XG4gIEBleHRlbmQgJXRhYnMtc2Vjb25kYXJ5X190YWItbGluaztcbiAgQGV4dGVuZCAldGFicy1zZWNvbmRhcnlfX3RhYi1saW5rLWlzLWFjdGl2ZTtcbn1cbi5ibG9jay1sb2NhbC10YXNrcy1ibG9jayB7XG4gIG1hcmdpbjogNHJlbSAwO1xuXG4gIC51c2EtYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogSW50ZXIsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS40OXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWVhMjtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgICBwYWRkaW5nOiAyLjRyZW0gM3JlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjUwbXMgbGluZWFyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjVjYjQ7XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYyZTUxO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXJhZGl1c2Agb24gYm90aCBjb3JuZXJzIG9uIHRoZSBzaWRlIG9mIGEgYm94LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpaVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoNXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDNweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4vLy8gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50LXR3byB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgfVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXJhZGl1c2BcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG59XG4iLCIvKipcbiAqIFVucHVibGlzaGVkIG5vdGUuXG4gKi9cblxuLyogVGhlIHdvcmQgXCJVbnB1Ymxpc2hlZFwiIGRpc3BsYXllZCB1bmRlcm5lYXRoIHRoZSBjb250ZW50LiAqL1xuLnVucHVibGlzaGVkIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogUmVtb3ZlIGJhY2tncm91bmQgaGlnaGxpZ2h0aW5nIGZyb20gPG1hcms+IGluIG5vcm1hbGl6ZS4gKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZDhkOGQ4O1xuICBmb250LXNpemU6IDc1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LWZhbWlseTogSW1wYWN0LCBcIkFyaWFsIE5hcnJvd1wiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIEEgdmVyeSBuaWNlIENTUzMgcHJvcGVydHkuICovXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn0iLCJAaW1wb3J0IFwibWVzc2FnZXNcIjtcbkBpbXBvcnQgXCJ0YWJzXCI7XG5AaW1wb3J0IFwidW5wdWJsaXNoZWRcIjtcblxuLy8gemVybyBvdXQgZmlyc3QgYW5kIGxhc3QgbWFyZ2luIG9uIGNvbnRlbnRcbi5maWVsZC1pdGVtLFxuLmJsb2NrLWNvbnRlbnQge1xuICA+ICoge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5maWVsZCB7XG4gIG1hcmdpbjogMC41ZW0gMDtcbiAgLmZpZWxkLWxhYmVsIHtcbiAgICBAZXh0ZW5kIGxhYmVsO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuI3BhZ2UtY29udHJvbC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5jb250cm9sLXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBzcGFuICB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59IiwiLyogRGVmYXVsdCBXb3JkUHJlc3Mgc2NyZWVuIHJlYWRlciBzdHlsZSAqL1xyXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcclxuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XHJcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgd2lkdGg6IDFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMyMTc1OWI7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGxlZnQ6IDVweDtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0b3A6IDVweDtcclxuICB3aWR0aDogYXV0bztcclxuICB6LWluZGV4OiAxMDAwMDA7XHJcbn1cclxuXHJcbi8qXHJcbiAqIFRoZSBza2lwLWxpbmsgbGluayB3aWxsIGJlIGNvbXBsZXRlbHkgaGlkZGVuIHVudGlsIGEgdXNlciB0YWJzIHRvIHRoZSBsaW5rLlxyXG4gKi9cclxuI3NraXAtbGluayB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gIHotaW5kZXg6IDEwMDAxO1xyXG4gIHdpZHRoOjEwMCU7XHJcblxyXG4gIGEsXHJcbiAgYTp2aXNpdGVkIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAycHggMCAzcHggMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcbn0iLCIjYmFubmVyIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBib2R5Lm1jZy1ibG9nICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG5cbiAgfVxuXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC5ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG5cbiAgLnJlZ2lvbi1iYW5uZXIsXG4gIC52aWV3LWJhbm5lcnMsXG4gIC52aWV3LS1iYW5uZXJzLXRlcm0tcGFnZXMge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC00MHB4O1xuXG4gICAgLmZyb250ICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBvYmplY3QtZml0OiBmaWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbn1cbiIsIiNjb250ZW50IHtcbiAgLmhhcy1iYW5uZXItaW1hZ2UsICNibG9jay12aWV3cy1saWZlLWV2ZW50cy1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKG1vYmlsZS0yKSB7XG4gICAgICA+IC5ibG9jay1pbnRlcmlvciA+IGgyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogLTMzcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGU3LnBuZykgbGVmdCBib3R0b20gcmVwZWF0LXg7XG4gICAgICAgICAgd2lkdGg6IDc2MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250ZXh0dWFsLWxpbmtzLXJlZ2lvbiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgICAuYmFubmVyLWltYWdlLXdyYXBwZXIsIC52aWV3cy1maWVsZC1maWVsZC1iYW5uZXItaW1hZ2UgLmNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRvcDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuXG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICB9XG4gICAgfVxuICAgIC5ibG9jay1pbnRlcmlvciA+IC5jb250ZW50ID4gLnZpZXcgPiAudmlldy1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChsZy1kZXNrdG9wLTIpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MC42JTtcbiAgICAgIH1cbiAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICBwIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LWRvd24odGFibGV0LTEpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwIGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMwKTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAobGctZGVza3RvcC0yKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQwKTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICB9XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMzAwbXMgZWFzZTtcblxuICAgICAgICBAaW5jbHVkZSBub3RvdWNoaG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMjVhN2ZiICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBib3JkZXItdG9wOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICBib3JkZXItbGVmdDogOXB4IHNvbGlkICNGRkY7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDMwMG1zIGVhc2U7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMThweCBzb2xpZCAjRkZGO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG5vdG91Y2hob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRkYXJrYmx1ZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA5cHggc29saWQgIzI1YTdmYjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQtMikge1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMThweCBzb2xpZCAjMjVhN2ZiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBoMiB7XG4gICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMzApO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMzcpO1xuICAgIH1cbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuICAgICosIGEgKiB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIHAgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgfVxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKHRhYmxldC0xKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgPiBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gICAgdWwgPiBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUtMXgucG5nKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTUwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMDBweCAyMDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0yM3B4O1xuICAgICAgdG9wOiAxMnB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKHRhYmxldC0xKXtcbiAgICAgICAgd2lkdGg6MTZweDtcbiAgICAgICAgaGVpZ2h0OjEycHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6MTUwcHggMTUwcHg7XG4gICAgICAgIHRvcDo3cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bihtb2JpbGUtMSl7XG4gICAgICAgIHRvcDozcHg7XG4gICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuICAgIGxpIGxpOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE3NXB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKHRhYmxldC0xKXtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZToxNTBweCAxNTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi50YWJzIGxpOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZC0tbGlmZS1ldmVudHMge1xuICAgIGZvbnQtZmFtaWx5OiAkc2VyaWY7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjIpO1xuXG4gICAgLmZpZWxkLWxhYmVsIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LWZhbWlseTogJHNhbnM7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgbm90b3VjaGhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5maWVsZC0tZG93bmxvYWQge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG5cbiAgICBpbWcsIC5maWxlLXNpemUge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgfVxuICB9XG4gIC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfVxuICAuZGF0ZS1hdXRob3ItdGl0bGUtZ3JvdXAsXG4gIC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQsIC5maWVsZC0tcG9zdC1kYXRlLCAuZmllbGQtLWF1dGhvciB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgbWFyZ2luOiAwIDFlbSAuNWVtIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICoge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5maWVsZC0tZGF0ZS1hdXRob3ItZmllbGQgPiBkaXYsIC5maWVsZC0tYXV0aG9yID4gZGl2LCAuZGF0ZS1hdXRob3ItdGl0bGUtZ3JvdXAge1xuICAgICY6YWZ0ZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0RERDtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtZGF0ZS10aW1lIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWF1dGhvciArIC5maWVsZC0tbmFtZS1maWVsZC1hdXRob3ItdGl0bGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcsICc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAtMnB4O1xuICAgIH1cbiAgfVxuICAudGVybS1saXN0aW5nLWhlYWRpbmcgLnRheG9ub215LXRlcm0tZGVzY3JpcHRpb24ge1xuICAgIG1heC13aWR0aDogODIwcHg7XG4gIH1cblxuICAuZmVhdHVyZWQtdG9waWMtYmxvY2tzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAgIC8vQGluY2x1ZGUgY29sdW1ucygyKTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtMi10by0xO1xuICAgIH1cbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICB9XG5cbiAgLmJsb2NrLWNvbnRlbnQtLXR5cGUtbWNnLWZlYXR1cmVkLWl0ZW0sXG4gIC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNSk7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG4gICAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKG1vYmlsZS0yKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKG1vYmlsZS0xKSB7XG4gICAgICAgIHdpZHRoOiAxNzAlO1xuICAgICAgICBtYXJnaW4tbGVmdDotMzUlO1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIGltZyxcbiAgICAmOmZvY3VzLXdpdGhpbiBpbWcsXG4gICAgJi5ob3ZlciBpbWcge1xuICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjMpO1xuICAgIH1cbiAgICAuZmllbGQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtYm9keSxcbiAgICAuZmVhdHVyZWRfY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcGFkZGluZzogNDhweCA0OHB4IDQwcHg7XG5cbiAgICAgICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgICoge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjYpO1xuXG4gICAgICAgICAgKiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGxnLWRlc2t0b3AtMikge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNCk7XG5cbiAgICAgICAgICAqIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1vbmx5KHRhYmxldC0yKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBib3JkZXItdG9wOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICBib3JkZXItbGVmdDogOXB4IHNvbGlkICNGRkY7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDEycHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxOHB4IHNvbGlkICNGRkY7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgMzAwbXMgZWFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldCkge1xuICAgIC5ibG9jay1jb250ZW50LS10eXBlLW1jZy1mZWF0dXJlZC1pdGVtLFxuICAgIC5mZWF0dXJlZC10b3BpYy1ibG9ja3MgLmZlYXR1cmVkX2Jsb2NrIHtcbiAgICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1ib2R5LFxuICAgICAgLmZlYXR1cmVkX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgfVxuICAgICAgLmZlYXR1cmVkX2NvbnRlbnQgYTpmb2N1cyB7XG4gICAgICAgIG91dGxpbmUtY29sb3I6ICNGRkY7XG4gICAgICB9XG4gICAgICAuZmllbGQtLW5hbWUtZmllbGQtbGluayxcbiAgICAgIC5mZWF0dXJlZF9jb250ZW50X2NvdmVyX2xpbmsge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogNTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFydGljbGUge1xuICAgIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgIC5maWVsZC0tdGFncyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcblxuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKHRhYmxldC0xKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldCkge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQtMikge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XG4gICAgICAgIH1cbiAgICAgICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICB9XG4gICAgICAuZmllbGQtbGFiZWwge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICAgIC5maWVsZC1pdGVtcyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmlldy0tdGF4b25vbXktdGVybS1hcnRpY2xlIC52aWV3LWhlYWRlciB7XG4gICAgaDIge1xuICAgICAgQGluY2x1ZGUgaGVhZGluZ09uV2hpdGU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQtMikge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgICBtYXJnaW4tdG9wOiA3NXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChsZy1kZXNrdG9wLTIpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcbiAgICAgICAgbWFyZ2luLXRvcDogOTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnZpZXctLXRheG9ub215LXRlcm0tYXJ0aWNsZSA+IC52aWV3LWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQtMSkge1xuICAgICAgLnZpZXdzLXJvdyAuZmllbGQtLWJvZHkgKiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcbiAgICAgIC8vQGluY2x1ZGUgdmlld3Njb2x1bW5zKDMpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC0zLXRvLTE7XG5cbiAgICAgIC52aWV3cy1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuXG4gICAgICAgIC5maWVsZC0tbmFtZS1ib2R5IHtcbiAgICAgICAgICBtYXJnaW46IDAuNWVtIDAuNWVtIDAuNWVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQtLWJvZHkgKiB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5ub2RlLXRpdGxlLCAubm9kZS10aXRsZSAqIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI2KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzApO1xuICAgICAgfVxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LWRvd24odGFibGV0LTEpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtUmVndWxhclwiLHNhbnMtc2VyaWY7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1vbmx5KHRhYmxldC0yKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgJGJsdWU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDMwMG1zIGVhc2U7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbm90b3VjaGhvdmVyIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMXB4IHNvbGlkICRkYXJrYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBCTE9HICovXG4gIC5zZWN0aW9uLXNjYW0tYWxlcnRzICYsIC5wYWdlLWJsb2cgJiB7XG4gICAgLm5vZGUtc2NhbS1hbGVydC5ub2RlLXRlYXNlciwgLm5vZGUtYmxvZy1wb3N0Lm5vZGUtdGVhc2VyIHtcbiAgICAgIGgyLCBoMiAqIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAgICAgaDIsIGgyICoge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyOCk7XG4gICAgICAgIH1cbiAgICAgICAgaDIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDIud2l0aC1hcnJvdywgLmZpZWxkLS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgYTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LW9ubHkodGFibGV0LTIpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMXB4IHNvbGlkICRibHVlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAzMDBtcyBlYXNlO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIEBpbmNsdWRlIG5vdG91Y2hob3ZlciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgJGRhcmtibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKHRhYmxldC0xKSB7XG4gICAgICAgIC5maWVsZC0tcG9zdC1kYXRlLCAuZmllbGQtLXBvc3QtZGF0ZSAqLCAuZmllbGQtLWRhdGUtYXV0aG9yLWZpZWxkLCAuZmllbGQtLWRhdGUtYXV0aG9yLWZpZWxkICoge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMSk7XG4gICAgICAgIH1cbiAgICAgICAgLmZpZWxkLS1ib2R5LCAuZmllbGQtLWJvZHkgKiB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmllbGQtLWJvZHkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cmVtO1xuICAgICAgICB9XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBzcGFuLmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIH1cblxuICAvKiBSZXNvdXJjZXMgTGlzdGluZyAqL1xuICAudmlldy1yZXNvdXJjZXMge1xuICAgIC52aWV3cy1yb3cge1xuICAgICAgcGFkZGluZy10b3A6IDM2cHg7XG5cbiAgICAgIC5yZXNvdXJjZS10aXRsZSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAzMXB4O1xuICAgICAgfVxuICAgICAgLnZpZXdzLWZpZWxkLWJvZHkgKiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICAgIC5wYWdlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvKiBCTE9HICovXG4gIC5tY2ctdGVhc2VyLWxpc3QtdmlldyB7XG4gICAgLm1jZy10ZWFzZXItbGlzdC12aWV3LXJvdyB7XG4gICAgICBoMy5ub2RlLXRpdGxlLCBoMy5ub2RlLXRpdGxlICoge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIyKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgICAgICBoMy5ub2RlLXRpdGxlLCBoMy5ub2RlLXRpdGxlICoge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyOCk7XG4gICAgICAgIH1cbiAgICAgICAgaDMubm9kZS10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoMy5ub2RlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtb25seSh0YWJsZXQtMikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgJGJsdWU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDMwMG1zIGVhc2U7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgQGluY2x1ZGUgbm90b3VjaGhvdmVyIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMTFweCBzb2xpZCAkZGFya2JsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LWRvd24odGFibGV0LTEpIHtcbiAgICAgICAgLmRhdGUtYXV0aG9yLXRpdGxlLWdyb3VwICoge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMSk7XG4gICAgICAgIH1cbiAgICAgICAgLmZpZWxkLS1uYW1lLWJvZHksXG4gICAgICAgIC5maWVsZC0tbmFtZS1ib2R5ICoge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNSk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZpZWxkLS1uYW1lLWJvZHkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cmVtO1xuICAgICAgICB9XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiI2Zvb3Rlci13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogJGRhcmtncmF5IHVybCgnLi4vLi4vaW1hZ2VzL3N0cmlwZXMuc3ZnJykgbGVmdCBib3R0b20gcmVwZWF0LXggIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogYXV0bztcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG5cblxuICBhOmZvY3VzIHtcbiAgICBvdXRsaW5lLWNvbG9yOiAjRkZGO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdGdyYXk7XG4gIH1cblxuICAuc2VjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMjY1cHg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgfVxuXG4gIC5ibG9jayB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgI2Zvb3Rlci1jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAuZ3JvdXAxIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgICAgbWluLWhlaWdodDogNzVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgbWFyZ2luOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgLnJlZ2lvbi1mb290ZXItZmlyc3Rjb2x1bW4ge1xuICAgIHVsIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLyogTUVOVSAqL1xuLnJlZ2lvbi1mb290ZXItZmlyc3Rjb2x1bW4ge1xuICB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDM1cHggNDRweCAxcHggMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMjBweDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjgxKTtcblxuICAgICAgICBAaW5jbHVkZSBub3RvdWNoaG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0Ymx1ZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogU09DSUFMIE1FRElBIElDT05TICovXG4ucmVnaW9uLWZvb3Rlci1zZWNvbmRjb2x1bW4ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAyMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGxnLWRlc2t0b3AtMikge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEyKTtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjgxKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuY29udGVudCBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAmLnR3aXR0ZXIge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvaWNvbi13aGl0ZS10d2l0dGVyLnN2Zyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzBweCAyNHB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZhY2Vib29rIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2ljb24tZmFjZWJvb2stc3F1YXJlLnN2Zyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjNweCAyNHB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuLmV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG5vdG91Y2hob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuLyogRU1BSUwgU0lHTlVQICovXG4ucmVnaW9uLWZvb3Rlci10aGlyZGNvbHVtbiB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGgyIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgIG1heC13aWR0aDogNTEwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAobGctZGVza3RvcC0yKSB7XG4gICAgbWF4LXdpZHRoOiA3MTBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKGxnLWRlc2t0b3AtMSkge1xuICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgbWFyZ2luLXRvcDogMTNweDtcblxuICAqLFxuICAqOmJlZm9yZSxcbiAgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgcGFkZGluZzogN3B4IDIwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogc29saWQgMnB4ICNiYmI7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzZmNmY2ZjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgYm9yZGVyOiAwO1xuICAgIHdpZHRoOiA1NSU7XG4gICAgaGVpZ2h0OiA2NnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKHRhYmxldCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgICBoZWlnaHQ6IDc2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNzZweDtcbiAgICAgIHdpZHRoOiA0NSU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChsZy1kZXNrdG9wLTIpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICB3aWR0aDogNTUlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoc2NyZWVuLW1heCkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIyKTtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwidGV4dFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG5cbiAgICAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgY29sb3I6ICMzNjQ3NTA7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwidGV4dFwiXTo6LW1vei1wbGFjZWhvbGRlciB7XG5cbiAgICAvKiBGaXJlZm94IDE5KyAqL1xuICAgIGNvbG9yOiAjMzY0NzUwO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInRleHRcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblxuICAgIC8qIElFIDEwKyAqL1xuICAgIGNvbG9yOiAjMzY0NzUwO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInRleHRcIl06LW1vei1wbGFjZWhvbGRlciB7XG5cbiAgICAvKiBGaXJlZm94IDE4LSAqL1xuICAgIGNvbG9yOiAjMzY0NzUwO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcGFkZGluZzogMCA3cHg7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgIGJvcmRlci13aWR0aDogMHB4IDBweCAwcHggMXB4O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgaGVpZ2h0OiA2NnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2NnB4O1xuICAgIHdpZHRoOiA0NSU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtibHVlO1xuICB9XG59XG5cbiNwYWdlIC5yZWdpb24tZm9vdGVyLXRoaXJkY29sdW1uIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbiNmb290ZXItYm90dG9tIHtcbiAgc3Bhbi5leHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG4gIGE6Zm9jdXMge1xuICAgIG91dGxpbmUtY29sb3I6ICNGRkY7XG4gIH1cbn1cblxuI2Zvb3Rlci1ib3R0b20gLmJsb2NrLWludGVyaW9yLFxuI2Jsb2NrLXZpZXdzLXBhcnRuZXJzLWJsb2NrIHtcbiAgcGFkZGluZzogNDBweCAyMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrZ3JheTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1heC13aWR0aDogMTI2NXB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgbWF4LWhlaWdodDogNzJweDtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpIHtcbiAgICAgIGhlaWdodDogNzJweDtcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgICAgaGVpZ2h0OiA1M3B4O1xuICAgIH1cbiAgfVxuXG4gIC52aWV3cy1yb3cge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAoZGVza3RvcCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDI2cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChsZy1kZXNrdG9wLTIpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAzJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5yZWdpb24taGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy8gdG9wOiAtMTAwcHg7XG4gIHRvcDogLTQ2cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyMDQ7XG4gIC8vIHBhZGRpbmc6IDIzcHggMCAwIDA7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiAkZGFya2JsdWU7XG4gIC8vIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbiAgLy8gLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zO1xuICAvLyAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbiAgLy8gLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbiAgLy8gdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbiAgLy8gb3BhY2l0eTogMDtcblxuICBpbnB1dC5mb3JtLXN1Ym1pdCB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgLmFjdGl2ZS1zZWFyY2ggJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cChkZXNrdG9wKSB7XG4gICAgICAvLyB0b3A6IDA7XG4gICAgICAvLyBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50LWRvd24odGFibGV0KSB7XG4gIC5hY3RpdmUtbW9iaWxlLW1lbnUge1xuICAgICNtZW51LWFuZC1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTEwcHg7XG4gICAgfVxuXG4gICAgLnJlZ2lvbi1oZWFkZXIge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiAkZGFya2JsdWUgdXJsKC4uLy4uL2ltYWdlcy9wYXR0ZXJuLXN0cmlwZTYucG5nKSBsZWZ0IGJvdHRvbSByZXBlYXQteDtcbiAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIH1cblxuICB9XG59XG5cbiNoZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDIwMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaW5uZXItd3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiAxNjgwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gIH1cblxuICAuc2VjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKGRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQtMSkge1xuICBodG1sIGJvZHkuYWRtaW4tbWVudSB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludC11cChsZy1kZXNrdG9wLTIpIHtcbiAgLmxvZ2dlZC1pbiAjYWRtaW4tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyAucmVnaW9uLWhlYWRlcixcbiAgLy8gI2hlYWRlcixcbiAgLy8gI2hlYWRlciAuaW5uZXItd3JhcHBlciB7XG4gIC8vICAgaGVpZ2h0OiAxMDBweDtcbiAgLy8gfVxuXG4gICNoZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuXG4gIH1cblxufVxuXG4jc2l0ZS1pZCxcbiNzaXRlLWxvZ28ge1xuICBmbG9hdDogbGVmdDtcblxuICBhI2xvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyogTFRSICovXG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMzMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKGRlc2t0b3AtMSkge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtZG93bih0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgfVxuXG59XG5cbiNzaXRlLWlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyMDM7XG59XG5cbiNzaXRlLWxvZ28ge31cblxuLmxvZ2dlZC1pbiAjYWRtaW4tbWVudSB7XG4gIHotaW5kZXg6IDEwMTAxO1xufVxuXG4ubG9nZ2VkLWluICNoZWFkZXIge1xuICB0b3A6IDgwcHg7XG59XG5cbmZvcm1baWQ9XCJ2aWV3cy1leHBvc2VkLWZvcm0tbWNnLXNlYXJjaC1wYWdlLTFcIl0gbGFiZWwsXG5mb3JtW2lkPVwidmlld3MtZXhwb3NlZC1mb3JtLW1jZy1zZWFyY2gtcGFnZS0xLS0yXCJdIGxhYmVsLFxuZm9ybVtpZD1cInZpZXdzLWV4cG9zZWQtZm9ybS1tY2ctc2VhcmNoLXBhZ2UtMS0tM1wiXSBsYWJlbCxcbmZvcm1baWQ9XCJ2aWV3cy1leHBvc2VkLWZvcm0tbWNnLXNlYXJjaC1wYWdlLTEtLTRcIl0gbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTllbTtcbn1cblxuLnNlY3Rpb24tc2VhcmNoIGZvcm1baWQ9XCJ2aWV3cy1leHBvc2VkLWZvcm0tbWNnLXNlYXJjaC1wYWdlLTEtLTNcIl0ge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuIiwiLnJlZ2lvbi1oaWdobGlnaHRlZCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAuYmxvY2sge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvL21pbi1oZWlnaHQ6MjU1cHg7XG4gICAgYmFja2dyb3VuZDogIzExMzI1YiB1cmwoLi4vLi4vaW1hZ2VzL2JnLWJsdWUtc2VhbC5qcGcpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LWRvd24obW9iaWxlLTIpe1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0zNHB4O1xuICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvcGF0dGVybi1zdHJpcGU3LnBuZykgMCAwIHJlcGVhdC14O1xuICAgICAgICB3aWR0aDogNzYwcHg7XG4gICAgICB9XG4gICAgfVxuICAgID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDM1cHggMjBweCA2MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldCl7XG4gICAgICB3aWR0aDogNTcuNzUlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgPiBkaXYge1xuICAgICAgICBwYWRkaW5nOiAzNXB4IDUwcHggNjVweCAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTQuNiU7XG4gICAgICB9XG4gICAgfVxuICAgICoge1xuICAgICAgY29sb3I6ICRhbHRicmlnaHRibHVlO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpe1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNzU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKXtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIH1cbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQpe1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQtMil7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNSk7XG4gICAgICB9XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL3BhdHRlcm4tc3RyaXBlLWJsdWUucG5nKSAwIDAgcmVwZWF0LXg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTphdXRvIDEyNSU7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIxcHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0KXtcbiAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTphdXRvIGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcbiAgICAgIG1heC13aWR0aDo3MjBweDtcblxuICAgICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OjI1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludC11cCh0YWJsZXQtMil7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDoxMDBweDtcbiAgICAgICAgfVxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6MHB4O1xuICAgICAgICAgIHJpZ2h0OjBweDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgJGJyaWdodGJsdWU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6MTVweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMzAwbXMgZWFzZTtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKXtcbiAgICAgICAgICAgIHRvcDoxMnB4O1xuICAgICAgICAgICAgcmlnaHQ6ODBweDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDEycHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxOHB4IHNvbGlkICRicmlnaHRibHVlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MjVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbm90b3VjaGhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpe1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDE4cHggc29saWQgI2ZmZjtcblxuICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLyoqXG4gKiBAZmlsZVxuICogQ3VzdG9tIFN0eWxpbmcgT3ZlcnJpZGVzXG4gKlxuICovXG5cbi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG5cbi8vIHR3byBjb2x1bW4gbGF5b3V0XG4uY29sdW1uLTIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcbiAgICAgIHdpZHRoOiA0NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogNCU7XG4gICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyB0aHJlZSBjb2x1bW4gbGF5b3V0XG4uY29sdW1uLTMge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtdXAodGFibGV0LTIpIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogNCU7XG4gICAgICAmOm50aC1jaGlsZCgzbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGZvdXIgY29sdW1uIGxheW91dFxuLmNvbHVtbi00IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXVwKHRhYmxldC0yKSB7XG4gICAgICB3aWR0aDogMjElO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQlO1xuICAgICAgJjpudGgtY2hpbGQoNG4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyB0d28gY29sdW1uIGxheW91dCBvbiB0YWJsZXRcbi5jb2x1bW4tMixcbi5jb2x1bW4tMyxcbi5jb2x1bW4tNCB7XG4gID4gZGl2IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtb25seSh0YWJsZXQtMSl7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgICB3aWR0aDogNDklO1xuICAgICAgJjpudGgtY2hpbGQoMm4pe1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIC0tLS0tLSBBbGVydCBtZXNzYWdlIC0tLS0tLS0tLSAqL1xuI2Jsb2NrLXZpZXdzLWFsZXJ0LWJsb2Nre1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB0b3A6IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xufVxuXG4jYmxvY2stdmlld3MtYWxlcnQtYmxvY2sgLmNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG5cbi5yZWdpb24tYWxlcnQge1xuICBiYWNrZ3JvdW5kOiB5ZWxsb3c7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWF4LXdpZHRoOiAxNjgwcHg7XG59XG5cbi52aWV3LWlkLWFsZXJ0IHtcbiAgd2lkdGg6MTAwJTtcbiAgbWF4LXdpZHRoOiA5NzJweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnZpZXctaWQtYWxlcnQgLnZpZXctY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICBtYXgtd2lkdGg6IDk2MHB4O1xufVxuXG4udXNlci1hbGVydC1tZXNzYWdlIGRpdntcbiAgYmFja2dyb3VuZDogI2ZmMDAwMCBub25lIHJlcGVhdCBzY3JvbGwgMCAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMHB4IDEwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnVzZXItYWxlcnQtbWVzc2FnZSBzcGFue1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uaTE4bi1lcyAudXNlci1hbGVydC1tZXNzYWdlIGRpdntcbiAgaGVpZ2h0OiA1MHB4O1xufVxuXG4uaTE4bi1lcyAudXNlci1hbGVydC1tZXNzYWdlIHNwYW57XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpIHtcbiAgLnJlZ2lvbi1hbGVydCB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgei1pbmRleDoxMDAwMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICAuYWRtaW4tbWVudSAmIHtcbiAgICAgIHRvcDogMjlweDtcbiAgICB9XG4gIH1cbiAgLmhlYWRlci1hbGVydC1kcm9wIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHRvcDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5iYW5uZXItYWxlcnQtZHJvcCB7XG4gICAgcGFkZGluZy10b3A6MTUwcHg7XG4gIH1cbiAgLnNlYXJjaC1hbGVydC1kcm9wIHtcbiAgICB0b3A6IDE4N3B4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWRtaW4tbWVudSB7XG4gICAgLnJlZ2lvbi1hbGVydHtcbiAgICAgIHRvcDogMjlweDtcbiAgICB9XG4gICAgLmhlYWRlci1hbGVydC1kcm9wIHtcbiAgICAgIHRvcDogNTBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuYmFubmVyLWFsZXJ0LWRyb3Age1xuICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIH1cbiAgICAuc2VhcmNoLWFsZXJ0LWRyb3Age1xuICAgICAgdG9wOiAyMTdweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDoxMDIzcHgpIHtcbiAgLmFkbWluLW1lbnUge1xuICAgICNwYWdlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogLTI3cHg7XG4gICAgfVxuICB9XG4gIC5yZWdpb24tYWxlcnR7XG4gICAgei1pbmRleDogMTAwMTA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCl7XG4gIC5ub3QtbG9nZ2VkLWluICNwYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIH1cblxuICAjaGVhZGVyIHtcbiAgICBwb3NpdGlvbjpmaXhlZDtcbiAgfVxuXG4gICNtYWluLW1lbnUgLm1lbnUtYmxvY2std3JhcHBlciA+IHVsLm1lbnUgPiBsaSBhIHtcbiAgICBmb250LXNpemU6MTRweDtcbiAgfVxufVxuXG4iLCIvKipcbiAqIEBmaWxlXG4gKiBQcmludCBzdHlsaW5nXG4gKlxuICogV2UgcHJvdmlkZSBzb21lIHNhbmUgcHJpbnQgc3R5bGluZyBmb3IgRHJ1cGFsIHVzaW5nIFplbidzIGxheW91dCBtZXRob2QuXG4gKi9cblxuLyoqXG4gKiBCeSBpbXBvcnRpbmcgdGhpcyBDU1MgZmlsZSBhcyBtZWRpYSBcImFsbFwiLCB3ZSBhbGxvdyB0aGlzIHByaW50IGZpbGUgdG8gYmVcbiAqIGFnZ3JlZ2F0ZWQgd2l0aCBvdGhlciBzdHlsZXNoZWV0cywgZm9yIGltcHJvdmVkIGZyb250LWVuZCBwZXJmb3JtYW5jZS5cbiAqL1xuQG1lZGlhIHByaW50IHtcblxuICAvKiBVbmRlcmxpbmUgYWxsIGxpbmtzLiAqL1xuICBhOmxpbmssXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcblxuICAgIC8qIERvbid0IHVuZGVybGluZSBzaXRlIGxpbmsuICovXG4gICAgJi5zaXRlLWxpbmsge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgI2NvbnRlbnQge1xuICAgIC8qIEFkZCB2aXNpYmxlIFVSTCBhZnRlciBsaW5rcy4gKi9cbiAgICBhW2hyZWZdOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIH1cblxuICAgIC8qIE9ubHkgZGlzcGxheSB1c2VmdWwgbGlua3MuICovXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgLyogQWRkIHZpc2libGUgdGl0bGUgYWZ0ZXIgYWJicmV2aWF0aW9ucy4gKi9cbiAgICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuICB9XG5cbiAgLyogVW4tZmxvYXQgdGhlIGNvbnRlbnQuICovXG4gICNjb250ZW50IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogVHVybiBvZmYgYW55IGJhY2tncm91bmQgY29sb3JzIG9yIGltYWdlcy4gKi9cbiAgYm9keSxcbiAgI3BhZ2UsXG4gICNtYWluLFxuICAjY29udGVudCB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBIaWRlIHNpZGViYXJzIGFuZCBuYXYgZWxlbWVudHMuICovXG4gICNza2lwLWxpbmssXG4gICNuYXZpZ2F0aW9uLFxuICAjZm9vdGVyLFxuICAuc2lkZWJhcnMsXG4gIC5icmVhZGNydW1iLFxuICAucGFnZXIsXG4gIC5mZWVkLWljb25zIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIHUtYmcoJHZhbHVlLi4uKSB7XG4gICR2YWx1ZTogdW5wYWNrKCR2YWx1ZSk7XG4gICRpbXBvcnRhbnQ6IG51bGw7XG4gIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgfVxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcigkdmFsdWUpICN7JGltcG9ydGFudH07XG59XG4kdGhlbWUtY29sb3ItZGlzYWJsZWQ6IFwiZ3JheS0yMFwiICFkZWZhdWx0O1xuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuJHRoZW1lLWNvbG9yLWVycm9yOiAjZDU0MzA5ICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXN1Y2Nlc3M6IFwiZ3JlZW4tY29vbC00MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci13YXJuaW5nOiBcImdvbGQtMjB2XCIgIWRlZmF1bHQ7XG4kbGlnaHRibHVlOiAjZjJmOGZmOyAvLyBmb3JtZXJseSBjb2xvcigncHJpbWFyeS1saWdodGVzdCcpIGNvbG9yKCdwcmltYXJ5LWxpZ2h0ZXInKVxuJGJyaWdodGJsdWU6ICMwNjVjYjQ7IC8vIGZvcm1lcmx5IGNvbG9yKCdwcmltYXJ5JylcbiRncmVlbjogIzJlOTU5MTtcbiR0YWJsZXQ6IDY0MXB4IDk1OXB4O1xuXG4uYmxvY2stY29udGVudC0tdHlwZS11c3dkcy1hbGVydCB7XG4gICYudXNhLWFsZXJ0IHtcbiAgICBwYWRkaW5nOiAycmVtIDNyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYudXNhLWFsZXJ0LS1zbGltIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjhyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuXG4gICAgICAudXNhLWFsZXJ0X19oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnVzYS1hbGVydC0tbm8taWNvbiAudXNhLWFsZXJ0X19pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnJlZ2lvbi1iYW5uZXIgJiAqLFxuICAgICoge1xuICAgICAgY29sb3I6IGNvbG9yKCdiYXNlLWRhcmtlcicpO1xuICAgIH1cblxuICAgIC51c2EtYWxlcnRfX2ljb24ge1xuICAgICAgcGFkZGluZzogMi40cmVtIDJyZW07XG4gICAgICBtYXJnaW46IC0ycmVtIDAgLTJyZW0gLTNyZW07XG4gICAgICBAaW5jbHVkZSB1LWJnKCR0aGVtZS1jb2xvci1kaXNhYmxlZCk7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnVzYS1hbGVydC0taW5mbyAudXNhLWFsZXJ0X19pY29uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICB9XG5cbiAgICAmLnVzYS1hbGVydC0tZW1lcmdlbmN5IC51c2EtYWxlcnRfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yLWVycm9yO1xuICAgIH1cblxuICAgICYudXNhLWFsZXJ0LS1lcnJvciAudXNhLWFsZXJ0X19pY29uIHtcbiAgICAgIEBpbmNsdWRlIHUtYmcoJHRoZW1lLWNvbG9yLWVycm9yKTtcbiAgICB9XG5cbiAgICAmLnVzYS1hbGVydC0tc3VjY2VzcyAudXNhLWFsZXJ0X19pY29uIHtcbiAgICAgIEBpbmNsdWRlIHUtYmcoJHRoZW1lLWNvbG9yLXN1Y2Nlc3MpO1xuICAgIH1cblxuICAgICYudXNhLWFsZXJ0LS13YXJuaW5nIC51c2EtYWxlcnRfX2ljb24ge1xuICAgICAgQGluY2x1ZGUgdS1iZygkdGhlbWUtY29sb3Itd2FybmluZyk7XG4gICAgfVxuXG4gICAgJi51c2Etc2l0ZS1hbGVydCB7XG4gICAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuOHJlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjhyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi51c2EtYWxlcnQtLWluZm8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRibHVlO1xuXG4gICAgICAgIC51c2EtYWxlcnRfX2ljb24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC44cmVtIDAgMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkYmxhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudXNhLWFsZXJ0LS1lbWVyZ2VuY3kge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3ItZXJyb3I7XG5cblxuICAgICAgICAqLFxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVzYS1hbGVydF9faWNvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgcGFkZGluZzogMCAwLjhyZW0gMCAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLnVzYS1hbGVydF9fYm9keSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAuNXJlbSAwO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnJlZ2lvbi1iYW5uZXIgJiBhLFxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRicmlnaHRibHVlO1xuICAgIH1cbiAgfVxufVxuXG4vKiBMZWdhY3kgY2xhc3NlcyAqL1xuZGl2IHtcbiAgLmFydGljbGUtaW50cm8ge1xuICAgIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgICBtYXJnaW4tdG9wOiAyLjJyZW07XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICArIC5hcnRpY2xlLWFuY2hvci1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgfVxuICB9XG5cbiAgLyogTGVnYWN5IGNsYXNzZXMgKi9cbiAgLmFydGljbGUtYW5jaG9yLWxpc3Qge1xuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAxLjRyZW0gMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIH4gbGkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogJGJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiJdfQ== */
