/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/sass/pages/page.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/

.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }


.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }


.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 16px;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-font-size: 12px;
  --bs-breadcrumb-font-size: 0.75rem;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 8px;
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-body-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius); }

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x); }
  .breadcrumb-item + .breadcrumb-item:before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; }

.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color); }

.breadcrumbs {
  position: relative;
  max-width: 100vw;
  margin-right: -12px;
  margin-right: -0.75rem;
  margin-left: -12px;
  margin-left: -0.75rem; }
  .breadcrumbs .breadcrumb {
    flex-wrap: nowrap;
    padding: 12px;
    padding: 0.75rem;
    margin: unset;
    overflow-x: auto; }
    .breadcrumbs .breadcrumb:before, .breadcrumbs .breadcrumb:after {
      position: absolute;
      top: 0;
      display: block;
      height: 100%;
      pointer-events: none;
      content: ""; }
    .breadcrumbs .breadcrumb:before {
      left: 0;
      width: 16px;
      width: 1rem;
      background-image: linear-gradient(90deg, var(--alpha-breadcrumbs-mobile-shadow-color) 0, var(--alpha-breadcrumbs-mobile-shadow-color-end)); }
    .breadcrumbs .breadcrumb:after {
      right: 0;
      width: 32px;
      width: 2rem;
      background-image: linear-gradient(90deg, var(--alpha-breadcrumbs-mobile-shadow-color-end) 0, var(--alpha-breadcrumbs-mobile-shadow-color)); }
  .breadcrumbs.on-featured {
    --alpha-breadcrumbs-mobile-shadow-color: #000;
    --alpha-breadcrumbs-mobile-shadow-color-end: rgba(0, 0, 0, 0);
    top: var(--featured-image-height);
    z-index: 10;
    transform: translateY(-100%); }
    .breadcrumbs.on-featured .breadcrumb {
      --bs-breadcrumb-divider-color: currentcolor;
      --bs-breadcrumb-item-active-color: currentcolor; }
      .breadcrumbs.on-featured .breadcrumb:before, .breadcrumbs.on-featured .breadcrumb:after {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
        opacity: .75; }
  .breadcrumbs.dark {
    --bs-link-color-rgb: 255, 255, 255; }
    .breadcrumbs.dark a:hover {
      --bs-link-color-rgb: 247, 247, 247; }

.breadcrumbs-on-featured:not(.has-transparent-header) .breadcrumbs {
  top: calc(var(--header-height) + var(--featured-image-height));
  transition: top .3s ease; }

.breadcrumbs-on-featured.search .content-wrapper {
  padding-top: 32px;
  padding-top: 2rem; }

.breadcrumb-item {
  white-space: nowrap; }
  .breadcrumb-item + .breadcrumb-item:before {
    content: "\f105";
    margin-right: 0;
    line-height: var(--bs-body-line-height); }
  .breadcrumb-item + .breadcrumb-item:before {
    float: unset;
    padding-right: 4px;
    padding-right: .25rem; }
  .breadcrumb-item.active span {
    font-weight: 700; }

.aqua-section {
  padding-block: clamp(64px, 7vw, 104px);
  background: #fff; }

.aqua-section-gris {
  background: #f2fafe; }

.aqua-section-ice {
  background: #e6f5fd; }

.aqua-section .aqua-section-inner.container {
  --container-max-width: 1520px;
  padding-inline: clamp(20px, 3vw, 40px); }

.aqua-section-centre .aqua-surtitre,
.aqua-section-centre .aqua-titre-section {
  text-align: center; }

.aqua-section-centre .aqua-titre-section {
  max-width: 22ch;
  margin-inline: auto; }

.aqua-section-lien {
  margin: clamp(24px, 3vw, 36px) 0 0; }

.aqua-section-centre .aqua-section-lien,
.aqua-section-centre .aqua-texte-centre {
  text-align: center; }

.aqua-texte-centre,
.aqua-texte.aqua-texte-centre,
.aqua-prose > p.aqua-texte-centre {
  margin-inline: auto; }

.aqua-lien {
  display: inline-block;
  padding-bottom: 4px;
  font-family: var(--bs-body-font-family);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  color: #0e5a85;
  text-decoration: none;
  border-bottom: 2px solid #009ee0;
  transition: color 180ms cubic-bezier(0.16, 1, 0.3, 1), border-color 180ms cubic-bezier(0.16, 1, 0.3, 1); }
  .aqua-lien:hover, .aqua-lien:focus-visible {
    color: #062334;
    border-color: #062334; }

.aqua-texte, .aqua-prose > p {
  max-width: 60ch;
  margin: 0 0 18px;
  font-family: var(--bs-body-font-family);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.6;
  color: #5a6b7b; }
  .aqua-texte:last-child, .aqua-prose > p:last-child {
    margin-bottom: 0; }
  .aqua-texte strong, .aqua-prose > p strong {
    font-weight: 600;
    color: #062334; }

.aqua-liste, .aqua-prose > ul {
  padding: 0;
  margin: 0 0 18px;
  list-style: none; }
  .aqua-liste li, .aqua-prose > ul li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 10px;
    font-family: var(--bs-body-font-family);
    font-size: 16px;
    line-height: 1.55;
    color: #33414d; }
    .aqua-liste li:before, .aqua-prose > ul li:before {
      position: absolute;
      top: 3px;
      left: 0;
      width: 18px;
      height: 18px;
      content: "";
      background: #e6f5fd url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%230E5A85%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M5 12l5 5L20 7%27/%3E%3C/svg%3E") center/11px 11px no-repeat;
      border-radius: 999px; }

.aqua-duo {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(32px, 4vw, 64px);
  align-items: center; }
  .aqua-duo > * {
    min-width: 0; }

.aqua-titre-duo {
  margin: 0 0 14px;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 400;
  line-height: 1.12;
  color: #062334;
  letter-spacing: -.02em; }

.aqua-cadre {
  position: relative;
  height: clamp(280px, 40vw, 460px);
  margin: 0;
  overflow: hidden;
  background: #e6f5fd;
  border: 1px solid #d8e7f0;
  border-radius: 24px;
  box-shadow: 0 10px 30px rgba(6, 35, 52, 0.1); }
  .aqua-cadre img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

.aqua-prose {
  min-width: 0; }
  .aqua-prose > h2 {
    margin: 28px 0 14px;
    font-size: clamp(24px, 2.4vw, 32px);
    font-weight: 400;
    line-height: 1.18;
    color: #062334;
    letter-spacing: -.015em; }
  .aqua-prose > h3 {
    margin: 22px 0 10px;
    font-family: Outfit;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.3;
    color: #062334; }
  .aqua-prose > :first-child {
    margin-top: 0; }

.aqua-duo-haut {
  align-items: flex-start; }

.aqua-coordonnees .aqua-carte-titre {
  overflow-wrap: anywhere; }

.aqua-reperes .aqua-carte-titre {
  font-size: 19px; }

.aqua-galerie {
  --aqua-cols: 1; }
  .aqua-galerie .aqua-cadre {
    height: clamp(240px, 32vw, 420px); }

.aqua-cadre-carte {
  height: auto;
  aspect-ratio: 1 / 1; }
  .aqua-cadre-carte img {
    padding: clamp(16px, 2vw, 32px);
    -o-object-fit: contain;
       object-fit: contain; }

.aqua-coordonnees {
  align-self: start; }

.aqua-cartes {
  --aqua-cols: 1;
  --aqua-gap: clamp(16px, 2vw, 28px); }

.aqua-carte {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: clamp(22px, 2.4vw, 30px);
  background: #fff;
  border: 1px solid #d8e0e7;
  border-radius: 24px;
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 240ms cubic-bezier(0.16, 1, 0.3, 1), border-color 240ms cubic-bezier(0.16, 1, 0.3, 1); }
  .aqua-carte:hover {
    border-color: #c2e7f9;
    box-shadow: 0 20px 48px rgba(6, 35, 52, 0.12);
    transform: translateY(-4px); }
  .aqua-carte > * {
    margin: 0; }

.aqua-carte-index {
  font-family: var(--bs-body-font-family);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  color: #009ee0;
  text-transform: uppercase;
  letter-spacing: .14em; }

.aqua-carte-titre {
  font-family: Outfit;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.3;
  color: #062334;
  letter-spacing: -.01em; }

.aqua-carte-texte {
  font-family: var(--bs-body-font-family);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  color: #5a6b7b; }

.aqua-carte-meta {
  font-family: var(--bs-body-font-family);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.4;
  color: #0e5a85; }

.aqua-frise-piste {
  --aqua-frise-gap: 24px;
  display: flex;
  gap: var(--aqua-frise-gap);
  align-items: stretch;
  --aqua-frise-gouttiere: clamp(20px, 3vw, 40px);
  padding: 0 var(--aqua-frise-gouttiere) 8px;
  margin: 0 calc(-1 * var(--aqua-frise-gouttiere));
  overflow-x: auto;
  scroll-padding-inline-start: var(--aqua-frise-gouttiere);
  scroll-snap-type: x;
  scroll-behavior: smooth;
  scrollbar-width: none; }
  .aqua-frise-piste::-webkit-scrollbar {
    display: none; }
  .aqua-frise-piste > * {
    flex: 0 0 clamp(264px, 27vw, 340px);
    scroll-snap-align: start; }

.aqua-frise-etape {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 26px 28px 30px;
  margin: 34px 0 0;
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 8px 24px rgba(6, 35, 52, 0.08); }
  .aqua-frise-etape > * {
    margin: 0; }
  .aqua-frise-etape:before {
    position: absolute;
    top: -27px;
    left: 28px;
    width: calc(100% + var(--aqua-frise-gap));
    height: 2px;
    content: "";
    background: #c2e7f9; }
  .aqua-frise-etape:last-child:before {
    width: calc(100% - 28px); }
  .aqua-frise-etape:after {
    position: absolute;
    top: -34px;
    left: 28px;
    width: 14px;
    height: 14px;
    content: "";
    background: #009ee0;
    border: 3px solid #fff;
    border-radius: 999px;
    box-shadow: 0 0 0 2px #009ee0; }

.aqua-frise-etape-actuelle:after {
  background: var(--accent, #0b6e55);
  box-shadow: 0 0 0 2px var(--accent, #0b6e55); }

.aqua-frise-etape-actuelle .aqua-frise-annee {
  color: var(--accent, #0b6e55); }

.aqua-frise-annee {
  font-family: Outfit;
  font-size: clamp(40px, 3.8vw, 54px);
  font-weight: 300;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  color: #062334;
  letter-spacing: -.025em; }

.aqua-frise-titre {
  margin-top: 6px;
  font-family: Outfit;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.3;
  color: #062334;
  letter-spacing: -.01em; }

.aqua-frise-texte {
  font-family: var(--bs-body-font-family);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  color: #5a6b7b; }

.aqua-frise .aqua-piste-nav {
  padding-top: 24px; }
  .aqua-frise .aqua-piste-nav .aqua-piste-puce:not(.is-active) {
    background: #c2e7f9; }
  @media (min-width: 760px) {
    .aqua-duo {
      grid-template-columns: 5fr 6fr; }
      .aqua-duo.aqua-duo-inverse {
        grid-template-columns: 6fr 5fr; }
  .aqua-duo-egal {
    grid-template-columns: 1fr 1fr; }
    .aqua-galerie {
      --aqua-cols: 2; }
    .aqua-cartes {
      --aqua-cols: 2; }
  .aqua-cartes-5 {
    --aqua-cols: 3; } }
  @media (min-width: 768px) {
    .breadcrumbs .breadcrumb:before, .breadcrumbs .breadcrumb:after {
      display: none; } }
  @media (min-width: 1180px) {
    .aqua-cartes {
      --aqua-cols: 4; }
  .aqua-cartes-2 {
    --aqua-cols: 2; }
  .aqua-cartes-3 {
    --aqua-cols: 3; }
  .aqua-cartes-5 {
    --aqua-cols: 5; } }
  @media (max-width: 991.98px) {
  .aqua-duo:has(> .aqua-formulaire) {
    grid-template-columns: minmax(0, 1fr); } }
  @media (prefers-reduced-motion: reduce) {
  .aqua-carte,
  .aqua-carte:hover {
    transition: none;
    transform: none; } }
  @media (max-width: 759px) {
  .aqua-frise-piste {
    flex-direction: column;
    gap: 16px;
    padding: 0 0 0 30px;
    margin: 0;
    overflow: visible;
    scroll-snap-type: none; }
    .aqua-frise-piste > * {
      flex: 0 0 auto; }
  .aqua-frise-etape {
    margin-top: 0; }
    .aqua-frise-etape:before {
      top: 0;
      left: -30px;
      width: 2px;
      height: calc(100% + 16px); }
    .aqua-frise-etape:last-child:before {
      width: 2px;
      height: 100%; }
    .aqua-frise-etape:after {
      top: 30px;
      left: -36px; } }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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SSxjQUFZO0VBb0JoQjtJQUVJLGNBQVksSUpvSFg7RU0zRkQ7SVQ3REo7TUF1Q1EsYUFBYSxJQUNkO0VPdkJMO0lBUkY7TUFTSSxjQUFZO0VBSWhCO0lBRUksY0FBWTtFQUloQjtJQUVJLGNBQVk7RUFJaEI7SUFNSSxjQUFZLElBcEJmO0VFc0RHO0VOK0pGO0lBQ0UscUNBQXFDLElBQ3RDO0VJcklIO0VBQ0U7O0lBRUUsZ0JBQWdCO0lBQ2hCLGVBQWUsSUFDaEI7RUNtQ0g7RUEvSEE7SUFpSUksc0JBQXNCO0lBQ3RCLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsU0FBUztJQUNULGlCQUFpQjtJQUNqQixzQkFBc0I7SUF0STFCO01BeUlNLGNBQWM7RUExR3BCO0lBK0dJLGFBQWE7SUEvR2pCO01Ba0hNLE1BQU07TUFDTixXQUFXO01BQ1gsVUF0SmdCO01BdUpoQix5QkFBeUI7SUFySC9CO01BMkhNLFVBN0pnQjtNQThKaEIsWUFBWTtJQTVIbEI7TUFnSU0sU0FBUztNQUNULFdBQXVFLElBQ3hFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYXF1YXRlY2huaXF1ZS10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy92ZW5kb3JzL2ZvbnRhd2Vzb21lL2Fic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vYXF1YXRlY2huaXF1ZS10aGVtZS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovL2FxdWF0ZWNobmlxdWUtdGhlbWUvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIndlYnBhY2s6Ly9hcXVhdGVjaG5pcXVlLXRoZW1lLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwid2VicGFjazovL2FxdWF0ZWNobmlxdWUtdGhlbWUvLi9ub2RlX21vZHVsZXMvQG5lbWF0aXMvd3AtYWxwaGEvYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovL2FxdWF0ZWNobmlxdWUtdGhlbWUvLi9ub2RlX21vZHVsZXMvQG5lbWF0aXMvd3AtYWxwaGEvYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9hcXVhdGVjaG5pcXVlLXRoZW1lLy4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vYXF1YXRlY2huaXF1ZS10aGVtZS8uL2Fzc2V0cy9zYXNzL3BhZ2VzL3BhZ2UvX3NlY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vYXF1YXRlY2huaXF1ZS10aGVtZS8uL2Fzc2V0cy9zYXNzL2Fic3RyYWN0cy92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9hcXVhdGVjaG5pcXVlLXRoZW1lLy4vYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL19tYXF1ZXR0ZS5zY3NzIiwid2VicGFjazovL2FxdWF0ZWNobmlxdWUtdGhlbWUvLi9jb25maWcvdGhlbWUueWFtbCIsIndlYnBhY2s6Ly9hcXVhdGVjaG5pcXVlLXRoZW1lLy4vYXNzZXRzL3Nhc3MvcGFnZXMvcGFnZS9fY2FydGVzLnNjc3MiLCJ3ZWJwYWNrOi8vYXF1YXRlY2huaXF1ZS10aGVtZS8uL2Fzc2V0cy9zYXNzL3BhZ2VzL3BhZ2UvX2ZyaXNlLnNjc3MiLCJ3ZWJwYWNrOi8vYXF1YXRlY2huaXF1ZS10aGVtZS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiJHVzZS1mYS1wcm86IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmYS1pY29uLXN0YW5kYWxvbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuJWZhLFxuJWZhcyxcbiVmYXIsXG4lZmFsLFxuJWZhZCxcbiVmYXQsXG4lZmFiIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbiVmYS1pY29uLXN0YW5kYWxvbmUge1xuICBAaW5jbHVkZSBmYS1pY29uLXN0YW5kYWxvbmUgKCk7XG59XG5cbiVmYSxcbiVmYXMge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuJWZhciB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IFByb1wiO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4lZmFsIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbiVmYXQge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cblxuJWZhYiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IEJyYW5kc1wiO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lKCRjb2RlKSB7XG4gIEBleHRlbmQgJWZhLWljb24tc3RhbmRhbG9uZTtcblxuICBAaWYgJHVzZS1mYS1wcm8ge1xuICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8oJGNvZGUpO1xuICB9IEBlbHNlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gICAgQGV4dGVuZCAlZmE7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29udGVudDogJGNvZGU7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuQG1peGluIGZvbnQtYXdlc29tZS1wcm8oJGNvZGUpIHtcbiAgQGluY2x1ZGUgZm9udC1hd2Vzb21lLXByby1zb2xpZCgkY29kZSk7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtcHJvLXNvbGlkKCRjb2RlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgQGV4dGVuZCAlZmFzO1xuICBjb250ZW50OiBmYS1jb250ZW50KCRjb2RlKTtcbn1cblxuQG1peGluIGZvbnQtYXdlc29tZS1wcm8tcmVndWxhcigkY29kZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIEBleHRlbmQgJWZhcjtcbiAgY29udGVudDogZmEtY29udGVudCgkY29kZSk7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtcHJvLWxpZ2h0KCRjb2RlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgQGV4dGVuZCAlZmFsO1xuICBjb250ZW50OiBmYS1jb250ZW50KCRjb2RlKTtcbn1cblxuQG1peGluIGZvbnQtYXdlc29tZS1wcm8tdGhpbigkY29kZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIEBleHRlbmQgJWZhdDtcbiAgY29udGVudDogZmEtY29udGVudCgkY29kZSk7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtcHJvLWJyYW5kKCRjb2RlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgQGV4dGVuZCAlZmFiO1xuICBjb250ZW50OiBmYS1jb250ZW50KCRjb2RlKTtcbn1cblxuQG1peGluIGZvbnQtYXdlc29tZS1iZWZvcmUoJGNvZGUsICRmbG9hdGluZzogZmFsc2UsICRmYS1zdHlsZTogXCJzb2xpZFwiLCAkbWFyZ2luOiAuMjVlbSkge1xuICAmOjpiZWZvcmUge1xuICAgIEBpZiAkZmEtc3R5bGUgPT0gXCJyZWd1bGFyXCIge1xuICAgICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lLXByby1yZWd1bGFyKCRjb2RlKTtcbiAgICB9IEBlbHNlIGlmICRmYS1zdHlsZSA9PSBcImxpZ2h0XCIge1xuICAgICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lLXByby1saWdodCgkY29kZSk7XG4gICAgfSBAZWxzZSBpZiAkZmEtc3R5bGUgPT0gXCJ0aGluXCIge1xuICAgICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lLXByby10aGluKCRjb2RlKTtcbiAgICB9IEBlbHNlIGlmICRmYS1zdHlsZSA9PSBcImJyYW5kXCIge1xuICAgICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lLXByby1icmFuZCgkY29kZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUoJGNvZGUpO1xuICAgIH1cblxuICAgIEBpZiAkZmxvYXRpbmcge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWJzLWJvZHktbGluZS1oZWlnaHQpO1xuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvbnQtYXdlc29tZS1hZnRlcigkY29kZSwgJGZsb2F0aW5nOiBmYWxzZSwgJGZhLXN0eWxlOiBcInNvbGlkXCIsICRtYXJnaW46IC4yNWVtKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaWYgJGZhLXN0eWxlID09IFwicmVndWxhclwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tcmVndWxhcigkY29kZSk7XG4gICAgfSBAZWxzZSBpZiAkZmEtc3R5bGUgPT0gXCJsaWdodFwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tbGlnaHQoJGNvZGUpO1xuICAgIH0gQGVsc2UgaWYgJGZhLXN0eWxlID09IFwidGhpblwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tdGhpbigkY29kZSk7XG4gICAgfSBAZWxzZSBpZiAkZmEtc3R5bGUgPT0gXCJicmFuZFwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tYnJhbmQoJGNvZGUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lKCRjb2RlKTtcbiAgICB9XG5cbiAgICBAaWYgJGZsb2F0aW5nIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcblxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1icy1ib2R5LWxpbmUtaGVpZ2h0KTtcblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy14OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogI3skYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tfTtcbiAgQGluY2x1ZGUgcmZzKCRicmVhZGNydW1iLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnOiAjeyRicmVhZGNydW1iLWJnfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAjeyRicmVhZGNydW1iLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICN7JGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAjeyRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSkpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yKTtcbiAgICAgIGNvbnRlbnQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcikpICN7XCIvKiBydGw6XCJ9IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkKSkgI3tcIiovXCJ9O1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3IpO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RpbWVuc2lvbi1uby1ub24tbnVtZXJpYy12YWx1ZXNcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgZGl2aWRlKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBjYWxjKFwiICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsIFwiIC0gXCIsIFwiICsgXCIpICsgJHZhcmlhYmxlLXdpZHRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkLXZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZC12YWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZC12YWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWQtdmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLW1peGluc1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtbWl4aW5zXG4iLCJAaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2JyZWFkY3J1bWJcIjtcblxuLmJyZWFkY3J1bWJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoI3skY29udGFpbmVyLXBhZGRpbmcteH0gKiAtMSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGNvbnRhaW5lci1wYWRkaW5nLXh9ICogLTEpO1xuXG4gIC5icmVhZGNydW1iIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBwYWRkaW5nOiAkY29udGFpbmVyLXBhZGRpbmcteDtcbiAgICBtYXJnaW46IHVuc2V0O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tYWxwaGEtYnJlYWRjcnVtYnMtbW9iaWxlLXNoYWRvdy1jb2xvcikgMCwgdmFyKC0tYWxwaGEtYnJlYWRjcnVtYnMtbW9iaWxlLXNoYWRvdy1jb2xvci1lbmQpKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1hbHBoYS1icmVhZGNydW1icy1tb2JpbGUtc2hhZG93LWNvbG9yLWVuZCkgMCwgdmFyKC0tYWxwaGEtYnJlYWRjcnVtYnMtbW9iaWxlLXNoYWRvdy1jb2xvcikpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuYnJlYWRjcnVtYiB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5vbi1mZWF0dXJlZCB7XG4gICAgLS1hbHBoYS1icmVhZGNydW1icy1tb2JpbGUtc2hhZG93LWNvbG9yOiAjeyRicmVhZGNydW1iLW9uLWZlYXR1cmVkLW1vYmlsZS1zaGFkb3ctY29sb3J9O1xuICAgIC0tYWxwaGEtYnJlYWRjcnVtYnMtbW9iaWxlLXNoYWRvdy1jb2xvci1lbmQ6ICN7cmdiYSgkYnJlYWRjcnVtYi1vbi1mZWF0dXJlZC1tb2JpbGUtc2hhZG93LWNvbG9yLCAwKX07XG4gICAgdG9wOiB2YXIoLS1mZWF0dXJlZC1pbWFnZS1oZWlnaHQpO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cbiAgICAuYnJlYWRjcnVtYiB7XG4gICAgICAtLWJzLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogY3VycmVudGNvbG9yO1xuICAgICAgLS1icy1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiBjdXJyZW50Y29sb3I7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogLjc1O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZGFyayB7XG4gICAgLS1icy1saW5rLWNvbG9yLXJnYjogI3toZXgtdG8tcmdiKCR3aGl0ZSl9O1xuXG4gICAgYSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLS1icy1saW5rLWNvbG9yLXJnYjogI3toZXgtdG8tcmdiKCRncmF5LTEwMCl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYnJlYWRjcnVtYnMtb24tZmVhdHVyZWQge1xuICAmOm5vdCguaGFzLXRyYW5zcGFyZW50LWhlYWRlcikge1xuICAgIC5icmVhZGNydW1icyB7XG4gICAgICB0b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkgKyB2YXIoLS1mZWF0dXJlZC1pbWFnZS1oZWlnaHQpKTtcbiAgICAgIHRyYW5zaXRpb246IHRvcCAuM3MgZWFzZTtcbiAgICB9XG4gIH1cblxuICAmLnNlYXJjaCB7XG4gICAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkc3BhY2VycywgOCk7XG4gICAgfVxuICB9XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lLWJlZm9yZSgkZmEtdmFyLWFuZ2xlLXJpZ2h0LCBmYWxzZSwgXCJsaWdodFwiLCAwKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBmbG9hdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwifkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ+QGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL3ZhcmlhYmxlc1wiO1xuXG4kdGhlbWUtYXNzZXQtcGF0aDogXCIuLi9pbWFnZXNcIiAhZGVmYXVsdDtcbiRmb250cy1wYXRoOiBcImZvbnRzXCIgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIENvbG9yIHN5c3RlbVxuJGJsYWNrOiAjMDAwICFkZWZhdWx0O1xuJHdoaXRlOiAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjdmN2Y3ICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjOWQ5ZDlkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogIzAwNWRhYSAhZGVmYXVsdDtcbiRwdXJwbGU6ICM3MDFlNmUgIWRlZmF1bHQ7XG4kZ3JlZW46ICMwMWFlM2MgIWRlZmF1bHQ7XG4kcmVkOiAjZGMzNTQ1ICFkZWZhdWx0O1xuJHllbGxvdzogI2ZmYzEwNyAhZGVmYXVsdDtcbiRjeWFuOiAjMGRjYWYwICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3JzLW1hcFxuJGNvbG9yczogKFxuICBcImJsdWVcIjogJGJsdWUsXG4gIFwicHVycGxlXCI6ICRwdXJwbGUsXG4gIFwiZ3JlZW5cIjogJGdyZWVuLFxuICBcIndoaXRlXCI6ICR3aGl0ZSxcbiAgXCJncmF5LTEwMFwiOiAkZ3JheS0xMDAsXG4gIFwiZ3JheS01MDBcIjogJGdyYXktNTAwLFxuICBcImdyYXktOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuJHN1Y2Nlc3M6ICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICRncmF5LTkwMCAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiRkZWZhdWx0LXRoZW1lLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnksXG4gIFwic3VjY2Vzc1wiOiAkc3VjY2VzcyxcbiAgXCJpbmZvXCI6ICRpbmZvLFxuICBcIndhcm5pbmdcIjogJHdhcm5pbmcsXG4gIFwiZGFuZ2VyXCI6ICRkYW5nZXIsXG4gIFwibGlnaHRcIjogJGxpZ2h0LFxuICBcImRhcmtcIjogJGRhcmssXG4gIFwid2hpdGVcIjogJHdoaXRlXG4pICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoJGRlZmF1bHQtdGhlbWUtY29sb3JzLCAkdGhlbWUtY29sb3JzKTtcblxuLy8gVGhlIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoIGFnYWluc3Qgd2hpdGUsIHRvIGRldGVybWluZSBpZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJsaWdodFwiIHRvIFwiZGFya1wiLiBBY2NlcHRhYmxlIHZhbHVlcyBmb3IgV0NBRyAyLjAgYXJlIDMsIDQuNSBhbmQgNy5cbiRtaW4tY29udHJhc3QtcmF0aW86IDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQ29tcG9uZW50c1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4kYm9yZGVyLXJhZGl1czogLjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogLjYyNXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gT3B0aW9uc1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiB0cnVlICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBTcGFjaW5nXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSwgLy8gNHB4XG4gIDI6ICRzcGFjZXIgKiAuNSwgLy8gOHB4XG4gIDM6ICRzcGFjZXIgKiAuNzUsIC8vIDEycHhcbiAgNDogJHNwYWNlciwgLy8gMTZweFxuICA1OiAkc3BhY2VyICogMS4yNSwgLy8gMjBweFxuICA2OiAkc3BhY2VyICogMS41LCAvLyAyNHB4XG4gIDc6ICRzcGFjZXIgKiAxLjc1LCAvLyAyOHB4XG4gIDg6ICRzcGFjZXIgKiAyLCAvLyAzMnB4XG4gIDk6ICRzcGFjZXIgKiAzLCAvLyA0OHB4XG4gIDEwOiAkc3BhY2VyICogNCwgLy8gNjRweFxuICAxMTogJHNwYWNlciAqIDUgLy8gODBweFxuKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gRGFyayBTdHlsZVxuJGRhcmstYmctY29sb3I6IHZhcigtLWJzLWJvZHktYmctZGFyaykgIWRlZmF1bHQ7XG4kZGFyay10eHQtY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3ItZGFyaykgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIExpZ2h0IFN0eWxlXG4kbGlnaHQtYmctY29sb3I6ICRib2R5LWJnICFkZWZhdWx0O1xuJGxpZ2h0LXR4dC1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEhlYWRlclxuJGhlYWRlci1iZzogdmFyKC0tYnMtYm9keS1iZykgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEZvb3RlclxuJGZvb3Rlci1iZzogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJGNvcHlyaWdodC1iZzogJGZvb3Rlci1iZyAhZGVmYXVsdDtcblxuLy8tLS0tLS0gTGlua3NcbiRsaW5rLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRsaW5rLXNoYWRlLXBlcmNlbnRhZ2U6IDIwJSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG5cbi8vIEdyaWQgY29sdW1uc1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIENvbnRhaW5lciBwYWRkaW5nXG4kY29udGFpbmVyLXBhZGRpbmcteDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQ29tcG9uZW50c1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6IHJnYmEoJGdyYXktOTAwLCAuMTUpICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIDIgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEJ1dHRvbnMgKyBGb3Jtc1xuJGJ0bi1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6IG51bGwsXG4gIFwic2Vjb25kYXJ5XCIgOiBudWxsXG4pICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteTogLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAuMTI1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteTogJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBOYXZzXG4vLy0tLS0tIFNoYXJlZCB2YXJpYWJsZXNcbiRuYXYtY29sb3ItYWNjZW50OiAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8tLS0tLSBCb290c3RyYXAgdmFyaWFibGVzXG4kbmF2LWxpbmstZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiB2YXIoLS10aGVtZS1za2luLXRleHQtY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiB0aW50LWNvbG9yKCRwcmltYXJ5LCAzMCUpICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQWxwaGEgdmFyaWFibGVzXG4kbmF2LWNvbG9yLWhvdmVyLWZpcnN0LWxldmVsOiAkbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yLWN1cnJlbnQ6ICRuYXYtY29sb3ItYWNjZW50ICFkZWZhdWx0O1xuJG5hdi1jb2xvci1jdXJyZW50LWZpcnN0LWxldmVsOiAkbmF2LWNvbG9yLWN1cnJlbnQgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yLWFuY2VzdG9yOiBzaGFkZS1jb2xvcigkbmF2LWNvbG9yLWFjY2VudCwgMjAlKSAhZGVmYXVsdDtcbiRuYXYtY29sb3ItYW5jZXN0b3ItZmlyc3QtbGV2ZWw6ICRuYXYtY29sb3ItYW5jZXN0b3IgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIE5hdmJhclxuJHN1Ym1lbnUtYmctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXk6IDMgKiAkc3BhY2VyIC8gNCAhZGVmYXVsdDtcbiRuYXZiYXItaXRlbS1tYXJnaW4teDogbnVsbCAhZGVmYXVsdDtcbiRuYXZiYXItaXRlbS1tYXJnaW4teTogbnVsbCAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtY29sb3I6ICRuYXYtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICRuYXYtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIERyb3Bkb3duc1xuXG4vLy0tLS0tLSBQYWdpbmF0aW9uXG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBNb2RhbHNcbiRtb2RhbC1iYWNrZHJvcC1iZzogYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG5cbi8vIE1vZGFsIFZpZGVvXG4kbW9kYWwtdmlkZW8tYnRuLWNsb3NlLWJnLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcbiRtb2RhbC12aWRlby1idG4tY2xvc2UtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEltYWdlIHRodW1ibmFpbHMgJiBQaWN0dXJlXG5cbi8vLS0tLS0tIEJyZWFkY3J1bWJzXG4kYnJlYWRjcnVtYi1mb250LXNpemU6IC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIE9mZmNhbnZhc1xuJG9mZmNhbnZhcy1ib2R5LWJhY2tkcm9wLWNvbG9yOiByZ2JhKCRtb2RhbC1iYWNrZHJvcC1iZywgJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy13aWRlLXNjcmVlbi1icmVha3BvaW50OiB4eGwgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIE9mZmNhbnZhcyBkZXNrdG9wXG4kb2ZmY2FudmFzLWRhcmstbW9kZS1sb2dvLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWRlc2t0b3Atd2lkdGg6IDQwMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1sb2dvLXdpZHRoOiA2Ni42NiUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWhlYWRlci1hbGlnbmVtZW50OiBjZW50ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWJvcmRlci1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1ib3JkZXItYmc6IHJnYmEoJG9mZmNhbnZhcy1ncmlkLWJvcmRlci1jb2xvciwgJG9mZmNhbnZhcy1ncmlkLWJvcmRlci1vcGFjaXR5KSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItb3BhY2l0eTogLjEgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLWNvbG9yLWJnOiByZ2JhKCRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLWNvbG9yLCAkb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1vcGFjaXR5KTtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLXN0eWxlOiAkb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1zaXplICRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLXR5cGUgJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItY29sb3ItYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LXRodW1iLXdpZHRoOiA3NSUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtc3VibWVudS1mb250LXNpemU6IDEuMTI1cmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtaXRlbS1wYWRkaW5nLXk6IDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtc3VibWVudS1pdGVtLWxpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtaXRlbS1pY29uLXNpemU6IC44cmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtaXRlbS1pbWFnZS1ib3gtc2hhZG93OiAwIDAgMS41cmVtIC43NXJlbSByZ2JhKCRzZWNvbmRhcnksIC4yNSkgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtc3VibWVudS1pdGVtLWhvdmVyLWltYWdlLWJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3cpO1xuJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1vcGFjaXR5OiAuMTUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWZpcnN0LWx2bC1tZW51LWl0ZW0tYm9yZGVyLXN0eWxlOiAxcHggc29saWQgcmdiYSgkb2ZmY2FudmFzLWZpcnN0LWx2bC1tZW51LWl0ZW0tYm9yZGVyLWNvbG9yLCAkb2ZmY2FudmFzLWZpcnN0LWx2bC1tZW51LWl0ZW0tYm9yZGVyLW9wYWNpdHkpO1xuXG4vLy0tLS0tLS0gT2ZmY2FudmFzIGRlc2t0b3AgTWVnYSBTdWJtZW51XG4kb2ZmY2FudmFzLXN1Ym1lbnUtaXRlbS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtc3VibWVudS1pdGVtLWJvcmRlci1jb2xvcjogdmFyKC0tdGhlbWUtc2tpbi10ZXh0LWNvbG9yKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtc3VibWVudS1pdGVtLWJvcmRlci1zdHlsZTogMXB4IHNvbGlkICRvZmZjYW52YXMtc3VibWVudS1pdGVtLWJvcmRlci1jb2xvcjtcblxuXG4vLy0tLS0tLSBNZWdhIE1lbnVcbiRtZWdhbWVudS1iZy1jb2xvcjogdmFyKC0tdGhlbWUtc2tpbi1iZy1jb2xvcik7XG4kbWVnYW1lbnUtcGFkZGluZy15OiAxcmVtICFkZWZhdWx0O1xuJG1lZ2FtZW51LXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcbiRtZWdhbWVudS10aXRsZS1wYWRkaW5nLXk6IC41cmVtICFkZWZhdWx0O1xuJG1lZ2FtZW51LXRpdGxlLXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcbiRtZWdhbWVudS10aXRsZS1jb2xvcjogdmFyKC0tdGhlbWUtc2tpbi10ZXh0LWNvbG9yKSAhZGVmYXVsdDtcbiRtZWdhbWVudS10aXRsZS10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtaG92ZXItY29sb3I6ICRuYXYtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRtZWdhbWVudS10aXRsZS1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRtZWdhbWVudS1waWN0dXJlLWhhcy1vdmVybGF5OiB0cnVlICFkZWZhdWx0O1xuJG1lZ2FtZW51LW92ZXJsYXktYmctY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJG1lZ2FtZW51LW92ZXJsYXktYmctb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtb3ZlcmxheS1iZy1jb2xvci1yYmc6IHJnYmEoJG1lZ2FtZW51LW92ZXJsYXktYmctY29sb3IsICRtZWdhbWVudS1vdmVybGF5LWJnLW9wYWNpdHkpICFkZWZhdWx0O1xuJG1lZ2FtZW51LXBpY3R1cmUtYm9yZGVyLXJhZGl1czogLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEFuY2hvciBvZmZzZXRcbiRhbmNob3Itb2Zmc2V0OiAxcmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBXcCBBbHBoYVxuLy8gbG9nb1xuJGxvZ28tcGFkZGluZy15OiAkbmF2YmFyLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuLy8tLS0tLSBCb290c3RyYXAgY29sb3JzIGNsZWFudXBcbiRicy1ncmF5cy10by1rZWVwOiAoKSAhZGVmYXVsdDtcbiRicy1ncmF5cy10by1yZW1vdmU6IChcIjIwMFwiLCBcIjMwMFwiLCBcIjQwMFwiLCBcIjUwMFwiLCBcIjcwMFwiKSAhZGVmYXVsdDtcbiRicy1jb2xvcnMtdG8ta2VlcDogKCkgIWRlZmF1bHQ7XG4kYnMtY29sb3JzLXRvLXJlbW92ZTogKFwiaW5kaWdvXCIsIFwicGlua1wiLCBcInJlZFwiLCBcInllbGxvd1wiLCBcImdyZWVuXCIsIFwidGVhbFwiLCBcImN5YW5cIiwgXCJsaWdodFwiLCBcImRhcmtcIikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQm9vdHN0cmFwIHV0aWxpdGllcyBjbGVhbnVwXG4kYnMtdXRpbGl0aWVzLXRvLXJlbW92ZTogKFwiYmctb3BhY2l0eVwiKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBIZWxwZXJzXG4vLy0tLS0gU2VwYXJhdGUgdGl0bGVcbiRzZXBhcmF0ZS10aXRsZS13aWR0aDogODBweCAhZGVmYXVsdDtcbiRzZXBhcmF0ZS10aXRsZS1iZzogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLS0tLSBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcy1vdmVycmlkZXM6ICgpICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllczogKFxuICAxMDogLjEsXG4gIDI1OiAuMjUsXG4gIGxpZ2h0OiAuMjUsXG4gIDM1OiAuMzUsXG4gIDUwOiAuNSxcbiAgbWVkaXVtOiAuNSxcbiAgNjU6IC42NSxcbiAgNzU6IC43NSxcbiAgc3Ryb25nOiAuNzUsXG4gIDkwOiAuOVxuKSAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXM6IG1hcC1tZXJnZSgkdHJhbnNwYXJlbnQtYmctb3BhY2l0aWVzLCAkdHJhbnNwYXJlbnQtYmctb3BhY2l0aWVzLW92ZXJyaWRlcyk7XG4kdHJhbnNwYXJlbnQtYmctY29sb3JzOiAocHJpbWFyeTogJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcywgc2Vjb25kYXJ5OiAkdHJhbnNwYXJlbnQtYmctb3BhY2l0aWVzKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBUb29sc1xuLy8gQ29uZmlndXJhdGlvbiAoYWN0aXZhdGUgb25seSB0aG9zZSBuZWVkZWQpXG4kdGVhc2VzOiAoXCJncmlkXCIsIFwibGlzdFwiLCBcInNpbXBsZVwiLCBcInNpbXBsZS1yZWFsaXNhdGlvbnNcIikgIWRlZmF1bHQ7XG4kZm9ybXM6ICgpICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRvcCBCYXJcbiR0b3AtYmFyLWhpZGUtb24tbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xuJHRvcC1iYXItaGlkZS1vbi1zY3JvbGwtbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xuJHRvcC1iYXItaGlkZS1vbi1zY3JvbGwtZGVza3RvcDogJHRvcC1iYXItaGlkZS1vbi1zY3JvbGwtbW9iaWxlICFkZWZhdWx0O1xuJHRvcC1iYXItcGFkZGluZy14OiAkY29udGFpbmVyLXBhZGRpbmcteCAhZGVmYXVsdDtcbiR0b3AtYmFyLXBhZGRpbmcteTogLjVyZW0gIWRlZmF1bHQ7XG4kdG9wLWJhci1oZWlnaHQ6IGlmKG51bGwgIT0gaW5kZXgoJG1lbnVzLCBcInNlY29uZGFyeVwiKSwgMi41cmVtLCAxLjVyZW0pICFkZWZhdWx0O1xuJHRvcC1iYXItb3BhY2l0eTogMSAhZGVmYXVsdDtcbiR0b3AtYmFyLXNvY2lhbC1saW5rcy1tYXJnaW46IG1hcC1nZXQoJHNwYWNlcnMsIDQpICFkZWZhdWx0O1xuJHRvcC1iYXItZGVmYXVsdC1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcC1iYXItdHJhbnNwYXJlbnQtaGVhZGVyLWJnLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8tLS0tLSBIZWFkZXJcbiRoZWFkZXItYnRuLWljb246ICRmYS12YXItcGhvbmUgIWRlZmF1bHQ7XG4kaGVhZGVyLWJ0bi1mYS1zdHlsZTogXCJzb2xpZFwiICFkZWZhdWx0O1xuJGhlYWRlci1idG4tc2hvdy10ZXh0LWJyZWFrcG9pbnQ6ICRkZXNrdG9wLWJyZWFrcG9pbnQgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gRmVhdHVyZWQgaW1hZ2VcbiRmZWF0dXJlZC1pbWFnZS1oZWlnaHQ6IDUwdmggIWRlZmF1bHQ7XG4kaG9tZS1mZWF0dXJlZC1pbWFnZS1oZWlnaHQ6IDUwdmggIWRlZmF1bHQ7XG4kZmVhdHVyZWQtaW1hZ2Utb3ZlcmxheS1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kZmVhdHVyZWQtaW1hZ2Utb3ZlcmxheS1vcGFjaXR5OiAuMyAhZGVmYXVsdDtcbiRob21lLWZlYXR1cmVkLWltYWdlLXRleHQtdHJhbnNpdGlvbjogdHJ1ZSAhZGVmYXVsdDtcbiRob21lLWZlYXR1cmVkLWltYWdlLXRleHQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzICFkZWZhdWx0O1xuXG4vLy0tLS0tIENvbnRlbnQgQWJvdmVcbiRjb250ZW50LWFib3ZlLXRleHQtY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuXG4vLy0tLS0tIFNoYXBlc1xuLy8gcG9zc2libGUgc2hhcGVzIGFyZTogKHNxdWFyZSwgY2lyY2xlLCB0cmlhbmdsZSwgbG96ZW5nZSlcbi8vIHBvc3NpYmxlIHVuaXRzIGFyZTogKHJlbTogMXJlbSwgZW06IDFlbSwgdnc6IDIuNXZ3KVxuJHNoYXBlczogKGNpcmNsZSkgIWRlZmF1bHQ7XG4kc2hhcGVzLXVuaXRzOiAocmVtOiAxcmVtKSAhZGVmYXVsdDtcbiRzaGFwZXMtZGVmYXVsdC11bml0OiBudGgobnRoKCRzaGFwZXMtdW5pdHMsIDEpLCAyKSAhZGVmYXVsdDtcbiRzaGFwZXMtbWF4LW11bHRpcGxpZXI6IDEwICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRleHQgY29udHJhc3RcbiRhbHBoYS1lbmFibGUtYnRuLWNsb3NlLXRleHQtY29udHJhc3QtY29sb3JzOiBmYWxzZSAhZGVmYXVsdDtcbiRhbHBoYS1idG4tY2xvc2UtdGV4dC1jb250cmFzdC1jb2xvcnM6ICR0aGVtZS1jb2xvcnMgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVGV4dCBzaGFkb3dcbiRhbHBoYS10ZXh0LXNoYWRvdy1jb2xvcjogY29sb3ItY29udHJhc3Qod2hpdGUpICFkZWZhdWx0O1xuJGFscGhhLXRleHQtc2hhZG93LXJhZGl1czogLjVyZW0gIWRlZmF1bHQ7XG4kYWxwaGEtdGV4dC1zaGFkb3ctcmFkaXVzLXNtOiAuMjVyZW0gIWRlZmF1bHQ7XG4kYWxwaGEtdGV4dC1zaGFkb3ctcmFkaXVzLWxnOiAxcmVtICFkZWZhdWx0O1xuJGFscGhhLXRleHQtc2hhZG93LWNvbG9yczogKCkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gT3ZlcmxheVxuJGFscGhhLW92ZXJsYXktY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRhbHBoYS1vdmVybGF5LW9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGFscGhhLW92ZXJsYXktY29sb3JzOiAoKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBaIGluZGV4XG4kYWxwaGEtei1pbmRleGVzOiAoMSwgMiwgMTApICFkZWZhdWx0O1xuXG4vLy0tLS0tIFNpZGViYXJcbiRzaWRlYmFyOiBmYWxzZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWJnLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAuMSkgIWRlZmF1bHQ7XG4kc2lkZWJhci1wYWRkaW5nOiBtYXAtZ2V0KCRzcGFjZXJzLCAzKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWJvcmRlci1yYWRpdXM6IC4zNzVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci13aWRnZXRzLXNwYWNlcjogbWFwLWdldCgkc3BhY2VycywgNikgIWRlZmF1bHQ7XG4kc2lkZWJhci13aWRnZXQtY29udGVudC1zcGFjZXI6IG1hcC1nZXQoJHNwYWNlcnMsIDIpICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0LXRpdGxlLXNwYWNlcjogbWFwLWdldCgkc3BhY2VycywgMykgIWRlZmF1bHQ7XG4kc2lkZWJhci13aWRnZXQtdGl0bGUtZm9udC1zaXplOiAkaDMtZm9udC1zaXplICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0LWxpc3QtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tIFN1cnRpdGxlXG4kYWxwaGEtc3VydGl0bGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuJGFscGhhLXN1cnRpdGxlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGFscGhhLXN1cnRpdGxlLWZvbnQtc2l6ZS1kZXNrdG9wOiAkYWxwaGEtc3VydGl0bGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGFscGhhLXN1cnRpdGxlLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kYWxwaGEtc3VydGl0bGUtY29sb3I6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuJGFscGhhLXN1cnRpdGxlLW1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHNwYWNlcnMsIDQpICFkZWZhdWx0O1xuJGFscGhhLXN1cnRpdGxlLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQ29weXJpZ2h0XG4kYWxwaGEtY29weXJpZ2h0LWZvbnQtc2l6ZTogLjgyNXJlbSAhZGVmYXVsdDtcbiRhbHBoYS1jb3B5cmlnaHQtbGluay1ob3Zlci1jb2xvcjogdmFyKC0tdGhlbWUtc2tpbi10ZXh0LWNvbG9yKSAhZGVmYXVsdDtcbiRhbHBoYS1jb3B5cmlnaHQtbGluay10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gTmF2aWdhdGlvbnNcbi8vLS0tLSBDb21tb25cbiRuYXYtbGluay1hZnRlci1oZWlnaHQ6IDJweCAhZGVmYXVsdDtcblxuLy8tLS0tIENlbnRlclxuJG5hdi1jZW50ZXItbG9nby1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWNlbnRlci1sb2dvLXBhZGRpbmcteTogMCAhZGVmYXVsdDtcblxuLy8tLS0tIFN1Ym1lbnUgbW9ycGhcbiRzdWJtZW51LW1vcnBoLW1pbi13aWR0aDogMzUwcHggIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1tYXgtd2lkdGg6IDM1dncgIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1kcm9wZG93bi1saXN0LWJvcmRlci1yYWRpdXM6IC41cmVtICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtZHJvcGRvd24tbGlzdC1wYWRkaW5nOiAuNXJlbSAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWRyb3Bkb3duLWxpc3QtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWRyb3Bkb3duLWxpc3QtYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdykgIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1kcm9wZG93bi1saXN0LWFycm93LWhlaWdodDogLjc1cmVtICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtZHJvcGRvd24tbGlzdC1hcnJvdy1sZWZ0OiA1cmVtICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtYWN0aXZlLW1lbnUtYmctY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWFuY2VzdG9ycy1mb250LXdlaWdodDogNTAwICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtbGluay1jb2xvcjogJG5hdi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtbGluay1ob3Zlci1jb2xvcjogJG5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtbGluay1jb2xvci1jdXJyZW50OiAkbmF2LWNvbG9yLWN1cnJlbnQgIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1saW5rLWNvbG9yLWFuY2VzdG9yOiAkbmF2LWNvbG9yLWFuY2VzdG9yICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtc2Nyb2xsYmFyLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLXNjcm9sbGJhci1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy0tLS0tIEJyZWFkY3J1bWJzXG4kYnJlYWRjcnVtYi1tb2JpbGUtc2hhZG93LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW1vYmlsZS1zaGFkb3ctY29sb3I6ICRib2R5LWJnICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItb24tZmVhdHVyZWQtbW9iaWxlLXNoYWRvdy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRlYXNlXG4kdGVhc2UtYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0ZWFzZS1iYWRnZS1iZzogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG5cbiR0ZWFzZS1vdmVybGF5LXRleHQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0ZWFzZS1vdmVybGF5LXRleHQtc2hhZG93OiAwIDAgLjI1cmVtICMwMDA7XG4kdGVhc2Utb3ZlcmxheS1iZy1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiR0ZWFzZS1vdmVybGF5LWJnLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBXb29Db21tZXJjZVxuXG4kd2MtcHJpbWFyeTogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG4kd29vY29tbWVyY2U6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuJHdjLWdyZWVuOiAkc3VjY2VzcyAhZGVmYXVsdDtcbiR3Yy1yZWQ6ICRkYW5nZXIgIWRlZmF1bHQ7XG4kd2Mtb3JhbmdlOiAkd2FybmluZyAhZGVmYXVsdDtcbiR3Yy1ibHVlOiAkaW5mbyAhZGVmYXVsdDtcbiR3Yy1wcmltYXJ5LXRleHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiR3Yy1zZWNvbmRhcnk6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kd2Mtc2Vjb25kYXJ5LXRleHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiR3Yy1oaWdobGlnaHQ6ICNiM2FmNTQgIWRlZmF1bHQ7XG4kd2MtaGlnaGxpZ2h0LXRleHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiR3Yy1jb250ZW50LWJnOiAjZmZmICFkZWZhdWx0O1xuJHdjLXN1YnRleHQ6ICM3Njc2NzYgIWRlZmF1bHQ7XG5cbiR3Yy1zdG9jay1pbi1zdG9jay1jb2xvcjogJHdjLWdyZWVuICFkZWZhdWx0O1xuJHdjLXN0b2NrLWxvdy1zdG9jay1jb2xvcjogJHdjLW9yYW5nZSAhZGVmYXVsdDtcbiR3Yy1zdG9jay1hdmFpbGFibGUtb24tYmFja29yZGVyLWNvbG9yOiAkd2Mtb3JhbmdlICFkZWZhdWx0O1xuJHdjLXN0b2NrLW91dC1vZi1zdG9jay1jb2xvcjogJHdjLXJlZCAhZGVmYXVsdDtcblxuJHdjLXN0b2NrLWluLXN0b2NrLWljb246ICRmYS12YXItY2lyY2xlLWNoZWNrICFkZWZhdWx0O1xuJHdjLXN0b2NrLWxvdy1zdG9jay1pY29uOiAkZmEtdmFyLWNoYXJ0LWxpbmUtZG93biAhZGVmYXVsdDtcbiR3Yy1zdG9jay1hdmFpbGFibGUtb24tYmFja29yZGVyLWljb246ICRmYS12YXItY2xvY2stcm90YXRlLWxlZnQgIWRlZmF1bHQ7XG4kd2Mtc3RvY2stb3V0LW9mLXN0b2NrLWljb246ICRmYS12YXItY2lyY2xlLXhtYXJrICFkZWZhdWx0O1xuXG4vLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBvbGQgJHdvb2NvbW1lcmNlICYgJHdvb2NvbW1lcmNlU2lkZWJhciB2YXJpYWJsZXNcbkBpZiB0eXBlLW9mKCR3b29jb21tZXJjZSkgPT0gXCJib29sXCIge1xuICBAd2FybiBcIlVzYWdlIG9mICR3b29jb21tZXJjZSB2YXJpYWJsZSBhcyBib29sIGlzIGRlcHJlY2F0ZWQsIHVzZSB3b29jb21tZXJjZS5lbmFibGVkIGluIHdvb2NvbW1lcmNlLnlhbWwgaW5zdGVhZC5cIjtcbiAgJHdvb2NvbW1lcmNlOiBtYXAtZXh0ZW5kKG1hcC1nZXQoJGNvbmZpZy1kZWZhdWx0cywgXCJ3b29jb21tZXJjZVwiKSwgKGVuYWJsZWQ6ICR3b29jb21tZXJjZSkpO1xuICAkd29vY29tbWVyY2UtZW5hYmxlZDogbWFwLWdldC1kZWVwKCR3b29jb21tZXJjZSwgXCJlbmFibGVkXCIpO1xufVxuXG5AaWYgdmFyaWFibGUtZXhpc3RzKHdvb2NvbW1lcmNlU2lkZWJhcikge1xuICBAd2FybiBcIlVzYWdlIG9mICR3b29jb21tZXJjZVNpZGViYXIgdmFyaWFibGUgZGVwcmVjYXRlZCwgdXNlICR3b29jb21tZXJjZS1zaWRlYmFyIGluc3RlYWQuXCI7XG4gICR3b29jb21tZXJjZS1zaWRlYmFyOiAkd29vY29tbWVyY2VTaWRlYmFyO1xufVxuXG4vLyBBY2NvdW50XG4kYWNjb3VudC1uYXZpZ2F0aW9uLWljb25zOiAoXG4gIGRhc2hib2FyZDogJGZhLXZhci1ob21lLFxuICBvcmRlcnM6ICRmYS12YXItZG9sbHksXG4gIHN1YnNjcmlwdGlvbnM6ICRmYS12YXItY2xvY2stcm90YXRlLWxlZnQsXG4gIG1lbWJlcnNoaXBzOiAkZmEtdmFyLXVzZXItY3Jvd24sXG4gIGRvd25sb2FkczogJGZhLXZhci1kb3dubG9hZCxcbiAgZWRpdC1hZGRyZXNzOiAkZmEtdmFyLW1hcC1tYXJrZXItZWRpdCxcbiAgcGF5bWVudC1tZXRob2RzOiAkZmEtdmFyLWNyZWRpdC1jYXJkLFxuICBlZGl0LWFjY291bnQ6ICRmYS12YXItdXNlci1lZGl0LFxuICBib29raW5nczogJGZhLXZhci1jYWxlbmRhci1hbHQsXG4gIGN1c3RvbWVyLWxvZ291dDogJGZhLXZhci1zaWduLW91dFxuKSAhZGVmYXVsdDtcblxuLy8gQXR0cmlidXRlc1xuJHdjLXByb2R1Y3QtYXR0cmlidXRlLWZvbnQtc2l6ZTogLjlyZW0gIWRlZmF1bHQ7XG4kd2MtcHJvZHVjdC1hdHRyaWJ1dGUtZXZlbi1iZzogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJHdjLXByb2R1Y3QtYXR0cmlidXRlLWxhYmVsLWNvbG9yOiAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbi8vIEF2YWlsYWJpbGl0eVxuJHdjLXN0b2NrLWZvbnQtc2l6ZTogLjhyZW0gIWRlZmF1bHQ7XG4kd2Mtc3RvY2staWNvbi13aWR0aDogJGZhLWZ3LXdpZHRoICFkZWZhdWx0O1xuJHdjLXN0b2NrLWljb24tZm9udC1zaXplOiAkZmEtc2l6ZS1zY2FsZS1iYXNlICFkZWZhdWx0O1xuJHdjLXN0b2NrLWluZm86IChcbiAgaW4tc3RvY2s6IChjb2xvcjogJHdjLXN0b2NrLWluLXN0b2NrLWNvbG9yLCBpY29uOiAkd2Mtc3RvY2staW4tc3RvY2staWNvbiksXG4gIGxvdy1zdG9jazogKGNvbG9yOiAkd2Mtc3RvY2stbG93LXN0b2NrLWNvbG9yLCBpY29uOiAkd2Mtc3RvY2stbG93LXN0b2NrLWljb24pLFxuICBhdmFpbGFibGUtb24tYmFja29yZGVyOiAoY29sb3I6ICR3Yy1zdG9jay1hdmFpbGFibGUtb24tYmFja29yZGVyLWNvbG9yLCBpY29uOiAkd2Mtc3RvY2stYXZhaWxhYmxlLW9uLWJhY2tvcmRlci1pY29uKSxcbiAgb3V0LW9mLXN0b2NrOiAoY29sb3I6ICR3Yy1zdG9jay1vdXQtb2Ytc3RvY2stY29sb3IsIGljb246ICR3Yy1zdG9jay1vdXQtb2Ytc3RvY2staWNvbiksXG4pICFkZWZhdWx0O1xuXG5cbi8vLS0tLS0gQWRkIHRvIENhcnQgYnV0dG9uXG4kYnRuLWFkZHRvY2FydC1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnRuLWFkZHRvY2FydC1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRidG4tYWRkdG9jYXJ0LWhvdmVyLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidG4tYWRkdG9jYXJ0LWhvdmVyLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcbiRidG4tYWRkdG9jYXJ0LWljb25zOiAoXG4gIHNpbXBsZTogJGZhLXZhci1zaG9wcGluZy1iYXNrZXQsXG4gIGdyb3VwZWQ6ICRmYS12YXItZXllLFxuICB2YXJpYWJsZTogJGZhLXZhci1jb2dzLFxuICBib29raW5nOiAkZmEtdmFyLWNhbGVuZGFyLWRheXMsXG4pICFkZWZhdWx0O1xuXG4vLy0tLS0tIEJvb2tpbmdcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItdWktYmc6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLXVpLWNvbG9yOiBjb2xvci1jb250cmFzdCgkd2MtYm9va2luZy1kYXRlcGlja2VyLXVpLWJnKSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stb2RkLWJnOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLW9kZC1ob3Zlci1iZzogc2hhZGUtY29sb3IoJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1vZGQtYmcsIDIwJSkgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLW9kZC1jb2xvcjogY29sb3ItY29udHJhc3QoJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1vZGQtYmcpICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1ldmVuLWJnOiAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLWV2ZW4taG92ZXItYmc6IHNoYWRlLWNvbG9yKCR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stZXZlbi1iZywgMjAlKSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stZXZlbi1jb2xvcjogY29sb3ItY29udHJhc3QoJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1ldmVuLWJnKSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWNvc3QtYmc6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWNvc3QtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR3Yy1ib29raW5nLWNvc3QtYmcpICFkZWZhdWx0O1xuXG4vLy0tLS0tIFByaWNlIENvbG9yXG4kd2MtcHJpY2UtY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kd2MtZGVsLXByaWNlLWNvbG9yOiByZ2JhKCRncmF5LTUwMCwgLjYpICFkZWZhdWx0O1xuXG4vLy0tLS0tIERpc2NvdW50IGJhZGdlXG4kYmFkZ2Utb25zYWxlLWJnOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJGJhZGdlLW9uc2FsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy0tLS0tIE1pbmkgQ2FydFxuJG1pbmljYXJ0LWNvdW50ZXItYmc6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kbWluaWNhcnQtY291bnRlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG1pbmljYXJ0LXRvdGFsLWJnOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJG1pbmljYXJ0LXRvdGFsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbWluaWNhcnQtaXRlbS1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcXR5LWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBDYXJ0XG4kY2FydC1idG4tYWN0aW9ucy1iZzogJHByaW1hcnkgIWRlZmF1bHQ7XG4kY2FydC1idG4tY2hlY2tvdXQtYmc6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gTWVzc2FnZVxuJHdjLW1lc3NhZ2UtYmctY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1tZXNzYWdlLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiR3Yy1tZXNzYWdlLWljb24tY29sb3I6ICRncmVlbiAhZGVmYXVsdDtcblxuJHdjLWluZm8tYmctY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1pbmZvLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiR3Yy1pbmZvLWljb24tY29sb3I6ICRibHVlICFkZWZhdWx0O1xuXG4kd2MtZXJyb3ItYmctY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1lcnJvci1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcikgIWRlZmF1bHQ7XG4kd2MtZXJyb3ItaWNvbi1jb2xvcjogcmVkICFkZWZhdWx0O1xuXG4vLy0tLS0tIFNpZGViYXJcbiR3Yy1zaWRlYmFyLW1vYmlsZS1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1tb2JpbGUtYmFjay10b3Atb2Zmc2V0LXk6IDNyZW0gIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jb2xvcjogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJHdjLWZpbHRlci10b2dnbGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2MtZmlsdGVyLXRvZ2dsZXItYmc6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJHdjLWNhdC1saW5rLWJnOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtY2F0LWxpbmstaG92ZXItYmc6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuJHdjLWNhdC1saW5rLWhvdmVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jdXJyZW50LXRlcm0tbGluay1jb2xvcjogJG5hdi1jb2xvci1jdXJyZW50ICFkZWZhdWx0O1xuJHdjLXNpZGViYXItY3VycmVudC10ZXJtLWxpbmstaG92ZXItY29sb3I6IHRpbnQtY29sb3IoJHdjLXNpZGViYXItY3VycmVudC10ZXJtLWxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jdXJyZW50LXRlcm0tcGFyZW50LWxpbmstY29sb3I6ICRuYXYtY29sb3ItYW5jZXN0b3IgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jdXJyZW50LXRlcm0tcGFyZW50LWxpbmstaG92ZXItY29sb3I6IHRpbnQtY29sb3IoJHdjLXNpZGViYXItY3VycmVudC10ZXJtLXBhcmVudC1saW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRvcCBiYXIgaWNvbnNcbi8vLS0tLS0gVG9wIGJhciBpY29uc1xuJHRvcC1iYXItaWNvbnM6IChjb250YWN0OiAkZmEtdmFyLWVudmVsb3BlLCBwaG9uZTogJGZhLXZhci1waG9uZS1hbHQpICFkZWZhdWx0O1xuJHRvcC1iYXItaWNvbnMtbWFyZ2luOiAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9wLWJhci1pY29ucy1mYS12YXJpYW50OiBcInNvbGlkXCIgIWRlZmF1bHQ7XG4kd2MtdG9wLWJhci1pY29uczogJHRvcC1iYXItaWNvbnMgIWRlZmF1bHQ7XG4kd2MtdG9wLWJhci1pY29ucy1tYXJnaW46ICR0b3AtYmFyLWljb25zLW1hcmdpbiAhZGVmYXVsdDtcbiR3Yy10b3AtYmFyLWljb25zLWZhLXZhcmlhbnQ6ICR0b3AtYmFyLWljb25zLWZhLXZhcmlhbnQgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVGVhc2VcbiR3Yy10ZWFzZS1wcm9kdWN0LWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2MtdGVhc2UtcHJvZHVjdC1ib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRzcGFjZXJzLCAyKSAhZGVmYXVsdDtcbiR3Yy10ZWFzZS1wcm9kdWN0LWxpbmstcGFkZGluZzogbWFwLWdldCgkc3BhY2VycywgMikgIWRlZmF1bHQ7XG4kd2MtdGVhc2UtcHJvZHVjdC1saW5rLWltYWdlLXBhZGRpbmc6ICR3Yy10ZWFzZS1wcm9kdWN0LWxpbmstcGFkZGluZyAqIC0xICFkZWZhdWx0O1xuJHdjLXRlYXNlLXByb2R1Y3QtaG92ZXItYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBTb2NpYWwgc2hhcmUgaWNvbnNcbiRzb2NpYWwtc2hhcmUtaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAuNSkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIFdQTUxcbiR3cG1sLWRldjogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEFscGhhIGJsb2Nrc1xuLy8tLS0tLSBGYWNlYm9vayB2aWRlb1xuJGFscGhhLWZiLXZpZGVvLWxvYWRlci1iZy1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kYWxwaGEtZmItdmlkZW8tbG9hZGVyLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWxwaGEtZmItdmlkZW8tbG9hZGVyLWJnLWNvbG9yKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBHb29nbGUgUmV2aWV3c1xuJGdvb2dsZS1yZXZpZXdzLWJvcmRlci10b3A6IDZweCBzb2xpZCAjNGZjZTZhICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLWJvcmRlci1yYWRpdXM6IC4xNXJlbSAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1sb2dvLXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLXNjb3JlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1yYXRpbmctc3Rhci1jb2xvcjogI2U3NzExYiAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1yYXRpbmctY291bnQtY29sb3I6ICM3YTdhN2EgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3Mtei1pbmRleDogMjAwMCAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1vZmZzZXQ6IDJyZW0gIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3Mtb2Zmc2V0LWJvdHRvbTogJGdvb2dsZS1yZXZpZXdzLW9mZnNldCAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1vZmZzZXQtbGVmdDogJGdvb2dsZS1yZXZpZXdzLW9mZnNldCAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1vZmZzZXQtcmlnaHQ6ICRnb29nbGUtcmV2aWV3cy1vZmZzZXQgIWRlZmF1bHQ7XG4kZ29vZ2xlLWJhZGdlLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLWJhZGdlLWhpZGUtb24tbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy0tLS0tIEhlcm8gYmFubmVyXG4kYWxwaGEtaGVyby1iYW5uZXItb2Zmc2V0LXk6IDMuNXJlbSAhZGVmYXVsdDtcbiRhbHBoYS1oZXJvLWJhbm5lci1vZmZzZXQtdG9wOiAkYWxwaGEtaGVyby1iYW5uZXItb2Zmc2V0LXkgIWRlZmF1bHQ7XG4kYWxwaGEtaGVyby1iYW5uZXItb2Zmc2V0LWJvdHRvbTogJGFscGhhLWhlcm8tYmFubmVyLW9mZnNldC15ICFkZWZhdWx0O1xuXG4vLy0tLS0tIEljb25cbiRpY29uLWJsb2NrLWljb24tY29sb3I6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy0tLS0tIE1hcFxuJGFscGhhLW1hcC1kZWZhdWx0LWhlaWdodDogMjUwcHggIWRlZmF1bHQ7XG4kYWxwaGEtbWFwLWRlZmF1bHQtaGVpZ2h0LWxnOiAkYWxwaGEtbWFwLWRlZmF1bHQtaGVpZ2h0ICogMiAhZGVmYXVsdDtcblxuLy8tLS0tLSBSYXRpbmdcbiRhbHBoYS1yYXRpbmctc3Rhci1vbi1jb2xvcjogJHllbGxvdyAhZGVmYXVsdDtcbiRhbHBoYS1yYXRpbmctc3Rhci1vZmYtY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcblxuLy8tLS0tLSBSZWluc3VyYW5jZVxuLy8tLS0tIFNvdWJhIE1hZ2Fzc2Egc3R5bGVzXG4kc291YmEtcmVpbnN1cmFuY2UtY29sb3JzOiAocHJpbWFyeSwgc2Vjb25kYXJ5KSAhZGVmYXVsdDtcbiRzb3ViYS1yZWluc3VyYW5jZS10b3Atb2Zmc2V0OiAycmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tIFNlcnZpY2VzXG4kc2VydmljZXMtYmctaG92ZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzZXJ2aWNlcy1iZy1ob3Zlci1jb2xvci1saWdodDogJHNlcnZpY2VzLWJnLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJnLWhvdmVyLWNvbG9yLWRhcms6ICRzZXJ2aWNlcy1iZy1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzZXJ2aWNlcy1iZy1ob3Zlci1vcGFjaXR5OiAxICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJnLWhvdmVyLW9wYWNpdHktbGlnaHQ6ICRzZXJ2aWNlcy1iZy1ob3Zlci1vcGFjaXR5ICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJnLWhvdmVyLW9wYWNpdHktZGFyazogLjIgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEFscGhhIG1vZHVsZXNcbi8vLS0tLS0gQ29tbW9uXG4kbG9hZGluZy1tb2R1bGVzLWJnLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRsb2FkaW5nLW1vZHVsZXMtbG9hZGVyLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcbiRsb2FkaW5nLW1vZHVsZXMtbG9hZGVyLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRsb2FkaW5nLW1vZHVsZXMtei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gRGVmYXVsdFxuLy8tLS0tIFBhZ2Ugc2Nyb2xsXG4kaG9tZS1wYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQ6IDE1dmggIWRlZmF1bHQ7XG4kcGFnZS1zY3JvbGwtbGlzdGVuZXItaGVpZ2h0OiAkaG9tZS1wYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQgLyAyICFkZWZhdWx0O1xuJHBhZ2Utc2Nyb2xsLWxpc3RlbmVyLWhlaWdodC1kZXNrdG9wOiAkaG9tZS1wYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQgLyAzICFkZWZhdWx0O1xuXG4vLy0tLS0tIE9wdGlvbmFsXG4vLy0tLS0gQmFjayB0byB0b3BcbiRiYWNrLXRvLXRvcC1vZmZzZXQteDogMXJlbSAhZGVmYXVsdDtcbiRiYWNrLXRvLXRvcC1vZmZzZXQteTogMXJlbSAhZGVmYXVsdDtcbiRiYWNrLXRvLXRvcC13aGF0c2FwcC1idXR0b24tb2Zmc2V0LXk6IDRyZW0gIWRlZmF1bHQ7XG4kYmFjay10by10b3AtZGVmYXVsdC1idXR0b24tdHJhbnNsYXRlLXk6ICRiYWNrLXRvLXRvcC1vZmZzZXQteSAqIC0yICFkZWZhdWx0O1xuXG4vLy0tLS0gSGVhZGVyIHN0YXRlc1xuLy8tLS0gU2hydW5rIGxvZ29cbiRzaHJ1bmstbG9nby1oZWlnaHQtcmF0aW86IC44ICFkZWZhdWx0O1xuXG4vLy0tLS0gUmFuZ2Ugc2xpZGVyXG4kcmFuZ2Utc2xpZGVyLXdyYXBwZXItaGVpZ2h0OiAzcmVtICFkZWZhdWx0O1xuXG4vLy0tLS0gUm91c3F1aWxsZVxuJHJvdXNxdWlsbGUtYmFubmVyLWxvZ28tbWFyZ2luOiAwIGF1dG8gIWRlZmF1bHQ7XG4kcm91c3F1aWxsZS1iYW5uZXItbG9nby1tYXJnaW4tdGFibGV0OiAwIGF1dG8gbWFwLWdldCgkc3BhY2VycywgOCkgIWRlZmF1bHQ7XG4kcm91c3F1aWxsZS1iYW5uZXItbG9nby1tYXJnaW4tbW9iaWxlOiAwIGF1dG8gbWFwLWdldCgkc3BhY2VycywgNCkgIWRlZmF1bHQ7XG4kcm91c3F1aWxsZS1iYW5uZXItbG9nby1oZWlnaHQ6ICRsb2dvLWhlaWdodCAhZGVmYXVsdDtcbiRyb3VzcXVpbGxlLWJhbm5lci1sb2dvLW1heC1oZWlnaHQ6IDVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBTZXJ2aWNlcyBCdXR0b25cbiRzZXJ2aWNlcy1idXR0b24tbW9iaWxlLW9mZnNldDogLjVyZW0gIWRlZmF1bHQ7XG4kc2VydmljZXMtYnV0dG9uLWRlc2t0b3Atb2Zmc2V0LWVuZDogMi41cmVtICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJ1dHRvbi1mb290ZXItcGFkZGluZy1ib3R0b206IDQuNXJlbSAhZGVmYXVsdDtcbiRzZXJ2aWNlcy1idXR0b24tYmFjay10by10b3Atb2Zmc2V0LWJvdHRvbTogJHNlcnZpY2VzLWJ1dHRvbi1mb290ZXItcGFkZGluZy1ib3R0b20gKyAxcmVtICFkZWZhdWx0O1xuXG4vLy0tLS0gU3dpcGVyXG4kc3dpcGVyLXRoZW1lLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcbiRzd2lwZXItbmF2aWdhdGlvbi1zaXplOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy0tLSBUcmFuc3BhcmVudCBIZWFkZXJcbiR0cmFuc3BhcmVudC1oZWFkZXItYmctY29sb3I6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICRncmF5LTcwMCwgdHJhbnNwYXJlbnQpICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWhlYWRlci10ZXh0LWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWhlYWRlci1zaGFkb3ctY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLXNoYWRvdy1yYWRpdXM6IC4xMjVyZW0gIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLWxvZ28tY29sb3I6ICR0cmFuc3BhcmVudC1oZWFkZXItdGV4dC1jb2xvciAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1oZWFkZXItbG9nby1zaGFkb3ctY29sb3I6ICR0cmFuc3BhcmVudC1oZWFkZXItc2hhZG93LWNvbG9yICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWhlYWRlci1sb2dvLXNoYWRvdy1yYWRpdXM6ICR0cmFuc3BhcmVudC1oZWFkZXItc2hhZG93LXJhZGl1cyAhZGVmYXVsdDtcblxuLy8tLS0tIFdoYXRzYXBwIEJ1dHRvblxuJHdoYXRzYXBwLWJ1dHRvbi1iZzogIzI1ZDM2NiAhZGVmYXVsdDtcbiR3aGF0c2FwcC1idXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR3aGF0c2FwcC1idXR0b24tb2Zmc2V0LXg6IDFyZW0gIWRlZmF1bHQ7XG4kd2hhdHNhcHAtYnV0dG9uLW9mZnNldC15OiAxcmVtICFkZWZhdWx0O1xuXG4vLy0tLS0gSW1hZ2UgR2FsbGVyeVxuLy8gXCJvdmVybGF5XCIsIFwiZGVmYXVsdC1vcGFjaXR5XCIsIFwiaG92ZXItb3BhY2l0eVwiLCBcImN1c3RvbVwiXG4kaW1hZ2UtZ2FsbGVyeS1hbmltYXRpb24tdHlwZTogXCJvdmVybGF5XCIgIWRlZmF1bHQ7XG5cbi8vLS0tIE9wYWNpdHlcbiRpbWFnZS1nYWxsZXJ5LWltYWdlLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xuXG4vLy0tLSBPdmVybGF5XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1vcGFjaXR5OiAuMTUgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWJhY2tkcm9wLWZpbHRlcjogc2F0dXJhdGUoMTI1JSkgY29udHJhc3QoMTI1JSkgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSguNSkgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb246ICRmYS12YXItc2VhcmNoLXBsdXMgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb24tc3R5bGU6IFwicmVndWxhclwiICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uLW9wYWNpdHk6IC44NSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi10ZXh0LXNoYWRvdzogMCAwIC4xMjVyZW0gcmdiYShibGFjaywgLjc1KSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEuNXJlbSkgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWltYWdlLW9mZnNldDogLjEgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWltYWdlLXNjYWxlOiAxICsgJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pbWFnZS1vZmZzZXQgIWRlZmF1bHQ7XG5cbi8vLS0tLSBMZWFmbGV0IE1hcFxuJG1hcC1tYXJrZXItY29sb3ItZGVmYXVsdDogdmFyKC0tYnMtc2Vjb25kYXJ5KSAhZGVmYXVsdDtcbiRtYXAtbWFya2VyLWNvbG9yLWxvYWRpbmc6IGdyYXkgIWRlZmF1bHQ7XG4kbWFwLW1hcmtlci1jb2xvci1hY3RpdmU6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy0tLS0gTWFzb25yeVxuJG1hc29ucnktZ2FsbGVyeS1nYXA6IC43NXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tIFdvb0NvbW1lcmNlIFNlYXJjaCBPdmVybGF5XG4kc2VhcmNoLW92ZXJsYXktYmctY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNlYXJjaC1vdmVybGF5LWJnLW9wYWNpdHk6IC4yNSAhZGVmYXVsdDtcbiRzZWFyY2gtb3ZlcmxheS1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoLjEyNXJlbSkgIWRlZmF1bHQ7XG4kc2VhcmNoLW92ZXJsYXktZm9ybS1mb250LXNpemU6IC45cmVtICFkZWZhdWx0O1xuJHNlYXJjaC1vdmVybGF5LWZvcm0tYm9yZGVyLXJhZGl1czogLjI1cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0gV29vQ29tbWVyY2UgUmV2aWV3IGZvcm1cbiR3b29jb21tZXJjZS1yZXZpZXctZm9ybS1zdGFycy1mb250c2l6ZTogMnJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gR3V0ZW5iZXJnIGJsb2Nrc1xuLy8tLS0tLSBSYW5rIE1hdGhcbi8vLS0tLSBGQVFcbiRyYW5rLW1hdGgtZmFxLXVzZS1sZWdhY3ktc3R5bGVzOiB0cnVlICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLWJveC1zaGFkb3c6IDAgLjVyZW0gLjVyZW0gLS4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtYm9yZGVyLXJhZGl1czogbWFwLWdldCgkc3BhY2VycywgMSkgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1ib3JkZXItY29sb3I6ICRncmF5LTIwMCAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLWJvcmRlcjogMXB4IHNvbGlkICRyYW5rLW1hdGgtZmFxLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLWl0ZW0tcGFkZGluZzogbWFwLWdldCgkc3BhY2VycywgMykgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1nYXA6IG1hcC1nZXQoJHNwYWNlcnMsIDIpICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24tcGFkZGluZy1ib3R0b206ICRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWdhcCAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWJvcmRlci1jb2xvcjogJHJhbmstbWF0aC1mYXEtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24tYm9yZGVyLWJvdHRvbTogJHJhbmstbWF0aC1mYXEtYm9yZGVyICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24taWNvbjogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1pY29uLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24taWNvbi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1pY29uLW9mZnNldC10b3A6IC4ycmVtICFkZWZhdWx0O1xuXG4vLy0tLS0gSW1hZ2VcbiRndXRlbmJlcmctaW1hZ2UtcmF0aW9zOiAoXCIxXCIsIFwiNC8zXCIsIFwiMy80XCIsIFwiMy8yXCIsIFwiMi8zXCIsIFwiMTYvOVwiLCBcIjkvMTZcIikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEZvbnRzIG9wdGltaXphdGlvblxuLy8tLS0tLSBGb250QXdlc29tZSBpY29uc1xuJGZvbnQtZmEtcHJvOiBcIkZvbnQgQXdlc29tZSA2IFByb1wiO1xuJGZvbnQtZmEtYnJhbmRzOiBcIkZvbnQgQXdlc29tZSA2IEJyYW5kc1wiO1xuLy8gc2VlIC4uL3ZlbmRvcnMvX2ZvbnRhd2Vzb21lLnNjc3MgZm9yIGljb25zIHByb2Nlc3Npbmdcbi8vIHNlZSAuLi92ZW5kb3JzL19mb250YXdlc29tZS1pY29ucy5zY3NzIGZvciBhdmFpbGFibGUgaWNvbnMgJiBpY29ucyBncm91cHNcbi8vICRjdXN0b20tdXNlZC1mYS1pY29uczogKGZvbnQtYXdlc29tZS1mbGFnOiAkZmEtdmFyLWZvbnQtYXdlc29tZS1mbGFnLCBwbHVzOiAkZmEtdmFyLXBsdXMpO1xuJGN1c3RvbS11c2VkLWZhLWljb25zOiAoKSAhZGVmYXVsdDtcbi8vICR1c2VkLWZhLWljb25zLWdyb3VwczogKGFjY29tbW9kYXRpb25zLCB3b29jb21tZXJjZSk7XG4kdXNlZC1mYS1pY29ucy1ncm91cHM6ICgpICFkZWZhdWx0O1xuXG4vLy0tLS0tIEljb25zIGxpc3RcbiRhbHBoYS1mYS1pY29ucy1saXN0OiAoKSAhZGVmYXVsdDtcbiRhbHBoYS1mYS1pY29ucy1saXN0LWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcbiRhbHBoYS1mYS1pY29ucy1saXN0LXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRhbHBoYS1mYS1pY29ucy1saXN0LWNvbG9yczogKCkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIFNsaWNrXG4kc2xpY2stZm9udC1wYXRoOiBcIn5zbGljay1jYXJvdXNlbC9zbGljay9mb250cy9cIjtcbiRzbGljay1mb250LWZhbWlseTogJGZvbnQtZmEtcHJvO1xuXG4vLy0tLS0tLSBDRjcgRWZmZWN0XG4kY29sb3ItZm9ybS10ZXh0OiB2YXIoLS1icy1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRjb2xvci1mb3JtLWZpbGxlZDogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG4kY29sb3ItZm9ybS1maWVsZC1ib3JkZXI6IHZhcigtLWJzLWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLW1hcmdpbi1ib3R0b206IDJyZW0gIWRlZmF1bHQ7XG4kZm9ybS1ndXR0ZXI6IC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWd1dHRlci1sZWZ0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemUtZmlsbGVkOiAuN3JlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1uby1hbmltLW1hcmdpbi10b3A6IC41cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtbm8tYW5pbS10cmFuc2xhdGU6IC0uMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1lcnJvci1mb250LXNpemU6IC45cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBCb290c3RyYXAgUmVzcG9uc2l2ZSBJbWFnZSBSYXRpb1xuLy8gbXVzdCBiZSBhIGxpc3Qgb2YgcmF0aW9zIGZvcm1hdHRlZCBsaWtlIHRoaXM6ICgxIDEpLCAoNCAzKSwgKDMgMiksICgxNiA5KSwgKDIxIDkpXG4kbWVkaWEtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbiIsIi8vIGZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gZmEtY29udGVudDogY29udmVuaWVuY2UgZnVuY3Rpb24gdXNlZCB0byBzZXQgY29udGVudCBwcm9wZXJ0eVxuQGZ1bmN0aW9uIGZhLWNvbnRlbnQoJGZhLXZhcikge1xuICBAcmV0dXJuIHVucXVvdGUoXCJcXFwiI3sgJGZhLXZhciB9XFxcIlwiKTtcbn1cblxuLy8gZmEtZGl2aWRlOiBPcmlnaW5hbGx5IG9idGFpbmVkIGZyb20gdGhlIEJvb3RzdHJhcCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXBcbi8vXG4vLyBMaWNlbnNlZCB1bmRlcjogVGhlIE1JVCBMaWNlbnNlIChNSVQpXG4vL1xuLy8gQ29weXJpZ2h0IChjKSAyMDExLTIwMjEgVHdpdHRlciwgSW5jLlxuLy8gQ29weXJpZ2h0IChjKSAyMDExLTIwMjEgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuQGZ1bmN0aW9uIGZhLWRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICAkcXVvdGllbnQ6IDA7XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAxIHtcbiAgICBAcmV0dXJuICRkaXZpZGVuZDtcbiAgfVxuICBAd2hpbGUgJHJlbWFpbmRlciA+PSAkZGl2aXNvciB7XG4gICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgfVxuICBAaWYgJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPiAwIHtcbiAgICAkcmVtYWluZGVyOiBmYS1kaXZpZGUoJHJlbWFpbmRlciAqIDEwLCAkZGl2aXNvciwgJHByZWNpc2lvbiAtIDEpICogLjE7XG4gIH1cbiAgQHJldHVybiAoJHF1b3RpZW50ICsgJHJlbWFpbmRlcikgKiAkc2lnbjtcbn1cbiIsIi8vIFZvY2FidWxhaXJlIGRlIHNlY3Rpb25zIGRlcyBwYWdlcyBHdXRlbmJlcmcsIGTDqWNsaW7DqSBkZSBsYSBob21lLlxuLy9cbi8vIExlIGNsaWVudCBhc3NlbWJsZSBkYW5zIGwnw6lkaXRldXIgZGVzIGdyb3VwZXMgbmF0aWZzIHF1aSBwb3J0ZW50IGNlcyBjbGFzc2VzIChjaGFtcCDCqyBDbGFzc2VzXG4vLyBDU1MgYWRkaXRpb25uZWxsZXMgwrspIDsgbGVzIHZhbGV1cnMgc29udCBjZWxsZXMgZGVzIHNlY3Rpb25zIGRlIGwnYWNjdWVpbCwgcmVsZXbDqWVzIHN1ciBsYVxuLy8gbWFxdWV0dGUgVjIgKGRvY3MvMDggZHUgd2Vic2l0ZSkuIEF1Y3VuZSBjb3VsZXVyIGVuIGR1ciA6IGxlcyBqZXRvbnMgZGUgYWJzdHJhY3RzL19tYXF1ZXR0ZS5zY3NzLlxuLy9cbi8vICAgLmFxdWEtc2VjdGlvbiBbLmFxdWEtc2VjdGlvbi1ncmlzIHwgLmFxdWEtc2VjdGlvbi1pY2VdIC5mdWxsLXdpZHRoICAgbGEgYmFuZGUsIHNvbiBmb25kXG4vLyAgICAgLmFxdWEtc2VjdGlvbi1pbm5lciAuY29udGFpbmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUyMCBweCwgZ291dHRpw6hyZVxuLy8gICAgICAgcC5hcXVhLXN1cnRpdHJlICsgaDIuYXF1YS10aXRyZS1zZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHMvX3RpdHJlcy5zY3NzXG4vLyAgICAgICAuYXF1YS1kdW8gKGNvbG9ubmVzKSA+IGZpZ3VyZS5hcXVhLWNhZHJlICsgZGl2ICAgICAgICAgICAgICAgICAgICAgcGhvdG8gKyB0ZXh0ZSwgY29tbWUgbGUgYmxvYyBSU0Vcbi8vICAgICAgIC5hcXVhLWNhcnRlcy5hcXVhLWdyaWxsZSA+IC5hcXVhLWNhcnRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlcy9wYWdlL19jYXJ0ZXMuc2Nzc1xuLy8gICAgICAgLmFxdWEtZnJpc2UtcGlzdGUgPiAuYXF1YS1mcmlzZS1ldGFwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VzL3BhZ2UvX2ZyaXNlLnNjc3NcblxuLmFxdWEtc2VjdGlvbiB7XG4gIHBhZGRpbmctYmxvY2s6IGNsYW1wKDY0cHgsIDd2dywgMTA0cHgpO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG59XG5cbi5hcXVhLXNlY3Rpb24tZ3JpcyB7XG4gIGJhY2tncm91bmQ6ICRhcXVhLWdyaXM7XG59XG5cbi5hcXVhLXNlY3Rpb24taWNlIHtcbiAgYmFja2dyb3VuZDogJGFxdWEtaWNlO1xufVxuXG4vLyBMZSBjb250ZW5ldXIgOiBsYXJnZXVyIGRlIGxhIG1hcXVldHRlIGV0IG5vbiBjZWxsZSBkZSBsYSBncmlsbGUgQm9vdHN0cmFwLiBMYSB2YWxldXIgcGFzc2Vcbi8vIHBhciBsYSBWQVJJQUJMRSwgYC5jb250YWluZXJgIMOpdGFudCBkw6ljbGFyw6kgZW4gYCFpbXBvcnRhbnRgIHBhciBBbHBoYSAoZmljaGUgNDUpLlxuLmFxdWEtc2VjdGlvbiAuYXF1YS1zZWN0aW9uLWlubmVyLmNvbnRhaW5lciB7XG4gIC0tY29udGFpbmVyLW1heC13aWR0aDogI3skYXF1YS1tYXh9O1xuXG4gIHBhZGRpbmctaW5saW5lOiAkYXF1YS1ndXR0ZXI7XG59XG5cbi8vIFVuIGVuLXTDqnRlIGRlIHNlY3Rpb24gY2VudHLDqSA6IGxlIHN1cnRpdHJlIGV0IGxlIHRpdHJlIGF1IGNlbnRyZSwgbGUgdGl0cmUgw6Agc2EgbGFyZ2V1ciBkZVxuLy8gbGlnbmUgZGUgbGEgbWFxdWV0dGUuXG4uYXF1YS1zZWN0aW9uLWNlbnRyZSB7XG4gIC5hcXVhLXN1cnRpdHJlLFxuICAuYXF1YS10aXRyZS1zZWN0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuYXF1YS10aXRyZS1zZWN0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDIyY2g7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxufVxuXG4vLyBMZSBsaWVuIGRlIGJhcyBkZSBzZWN0aW9uICjCqyBDb29yZG9ubsOpZXMgZXQgcGxhbnMgZCdhY2PDqHMgwrspIDogbGUgbGllbiBzb3VsaWduw6kgZHUgYmxvYyBSU0Vcbi8vIChjb21wb25lbnRzL19lbmdhZ2VtZW50cy5zY3NzLCBgLmFxdWEtcnNlLWxpZW5gKSwgc2FucyBzb24gaWPDtG5lLlxuLmFxdWEtc2VjdGlvbi1saWVuIHtcbiAgbWFyZ2luOiBjbGFtcCgyNHB4LCAzdncsIDM2cHgpIDAgMDtcbn1cblxuLmFxdWEtc2VjdGlvbi1jZW50cmUgLmFxdWEtc2VjdGlvbi1saWVuLFxuLmFxdWEtc2VjdGlvbi1jZW50cmUgLmFxdWEtdGV4dGUtY2VudHJlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBEZXV4IGNsYXNzZXMgOiBgLmFxdWEtdGV4dGVgLCBkw6ljbGFyw6kgcGx1cyBiYXMsIHJlbWV0IGxhIG1hcmdlIGxhdMOpcmFsZSDDoCB6w6lybyBldCBnYWduYWl0XG4vLyBsJ29yZHJlIGRlIGxhIGNhc2NhZGUgOyBsZSBwYXJhZ3JhcGhlIGNlbnRyw6kgcmVzdGFpdCBjYWzDqSDDoCBnYXVjaGUgKEZBUSwgbGl2cmFpc29uIGR1IDI1LzA5KS5cbi5hcXVhLXRleHRlLWNlbnRyZSxcbi5hcXVhLXRleHRlLmFxdWEtdGV4dGUtY2VudHJlIHtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbn1cblxuLmFxdWEtbGllbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJzLWJvZHktZm9udC1mYW1pbHkpO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGFxdWEtZXllYnJvdztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGFxdWEtYmxldTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMTgwbXMgJGFxdWEtZWFzZSwgYm9yZGVyLWNvbG9yIDE4MG1zICRhcXVhLWVhc2U7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogJGFxdWEtaW5rO1xuICAgIGJvcmRlci1jb2xvcjogJGFxdWEtaW5rO1xuICB9XG59XG5cbi8vIC0tLSBUZXh0ZSBjb3VyYW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTGUgY2hhcMO0IGV0IGxlcyBwYXJhZ3JhcGhlcyBkJ3VuZSBzZWN0aW9uIDogbGUgY29ycHMgZGUgbGEgbWFxdWV0dGUgKDE3IHB4LCAxLDYsIHRleHRlIGRvdXgpLlxuLmFxdWEtdGV4dGUge1xuICBtYXgtd2lkdGg6IDYwY2g7XG4gIG1hcmdpbjogMCAwIDE4cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1icy1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogJGFxdWEtdGV4dGUtZG91eDtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRhcXVhLWluaztcbiAgfVxufVxuXG4vLyBMaXN0ZSDDoCBjb2NoZXMgOiBsYSBjb2NoZSBlc3QgdW4gU1ZHIGVuIGZvbmQsIHBhcyB1bmUgaWPDtG5lIEZvbnRBd2Vzb21lIChBbHBoYSBuZSBjb21waWxlIHF1ZVxuLy8gbGVzIGljw7RuZXMgZMOpY2xhcsOpZXMsIGZpY2hlIDQ5LCBldCB1bmUgbGlzdGUgR3V0ZW5iZXJnIG5lIHBldXQgcGFzIGVuIHBvcnRlcikuXG4uYXF1YS1saXN0ZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDE4cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tYnMtYm9keS1mb250LWZhbWlseSk7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgIGNvbG9yOiAkYXF1YS1ib2R5O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQ6ICRhcXVhLWljZSB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzBFNUE4NScgc3Ryb2tlLXdpZHRoPSczJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNNSAxMmw1IDVMMjAgNycvJTNFJTNDL3N2ZyUzRVwiKSBjZW50ZXIgLyAxMXB4IDExcHggbm8tcmVwZWF0O1xuICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgfVxuICB9XG59XG5cbi8vIC0tLSBEdW8gcGhvdG8gKyB0ZXh0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMZXMgcHJvcG9ydGlvbnMgZHUgYmxvYyBSU0UgZGUgbGEgbWFxdWV0dGUgOiA1ZnIgLyA2ZnIgYXUtZGVsw6AgZGUgNzYwIHB4LCB1bmUgY29sb25uZSBlblxuLy8gZGVzc291cywgY29sb25uZXMgY2VudHLDqWVzIHZlcnRpY2FsZW1lbnQuIExlIGJsb2MgwqsgQ29sb25uZXMgwrsgZGUgR3V0ZW5iZXJnIG4nYSBwYXMgZGUgc3R5bGVcbi8vIHByb3ByZSAoQWxwaGEgcmV0aXJlIGxhIGZldWlsbGUgZGVzIGJsb2NzIG5hdGlmcyksIGxhIGdyaWxsZSBzZSBwb3NlIGljaS5cbi5hcXVhLWR1byB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gIGdhcDogY2xhbXAoMzJweCwgNHZ3LCA2NHB4KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICA+ICoge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNWZyIDZmcjtcblxuICAgICYuYXF1YS1kdW8taW52ZXJzZSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDZmciA1ZnI7XG4gICAgfVxuICB9XG59XG5cbi8vIExlIHRpdHJlIGQndW4gZHVvIDogY2VsdWkgZHUgYmxvYyBSU0UgKDQ0IHB4LCBpbnRlcmxldHRyYWdlIHNlcnLDqSkuXG4uYXF1YS10aXRyZS1kdW8ge1xuICBtYXJnaW46IDAgMCAxNHB4O1xuICBmb250LXNpemU6IGNsYW1wKDMwcHgsIDN2dywgNDRweCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjEyO1xuICBjb2xvcjogJGFxdWEtaW5rO1xuICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xufVxuXG4vLyBMYSBwaG90byBlbmNhZHLDqWUgZHUgYmxvYyBSU0UsIHBvdXIgdW5lIGltYWdlIEd1dGVuYmVyZyAoYGZpZ3VyZS53cC1ibG9jay1pbWFnZWApLlxuLmFxdWEtY2FkcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogY2xhbXAoMjgwcHgsIDQwdncsIDQ2MHB4KTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAkYXF1YS1pY2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOGU3ZjA7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoNiwgMzUsIDUyLCAuMSk7XG5cbiAgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbi8vIC0tLSBQcm9zZSBsaWJyZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2UgcXVlIGxlIGNsaWVudCDDqWNyaXQgZGFucyBsJ8OpZGl0ZXVyIFNBTlMgY2xhc3NlIChwYXJhZ3JhcGhlcywgbGlzdGVzLCB0aXRyZXMpIDogbGUgcsOpY2l0XG4vLyBkJ3VuZSBmaWNoZSByw6lhbGlzYXRpb24sIHVuIGNvcnBzIGRlIHRleHRlIGRlIHBhZ2UuIENoYXF1ZSBiYWxpc2UgcmXDp29pdCBsZSBzdHlsZSBkZSBzb25cbi8vIMOpcXVpdmFsZW50IGR1IHZvY2FidWxhaXJlLCBwb3VyIHF1J3VuIHRleHRlIG51IHJlc3RlIGRhbnMgbGUgcnl0aG1lIGRlIGxhIG1hcXVldHRlLlxuLmFxdWEtcHJvc2Uge1xuICBtaW4td2lkdGg6IDA7XG5cbiAgPiBwIHtcbiAgICBAZXh0ZW5kIC5hcXVhLXRleHRlO1xuICB9XG5cbiAgPiB1bCB7XG4gICAgQGV4dGVuZCAuYXF1YS1saXN0ZTtcbiAgfVxuXG4gID4gaDIge1xuICAgIG1hcmdpbjogMjhweCAwIDE0cHg7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyNHB4LCAyLjR2dywgMzJweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xODtcbiAgICBjb2xvcjogJGFxdWEtaW5rO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAxNWVtO1xuICB9XG5cbiAgPiBoMyB7XG4gICAgbWFyZ2luOiAyMnB4IDAgMTBweDtcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6ICRhcXVhLWluaztcbiAgfVxuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi8vIFVuIGR1byBkb250IGxlcyBkZXV4IGNvbG9ubmVzIHMnYWxpZ25lbnQgZW4gaGF1dCBwbHV0w7R0IHF1J2F1IGNlbnRyZSAocsOpY2l0ICsgcmVww6hyZXMpLlxuLmFxdWEtZHVvLWhhdXQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLy8gTGUgZHVvIMKrIGZvcm11bGFpcmUsIGNvb3Jkb25uw6llcyDCuyBkZSBsYSBwYWdlIENvbnRhY3QgOiB1bmUgY29sb25uZSBzb3VzIGxnLiDDgCA3NjggcHgsIGxlXG4vLyBmb3JtdWxhaXJlIHRlbmFpdCBkYW5zIDMxNCBweCwgc2VzIGNoYW1wcyBkYW5zIDE0NywgZXQgbGUgYm91dG9uIGQnZW52b2kgw6l0YWl0IGNvdXDDqS5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAuYXF1YS1kdW86aGFzKD4gLmFxdWEtZm9ybXVsYWlyZSkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gIH1cbn1cblxuLy8gVW5lIGFkcmVzc2UgZS1tYWlsIG5lIHNlIGNvdXBlIHBhcyA6IGVsbGUgcGFzc2Ugw6AgbGEgbGlnbmUgZGFucyBzYSBjYXJ0ZS5cbi5hcXVhLWNvb3Jkb25uZWVzIC5hcXVhLWNhcnRlLXRpdHJlIHtcbiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi8vIFVuIGR1byDDoCBkZXV4IGNvbG9ubmVzIMOpZ2FsZXMgOiBkZXV4IHF1ZXN0aW9ucyBjw7R0ZSDDoCBjw7R0ZSBzdXIgdW5lIHBhZ2UgZGUgcHJlc3RhdGlvbi5cbi5hcXVhLWR1by1lZ2FsIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG59XG5cbi8vIExlcyByZXDDqHJlcyBkJ3VuZSBmaWNoZSByw6lhbGlzYXRpb24gOiBkZXMgY2FydGVzIMOgIGRldXggbGlnbmVzLCBzYW5zIHRleHRlLlxuLmFxdWEtcmVwZXJlcyAuYXF1YS1jYXJ0ZS10aXRyZSB7XG4gIGZvbnQtc2l6ZTogMTlweDtcbn1cblxuLy8gTGEgZ2FsZXJpZSBkJ3VuZSBmaWNoZSByw6lhbGlzYXRpb24gOiBkZXMgcGhvdG9zIGVuY2FkcsOpZXMsIGRldXggcGFyIHJhbmfDqWUgZMOocyA3NjAgcHguXG4uYXF1YS1nYWxlcmllIHtcbiAgLS1hcXVhLWNvbHM6IDE7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS1hcXVhLWNvbHM6IDI7XG4gIH1cblxuICAuYXF1YS1jYWRyZSB7XG4gICAgaGVpZ2h0OiBjbGFtcCgyNDBweCwgMzJ2dywgNDIwcHgpO1xuICB9XG59XG5cbi8vIExhIGNhcnRlIGRlIEZyYW5jZSBkZSBsYSBwYWdlIENvbnRhY3QgKGxlIFBORyBkdSBwaWVkIGRlIHBhZ2UpIDogZW50acOocmUsIHN1ciBmb25kIGdsYWPDqSxcbi8vIGzDoCBvw7kgbGUgY2FkcmUgcmVjYWRyZSB1bmUgcGhvdG8uXG4uYXF1YS1jYWRyZS1jYXJ0ZSB7XG4gIGhlaWdodDogYXV0bztcbiAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcblxuICBpbWcge1xuICAgIHBhZGRpbmc6IGNsYW1wKDE2cHgsIDJ2dywgMzJweCk7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgfVxufVxuXG4vLyBMZXMgY29vcmRvbm7DqWVzIGRlIGxhIHBhZ2UgQ29udGFjdCA6IHF1YXRyZSBjYXJ0ZXMgY291cnRlcywgYWxpZ27DqWVzIGVuIGhhdXQgZHUgZm9ybXVsYWlyZS5cbi5hcXVhLWNvb3Jkb25uZWVzIHtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG59XG4iLCLvu78vLy0tLS0tLSBCb290c3RyYXBcbi8vLS0tLS0gQ29sb3Igc3lzdGVtXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmxhY2s6ICMwMDA7XG4kd2hpdGU6ICNmZmY7XG4kZ3JheS03MDA6ICM0OTUwNTc7XG4vLyAkZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJHByaW1hcnksICRzZWNvbmRhcnkpO1xuLy8gJGJvZHktY29sb3ItZGFyazogJHdoaXRlO1xuLy8gJHRoZW1lLWNvbG9yczogKGJsYWNrOiAkYmxhY2spO1xuXG4vLy0tLS0tIEJ1dHRvbnNcbi8vICRidG4tYm9yZGVyLXJhZGl1czogMDtcbi8vICRidG4tZm9udC1zaXplOiAxLjEyNXJlbTtcbi8vICRidG4tZm9udC13ZWlnaHQ6IDQwMDtcbi8vICRpbnB1dC1idG4tcGFkZGluZy15OiAuNzVyZW07XG4vLyAkaW5wdXQtYnRuLXBhZGRpbmcteDogMS4yNXJlbTtcblxuLy8tLS0tLSBDb21wb25lbnRzXG4vLyAkYm9yZGVyLXJhZGl1czogLjVyZW07XG4vLyAkYm9yZGVyLXJhZGl1cy1zbTogLjI1cmVtO1xuLy8gJGJvcmRlci1yYWRpdXMtbGc6IC42MjVyZW07XG4vLyAkYm9yZGVyLXJhZGl1cy14bDogMXJlbTtcbi8vICRib3JkZXItcmFkaXVzLXh4bDogMnJlbTtcbi8vICRib3gtc2hhZG93OiAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSk7XG4vLyAkYm94LXNoYWRvdy1zbTogMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSk7XG4vLyAkYm94LXNoYWRvdy1sZzogMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpO1xuXG4vLy0tLS0tIExpbmtzXG4vLyAkbGluay1jb2xvcjogJHByaW1hcnk7XG4vLyAkbGluay1jb2xvci1kYXJrOiAkd2hpdGU7XG5cbi8vLS0tLS0gVHlwb2dyYXBoeVxuJGZvbnQtd2VpZ2h0LWJvbGRlcjogNzAwO1xuXG4vLy0tLS0tIENvbnRyYXN0XG4vLyAkbWluLWNvbnRyYXN0LXJhdGlvOiAzO1xuXG4vLy0tLS0tIE5hdmJhclxuLy8gJG5hdmJhci1pdGVtLW1hcmdpbi14OiBudWxsO1xuXG4vLy0tLS0tIE5hdnNcbi8vICRuYXYtbGluay1mb250LXNpemU6IG51bGw7XG4vLyAkbmF2LWxpbmstY29sb3I6ICRib2R5LWNvbG9yO1xuLy8gJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAkcHJpbWFyeTtcblxuLy8tLS0tLS0gV3AgQWxwaGFcbi8vLS0tLS0gVG9vbHNcbi8vICR0ZWFzZXM6IChcImdyaWRcIiwgXCJsaXN0XCIpO1xuXG4vLy0tLS0tIERhcmsgJiBsaWdodCB0aGVtZXNcbi8vICRkYXJrLWJnLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnLWRhcmspO1xuLy8gJGRhcmstdHh0LWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yLWRhcmspO1xuLy8gJGxpZ2h0LWJnLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbi8vICRsaWdodC10eHQtY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuXG4vLy0tLS0tIEZlYXR1cmVkIGltYWdlXG4vLyAkZmVhdHVyZWQtaW1hZ2UtaGVpZ2h0OiA1MHZoO1xuLy8gJGZlYXR1cmVkLWltYWdlLW92ZXJsYXktY29sb3I6ICRib2R5LWNvbG9yO1xuLy8gJGZlYXR1cmVkLWltYWdlLW92ZXJsYXktb3BhY2l0eTogLjE1O1xuXG4vLy0tLS0tIEhlYWRlclxuLy8gJGhlYWRlci1idG4taWNvbjogJGZhLXZhci1waG9uZTtcbi8vICRoZWFkZXItYnRuLWZhLXN0eWxlOiBcInNvbGlkXCI7XG4vLyAkaGVhZGVyLWJ0bi1zaG93LXRleHQtYnJlYWtwb2ludDogeHhsO1xuXG4vLy0tLS0tIEhvbWVcbi8vICRob21lLWZlYXR1cmVkLWltYWdlLWhlaWdodDogNTB2aDtcbi8vIEFscGhhIGZhaXQgQVBQQVJBw45UUkUgbGUgdGV4dGUgZHUgaGVybyBwdWlzIGxlIGxhaXNzZSDDoCBvcGFjaXR5IDAgdGFudCBxdWUgbGEgcGFnZSBuJ2EgcGFzXG4vLyBkw6lmaWzDqSAoYC5wYWdlLXNjcm9sbGVkYCkuIFN1ciB1biBoZXJvIGRlIHBsZWluZSBoYXV0ZXVyIHF1aSBwb3J0ZSBsZSBIMSBldCBsZXMgZGV1eCBhcHBlbHMgw6Bcbi8vIGwnYWN0aW9uLCBsZSB0aXRyZSBkaXNwYXJhaXNzYWl0IGRvbmMgYXUgYm91dCBkZSAxLDc1IHMuIExhIG1hcXVldHRlIG4nYSBhdWN1bmUgYW5pbWF0aW9uXG4vLyBkJ2VudHLDqWUgc3VyIGNlIHBhbm5lYXUgOiBvbiBkw6lzYWN0aXZlLlxuJGhvbWUtZmVhdHVyZWQtaW1hZ2UtdGV4dC10cmFuc2l0aW9uOiBmYWxzZTtcblxuLy8tLS0tLSBJY29ucyBsaXN0XG4vLyAkYWxwaGEtZmEtaWNvbnMtbGlzdDogKGFycm93LXJpZ2h0KTtcbi8vICRhbHBoYS1mYS1pY29ucy1saXN0LXN0eWxlOiByZWd1bGFyO1xuXG4vLy0tLS0tIExvZ29cbi8vICR0cmFuc3BhcmVudC1oZWFkZXItbG9nby1jb2xvcjogZmFsc2U7XG4vLyAkdHJhbnNwYXJlbnQtaGVhZGVyLWxvZ28tc2hhZG93LWNvbG9yOiBmYWxzZTtcblxuLy8tLS0tIFBhcmFsbGF4XG4vLyAkYXNwLW92ZXJsYXktYmctY29sb3I6ICRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LWNvbG9yO1xuLy8gJGFzcC1vdmVybGF5LWJnLW9wYWNpdHk6ICRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LW9wYWNpdHk7XG5cbi8vLS0tLSBSZXNwb25zaXZlIG1lZGlhcyB3aXRoIGZpeGVkIHJhdGlvXG4vLyAkbWVkaWEtcmF0aW9zOiAoKDEgMSksICg0IDMpLCAoMyAyKSwgKDE2IDkpLCAoMjEgOSkpO1xuXG4vLy0tLS0tLSBTaGFwZXNcbi8vICRzaGFwZXM6IChcInNxdWFyZVwiLCBcImNpcmNsZVwiKTtcblxuLy8tLS0tIFNpZGViYXJcbi8vICRzaWRlYmFyOiBmYWxzZTtcbi8vICRzaWRlYmFyLWJnLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAuMSk7XG5cbi8vLS0tLS0gU3VydGl0bGVcbi8vICRhbHBoYS1zdXJ0aXRsZS1jb2xvcjogJGJvZHktY29sb3I7XG4vLyAkYWxwaGEtc3VydGl0bGUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICRhbHBoYS1zdXJ0aXRsZS1mb250LXNpemU6IDIwcHg7XG4vLyAkYWxwaGEtc3VydGl0bGUtZm9udC1zaXplLWRlc2t0b3A6IDI1cHg7XG5cbi8vLS0tLS0gVG9wIGJhclxuLy8gTGEgbWFxdWV0dGUgZ2FyZGUgbGEgYmFycmUgaGF1dGUgKGTDqXBhbm5hZ2UsIGVzcGFjZSBjbGllbnQpIHN1ciB0YWJsZXR0ZSBldCBzdXIgbW9iaWxlIDsgbGVcbi8vIHBhcmVudCBsYSByZXBsaWUgcGFyIGTDqWZhdXQgZGFucyBsZSBtZW51IGJ1cmdlci4gU2EgaGF1dGV1ciBzb3VzIGxlIHBvaW50IGJ1cmVhdSBldCBsZVxuLy8gcGFubmVhdSBkdSBtZW51IHNvbnQgZGFucyBsYXlvdXQvaGVhZGVyLnNjc3MgKHBhc3NlIHJlc3BvbnNpdmUgZHUgMjAvMDkpLlxuJHRvcC1iYXItaGlkZS1vbi1tb2JpbGU6IGZhbHNlO1xuLy8gJHRvcC1iYXItaGlkZS1vbi1zY3JvbGwtbW9iaWxlOiB0cnVlO1xuLy8gJHRvcC1iYXItaGlkZS1vbi1zY3JvbGwtZGVza3RvcDogJHRvcC1iYXItaGlkZS1vbi1zY3JvbGwtbW9iaWxlO1xuLy8gTGUgcGFyZW50IHBlaW50IGxhIGJhcnJlIGhhdXRlIGVuIGJsYW5jIGTDqHMgcXVlIGwnZW4tdMOqdGUgbidlc3QgcGx1cyB0cmFuc3BhcmVudCwgZG9uY1xuLy8gcGVuZGFudCBsZXMgMjYwIG1zIGRlIHNvbiByZXBsaSBhdSBkw6lmaWxlbWVudCA6IHVuIGxpc2Vyw6kgYmxhbmMgdHJhdmVyc2FpdCBsJ8OpY3Jhbi4gTGFcbi8vIG1hcXVldHRlIGxhIHZldXQgdHJhbnNwYXJlbnRlIHN1ciBsJ2FjY3VlaWwgOyBsZXMgcGFnZXMgaW50ZXJuZXMgbHVpIGRvbm5lbnQgbGV1ciBibGV1XG4vLyBkYW5zIGxheW91dC9oZWFkZXIuc2Nzcy5cbiR0b3AtYmFyLWRlZmF1bHQtYmctY29sb3I6IHRyYW5zcGFyZW50O1xuXG4vLy0tLS0tIFRyYW5zcGFyZW50IEhlYWRlclxuLy8gTGEgbWFxdWV0dGUgcG9zZSBsJ2VuLXTDqnRlIMOgIG3Dqm1lIGxlIGhlcm8sIHNhbnMgdm9pbGUgbmkgcmVsaWVmLiBMZSBtb2RlIHRyYW5zcGFyZW50IGR1XG4vLyBwYXJlbnQsIGx1aSwgcHLDqXZvaXQgcGFyIGTDqWZhdXQgdW4gZMOpZ3JhZMOpIGdyaXMgc3VyIHRvdXRlIGxhIGhhdXRldXIgZGUgbCdlbi10w6p0ZSwgdW5lXG4vLyBvbWJyZSBwb3J0w6llIHN1ciBsZSB0ZXh0ZSBkZSBuYXZpZ2F0aW9uIGV0IHVuZSBhdXRyZSBzdXIgbGUgbG9nbyA6IGVuIGhhdXQgZGUgcGFnZSwgbGVcbi8vIG1lbnUgcGFyYWlzc2FpdCBncmFzIGV0IGZsb3UsIGV0IGxlIGNpZWwgZHUgaGVybyDDqXRhaXQgc2FsaS4gTGVzIHRyb2lzIHMnw6l0ZWlnbmVudCBpY2ksXG4vLyDDoCBsYSBjb21waWxhdGlvbiA7IGxlIG1vZHVsZSBsZXMgw6ltZXQgZW4gIWltcG9ydGFudCwgdW5lIHLDqGdsZSBwbHVzIHNww6ljaWZpcXVlIG4neSBwZXV0XG4vLyByaWVuIChmaWNoZXMgMzkgZXQgNTMpLlxuJHRyYW5zcGFyZW50LWhlYWRlci1iZy1jb2xvcjogdHJhbnNwYXJlbnQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLXNoYWRvdy1jb2xvcjogZmFsc2U7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLWxvZ28tc2hhZG93LWNvbG9yOiBmYWxzZTtcblxuLy8gLS0tLS0gWi1pbmRleFxuLy8gJGFscGhhLXotaW5kZXhlczogKDEsIDIpO1xuXG4vLy0tLS0tLSBBbHBoYSBtb2R1bGVzXG4vLy0tLS0tIEJhY2sgdG8gdG9wXG4vLyAkYmFjay10by10b3Atb2Zmc2V0LXk6IDUuNXJlbTtcbi8vICRiYWNrLXRvLXRvcC1vZmZzZXQteDogMS43NXJlbTtcblxuLy8tLS0tLSBNYXBcbi8vICRhbHBoYS1tYXAtZGVmYXVsdC1oZWlnaHQ6IDI1MHB4O1xuLy8gJGFscGhhLW1hcC1kZWZhdWx0LWhlaWdodC1sZzogJGFscGhhLW1hcC1kZWZhdWx0LWhlaWdodCAqIDI7XG5cbi8vLS0tLS0gUmF0aW5nXG4vLyAkYWxwaGEtcmF0aW5nLXN0YXItb24tY29sb3I6ICRwcmltYXJ5O1xuXG4vLy0tLS0tLSBHdXRlbmJlcmcgYmxvY2tzXG4vLy0tLS0tIFJhbmsgTWF0aFxuLy8tLS0tIEZBUVxuJHJhbmstbWF0aC1mYXEtdXNlLWxlZ2FjeS1zdHlsZXM6IGZhbHNlO1xuXG4vLy0tLS0tLSBGb250cyBvcHRpbWl6YXRpb25cbi8vLS0tLS0gRm9udEF3ZXNvbWUgSWNvbnNcbi8vIEFscGhhIG5lIGNvbXBpbGUgUVVFIGxlcyBpY8O0bmVzIGTDqWNsYXLDqWVzIGljaSA6IHVuZSBjbGFzc2UgYGZhLSpgIG5vbiBsaXN0w6llIHByb2R1aXQgdW5cbi8vIHBpY3RvZ3JhbW1lIGRlIGxhcmdldXIgbnVsbGUsIHNhbnMgbGEgbW9pbmRyZSBlcnJldXIuIFRvdXRlIGljw7RuZSBham91dMOpZSBkYW5zIHVuZVxuLy8gY29tcG9zaXRpb24gZG9pdCBkb25jIMOqdHJlIGFqb3V0w6llIMOgIGNldHRlIHRhYmxlICh2b2lyIGxhIGZpY2hlIMKrIGljw7RuZSBGb250QXdlc29tZVxuLy8gaW52aXNpYmxlIMK7IGRlIGRvY3MvMTEtYXBwcmVudGlzc2FnZXMubWQgZHUgZMOpcMO0dCB3ZWJzaXRlKS5cbkBpbXBvcnQgXCJ+QGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIn5AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtcHJvL3Njc3MvdmFyaWFibGVzXCI7XG5cbiRjdXN0b20tdXNlZC1mYS1pY29uczogKFxuICAvLyBCYW5kZWF1IGRlIHByZXV2ZXMgZGUgbGEgcGFnZSBkJ2FjY3VlaWxcbiAgYnVpbGRpbmc6ICRmYS12YXItYnVpbGRpbmcsXG4gIHVzZXJzOiAkZmEtdmFyLXVzZXJzLFxuICBsb2NhdGlvbi1kb3Q6ICRmYS12YXItbG9jYXRpb24tZG90LFxuICBjb21wYXNzLWRyYWZ0aW5nOiAkZmEtdmFyLWNvbXBhc3MtZHJhZnRpbmcsXG4gIHNoaWVsZC1jaGVjazogJGZhLXZhci1zaGllbGQtY2hlY2ssXG4gIC8vIEZsw6hjaGUgZGVzIGNhcnRlcyBkZSB0eXBvbG9naWVcbiAgYXJyb3ctcmlnaHQ6ICRmYS12YXItYXJyb3ctcmlnaHQsXG4gIC8vIEVuZ2FnZW1lbnRzIFJTRVxuICByZWN5Y2xlOiAkZmEtdmFyLXJlY3ljbGUsXG4gIGRyb3BsZXQ6ICRmYS12YXItZHJvcGxldCxcbiAgZmxhc2s6ICRmYS12YXItZmxhc2ssXG4gIHRydWNrOiAkZmEtdmFyLXRydWNrLFxuICAvLyBDYXJ0ZSBwcm9kdWl0IGR1IGNhdGFsb2d1ZVxuICBjYXJ0LXNob3BwaW5nOiAkZmEtdmFyLWNhcnQtc2hvcHBpbmcsXG4gIC8vIENhcnRlcyBtw6l0aWVyXG4gIHdyZW5jaDogJGZhLXZhci13cmVuY2gsXG4gIHdhcmVob3VzZTogJGZhLXZhci13YXJlaG91c2UsXG4gIC8vIENhcnRlIHZpZMOpb1xuICBwbGF5OiAkZmEtdmFyLXBsYXksXG4gIC8vIFBpbGllcnMgw6lkaXRvcmlhdXhcbiAgZmlsdGVyOiAkZmEtdmFyLWZpbHRlcixcbiAgZmlsZS1saW5lczogJGZhLXZhci1maWxlLWxpbmVzLFxuICAvLyBBcHBlbCDDoCBsJ2FjdGlvbiBmaW5hbFxuICBwaG9uZTogJGZhLXZhci1waG9uZSxcbiAgLy8gRG9jayBmbG90dGFudCAobGF5b3V0L2RvY2suc2NzcykgZXQgYmFycmUgaGF1dGUgOiByZWNydXRlbWVudCBldCBjb250YWN0IDsgTGlua2VkSW4gdmllbnRcbiAgLy8gZGVzIG1hcnF1ZXMuIExhIG1hbGxldHRlIGV0IG5vbiBsZSBwZXJzb25uYWdlIMKrICsgwrssIGx1IGNvbW1lIGxhIGNvbm5leGlvbiAobGl2cmFpc29uIGR1IDI1LzA5KVxuICBicmllZmNhc2U6ICRmYS12YXItYnJpZWZjYXNlLFxuICBlbnZlbG9wZTogJGZhLXZhci1lbnZlbG9wZSxcbiAgLy8gRmzDqGNoZXMgZGUgbmF2aWdhdGlvbiBkZXMgcGlzdGVzXG4gIGNoZXZyb24tbGVmdDogJGZhLXZhci1jaGV2cm9uLWxlZnQsXG4gIGNoZXZyb24tcmlnaHQ6ICRmYS12YXItY2hldnJvbi1yaWdodCxcbiAgLy8gRmljaGUgcHJvZHVpdCA6IGNvY2hlcyBkZXMgcHJldXZlcyBldCBkdSBwYW5uZWF1LCBwcsOpY2F1dGlvbnMsIG9uZ2xldHMgcmVwbGnDqXMsIGRvY3VtZW50cyxcbiAgLy8gZW5jYXJ0IGQnYWlkZSwgdmlzdWVsIG1hbnF1YW50LCBiw6luw6lmaWNlcyBkZSBsYSBmaWNoZSBkZSBkw6ltb25zdHJhdGlvblxuICBjaGVjazogJGZhLXZhci1jaGVjayxcbiAgdHJpYW5nbGUtZXhjbGFtYXRpb246ICRmYS12YXItdHJpYW5nbGUtZXhjbGFtYXRpb24sXG4gIGNoZXZyb24tZG93bjogJGZhLXZhci1jaGV2cm9uLWRvd24sXG4gIGFycm93LWRvd24tdG8tbGluZTogJGZhLXZhci1hcnJvdy1kb3duLXRvLWxpbmUsXG4gIGNpcmNsZS1xdWVzdGlvbjogJGZhLXZhci1jaXJjbGUtcXVlc3Rpb24sXG4gIHhtYXJrOiAkZmEtdmFyLXhtYXJrLFxuICBpbWFnZTogJGZhLXZhci1pbWFnZSxcbiAgYmFuOiAkZmEtdmFyLWJhbixcbiAgaG91c2U6ICRmYS12YXItaG91c2UsXG4gIGJveDogJGZhLXZhci1ib3gsXG4pO1xuXG4vLy0tLS0tLSBCb290c3RyYXAgUmVzcG9uc2l2ZSBJbWFnZSBSYXRpb1xuLy8gbXVzdCBiZSBhIGxpc3Qgb2YgcmF0aW9zIGZvcm1hdHRlZCBsaWtlIHRoaXM6ICgxIDEpLCAoNCAzKSwgKDMgMiksICgxNiA5KSwgKDIxIDkpXG4vLyAkbWVkaWEtcmF0aW9zOiAoKTtcbiIsIi8vIEpldG9ucyByZWxldsOpcyBkYW5zIGxhIG1hcXVldHRlIGR1IDE1LzA5LCBwYXJ0YWfDqXMgcGFyIHRvdXRlcyBsZXMgc2VjdGlvbnMuXG4vL1xuLy8gQ2UgZmljaGllciBleGlzdGUgcG91ciB1bmUgcmFpc29uIHByw6ljaXNlIDogYGxheW91dC9oZWFkZXIuc2Nzc2AgZXQgYGxheW91dC9mb290ZXIuc2Nzc2Bcbi8vIHJlZMOpZmluaXNzZW50IGNoYWN1biBsZSAxNTIwIHB4IGR1IGdhYmFyaXQgZXQgbCdlbmNyZSAjMDYyMzM0LCBldCBsYSB0cm9pc2nDqG1lIGNvcGllIGFsbGFpdFxuLy8gYXJyaXZlciBhdmVjIGxlIGhlcm8uIExlcyB2YWxldXJzIHZpdmVudCBkb25jIGljaSwgZXQgbGVzIG5vdXZlYXV4IHBhcnRpZWxzIHMneSByw6lmw6hyZW50LlxuLy9cbi8vIExlcyBkZXV4IGZpY2hpZXJzIGQnZW4tdMOqdGUgZXQgZGUgcGllZCBkZSBwYWdlIGdhcmRlbnQgcG91ciBsJ2luc3RhbnQgbGV1cnMgY29waWVzIDogbGVzXG4vLyByZXBsaWVyIG1haW50ZW5hbnQgcmV2aWVuZHJhaXQgw6AgbW9kaWZpZXIgZHUgY29kZSBhZGphY2VudCBldCBkw6lqw6AgbWVzdXLDqS4gw4AgZmFpcmUgcXVhbmRcbi8vIGwndW4gZGVzIGRldXggc2VyYSByb3V2ZXJ0LlxuLy9cbi8vIFRvdXRlcyBsZXMgdmFsZXVycyBzb250IENBTENVTMOJRVMgKGRvY3MvbWFxdWV0dGUvbWVzdXJlLnNoKSwgcGFzIGVzdGltw6llcy4gTmUgcGFzIGxlc1xuLy8gYXJyb25kaXIgOiBsZSBjb250csO0bGUgZGUgbm9uLXLDqWdyZXNzaW9uIGxlcyBjb21wYXJlIHVuZSDDoCB1bmUuXG5cbi8vIC0tLSBDb3VsZXVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYXF1YS1pbms6ICMwNjIzMzQ7IC8vIGVuY3JlIHByaW5jaXBhbGUgOiB0aXRyZXMsIHBpZWQgZGUgcGFnZVxuJGFxdWEtb3V0bGluZTogIzBhM2E1NzsgLy8gY29udG91ciBkZXMgYm91dG9ucyBmYW50w7RtZXNcbiRhcXVhLWV5ZWJyb3c6ICMwZTVhODU7IC8vIHN1cnRpdHJlcyBldCBtw6l0YSBzdXIgZm9uZCBjbGFpclxuJGFxdWEtYm9keTogIzMzNDE0ZDsgLy8gdGV4dGUgY291cmFudFxuJGFxdWEtdGV4dGUtZG91eDogIzVhNmI3YjsgLy8gY2hhcMO0cywgbGliZWxsw6lzIGRlIGNvbXB0ZXVyLCBkZXNjcmlwdGlvbnMgZGUgY2FydGVcbiRhcXVhLWJsZXU6ICMwMDllZTA7IC8vIGJsZXUgQXF1YXRlY2huaXF1ZSA6IHN1cnRpdHJlcywgcGljdG9ncmFtbWVzXG4kYXF1YS1pY2U6ICNlNmY1ZmQ7IC8vIGZvbmQgZ2xhY8OpIDogY2FydGVzIGRlIHR5cG9sb2dpZSwgYmFuZGVzIGFsdGVybsOpZXNcbiRhcXVhLWdyaXM6ICNmMmZhZmU7IC8vIGZvbmQgdHLDqHMgY2xhaXIgOiBiYW5kZXMgYWx0ZXJuw6llc1xuJGFxdWEtbGlnbmU6ICNkOGUwZTc7IC8vIGJvcmR1cmVzIGRlIGNhcnRlIGF1IHJlcG9zXG5cbi8vIC0tLSBHYWJhcml0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYXF1YS1tYXg6IDE1MjBweDsgLy8gbGFyZ2V1ciBtYXhpbWFsZSBkdSBjb250ZW51XG4kYXF1YS1ndXR0ZXI6IGNsYW1wKDIwcHgsIDN2dywgNDBweCk7IC8vIGdvdXR0acOocmUgbGF0w6lyYWxlXG4vLyBSZXNwaXJhdGlvbiB2ZXJ0aWNhbGUgZGVzIGdyYW5kZXMgc2VjdGlvbnMgZGUgbGEgaG9tZSAodHlwb2xvZ2llcywgY2F0YWxvZ3VlLCBtw6l0aWVycyxcbi8vIGFjY3JvY2hlcywgYmFzIGRlIGxhIHZpZMOpbywgYXJ0aWNsZXMpLiBMYSBtYXF1ZXR0ZSBtZXN1cmUgY2xhbXAoOTZweCwgMTB2dywgMTYwcHgpIDsgbGVcbi8vIGNsaWVudCBsYSB0cm91dmUgdHJvcCBsYXJnZSAoVGhvbWFzIFBpbmVhdSwgcHLDqS1saXZyYWlzb24gZHUgMjEvMDkpIDogcsOpZHVpdGUgZGUgMTUgJSwgdW5cbi8vIMOpY2FydCBhc3N1bcOpLCBpbnNjcml0IGRhbnMgbGUgdGFibGVhdSDCqyBWMiBzdXJjaGFyZ8OpZSDCuyBkZSBkb2NzLzA4IGR1IHdlYnNpdGUuXG4kYXF1YS1zZWN0aW9uLWJsb2NrOiBjbGFtcCg4MHB4LCA4LjV2dywgMTM2cHgpO1xuXG4vLyAtLS0gTW91dmVtZW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGFxdWEtZWFzZTogY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpO1xuXG4vLyAtLS0gQ291bGV1ciBkJ2FwcG9pbnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTGUgZMOpZ3JhZMOpIGV0IHNvbiBoYWxvIHNvbnQgZMOpcml2w6lzIGRlIGwnw6ltZXJhdWRlIHZhbGlkw6llIGxlIDE1LzA5LiBJbHMgcmVzdGVudCDDqWNyaXRzIGVuXG4vLyB2YXJpYWJsZXMgZXQgamFtYWlzIGVuIGR1ciBkYW5zIHVuZSBzZWN0aW9uIDogQW50b2luZSBhIGFubm9uY8OpIGF1IGNsaWVudCBsYSBwb3NzaWJpbGl0w6kgZGVcbi8vIGNoYW5nZXIgbGEgY291bGV1ciBwb3VyIGRlcyBvcMOpcmF0aW9ucyBzYWlzb25uacOocmVzIChkb2NzLzA4IGR1IHdlYnNpdGUpLlxuJGFxdWEtYWNjZW50OiAjMGI2ZTU1O1xuJGFxdWEtYWNjZW50LWhvdmVyOiAjMGY4YTZhO1xuJGFxdWEtYWNjZW50LWdyYWQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICRhcXVhLWFjY2VudCAwJSwgJGFxdWEtYWNjZW50LWhvdmVyIDEwMCUpO1xuJGFxdWEtYWNjZW50LWdsb3c6IDAgMTBweCAyOHB4IHJnYmEoMTEsIDExMCwgODUsIC4yOCk7XG5cbi8vIC0tLSBCYXNjdWxlIGNvbXBhY3RlIGRlIGxhIG1hcXVldHRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTGEgbWFxdWV0dGUgYmFzY3VsZSBlbiBkaXNwb3NpdGlvbiBjb21wYWN0ZSDDoCAxMTgwIHB4IChgY29tcGFjdCA9IHZ3IDwgMTE4MGApLiBBdWN1biBwb2ludFxuLy8gbm9tbcOpIGR1IHRow6htZSBuJ2VuY2FkcmUgY2V0dGUgdmFsZXVyIDogYGxnYCB2YXV0IDk5MiBweCBldCBiYXNjdWxlcmFpdCBkw6hzIGxlIHBvaW50IGRlXG4vLyBjb250csO0bGUgOTkyLCBgeGxgIHZhdXQgMTM2NiBweCBkYW5zIGBjb25maWcvZ3JpZC55YW1sYCBldCBsYWlzc2VyYWl0IGxlIHBvaW50IDEyMDAgZW5cbi8vIGNvbXBhY3QuIETDqXBsYWNlciBgeGxgIGTDqXBsYWNlcmFpdCBsYSBncmlsbGUgZGUgdG91dCBsZSBzaXRlIHBvdXIgdW5lIHNldWxlIHNlY3Rpb24gOiBvblxuLy8gbm9tbWUgZG9uYyBsZSBzZXVpbCBpY2kuIFRvdXRlcyBsZXMgc2VjdGlvbnMgcydlbiBzZXJ2ZW50IDogbGEgbWFxdWV0dGUgYmFzY3VsZSBzZXNcbi8vIGdyaWxsZXMgYXUgbcOqbWUgZW5kcm9pdCAoYHByb29mQ29sc2AsIGBzZWdDb2xzYCwgYGR1b0NvbHNg4oCmKS5cbiRhcXVhLWRlc2t0b3A6IDExODBweDtcbiIsIiR0aGVtZTogKCdjb2xvcnMnOiAoJ3ByaW1hcnknOiAjMEI2RTU1LCdzZWNvbmRhcnknOiAjMDA5RUUwLCdib2R5JzogIzMzNDE0RCwnYm9keV9iZyc6ICNmZmZmZmYsJ2hlYWRlcl9iZyc6ICNmZmZmZmYsJ2Zvb3Rlcl9iZyc6ICMwNjIzMzQsKSwnZGFyayc6IGZhbHNlLCdkYXJrX2NvbG9ycyc6ICgnYm9keSc6ICNmZmYsJ2JvZHlfYmcnOiAjMjEyNTI5LCdsaW5rJzogI2ZmZiwpLCdmYXZpY29uJzogKCdhdXRvX2dlbmVyYXRlZCc6IHRydWUsKSwnaGVyb19iYW5uZXInOiAoJ3ZlcnNpb24nOiAyLCdmdWxsX2hlaWdodCc6IHRydWUsJ292ZXJsYXlfY29sb3InOiBudWxsLCksJ2xvZ28nOiAoJ2hlaWdodCc6IFwiMy43NXJlbVwiLCksJ3RoZW1lX3NlbGVjdG9yJzogKCdsb2NhdGlvbic6IGZhbHNlLCd0eXBlJzogZmFsc2UsJ3Bvc2l0aW9uJzogZmFsc2UsKSwndHlwb2dyYXBoeSc6ICgnZm9udCc6ICgnZmFtaWx5X3NhbnNfc2VyaWYnOiBJbnRlciwnc2l6ZSc6IFwiMXJlbVwiLCd3ZWlnaHQnOiA0MDAsKSwnaGVhZGluZ3MnOiAoJ2NvbG9yJzogIzA2MjMzNCwnZm9udCc6ICgnZmFtaWx5JzogT3V0Zml0LCd3ZWlnaHQnOiA0MDAsKSwnc2l6ZXMnOiAoJ2gxJzogXCIyLjg3NXJlbVwiLCdoMic6IFwiMi41cmVtXCIsJ2gzJzogXCIxLjMxMjVyZW1cIiwnaDQnOiBcIjEuNXJlbVwiLCdoNSc6IFwiMS4yNXJlbVwiLCdoNic6IFwiMXJlbVwiLCksJ2hvbWVfc2l6ZXMnOiAoKSwpLCksJ3VpJzogKCdib3JkZXJfcmFkaXVzJzogcm91bmRlZCwpLCk7IiwiLy8gQ2FydGVzIGRlcyBwYWdlcyBHdXRlbmJlcmcgOiB1bmUgZ3JpbGxlIGRlIGNhcnRlcyBibGFuY2hlcyDDoCBjb2lucyByb25kcyAobGVzIHBpbGllcnMgZGVcbi8vIGwnZXNwcml0IEFxdWF0ZWNobmlxdWUsIGxlcyBhZ2VuY2VzLCBsZSBkw6l0YWlsIGRlcyBlbmdhZ2VtZW50cykuXG4vL1xuLy8gTGEgZ3JpbGxlIHZpZW50IGRlIGNvbXBvbmVudHMvX2dyaWxsZS5zY3NzIChgLmFxdWEtZ3JpbGxlYCwgcG9zw6llIHN1ciBsZSBtw6ptZSBncm91cGUpIDsgY2Vcbi8vIGZpY2hpZXIgbmUgcsOoZ2xlIHF1ZSBsZSBub21icmUgZGUgY29sb25uZXMgcGFyIHBhbGllciBldCBsYSBjYXJ0ZSBlbGxlLW3Dqm1lLiBMZXMgdmFsZXVycyBzb250XG4vLyBjZWxsZXMgZGVzIGNhcnRlcyBkZSBsYSBtYXF1ZXR0ZSAocmF5b24gMjQgcHgsIGZpbGV0ICNEOEUwRTcsIG9tYnJlIGR1IHNlZ21lbnQgYmxhbmMgYXVcbi8vIHN1cnZvbCwgbcOpdGEgZW4gY2FwaXRhbGVzIGJsZXVlcykuXG4vL1xuLy8gICAuYXF1YS1jYXJ0ZXMuYXF1YS1ncmlsbGUgWy5hcXVhLWNhcnRlcy0yIHwgLTMgfCAtNV1cbi8vICAgICAuYXF1YS1jYXJ0ZSA+IHAuYXF1YS1jYXJ0ZS1pbmRleCArIGgzLmFxdWEtY2FydGUtdGl0cmUgKyBwLmFxdWEtY2FydGUtdGV4dGVcblxuLmFxdWEtY2FydGVzIHtcbiAgLS1hcXVhLWNvbHM6IDE7XG4gIC0tYXF1YS1nYXA6ICN7Y2xhbXAoMTZweCwgMnZ3LCAyOHB4KX07XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS1hcXVhLWNvbHM6IDI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGFxdWEtZGVza3RvcCkge1xuICAgIC0tYXF1YS1jb2xzOiA0O1xuICB9XG59XG5cbi5hcXVhLWNhcnRlcy0yIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRhcXVhLWRlc2t0b3ApIHtcbiAgICAtLWFxdWEtY29sczogMjtcbiAgfVxufVxuXG4uYXF1YS1jYXJ0ZXMtMyB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYXF1YS1kZXNrdG9wKSB7XG4gICAgLS1hcXVhLWNvbHM6IDM7XG4gIH1cbn1cblxuLmFxdWEtY2FydGVzLTUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAtLWFxdWEtY29sczogMztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYXF1YS1kZXNrdG9wKSB7XG4gICAgLS1hcXVhLWNvbHM6IDU7XG4gIH1cbn1cblxuLmFxdWEtY2FydGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IGNsYW1wKDIycHgsIDIuNHZ3LCAzMHB4KTtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYXF1YS1saWduZTtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI0MG1zICRhcXVhLWVhc2UsIGJveC1zaGFkb3cgMjQwbXMgJGFxdWEtZWFzZSwgYm9yZGVyLWNvbG9yIDI0MG1zICRhcXVhLWVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzJlN2Y5O1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCA0OHB4IHJnYmEoNiwgMzUsIDUyLCAuMTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgfVxuXG4gID4gKiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8vIExlIG51bcOpcm8gb3UgbGEgbcOpdGEgZW4gdMOqdGUgZGUgY2FydGUgOiBsZSBzdHlsZSBkdSBzdXJ0aXRyZSwgZW4gcGx1cyBwZXRpdC5cbi5hcXVhLWNhcnRlLWluZGV4IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJzLWJvZHktZm9udC1mYW1pbHkpO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAkYXF1YS1ibGV1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLjE0ZW07XG59XG5cbi5hcXVhLWNhcnRlLXRpdHJlIHtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBjb2xvcjogJGFxdWEtaW5rO1xuICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xufVxuXG4uYXF1YS1jYXJ0ZS10ZXh0ZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1icy1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogJGFxdWEtdGV4dGUtZG91eDtcbn1cblxuLy8gTGEgbcOpdGEgc291cyBsZSB0aXRyZSAoZMOpcGFydGVtZW50IGQndW5lIGFnZW5jZSwgZGF0ZSkgOiBsYSBtw6l0YSBkZSBjYXJ0ZSBzdXIgZm9uZCBjbGFpci5cbi5hcXVhLWNhcnRlLW1ldGEge1xuICBmb250LWZhbWlseTogdmFyKC0tYnMtYm9keS1mb250LWZhbWlseSk7XG4gIGZvbnQtc2l6ZTogMTMuNXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogJGFxdWEtZXllYnJvdztcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmFxdWEtY2FydGUsXG4gIC5hcXVhLWNhcnRlOmhvdmVyIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRnJpc2UgY2hyb25vbG9naXF1ZSDCqyBOb3RyZSBoaXN0b2lyZSDCuyAocGFnZSBRdWkgc29tbWVzLW5vdXMpLlxuLy9cbi8vIEwnYW5jaWVuIHNpdGUgbCdhZmZpY2hhaXQgZW4gbGlzdGUgdmVydGljYWxlIGRlIGRhdGVzLiBJY2kgOiB1bmUgcGlzdGUgaG9yaXpvbnRhbGUgZGUgY2FydGVzXG4vLyBibGFuY2hlcyByZWxpw6llcyBwYXIgdW5lIGxpZ25lIGV0IHVuIHBvaW50IHBhciDDqXRhcGUsIHF1aSBzZSBmYWl0IGdsaXNzZXIgZXQgc2UgbmF2aWd1ZVxuLy8gZXhhY3RlbWVudCBjb21tZSBsZXMgcGlzdGVzIGRlIGxhIGhvbWUgKHB1Y2VzLCBmbMOoY2hlcywgZ2xpc3NlciDDoCBsYSBzb3VyaXMgOiBsZSBtw6ptZVxuLy8gY29tcG9zYW50LCBjb21wb25lbnRzL19waXN0ZS5zY3NzIGV0IGNvbXBvcnRlbWVudHMtYXF1YXRlY2guanMpLiBTb3VzIDc2MCBweCwgbGEgcGlzdGUgZGV2aWVudFxuLy8gdW5lIGNvbG9ubmUsIGxhIGxpZ25lIHBhc3NlIMOgIGdhdWNoZS5cbi8vXG4vLyBEYW5zIGwnw6lkaXRldXIsIGNoYXF1ZSDDqXRhcGUgZXN0IHVuIGdyb3VwZSAoYC5hcXVhLWZyaXNlLWV0YXBlYCkgcXVpIGNvbnRpZW50IGwnYW5uw6llXG4vLyAoYHAuYXF1YS1mcmlzZS1hbm5lZWApLCB1biB0aXRyZSAoYGgzLmFxdWEtZnJpc2UtdGl0cmVgKSBldCB1biB0ZXh0ZSAoYHAuYXF1YS1mcmlzZS10ZXh0ZWApIDtcbi8vIGxlIGNsaWVudCBham91dGUgdW5lIMOpdGFwZSBlbiBkdXBsaXF1YW50IHVuIGdyb3VwZS4gTCfDqXRhcGUgZW4gY291cnMgcG9ydGUgZW4gcGx1c1xuLy8gYC5hcXVhLWZyaXNlLWV0YXBlLWFjdHVlbGxlYCA6IHNvbiBwb2ludCBldCBzb24gYW5uw6llIHByZW5uZW50IGxhIGNvdWxldXIgZCdhcHBvaW50LlxuXG4kYXF1YS1mcmlzZS1wb2ludDogMTRweDtcbiRhcXVhLWZyaXNlLWxpZ25lOiAycHg7XG4kYXF1YS1mcmlzZS1yYWlsOiAzNHB4OyAvLyBoYXV0ZXVyIHLDqXNlcnbDqWUgYXUtZGVzc3VzIGRlcyBjYXJ0ZXMgcG91ciBsYSBsaWduZSBldCBsZXMgcG9pbnRzXG5cbi5hcXVhLWZyaXNlLXBpc3RlIHtcbiAgLS1hcXVhLWZyaXNlLWdhcDogMjRweDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLWFxdWEtZnJpc2UtZ2FwKTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgLy8gTGEgcGlzdGUgZMOpYm9yZGUgbGUgY29udGVuZXVyIGRlIHNhIGdvdXR0acOocmUgOiBsZXMgY2FydGVzIHNlIGNvdXBlbnQgYXUgYm9yZCBkZSBsYSBmZW7DqnRyZSxcbiAgLy8gY29tbWUgbGVzIHBpc3RlcyBkZSBsYSBob21lLCBldCBub24gYXUgYm9yZCBkdSB0ZXh0ZS4gTGUgcmV0cmFpdCBkZSBkw6lmaWxlbWVudCByYW3DqG5lXG4gIC8vIGNoYXF1ZSBwb3NpdGlvbiBzdXIgbCdhbGlnbmVtZW50IGR1IGNvbnRlbmV1ci4gTGEgZ291dHRpw6hyZSBwYXNzZSBwYXIgdW5lIHZhcmlhYmxlIDogdW5cbiAgLy8gY2xhbXAoKSBkYW5zIHVuIGNhbGMoKSBjYXNzZSBsYSBjaGHDrm5lIGRlIGNvbXBpbGF0aW9uIChmaWNoZSA0MCkuXG4gIC0tYXF1YS1mcmlzZS1nb3V0dGllcmU6ICN7JGFxdWEtZ3V0dGVyfTtcblxuICBwYWRkaW5nOiAwIHZhcigtLWFxdWEtZnJpc2UtZ291dHRpZXJlKSA4cHg7XG4gIG1hcmdpbjogMCBjYWxjKC0xICogdmFyKC0tYXF1YS1mcmlzZS1nb3V0dGllcmUpKTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgc2Nyb2xsLXBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1hcXVhLWZyaXNlLWdvdXR0aWVyZSk7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHg7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICA+ICoge1xuICAgIGZsZXg6IDAgMCBjbGFtcCgyNjRweCwgMjd2dywgMzQwcHgpO1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbiAgfVxufVxuXG4uYXF1YS1mcmlzZS1ldGFwZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDI2cHggMjhweCAzMHB4O1xuICBtYXJnaW46ICRhcXVhLWZyaXNlLXJhaWwgMCAwO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSg2LCAzNSwgNTIsIC4wOCk7XG5cbiAgPiAqIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBMYSBsaWduZSA6IHVuIHNlZ21lbnQgcGFyIMOpdGFwZSwgcHJvbG9uZ8OpIGRlIGxhIGdvdXR0acOocmUganVzcXUnw6AgbCfDqXRhcGUgc3VpdmFudGUuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygtMSAqICN7JGFxdWEtZnJpc2UtcmFpbH0gKyAjeyRhcXVhLWZyaXNlLXBvaW50fSAvIDIpO1xuICAgIGxlZnQ6IDI4cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLWFxdWEtZnJpc2UtZ2FwKSk7XG4gICAgaGVpZ2h0OiAkYXF1YS1mcmlzZS1saWduZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6ICNjMmU3Zjk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI4cHgpO1xuICB9XG5cbiAgLy8gTGUgcG9pbnQgOiBibGV1IEFxdWF0ZWNobmlxdWUsIGNlcmNsw6kgZGUgYmxhbmMuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKC0xICogI3skYXF1YS1mcmlzZS1yYWlsfSk7XG4gICAgbGVmdDogMjhweDtcbiAgICB3aWR0aDogJGFxdWEtZnJpc2UtcG9pbnQ7XG4gICAgaGVpZ2h0OiAkYXF1YS1mcmlzZS1wb2ludDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6ICRhcXVhLWJsZXU7XG4gICAgYm9yZGVyOiAzcHggc29saWQgJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkYXF1YS1ibGV1O1xuICB9XG59XG5cbi5hcXVhLWZyaXNlLWV0YXBlLWFjdHVlbGxlIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCwgI3skYXF1YS1hY2NlbnR9KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tYWNjZW50LCAjeyRhcXVhLWFjY2VudH0pO1xuICB9XG5cbiAgLmFxdWEtZnJpc2UtYW5uZWUge1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQsICN7JGFxdWEtYWNjZW50fSk7XG4gIH1cbn1cblxuLy8gTCdhbm7DqWUgOiBsYSBncmFpc3NlIGV0IGxlIGNvcnBzIGRlcyBjb21wdGV1cnMgZHUgYmFuZGVhdSBkZSBwcmV1dmVzLlxuLmFxdWEtZnJpc2UtYW5uZWUge1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IGNsYW1wKDQwcHgsIDMuOHZ3LCA1NHB4KTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkYXF1YS1pbms7XG4gIGxldHRlci1zcGFjaW5nOiAtLjAyNWVtO1xufVxuXG4uYXF1YS1mcmlzZS10aXRyZSB7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBjb2xvcjogJGFxdWEtaW5rO1xuICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xufVxuXG4uYXF1YS1mcmlzZS10ZXh0ZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1icy1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogJGFxdWEtdGV4dGUtZG91eDtcbn1cblxuLy8gTGEgbmF2aWdhdGlvbiBkZSBsYSBwaXN0ZSAocHVjZXMsIGZsw6hjaGVzKSBzdXIgbGUgZm9uZCBncmlzIGRlIGxhIHNlY3Rpb24gOiBwdWNlcyBpbmFjdGl2ZXNcbi8vIHRlaW50w6llcywgY29tbWUgc291cyBsYSBwaXN0ZSBkZXMgcsOpYWxpc2F0aW9ucy5cbi5hcXVhLWZyaXNlIC5hcXVhLXBpc3RlLW5hdiB7XG4gIHBhZGRpbmctdG9wOiAyNHB4O1xuXG4gIC5hcXVhLXBpc3RlLXB1Y2U6bm90KC5pcy1hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzJlN2Y5O1xuICB9XG59XG5cbi8vIC0tLSBTb3VzIDc2MCBweCA6IHVuZSBjb2xvbm5lLCBsYSBsaWduZSDDoCBnYXVjaGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgLmFxdWEtZnJpc2UtcGlzdGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IG5vbmU7XG5cbiAgICA+ICoge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG5cbiAgLmFxdWEtZnJpc2UtZXRhcGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogLTMwcHg7XG4gICAgICB3aWR0aDogJGFxdWEtZnJpc2UtbGlnbmU7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDE2cHgpO1xuICAgIH1cblxuICAgIC8vIE3Dqm1lIHBvaWRzIHF1ZSBsYSByw6hnbGUgZGUgbGEgZGlzcG9zaXRpb24gZW4gbGlnbmUgKGA6bGFzdC1jaGlsZDo6YmVmb3JlYCksIHF1aSBnYXJkYWl0IHNhXG4gICAgLy8gbGFyZ2V1ciBkZSBzZWdtZW50IGhvcml6b250YWwgZXQgcGVpZ25haXQgdW4gcmVjdGFuZ2xlLlxuICAgICY6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAkYXF1YS1mcmlzZS1saWduZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICBsZWZ0OiBjYWxjKC0zMHB4IC0gI3skYXF1YS1mcmlzZS1wb2ludH0gLyAyICsgI3skYXF1YS1mcmlzZS1saWduZX0gLyAyKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/