img {
  max-width: 100%;
  height: auto; }

figure {
  margin: 0; }

* {
  box-sizing: border-box; }

html {
  color: #223853;
  font-family: "soliel", sans-serif;
  font-size: 16px;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility; }

html, body {
  margin: 0;
  overflow-x: hidden; }

body.mobile-safari {
  height: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch; }

h1, h2, h3, h4 {
  font-family: "filson-soft", sans-serif;
  font-weight: 200;
  line-height: 1.15; }
  @media (min-width: 880px) {
    h1, h2, h3, h4 {
      line-height: 1.4; } }

h1 {
  font-size: 2.34375rem; }

h2 {
  font-size: 1.875rem; }

h3 {
  font-size: 1.40625rem; }

h4 {
  font-size: 0.9375rem; }

@media (min-width: 880px) {
  h1 {
    font-size: 3.125rem; }
  h2 {
    font-size: 2.5rem; }
  h3 {
    font-size: 1.875rem; }
  h4 {
    font-size: 1.25rem; } }

@media (min-width: 110em) {
  h1 {
    font-size: 3.59375rem; }
  h2 {
    font-size: 2.875rem; }
  h3 {
    font-size: 2.15625rem; }
  h4 {
    font-size: 1.4375rem; } }

a {
  color: #223853; }

p {
  margin-bottom: 2.5rem;
  font-size: 110%; }
  @media (min-width: 110em) {
    p {
      font-size: 125%;
      line-height: 1.5; } }

.contained ul {
  font-size: 100%; }
  .contained ul li {
    margin-bottom: 0.5rem; }
  @media (min-width: 110em) {
    .contained ul {
      font-size: 125%; } }

.script {
  font-family: "learning-curve", cursive; }

.breadcrumbs {
  list-style: none;
  margin: 0;
  padding: 0; }
  @media (min-width: 880px) {
    .breadcrumbs {
      padding: 1rem 0 0 2.5rem; } }

.breadcrumb-item {
  display: inline-block;
  color: #fff;
  font-size: 85%; }
  @media (min-width: 880px) {
    .breadcrumb-item {
      color: #223853; } }
  .breadcrumb-item:not(:last-of-type)::after {
    content: '/';
    margin-left: 0.25rem;
    margin-right: 0.25rem; }
  .breadcrumb-item.current {
    border-bottom: 1px solid #5fc6dc; }
  .breadcrumb-item a {
    color: #fff; }
    @media (min-width: 880px) {
      .breadcrumb-item a {
        color: #223853; } }

.button-grid {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  margin-bottom: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }
  .button-grid .item {
    flex: 1 0 auto;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem; }
    @media (max-width: 26.25em) {
      .button-grid .item {
        min-width: 7.5rem; } }
    .button-grid .item.has-children {
      position: relative; }
      .button-grid .item.has-children.focus .dollar-sign {
        opacity: 1;
        transform: translateX(1rem);
        color: #fff; }
      .button-grid .item.has-children.focus .button--input {
        background: #223853;
        border-color: #223853; }
  .button-grid .button.focus {
    background: #223853;
    border-color: #223853;
    color: #fff; }
  .button-grid .button--input::-webkit-input-placeholder {
    color: #fff; }

.dollar-sign {
  position: absolute;
  top: 15px;
  left: 0;
  opacity: 0;
  transition: .2s ease; }

.button,
input[type="submit"].button {
  display: inline-block;
  padding: 0.75rem 1rem;
  border: 2px solid;
  cursor: pointer;
  font-size: 16px;
  text-align: center;
  text-decoration: none;
  -webkit-appearance: none; }
  .button--teal,
  input[type="submit"].button--teal {
    background: #5fc6dc;
    border-color: #5fc6dc;
    color: #fff; }
  .button--royal,
  input[type="submit"].button--royal {
    background: #145493;
    border-color: #145493;
    color: #fff; }
  .button--gray,
  input[type="submit"].button--gray {
    background: #e6e5e5;
    border-color: #e6e5e5;
    color: #000; }
  .button--delete,
  input[type="submit"].button--delete {
    background: #ea3d56;
    border-color: #ea3d56;
    color: #fff; }
  .button--yellow,
  input[type="submit"].button--yellow {
    background: #f6c84b;
    border-color: #f6c84b;
    color: #223853; }
  .button--round,
  input[type="submit"].button--round {
    border-radius: 30px; }
  .button--wide,
  input[type="submit"].button--wide {
    padding: 0.75rem 2rem; }
    @media (max-width: 600px) {
      .button--wide,
      input[type="submit"].button--wide {
        min-width: 15em; } }
  .button--tiny,
  input[type="submit"].button--tiny {
    padding: 0.25rem 0.5rem;
    font-size: 75%; }
  .button--small,
  input[type="submit"].button--small {
    padding: 0.3125rem 1rem;
    font-size: 90%; }
  .button--large,
  input[type="submit"].button--large {
    padding: 0.5rem 2rem;
    font-size: 110%;
    font-weight: 200; }
  .button--hidden,
  input[type="submit"].button--hidden {
    display: none; }
  .button--right,
  input[type="submit"].button--right {
    margin-right: 1rem; }

.card {
  flex: auto;
  width: calc(50% - (2.5rem * 1.5));
  min-width: calc(280px - (2.5rem * 1.5));
  margin-bottom: 3.125rem;
  margin-left: 1.875rem;
  margin-right: 1.875rem;
  background: #fff;
  border: 1px solid #e6e5e5; }
  @media (min-width: 880px) {
    .card {
      max-width: 280px;
      margin-left: 0;
      margin-right: 3.125rem; } }
  .card-image {
    width: 100%;
    height: 40vh;
    max-height: 200px;
    object-fit: cover; }
  .card-info {
    padding-left: 1rem;
    padding-right: 1rem;
    text-align: center; }
    .card-info h3, .card-info h4 {
      font-weight: bold;
      line-height: 1.15; }
    .card-info p {
      margin-bottom: 2rem; }
    .card-info a {
      color: #223853;
      text-decoration: none; }
    .card-info iframe {
      width: 100%; }
  .card-links {
    margin-bottom: 1rem;
    text-align: center; }
    .card-links a {
      display: block;
      margin-bottom: 0.5rem;
      color: #145493; }
      .card-links a:last-of-type {
        margin-bottom: 0; }

.emergency {
  position: relative;
  background: #223853;
  color: #fff; }
  .emergency-content.contained {
    position: relative;
    padding: 1rem;
    text-align: center; }
    @media (min-width: 600px) {
      .emergency-content.contained {
        padding: 2rem 3.5rem 2rem 2rem;
        text-align: left; } }
    .emergency-content.contained p {
      margin: 0;
      font-size: 95%;
      text-align: left; }
      @media (min-width: 600px) {
        .emergency-content.contained p {
          font-size: 100%; } }
      @media (min-width: 880px) {
        .emergency-content.contained p {
          font-size: 110%; } }
    .emergency-content.contained a {
      color: #5fc6dc; }
  .emergency button {
    margin: 1rem auto 0; }
    @media (min-width: 600px) {
      .emergency button {
        margin: 0;
        position: absolute;
        top: 1rem;
        right: 0; } }

.grid {
  display: flex;
  flex-flow: row wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem; }
  .grid.no-gutter {
    margin-left: 0;
    margin-right: 0; }
  .grid-item {
    flex: 1 0 auto;
    border-left: 0.5rem solid transparent;
    border-right: 0.5rem solid transparent;
    border-bottom: 1rem solid transparent;
    background-clip: padding-box; }
    .no-gutter .grid-item {
      border-width: 0; }
    .grid-item.prefix {
      max-width: 10%;
      min-width: 50px; }

iframe {
  max-width: 100%;
  display: block;
  border: 0; }

.link-box {
  flex: 1;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 2.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between; }
  .link-box h3 {
    margin-bottom: 1rem; }
    .link-box h3 p {
      margin: 0; }
  @media (min-width: 813px) {
    .link-box {
      max-width: initial;
      min-height: 340px; } }
  @media (min-width: 1100px) {
    .link-box {
      margin-left: 1rem;
      margin-right: 1rem; } }
  @media (min-width: 1400px) {
    .link-box {
      min-height: 310px; } }
  .link-box p {
    max-width: 36ch;
    margin-left: auto;
    margin-right: auto; }

.page-image:not(.news-image) {
  overflow: hidden; }
  .page-image:not(.news-image):not(.keep-image) img,
  .page-image:not(.news-image):not(.keep-image) iframe,
  .page-image:not(.news-image):not(.keep-image) video {
    display: none; }
    @media (min-width: 880px) {
      .page-image:not(.news-image):not(.keep-image) img,
      .page-image:not(.news-image):not(.keep-image) iframe,
      .page-image:not(.news-image):not(.keep-image) video {
        display: block; } }
  .page-image:not(.news-image) img,
  .page-image:not(.news-image) iframe,
  .page-image:not(.news-image) video {
    height: 300px;
    width: 100%;
    object-fit: cover;
    object-position: top; }
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
      .page-image:not(.news-image) img,
      .page-image:not(.news-image) iframe,
      .page-image:not(.news-image) video {
        width: auto;
        margin: 0 auto; } }
    @media (min-width: 110em) and (min-height: 900px) {
      .page-image:not(.news-image) img,
      .page-image:not(.news-image) iframe,
      .page-image:not(.news-image) video {
        height: 400px; } }

.page-video.contained {
  position: relative;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 56.25%; }
  @media (min-width: 880px) {
    .page-video.contained {
      margin-top: 2rem; } }
  @media (min-width: 1100px) {
    .page-video.contained {
      padding-bottom: 0; } }
  .page-video.contained iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%; }
    @media (min-width: 1100px) {
      .page-video.contained iframe {
        position: static;
        height: 619px; } }

.progress-container {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 2.5rem; }
  .progress-container .first {
    margin-right: 1rem; }
    @media (max-width: 880px) {
      .progress-container .first.is-active {
        margin-right: 0; }
        .progress-container .first.is-active + .progress {
          margin-bottom: 1rem; } }
  .progress-container span.active {
    position: relative; }
    .progress-container span.active::after {
      content: '';
      position: absolute;
      bottom: -14px;
      left: 50%;
      height: 0;
      width: 0;
      border-style: solid;
      border-width: 8px 10px;
      border-color: currentColor transparent transparent;
      transform: translateX(-50%); }
      @media (min-width: 880px) {
        .progress-container span.active::after {
          display: none; } }

.progress {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  flex-basis: 100%;
  margin: 1rem 0 0;
  padding: 0;
  position: relative; }
  @media (min-width: 880px) {
    .progress {
      flex-basis: auto;
      margin-top: 0; } }
  .progress.closed {
    max-height: 0;
    max-width: 0;
    opacity: 0;
    width: 0;
    visibility: hidden;
    pointer-events: none; }
  .progress::before {
    margin-bottom: 1rem;
    flex-basis: 100%; }
  .progress li {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 30px;
    width: 30px;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    background: #fff;
    border: 1px solid #e6e5e5;
    border-radius: 50%; }
    .progress li.previous {
      background: #5fc6dc;
      border-color: #4abfd7; }
    .progress li.active {
      background: #145493;
      border-color: #145493;
      color: #fff; }
    @media (min-width: 880px) {
      .progress li {
        margin-left: 1.25rem;
        margin-right: 1.25rem; }
        .progress li:first-of-type::before {
          display: none; }
        .progress li::before {
          content: '';
          position: absolute;
          left: -24px;
          top: 50%;
          margin-top: -6px;
          border: 6px solid #e6e5e5;
          border-color: transparent transparent transparent #e6e5e5;
          border-width: 6px 8px; } }
  @media (min-width: 880px) {
    .progress + span {
      margin-left: 1rem;
      position: relative; }
      .progress + span::before {
        content: '';
        position: absolute;
        top: 0;
        left: -1rem;
        height: 100%;
        width: 1px;
        background: #e6e5e5; } }

.back-btn {
  transform: translateY(-1rem); }

.responsive-table {
  min-width: 100%;
  border-collapse: collapse; }
  .responsive-table thead {
    display: none;
    background: #223853;
    color: #fff; }
    @media (min-width: 64.75em) {
      .responsive-table thead {
        display: table-header-group; } }
    .responsive-table thead a {
      color: currentColor; }
  @media (min-width: 64.75em) {
    .responsive-table tbody {
      border: 1px solid #e6e5e5; } }
  .responsive-table tr {
    margin-bottom: 2.5rem;
    display: block;
    border: 1px solid #e6e5e5; }
    @media (min-width: 64.75em) {
      .responsive-table tr {
        margin-bottom: 0;
        display: table-row;
        border-width: 0 0 1px; }
        .responsive-table tr:last-of-type {
          border-bottom-width: 0; } }
  .responsive-table td, .responsive-table th {
    text-align: left; }
  .responsive-table td {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e6e5e5; }
    @media (min-width: 480px) {
      .responsive-table td {
        padding-bottom: 0; } }
    @media (min-width: 64.75em) {
      .responsive-table td {
        border-bottom-width: 0; }
        .responsive-table td:first-child {
          border-right: 1px solid #e6e5e5; } }
    .responsive-table td:last-child {
      border-bottom-width: 0; }
    .responsive-table td::before {
      content: attr(data-th);
      flex-basis: 100%;
      margin-right: 1rem;
      padding-top: 0.5rem;
      padding-bottom: 0.375rem;
      font-weight: bold; }
      @media (min-width: 480px) {
        .responsive-table td::before {
          flex-basis: 40%;
          padding-bottom: 0.5rem;
          border-right: 1px solid #e6e5e5; } }
      @media (min-width: 64.75em) {
        .responsive-table td::before {
          display: none; } }
  @media (min-width: 64.75em) {
    .responsive-table td, .responsive-table th {
      display: table-cell;
      padding: 0.5rem 0.5rem; } }

ul.row {
  padding: 0;
  list-style: none; }
  ul.row li {
    margin-bottom: 1rem; }

.row {
  max-width: rem-calc(1100px);
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 2rem; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media screen and (min-width: 55em) {
      .row .row {
        margin-right: -1.25rem;
        margin-left: -1.25rem; } }
    @media screen and (min-width: 68.75em) {
      .row .row {
        margin-right: -1.25rem;
        margin-left: -1.25rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0; }

.column, .columns {
  flex: 1 1 0px;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  min-width: 0; }
  @media screen and (min-width: 55em) {
    .column, .columns {
      padding-right: 1.25rem;
      padding-left: 1.25rem; } }

.column.row.row, .row.row.columns {
  float: none;
  display: block; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.small-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.small-3 {
  flex: 0 0 25%;
  max-width: 25%; }

.small-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.small-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.small-6 {
  flex: 0 0 50%;
  max-width: 50%; }

.small-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.small-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.small-9 {
  flex: 0 0 75%;
  max-width: 75%; }

.small-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.small-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.small-12 {
  flex: 0 0 100%;
  max-width: 100%; }

.small-up-1 {
  flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-centered {
  margin-right: auto;
  margin-left: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

@media screen and (min-width: 55em) {
  .medium-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .medium-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .medium-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .medium-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .medium-up-1 {
    flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      flex: 0 0 12.5%;
      max-width: 12.5%; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; } }

@media screen and (min-width: 68.75em) {
  .large-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .large-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .large-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .large-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .large-up-1 {
    flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      flex: 0 0 12.5%;
      max-width: 12.5%; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; } }

.school-block {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #e6e5e5;
  text-align: center;
  transition: background .2s ease; }
  .school-block:first-child {
    margin-top: -2rem; }
  @media (min-width: 414px) {
    .school-block {
      justify-content: flex-start;
      text-align: left; } }
  @media (min-width: 880px) {
    .school-block:hover {
      background: #fafafa; } }
  .school-block__image {
    display: none; }
    @media (min-width: 600px) {
      .school-block__image {
        flex: 1;
        display: flex;
        max-width: 300px; } }
    .school-block__image img {
      object-fit: cover;
      height: 200px;
      width: 300px; }
  @media (min-width: 600px) {
    .school-block__info {
      margin-left: 2.5rem; } }
  .school-block__info h4 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 600; }
    .school-block__info h4 a {
      text-decoration: none; }
  .school-block__info p {
    margin-top: 0;
    margin-bottom: 1rem; }
  .school-block__links {
    text-align: center; }
    @media (min-width: 414px) {
      .school-block__links {
        text-align: left; } }
    .school-block__links a {
      display: block;
      margin-bottom: 1rem; }
      .school-block__links a:last-child {
        margin-bottom: 0; }
      @media (min-width: 414px) {
        .school-block__links a {
          display: inline;
          margin-bottom: 0;
          margin-right: 2rem; }
          .school-block__links a:last-child {
            margin-right: 0; } }

.social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  width: 36px;
  position: relative;
  margin-right: 1rem;
  border: 2px solid #fff;
  border-radius: 50%;
  font-size: 180%;
  line-height: .8;
  text-decoration: none; }
  .social use {
    fill: #fff; }
  .social--alt {
    border-color: #223853;
    color: #223853; }
    .social--alt use {
      fill: #223853; }
  .social svg {
    height: 36px;
    width: 36px; }
  .social:last-of-type {
    margin-right: 0; }
  @media (min-width: 414px) {
    .social {
      margin-right: 2rem; } }
  @media (min-width: 880px) {
    .social {
      margin-right: 2.5rem;
      transition: background .2s ease, border .2s ease, transform .2s ease, color .2s ease; }
      .social:hover {
        color: #fff;
        transform: translateY(-2px); }
        .social:hover use {
          fill: #fff; }
      .social[data-type='facebook']:hover {
        background: #46629e;
        border-color: #46629e; }
      .social[data-type='twitter']:hover {
        background: #00acee;
        border-color: #00acee; }
      .social[data-type='vimeo']:hover {
        background: #1ab7ea;
        border-color: #1ab7ea; }
      .social[data-type='instagram']:hover {
        background: #8a3ab9;
        border-color: #8a3ab9; }
      .social[data-type='linkedin']:hover {
        background: #0077b5;
        border-color: #0077b5; } }

svg path,
svg circle {
  fill: inherit; }

.tabs {
  display: flex;
  flex-flow: row wrap;
  margin: 2rem 0 0;
  padding: 0; }
  .tabs dd {
    flex: 1 0 50%;
    margin: 0;
    position: relative;
    background: #e6e5e5;
    border: 1px solid #e6e5e5;
    border-bottom-width: 0; }
    @media (min-width: 600px) {
      .tabs dd {
        flex: 0 1 auto; } }
    .tabs dd::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: -1px;
      height: 1px;
      width: 100%;
      background: #fff; }
    .tabs dd a {
      display: block;
      padding: 1.25rem 2rem; }
    .tabs dd.active {
      background: #fff; }

.card-icons svg {
  display: inline-block;
  height: 36px;
  filter: grayscale(1);
  opacity: .5;
  transition: filter .2s ease, opacity .2s ease; }
  .card-icons svg.is-active {
    filter: grayscale(0);
    opacity: 1; }

.ccv-icons {
  display: inline-flex;
  flex-flow: row wrap;
  align-items: center;
  vertical-align: top; }
  .ccv-icons svg:first-child {
    margin-right: 0.5rem;
    padding-right: 0.5rem;
    width: 44px;
    border-right: 1px dotted #cdcbcb; }

.donate-form fieldset {
  margin: 0 0 5rem;
  padding: 0;
  border: none; }

.donate-form legend {
  display: block;
  margin-bottom: 1rem;
  font-size: 200%; }
  .donate-form legend + p {
    margin-top: 0; }

.donate-form p {
  margin-top: 0;
  margin-bottom: 1rem; }
  .donate-form p:empty {
    display: none; }

.donate-form label {
  display: block;
  font-size: 1.1rem; }
  .donate-form label.formtools_recurrence {
    display: inline-block; }

.donate-form input,
.donate-form select,
.donate-form textarea {
  width: 100%; }

.donate-form input.monthly_checkbox {
  width: auto;
  float: left;
  transform: translateY(3px); }

.donate-form input[type="text"],
.donate-form input[type="tel"],
.donate-form input[type="email"],
.donate-form textarea {
  display: block;
  padding: 0.5rem; }

.donate-form input#formtools_credit_number {
  letter-spacing: .09375rem; }

.donate-form input#formtools_ccv {
  display: inline-block;
  max-width: 100px; }

.donate-form .label {
  display: block; }

.donate-form select {
  display: block;
  height: 36px; }

.donate-form ul {
  list-style: none;
  margin: 0;
  padding: 0; }
  .donate-form ul li {
    margin-bottom: 0.5rem; }
  .donate-form ul label,
  .donate-form ul input[type="radio"] {
    display: inline-block;
    width: auto; }

@media screen and (max-width: 450px) {
  .donate-form .prefix {
    border-right: 1px solid #ccc; } }

.donate-form .errorlist {
  padding: 0.5rem;
  border: 2px solid #ea3d56;
  border-bottom-width: 0;
  color: #ea3d56;
  font-weight: bold; }
  .donate-form .errorlist li {
    margin: 0.25rem 0; }
  .donate-form .errorlist + p {
    padding: 0 0.5rem 0.5rem;
    border: 2px solid #ea3d56;
    border-top-width: 0; }

.donate-form #errorMsg .errorlist {
  border-bottom-width: 2px; }

.donate-form input[type="submit"] {
  padding-left: 5rem;
  padding-right: 5rem; }
  @media (min-width: 414px) {
    .donate-form input[type="submit"] {
      width: auto; } }

.donate-logos {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between; }
  .donate-logos div {
    font: normal 9px arial, helvetica, sans-serif;
    text-align: center; }
    .donate-logos div i {
      color: #000;
      font-style: normal; }
  .donate-logos a {
    display: block; }
  .donate-logos img {
    max-height: 70px; }

.payment-method h4 {
  margin-bottom: 0.5rem; }
  .payment-method h4 + small {
    display: block;
    margin-bottom: 1rem;
    font-weight: bold; }

.payment-method .required {
  display: none; }

.preview-row {
  margin-bottom: 0.5rem; }
  .preview-row h5 {
    margin-bottom: 0.5rem; }
  .preview-row p {
    margin: 0; }

.is-invalid-input:not(:focus) {
  border-color: #ea3d56;
  background-color: #f8e6e7; }

.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #ea3d56; }

.is-invalid-input:not(:focus)::-moz-placeholder {
  color: #ea3d56; }

.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #ea3d56; }

.is-invalid-input:not(:focus)::placeholder {
  color: #ea3d56; }

.is-invalid-label {
  color: #ea3d56; }

.form-error {
  display: none;
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ea3d56; }
  .form-error.is-visible {
    display: block !important; }

.help-text {
  margin-top: -0.5rem;
  margin-bottom: 0.5rem;
  color: #223853;
  font-size: 0.8125rem;
  font-style: italic; }
  .help-text p {
    margin: 0;
    line-height: 1.3; }
    .help-text p ~ p {
      margin-top: 1.5rem; }

.info-text {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding-left: 2.5rem;
  border-left: 10px solid #e6e5e5;
  line-height: 1.5; }
  .info-text p {
    margin: 0; }

fieldset {
  margin-bottom: 2rem;
  padding-top: 1rem;
  border: 1px solid #e6e5e5; }
  fieldset legend {
    font-weight: bold; }
  fieldset .row:last-of-type {
    margin-bottom: 0; }

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="url"],
textarea {
  padding: 0.75rem 1rem;
  display: block;
  width: 100%;
  background: #fff;
  border: 1px solid #e6e5e5;
  color: #223853;
  font-size: 16px; }

.input {
  border-width: 2px;
  font-style: italic; }

input[type="checkbox"],
input[type="radio"] {
  float: left;
  margin-right: 0.5rem; }

label {
  display: block; }

input[type="checkbox"] + label {
  display: inline-block;
  margin-left: 0.5rem; }

.prefix {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e6e5e5;
  text-align: center; }

.section_wrapper {
  position: relative;
  margin-bottom: 1rem;
  margin-left: -0.75rem;
  padding: 1rem;
  width: calc(100% + 1.5rem); }
  .section_wrapper.oddity {
    background: #e6e5e5; }

.repeating_section_delete {
  position: absolute;
  top: 0.25rem;
  right: 0.75rem; }

.repeating_section_add {
  margin-top: 1rem;
  margin-bottom: 1rem;
  position: relative;
  left: 50%;
  transform: translateX(-50%); }

select {
  height: 2rem;
  width: 100%;
  font-size: 100%; }

.bg-gray select {
  background: #fff; }

.link {
  color: #223853;
  text-decoration: none; }
  .link--extra-parent {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #223853; }
  .link--extra-children {
    display: flex;
    flex-direction: column;
    padding-right: 20px;
    justify-content: space-evenly; }
  .link--extra {
    border-top: 1px solid #223853; }
  .link--primary {
    display: block;
    padding: 1.5rem 1rem;
    border-top: 1px solid #223853;
    font-size: 150%; }
    .link--primary-borderless {
      border-top: 0; }
    @media (min-height: 768px) and (min-device-width: 768px) and (max-device-width: 880px) {
      .link--primary {
        font-size: 200%; } }
    @media (max-device-height: 568px) {
      .link--primary {
        font-size: 100%;
        padding: 1rem; } }
    .link--primary .script {
      font-size: 150%; }
      @media (min-width: 880px) {
        .link--primary .script {
          font-size: inherit; } }
    @media (min-width: 880px) {
      .link--primary {
        position: relative;
        border-top-width: 0;
        font-size: 250%;
        text-align: center;
        transition: color .2s ease; }
        .link--primary::before {
          content: '';
          position: absolute;
          top: 50%;
          left: 50%;
          height: 180px;
          width: 100%;
          max-width: 0px;
          background: url("../images/menu-hover-bg.png") no-repeat center;
          pointer-events: none;
          transform: translate3d(-50%, -50%, 0);
          transition: max-width .2s ease;
          z-index: -1; }
        :nth-of-type(2) .link--primary::before {
          height: 176px;
          background: url("../images/menu-hover-bg--large.png") no-repeat center; }
        :nth-of-type(2) .link--primary:hover::before {
          max-width: 378px; }
        .link--primary:hover::before {
          max-width: 294px; }
        .link--primary:hover {
          color: #fff; }
        .link--primary span {
          font-size: 200%;
          line-height: .5; } }
  @media (min-height: 768px) and (min-device-width: 768px) and (max-device-width: 880px) {
    .link--secondary {
      font-size: 200%; } }
  @media (min-width: 880px) {
    .link--secondary {
      position: relative; }
      .link--secondary::before {
        content: '';
        position: absolute;
        bottom: -4px;
        left: 0;
        height: 4px;
        width: 0;
        background-color: #f6c84b;
        transition: width .2s ease; }
      .link--secondary:hover::before {
        width: 100%; } }

.portal-button {
  margin-top: 1.5rem;
  margin-left: 1.5rem;
  margin: 1rem; }

.portal-child table,
.portal-child thead,
.portal-child tbody,
.portal-child tr,
.portal-child th,
.portal-child td {
  display: block; }

.portal-child table {
  border: 1px solid #e6e5e5;
  border-bottom-width: 0px;
  width: 100% !important; }

.portal-child tr {
  display: flex;
  flex-flow: row wrap; }

.portal-child td {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1 0 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #e6e5e5;
  border-width: 0 0 1px 0; }
  @media (min-width: 414px) {
    .portal-child td {
      flex: 1 0 50%; }
      .portal-child td:nth-child(even) {
        border-left-width: 1px; } }
  @media (min-width: 600px) {
    .portal-child td {
      padding: 0.75rem 2rem; } }
  @media (min-width: 800px) {
    .portal-child td {
      border-right-width: 1px; }
      .portal-child td:nth-child(even) {
        border-left-width: 0; } }
  .portal-child td:last-of-type {
    border-right-width: 0; }

@media (min-width: 800px) {
  .portal-child table {
    display: table; }
  .portal-child thead {
    display: table-header-group; }
  .portal-child tbody {
    display: table-row-group; }
  .portal-child tr,
  .portal-child th {
    display: table-row; }
  .portal-child td {
    display: table-cell; } }

.notification {
  margin-left: 1rem;
  margin-right: 1rem;
  position: relative; }
  .notification-trigger {
    cursor: pointer; }
  .notification-count {
    margin: 0;
    position: relative; }
    .notification-count .notification-bell {
      fill: #fff; }
    .notification-count svg {
      height: 24px;
      width: 24px; }
    .notification-count span {
      position: absolute;
      top: -3px;
      right: -5px;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 17px;
      width: 17px;
      background: #ea3d56;
      border-radius: 50%;
      color: #fff;
      font-size: 11px;
      font-weight: 600; }
  .notification-list {
    position: absolute;
    bottom: 41px;
    right: -2rem;
    width: 280px;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #f3f2f2;
    border-radius: 3px 0 0 3px;
    opacity: 0;
    pointer-events: none;
    transition: .2s ease;
    transform: translateX(0.5rem);
    transform-style: preserve-3d; }
    @media (min-width: 880px) {
      .notification-list {
        top: 41px;
        bottom: initial; } }
    .notification-list.is--open {
      opacity: 1;
      pointer-events: all;
      transform: translateX(0); }
    .notification-list::before {
      content: '';
      position: absolute;
      bottom: -14px;
      right: calc(2rem + 6px);
      border: 1px solid #f3f2f2;
      border-width: 7px;
      border-color: #f3f2f2 transparent transparent; }
      @media (min-width: 880px) {
        .notification-list::before {
          top: -14px;
          bottom: initial;
          border-color: transparent transparent #f3f2f2; } }
    .notification-list::after {
      content: '';
      position: absolute;
      top: 10px;
      left: 5%;
      width: 90%;
      height: 20px;
      background: rgba(0, 0, 0, 0.5);
      filter: blur(15px);
      z-index: -1; }
      @media (min-width: 880px) {
        .notification-list::after {
          bottom: 10px;
          top: initial; } }
    .notification-list li {
      padding: 1.5rem;
      background: #f3f2f2;
      border-bottom: 1px solid #dad8d8; }
      .notification-list li:last-child {
        border-bottom-width: 0; }
    .notification-list p {
      margin: 0; }

.application-table thead th {
  white-space: normal; }

.application-table tr.is-selected {
  background: #f6c84b; }
  .application-table tr.is-selected:hover {
    background: #f6c84b; }

.no-applicants {
  margin-bottom: 0; }

.action-buttons a {
  display: inline-block; }
  .action-buttons a:first-child {
    margin-right: 1rem; }

.application-view .printable-header {
  display: flex;
  align-items: center; }
  .application-view .printable-header input[type="checkbox"] {
    float: none; }

.application-view h4, .application-view h3 {
  display: inline-block; }
  .application-view h4 + a, .application-view h3 + a {
    margin-left: 0.5rem;
    padding: 0.125rem 0.5rem;
    font-size: 80%;
    font-weight: 600; }

.application-view h3 + a {
  transform: translateY(1px); }

.application-view > .printable__section {
  margin-bottom: 1rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #e6e5e5; }
  .application-view > .printable__section:last-child {
    margin-bottom: 0; }

.application-view .fields fieldset {
  padding-top: 0;
  padding-bottom: 0; }

.application-view .fields p {
  margin-top: 1rem;
  margin-bottom: 1rem; }

.application-view .fields .printable__section {
  position: relative;
  margin-bottom: 1.5rem;
  padding: 0 2rem 2rem;
  background: #f8f7f7; }

.application-table .delete {
  padding: 0.125rem 0.5rem;
  font-size: 80%;
  font-weight: 600; }

.actions h2 {
  margin-top: 0; }

.actions-panel input[type="radio"] {
  margin-bottom: 1.5rem;
  float: none;
  display: inline-block; }
  .actions-panel input[type="radio"] + label {
    margin-right: 1rem;
    display: inline-block; }

.general-pagination ul {
  display: inline-block;
  margin: 0 0 0 0.5rem;
  padding: 0;
  list-style: none;
  font-size: 100%;
  font-weight: 600; }

.activity-item {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e6e5e5; }

.activity-highlight {
  color: #145493;
  font-weight: 600; }

.custom h4 {
  display: inline-block; }
  .custom h4 + a {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    font-size: 80%;
    font-weight: 600; }

.custom .fields p {
  margin-bottom: 1rem; }

.attachment__item {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between; }
  .attachment__item a:first-child {
    flex-grow: 1;
    position: relative;
    display: block;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-right: 2rem;
    border-bottom: 1px solid #e6e5e5;
    text-decoration: none;
    transition: .2s ease; }
    .attachment__item a:first-child::before {
      content: '';
      position: absolute;
      bottom: -1px;
      left: 0;
      width: 0;
      height: 1px;
      background: #5fc6dc;
      opacity: 0;
      transition: .4s ease; }
    .attachment__item a:first-child:hover {
      padding-left: 1rem; }
      .attachment__item a:first-child:hover::before {
        width: 100%;
        opacity: 1; }
  .attachment__item a.delete {
    padding: 0.125rem 0.5rem;
    font-size: 80%;
    font-weight: 600;
    white-space: nowrap;
    transition: .2s ease; }
    .attachment__item a.delete::before {
      content: 'Delete';
      display: inline-block;
      width: 0;
      opacity: 0;
      pointer-events: none;
      transition: .2s ease; }
    .attachment__item a.delete:hover::before {
      padding-right: 0.25rem;
      width: 45px;
      opacity: 1; }

.comments__widget {
  border-top: 1px solid #e6e5e5; }
  .comments__widget textarea {
    height: 120px; }

.comment {
  margin-left: 1.25rem;
  margin-right: 1.25rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 2px solid #e6e5e5; }
  .comment-meta {
    margin-bottom: 0; }
    .comment-meta .edit,
    .comment-meta .delete {
      margin-left: 0.5rem;
      padding: 0.125rem 0.5rem;
      font-size: 80%;
      font-weight: 600; }
  .comment-edited {
    display: block;
    margin-top: 0.5rem;
    font-size: 80%; }
  .comment-content {
    margin-bottom: 0; }

.history-table thead {
  background: #e6e5e5;
  color: #223853; }

.history-table tbody td:not(:last-of-type) {
  border-right: 1px solid #e6e5e5; }

.choices {
  position: relative;
  margin-top: 1rem;
  margin-bottom: 2.5rem;
  display: flex;
  flex-flow: row wrap; }
  @media (min-width: 600px) {
    .choices {
      flex-wrap: nowrap; }
      .choices::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        height: 100%;
        width: 1px;
        background: #e6e5e5; } }

.choice {
  position: relative;
  flex: 1 0 100%;
  border: 1px solid #fff;
  text-align: center;
  transition: .3s ease; }
  .choice:first-child {
    border-width: 1px 0 1px 1px; }
  .choice:last-child {
    border-width: 1px 1px 1px 0; }
  @media (min-width: 880px) {
    .choice:hover {
      border-color: #e6e5e5; } }
  @media (min-width: 600px) {
    .choice {
      padding-top: 1.5rem;
      flex-basis: 50%; } }
  .choice-radio {
    display: none; }
  .choice-label {
    padding-top: 3rem; }
    @media (min-width: 600px) {
      .choice-label {
        min-height: 300px;
        padding: 1.5rem;
        display: flex;
        flex-flow: column nowrap;
        justify-content: space-around; } }
  .choice-info {
    max-width: 36ch;
    margin-left: auto;
    margin-right: auto; }
  .choice-button {
    align-self: center; }

.school-fields {
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #e6e5e5; }
  .school-fields.is-hidden {
    padding: 0;
    min-height: 0;
    overflow: hidden; }
  .school-fields h3 {
    margin-bottom: 0.5rem; }
    .school-fields h3 + small {
      display: block;
      margin-bottom: 2.5rem;
      font-weight: bold; }
  .school-fields textarea {
    min-height: 180px; }

.article {
  max-width: 80ch;
  margin-left: auto;
  margin-right: auto;
  overflow-wrap: break-word;
  word-wrap: break-word; }
  @media (min-width: 880px) {
    .article {
      max-width: 100ch; } }
  .article-meta {
    text-align: center; }
    .article-meta address {
      margin-top: 0.5rem; }
  .article-content p:empty {
    display: none; }
  .article-back {
    margin-top: 2rem;
    padding-top: 2.5rem;
    border-top: 1px solid #e6e5e5;
    text-align: center; }

.button-group .button {
  width: 100%; }
  @media (min-width: 600px) {
    .button-group .button {
      width: auto; } }

.button-group .button:first-child {
  margin-bottom: 1rem; }
  @media (min-width: 600px) {
    .button-group .button:first-child {
      margin-bottom: 0;
      margin-right: 1rem; } }

.cards {
  display: flex;
  flex-flow: row wrap; }

.detail-title {
  margin-bottom: 0; }

.detail-subtitle {
  margin-top: 1rem; }
  @media (min-width: 880px) {
    .detail-subtitle {
      margin-top: 0; } }
  .detail-subtitle a {
    color: #5fc6dc; }

.detail-meta h3 {
  margin-top: 0;
  margin-bottom: 0; }

.detail-meta p {
  display: flex;
  margin-top: 0.5rem;
  margin-bottom: 0; }
  .detail-meta p strong {
    flex-basis: 80px; }

.detail-buttons {
  margin-bottom: 2rem; }
  .detail-buttons a:first-child {
    margin-bottom: 1rem; }
    @media (min-width: 600px) {
      .detail-buttons a:first-child {
        margin-right: 2rem; } }

.detail-form {
  max-height: 0;
  opacity: 0;
  pointer-events: none;
  transition: .2s ease;
  background: #e6e5e5; }
  .detail-form.is-visible {
    margin-top: 2rem;
    padding: 2rem; }
  .detail-form .row {
    margin-bottom: 1rem; }
    .detail-form .row input[type="text"],
    .detail-form .row input[type="email"] {
      padding: 0.5rem 1rem;
      display: block;
      width: 100%; }

.featured {
  padding: 0 1rem;
  flex-basis: 100%; }
  @media (min-width: 880px) {
    .featured {
      display: flex;
      flex-flow: column nowrap;
      justify-content: center;
      flex: 1 1 auto;
      margin-bottom: 2.5rem;
      padding: 0 2.5rem; }
      .explore-nics-schools .featured {
        flex-flow: row nowrap; } }
  @media (min-width: 1100px) {
    .featured {
      padding: 0 5rem; } }
  .featured-image {
    max-width: 80%;
    margin: auto;
    text-align: center; }
    @media (min-width: 880px) {
      .featured-image {
        margin: inherit; } }
    @media (min-width: 1100px) {
      .featured-image {
        max-width: 60%; } }
    @media (min-width: 880px) {
      .explore-nics-schools .featured-image {
        flex: 1 0 40%;
        max-width: 40%; } }
    @media (min-width: 1100px) {
      .explore-nics-schools .featured-image {
        flex: 1 0 30%;
        max-width: 30%; } }
  .featured-container {
    display: flex;
    flex-flow: row wrap; }
    @media (min-width: 880px) {
      .featured-container {
        flex-flow: row nowrap; }
        .explore-nics-schools .featured-container .featured,
        .teach-nics .featured-container .featured {
          position: relative; }
          .explore-nics-schools .featured-container .featured::before,
          .teach-nics .featured-container .featured::before {
            position: absolute;
            top: -44px;
            left: 0;
            width: 100%;
            font-size: 300%;
            text-align: center;
            font-weight: 900;
            color: #f8f7f7; }
        .teach-nics .featured-container .featured::before {
          content: 'FEATURED ALUMNI'; }
        .explore-nics-schools .featured-container .featured::before {
          content: 'FEATURED SCHOOL'; } }
  .featured-content {
    padding-bottom: 2rem;
    text-align: center; }
    @media (min-width: 880px) {
      .featured-content {
        flex: 0 1 auto;
        margin-right: 1rem;
        text-align: left; }
        .explore-nics-schools .featured-content {
          margin-left: 2.5rem; } }
    @media (min-width: 1100px) {
      .explore-nics-schools .featured-content {
        margin-left: 5rem; } }
    .featured-content h3 {
      line-height: 1.1; }
      @media (min-width: 880px) {
        .featured-content h3 {
          margin-top: 0;
          margin-bottom: 1.5rem; } }
      @media (min-width: 1100px) {
        .featured-content h3 {
          font-size: 250%;
          max-width: 10ch; } }
      .featured-content h3 a {
        text-decoration: none; }
    .featured-content p {
      margin-top: 0;
      margin-bottom: 1.5rem;
      max-width: 50ch; }
  .featured-form {
    flex: 0 0 100%;
    padding: 2rem 2.5rem;
    background-color: #e6e5e5; }
    @media (min-width: 880px) {
      .featured-form {
        flex: 0 0 40%; } }
    .featured-form h3 {
      margin-top: 0;
      font-size: 200%; }
    .featured-form p {
      margin-bottom: 1rem;
      font-size: 100%;
      line-height: 1.5; }
  .featured-links {
    margin-bottom: 2rem; }
    .featured-links a {
      display: block;
      margin-bottom: 1rem;
      position: relative;
      text-decoration: none; }
      @media (min-width: 480px) {
        .featured-links a {
          display: inline-block;
          margin-bottom: 0;
          margin-left: 2.5rem;
          padding-left: 2.5rem; }
          .featured-links a:first-child {
            margin-left: 0;
            padding-left: 0; }
            .featured-links a:first-child::before {
              display: none; }
          .featured-links a::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            height: 100%;
            width: 1px;
            background: #223853; } }

_:-ms-fullscreen, :root .filter-item {
  flex: 1 0 auto; }

.filter-item {
  flex: 1;
  margin-right: 1rem;
  margin-bottom: 0;
  font-weight: bold; }
  .filter-item:last-child {
    margin-right: 0; }
  @media (min-width: 600px) {
    .filter-item {
      position: relative; } }
  @media (min-width: 600px) {
    .filter-item {
      padding-top: 1rem; } }
  @media (min-width: 64em) {
    .filter-item {
      flex: initial;
      display: inline-block;
      padding-bottom: 0.9rem; } }
  @media (min-width: 1100px) {
    .filter-item {
      margin-right: 2rem; } }
  @media (max-width: 600px) {
    .filter-item:nth-child(2n+1) .filter-subnav {
      left: 0;
      right: auto;
      width: 100%; } }
  .filter-item svg {
    display: inline-block;
    margin-left: 0.3125rem;
    height: 8px;
    transition: transform .2s ease;
    stroke: #223853; }

.filter-trigger {
  cursor: pointer;
  display: flex;
  align-items: center; }

.filter-subnav {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  min-width: 300px;
  padding: 1rem 0.5rem;
  background: #f3f2f2;
  opacity: 0;
  pointer-events: none;
  transition: transform .2s ease;
  transform: translateY(-1rem);
  transform-style: preserve-3d;
  z-index: 2; }
  .filter-subnav select {
    width: 100%; }
  @media (min-width: 414px) {
    .filter-subnav {
      padding: 1rem 1.5rem; } }
  @media (min-width: 600px) {
    .filter-subnav.school-subnav {
      min-width: 450px; } }
  .filter-subnav .actions-label {
    display: block;
    margin-right: 0;
    margin-bottom: 0.5rem; }
  .filter-subnav::after {
    content: '';
    position: absolute;
    bottom: -5%;
    left: 50%;
    height: 20%;
    width: 80%;
    background: rgba(0, 0, 0, 0.15);
    transform: translate3d(-50%, 0, -1px);
    filter: blur(10px);
    z-index: -1; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .filter-subnav::after {
        background: none; } }

.filter-checkbox {
  margin-bottom: 1rem; }
  @media (min-width: 600px) {
    .filter-checkbox {
      margin-bottom: 0.5rem; } }
  .filter-checkbox label {
    font-size: 85%; }
  .filter-checkbox input[type="checkbox"] {
    float: none;
    margin-right: 0; }

.filter-item.is-open svg {
  transform: rotate(180deg); }

.filter-item.is-open .filter-subnav {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0); }

.job-search-icon {
  display: none; }
  @media (min-width: 1024px) {
    .job-search-icon {
      display: inline-block;
      margin-left: 0.5rem;
      max-width: 30px;
      background: transparent;
      border: none; } }
  .job-search-icon svg {
    fill: #fff;
    height: 16px; }
    @media (min-width: 1024px) {
      .job-search-icon svg {
        fill: #223853; } }

input[type="text"].job-search-input {
  display: block;
  width: 100%;
  border: 1px solid #cdcbcb;
  font-style: italic; }
  @media (min-width: 880px) {
    input[type="text"].job-search-input {
      font-size: 90%; } }
  @media (min-width: 1024px) {
    input[type="text"].job-search-input {
      display: inline-block;
      width: calc(100% - 30px);
      border-width: 0 0 1px; } }

@media (min-width: 600px) {
  .jobs {
    margin-top: 2.5rem; } }

@media (min-width: 880px) {
  .jobs {
    margin-bottom: 2.5rem; } }

.jobs-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0; }

.__ln-loadmore-wrapper {
  margin-top: 2.5rem;
  text-align: center; }

.contained ul .job {
  margin-bottom: 0; }

.job-title {
  color: #5fc6dc;
  font-size: 110%; }
  @media (min-width: 600px) {
    .job-title {
      font-size: 200%; } }

.job-details {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin-top: 1rem; }

.job-school, .job-location {
  color: #223853; }
  @media (min-width: 600px) {
    .job-school, .job-location {
      font-size: 125%; } }

.job.hidden {
  display: none; }

.job a {
  display: block;
  padding: 2rem 1rem;
  border-bottom: 1px solid #e6e5e5;
  color: #f6c84b;
  text-decoration: none;
  transition: border .2s ease-in-out; }
  @media (min-width: 600px) {
    .job a {
      padding: 1.5rem 2.5rem; } }
  @media (min-width: 880px) {
    .job a:hover {
      border-left: 15px solid #f6c84b; } }
  .job a:visited {
    background-color: #dad8d8; }
    .job a:visited .job-title {
      color: #145493; }

.no-result {
  padding: 0 2.5rem 1rem;
  text-align: center; }
  @media (min-width: 880px) {
    .no-result {
      padding: 0;
      text-align: left; } }

.link-boxes {
  display: flex;
  flex-flow: column wrap;
  align-items: center;
  margin-bottom: 5rem; }
  @media (min-width: 813px) {
    .link-boxes {
      flex-direction: row;
      align-items: flex-start; } }

.news-item {
  margin-bottom: 2rem;
  padding: 1rem 2rem 3.5rem;
  border-bottom: 1px solid #e6e5e5; }
  .news-item__info h3 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: bold; }
    .news-item__info h3 a {
      color: currentColor;
      text-decoration: none; }
  .news-item__info p:empty {
    display: none; }
  .news-item__links a {
    display: inline-block; }

.bg-gray {
  background: #f8f7f7; }

.sidebar {
  padding: 0;
  width: 100%;
  border-top: 2px solid #e6e5e5; }
  @media (min-width: 600px) {
    .sidebar {
      max-width: 300px;
      border-top-width: 0; } }
  .sidebar-card {
    margin-bottom: 2.5rem;
    padding: 2rem;
    background: #f3f2f2; }
    .sidebar-card h4 {
      margin-top: 0; }
    .sidebar-card:empty {
      display: none; }
  .sidebar p {
    margin-bottom: 1rem; }
  .sidebar-widget ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .sidebar-widget > ul {
    margin-left: 2rem; }
    @media (min-width: 600px) {
      .sidebar-widget > ul {
        margin-left: 1.5rem; } }
  .sidebar-widget input[type="checkbox"] {
    display: none; }
  .sidebar-widget li {
    margin-bottom: 2rem; }
    @media (min-width: 600px) {
      .sidebar-widget li {
        margin-bottom: 1rem; } }
  .sidebar-widget a {
    position: relative;
    text-decoration: none; }
    .sidebar-widget a::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0px;
      height: 2px;
      background: #5fc6dc;
      opacity: 0;
      transition: .2s ease; }
    @media (min-width: 880px) {
      .sidebar-widget a:hover::after {
        opacity: 1;
        width: 100%; } }
  .sidebar-widget .expand-toggle {
    margin: 0;
    padding: 0;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 24px;
    width: 24px;
    margin-left: calc( (2.5rem * .05 + 36px) * -1);
    margin-right: 0.625rem;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
    font-weight: 600;
    vertical-align: middle; }
    .sidebar-widget .expand-toggle svg {
      height: 6px;
      transform: rotate(-90deg) translateY(1px);
      transition: .2s ease;
      stroke: #223853; }
  .sidebar-widget .sub-menu {
    padding-left: 1.5rem;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition: .05s ease; }
  .sidebar-widget input[type="checkbox"]:checked ~ .expand-toggle {
    background: #223853; }
    .sidebar-widget input[type="checkbox"]:checked ~ .expand-toggle svg {
      transform: rotate(0deg) translateY(1px);
      stroke: #fff; }
  .sidebar-widget input[type="checkbox"]:checked ~ .sub-menu {
    padding-top: 1rem;
    padding-bottom: 1px;
    max-height: 2000px;
    border-left: 2px solid #223853;
    opacity: 1;
    overflow: initial;
    pointer-events: all;
    transition: .2s ease; }
  .sidebar-widget .selected > .expand-toggle,
  .sidebar-widget .ancestor > .expand-toggle {
    background: #5fc6dc; }
    .sidebar-widget .selected > .expand-toggle svg,
    .sidebar-widget .ancestor > .expand-toggle svg {
      transform: rotate(0deg);
      stroke: #fff; }
  .sidebar-widget .selected > .sub-menu,
  .sidebar-widget .ancestor > .sub-menu {
    padding-top: 1rem;
    padding-bottom: 1px;
    max-height: 2000px;
    border-left: 2px solid #cdcbcb;
    opacity: 1;
    overflow: initial;
    pointer-events: all;
    transition: .2s ease; }
  .sidebar-widget .selected > a {
    position: relative;
    color: #5fc6dc;
    font-weight: 600; }
    .sidebar-widget .selected > a::after {
      opacity: 0; }
  .sidebar .links-list {
    margin: 0;
    padding: 0;
    list-style: none; }
    .sidebar .links-list li {
      margin-bottom: 1rem; }

.sort {
  cursor: pointer;
  display: flex;
  align-items: center; }
  .sort svg {
    opacity: 0;
    transform: translateX(-28px); }
  .sort.asc svg, .sort.desc svg {
    opacity: 1;
    transform: translateX(0); }
  .sort.desc svg {
    transform: translateX(0) rotate(180deg); }

.tabs-content {
  padding: 2rem;
  border: 1px solid #e6e5e5; }
  .tabs-content h4 {
    margin-top: 0; }
  .tabs-content .content {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    transition: .2s ease; }
    .tabs-content .content.active {
      opacity: 1;
      max-height: 2000px;
      pointer-events: all; }
  .tabs-content .row {
    margin-bottom: 1rem; }
    .tabs-content .row:last-of-type {
      margin-bottom: 0; }

.alumni-story {
  font-family: "filson-soft", sans-serif; }
  .alumni-story .page-content {
    padding-bottom: 0; }

.alumni-hero {
  height: 140px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center; }
  @media (min-width: 600px) {
    .alumni-hero {
      height: 173px; } }
  @media (min-width: 700px) {
    .alumni-hero {
      height: 250px; } }
  @media (min-width: 1000px) {
    .alumni-hero {
      line-height: 378px; } }
  @media (min-width: 1100px) {
    .alumni-hero {
      height: 400px; } }
  @media (min-width: 110em) {
    .alumni-hero {
      height: 580px; } }
  .alumni-hero.retain-dimensions {
    height: 360px;
    background-size: contain; }

.alumni-meta__location {
  padding-left: 2rem;
  font-size: 20px;
  background: url("../images/icon-location.svg") no-repeat left center;
  background-size: 17px; }

.alumni-meta__intro {
  font-size: 115%; }

.alumni-questions {
  padding: 0 2.5rem;
  font-size: 115%;
  border-bottom: 1px solid #e6e5e5; }
  @media (min-width: 600px) {
    .alumni-questions {
      padding: 0 5rem; } }
  @media (min-width: 880px) {
    .alumni-questions {
      padding: 0 7.5rem; } }
  .alumni-questions dt {
    font-weight: bold; }
  .alumni-questions dd {
    margin: 0;
    padding: 1rem 0 2.5rem;
    line-height: 1.4; }

.alumni-related {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between; }
  .alumni-related a {
    margin: 0.5rem auto; }
    .alumni-related a span {
      display: none; }
    .alumni-related a:last-child {
      margin: 2rem auto; }
  .alumni-related__previous, .alumni-related__next {
    flex-basis: calc(50% - .4 * 2.5rem);
    margin-right: 2.5rem;
    margin-left: 2.5rem;
    color: #5fc6dc;
    text-decoration: none; }
  .alumni-related__previous {
    text-align: left; }
  .alumni-related__next {
    text-align: right; }
  @media (min-width: 880px) {
    .alumni-related a {
      margin: 2rem auto; }
      .alumni-related a span {
        display: inline; }
    .alumni-related__previous, .alumni-related__next {
      flex-basis: calc(50% - 1.6 * 2.5rem); }
    .alumni-related__all {
      margin: 0 auto; } }

.alumni-recruit {
  padding: 1.25rem;
  background-color: #223853;
  text-align: center;
  color: #fff; }
  .alumni-recruit h2 {
    margin-bottom: 0.5rem; }
  .alumni-recruit p {
    margin: 0 auto 2.5rem; }
    @media (min-width: 880px) {
      .alumni-recruit p {
        max-width: 80%; } }
  .alumni-recruit a {
    margin-bottom: 2.5rem; }

.alumni-photos {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  margin-left: 0.5rem; }
  @media (min-width: 880px) {
    .alumni-photos {
      padding: 0 2.5rem;
      margin: 0; } }

.alumni-photo {
  flex: 1 0 48%;
  flex: 1 0 calc(50% - 2.5rem * .4);
  height: 160px;
  margin: 0 0.5rem 0.5rem 0;
  position: relative;
  cursor: pointer;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center; }
  @media (min-width: 600px) {
    .alumni-photo {
      height: 240px; } }
  @media (min-width: 880px) {
    .alumni-photo {
      flex: 0 0 32%;
      flex: 0 0 calc(33% - 2.5rem * .2);
      height: 260px; }
      .alumni-photo:nth-child(3n) {
        margin-right: 0; } }
  @media (min-width: 1000px) {
    .alumni-photo {
      height: 280px; } }
  @media (min-width: 1100px) {
    .alumni-photo {
      height: 300px; } }
  @media (min-width: 110em) {
    .alumni-photo {
      height: 600px; } }
  .alumni-photo.no-image {
    background-color: #223853; }
    .alumni-photo.no-image .alumni-name {
      opacity: 1; }
  .alumni-photo:hover .alumni-name {
    opacity: 1; }

.alumni-name {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: 30px;
  text-align: center;
  font-size: 125%;
  font-family: "filson-soft", sans-serif;
  text-decoration: none;
  line-height: 30px;
  color: #5fc6dc;
  background-color: rgba(30, 54, 81, 0.7);
  -webkit-transition: opacity .3s ease-in-out;
  transition: opacity .3s ease-in-out; }
  .alumni-name .r_arr {
    display: none; }
  @media (min-width: 600px) {
    .alumni-name {
      height: 40px;
      line-height: 40px; } }
  @media (min-width: 880px) {
    .alumni-name {
      top: 50%;
      height: 100%;
      line-height: 260px;
      font-size: 200%;
      opacity: 0;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      transform: translateY(-50%); }
      .alumni-name .r_arr {
        display: inline; } }
  @media (min-width: 1000px) {
    .alumni-name {
      line-height: 280px; } }
  @media (min-width: 1100px) {
    .alumni-name {
      line-height: 300px; } }
  @media (min-width: 110em) {
    .alumni-name {
      line-height: 600px; } }

.alumni-cta {
  flex: 1 0 48%;
  flex: 1 0 calc(50% - 2.5rem * .4);
  max-width: 50%;
  align-self: center;
  text-align: center;
  display: flex;
  flex-flow: column nowrap;
  align-items: center; }
  .alumni-cta p {
    display: none; }
  @media (max-width: 880px) {
    .alumni-cta:nth-child(2n+1) {
      margin: 0 auto; } }
  @media (min-width: 880px) {
    .alumni-cta {
      flex: 0 0 32%;
      flex: 0 0 calc(33% - 2.5rem * .2); }
      .alumni-cta:nth-child(3n+1) {
        margin: 0 auto; }
      .alumni-cta p {
        display: block; } }
  @media (min-width: 1100px) {
    .alumni-cta {
      padding: 0 2.5rem; } }

.form--inline .input {
  border-radius: 4px 0 0 4px; }

.form--inline .button {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-color: #e6e5e5;
  border-left-width: 0; }

.form-wrap {
  margin: 2.5rem auto;
  text-align: center; }

.site-form label {
  display: block;
  margin-bottom: 0.375rem; }

.site-form input,
.site-form select,
.site-form textarea {
  padding: 0.5rem 1rem;
  width: 100%; }

.site-form select {
  height: auto; }

.site-form input[type="submit"] {
  width: auto; }

.form-row {
  margin-bottom: 1rem; }

.employee-schedule .select2-container {
  min-width: 288px; }
  @media (min-width: 880px) {
    .employee-schedule .select2-container {
      min-width: 400px; } }

.header-nav {
  display: flex;
  align-items: center;
  margin-left: auto; }

.desktop-menu {
  list-style: none;
  margin: 0;
  padding: 0; }
  .desktop-menu li {
    display: inline-block;
    margin-right: 1.25rem; }
    @media (min-width: 1100px) {
      .desktop-menu li {
        margin-right: 2.5rem; } }
  .desktop-menu a {
    color: #fff;
    text-decoration: none; }
    @media (min-width: 1100px) {
      .desktop-menu a {
        font-size: 125%; } }

.header-logo {
  display: block; }
  .landing-campaign .header-logo {
    text-align: center;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem; }
    @media (min-width: 880px) {
      .landing-campaign .header-logo {
        padding: 2.5rem; } }
  .header-logo img {
    width: 180px; }
    .header-logo img.landing {
      width: 300px; }
    @media (min-width: 400px) {
      .header-logo img {
        height: 47px; }
        .header-logo img.landing {
          width: 350px; } }
    @media (min-width: 880px) {
      .header-logo img {
        width: 250px; } }

.mobile-button {
  width: 95px;
  height: 45px;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 16px; }
  @media (min-width: 1100px) {
    .mobile-button {
      width: 106px;
      height: 50px;
      font-size: 125%;
      white-space: nowrap; } }

.image-block {
  flex: 1 0 100%; }
  @media (min-width: 880px) {
    .image-block {
      flex: 1; }
      .image-block:nth-of-type(1) {
        order: 2; }
      .image-block:nth-of-type(2) {
        order: 1; }
      .image-block:nth-of-type(3) {
        order: 3; } }
  @media (min-width: 880px) and (min-height: 900px) {
    .image-block {
      max-height: calc(100vh - 201px - 58px); } }
  .image-block a {
    display: flex;
    flex-flow: row nowrap;
    height: calc((100vh / 3) - (58px / 3));
    color: #223853;
    text-decoration: none; }
    @media (min-width: 880px) {
      .image-block a {
        flex-wrap: wrap;
        height: 100%; } }
    @media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) {
      .image-block a {
        height: calc((100vh / 2) - (58px / 2)); } }
    @media only screen and (min-device-width: 320px) and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) {
      .image-block a {
        height: calc((100vh / 2) - (58px / 2)); } }
    @media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) {
      .image-block a {
        height: calc((100vh / 2) - (58px / 2)); } }
    @media only screen and (min-device-width: 414px) and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 3) and (orientation: landscape) {
      .image-block a {
        height: calc((100vh / 2) - (58px / 2)); } }
    @media only screen and (min-device-width: 375px) and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 3) and (orientation: landscape) {
      .image-block a {
        height: calc((100vh / 2) - (58px / 2)); } }
    @media screen and (device-width: 320px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape) {
      .image-block a {
        height: calc((100vh / 2) - (58px / 2)); } }
    @media screen and (device-width: 320px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape) {
      .image-block a {
        height: calc((100vh / 2) - (58px / 2)); } }
    @media screen and (device-width: 320px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 4) and (orientation: landscape) {
      .image-block a {
        height: calc((100vh / 2) - (58px / 2)); } }
    @media screen and (device-width: 360px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape) {
      .image-block a {
        height: calc((100vh / 2) - (58px / 2)); } }
    @media screen and (device-width: 360px) and (device-height: 640px) and (-webkit-device-pixel-ratio: 4) and (orientation: landscape) {
      .image-block a {
        height: calc((100vh / 2) - (58px / 2)); } }
    @media only screen and (min-device-width: 411px) and (max-device-width: 823px) and (-webkit-min-device-pixel-ratio: 3) and (orientation: landscape) {
      .image-block a {
        height: calc((100vh / 2) - (58px / 2)); } }
    @media (min-width: 768px) and (max-width: 1024px) and (min-height: 768px) and (orientation: landscape) {
      .image-block a {
        height: 100%; } }
  .image-block__img {
    flex-basis: 50%;
    max-width: 50%;
    object-fit: cover;
    object-position: right; }
    .image-block__img.compat-object-fit {
      background-size: cover;
      background-position: center center; }
    @media (max-width: 64em) and (orientation: landscape) {
      .image-block__img {
        object-position: right 25%; } }
    @media (min-width: 880px) {
      .image-block__img {
        flex-basis: 100%;
        max-width: 100%;
        height: 50%;
        object-fit: cover; } }
    @media (max-width: 880px) {
      .image-block__mobile--right .image-block__img {
        order: 2; } }
    @media (min-width: 880px) {
      .image-block__full--down .image-block__img {
        order: 2; } }
  .image-block__caption {
    flex-basis: 50%;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 1.5rem;
    font-size: 140%; }
    .wf-loading .image-block__caption {
      visibility: hidden; }
    .image-block__caption span {
      font-size: 150%;
      line-height: .8; }
      @media (min-width: 414px) {
        .image-block__caption span {
          font-size: 250%; } }
    @media (min-width: 880px) {
      .image-block__caption {
        flex-basis: 100%;
        height: 50%;
        padding: 2.5rem 3.125rem;
        font-size: 200%;
        transition: padding .25s ease; }
        .image-block__caption span {
          font-size: 4.6875rem;
          line-height: .5; }
        .image-block__caption:hover {
          padding-right: 1.75rem; } }

.nav-copyright {
  flex: 1 0 100%;
  margin-bottom: 1rem;
  font-size: 9.6px;
  line-height: 1.5;
  text-align: center; }

.nav-menu {
  flex: 1 0 100%;
  margin: 0;
  padding: 0;
  list-style: none; }
  .nav-menu--primary {
    order: 2; }
    @media (min-width: 880px) {
      .nav-menu--primary {
        order: 1;
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        align-items: center;
        border: 1px solid #e6e5e5;
        border-width: 1px 0; }
        .nav-menu--primary li {
          flex: 1;
          padding-top: 2.5rem;
          padding-bottom: 2.5rem; }
          .nav-menu--primary li:nth-of-type(3) {
            border: 1px solid #e6e5e5;
            border-width: 0 1px; } }
  .nav-menu--secondary {
    order: 1;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    text-align: center; }
    .nav-menu--secondary li {
      margin-bottom: 1.5rem;
      flex-basis: calc(100% / 3); }
      @media (min-height: 900px) {
        .nav-menu--secondary li {
          margin-bottom: 2.5rem; } }
      @media (min-width: 600px) {
        .nav-menu--secondary li {
          flex-basis: 50%; } }
    @media (min-width: 880px) {
      .nav-menu--secondary {
        order: 2;
        padding-top: 2.5rem;
        padding-bottom: 2.5rem; }
        .nav-menu--secondary li {
          flex-basis: auto;
          margin-left: 1.25rem;
          margin-right: 1.25rem;
          font-size: 150%; } }

.nav-meta {
  flex: 1 0 100%;
  display: flex;
  flex-flow: row wrap; }
  @media (min-width: 880px) {
    .nav-meta {
      align-items: center;
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }

.nav-search {
  flex: 1 0 100%;
  order: 2;
  margin-bottom: 2rem; }
  @media (min-width: 880px) {
    .nav-search {
      flex: 2 0 auto;
      order: 1;
      margin-bottom: 0; } }

.nav-social {
  flex: 1 0 100%;
  order: 1;
  margin-top: 1rem;
  margin-bottom: 2rem;
  text-align: center; }
  @media (min-width: 880px) {
    .nav-social {
      flex: 1 0 auto;
      order: 2;
      margin-top: 0;
      margin-bottom: 0; } }

.school-meta {
  text-align: center; }
  @media (min-width: 700px) {
    .school-meta {
      text-align: left; } }
  .school-meta h2 {
    margin-bottom: 1rem; }
  .school-meta dl {
    margin-top: 0;
    background-color: #e6e5e5; }
  .school-meta dt, .school-meta dd {
    display: block; }
    @media (min-width: 700px) {
      .school-meta dt, .school-meta dd {
        display: inline-block; } }
  .school-meta dt {
    margin-top: 2rem;
    margin-bottom: 0.4rem; }
    .school-meta dt:first-child {
      margin-top: 0; }
    @media (min-width: 700px) {
      .school-meta dt {
        margin-top: 0;
        margin-bottom: 0;
        margin-left: 2rem;
        margin-right: 0.4rem; }
        .school-meta dt:first-child {
          margin-left: 0; } }
  .school-meta dd {
    margin-left: 0;
    font-weight: 600; }

.school-info {
  width: 100%;
  display: flex; }
  @media (max-width: 880px) {
    .school-info {
      flex-direction: column; } }
  .school-info-statistics {
    display: flex;
    flex-wrap: wrap;
    flex: 1;
    margin-left: -5px; }
    @media (min-width: 1100px) {
      .school-info-statistics {
        flex: 0 0 710px; } }
    @media (min-width: 110em) {
      .school-info-statistics {
        flex: 0 0 1078px; } }
    .school-info-statistics div {
      flex: 1 0 40%;
      background-color: #e6e5e5;
      padding: 10px;
      margin: 5px;
      text-align: center; }
      @media (max-width: 880px) {
        .school-info-statistics div {
          flex: 1 0 100%;
          text-align: left; } }
  .school-info-links {
    display: flex column;
    flex: 1;
    text-align: center; }
    @media (max-width: 880px) {
      .school-info-links {
        margin-left: -5px; } }
    @media (min-width: 1100px) {
      .school-info-links {
        margin-left: 22px; } }
    @media (min-width: 110em) {
      .school-info-links {
        margin-left: 22px; } }
    .school-info-links-icon {
      height: 16px;
      width: 16px;
      margin-right: 8px; }
    .school-info-links div {
      margin-top: 5px;
      margin-bottom: 5px; }
      .school-info-links div div {
        background-color: #e6e5e5;
        margin: 0;
        padding: 0; }
        .school-info-links div div div {
          padding: 15px 0; }
        @media (max-width: 880px) {
          .school-info-links div div {
            margin-left: 5px;
            margin-right: 5px;
            padding-left: 10px;
            padding-right: 10px;
            width: 100%;
            text-align: left; } }

.school-resources {
  margin-bottom: 2.5rem; }
  @media (min-width: 1100px) {
    .school-resources {
      display: flex;
      flex-flow: row wrap;
      margin-left: -2rem;
      margin-right: -2rem; }
      .school-resources-box {
        margin-left: -800px;
        padding-left: 800px;
        margin-right: -800px;
        padding-right: 800px;
        padding-top: 40px;
        padding-bottom: 40px;
        margin-bottom: 20px;
        background: #e6e5e5; } }
  @media (min-width: 1100px) {
    .school-resources-head {
      margin-left: 0;
      margin-left: 0;
      margin-bottom: 0; } }

.school-resource {
  margin-bottom: 2rem;
  padding: 2rem;
  background: #e6e5e5; }
  @media (min-width: 1100px) {
    .school-resource {
      flex: 1;
      margin-left: 2rem;
      margin-right: 2rem;
      margin-bottom: 0; } }
  .school-resource h3 {
    margin-top: 0; }
  .school-resource p {
    margin-bottom: 1rem; }
  .school-resource-list {
    margin: 0;
    padding: 0;
    list-style: none; }
    .school-resource-list li {
      margin-bottom: 1rem; }

.school-resource-opportunities {
  max-height: 440px;
  background: #fff;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0; }
  @media (min-width: 110em) {
    .school-resource-opportunities {
      max-height: 600px; } }
  @media (max-width: 1100px) {
    .school-resource-opportunities {
      margin-top: 20px; } }
  @media (max-width: 880px) {
    .school-resource-opportunities {
      max-width: 100%; } }
  @media (max-width: 1100px) {
    .school-resource-opportunities div {
      border: 1px solid #145493; } }
  .school-resource-opportunities div div {
    border: 0;
    padding: 4px; }
  .school-resource-opportunities h3 {
    margin: 0;
    color: #fff;
    background: #145493;
    text-align: center; }
  .school-resource-opportunities img {
    height: 24px;
    width: 24px;
    display: block;
    margin-left: auto;
    margin-right: auto; }
    @media (max-width: 880px) {
      .school-resource-opportunities img {
        height: 16px;
        width: 16px;
        display: inline-block;
        margin-left: 0 px;
        margin-right: 4px; } }
  .school-resource-opportunities p {
    font-size: 85%; }

.school-no-openings {
  color: #c8c8c8;
  font-weight: bold;
  text-align: center; }
  @media (max-width: 880px) {
    .school-no-openings {
      text-align: left; } }

.school-buttons {
  display: flex; }
  .school-buttons a {
    margin-right: 1rem; }
    .school-buttons a:last-of-type {
      margin-right: 0; }

.schools-region {
  margin-bottom: 2.5rem; }
  @media (min-width: 600px) {
    .schools-region {
      margin-bottom: 3.75rem; } }
  @media (min-width: 880px) {
    .schools-region {
      margin-bottom: 5rem; } }
  .schools-region h3 {
    text-align: center; }
    @media (min-width: 600px) {
      .schools-region h3 {
        text-align: left; } }

.school-video {
  position: relative;
  overflow: hidden; }
  @media (min-width: 321px) {
    .school-video {
      height: 250px; } }
  @media (min-width: 414px) {
    .school-video {
      height: 300px; } }
  @media (min-width: 600px) {
    .school-video {
      height: 400px; } }
  @media (min-width: 1100px) {
    .school-video {
      flex: 0 0 700px;
      height: 400px; } }
  @media (min-width: 110em) {
    .school-video {
      flex: 0 0 1068px;
      height: 600px; } }
  .school-video iframe {
    object-fit: unset;
    height: 100%; }
    @media (min-width: 700px) {
      .school-video iframe {
        max-width: 700px; } }
    @media (min-width: 110em) {
      .school-video iframe {
        object-fit: fill;
        max-width: 1100px; } }

.result {
  margin-bottom: 2rem;
  padding: 1rem 2rem 3.5rem;
  border-bottom: 1px solid #e6e5e5; }
  .result-info h3 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: bold; }
    .result-info h3 a {
      color: currentColor;
      text-decoration: none; }
  .result-info p:empty {
    display: none; }
  .result-links a {
    display: inline-block; }

.search {
  padding-left: 1rem;
  padding-right: 1rem; }
  .search-wrap {
    display: flex;
    flex-flow: row nowrap;
    position: relative; }
  .search-label {
    position: absolute;
    left: .5rem; }
  .search-input {
    flex-grow: 1; }
  .search-button {
    width: 50px; }
  .search-form p {
    margin: 0; }
    .search-form p:first-child label {
      display: none; }
    .search-form p:empty {
      display: none; }
  .search-form input[type="search"] {
    width: 100%;
    margin-bottom: 1rem;
    padding: 0.5rem 1rem;
    border-radius: 3px;
    border: 1px solid #e6e5e5;
    font-size: 100%;
    -webkit-appearance: none; }
  .search-form ul {
    margin: 0.4rem 0 1rem;
    padding: 0;
    list-style: none; }
  .search-form li {
    display: inline-block;
    margin-right: 1rem; }
    .search-form li:last-child {
      margin-right: 0; }

.actions {
  border-top: 2px solid #e6e5e5;
  border-bottom: 2px solid #e6e5e5; }
  .actions-container.contained {
    padding-left: 0;
    padding-right: 0; }
    @media (min-width: 64em) {
      .actions-container.contained {
        display: flex;
        flex-flow: row wrap;
        padding-left: 1rem;
        padding-right: 1rem; } }
  .actions-mobile {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    position: relative; }
    .actions-mobile::after {
      content: '';
      position: absolute;
      top: 0;
      left: calc(50% - 1px);
      height: 100%;
      width: 2px;
      background: #e6e5e5; }
    .actions-mobile button {
      flex: 1 0 50%;
      margin: 0;
      padding-top: 0.8125rem;
      padding-bottom: 0.875rem;
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      justify-content: center;
      background: none;
      border: 0;
      font-size: 100%; }
      .actions-mobile button:first-child svg {
        margin-left: 0.5rem;
        stroke: #223853; }
      .actions-mobile button:last-child svg {
        margin-right: 0.5rem;
        fill: #223853; }
      .actions-mobile button.is-active {
        background: #145493;
        color: #fff; }
        .actions-mobile button.is-active:first-child svg {
          stroke: #fff; }
        .actions-mobile button.is-active:last-child svg {
          fill: #fff; }
    .actions-mobile svg {
      height: 16px;
      width: 16px; }
    @media (min-width: 64em) {
      .actions-mobile {
        display: none; } }
  .actions-filters {
    opacity: 0;
    pointer-events: none;
    max-height: 0;
    background: #e6e5e5; }
    @media (min-width: 32.5em) {
      .actions-filters {
        display: flex;
        flex-flow: row wrap; } }
    @media (min-width: 64em) {
      .actions-filters {
        flex: 1 0 65%;
        max-width: 65%;
        background: initial;
        background-color: inherit;
        opacity: 1;
        pointer-events: all;
        max-height: 100vh; } }
    .actions-filters.is-visible {
      padding: 1rem; }
  .actions-filter {
    flex: 1 0 auto;
    max-width: 100%;
    margin-bottom: 2rem;
    position: relative;
    display: flex;
    flex-flow: row wrap;
    align-items: center; }
    @media (min-width: 600px) {
      .actions-filter {
        position: static; } }
    @media (min-width: 32.5em) {
      .actions-filter {
        max-width: 50%;
        margin-bottom: 0; } }
    @media (min-width: 64em) {
      .actions-filter {
        flex: 1 0 50%;
        max-width: 50%; } }
  .actions-sort {
    flex: 1 0 auto;
    max-width: 100%;
    display: flex;
    flex-flow: row wrap;
    align-items: center; }
    @media (min-width: 32.5em) {
      .actions-sort {
        flex: 1 0 auto;
        max-width: 50%; } }
    @media (min-width: 64em) {
      .actions-sort {
        flex: 1 0 50%;
        max-width: 50%;
        padding-left: 1.5rem;
        border-left: 2px solid #e6e5e5; } }
  .actions-search {
    opacity: 0;
    pointer-events: none;
    max-height: 0;
    background: #e6e5e5; }
    @media (min-width: 64em) {
      .actions-search {
        flex: 1 0 35%;
        max-width: 35%;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
        padding-left: 1.5rem;
        background: initial;
        background-color: inherit;
        border-left: 2px solid #e6e5e5;
        opacity: 1;
        pointer-events: all;
        max-height: 100vh;
        white-space: nowrap; } }
    .actions-search.is-visible {
      padding: 1rem; }
  .actions-label {
    flex-basis: 100%;
    margin-right: 1rem;
    font-size: 85%;
    font-weight: 400; }
    @media (min-width: 880px) {
      .actions-label {
        flex-basis: auto; } }

.application-form {
  max-width: 100ch;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.5rem;
  padding-top: 2.5rem;
  position: relative;
  text-align: left; }
  .prescreen .application-form {
    max-width: 64ch; }
  @media (min-width: 880px) {
    .application-form {
      margin-bottom: 10rem;
      padding-top: 5rem; } }
  .application-form::before {
    content: '';
    position: absolute;
    top: 0;
    left: calc( (-100vw + 100%) / 2);
    width: 100vw;
    border-top: 1px solid #e6e5e5; }
  .application-form h1 {
    margin-top: 0; }
  .application-form label {
    display: block;
    margin-bottom: 1rem; }
    .prescreen .application-form label {
      font-size: 150%; }
    .application-form label .required {
      display: inline-block;
      font-size: .7rem; }
  .application-form input[type="submit"] {
    margin-top: 1rem; }
  .application-form .row {
    margin-bottom: 1rem; }

.applications {
  margin-top: 2.5rem;
  padding-bottom: 6rem;
  text-align: center; }
  @media (min-width: 880px) {
    .applications {
      text-align: left;
      padding-bottom: 2.5rem; } }

.final-buttons {
  display: flex;
  flex-flow: row wrap; }
  .final-buttons .button {
    flex-basis: 100%; }
    @media (min-width: 600px) {
      .final-buttons .button {
        flex-basis: auto; }
        .final-buttons .button:first-child {
          order: 1;
          margin-left: 2rem; } }

.become-school p {
  margin-top: 2rem;
  margin-bottom: 1.5rem; }

.become-school strong {
  display: block; }

.advanced-search {
  flex-basis: 100%; }

.adv-row {
  margin-bottom: 1rem; }
  .adv-row .remove-field {
    margin-left: 0.25rem; }

.clear-filters {
  margin-bottom: 0.5rem; }

.dashboard__table {
  margin-bottom: 1rem; }
  .dashboard__table tbody tr {
    background: #fff; }
    @media (min-width: 64.75em) {
      .dashboard__table tbody tr:hover {
        background: #f3f2f2; } }
  @media (min-width: 64.75em) {
    .dashboard__table td {
      border-right: 1px solid #e6e5e5; }
      .dashboard__table td:last-child {
        border-right-width: 0; } }

.export-list {
  margin-top: 0;
  padding-left: 0; }
  .export-list li {
    margin-bottom: 0.5rem; }

.footer {
  margin-bottom: 58px;
  color: #fff; }
  @media (min-width: 880px) {
    .footer {
      margin-bottom: 0; } }
  .footer-logos {
    padding-top: 1rem;
    padding-bottom: 1rem;
    background: #e6e5e5;
    text-align: center; }
    @media (min-width: 600px) {
      .footer-logos {
        display: flex;
        align-items: center;
        justify-content: space-around; } }
    .footer-logos a {
      display: block;
      margin-bottom: 1.5rem; }
      .footer-logos a:last-child {
        margin-bottom: 0; }
      @media (min-width: 600px) {
        .footer-logos a {
          margin-bottom: 0; } }
    .footer-logos img {
      max-height: 60px;
      max-width: 160px; }
  .footer-meta {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 0;
    background: #145493; }
    @media (min-width: 880px) {
      .footer-meta {
        padding: 2.5rem;
        justify-content: space-between; } }
  .footer-logo img {
    height: 57px; }
  .footer-social {
    margin: 0; }
  .footer-copyright {
    margin: 0;
    padding: 1.25rem 2.5rem;
    background: #223853;
    text-align: center; }
  .footer a {
    color: inherit; }

.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .5rem 1rem;
  position: fixed;
  bottom: 0;
  left: 0;
  height: 58px;
  width: 100%;
  background: #145493;
  z-index: 10; }
  @media (min-width: 880px) {
    .header {
      position: relative; } }

.image-blocks {
  display: flex;
  flex-flow: row wrap; }

.mobile-page-nav {
  display: block;
  margin-bottom: 0.75rem;
  height: 2.5rem;
  width: 100%;
  background: #fff; }
  @media (min-width: 880px) {
    .mobile-page-nav {
      display: none;
      height: auto;
      width: auto;
      background: inherit; } }

.nav {
  position: fixed;
  top: 0;
  left: 0;
  height: calc(100vh - 58px);
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  align-content: space-between;
  background: #fff;
  opacity: 0;
  overflow: auto;
  pointer-events: none;
  transform: translateY(200vh);
  transform-style: preserve-3d;
  transition: opacity 0.185s ease, transform 0.185s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 1; }
  .mobile-safari .nav {
    height: calc(100vh - 58px - 75px); }
  @media (min-width: 321px) {
    .nav {
      bottom: 58px; } }
  .nav-open .nav {
    opacity: 1;
    pointer-events: all;
    transform: translateY(0); }
  @media (min-width: 880px) {
    .nav {
      position: absolute;
      height: initial;
      padding-left: 2.5rem;
      padding-right: 2.5rem;
      top: 58px;
      bottom: initial;
      transform: translateY(-200vh); } }

.picture img {
  display: block;
  max-width: 200px;
  margin-left: auto;
  margin-right: auto; }
  @media (min-width: 880px) {
    .picture img {
      max-width: 100%; } }

.personal__info {
  text-align: center; }
  @media (min-width: 880px) {
    .personal__info {
      text-align: left; } }
  .personal__info .info h1 {
    margin-top: 0;
    margin-bottom: 1rem; }
  .personal__info .info p {
    margin-bottom: 1rem; }

@media (min-width: 880px) {
  .site::before {
    content: '';
    position: absolute;
    top: 500px;
    left: 5%;
    width: 90%;
    height: 50px;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 100px;
    filter: blur(15px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.05s cubic-bezier(0.19, 1, 0.22, 1) 0s; }
  .site.nav-open::before {
    opacity: 1;
    transition: opacity 0.25s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; } }

.subnav {
  display: none;
  margin: 0;
  padding: 0 1rem;
  list-style: none;
  background: #223853; }
  @media (min-width: 880px) {
    .subnav {
      display: block;
      text-align: right; } }
  .subnav-link {
    display: inline-block;
    margin-left: 2.5rem; }
    .subnav-link:first-child {
      margin-left: 0; }
    .subnav-link a {
      display: block;
      padding-top: 0.75rem;
      padding-bottom: 0.75rem;
      color: rgba(255, 255, 255, 0.7);
      text-decoration: none; }
    .subnav-link.selected a {
      color: #fff;
      font-size: 110%;
      font-weight: bold; }

.subnav-closed {
  display: none; }
  @media (min-width: 880px) {
    .subnav-closed {
      display: none; } }

.open-jobs-subnav {
  display: none; }
  @media (min-width: 880px) {
    .open-jobs-subnav {
      display: none; } }

.open-jobs-subnav-opened {
  display: block; }
  @media (min-width: 880px) {
    .open-jobs-subnav-opened {
      display: block; } }

.contact iframe {
  width: 100%; }

.contact-form p {
  margin-bottom: 1rem; }

@media (min-width: 880px) {
  .donate .page-content {
    margin-bottom: 0; } }

@media (max-width: 321px) {
  .donate .contained .columns {
    padding-left: 0;
    padding-right: 0; } }

.donate .error-message {
  padding: 1rem;
  margin-bottom: 2rem;
  background: #f8e6e7;
  border: 2px solid #ea3d56; }
  .donate .error-message h3 {
    margin-top: 0; }

@media (max-width: 321px) {
  .g-recaptcha {
    transform: scale(0.9); } }

.event-detail .page-title {
  text-align: center; }

.homepage-blocks {
  height: calc(100vh - 58px); }
  @media only screen and (min-device-width: 320px) and (max-device-width: 375px) and (orientation: landscape) {
    .homepage-blocks {
      height: auto; } }
  @media only screen and (min-device-width: 320px) and (max-device-width: 823px) and (orientation: landscape) {
    .homepage-blocks {
      height: auto; } }
  @media (min-width: 880px) and (min-height: 900px) {
    .homepage-blocks {
      height: calc(100vh - 201px - 58px); } }
  @media (min-width: 880px) and (max-height: 900px) {
    .homepage-blocks {
      min-height: 800px; } }
  @media (min-width: 768px) and (max-width: 1024px) and (min-height: 768px) and (orientation: landscape) {
    .homepage-blocks {
      height: calc(100vh - 259px);
      min-height: initial; } }

.contained {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem; }
  @media (min-width: 600px) {
    .contained {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media (min-width: 1100px) {
    .contained {
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 110em) {
    .contained {
      max-width: 1600px; } }
  .contained.full-mobile {
    margin-left: calc(-2.5rem * .5);
    width: calc(100vw + 2.5rem); }
    @media (min-width: 880px) {
      .contained.full-mobile {
        margin-left: auto;
        width: 100%; } }
  .contained.full {
    max-width: initial; }
  .contained.fill-height {
    min-height: calc(100vh - 258px - 98px); }

.page-top {
  padding: 1rem 2.5rem;
  background: #145493; }
  @media (min-width: 880px) {
    .page-top {
      padding: 0;
      background: transparent; } }

.page-content {
  padding-bottom: 2.5rem; }
  .has-sidebar .page-content__inner {
    width: 100%;
    max-width: calc(1100px - (300px + 5rem));
    margin-left: 0; }
    @media (min-width: 880px) {
      .has-sidebar .page-content__inner {
        margin-right: 5rem; } }
    @media (min-width: 110em) {
      .has-sidebar .page-content__inner {
        max-width: calc(1600px - (300px + 5rem)); } }

.page-title.with-button {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  font-size: 16px; }

.has-sidebar {
  display: flex;
  flex-flow: row wrap;
  justify-content: center; }

.styled-list {
  font-size: 110%; }
  .styled-list li {
    margin-bottom: 1rem; }

.item-block {
  margin-bottom: 3rem; }
  .item-block h3 {
    margin-bottom: 0.5rem; }
  .item-block p {
    margin-bottom: 0.5rem; }
  .item-block a {
    color: #5fc6dc; }

.landing-page .page-top {
  padding: 0; }

@media (min-width: 880px) {
  .landing-page .page-content,
  .landing-page .featured {
    margin-bottom: 0; } }

.landing-container {
  margin-bottom: 0; }
  @media (min-width: 880px) {
    .landing-container {
      margin-bottom: 2.5rem;
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media (min-width: 110em) {
    .landing-container {
      max-width: 1600px;
      margin-left: auto;
      margin-right: auto; } }

.landing-preview {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between; }

.landing-image {
  padding-right: 2.5rem;
  flex: 1 0 100%;
  margin-bottom: -25%; }
  @media (min-width: 600px) {
    .landing-image {
      margin-bottom: 0; } }
  @media (min-width: 880px) {
    .landing-image {
      flex-basis: 50%; } }
  .landing-image img {
    height: 75%;
    object-fit: cover;
    object-position: right; }
    @media (min-width: 375px) {
      .landing-image img {
        height: 80%; } }
    @media (min-width: 400px) {
      .landing-image img {
        padding-right: 5%; } }
    @media (min-width: 600px) {
      .landing-image img {
        height: 100%;
        padding-right: 15%; } }
    @media (min-width: 880px) {
      .landing-image img {
        padding-right: 0; } }

.landing-signup {
  padding: 2.5rem;
  flex: 1 0 100%; }
  @media (min-width: 880px) {
    .landing-signup {
      flex-basis: 50%; } }
  .landing-signup p {
    font-size: 115%;
    line-height: 1.4; }

.landing-form label {
  display: inline-block;
  width: 100%; }

.landing-form input[type="submit"] {
  margin-top: 1rem; }

@media (min-width: 600px) {
  .landing-form label {
    width: 70%; }
  .landing-form input[type="submit"] {
    margin-top: 0; } }

.landing-campaign .page-top,
.landing-campaign .page-content {
  background-color: #F2F1F1; }

.landing-campaign .page-content {
  padding-bottom: 5rem; }

.landing-campaign .contained {
  max-width: none;
  padding: 0; }

.news-detail .page-image {
  max-width: 100ch; }

.news-detail .page-title {
  margin-bottom: 1rem;
  text-align: center; }

.border-top {
  border: solid #e6e5e5;
  border-width: 1px 0 0; }

.margin-top {
  margin-top: 1rem; }
  @media (min-width: 880px) {
    .margin-top {
      margin-top: 2rem; } }

.margin-vertical {
  margin-top: 1rem;
  margin-bottom: 1rem; }
  @media (min-width: 880px) {
    .margin-vertical {
      margin-top: 2rem;
      margin-bottom: 2rem; } }

.margin-bottom {
  margin-bottom: 1rem; }
  @media (min-width: 880px) {
    .margin-bottom {
      margin-bottom: 2rem; } }

.padding-vertical {
  padding-top: 1rem;
  padding-bottom: 1rem; }
  @media (min-width: 880px) {
    .padding-vertical {
      padding-top: 2rem;
      padding-bottom: 2rem; } }

.padding-bottom {
  padding-bottom: 1rem; }
  @media (min-width: 880px) {
    .padding-bottom {
      padding-bottom: 2rem; } }

.text-center {
  text-align: center; }
  .text-center--mobile {
    text-align: center; }
    @media (min-width: 880px) {
      .text-center--mobile {
        text-align: left; } }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.u-mobile-only {
  display: block; }
  @media (min-width: 880px) {
    .u-mobile-only {
      display: none !important; } }

.u-no-mobile {
  display: none; }
  @media (min-width: 880px) {
    .u-no-mobile {
      display: block !important; } }

.u-no-mobile--tiny {
  display: none; }
  @media (min-width: 600px) {
    .u-no-mobile--tiny {
      display: block !important; } }

.is-hidden,
.is-visible {
  transition: .2s ease; }

.is-visible {
  opacity: 1;
  max-height: 800px;
  pointer-events: all;
  overflow: initial; }

.is-hidden {
  opacity: 0;
  max-height: 0;
  pointer-events: none;
  overflow: hidden; }

.image-left {
  margin-bottom: 2.5rem; }
  @media (min-width: 880px) {
    .image-left {
      float: left;
      margin-right: 2.5rem; } }

.spacer {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }
  @media (min-width: 880px) {
    .spacer {
      padding-top: 5rem;
      padding-bottom: 5rem; } }
  @media (min-width: 1100px) {
    .spacer {
      padding-top: 10rem;
      padding-bottom: 10rem; } }

.clearfix::before, .clearfix::after {
  content: '';
  display: table;
  clear: both; }

.page-right {
  text-align: right; }

.page-left {
  text-align: left; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjAxX2Jhc2UvX2ltYWdlcy5zY3NzIiwiMDFfYmFzZS9fcm9vdC5zY3NzIiwiMDBfY29uZmlnL192YXJpYWJsZXMuc2NzcyIsIjAxX2Jhc2UvX3R5cG9ncmFwaHkuc2NzcyIsIjAyX2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIwMl9jb21wb25lbnRzL19idXR0b24tZ3JpZC5zY3NzIiwiMDJfY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIwMl9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIwMl9jb21wb25lbnRzL19lbWVyZ2VuY3kuc2NzcyIsIjAyX2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIjAyX2NvbXBvbmVudHMvX2lmcmFtZS5zY3NzIiwiMDJfY29tcG9uZW50cy9fbGluay1ib3guc2NzcyIsIjAyX2NvbXBvbmVudHMvX3BhZ2UtaW1hZ2Uuc2NzcyIsIjAyX2NvbXBvbmVudHMvX3BhZ2UtdmlkZW8uc2NzcyIsIjAyX2NvbXBvbmVudHMvX3Byb2dyZXNzLnNjc3MiLCIwMl9jb21wb25lbnRzL19yZXNwb25zaXZlLXRhYmxlLnNjc3MiLCIwMl9jb21wb25lbnRzL19yb3cuc2NzcyIsIjAwX2NvbmZpZy9fbWl4aW5zLnNjc3MiLCIwMl9jb21wb25lbnRzL19zY2hvb2wtYmxvY2suc2NzcyIsIjAyX2NvbXBvbmVudHMvX3NvY2lhbC5zY3NzIiwiMDJfY29tcG9uZW50cy9fdGFicy5zY3NzIiwiMDJfY29tcG9uZW50cy9kb25hdGUvX2NhcmQtaWNvbnMuc2NzcyIsIjAyX2NvbXBvbmVudHMvZG9uYXRlL19jY3YtaWNvbnMuc2NzcyIsIjAyX2NvbXBvbmVudHMvZG9uYXRlL19mb3JtLnNjc3MiLCIwMl9jb21wb25lbnRzL2RvbmF0ZS9fbG9nb3Muc2NzcyIsIjAyX2NvbXBvbmVudHMvZG9uYXRlL19wYXltZW50LW1ldGhvZC5zY3NzIiwiMDJfY29tcG9uZW50cy9kb25hdGUvX3ByZXZpZXcuc2NzcyIsIjAyX2NvbXBvbmVudHMvZm9ybXMvX2FiaWRlLnNjc3MiLCIwMl9jb21wb25lbnRzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiMDJfY29tcG9uZW50cy9mb3Jtcy9faW5wdXQuc2NzcyIsIjAyX2NvbXBvbmVudHMvZm9ybXMvX2xhYmVsLnNjc3MiLCIwMl9jb21wb25lbnRzL2Zvcm1zL19wcmVmaXguc2NzcyIsIjAyX2NvbXBvbmVudHMvZm9ybXMvX3JlcGVhdGFibGUuc2NzcyIsIjAyX2NvbXBvbmVudHMvZm9ybXMvX3NlbGVjdC5zY3NzIiwiMDJfY29tcG9uZW50cy9saW5rL19saW5rLnNjc3MiLCIwMl9jb21wb25lbnRzL3BvcnRhbC9fYmFzZS5zY3NzIiwiMDJfY29tcG9uZW50cy9wb3J0YWwvX25vdGlmaWNhdGlvbnMuc2NzcyIsIjAyX2NvbXBvbmVudHMvcG9ydGFsL2FwcGxpY2F0aW9ucy9fZGFzaGJvYXJkLnNjc3MiLCIwMl9jb21wb25lbnRzL3BvcnRhbC9hcHBsaWNhdGlvbnMvX2RldGFpbC5zY3NzIiwiMDJfY29tcG9uZW50cy9wb3J0YWwvYXBwbGljYXRpb25zL19pbnRlcnZpZXdzLnNjc3MiLCIwMl9jb21wb25lbnRzL3BvcnRhbC9lbXBsb3llZS9fYWN0aXZpdHkuc2NzcyIsIjAyX2NvbXBvbmVudHMvcG9ydGFsL2VtcGxveWVlL19hdHRhY2htZW50cy5zY3NzIiwiMDJfY29tcG9uZW50cy9wb3J0YWwvZW1wbG95ZWUvX2NvbW1lbnRzLnNjc3MiLCIwMl9jb21wb25lbnRzL3BvcnRhbC9lbXBsb3llZS9faGlzdG9yeS5zY3NzIiwiMDJfY29tcG9uZW50cy9zY2hvb2wvX2Nob2ljZXMuc2NzcyIsIjAyX2NvbXBvbmVudHMvc2Nob29sL19maWVsZHMuc2NzcyIsIjAzX2VsZW1lbnRzL19hcnRpY2xlLnNjc3MiLCIwM19lbGVtZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIwM19lbGVtZW50cy9fY2FyZHMuc2NzcyIsIjAzX2VsZW1lbnRzL19kZXRhaWwuc2NzcyIsIjAzX2VsZW1lbnRzL19mZWF0dXJlZC5zY3NzIiwiMDNfZWxlbWVudHMvX2ZpbHRlci5zY3NzIiwiMDNfZWxlbWVudHMvX2pvYi1zZWFyY2guc2NzcyIsIjAzX2VsZW1lbnRzL19qb2JzLnNjc3MiLCIwM19lbGVtZW50cy9fbGluay1ib3hlcy5zY3NzIiwiMDNfZWxlbWVudHMvX25ld3MtaXRlbS5zY3NzIiwiMDNfZWxlbWVudHMvX3NlY3Rpb24uc2NzcyIsIjAzX2VsZW1lbnRzL19zaWRlYmFyLnNjc3MiLCIwM19lbGVtZW50cy9fc29ydC5zY3NzIiwiMDNfZWxlbWVudHMvX3RhYnMtY29udGVudC5zY3NzIiwiMDNfZWxlbWVudHMvYWx1bW5pLXN0b3JpZXMvX2FsdW1uaS1zdG9yaWVzLWRldGFpbC5zY3NzIiwiMDNfZWxlbWVudHMvYWx1bW5pLXN0b3JpZXMvX2FsdW1uaS1zdG9yaWVzLWxpc3Quc2NzcyIsIjAzX2VsZW1lbnRzL2Zvcm1zL19mb3Jtcy5zY3NzIiwiMDNfZWxlbWVudHMvaGVhZGVyL19kZXNrdG9wLW1lbnUuc2NzcyIsIjAzX2VsZW1lbnRzL2hlYWRlci9fbG9nby5zY3NzIiwiMDNfZWxlbWVudHMvaGVhZGVyL19tb2JpbGUtYnV0dG9uLnNjc3MiLCIwM19lbGVtZW50cy9pbWFnZS1ibG9jay9faW1hZ2UtYmxvY2suc2NzcyIsIjAzX2VsZW1lbnRzL25hdi9fbmF2LWNvcHlyaWdodC5zY3NzIiwiMDNfZWxlbWVudHMvbmF2L19uYXYtbWVudS5zY3NzIiwiMDNfZWxlbWVudHMvbmF2L19uYXYtbWV0YS5zY3NzIiwiMDNfZWxlbWVudHMvbmF2L19uYXYtc2VhcmNoLnNjc3MiLCIwM19lbGVtZW50cy9uYXYvX25hdi1zb2NpYWwuc2NzcyIsIjAzX2VsZW1lbnRzL3NjaG9vbHMvX3NjaG9vbC1kZXRhaWwuc2NzcyIsIjAzX2VsZW1lbnRzL3NjaG9vbHMvX3NjaG9vbC1saXN0LnNjc3MiLCIwM19lbGVtZW50cy9zY2hvb2xzL19zY2hvb2wtdmlkZW8uc2NzcyIsIjAzX2VsZW1lbnRzL3NlYXJjaC9fcmVzdWx0cy5zY3NzIiwiMDNfZWxlbWVudHMvc2VhcmNoL19zZWFyY2guc2NzcyIsIjA0X3RlbXBsYXRlcy9fYWN0aW9ucy5zY3NzIiwiMDRfdGVtcGxhdGVzL19hcHBsaWNhdGlvbnMuc2NzcyIsIjA0X3RlbXBsYXRlcy9fYmVjb21lLXNjaG9vbC5zY3NzIiwiMDRfdGVtcGxhdGVzL19kYXNoYm9hcmQuc2NzcyIsIjA0X3RlbXBsYXRlcy9fZm9vdGVyLnNjc3MiLCIwNF90ZW1wbGF0ZXMvX2hlYWRlci5zY3NzIiwiMDRfdGVtcGxhdGVzL19pbWFnZS1ibG9ja3Muc2NzcyIsIjA0X3RlbXBsYXRlcy9fbW9iaWxlLXN1Ym5hdi5zY3NzIiwiMDRfdGVtcGxhdGVzL19uYXYuc2NzcyIsIjA0X3RlbXBsYXRlcy9fcHJvZmlsZS5zY3NzIiwiMDRfdGVtcGxhdGVzL19zaXRlLnNjc3MiLCIwNF90ZW1wbGF0ZXMvX3N1Ym5hdi5zY3NzIiwiMDVfcGFnZXMvX2NvbnRhY3Quc2NzcyIsIjA1X3BhZ2VzL19kb25hdGUuc2NzcyIsIjA1X3BhZ2VzL19ldmVudHMuc2NzcyIsIjA1X3BhZ2VzL19ob21lcGFnZS5zY3NzIiwiMDVfcGFnZXMvX2ludGVyaW9yLnNjc3MiLCIwNV9wYWdlcy9fbGFuZGluZy5zY3NzIiwiMDVfcGFnZXMvX25ld3Muc2NzcyIsIjA2X2hlbHBlcnMvX2JvcmRlci5zY3NzIiwiMDZfaGVscGVycy9fbWFyZ2luLnNjc3MiLCIwNl9oZWxwZXJzL19wYWRkaW5nLnNjc3MiLCIwNl9oZWxwZXJzL191dGlsaXRpZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxHQUFHLENBQUM7RUFDRixTQUFTLEVBQUUsSUFBSTtFQUNmLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQsTUFBTSxDQUFDO0VBQ0wsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUNQRCxDQUFDLENBQUM7RUFDQSxVQUFVLEVBQUUsVUFBVSxHQUN2Qjs7QUFFRCxJQUFJLENBQUM7RUFDSCxLQUFLLEVDU0UsT0FBTztFRFJkLFdBQVcsRUNMSCxRQUFRLEVBQUUsVUFBVTtFRE01QixTQUFT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LENBQUM7TUFLSixXQUFXLEVBQUUsSUFBZTtNQUM1QixjQUFjLEVBQUUsSUFBZSxHQU9sQztFQUpDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJQVQzQixPQUFPLENBQUM7TUFVSixXQUFXLEVBQUUsS0FBZTtNQUM1QixjQUFjLEVBQUUsS0FBZSxHQUVsQzs7QUFFRCxBQUNFLFNBRE8sQUFDUCxRQUFTLEVBRFgsQUFFRSxTQUZPLEFBRVAsT0FBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBR0gsV0FBVyxDQUFDO0VBQUUsVUFBVSxFQUFFLEtBQUssR0FBSzs7QUFDcEMsVUFBVSxDQUFDO0VBQUUsVUFBVSxFQUFFLElBQUksR0FBSyIsImZpbGUiOiJuaWNzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbImltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59IiwiKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuICBjb2xvcjogJGNfdGV4dDtcbiAgZm9udC1mYW1pbHk6ICRmZl9ib2R5O1xuICBmb250LXNpemU6ICRmc19iYXNlO1xuICBmb250LXdlaWdodDogMzAwO1xuXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5odG1sLCBib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkubW9iaWxlLXNhZmFyaSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH0iLCIvLyBGb250IEZhbWlsaWVzXG4kZmZfYm9keTogJ3NvbGllbCcsIHNhbnMtc2VyaWY7XG4kZmZfaGVhZGluZzogJ2ZpbHNvbi1zb2Z0Jywgc2Fucy1zZXJpZjtcbiRmZl9zY3JpcHQ6ICdsZWFybmluZy1jdXJ2ZScsIGN1cnNpdmU7XG5cbi8vIEZvbnQgU2l6aW5nXG4kZnNfYmFzZTogMTZweDtcbiRmc19oMTogMy4xMjVyZW07XG4kZnNfaDI6IDIuNXJlbTtcbiRmc19oMzogMS44NzVyZW07XG4kZnNfaDQ6IDEuMjVyZW07XG5cbi8vIENvbG9yc1xuJGNfcm95YWw6ICMxNDU0OTM7XG4kY19uYXZ5OiAjMjIzODUzO1xuJGNfbGFnb29uOiAjNWZjNmRjO1xuJGNfeWVsbG93OiAjZjZjODRiO1xuJGNfYmxhY2s6ICMwMDA7XG4kY193aGl0ZTogI2ZmZjtcbiRjX2dyYXk6ICNlNmU1ZTU7XG4kY19ncmF5X3RleHQ6ICNjOGM4Yzg7XG4kY19yZWQ6ICNlYTNkNTY7XG5cbiRjX3ByaW1hcnk6ICRjX3JveWFsO1xuJGNfc2Vjb25kYXJ5OiAkY195ZWxsb3c7XG4kY19idXR0b246ICRjX2xhZ29vbjtcbiRjX3RleHQ6ICRjX25hdnk7XG4kY19lcnJvcjogJGNfcmVkO1xuXG4kY19mYWNlYm9vazogIzQ2NjI5ZTtcbiRjX3R3aXR0ZXI6ICMwMGFjZWU7XG4kY192aW1lbzogIzFhYjdlYTtcbiRjX2luc3RhZ3JhbTogIzhhM2FiOTtcbiRjX2xpbmtlZGluOiAjMDA3N2I1O1xuXG4vLyBTcGFjaW5nXG4kc3BfZGVmYXVsdDogMi41cmVtO1xuJHNwX2JveF9zaGFkb3c6IDVweDtcblxuLy8gUmFkaXVzXG4kYnJfYmFzZTogNHB4O1xuXG4vLyBNZWRpYSBRdWVyaWVzXG4kbXFfMzIwOiAzMjFweDtcbiRtcV80MTQ6IDQxNHB4O1xuJG1xX3Rpbnk6IDYwMHB4O1xuJG1xXzcwMDogNzAwcHg7XG4kbXFfc21hbGw6IDg4MHB4O1xuJG1xX21lZGl1bTogMTEwMHB4O1xuJG1xX2xhcmdlOiAxMTBlbTtcbiRtcV9oZWlnaHQ6IDkwMHB4O1xuXG4vLyBTaXppbmdcbiRtb2JpbGUtaGVhZGVyLWhlaWdodDogNThweDtcbiRpbnRlcmlvci13aWR0aDogMTEwMHB4O1xuJGludGVyaW9yLXdpZHRoLWxhcmdlOiAxNjAwcHg7XG4kc2lkZWJhci13aWR0aDogMzAwcHg7XG4kaW50ZXJpb3ItZ3V0dGVyOiAkc3BfZGVmYXVsdCAqIDI7IiwiaDEsIGgyLCBoMywgaDQge1xuICBmb250LWZhbWlseTogJGZmX2hlYWRpbmc7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cbn1cblxuaDEgeyBmb250LXNpemU6ICRmc19oMSAqIC43NTsgfVxuaDIgeyBmb250LXNpemU6ICRmc19oMiAqIC43NTsgfVxuaDMgeyBmb250LXNpemU6ICRmc19oMyAqIC43NTsgfVxuaDQgeyBmb250LXNpemU6ICRmc19oNCAqIC43NTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gIGgxIHsgZm9udC1zaXplOiAkZnNfaDE7IH1cbiAgaDIgeyBmb250LXNpemU6ICRmc19oMjsgfVxuICBoMyB7IGZvbnQtc2l6ZTogJGZzX2gzOyB9XG4gIGg0IHsgZm9udC1zaXplOiAkZnNfaDQ7IH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRtcV9sYXJnZSkge1xuICBoMSB7IGZvbnQtc2l6ZTogJGZzX2gxICogMS4xNTsgfVxuICBoMiB7IGZvbnQtc2l6ZTogJGZzX2gyICogMS4xNTsgfVxuICBoMyB7IGZvbnQtc2l6ZTogJGZzX2gzICogMS4xNTsgfVxuICBoNCB7IGZvbnQtc2l6ZTogJGZzX2g0ICogMS4xNTsgfVxufVxuXG5hIHtcbiAgY29sb3I6ICRjX25hdnk7XG59XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdDtcbiAgZm9udC1zaXplOiAxMTAlO1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9sYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMTI1JTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG5cbi5jb250YWluZWQgdWwge1xuICBmb250LXNpemU6IDEwMCU7XG4gIFxuICBsaSB7IG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjI7IH1cbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfbGFyZ2UpIHtcbiAgICBmb250LXNpemU6IDEyNSU7XG4gIH1cbn1cblxuLnNjcmlwdCB7IGZvbnQtZmFtaWx5OiAkZmZfc2NyaXB0OyB9IiwiLmJyZWFkY3J1bWJzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjQgMCAwICRzcF9kZWZhdWx0O1xuICB9XG59XG4gIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBcbiAgICBjb2xvcjogJGNfd2hpdGU7XG4gICAgZm9udC1zaXplOiA4NSU7XG4gICAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICBjb2xvcjogJGNfbmF2eTtcbiAgICB9XG4gICAgXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcvJztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc3BfZGVmYXVsdCAqIC4xO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC4xO1xuICAgIH1cbiAgICBcbiAgICAmLmN1cnJlbnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjX2xhZ29vbjtcbiAgICB9XG4gICAgXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNfd2hpdGU7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgICAgY29sb3I6ICRjX25hdnk7XG4gICAgICB9XG4gICAgfVxuICB9IiwiLmJ1dHRvbi1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIFxuICBtYXJnaW4tbGVmdDogLSRzcF9kZWZhdWx0ICogLjI7XG4gIG1hcmdpbi1yaWdodDogLSRzcF9kZWZhdWx0ICogLjI7XG4gIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdCAqIC4yO1xuICBwYWRkaW5nLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMjtcbiAgXG4gIC5pdGVtIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjI7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICBcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMjYuMjVlbSkge1xuICAgICAgbWluLXdpZHRoOiAkc3BfZGVmYXVsdCAqIDM7XG4gICAgfVxuICAgIFxuICAgICYuaGFzLWNoaWxkcmVuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIFxuICAgICAgJi5mb2N1cyB7XG4gICAgICAgIC5kb2xsYXItc2lnbiB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNwX2RlZmF1bHQgKiAuNCk7XG4gICAgICAgICAgY29sb3I6ICRjX3doaXRlO1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24tLWlucHV0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY19uYXZ5O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNfbmF2eTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLmJ1dHRvbiB7XG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY19uYXZ5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY19uYXZ5O1xuICAgICAgY29sb3I6ICRjX3doaXRlO1xuICAgIH1cbiAgICAmLS1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGNfd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5kb2xsYXItc2lnbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4OztcbiAgbGVmdDogMDtcbiAgXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IC4ycyBlYXNlO1xufSIsIi5idXR0b24sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjMgJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBcbiAgICBib3JkZXI6IDJweCBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAkZnNfYmFzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBcbiAgICAmLS10ZWFsIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNfYnV0dG9uO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjX2J1dHRvbjtcbiAgICAgICAgY29sb3I6ICRjX3doaXRlO1xuICAgIH1cbiAgICBcbiAgICAmLS1yb3lhbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjX3JveWFsO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjX3JveWFsO1xuICAgICAgICBjb2xvcjogJGNfd2hpdGU7XG4gICAgfVxuICAgIFxuICAgICYtLWdyYXkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY19ncmF5O1xuICAgICAgICBib3JkZXItY29sb3I6ICRjX2dyYXk7XG4gICAgICAgIGNvbG9yOiAkY19ibGFjaztcbiAgICB9XG4gICAgXG4gICAgJi0tZGVsZXRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNfZXJyb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNfZXJyb3I7XG4gICAgICAgIGNvbG9yOiAkY193aGl0ZTtcbiAgICB9XG4gICAgXG4gICAgJi0teWVsbG93IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNfeWVsbG93O1xuICAgICAgICBib3JkZXItY29sb3I6ICRjX3llbGxvdztcbiAgICAgICAgY29sb3I6ICRjX25hdnk7XG4gICAgfVxuICAgIFxuICAgICYtLXJvdW5kIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICB9XG4gICAgXG4gICAgJi0td2lkZSB7XG4gICAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjMgJHNwX2RlZmF1bHQgKiAuODtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1xX3RpbnkpIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDE1ZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi0tdGlueSB7XG4gICAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjEgJHNwX2RlZmF1bHQgKiAuMjtcbiAgICAgICAgXG4gICAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIH1cbiAgICBcbiAgICAmLS1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjEyNSAkc3BfZGVmYXVsdCAqIC40O1xuICAgICAgICBcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgfVxuXG4gICAgJi0tbGFyZ2Uge1xuICAgICAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC4yICRzcF9kZWZhdWx0ICogLjg7XG5cbiAgICAgICAgZm9udC1zaXplOiAxMTAlO1xuICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgIH1cblxuICAgICYtLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICBcbiAgICAmLS1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgfVxufSIsIi5jYXJkIHtcbiAgZmxleDogYXV0bztcbiAgd2lkdGg6IGNhbGMoNTAlIC0gKCN7JHNwX2RlZmF1bHR9ICogMS41KSk7XG4gIG1pbi13aWR0aDogY2FsYygyODBweCAtICgjeyRzcF9kZWZhdWx0fSAqIDEuNSkpO1xuICBcbiAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAxLjI1O1xuICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuNzU7XG4gIG1hcmdpbi1yaWdodDogJHNwX2RlZmF1bHQgKiAuNzU7XG4gIFxuICBiYWNrZ3JvdW5kOiAkY193aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNfZ3JheTtcbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogJHNwX2RlZmF1bHQgKiAxLjI1O1xuICB9XG4gICAgXG4gICYtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDB2aDtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuICBcbiAgJi1pbmZvIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgcGFkZGluZy1yaWdodDogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgXG4gICAgaDMsIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgfVxuICAgIFxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuODtcbiAgICB9XG4gICAgXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNfbmF2eTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBcbiAgJi1saW5rcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjI7XG4gICAgICBcbiAgICAgIGNvbG9yOiAkY19yb3lhbDtcbiAgICAgIFxuICAgICAgJjpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgfVxuICB9XG59IiwiLmVtZXJnZW5jeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgXG4gIGJhY2tncm91bmQ6ICRjX25hdnk7XG4gIGNvbG9yOiAkY193aGl0ZTtcbiAgXG4gICYtY29udGVudC5jb250YWluZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjggJHNwX2RlZmF1bHQgKiAxLjQgJHNwX2RlZmF1bHQgKiAuOCAkc3BfZGVmYXVsdCAqIC44O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDk1JTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICB9XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMTAlO1xuICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY19sYWdvb247XG4gICAgfVxuICB9XG4gIFxuICBidXR0b24ge1xuICAgIG1hcmdpbjogJHNwX2RlZmF1bHQgKiAuNCBhdXRvIDA7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRzcF9kZWZhdWx0ICogLjQ7IHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufSIsIi5ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0kc3BfZGVmYXVsdCAqIC4yO1xuICBtYXJnaW4tcmlnaHQ6IC0kc3BfZGVmYXVsdCAqIC4yO1xuICBcbiAgJi5uby1ndXR0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICBcbiAgJi1pdGVtIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICBcbiAgICBib3JkZXItbGVmdDogJHNwX2RlZmF1bHQgKiAuMiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjIgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIFxuICAgIC5uby1ndXR0ZXIgJiB7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuICAgIFxuICAgICYucHJlZml4IHtcbiAgICAgIG1heC13aWR0aDogMTAlO1xuICAgICAgbWluLXdpZHRoOiA1MHB4O1xuICAgIH1cbiAgfVxufSIsImlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMDtcbn0iLCIubGluay1ib3gge1xuICAvL2ZsZXg6IDEgMCBjYWxjKCAoMTAwJSAvIDMpIC0gKCN7JHNwX2RlZmF1bHR9ICogLjgpICk7XG4gIGZsZXg6IDE7XG4gIFxuICBwYWRkaW5nLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjQ7XG4gIHBhZGRpbmctYm90dG9tOiAkc3BfZGVmYXVsdDtcbiAgXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIFxuICBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBcbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MTNweCkge1xuICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICBtaW4taGVpZ2h0OiAzNDBweDtcbiAgfVxuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9tZWRpdW0pIHtcbiAgICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjQ7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgbWluLWhlaWdodDogMzEwcHg7XG4gIH1cbiAgXG4gIHAge1xuICAgIG1heC13aWR0aDogMzZjaDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn0iLCIucGFnZS1pbWFnZTpub3QoLm5ld3MtaW1hZ2UpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBcbiAgJjpub3QoLmtlZXAtaW1hZ2UpIHtcbiAgICBpbWcsXG4gICAgaWZyYW1lLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICBpbWcsXG4gIGlmcmFtZSxcbiAgdmlkZW8geyAgICBcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIFxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICAgIFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICAgICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9sYXJnZSkgYW5kIChtaW4taGVpZ2h0OiAkbXFfaGVpZ2h0KSB7XG4gICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIH1cbiAgfVxufSIsIi5wYWdlLXZpZGVvLmNvbnRhaW5lZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIG1hcmdpbi10b3A6ICRzcF9kZWZhdWx0ICogLjg7XG4gIH1cbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfbWVkaXVtKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgXG4gIGlmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgbGVmdDogMDtcbiAgICBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9tZWRpdW0pIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBoZWlnaHQ6IDYxOXB4O1xuICAgIH1cbiAgfVxufSIsIi5wcm9ncmVzcy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgXG4gIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0O1xuICBcbiAgLmZpcnN0IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIFxuICAgICAgICArIC5wcm9ncmVzcyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgc3Bhbi5hY3RpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMTRweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiA4cHggMTBweDtcbiAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIFxuICBtYXJnaW46ICRzcF9kZWZhdWx0ICogLjQgMCAwO1xuICBwYWRkaW5nOiAwO1xuICBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBcbiAgJi5jbG9zZWQge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIFxuICAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgXG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgfVxuICBcbiAgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIFxuICAgIG1hcmdpbi1sZWZ0OiAkc3BfZGVmYXVsdCAqIC4yO1xuICAgIG1hcmdpbi1yaWdodDogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICBcbiAgICBiYWNrZ3JvdW5kOiAkY193aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY19ncmF5O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBcbiAgICAmLnByZXZpb3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjX2xhZ29vbjtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjX2xhZ29vbiwgNSUpO1xuICAgIH1cbiAgICBcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY19yb3lhbDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNfcm95YWw7XG4gICAgICBjb2xvcjogJGNfd2hpdGU7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc3BfZGVmYXVsdCAqIC41O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC41O1xuICAgIFxuICAgICAgJjpmaXJzdC1vZi10eXBlOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICBcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0yNHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgXG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgIGJvcmRlcjogNnB4IHNvbGlkICRjX2dyYXk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNfZ3JheTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA2cHggOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgKyBzcGFuIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIFxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogKCAoJHNwX2RlZmF1bHQgKiAuNCkgKiAtMSk7XG4gICAgICAgIFxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIFxuICAgICAgICBiYWNrZ3JvdW5kOiAkY19ncmF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYmFjay1idG4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzcF9kZWZhdWx0ICogLjQpO1xufSIsIi5yZXNwb25zaXZlLXRhYmxlIHtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgXG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIFxuICAgIGJhY2tncm91bmQ6ICRjX25hdnk7XG4gICAgY29sb3I6ICRjX3doaXRlO1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NC43NWVtKSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgfVxuICAgIFxuICAgIGEgeyBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gIH1cbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NC43NWVtKSB7XG4gICAgdGJvZHkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNfZ3JheTtcbiAgICB9XG4gIH1cbiAgXG4gIHRyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY19ncmF5O1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NC43NWVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICAgICAgXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7IGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cbiAgICB9XG4gIH1cbiAgXG4gIHRkLCB0aCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICBcbiAgdGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIFxuICAgIHBhZGRpbmctbGVmdDogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC40O1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgIFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY19ncmF5O1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NC43NWVtKSB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNfZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpO1xuICAgICAgXG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgXG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgICBwYWRkaW5nLXRvcDogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BfZGVmYXVsdCAqIC4xNTtcbiAgICAgIFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BfZGVmYXVsdCAqIC4yO1xuICAgICAgICBcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNfZ3JheTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0Ljc1ZW0pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NC43NWVtKSB7XG4gICAgdGQsIHRoIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC4yICRzcF9kZWZhdWx0ICogLjI7XG4gICAgfVxuICB9XG59IiwidWwucm93IHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgXG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICB9XG59XG5cbi5yb3cge1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC44O1xuXG4gIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgJiAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gRXhwYW5kZWQgcm93XG4gICYuZXhwYW5kZWQge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gIH1cbiAgXG4gICYuY29sbGFwc2Uge1xuICAgID4gLmNvbHVtbiB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICB9XG4gIH1cblxuICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgJi5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbiAgXG4uY29sdW1uIHtcbiAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbn1cblxuLy8gQ29sdW1uIHJvd1xuLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuLmNvbHVtbi5yb3cucm93IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbi5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5AaW5jbHVkZSAtZWFjaC1icmVha3BvaW50IHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29scyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgIC4jeyQtc2l6ZX0tI3skaX0ge1xuICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgIC4jeyQtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgfVxuICB9XG4gIFxuICAvLyBQb3NpdGlvbmluZ1xuICBAaWYgJGNlbnRlciB7XG4gICAgLiN7JC1zaXplfS0jeyRjZW50ZXJ9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgIH1cbiAgfVxufVxuXG4uY29sdW1ucyB7XG4gIEBleHRlbmQgLmNvbHVtbjtcbn0iLCIkYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogODgwcHgsXG4gIGxhcmdlOiAxMTAwcHhcbikgIWRlZmF1bHQ7XG5cbiRibG9jay1ncmlkLW1heDogOCAhZGVmYXVsdDtcblxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSAhZGVmYXVsdDtcbiQtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG4kY29sczogMTI7XG4kY2VudGVyOiAnY2VudGVyZWQnO1xuXG4kZ3JpZC1yb3ctd2lkdGg6IHJlbS1jYWxjKDExMDBweCk7XG5cbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogNDBweCxcbikgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBtYXAtdG8tbGlzdCgkbWFwLCAka2VlcDogJ2JvdGgnKSB7XG4gICRrZWVwOiBpZihpbmRleCgna2V5cycgJ3ZhbHVlcycsICRrZWVwKSwgJGtlZXAsICdib3RoJyk7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgICRrZXlzOiAoKTtcbiAgICAkdmFsdWVzOiAoKTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XG4gICAgICAka2V5czogYXBwZW5kKCRrZXlzLCAka2V5KTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdmFsKTtcbiAgICB9XG5cbiAgICBAaWYgJGtlZXAgPT0gJ2tleXMnIHtcbiAgICAgIEByZXR1cm4gJGtleXM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRrZWVwID09ICd2YWx1ZXMnIHtcbiAgICAgIEByZXR1cm4gJHZhbHVlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiB6aXAoJGtleXMsICR2YWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkbWFwKSAhPSAnbGlzdCcsICgkdmFsdWUsKSwgJG1hcCk7XG5cbn1cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6IDE2cHg7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuQGZ1bmN0aW9uIC10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGZzX2Jhc2U7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogMCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLWJwLXRvLWVtKCRicCk7XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0ge1xuICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcblxuICAkLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5cbkBmdW5jdGlvbiAtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAwO1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cblxuQGZ1bmN0aW9uIC1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cblxuQG1peGluIC1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJG9sZC1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC1zaXplKSB7XG4gICAgICAkb2xkLXNpemU6ICQtc2l6ZTtcbiAgICB9XG4gICAgJC1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXNpemU6ICRvbGQtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cblxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cblxuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRjb2xzKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBleHBhbmQpIHtcbiAgJGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IGV4cGFuZCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGNvbHMpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG4gIFxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn0iLCIuc2Nob29sLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIFxuICBwYWRkaW5nLXRvcDogJHNwX2RlZmF1bHQgKiAuODtcbiAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0ICogLjg7XG4gIFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNfZ3JheTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZTtcbiAgXG4gICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAtJHNwX2RlZmF1bHQgKiAuODsgfVxuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV80MTQpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkY19ncmF5LCA4JSk7XG4gICAgfVxuICB9XG4gIFxuICAmX19pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICB9XG4gICAgXG4gICAgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICB9XG4gIH1cbiAgXG4gICZfX2luZm8ge1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzcF9kZWZhdWx0O1xuICAgIH1cbiAgICBcbiAgICBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICAgIFxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIFxuICAgICAgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIH1cbiAgICBcbiAgICBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgIH1cbiAgICBcbiAgfVxuICBcbiAgJl9fbGlua3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xXzQxNCkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgICBcbiAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV80MTQpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgICAgIFxuICAgICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuc29jaWFsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogMzZweDtcbiAgd2lkdGg6IDM2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBtYXJnaW4tcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjQ7XG5cbiAgYm9yZGVyOiAycHggc29saWQgJGNfd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6IDE4MCU7XG4gIGxpbmUtaGVpZ2h0OiAuODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBcbiAgdXNlIHtcbiAgICBmaWxsOiAkY193aGl0ZTtcbiAgfVxuICBcbiAgJi0tYWx0IHtcbiAgICBib3JkZXItY29sb3I6ICRjX25hdnk7XG4gICAgY29sb3I6ICRjX25hdnk7XG4gICAgXG4gICAgdXNlIHtcbiAgICAgIGZpbGw6ICRjX25hdnk7XG4gICAgfVxuICB9XG4gIFxuICBzdmcge1xuICAgIGhlaWdodDogMzZweDtcbiAgICB3aWR0aDogMzZweDtcbiAgfVxuXG4gICY6bGFzdC1vZi10eXBlIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIFxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xXzQxNCkge1xuICAgIG1hcmdpbi1yaWdodDogJHNwX2RlZmF1bHQgKiAuODtcbiAgfVxuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIG1hcmdpbi1yaWdodDogJHNwX2RlZmF1bHQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZSwgYm9yZGVyIC4ycyBlYXNlLCB0cmFuc2Zvcm0gLjJzIGVhc2UsIGNvbG9yIC4ycyBlYXNlO1xuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjX3doaXRlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgXG4gICAgICB1c2Uge1xuICAgICAgICBmaWxsOiAkY193aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJltkYXRhLXR5cGU9J2ZhY2Vib29rJ106aG92ZXIgIHsgYmFja2dyb3VuZDogJGNfZmFjZWJvb2s7IGJvcmRlci1jb2xvcjogJGNfZmFjZWJvb2s7IH1cbiAgICAmW2RhdGEtdHlwZT0ndHdpdHRlciddOmhvdmVyICAgeyBiYWNrZ3JvdW5kOiAkY190d2l0dGVyOyBib3JkZXItY29sb3I6ICRjX3R3aXR0ZXI7IH1cbiAgICAmW2RhdGEtdHlwZT0ndmltZW8nXTpob3ZlciAgICAgeyBiYWNrZ3JvdW5kOiAkY192aW1lbzsgYm9yZGVyLWNvbG9yOiAkY192aW1lbzsgfVxuICAgICZbZGF0YS10eXBlPSdpbnN0YWdyYW0nXTpob3ZlciB7IGJhY2tncm91bmQ6ICRjX2luc3RhZ3JhbTsgYm9yZGVyLWNvbG9yOiAkY19pbnN0YWdyYW07IH1cbiAgICAmW2RhdGEtdHlwZT0nbGlua2VkaW4nXTpob3ZlciAgeyBiYWNrZ3JvdW5kOiAkY19saW5rZWRpbjsgYm9yZGVyLWNvbG9yOiAkY19saW5rZWRpbjsgfVxuICB9XG59XG5cbnN2ZyBwYXRoLFxuc3ZnIGNpcmNsZSB7XG4gIGZpbGw6IGluaGVyaXQ7XG59IiwiLnRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBcbiAgbWFyZ2luOiAkc3BfZGVmYXVsdCAqIC44IDAgMDtcbiAgcGFkZGluZzogMDtcbiAgXG4gIGRkIHtcbiAgICBmbGV4OiAxIDAgNTAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgYmFja2dyb3VuZDogJGNfZ3JheTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY19ncmF5O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgXG4gICAgICBiYWNrZ3JvdW5kOiAkY193aGl0ZTtcbiAgICB9XG4gICAgXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjUgJHNwX2RlZmF1bHQgKiAuODtcbiAgICB9XG4gICAgXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJGNfd2hpdGU7XG4gICAgfVxuICB9XG59IiwiLmNhcmQtaWNvbnMge1xuICBzdmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgXG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIC4ycyBlYXNlLCBvcGFjaXR5IC4ycyBlYXNlO1xuICAgIFxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn0iLCIuY2N2LWljb25zIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIFxuICBzdmcge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC4yO1xuICAgICAgcGFkZGluZy1yaWdodDogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgZGFya2VuKCRjX2dyYXksIDEwJSk7XG4gICAgfVxuICB9XG59IiwiLmRvbmF0ZS1mb3JtIHtcbiAgXG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDAgMCAkc3BfZGVmYXVsdCAqIDI7XG4gICAgcGFkZGluZzogMDtcbiAgICBcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbiAgICBsZWdlbmQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgICAgXG4gICAgICBmb250LXNpemU6IDIwMCU7XG4gICAgICBcbiAgICAgICYgKyBwIHsgbWFyZ2luLXRvcDogMDsgfVxuICAgIH1cbiAgICBcbiAgICBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgICAgXG4gICAgICAmOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgICBcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgXG4gICAgICAmLmZvcm10b29sc19yZWN1cnJlbmNlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBpbnB1dCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIGlucHV0Lm1vbnRobHlfY2hlY2tib3gge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7XG4gICAgfVxuICAgIFxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICB9XG4gICAgXG4gICAgaW5wdXQjZm9ybXRvb2xzX2NyZWRpdF9udW1iZXIge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wOTM3NXJlbTtcbiAgICB9XG4gICAgXG4gICAgaW5wdXQjZm9ybXRvb2xzX2NjdiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIH1cbiAgICBcbiAgICAubGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIFxuICAgIHNlbGVjdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMzZweDtcbiAgICB9XG4gICAgXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgbGFiZWwsXG4gICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gICAgICAucHJlZml4IHsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYzsgfVxuICAgIH1cbiAgICBcbiAgICAuZXJyb3JsaXN0IHtcbiAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjI7XG4gICAgICBcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjX2Vycm9yO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGNvbG9yOiAkY19lcnJvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgXG4gICAgICBsaSB7IG1hcmdpbjogJHNwX2RlZmF1bHQgKiAuMSAwOyB9XG4gICAgICBcbiAgICAgICsgcCB7XG4gICAgICAgIHBhZGRpbmc6IDAgJHNwX2RlZmF1bHQgKiAuMiAkc3BfZGVmYXVsdCAqIC4yO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY19lcnJvcjtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgI2Vycm9yTXNnIC5lcnJvcmxpc3Qge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIH1cbiAgICBcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNwX2RlZmF1bHQgKiAyO1xuICAgICAgcGFkZGluZy1yaWdodDogJHNwX2RlZmF1bHQgKiAyO1xuICAgICAgXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xXzQxNCkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgXG59IiwiLmRvbmF0ZS1sb2dvcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgXG4gIGRpdiB7XG4gICAgZm9udDogbm9ybWFsIDlweCBhcmlhbCwgaGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBcbiAgICBpIHsgY29sb3I6ICMwMDA7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICB9XG4gIFxuICBhIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgXG4gIGltZyB7IG1heC1oZWlnaHQ6IDcwcHg7IH1cbn0iLCIucGF5bWVudC1tZXRob2Qge1xuICBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICBcbiAgICArIHNtYWxsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICAgIFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG4gIFxuICAucmVxdWlyZWQgeyBkaXNwbGF5OiBub25lOyB9XG59IiwiLnByZXZpZXctcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMjtcbiAgXG4gIGg1IHsgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMjsgfVxuICBwIHsgbWFyZ2luOiAwOyB9XG59XG5cbi8vIC5kb25hdGlvbi1wcmV2aWV3IC5kb25hdGUtZm9ybSBwIHtcbi8vICAgbWFyZ2luLXRvcDogJHNwX2RlZmF1bHQgKiAuODtcbi8vICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQ7XG4vLyB9IiwiLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICRjX2Vycm9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhlNmU3OyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNfZXJyb3I7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY19lcnJvcjsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY19lcnJvcjsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY19lcnJvcjsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7IGNvbG9yOiAkY19lcnJvcjsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkY19lcnJvcjtcbiAgXG4gICYuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMjtcbiAgXG4gIGNvbG9yOiAkY19uYXZ5O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBcbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIFxuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgXG4gICAgfiBwIHtcbiAgICAgIG1hcmdpbi10b3A6ICRzcF9kZWZhdWx0ICogLjY7XG4gICAgfVxuICB9XG59XG5cbi5pbmZvLXRleHQge1xuICBtYXJnaW4tdG9wOiAkc3BfZGVmYXVsdCAqIC40O1xuICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICBwYWRkaW5nLWxlZnQ6ICRzcF9kZWZhdWx0O1xuICBcbiAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgJGNfZ3JheTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgXG4gIHAgeyBtYXJnaW46IDA7IH1cbn0iLCJmaWVsZHNldCB7XG4gIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjg7XG4gIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdCAqIC40O1xuICBcbiAgYm9yZGVyOiAxcHggc29saWQgJGNfZ3JheTtcbiAgXG4gIGxlZ2VuZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgXG4gIC5yb3c6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59IiwiaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbnRleHRhcmVhIHtcbiAgcGFkZGluZzogJHNwX2RlZmF1bHQgKiAuMyAkc3BfZGVmYXVsdCAqIC40O1xuICBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBcbiAgYmFja2dyb3VuZDogJGNfd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjX2dyYXk7XG4gIGNvbG9yOiAkY19uYXZ5O1xuICBmb250LXNpemU6ICRmc19iYXNlO1xufVxuXG4uaW5wdXQge1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC4yO1xufSIsImxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuMjtcbn0iLCIucHJlZml4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY19ncmF5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiLnNlY3Rpb25fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgbWFyZ2luLWxlZnQ6IC0kc3BfZGVmYXVsdCAqIC4zO1xuICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC40O1xuICBcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDEuNXJlbSk7XG4gIFxuICAmLm9kZGl0eSB7XG4gICAgYmFja2dyb3VuZDogJGNfZ3JheTtcbiAgfVxufVxuICAucmVwZWF0aW5nX3NlY3Rpb25fZGVsZXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3BfZGVmYXVsdCAqIC4xO1xuICAgIHJpZ2h0OiAkc3BfZGVmYXVsdCAqIC4zO1xuICB9XG4gIFxuICAucmVwZWF0aW5nX3NlY3Rpb25fYWRkIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH0iLCJzZWxlY3Qge1xuICBoZWlnaHQ6ICRzcF9kZWZhdWx0ICogLjg7XG4gIHdpZHRoOiAxMDAlO1xuICBcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuXG4uYmctZ3JheSBzZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAkY193aGl0ZTtcbn0iLCIubGluayB7XG4gIGNvbG9yOiAkY19uYXZ5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJi0tZXh0cmEtcGFyZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNfbmF2eTtcbiAgfVxuXG4gICYtLWV4dHJhLWNoaWxkcmVuIHtcbiAgICBkaXNwbGF5OmZsZXg7IFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIH1cblxuICAmLS1leHRyYSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjX25hdnk7XG4gIH1cblxuICAmLS1wcmltYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC42ICRzcF9kZWZhdWx0ICogLjQ7XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNfbmF2eTtcbiAgICBmb250LXNpemU6IDE1MCU7XG4gICAgXG4gICAgJi1ib3JkZXJsZXNzIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4taGVpZ2h0OiA3NjhweCkgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjAwJTtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIChtYXgtZGV2aWNlLWhlaWdodDogNTY4cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgfVxuICAgIFxuICAgIC5zY3JpcHQge1xuICAgICAgZm9udC1zaXplOiAxNTAlO1xuICAgICAgXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgICBmb250LXNpemU6IDI1MCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycyBlYXNlO1xuICAgICAgXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMHB4O1xuICAgICAgICBcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWVudS1ob3Zlci1iZy5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICBcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggLjJzIGVhc2U7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuICAgICAgXG4gICAgICA6bnRoLW9mLXR5cGUoMikgJiB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxNzZweDtcblxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21lbnUtaG92ZXItYmctLWxhcmdlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzNzhweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBtYXgtd2lkdGg6IDI5NHB4O1xuICAgICAgfVxuICAgICAgXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjX3doaXRlO1xuICAgICAgfVxuICAgICAgXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAyMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogLjU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAmLS1zZWNvbmRhcnkge1xuICAgIEBtZWRpYSAobWluLWhlaWdodDogNzY4cHgpIGFuZCAobWluLWRldmljZS13aWR0aDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICBmb250LXNpemU6IDIwMCU7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIFxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTRweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgXG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjX3llbGxvdztcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2U7XG4gICAgICB9XG4gICAgICBcbiAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5wb3J0YWwge1xuICAmLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogJHNwX2RlZmF1bHQgKiAuNjtcbiAgICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuNjtcbiAgICBtYXJnaW46ICRzcF9kZWZhdWx0ICogLjQ7XG4gIH1cbiAgXG4gICYtY2hpbGQge1xuICAgIHRhYmxlLFxuICAgIHRoZWFkLFxuICAgIHRib2R5LFxuICAgIHRyLFxuICAgIHRoLFxuICAgIHRkIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICBcbiAgICB0YWJsZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY19ncmF5O1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgfVxuICAgICAgXG4gICAgdGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgXG4gICAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC4zICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY19ncmF5O1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfNDE0KSB7XG4gICAgICAgIGZsZXg6IDEgMCA1MCU7XG4gICAgICAgIFxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7IGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7XG4gICAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjMgJHNwX2RlZmF1bHQgKiAuODtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgICAgICBcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikgeyBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAgICAgfVxuICAgICAgXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICB0YWJsZSB7IGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICAgICAgdGJvZHkgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH1cbiAgICAgIHRyLFxuICAgICAgdGggICAgeyBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgICAgIHRkICAgIHsgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIH1cbiAgfVxufSIsIi5ub3RpZmljYXRpb24ge1xuICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuNDtcbiAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC40O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICAmLXRyaWdnZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBcbiAgJi1jb3VudCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAubm90aWZpY2F0aW9uLWJlbGwge1xuICAgICAgZmlsbDogI2ZmZjtcbiAgICB9XG4gICAgXG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgIH1cbiAgICBcbiAgICBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTNweDtcbiAgICAgIHJpZ2h0OiAtNXB4O1xuICAgICAgXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgXG4gICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICB3aWR0aDogMTdweDtcbiAgICAgIFxuICAgICAgYmFja2dyb3VuZDogJGNfcmVkO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgY29sb3I6ICRjX3doaXRlO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gIH1cbiAgXG4gICYtbGlzdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNDFweDtcbiAgICByaWdodDogLTJyZW07XG4gICAgd2lkdGg6IDI4MHB4O1xuICAgIFxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgXG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkY19ncmF5LCA1JSk7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHg7XG4gICAgXG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBcbiAgICB0cmFuc2l0aW9uOiAuMnMgZWFzZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNwX2RlZmF1bHQgKiAuMik7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICB0b3A6IDQxcHg7XG4gICAgICBib3R0b206IGluaXRpYWw7XG4gICAgfVxuICAgIFxuICAgICYuaXMtLW9wZW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTE0cHg7XG4gICAgICByaWdodDogY2FsYygycmVtICsgNnB4KTtcbiAgICAgIFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRlbigkY19ncmF5LCA1JSk7XG4gICAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY19ncmF5LCA1JSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgICAgdG9wOiAtMTRweDtcbiAgICAgICAgYm90dG9tOiBpbml0aWFsO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IGxpZ2h0ZW4oJGNfZ3JheSwgNSUpO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDUlO1xuICAgICAgXG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjX2JsYWNrLCAuNSk7XG4gICAgICBmaWx0ZXI6IGJsdXIoMTVweCk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogJHNwX2RlZmF1bHQgKiAuNjtcbiAgICAgIFxuICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkY19ncmF5LCA1JSk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRjX2dyYXksIDUlKTtcbiAgICAgIFxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgcCB7XG4gICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufSIsIi5hcHBsaWNhdGlvbi10YWJsZSB7XG4gIHRoZWFkIHRoIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG4gIFxuICB0ci5pcy1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZDogJGNfeWVsbG93O1xuICAgIFxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAkY195ZWxsb3c7IH1cbiAgfVxufVxuXG4ubm8tYXBwbGljYW50cyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59IiwiLmFjdGlvbi1idXR0b25zIHtcbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFxuICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjQ7IH1cbiAgfVxufVxuXG4uYXBwbGljYXRpb24tdmlldyB7XG5cbiAgLmNvbnRhaW5lZDpub3QoLnBhZ2UtdGl0bGUpIHtcbiAgICAvLyBtaW4taGVpZ2h0OiAzMDBweDtcbiAgfVxuICBcbiAgLnByaW50YWJsZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICB9XG4gIFxuICBoNCwgaDMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBcbiAgICArIGEge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjI7XG4gICAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC4wNSAkc3BfZGVmYXVsdCAqIC4yO1xuICAgICAgXG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG4gIFxuICBoMyArIGEge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuICB9XG4gIFxuICA+IC5wcmludGFibGVfX3NlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0O1xuICAgIFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY19ncmF5O1xuICAgIFxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICBcbiAgLmZpZWxkcyB7XG4gICAgZmllbGRzZXQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gICAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICB9XG4gICAgXG4gICAgLnByaW50YWJsZV9fc2VjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC42O1xuICAgICAgcGFkZGluZzogMCAkc3BfZGVmYXVsdCAqIC44ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgICBcbiAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGNfZ3JheSwgNyUpO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwbGljYXRpb24tdGFibGUge1xuICAuZGVsZXRlIHtcbiAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC4wNSAkc3BfZGVmYXVsdCAqIC4yO1xuICAgICAgXG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxufVxuXG4uYWN0aW9ucyB7XG4gIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIFxuICAmLXBhbmVsIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNjtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgXG4gICAgICArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC40O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmdlbmVyYWwtcGFnaW5hdGlvbiB1bCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMCAkc3BfZGVmYXVsdCAqIC4yO1xuICBwYWRkaW5nOiAwO1xuICBcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LXdlaWdodDogNjAwO1xufSIsIi5hY3Rpdml0eS1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gIFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNfZ3JheTtcbn1cblxuLmFjdGl2aXR5LWhpZ2hsaWdodCB7XG4gIGNvbG9yOiAkY19yb3lhbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn0iLCIuY3VzdG9tIHtcbiAgaDQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBcbiAgICArIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogJHNwX2RlZmF1bHQgKiAuMDUgJHNwX2RlZmF1bHQgKiAuMjtcbiAgICAgIFxuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuICBcbiAgLmZpZWxkcyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICB9XG59XG5cbi5hdHRhY2htZW50X19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIFxuICBhOmZpcnN0LWNoaWxkIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdCAqIC4yO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BfZGVmYXVsdCAqIC4yO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjg7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNfZ3JheTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogLjJzIGVhc2U7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBcbiAgICAgIGJhY2tncm91bmQ6ICRjX2xhZ29vbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiAuNHMgZWFzZTtcbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgICBcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgYS5kZWxldGUge1xuICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjA1ICRzcF9kZWZhdWx0ICogLjI7XG4gICAgICBcbiAgICBmb250LXNpemU6IDgwJTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgXG4gICAgdHJhbnNpdGlvbjogLjJzIGVhc2U7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdEZWxldGUnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBlYXNlO1xuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgcGFkZGluZy1yaWdodDogJHNwX2RlZmF1bHQgKiAuMTtcbiAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn0iLCIuY29tbWVudHNfX3dpZGdldCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY19ncmF5O1xuICBcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogMTIwcHg7XG4gIH1cbn1cblxuLmNvbW1lbnQge1xuICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuNTtcbiAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC42O1xuICBwYWRkaW5nLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNjtcbiAgXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY19ncmF5O1xuICBcbiAgJi1tZXRhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIFxuICAgIC5lZGl0LFxuICAgIC5kZWxldGUge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjI7XG4gICAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC4wNSAkc3BfZGVmYXVsdCAqIC4yO1xuICAgICAgXG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG4gIFxuICAmLWVkaXRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuICBcbiAgJi1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59IiwiLmhpc3RvcnktdGFibGUge1xuICB0aGVhZCB7IGJhY2tncm91bmQ6ICRjX2dyYXk7IGNvbG9yOiAkY19uYXZ5OyB9XG4gIHRib2R5IHRkOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNfZ3JheTtcbiAgfVxufSIsIi5jaG9pY2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkc3BfZGVmYXVsdCAqIC40O1xuICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdDtcbiAgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY19ncmF5O1xuICAgIH1cbiAgfVxufVxuICAuY2hvaWNlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgZmxleDogMSAwIDEwMCU7XG4gICAgXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNfd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuICAgIFxuICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7IH1cbiAgICAmOmxhc3QtY2hpbGQgIHsgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwOyB9XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNfZ3JheTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdCAqIC42O1xuICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgIH1cbiAgICBcbiAgICAmLXJhZGlvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgICYtbGFiZWwge1xuICAgICAgcGFkZGluZy10b3A6ICRzcF9kZWZhdWx0ICogMS4yO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjY7XG4gICAgICAgIFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLWluZm8ge1xuICAgICAgbWF4LXdpZHRoOiAzNmNoO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi1idXR0b24ge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgfSIsIi5zY2hvb2wtZmllbGRzIHtcbiAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0O1xuICBcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjX2dyYXk7XG4gIFxuICAmLmlzLWhpZGRlbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgXG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC4yO1xuICAgIFxuICAgICsgc21hbGwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdDtcbiAgICAgIFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG4gIFxuICB0ZXh0YXJlYSB7XG4gICAgbWluLWhlaWdodDogMTgwcHg7XG4gIH1cbn0iLCIuYXJ0aWNsZSB7XG4gIG1heC13aWR0aDogODBjaDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIG1heC13aWR0aDogMTAwY2g7XG4gIH1cbiAgXG4gICYtbWV0YSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFxuICAgIGFkZHJlc3Mge1xuICAgICAgbWFyZ2luLXRvcDogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICB9XG4gIH1cbiAgXG4gICYtY29udGVudCB7XG4gICAgcDplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBcbiAgJi1iYWNrIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BfZGVmYXVsdCAqIC44O1xuICAgIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdDtcbiAgICBcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNfZ3JheTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn0iLCIuYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbiAgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgfVxuICB9XG59IiwiLmNhcmRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn0iLCIuZGV0YWlsIHtcbiAgJi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBcbiAgJi1zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBcbiAgICBhIHsgY29sb3I6ICRjX2xhZ29vbjsgfVxuICB9XG4gIFxuICAmLW1ldGEge1xuICAgIGgzIHsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIHAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi10b3A6ICRzcF9kZWZhdWx0ICogLjI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmbGV4LWJhc2lzOiA4MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgJi1idXR0b25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC44O1xuICAgIFxuICAgIGE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNwX2RlZmF1bHQgKiAuODtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gICYtZm9ybSB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IC4ycyBlYXNlO1xuICAgIFxuICAgIGJhY2tncm91bmQ6ICRjX2dyYXk7XG4gICAgXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG1hcmdpbi10b3A6ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC44O1xuICAgIH1cbiAgICBcbiAgICAucm93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgICBcbiAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICAgICAgcGFkZGluZzogJHNwX2RlZmF1bHQgKiAuMiAkc3BfZGVmYXVsdCAqIC40O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmZlYXR1cmVkIHsgIFxuICBwYWRkaW5nOiAwICRzcF9kZWZhdWx0ICogLjQ7XG5cbiAgZmxleC1iYXNpczogMTAwJTtcbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIFxuICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0O1xuICAgIHBhZGRpbmc6IDAgJHNwX2RlZmF1bHQ7XG5cbiAgICAuZXhwbG9yZS1uaWNzLXNjaG9vbHMgJiB7IGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9tZWRpdW0pIHtcbiAgICBwYWRkaW5nOiAwIDIgKiAkc3BfZGVmYXVsdDtcbiAgfVxuICBcbiAgJi1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgbWFyZ2luOiBpbmhlcml0O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfbWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICB9XG5cbiAgICAuZXhwbG9yZS1uaWNzLXNjaG9vbHMgJiB7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgICAgZmxleDogMSAwIDQwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfbWVkaXVtKSB7XG4gICAgICAgIGZsZXg6IDEgMCAzMCU7XG4gICAgICAgIG1heC13aWR0aDogMzAlO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgJi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgLmV4cGxvcmUtbmljcy1zY2hvb2xzICYsXG4gICAgICAudGVhY2gtbmljcyAmIHtcblxuICAgICAgICAuZmVhdHVyZWQge1xuICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcblxuICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtNDRweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgZm9udC1zaXplOiAzMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgIGNvbG9yOiAjZjhmN2Y3O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRlYWNoLW5pY3MgJiAuZmVhdHVyZWQ6OmJlZm9yZSB7IGNvbnRlbnQ6ICdGRUFUVVJFRCBBTFVNTkknOyB9XG4gICAgLmV4cGxvcmUtbmljcy1zY2hvb2xzICYgLmZlYXR1cmVkOjpiZWZvcmUgeyBjb250ZW50OiAnRkVBVFVSRUQgU0NIT09MJzsgfVxuICB9XG5cbn1cbiAgXG4gICYtY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC40O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgLmV4cGxvcmUtbmljcy1zY2hvb2xzICYgeyBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQ7IH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX21lZGl1bSkge1xuICAgICAgLmV4cGxvcmUtbmljcy1zY2hvb2xzICYgeyBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAyOyB9XG4gICAgfVxuICAgIFxuICAgIGgzIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNjtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9tZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiAyNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwY2g7XG4gICAgICB9XG4gICAgICBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgfVxuICAgIFxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjY7XG4gICAgICBtYXgtd2lkdGg6IDUwY2g7XG4gICAgfVxuICB9XG5cbiAgJi1mb3JtIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC44ICRzcF9kZWZhdWx0O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNfZ3JheTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgIGZsZXg6IDAgMCA0MCU7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgZm9udC1zaXplOiAyMDAlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcblxuICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cblxuICAmLWxpbmtzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC44O1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcF9kZWZhdWx0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcF9kZWZhdWx0O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAgICY6OmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuXG4gICAgICAgICAgYmFja2dyb3VuZDogJGNfbmF2eTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIl86LW1zLWZ1bGxzY3JlZW4sIDpyb290IC5maWx0ZXItaXRlbSB7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4uZmlsdGVyIHtcbiAgJi1pdGVtIHtcbiAgICBmbGV4OiAxO1xuICAgIFxuICAgIG1hcmdpbi1yaWdodDogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIFxuICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMDsgfVxuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBmbGV4OiBpbml0aWFsO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0ICogLjM2O1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX21lZGl1bSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC44O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAuZmlsdGVyLXN1Ym5hdiB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBzdmcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjEyNTtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlO1xuICAgICAgXG4gICAgICBzdHJva2U6ICRjX25hdnk7XG4gICAgfVxuICB9XG4gIFxuICAgICYtdHJpZ2dlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgXG4gICAgJi1zdWJuYXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIFxuICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgIFxuICAgICAgcGFkZGluZzogJHNwX2RlZmF1bHQgKiAuNCAkc3BfZGVmYXVsdCAqIC4yO1xuICAgICAgXG4gICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjX2dyYXksIDUlKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIFxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc3BfZGVmYXVsdCAqIC40KTtcbiAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgXG4gICAgICBzZWxlY3QgeyB3aWR0aDogMTAwJTsgfVxuICAgICAgXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xXzQxNCkge1xuICAgICAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC40ICRzcF9kZWZhdWx0ICogLjY7XG4gICAgICB9XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkgeyAgICAgICAgXG4gICAgICAgICYuc2Nob29sLXN1Ym5hdiB7XG4gICAgICAgICAgbWluLXdpZHRoOiA0NTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICAuYWN0aW9ucy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjI7XG4gICAgICB9XG4gICAgICBcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTUlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIFxuICAgICAgICBoZWlnaHQ6IDIwJTtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNfYmxhY2ssIC4xNSk7XG4gICAgICAgIFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIC0xcHgpO1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAgICYtY2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogODUlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIFxuICAmLWl0ZW0uaXMtb3BlbiB7XG4gICAgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICAgIFxuICAgIC5maWx0ZXItc3VibmF2IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxufSIsIi5qb2Itc2VhcmNoIHtcbiAgXG4gICYtaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICAgIG1heC13aWR0aDogMzBweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgICBcbiAgICBzdmcge1xuICAgICAgZmlsbDogJGNfd2hpdGU7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgZmlsbDogJGNfbmF2eTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0uam9iLXNlYXJjaC1pbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgXG4gIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkY19ncmF5LCAxMCUpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIFxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgZm9udC1zaXplOiA5MCU7XG4gIH1cbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweDtcbiAgfVxufSIsIi5qb2JzIHsgIFxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BfZGVmYXVsdDtcbiAgfVxuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0O1xuICB9XG4gIFxuICAmLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLl9fbG4tbG9hZG1vcmUtd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6ICRzcF9kZWZhdWx0O1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmpvYiB7XG4gIC5jb250YWluZWQgdWwgJiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBcbiAgJi10aXRsZSB7XG4gICAgY29sb3I6ICRjX2xhZ29vbjtcbiAgICBmb250LXNpemU6IDExMCU7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7XG4gICAgICBmb250LXNpemU6IDIwMCU7XG4gICAgfVxuICB9XG4gIFxuICAmLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgXG4gICAgbWFyZ2luLXRvcDogJHNwX2RlZmF1bHQgKiAuNDtcbiAgfVxuICBcbiAgJi1zY2hvb2wsXG4gICYtbG9jYXRpb24ge1xuICAgIGNvbG9yOiAkY19uYXZ5O1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgZm9udC1zaXplOiAxMjUlO1xuICAgIH1cbiAgfVxuXG4gICYuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIFxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC44ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjX2dyYXk7XG4gICAgY29sb3I6ICRjX3llbGxvdztcbiAgICBcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyIC4ycyBlYXNlLWluLW91dDtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjYgJHNwX2RlZmF1bHQ7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItbGVmdDogMTVweCBzb2xpZCAkY195ZWxsb3c7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICY6dmlzaXRlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNfZ3JheSwgNSUpO1xuICAgICAgXG4gICAgICAuam9iLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRjX3JveWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbn1cblxuLm5vLXJlc3VsdCB7XG4gIHBhZGRpbmc6IDAgJHNwX2RlZmF1bHQgJHNwX2RlZmF1bHQgKiAuNDtcbiAgXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn0iLCIubGluay1ib3hlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIFxuICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIDI7XG4gIFxuICBAbWVkaWEgKG1pbi13aWR0aDogODEzcHgpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59IiwiLm5ld3MtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjg7XG4gIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjQgJHNwX2RlZmF1bHQgKiAuOCAkc3BfZGVmYXVsdCAqIDEuNDtcbiAgXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY19ncmF5O1xuICBcbiAgJl9faW5mbyB7XG4gICAgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIFxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgcDplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuICBcbiAgJl9fbGlua3MgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59IiwiLmJnIHtcbiAgJi1ncmF5IHsgYmFja2dyb3VuZDogbGlnaHRlbigkY19ncmF5LCA3JSk7IH1cbn0iLCIuc2lkZWJhciB7XG4gIHBhZGRpbmc6IDA7XG4gIFxuICB3aWR0aDogMTAwJTtcbiAgXG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY19ncmF5O1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7XG4gICAgbWF4LXdpZHRoOiAkc2lkZWJhci13aWR0aDtcbiAgICBcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG4gIFxuICAmLWNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0O1xuICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgXG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkY19ncmF5LCA1JSk7XG4gICAgXG4gICAgaDQgeyBtYXJnaW4tdG9wOiAwIH1cbiAgICBcbiAgICAmOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG4gIFxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICB9XG4gIFxuICAmLXdpZGdldCB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgID4gdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuNjtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIFxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMHB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgXG4gICAgICAgIGJhY2tncm91bmQ6ICRjX2xhZ29vbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGVhc2U7XG4gICAgICB9XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmV4cGFuZC10b2dnbGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgXG4gICAgICBtYXJnaW4tbGVmdDogY2FsYyggKCN7JHNwX2RlZmF1bHR9ICogLjA1ICsgMzZweCkgKiAtMSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjI1O1xuICAgICAgXG4gICAgICBiYWNrZ3JvdW5kOiAkY193aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgXG4gICAgICBzdmcge1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVZKDFweCk7XG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBlYXNlO1xuICAgICAgICBzdHJva2U6ICRjX25hdnk7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5zdWItbWVudSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjY7XG4gICAgICBcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgXG4gICAgICB0cmFuc2l0aW9uOiAuMDVzIGVhc2U7XG4gICAgfVxuICAgIFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICAgIH4gLmV4cGFuZC10b2dnbGUge1xuICAgICAgICAvL2JhY2tncm91bmQ6IGRhcmtlbigkY19ncmF5LCA3JSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjX25hdnk7XG4gICAgICAgIFxuICAgICAgICBzdmcge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVkoMXB4KTtcbiAgICAgICAgICBzdHJva2U6ICRjX3doaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICAgIH4gLnN1Yi1tZW51IHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMDBweDtcbiAgICAgICAgXG4gICAgICAgIC8vYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCBkYXJrZW4oJGNfZ3JheSwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY19uYXZ5O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgXG4gICAgICAgIHRyYW5zaXRpb246IC4ycyBlYXNlO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuc2VsZWN0ZWQsXG4gICAgLmFuY2VzdG9yIHtcbiAgICAgID4gLmV4cGFuZC10b2dnbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY19sYWdvb247XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgc3Ryb2tlOiAkY193aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPiAuc3ViLW1lbnUge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgICAgICAgbWF4LWhlaWdodDogMjAwMHB4O1xuICAgICAgICBcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCBkYXJrZW4oJGNfZ3JheSwgMTAlKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIFxuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgZWFzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnNlbGVjdGVkIHtcbiAgICAgID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgIGNvbG9yOiAkY19sYWdvb247XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLmxpbmtzLWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICB9XG4gIH1cbn0iLCIuc29ydCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgXG4gIHN2ZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI4cHgpO1xuICB9XG4gICYuYXNjLFxuICAmLmRlc2Mge1xuICAgIHN2ZyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgfVxuICAmLmRlc2Mgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlKDE4MGRlZyk7XG4gIH1cbn0iLCIudGFicy1jb250ZW50IHtcbiAgcGFkZGluZzogJHNwX2RlZmF1bHQgKiAuODtcbiAgXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjX2dyYXk7XG4gIFxuICBoNCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBcbiAgLmNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgXG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAuMnMgZWFzZTtcbiAgICBcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgbWF4LWhlaWdodDogMjAwMHB4O1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB9XG4gIH1cbiAgXG4gIC5yb3cge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn0iLCIuYWx1bW5pIHtcblxuICAmLXN0b3J5IHtcbiAgICBmb250LWZhbWlseTogJGZmX2hlYWRpbmc7XG5cbiAgICAucGFnZS1jb250ZW50IHsgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgfVxuXG4gICYtaGVybyB7XG4gICAgaGVpZ2h0OiAxNDBweDtcblxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7XG4gICAgICBoZWlnaHQ6IDE3M3B4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICBsaW5lLWhlaWdodDogMzc4cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9tZWRpdW0pIHtcbiAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9sYXJnZSkge1xuICAgICAgaGVpZ2h0OiA1ODBweDtcbiAgICB9XG5cbiAgICAmLnJldGFpbi1kaW1lbnNpb25zIHsgaGVpZ2h0OiAzNjBweDsgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gIH1cbiAgXG4gICYtbWV0YSB7XG5cbiAgICAmX19sb2NhdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG5cbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2ljb24tbG9jYXRpb24uc3ZnJykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxN3B4O1xuICAgIH1cblxuICAgICZfX2ludHJvIHsgZm9udC1zaXplOiAxMTUlOyB9XG4gIH1cblxuICAmLXF1ZXN0aW9ucyB7XG4gICAgcGFkZGluZzogMCAgJHNwX2RlZmF1bHQ7XG4gICAgZm9udC1zaXplOiAxMTUlO1xuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjX2dyYXk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICAgIHBhZGRpbmc6IDAgMiAqICRzcF9kZWZhdWx0O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6IDAgMyAqICRzcF9kZWZhdWx0O1xuICAgIH1cblxuICAgIGR0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgXG4gICAgZGQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogJHNwX2RlZmF1bHQgKiAuNCAwICRzcF9kZWZhdWx0O1xuXG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbiAgfVxuXG4gICYtcmVsYXRlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIGEge1xuICAgICAgbWFyZ2luOiAkc3BfZGVmYXVsdCAqIC4yIGF1dG87XG5cbiAgICAgIHNwYW4geyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbjogJHNwX2RlZmF1bHQgKiAuOCBhdXRvOyB9XG4gICAgfVxuXG4gICAgJl9fcHJldmlvdXMsXG4gICAgJl9fbmV4dCB7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIC40ICogI3skc3BfZGVmYXVsdH0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc3BfZGVmYXVsdDtcblxuICAgICAgY29sb3I6ICRjX2xhZ29vbjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmX19wcmV2aW91cyB7IHRleHQtYWxpZ246IGxlZnQ7IH1cblxuICAgICZfX25leHQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgYSB7XG4gICAgICAgIG1hcmdpbjogJHNwX2RlZmF1bHQgKiAuOCBhdXRvO1xuXG4gICAgICAgIHNwYW4geyBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIH1cblxuICAgICAgJl9fcHJldmlvdXMsXG4gICAgICAmX19uZXh0IHsgZmxleC1iYXNpczogY2FsYyg1MCUgLSAxLjYgKiAjeyRzcF9kZWZhdWx0fSk7IH1cblxuICAgICAgJl9fYWxsIHsgbWFyZ2luOiAwIGF1dG87IH1cbiAgICB9XG4gIH1cblxuICAmLXJlY3J1aXQge1xuICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNfbmF2eTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICRjX3doaXRlO1xuXG4gICAgaDIgeyBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC4yOyB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvICRzcF9kZWZhdWx0O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEgeyBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdDsgfVxuICB9XG5cbn1cblxuXG5cblxuXG5cbiIsIi5hbHVtbmkge1xuXG4gICYtcGhvdG9zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjI7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICBwYWRkaW5nOiAwICRzcF9kZWZhdWx0O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gICYtcGhvdG8ge1xuICAgIGZsZXg6IDEgMCA0OCU7XG4gICAgZmxleDogMSAwIGNhbGMoNTAlIC0gI3skc3BfZGVmYXVsdH0gKiAuNCk7XG4gICAgaGVpZ2h0OiAxNjBweDtcblxuICAgIG1hcmdpbjogMCAkc3BfZGVmYXVsdCAqIC4yICRzcF9kZWZhdWx0ICogLjIgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICBmbGV4OiAwIDAgMzIlO1xuICAgICAgZmxleDogMCAwIGNhbGMoMzMlIC0gI3skc3BfZGVmYXVsdH0gKiAuMik7XG4gICAgICBoZWlnaHQ6IDI2MHB4O1xuXG4gICAgICAmOm50aC1jaGlsZCgzbikgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICBoZWlnaHQ6IDI4MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfbWVkaXVtKSB7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfbGFyZ2UpIHtcbiAgICAgIGhlaWdodDogNjAwcHg7XG4gICAgfVxuXG4gICAgJi5uby1pbWFnZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIzODUzO1xuXG4gICAgICAuYWx1bW5pLW5hbWUgeyBvcGFjaXR5OiAxOyB9XG4gICAgfVxuXG4gICAgJjpob3ZlciAuYWx1bW5pLW5hbWUgeyBvcGFjaXR5OiAxOyB9XG5cbiAgfVxuXG4gICYtbmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMzBweDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEyNSU7XG4gICAgZm9udC1mYW1pbHk6ICRmZl9oZWFkaW5nO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBcbiAgICBjb2xvcjogIzVmYzZkYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMwLCA1NCwgODEsIC43KTtcblxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLWluLW91dDtcblxuICAgIC5yX2FyciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjAwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgLnJfYXJyIHsgZGlzcGxheTogaW5saW5lOyB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgbGluZS1oZWlnaHQ6IDI4MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfbWVkaXVtKSB7XG4gICAgICBsaW5lLWhlaWdodDogMzAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9sYXJnZSkge1xuICAgICAgbGluZS1oZWlnaHQ6IDYwMHB4O1xuICAgIH1cbiAgfVxuXG4gICYtY3RhIHtcbiAgICBmbGV4OiAxIDAgNDglO1xuICAgIGZsZXg6IDEgMCBjYWxjKDUwJSAtICN7JHNwX2RlZmF1bHR9ICogLjQpO1xuICAgIFxuICAgIG1heC13aWR0aDogNTAlO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgcCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICBcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICAmOm50aC1jaGlsZCgybisxKSB7IG1hcmdpbjogMCBhdXRvOyB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgZmxleDogMCAwIDMyJTtcbiAgICAgIGZsZXg6IDAgMCBjYWxjKDMzJSAtICN7JHNwX2RlZmF1bHR9ICogLjIpO1xuXG4gICAgICAmOm50aC1jaGlsZCgzbisxKSB7IG1hcmdpbjogMCBhdXRvOyB9XG5cbiAgICAgIHAgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfbWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiAwICRzcF9kZWZhdWx0O1xuICAgIH1cbiAgfVxuXG59IiwiLmZvcm0tLWlubGluZSB7XG4gIFxuICAuaW5wdXQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRicl9iYXNlIDAgMCAkYnJfYmFzZTtcbiAgfVxuICBcbiAgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIFxuICAgIGJvcmRlci1jb2xvcjogJGNfZ3JheTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxufVxuXG4uZm9ybS13cmFwIHtcbiAgbWFyZ2luOiAkc3BfZGVmYXVsdCBhdXRvO1xuICBcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2l0ZS1mb3JtIHtcbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjE1O1xuICB9XG4gIFxuICBpbnB1dCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgcGFkZGluZzogJHNwX2RlZmF1bHQgKiAuMiAkc3BfZGVmYXVsdCAqIC40O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICBzZWxlY3Qge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICBcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmZvcm0tcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbn1cblxuLmVtcGxveWVlLXNjaGVkdWxlIC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gIG1pbi13aWR0aDogMjg4cHg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIG1pbi13aWR0aDogNDAwcHg7XG4gIH1cbn0iLCIuaGVhZGVyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uZGVza3RvcC1tZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC41O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9tZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJHNwX2RlZmF1bHQ7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRjX3doaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTI1JTtcbiAgICB9XG4gIH1cbn0iLCIuaGVhZGVyLWxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAubGFuZGluZy1jYW1wYWlnbiAmIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6ICRzcF9kZWZhdWx0ICogLjY7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0ICogLjY7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdDtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxODBweDtcblxuICAgICYubGFuZGluZyB7IHdpZHRoOiAzMDBweDsgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgICAvLyB3aWR0aDogNzBweDtcbiAgICAgIGhlaWdodDogNDdweDtcblxuICAgICAgJi5sYW5kaW5nIHsgd2lkdGg6IDM1MHB4OyB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgIH1cbiAgfVxufSIsIi5tb2JpbGUtYnV0dG9uIHtcbiAgd2lkdGg6IDk1cHg7XG4gIGhlaWdodDogNDVweDtcblxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogJGNfd2hpdGU7XG4gIGZvbnQtc2l6ZTogJGZzX2Jhc2U7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9tZWRpdW0pIHtcbiAgICB3aWR0aDogMTA2cHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGZvbnQtc2l6ZTogMTI1JTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG59IiwiLmltYWdlLWJsb2NrIHtcbiAgZmxleDogMSAwIDEwMCU7XG4gIFxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgZmxleDogMTtcbiAgICBcbiAgICAmOm50aC1vZi10eXBlKDEpIHtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cbiAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIG9yZGVyOiAzO1xuICAgIH1cbiAgfVxuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkgYW5kIChtaW4taGVpZ2h0OiAkbXFfaGVpZ2h0KSB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIwMXB4IC0gI3skbW9iaWxlLWhlYWRlci1oZWlnaHR9KTtcbiAgfVxuICBcbiAgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgaGVpZ2h0OiBjYWxjKCgxMDB2aCAvIDMpIC0gKCN7JG1vYmlsZS1oZWFkZXItaGVpZ2h0fSAvIDMpKTtcbiAgICBcbiAgICBjb2xvcjogJGNfbmF2eTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAvLyBpUGhvbmUgNCAtIDhcbiAgICBAbWVkaWEgb25seSBzY3JlZW5cbiAgICAgIGFuZCAobWluLWRldmljZS13aWR0aDogMzIwcHgpXG4gICAgICBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDQ4MHB4KVxuICAgICAgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXG4gICAgICBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIGhlaWdodDogY2FsYygoMTAwdmggLyAyKSAtICgjeyRtb2JpbGUtaGVhZGVyLWhlaWdodH0gLyAyKSk7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlblxuICAgICAgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzMjBweClcbiAgICAgIGFuZCAobWF4LWRldmljZS13aWR0aDogNTY4cHgpXG4gICAgICBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMilcbiAgICAgIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgaGVpZ2h0OiBjYWxjKCgxMDB2aCAvIDIpIC0gKCN7JG1vYmlsZS1oZWFkZXItaGVpZ2h0fSAvIDIpKTtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gICAgICBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDM3NXB4KVxuICAgICAgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA2NjdweClcbiAgICAgIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVxuICAgICAgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoKDEwMHZoIC8gMikgLSAoI3skbW9iaWxlLWhlYWRlci1oZWlnaHR9IC8gMikpO1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgb25seSBzY3JlZW5cbiAgICAgIGFuZCAobWluLWRldmljZS13aWR0aDogNDE0cHgpXG4gICAgICBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDczNnB4KVxuICAgICAgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpXG4gICAgICBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIGhlaWdodDogY2FsYygoMTAwdmggLyAyKSAtICgjeyRtb2JpbGUtaGVhZGVyLWhlaWdodH0gLyAyKSk7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlblxuICAgICAgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzNzVweClcbiAgICAgIGFuZCAobWF4LWRldmljZS13aWR0aDogODEycHgpXG4gICAgICBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMylcbiAgICAgIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgaGVpZ2h0OiBjYWxjKCgxMDB2aCAvIDIpIC0gKCN7JG1vYmlsZS1oZWFkZXItaGVpZ2h0fSAvIDIpKTtcbiAgICB9XG4gICAgXG4gICAgLy8gQW5kcm9pZFxuICAgIEBtZWRpYSBzY3JlZW4gXG4gICAgICBhbmQgKGRldmljZS13aWR0aDogMzIwcHgpIFxuICAgICAgYW5kIChkZXZpY2UtaGVpZ2h0OiA2NDBweCkgXG4gICAgICBhbmQgKC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSBcbiAgICAgIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgaGVpZ2h0OiBjYWxjKCgxMDB2aCAvIDIpIC0gKCN7JG1vYmlsZS1oZWFkZXItaGVpZ2h0fSAvIDIpKTtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIHNjcmVlbiBcbiAgICAgIGFuZCAoZGV2aWNlLXdpZHRoOiAzMjBweCkgXG4gICAgICBhbmQgKGRldmljZS1oZWlnaHQ6IDY0MHB4KSBcbiAgICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpIFxuICAgICAgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoKDEwMHZoIC8gMikgLSAoI3skbW9iaWxlLWhlYWRlci1oZWlnaHR9IC8gMikpO1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgc2NyZWVuIFxuICAgICAgYW5kIChkZXZpY2Utd2lkdGg6IDMyMHB4KSBcbiAgICAgIGFuZCAoZGV2aWNlLWhlaWdodDogNjQwcHgpIFxuICAgICAgYW5kICgtd2Via2l0LWRldmljZS1waXhlbC1yYXRpbzogNCkgXG4gICAgICBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIGhlaWdodDogY2FsYygoMTAwdmggLyAyKSAtICgjeyRtb2JpbGUtaGVhZGVyLWhlaWdodH0gLyAyKSk7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSBzY3JlZW4gXG4gICAgICBhbmQgKGRldmljZS13aWR0aDogMzYwcHgpIFxuICAgICAgYW5kIChkZXZpY2UtaGVpZ2h0OiA2NDBweCkgXG4gICAgICBhbmQgKC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSBcbiAgICAgIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgaGVpZ2h0OiBjYWxjKCgxMDB2aCAvIDIpIC0gKCN7JG1vYmlsZS1oZWFkZXItaGVpZ2h0fSAvIDIpKTtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIHNjcmVlbiBcbiAgICAgIGFuZCAoZGV2aWNlLXdpZHRoOiAzNjBweCkgXG4gICAgICBhbmQgKGRldmljZS1oZWlnaHQ6IDY0MHB4KSBcbiAgICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86IDQpIFxuICAgICAgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoKDEwMHZoIC8gMikgLSAoI3skbW9iaWxlLWhlYWRlci1oZWlnaHR9IC8gMikpO1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgb25seSBzY3JlZW5cbiAgICAgIGFuZCAobWluLWRldmljZS13aWR0aDogNDExcHgpXG4gICAgICBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDgyM3B4KVxuICAgICAgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpXG4gICAgICBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIGhlaWdodDogY2FsYygoMTAwdmggLyAyKSAtICgjeyRtb2JpbGUtaGVhZGVyLWhlaWdodH0gLyAyKSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSBhbmQgKG1pbi1oZWlnaHQ6IDc2OHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbiAgXG4gICZfX2ltZyB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogcmlnaHQ7XG5cbiAgICAmLmNvbXBhdC1vYmplY3QtZml0IHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICBvYmplY3QtcG9zaXRpb246IHJpZ2h0IDI1JTtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgIC5pbWFnZS1ibG9ja19fbW9iaWxlLS1yaWdodCAmIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgIC5pbWFnZS1ibG9ja19fZnVsbC0tZG93biAmIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAmX19jYXB0aW9uIHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogJHNwX2RlZmF1bHQgJHNwX2RlZmF1bHQgKiAuNjtcbiAgICBmb250LXNpemU6IDE0MCU7XG5cbiAgICAud2YtbG9hZGluZyAmIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDE1MCU7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfNDE0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjUwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIGhlaWdodDogNTAlO1xuICAgICAgcGFkZGluZzogJHNwX2RlZmF1bHQgJHNwX2RlZmF1bHQgKiAxLjI1O1xuICAgICAgZm9udC1zaXplOiAyMDAlO1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAuMjVzIGVhc2U7XG4gICAgICBcbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6ICRmc19oMSAqIDEuNTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IC41O1xuICAgICAgfVxuICAgICAgXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNwX2RlZmF1bHQgKiAuNztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIubmF2LWNvcHlyaWdodCB7XG4gIGZsZXg6IDEgMCAxMDAlO1xuXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgZm9udC1zaXplOiAkZnNfYmFzZSAqIC42O1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiLm5hdi1tZW51IHtcbiAgZmxleDogMSAwIDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICYtLXByaW1hcnkge1xuICAgIG9yZGVyOiAyO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgb3JkZXI6IDE7XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjX2dyYXk7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgcGFkZGluZy10b3A6ICRzcF9kZWZhdWx0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwX2RlZmF1bHQ7XG5cbiAgICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNfZ3JheTtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tc2Vjb25kYXJ5IHtcbiAgICBvcmRlcjogMTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNjtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgXG4gICAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6ICRtcV9oZWlnaHQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQ7XG4gICAgICB9XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgb3JkZXI6IDI7XG5cbiAgICAgIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BfZGVmYXVsdDtcblxuICAgICAgbGkge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuNTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC41O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIubmF2LW1ldGEge1xuICBmbGV4OiAxIDAgMTAwJTtcbiAgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBwYWRkaW5nLXRvcDogJHNwX2RlZmF1bHQ7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0O1xuICB9XG59IiwiLm5hdi1zZWFyY2gge1xuICBmbGV4OiAxIDAgMTAwJTtcbiAgb3JkZXI6IDI7XG5cbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgZmxleDogMiAwIGF1dG87XG4gICAgb3JkZXI6IDE7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59IiwiLm5hdi1zb2NpYWwge1xuICBmbGV4OiAxIDAgMTAwJTtcbiAgb3JkZXI6IDE7XG5cbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIG9yZGVyOiAyO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59IiwiLnNjaG9vbCB7XG4gICYtbWV0YSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfNzAwKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICBcbiAgICBoMiB7IG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7IH1cbiAgICBcbiAgICBkbCB7IFxuICAgICAgbWFyZ2luLXRvcDogMDsgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY19ncmF5O1xuICAgIH1cbiAgICBcbiAgICBkdCxkZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV83MDApIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBkdCB7XG4gICAgICBtYXJnaW4tdG9wOiAkc3BfZGVmYXVsdCAqIC44O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMTY7XG4gICAgICBcbiAgICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuODtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC4xNjtcbiAgICAgICAgXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBkZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5cbiAgJi1pbmZvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmLXN0YXRpc3RpY3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtYXJnaW4tbGVmdDogLTVweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9tZWRpdW0pIHsgXG4gICAgICAgIGZsZXg6IDAgMCA3MTBweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9sYXJnZSkgeyBcbiAgICAgICAgZmxleDogMCAwIDEwNzhweDtcbiAgICAgIH1cblxuICAgICAgZGl2IHtcbiAgICAgICAgZmxleDogMSAwIDQwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNfZ3JheTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtbGlua3Mge1xuICAgICAgZGlzcGxheTogZmxleCBjb2x1bW47XG4gICAgICBmbGV4OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX21lZGl1bSkgeyBcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIycHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfbGFyZ2UpIHsgXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMnB4O1xuICAgICAgfVxuXG4gICAgICAmLWljb24ge1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIH1cblxuICAgICAgZGl2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY19ncmF5O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgJi1yZXNvdXJjZXMge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9tZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgXG4gICAgICBtYXJnaW4tbGVmdDogLSRzcF9kZWZhdWx0ICogLjg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kc3BfZGVmYXVsdCAqIC44O1xuXG4gICAgICAmLWJveCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtODAwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogODAwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTgwMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4MDBweDtcbiAgICAgICAgXG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgXG4gICAgICAgIGJhY2tncm91bmQ6ICRjX2dyYXk7XG4gICAgICB9ICBcbiAgICB9XG5cbiAgICAmLWhlYWQge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9tZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtcmVzb3VyY2Uge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgcGFkZGluZzogJHNwX2RlZmF1bHQgKiAuODtcbiAgICBcbiAgICBiYWNrZ3JvdW5kOiAkY19ncmF5O1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfbWVkaXVtKSB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBcbiAgICBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBcbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgfVxuICAgIFxuICAgICYtbGlzdCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIFxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtcmVzb3VyY2Utb3Bwb3J0dW5pdGllcyB7XG4gICAgbWF4LWhlaWdodDogNDQwcHg7XG4gICAgYmFja2dyb3VuZDogJGNfd2hpdGU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX2xhcmdlKSB7IFxuICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtcV9tZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBkaXYge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtcV9tZWRpdW0pIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNfcm95YWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2IGRpdiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiA0cHg7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICRjX3doaXRlOztcbiAgICAgIGJhY2tncm91bmQ6ICRjX3JveWFsO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICB3aWR0aDogMjRweDtcblxuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIFxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwIHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogODUlO1xuICAgIH1cbiAgfVxuICBcbiAgJi1uby1vcGVuaW5ncyB7XG4gICAgY29sb3I6ICRjX2dyYXlfdGV4dDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufSIsIi5zY2hvb2wtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIFxuICBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgXG4gICAgJjpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgfVxufVxuXG4uc2Nob29scyB7XG4gIFxuICAmLXJlZ2lvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQ7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIDEuNTtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAyO1xuICAgIH1cbiAgICBcbiAgICBoMyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfSBcbn0iLCIuc2Nob29sLXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV8zMjApIHsgaGVpZ2h0OiAyNTBweDsgfVxuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV80MTQpIHsgaGVpZ2h0OiAzMDBweDsgfVxuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7IGhlaWdodDogNDAwcHg7IH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX21lZGl1bSkgeyBcbiAgICBmbGV4OiAwIDAgNzAwcHg7XG4gICAgaGVpZ2h0OiA0MDBweDsgXG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX2xhcmdlKSB7IFxuICAgIGZsZXg6IDAgMCAxMDY4cHg7XG4gICAgaGVpZ2h0OiA2MDBweDtcbiAgfVxuICBcbiAgaWZyYW1lIHtcbiAgICBvYmplY3QtZml0OiB1bnNldDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV83MDApIHsgXG4gICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfbGFyZ2UpIHsgXG4gICAgICBvYmplY3QtZml0OiBmaWxsO1xuICAgICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgfVxuICB9XG59IiwiLnJlc3VsdCB7XG4gIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjg7XG4gIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjQgJHNwX2RlZmF1bHQgKiAuOCAkc3BfZGVmYXVsdCAqIDEuNDtcbiAgXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY19ncmF5O1xuICBcbiAgJi1pbmZvIHtcbiAgICBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBwOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG4gIFxuICAmLWxpbmtzIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufSIsIi5zZWFyY2gge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cbiAgJi13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICYtbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAuNXJlbTtcbiAgfVxuXG4gICYtaW5wdXQge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gICYtYnV0dG9uIHtcbiAgICB3aWR0aDogNTBweDtcbiAgfVxuICBcbiAgJi1mb3JtIHtcbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgICY6Zmlyc3QtY2hpbGQgbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAmOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgICBcbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjIgJHNwX2RlZmF1bHQgKiAuNDtcbiAgICAgIFxuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNfZ3JheTtcbiAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAkc3BfZGVmYXVsdCAqIC4xNiAwICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3AtZGVmYXVsdCAqIC40O1xuICAgICAgICBcbiAgICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICB9XG4gIH1cbn0iLCIuYWN0aW9ucyB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY19ncmF5O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNfZ3JheTtcbiAgXG4gICYtY29udGFpbmVyLmNvbnRhaW5lZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgXG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BfZGVmYXVsdCAqIC40O1xuICAgIH1cbiAgfVxuICBcbiAgJi1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDsgbGVmdDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDJweDtcbiAgICAgIFxuICAgICAgYmFja2dyb3VuZDogJGNfZ3JheTtcbiAgICB9XG4gICAgXG4gICAgYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMCA1MCU7XG4gICAgICBcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdCAqIC4zMjU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMzU7XG4gICAgICBcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICBcbiAgICAgICY6Zmlyc3QtY2hpbGQgc3ZnIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjI7XG4gICAgICAgIHN0cm9rZTogJGNfbmF2eTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJjpsYXN0LWNoaWxkIHN2ZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNwX2RlZmF1bHQgKiAuMjtcbiAgICAgICAgZmlsbDogJGNfbmF2eTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY19yb3lhbDtcbiAgICAgICAgY29sb3I6ICRjX3doaXRlO1xuICAgICAgICBcbiAgICAgICAgJjpmaXJzdC1jaGlsZCBzdmcgeyBzdHJva2U6ICRjX3doaXRlOyB9XG4gICAgICAgICY6bGFzdC1jaGlsZCBzdmcgIHsgZmlsbDogJGNfd2hpdGU7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgXG4gICYtZmlsdGVycyB7ICAgIFxuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBcbiAgICBiYWNrZ3JvdW5kOiAkY19ncmF5O1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMi41ZW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkgeyAgICAgIFxuICAgICAgZmxleDogMSAwIDY1JTtcbiAgICAgIG1heC13aWR0aDogNjUlO1xuICAgICAgXG4gICAgICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgbWF4LWhlaWdodDogMTAwdmhcbiAgICB9XG4gICAgXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgfVxuICB9XG4gIFxuICAgICYtZmlsdGVyIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuODtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIFxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMyLjVlbSkge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgZmxleDogMSAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmLXNvcnQge1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMyLjVlbSkge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIGZsZXg6IDEgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjY7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGNfZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAmLXNlYXJjaCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICRjX2dyYXk7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIGZsZXg6IDEgMCAzNSU7XG4gICAgICBtYXgtd2lkdGg6IDM1JTtcbiAgICAgIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdCAqIC42O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0ICogLjY7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjY7XG4gICAgICBcbiAgICAgIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY19ncmF5O1xuICAgICAgXG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgfVxuICB9XG4gIFxuICAmLWxhYmVsIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBmb250LXNpemU6IDg1JTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgfVxuICB9XG59IiwiLmFwcGxpY2F0aW9uLWZvcm0ge1xuICBtYXgtd2lkdGg6IDEwMGNoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdDtcbiAgcGFkZGluZy10b3A6ICRzcF9kZWZhdWx0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBcbiAgLnByZXNjcmVlbiAmIHtcbiAgICBtYXgtd2lkdGg6IDY0Y2g7XG4gIH1cbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHsgICAgXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiA0O1xuICAgIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdCAqIDI7XG4gIH1cbiAgXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKCAoLTEwMHZ3ICsgMTAwJSkgLyAyKTtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjX2dyYXk7XG4gIH1cbiAgXG4gIGgxIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIFxuICBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBcbiAgICAucHJlc2NyZWVuICYge1xuICAgICAgZm9udC1zaXplOiAxNTAlO1xuICAgIH1cbiAgICBcbiAgICAucmVxdWlyZWQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgXG4gICAgICBmb250LXNpemU6IC43cmVtO1xuICAgIH1cbiAgfVxuICBcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgbWFyZ2luLXRvcDogJHNwX2RlZmF1bHQgKiAuNDtcbiAgfVxuICBcbiAgLnJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgfVxufVxuXG4uYXBwbGljYXRpb25zIHtcbiAgbWFyZ2luLXRvcDogJHNwX2RlZmF1bHQ7XG4gIHBhZGRpbmctYm90dG9tOiAkc3BfZGVmYXVsdCAqIDIuNDtcbiAgXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BfZGVmYXVsdDtcbiAgfVxufVxuXG4uZmluYWwtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIFxuICAuYnV0dG9uIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBtYXJnaW4tbGVmdDogJHNwX2RlZmF1bHQgKiAuODtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuYmVjb21lLXNjaG9vbCB7XG4gIHAge1xuICAgIG1hcmdpbi10b3A6ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNjtcbiAgfVxuICBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59IiwiLmFkdmFuY2VkLXNlYXJjaCB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG59XG4gIC5hZHYtcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgIFxuICAgIC5yZW1vdmUtZmllbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjE7XG4gICAgfVxuICB9XG5cbi5jbGVhci1maWx0ZXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMjtcbn1cblxuLmRhc2hib2FyZF9fdGFibGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICBcbiAgdGJvZHkgdHIge1xuICAgIGJhY2tncm91bmQ6ICRjX3doaXRlO1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NC43NWVtKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkY19ncmF5LCA1JSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICB0ZCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0Ljc1ZW0pIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjX2dyYXk7XG4gICAgXG4gICAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItcmlnaHQtd2lkdGg6IDAgO31cbiAgICB9XG4gIH1cbn1cblxuLmV4cG9ydC1saXN0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBcbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjI7XG4gIH1cbn0iLCIuZm9vdGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJG1vYmlsZS1oZWFkZXItaGVpZ2h0O1xuICBjb2xvcjogJGNfd2hpdGU7XG4gIFxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAgIFxuICAmLWxvZ29zIHtcbiAgICBwYWRkaW5nLXRvcDogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBcbiAgICBiYWNrZ3JvdW5kOiAkY19ncmF5O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuICAgIFxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC42O1xuICAgICAgXG4gICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgfVxuICB9XG4gIFxuICAmLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgXG4gICAgcGFkZGluZzogJHNwX2RlZmF1bHQgMDtcbiAgICBcbiAgICBiYWNrZ3JvdW5kOiAkY19wcmltYXJ5O1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6ICRzcF9kZWZhdWx0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfVxuICBcbiAgJi1sb2dvIHtcbiAgICBpbWcge1xuICAgICAgLy8gd2lkdGg6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiA1N3B4O1xuICAgIH1cbiAgfVxuICBcbiAgJi1zb2NpYWwge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgJi1jb3B5cmlnaHQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC41ICRzcF9kZWZhdWx0O1xuICAgIGJhY2tncm91bmQ6ICRjX25hdnk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIFxuICBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufSIsIi5oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgXG4gICAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgICBcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgXG4gICAgaGVpZ2h0OiAkbW9iaWxlLWhlYWRlci1oZWlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgYmFja2dyb3VuZDogJGNfcHJpbWFyeTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59IiwiLmltYWdlLWJsb2NrcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59IiwiLm1vYmlsZS1wYWdlLW5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC4zO1xuICBoZWlnaHQ6ICRzcF9kZWZhdWx0O1xuICB3aWR0aDogMTAwJTtcbiAgXG4gIGJhY2tncm91bmQ6ICRjX3doaXRlO1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIFxuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIH1cbn0iLCIubmF2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtICN7JG1vYmlsZS1oZWFkZXItaGVpZ2h0fSk7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgYmFja2dyb3VuZDogJGNfd2hpdGU7XG5cbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwdmgpO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xODVzIGVhc2UsIHRyYW5zZm9ybSAuMTg1cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIFxuICB6LWluZGV4OiAxO1xuXG4gIC5tb2JpbGUtc2FmYXJpICYge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7JG1vYmlsZS1oZWFkZXItaGVpZ2h0fSAtIDc1cHgpO1xuICB9XG4gIFxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xXzMyMCkge1xuICAgIGJvdHRvbTogJG1vYmlsZS1oZWFkZXItaGVpZ2h0O1xuICB9XG4gIFxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xXzQxNCkge1xuICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5uYXYtb3BlbiAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BfZGVmYXVsdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc3BfZGVmYXVsdDtcbiAgICBcbiAgICB0b3A6ICRtb2JpbGUtaGVhZGVyLWhlaWdodDtcbiAgICBib3R0b206IGluaXRpYWw7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMHZoKTtcbiAgfVxufSIsIi5waWN0dXJlIHtcbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5wZXJzb25hbF9faW5mbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIFxuICAuaW5mbyB7XG4gICAgaDEge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgfVxuICAgIFxuICAgIHAgeyBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40OyB9XG4gIH1cbn0iLCIuc2l0ZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAwcHg7XG4gICAgICBsZWZ0OiA1JTtcblxuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIGhlaWdodDogNTBweDtcblxuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMyk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgIGZpbHRlcjogYmx1cigxNXB4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMDVzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSAwcztcbiAgICB9XG5cbiAgICAmLm5hdi1vcGVuOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSkgLjFzO1xuICAgIH1cbiAgfVxufSIsIi5zdWJuYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwICRzcF9kZWZhdWx0ICogLjQ7XG4gIFxuICBsaXN0LXN0eWxlOiBub25lO1xuICBcbiAgYmFja2dyb3VuZDogJGNfbmF2eTtcbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBcbiAgJi1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6ICRzcF9kZWZhdWx0O1xuICAgIFxuICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuICAgIFxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBcbiAgICAgIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdCAqIC4zO1xuICAgICAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0ICogLjM7XG4gICAgICBcbiAgICAgIGNvbG9yOiByZ2JhKCRjX3doaXRlLCAuNyk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIFxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkY193aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxMTAlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnN1Ym5hdi1jbG9zZWQge1xuICBkaXNwbGF5OiBub25lO1xuICBAbWVkaWEgKG1pbi13aWR0aDogODgwcHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vcGVuLWpvYnMtc3VibmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDg4MHB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ub3Blbi1qb2JzLXN1Ym5hdi1vcGVuZWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQG1lZGlhIChtaW4td2lkdGg6IDg4MHB4KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn0iLCIuY29udGFjdCB7XG4gIGlmcmFtZSB7IHdpZHRoOiAxMDAlOyB9XG59XG4uY29udGFjdC1mb3JtIHtcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgfVxufSIsIkBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgLmRvbmF0ZSAucGFnZS1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbXFfMzIwKSB7XG4gIC5kb25hdGUgLmNvbnRhaW5lZCAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmRvbmF0ZSAuZXJyb3ItbWVzc2FnZSB7XG4gIHBhZGRpbmc6ICRzcF9kZWZhdWx0ICogLjQ7XG4gIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjg7XG4gIFxuICBiYWNrZ3JvdW5kOiAjZjhlNmU3O1xuICBib3JkZXI6IDJweCBzb2xpZCAkY19lcnJvcjtcbiAgXG4gIGgzIHsgbWFyZ2luLXRvcDogMDsgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1xXzMyMCkge1xuICAuZy1yZWNhcHRjaGEge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjkpO1xuICB9XG59IiwiLmV2ZW50LWRldGFpbCB7XG4gIC5wYWdlLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn0iLCIuaG9tZXBhZ2UtYmxvY2tzIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbW9iaWxlLWhlYWRlci1oZWlnaHR9KTtcbiAgXG4gIEBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDMyMHB4KVxuICBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDM3NXB4KVxuICBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgXG4gIEBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDMyMHB4KVxuICBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDgyM3B4KVxuICBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSBhbmQgKG1pbi1oZWlnaHQ6ICRtcV9oZWlnaHQpIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMDFweCAtICN7JG1vYmlsZS1oZWFkZXItaGVpZ2h0fSk7XG4gIH1cbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIGFuZCAobWF4LWhlaWdodDogJG1xX2hlaWdodCkge1xuICAgIG1pbi1oZWlnaHQ6IDgwMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSBhbmQgKG1pbi1oZWlnaHQ6IDc2OHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyNTlweCk7XG4gICAgbWluLWhlaWdodDogaW5pdGlhbDtcbiAgfVxufSIsIi5jb250YWluZWQge1xuICBtYXgtd2lkdGg6ICRpbnRlcmlvci13aWR0aDtcbiAgXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIFxuICBwYWRkaW5nLWxlZnQ6ICRzcF9kZWZhdWx0ICogLjQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRzcF9kZWZhdWx0ICogLjQ7XG4gIFxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcF9kZWZhdWx0O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcF9kZWZhdWx0O1xuICB9XG4gIFxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX21lZGl1bSkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIFxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX2xhcmdlKSB7XG4gICAgbWF4LXdpZHRoOiAkaW50ZXJpb3Itd2lkdGgtbGFyZ2U7XG4gIH1cbiAgXG4gICYuZnVsbC1tb2JpbGUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0jeyRzcF9kZWZhdWx0fSAqIC41KTtcbiAgICB3aWR0aDogY2FsYygxMDB2dyArICN7JHNwX2RlZmF1bHR9KTtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBcbiAgJi5mdWxsIHtcbiAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gIH1cblxuICAmLmZpbGwtaGVpZ2h0IHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjU4cHggLSA5OHB4KTtcbiAgfVxufVxuXG4ucGFnZS10b3Age1xuICBwYWRkaW5nOiAkc3BfZGVmYXVsdCAqIC40ICRzcF9kZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAkY19yb3lhbDtcbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5wYWdlLWNvbnRlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogJHNwX2RlZmF1bHQ7XG4gIFxuICAmX19pbm5lciB7XG4gICAgLmhhcy1zaWRlYmFyICYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoI3skaW50ZXJpb3Itd2lkdGh9IC0gKCN7JHNpZGViYXItd2lkdGh9ICsgI3skaW50ZXJpb3ItZ3V0dGVyfSkgKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGludGVyaW9yLWd1dHRlcjtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9sYXJnZSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoI3skaW50ZXJpb3Itd2lkdGgtbGFyZ2V9IC0gKCN7JHNpZGViYXItd2lkdGh9ICsgI3skaW50ZXJpb3ItZ3V0dGVyfSkgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnBhZ2UtdGl0bGUge1xuXG4gICYud2l0aC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkgYW5kIChtYXgtd2lkdGg6ICRpbnRlcmlvci13aWR0aCkge1xuICAgIC8vcGFkZGluZy1sZWZ0OiAkc3BfZGVmYXVsdCAqIC44O1xuICB9XG59XG5cbi5oYXMtc2lkZWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc3R5bGVkLWxpc3Qge1xuICBmb250LXNpemU6IDExMCU7XG4gIFxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgfVxufVxuXG4uaXRlbS1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogMS4yO1xuICBcbiAgaDMgeyBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC4yOyB9XG4gIFxuICBwIHsgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuMjsgfVxuICBcbiAgYSB7IGNvbG9yOiAkY19sYWdvb247IH1cbn0iLCIubGFuZGluZyB7XG5cbiAgJi1wYWdlIHtcbiAgICAucGFnZS10b3AgeyBwYWRkaW5nOiAwOyB9XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgLnBhZ2UtY29udGVudCxcbiAgICAgIC5mZWF0dXJlZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQ7XG4gICAgICBwYWRkaW5nLXRvcDogJHNwX2RlZmF1bHQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHNwX2RlZmF1bHQ7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfbGFyZ2UpIHtcbiAgICAgIG1heC13aWR0aDogJGludGVyaW9yLXdpZHRoLWxhcmdlO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi1wcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHNwX2RlZmF1bHQ7XG5cbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMjUlO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV90aW55KSB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHsgZmxleC1iYXNpczogNTAlOyB9XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiA3NSU7XG5cbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiByaWdodDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7IGhlaWdodDogODAlOyB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkgeyBwYWRkaW5nLXJpZ2h0OiA1JTsgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNSU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHsgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIH1cbiAgfVxuXG4gICYtc2lnbnVwIHtcbiAgICBwYWRkaW5nOiAkc3BfZGVmYXVsdDtcblxuICAgIGZsZXg6IDEgMCAxMDAlO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkgeyBmbGV4LWJhc2lzOiA1MCU7IH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxMTUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG4gIH1cblxuICAmLWZvcm0ge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3RpbnkpIHtcblxuICAgICAgbGFiZWwgeyB3aWR0aDogNzAlOyB9XG4gICAgICBcbiAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0geyBtYXJnaW4tdG9wOiAwOyB9XG4gICAgfVxuICB9XG5cbiAgJi1jYW1wYWlnbiB7XG4gICAgLnBhZ2UtdG9wLFxuICAgIC5wYWdlLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjFGMTtcbiAgICB9XG5cbiAgICAucGFnZS1jb250ZW50IHsgcGFkZGluZy1ib3R0b206IDIgKiAkc3BfZGVmYXVsdDsgfVxuXG4gICAgLmNvbnRhaW5lZCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufSIsIi5uZXdzLWRldGFpbCB7XG4gIC5wYWdlLWltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMGNoO1xuICB9XG4gIC5wYWdlLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgIFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufSIsIi5ib3JkZXItdG9wIHtcbiAgYm9yZGVyOiBzb2xpZCAkY19ncmF5O1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG59IiwiLm1hcmdpbiB7XG4gICYtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICAgIG1hcmdpbi10b3A6ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgfVxuICB9XG4gIFxuICAmLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BfZGVmYXVsdCAqIC40O1xuICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgbWFyZ2luLXRvcDogJHNwX2RlZmF1bHQgKiAuODtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgfVxuICB9XG4gIFxuICAmLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BfZGVmYXVsdCAqIC44O1xuICAgIH1cbiAgfVxufSIsIi5wYWRkaW5nIHtcbiAgJi12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0ICogLjQ7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgICAgcGFkZGluZy10b3A6ICRzcF9kZWZhdWx0ICogLjg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuODtcbiAgICB9XG4gIH1cbiAgXG4gICYtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuNDtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHNwX2RlZmF1bHQgKiAuODtcbiAgICB9XG4gIH1cbn0iLCIudGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIFxuICAmLS1tb2JpbGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4udGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuLnRleHQtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udS1tb2JpbGUtb25seSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfc21hbGwpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnUtbm8tbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1xX3NtYWxsKSB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbn1cblxuLnUtbm8tbW9iaWxlLS10aW55IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbXFfdGlueSkgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG59XG5cbi5pcy1oaWRkZW4sXG4uaXMtdmlzaWJsZSB7XG4gIHRyYW5zaXRpb246IC4ycyBlYXNlO1xufVxuXG4uaXMtdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIG1heC1oZWlnaHQ6IDgwMHB4O1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICBvdmVyZmxvdzogaW5pdGlhbDtcbn1cblxuLmlzLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW1hZ2UtbGVmdCB7XG4gIG1hcmdpbi1ib3R0b206ICRzcF9kZWZhdWx0O1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogJHNwX2RlZmF1bHQ7XG4gIH1cbn1cblxuLnNwYWNlciB7XG4gIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdDtcbiAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0O1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9zbWFsbCkge1xuICAgIHBhZGRpbmctdG9wOiAkc3BfZGVmYXVsdCAqIDI7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcF9kZWZhdWx0ICogMjtcbiAgfVxuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtcV9tZWRpdW0pIHtcbiAgICBwYWRkaW5nLXRvcDogJHNwX2RlZmF1bHQgKiA0O1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BfZGVmYXVsdCAqIDQ7XG4gIH1cbn1cblxuLmNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLnBhZ2UtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLnBhZ2UtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQ7IH0iXX0= */
