[hidden] {
  display: none !important; }

@media print {
  #nhsuk-cookie-banner {
    display: none; }
  #nhsuk-cookie-banner .nhsuk-width-container {
    display: none; }
  #nhsuk-cookie-banner h2 {
    display: none; }
  #nhsuk-cookie-banner p {
    display: none; }
  .nhsuk-back-link {
    display: none; }
  .nhsuk-back-link .nhsuk-width-container {
    display: none; }
  .nhsuk-back-link h2 {
    display: none; }
  .nhsuk-back-link p {
    display: none; }
  .nhsuk-grid-column-one-third {
    display: none; }
  .nhsuk-grid-column-one-third .nhsuk-width-container {
    display: none; }
  .nhsuk-grid-column-one-third h2 {
    display: none; }
  .nhsuk-grid-column-one-third p {
    display: none; }
  .nhsuk-pagination {
    display: none; }
  .nhsuk-pagination .nhsuk-width-container {
    display: none; }
  .nhsuk-pagination h2 {
    display: none; }
  .nhsuk-pagination p {
    display: none; }
  a[href^="tel"]::after {
    display: none; }
  a[href^="tel"]::after .nhsuk-width-container {
    display: none; }
  a[href^="tel"]::after h2 {
    display: none; }
  a[href^="tel"]::after p {
    display: none; }
  a[id]::after {
    display: none; }
  a[id]::after .nhsuk-width-container {
    display: none; }
  a[id]::after h2 {
    display: none; }
  a[id]::after p {
    display: none; }
  .nhsuk-width-container {
    width: 100%; } }

.o-flex {
  display: flex; }

.o-flex--align-center {
  align-items: center; }

.o-flex__grow {
  flex-grow: 1; }

@media (min-width: 320px) {
  .o-flex\@mobile {
    display: flex; } }

@media (min-width: 641px) {
  .o-flex\@tablet {
    display: flex; } }

@media (min-width: 769px) {
  .o-flex\@desktop {
    display: flex; } }

@media (min-width: 990px) {
  .o-flex\@large-desktop {
    display: flex; } }

html {
  background-color: #f0f4f5; }

.page {
  padding: 0; }
  @media (min-width: 48.0625em) {
    .page {
      padding: 0; } }
  .page .page__header.has-microhero, .page .page__header.has-nhsukhero {
    padding-top: 0; }
    .page .page__header.has-microhero .hee-microhero, .page .page__header.has-nhsukhero .hee-microhero {
      margin-bottom: 40px;
      width: 100%; }
      @media (min-width: 40.0625em) {
        .page .page__header.has-microhero .hee-microhero, .page .page__header.has-nhsukhero .hee-microhero {
          margin-bottom: 48px; } }
      @media (min-width: 48.0625em) {
        .page .page__header.has-microhero .hee-microhero, .page .page__header.has-nhsukhero .hee-microhero {
          margin: 0 0 48px 0; } }

.page__header h1 ~ span {
  margin-top: -40px;
  margin-bottom: 24px; }

.page__content {
  word-break: break-word; }

.page__feature {
  margin-top: 48px; }
  @media (min-width: 40.0625em) {
    .page__feature {
      margin-top: 56px; } }

@media (min-width: 40.0625em) {
  .page__feature h1, .page__feature p, .page__feature span {
    max-width: 66.6667%; } }

@media (min-width: 40.0625em) {
  .page__feature h1, .page__feature p, .page__feature span {
    max-width: 66.6667%; } }

.page--fullwidth .page__header {
  padding-top: 48px; }

.page--fullwidth .page__main {
  padding-bottom: 40px; }
  @media (min-width: 40.0625em) {
    .page--fullwidth .page__main {
      padding-bottom: 48px; } }

.page--fullwidth .page__feature {
  display: none; }

.page--search .page__header {
  padding-top: 40px; }
  @media (min-width: 40.0625em) {
    .page--search .page__header {
      padding-top: 48px; } }

.page--leftbar .page__header {
  padding-top: 48px; }
  .page--leftbar .page__header h1, .page--leftbar .page__header p, .page--leftbar .page__header span {
    max-width: 66.6667%; }

.page--leftbar .page__layout {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap; }
  @media screen\0 {
    .page--leftbar .page__layout:after {
      content: "";
      display: table;
      clear: both; } }
  .page--leftbar .page__layout .page__leftbar {
    box-sizing: border-box;
    width: 31.25%;
    flex: 0 0 31.25%; }
    @media screen\0 {
      .page--leftbar .page__layout .page__leftbar {
        float: left;
        flex: none; } }
  .page--leftbar .page__layout .page__main {
    box-sizing: border-box;
    width: 66.66667%;
    flex: 0 0 66.66667%;
    margin-left: 2.08333%; }
    @media screen\0 {
      .page--leftbar .page__layout .page__main {
        float: left;
        flex: none; } }

@media (max-width: 48.0525em) {
  .page--leftbar .page__header h1, .page--leftbar .page__header p, .page--leftbar .page__header span {
    max-width: 100%; }
  .page--leftbar .page__layout .page__leftbar,
  .page--leftbar .page__layout .page__main {
    box-sizing: border-box;
    width: 100%;
    flex: 0 0 100%;
    margin-left: 0%; } }
  @media screen\0  and (max-width: 48.0525em) {
    .page--leftbar .page__layout .page__leftbar,
    .page--leftbar .page__layout .page__main {
      float: left;
      flex: none; } }

.page--rightbar {
  padding-bottom: 40px; }
  .page--rightbar .page__header {
    padding-top: 40px; }
    @media (min-width: 40.0625em) {
      .page--rightbar .page__header {
        padding-top: 48px; } }
    @media (min-width: 40.0625em) {
      .page--rightbar .page__header h1, .page--rightbar .page__header p, .page--rightbar .page__header span {
        max-width: 66.6667%; } }
    .page--rightbar .page__header .nhsuk-hero h1, .page--rightbar .page__header .nhsuk-hero p, .page--rightbar .page__header .nhsuk-hero span {
      max-width: 100%; }
  .page--rightbar .page__layout {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap; }
    @media screen\0 {
      .page--rightbar .page__layout:after {
        content: "";
        display: table;
        clear: both; } }
    .page--rightbar .page__layout .page__rightbar {
      box-sizing: border-box;
      width: 31.25%;
      flex: 0 0 31.25%;
      margin-left: 3.33333%; }
      @media screen\0 {
        .page--rightbar .page__layout .page__rightbar {
          float: left;
          flex: none; } }
      .page--rightbar .page__layout .page__rightbar .hee-sidebarlinks,
      .page--rightbar .page__layout .page__rightbar .hee-sidebarimage,
      .page--rightbar .page__layout .page__rightbar .nhsuk-card,
      .page--rightbar .page__layout .page__rightbar .nhsuk-contact__card,
      .page--rightbar .page__layout .page__rightbar .hee-card {
        margin-bottom: 24px; }
    .page--rightbar .page__layout .page__main {
      box-sizing: border-box;
      width: 65.41667%;
      flex: 0 0 65.41667%; }
      @media screen\0 {
        .page--rightbar .page__layout .page__main {
          float: left;
          flex: none; } }
  @media (max-width: 48.0525em) {
    .page--rightbar .page__header h1, .page--rightbar .page__header p, .page--rightbar .page__header span {
      max-width: 100%; }
    .page--rightbar .page__layout .page__rightbar,
    .page--rightbar .page__layout .page__main {
      box-sizing: border-box;
      width: 100%;
      flex: 0 0 100%;
      margin-left: 0%; } }
  @media screen\0  and (max-width: 48.0525em) {
    .page--rightbar .page__layout .page__rightbar,
    .page--rightbar .page__layout .page__main {
      float: left;
      flex: none; } }
  .page--rightbar .page__rightbar {
    margin-bottom: 24px; }
    .page--rightbar .page__rightbar .nhsuk-card:last-of-type, .page--rightbar .page__rightbar .nhsuk-contact:last-of-type {
      margin-bottom: 0; }

/* NHSUK-HEE-Blocklinks */
.nhsuk-hee-blocklinks {
  padding-top: 24px;
  padding-bottom: 24px; }
  .nhsuk-hee-blocklinks .nhsuk-list-blocklinks {
    list-style: none;
    padding-left: 0; }
    .nhsuk-hee-blocklinks .nhsuk-list-blocklinks li {
      display: inline-block;
      margin: 2px 0;
      width: 100%; }
      .nhsuk-hee-blocklinks .nhsuk-list-blocklinks li:last-of-type {
        margin-bottom: 2px; }
      .nhsuk-hee-blocklinks .nhsuk-list-blocklinks li a {
        background: #005eb8;
        color: #ffffff;
        display: block;
        padding: 12px 24px;
        position: relative;
        text-decoration: none;
        width: 100%; }
        .nhsuk-hee-blocklinks .nhsuk-list-blocklinks li a:hover {
          background: #002f5c;
          box-shadow: none;
          text-decoration: underline; }
        .nhsuk-hee-blocklinks .nhsuk-list-blocklinks li a:active {
          background: #002f5c; }
        .nhsuk-hee-blocklinks .nhsuk-list-blocklinks li a:focus {
          background: #ffeb3b;
          box-shadow: inset 0 -4px 0 0 #212b32;
          color: #212b32; }
          .nhsuk-hee-blocklinks .nhsuk-list-blocklinks li a:focus .nhsuk-icon {
            fill: #212b32; }
          .nhsuk-hee-blocklinks .nhsuk-list-blocklinks li a:focus:hover {
            text-decoration: none; }
        .nhsuk-hee-blocklinks .nhsuk-list-blocklinks li a .nhsuk-icon {
          fill: #ffffff;
          height: 24px;
          position: absolute;
          right: 12px;
          top: 14px;
          width: 24px; }
  @media (min-width: 48.0625em) {
    .nhsuk-hee-blocklinks .nhsuk-list-blocklinks--two-columns {
      column-count: 2;
      column-gap: 4px; }
    .nhsuk-hee-blocklinks .nhsuk-list-blocklinks--one-column {
      column-gap: 4px; } }
  @media (max-width: 40.0525em) {
    .nhsuk-hee-blocklinks .nhsuk-list-blocklinks li a {
      padding: 12px 16px; }
      .nhsuk-hee-blocklinks .nhsuk-list-blocklinks li a .nhsuk-icon {
        top: 12px; } }

/* Old blocklinks */
.nhsuk-blocklinks {
  padding-top: 0;
  padding-bottom: 24px; }
  .nhsuk-blocklinks .nhsuk-list-blocklinks {
    list-style: none;
    padding-left: 0; }
    .nhsuk-blocklinks .nhsuk-list-blocklinks li {
      display: inline-block;
      margin: 2px 0;
      width: 100%; }
      .nhsuk-blocklinks .nhsuk-list-blocklinks li:last-of-type {
        margin-bottom: 2px; }
      .nhsuk-blocklinks .nhsuk-list-blocklinks li a {
        background: #005eb8;
        color: #ffffff;
        display: block;
        padding: 12px 24px;
        position: relative;
        text-decoration: none;
        width: 100%; }
        .nhsuk-blocklinks .nhsuk-list-blocklinks li a:hover {
          background: #002f5c;
          box-shadow: none;
          text-decoration: underline; }
        .nhsuk-blocklinks .nhsuk-list-blocklinks li a:active {
          background: #002f5c; }
        .nhsuk-blocklinks .nhsuk-list-blocklinks li a:focus {
          background: #ffeb3b;
          box-shadow: inset 0 -4px 0 0 #212b32;
          color: #212b32; }
          .nhsuk-blocklinks .nhsuk-list-blocklinks li a:focus .nhsuk-icon {
            fill: #212b32; }
          .nhsuk-blocklinks .nhsuk-list-blocklinks li a:focus:hover {
            text-decoration: none; }
        .nhsuk-blocklinks .nhsuk-list-blocklinks li a .nhsuk-icon {
          fill: #ffffff;
          height: 24px;
          position: absolute;
          right: 12px;
          top: 14px;
          width: 24px; }
  @media (min-width: 48.0625em) {
    .nhsuk-blocklinks .nhsuk-list-blocklinks--two-columns {
      column-count: 2;
      column-gap: 4px; }
    .nhsuk-blocklinks .nhsuk-list-blocklinks--one-column {
      column-gap: 4px; } }
  @media (max-width: 40.0525em) {
    .nhsuk-blocklinks .nhsuk-list-blocklinks li a {
      padding: 12px 16px; }
      .nhsuk-blocklinks .nhsuk-list-blocklinks li a .nhsuk-icon {
        top: 12px; } }

/* Breadcrumbs */
.nhsuk-hee-breadcrumb {
  background-color: transparent; }

/* Old breadcrumbs */
.nhsuk-breadcrumb {
  background-color: transparent; }

.nhsuk-review-date {
  margin-bottom: 24px;
  margin-top: 8px; }
  @media (min-width: 48.0625em) {
    .nhsuk-review-date {
      margin-bottom: 0; } }

/* NHSUK-HEE-Image */
.page__main .nhsuk-image {
  width: 100%; }
  .page__main .nhsuk-image .nhsuk-image__caption {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5; }
    @media (min-width: 40.0625em) {
      .page__main .nhsuk-image .nhsuk-image__caption {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.47368; } }
    @media print {
      .page__main .nhsuk-image .nhsuk-image__caption {
        font-size: 14pt;
        line-height: 1.15; } }

.hee-card--details h3 {
  margin-bottom: 16px; }

.hee-card--details .hee-card--details__item {
  margin-bottom: 16px; }
  .hee-card--details .hee-card--details__item span {
    font-weight: 600; }
  .hee-card--details .hee-card--details__item:last-child {
    margin-bottom: 0; }

.hee-card--cta h3 {
  margin-bottom: 16px; }

.hee-card--cta .nhsuk-button {
  margin-bottom: 0; }

.hee-google-map {
  margin-bottom: 24px;
  padding-top: 24px; }
  .hee-google-map .hee-google-map__wrapper {
    border: 1px solid #d8dde0;
    height: 0;
    overflow: hidden;
    position: relative;
    padding-bottom: 66%; }
    .hee-google-map .hee-google-map__wrapper iframe {
      height: 100% !important;
      left: 0;
      position: absolute;
      top: 0;
      width: 100% !important; }
  .hee-google-map .hee-google-map__caption {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
    background-color: #ffffff;
    padding: 32px; }
    @media (min-width: 40.0625em) {
      .hee-google-map .hee-google-map__caption {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.47368; } }
    @media print {
      .hee-google-map .hee-google-map__caption {
        font-size: 14pt;
        line-height: 1.15; } }

/* Add new cookie code here */
.nhsuk-cookie-banner {
  padding-top: 24px; }
  .nhsuk-cookie-banner ul, .nhsuk-cookie-banner li {
    list-style: none;
    padding: 0;
    margin: 0; }
  @media (min-width: 40.0625em) {
    .nhsuk-cookie-banner li {
      display: inline-block;
      margin-right: 24px; } }

/* Policy table - corrected typo */
.nhsuk__policy-table {
  border: none; }
  .nhsuk__policy-table .nhsuk__expires {
    white-space: nowrap; }

/* NHSUK-Header__container */
.nhsuk-header {
  position: relative;
  z-index: 100; }

.nhsuk-header__container {
  padding: 20px 0;
  position: relative;
  z-index: 100; }

/* NHSUK-Header__content */
.nhsuk-header__content {
  float: right;
  margin: -48px 0 0 0;
  z-index: 10; }
  @media (min-width: 48.0625em) {
    .nhsuk-header__content {
      margin: 0; } }
  .nhsuk-header__content.js-show {
    border-bottom: 0;
    width: 100%; }
    @media (min-width: 48.0625em) {
      .nhsuk-header__content.js-show {
        width: auto; } }
  .nhsuk-header__content.no-search {
    min-height: auto; }

.nhsuk-header__link .nhsuk-organisation-name,
.nhsuk-header__link .nhsuk-organisation-descriptor {
  display: block; }

/* NHSUK-Header__logo */
.nhsuk-header__logo {
  display: block;
  float: none;
  max-width: 300px; }

/* NHSUK-Header__multilogo */
.nhsuk-header__multilogo {
  display: flex;
  flex-direction: column; }
  @media (min-width: 48.0625em) {
    .nhsuk-header__multilogo {
      flex-direction: row;
      width: 100%; } }
  .nhsuk-header__multilogo .nhsuk-header__logo-home {
    margin-bottom: 0 !important;
    order: 10; }
    @media (min-width: 48.0625em) {
      .nhsuk-header__multilogo .nhsuk-header__logo-home {
        margin-bottom: 0;
        order: 0; } }
  .nhsuk-header__multilogo .nhsuk-header__logo {
    margin-bottom: 8px; }
    @media (min-width: 48.0625em) {
      .nhsuk-header__multilogo .nhsuk-header__logo {
        display: inline-block;
        margin-bottom: 0;
        margin-right: 16px;
        vertical-align: top; } }

/* NHSUK-Header__search */
.nhsuk-header__search {
  display: inline-block;
  width: 100%; }
  .nhsuk-header__search .nhsuk-header__search-wrap {
    width: 100%; }
    .nhsuk-header__search .nhsuk-header__search-wrap.js-show {
      padding-top: 32px;
      margin: 0;
      display: block; }
      @media (min-width: 48.0625em) {
        .nhsuk-header__search .nhsuk-header__search-wrap.js-show {
          padding-top: 0; } }
    .nhsuk-header__search .nhsuk-header__search-wrap .nhsuk-header__search-form {
      padding: 0;
      margin-bottom: 8px; }
      @media (min-width: 40.0625em) {
        .nhsuk-header__search .nhsuk-header__search-wrap .nhsuk-header__search-form {
          margin-bottom: 0; } }
  .nhsuk-header__search .nhsuk-header__search-toggle {
    position: relative; }

/* NHSUK-Header__search - Blue BG variation */
.nhsuk-header--white2 .nhsuk-header__search-wrap form {
  background-color: #005eb8; }

.nhsuk-header--white2 .nhsuk-header__search-wrap .nhsuk-search__close {
  background-color: #005eb8; }
  .nhsuk-header--white2 .nhsuk-header__search-wrap .nhsuk-search__close .nhsuk-icon__close {
    fill: #ffffff; }

/* NHSUK-Header__navigation */
.nhsuk-header__navigation {
  overflow: visible; }
  .nhsuk-header__navigation.js-show .nhsuk-width-container {
    margin: 0 16px; }
    @media (min-width: 61.875em) {
      .nhsuk-header__navigation.js-show .nhsuk-width-container {
        margin: 0 auto; } }

.nhsuk-header__navigation-link {
  font-size: 1rem; }
  @media (min-width: 48.0625em) {
    .nhsuk-header__navigation-link {
      display: flex;
      flex-grow: 1;
      flex-direction: column;
      justify-content: center; } }

.nhsuk-header__navigation-list {
  display: block; }

.nhsuk-header__navigation-item {
  display: inline-block; }
  @media (min-width: 48.0625em) {
    .nhsuk-header__navigation-item.nhsuk-subnav .nhsuk-subnav__wrapper {
      align-items: center;
      display: flex;
      flex-direction: row;
      justify-content: space-between; } }
  @media (min-width: 61.875em) {
    .nhsuk-header__navigation-item.nhsuk-subnav .nhsuk-header__navigation-link {
      align-items: stretch;
      flex-direction: row;
      justify-content: space-between; } }
  @media (min-width: 48.0625em) {
    .nhsuk-header__navigation-item.nhsuk-subnav .nhsuk-header__navigation-link .nhsuk-icon {
      position: relative;
      top: 0; } }

@media (max-width: 61.865em) {
  .nhsuk-header__navigation-item {
    display: block; }
  .nhsuk-header__navigation .nhsuk-width-container {
    margin: 0; } }

/* NHSUK-Header__navigation -- more than 3 items */
.nhsuk-header__navigation--more-items .nhsuk-header__navigation-list {
  display: block; }
  @media (min-width: 61.875em) {
    .nhsuk-header__navigation--more-items .nhsuk-header__navigation-list {
      display: flex;
      justify-content: space-between;
      align-items: stretch; } }

.nhsuk-header__navigation--more-items .nhsuk-header__navigation-item {
  display: block; }
  @media (min-width: 61.875em) {
    .nhsuk-header__navigation--more-items .nhsuk-header__navigation-item {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center; } }

/* NHSUK-Header__menu */
.nhsuk-header__menu {
  display: inline-block;
  float: none;
  position: absolute;
  right: 46px; }
  @media (min-width: 40.0625em) {
    .nhsuk-header__menu {
      left: -68px;
      right: 0; } }
  @media (min-width: 61.875em) {
    .nhsuk-header__menu {
      position: absolute;
      top: 0;
      left: 0; } }
  .nhsuk-header__menu .nhsuk-header__menu-toggle {
    right: auto; }
  .no-search .nhsuk-header__menu {
    position: relative; }

/* NHSUK-Subnav */
.nhsuk-subnav .nhsuk-header__navigation-link {
  position: relative; }
  @media (min-width: 61.875em) {
    .nhsuk-subnav .nhsuk-header__navigation-link {
      padding-right: 28px; }
      .nhsuk-subnav .nhsuk-header__navigation-link:focus {
        text-decoration: none; }
      .nhsuk-subnav .nhsuk-header__navigation-link:focus .nhsuk-icon {
        fill: #212b32; } }
  .nhsuk-subnav .nhsuk-header__navigation-link .nhsuk-icon {
    fill: #005eb8;
    height: 22px;
    right: 16px;
    transform: rotate(0) translateX(50%);
    width: 22px; }
    @media (min-width: 61.875em) {
      .nhsuk-subnav .nhsuk-header__navigation-link .nhsuk-icon {
        display: block;
        fill: #ffffff;
        left: 20px;
        right: 0;
        transform: rotate(90deg); } }

.nhsuk-subnav .nhsuk-subnav__list {
  display: none;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
  z-index: 1; }
  @media (min-width: 61.875em) {
    .nhsuk-subnav .nhsuk-subnav__list {
      border: 1px solid #d8dde0;
      border-bottom-width: 4px !important;
      background: #ffffff;
      display: none;
      list-style: none;
      min-width: 16rem;
      padding: 0;
      position: absolute;
      right: 0;
      top: 100%;
      text-align: left;
      z-index: 9999; } }
  .nhsuk-subnav .nhsuk-subnav__list .nhsuk-subnav__list-item {
    margin-bottom: 0;
    border-top: 1px solid #f0f4f5; }
  .nhsuk-subnav .nhsuk-subnav__list .nhsuk-subnav__list-link {
    border-bottom: 4px solid transparent;
    border-top: 4px solid transparent;
    color: #005eb8;
    display: inline-block;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    padding: 12px 16px;
    text-decoration: none;
    width: 100%; }
    .nhsuk-subnav .nhsuk-subnav__list .nhsuk-subnav__list-link:visited {
      color: #005eb8;
      text-decoration: none; }
    .nhsuk-subnav .nhsuk-subnav__list .nhsuk-subnav__list-link:hover, .nhsuk-subnav .nhsuk-subnav__list .nhsuk-subnav__list-link:focus {
      text-decoration: underline; }
    .nhsuk-subnav .nhsuk-subnav__list .nhsuk-subnav__list-link:focus {
      color: #212b32; }
    .nhsuk-subnav .nhsuk-subnav__list .nhsuk-subnav__list-link.no-link {
      color: #212b32;
      text-decoration: none;
      cursor: default; }
    @media (min-width: 61.875em) {
      .nhsuk-subnav .nhsuk-subnav__list .nhsuk-subnav__list-link {
        display: block; } }

@media (min-width: 61.875em) {
  .nhsuk-subnav .nhsuk-nav__link {
    padding: 8px 16px; } }

@media (min-width: 61.875em) {
  .nhsuk-subnav .nhsuk-header__back-text {
    display: none; } }

.nhsuk-subnav.is-active .nhsuk-header__navigation-link .nhsuk-icon {
  transform: rotate(90deg); }

.nhsuk-subnav.is-active .nhsuk-subnav__list-link {
  padding-left: 28px; }

.nhsuk-subnav.is-active .nhsuk-subnav__list {
  display: block;
  left: 0;
  margin-bottom: 0;
  position: inherit;
  width: 100%; }
  @media (min-width: 61.875em) {
    .nhsuk-subnav.is-active .nhsuk-subnav__list {
      display: block;
      left: inherit;
      position: absolute; } }
  @media (min-width: 61.875em) {
    .nhsuk-subnav.is-active .nhsuk-subnav__list .nhsuk-subnav__list-link {
      font-size: 1rem;
      line-height: 1.5; } }

/* Hero */
.nhsuk-hero .nhsuk-hero__wrapper {
  padding: 48px 0 88px; }

.nhsuk-hero .nhsuk-hero--border {
  border: 0; }

.nhsuk-hero--image-description {
  margin-bottom: 90px; }
  @media (min-width: 40.0625em) {
    .nhsuk-hero--image-description {
      margin-bottom: 98px; } }

.nhsuk-hee-hero .nhsuk-hero__wrapper {
  padding: 48px 0 88px; }

@media (min-width: 40.0625em) {
  .nhsuk-hero--image .nhsuk-hero__overlay {
    height: 380px; } }

.nhsuk-hee-table {
  margin-bottom: 4em !important;
  background-color: #fff;
  word-break: normal; }

.nhsuk-hee-table--multicols {
  width: 100%;
  background-color: #fff; }

.nhsuk-hee-table--multicols caption {
  font-size: 1.375rem;
  line-height: 1.45455; }

.nhsuk-hee-table--multicols .nhsuk-table__head {
  -webkit-clip-path: inset(50%);
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

.nhsuk-hee-table--multicols .nhsuk-table__body .nhsuk-table__row {
  display: block;
  margin-bottom: 24px; }

.nhsuk-hee-table--multicols .nhsuk-table__body .nhsuk-table__row .nhsuk-table__cell {
  display: flex;
  justify-content: space-between;
  min-width: 1px;
  padding-right: 0;
  text-align: right; }

.nhsuk-hee-table--multicols .nhsuk-table__body .nhsuk-table__row .nhsuk-table__cell:last-of-type {
  border-bottom: 3px solid #d8dde0; }

.nhsuk-hee-table--multicols .nhsuk-table__body .nhsuk-table__row .nhsuk-table-responsive__heading {
  font-weight: 600;
  padding-right: 16px;
  text-align: left;
  display: block; }

/* NHSUK-Image */
.nhsuk-grid-column-two-thirds .nhsuk-image {
  width: 100%; }

/* Related cards (from live) */
.nhsuk-related-links-card__list {
  list-style-type: none;
  padding-left: 0; }

.nhsuk-related-links-card__list li {
  margin-bottom: 24px; }

.nhsuk-related-links-card__link {
  text-decoration: none; }

.nhsuk-related-links-card__link:hover {
  text-decoration: underline; }

/* Contact (from live) */
.nhsuk-contact {
  margin-bottom: 40px;
  position: relative;
  width: 100%; }

@media (min-width: 40.0625em) {
  .nhsuk-contact {
    margin-bottom: 48px; } }

.nhsuk-contact h2,
.nhsuk-contact h3,
.nhsuk-contact h4,
.nhsuk-contact h5 {
  margin-bottom: 0; }

.nhsuk-contact h4 {
  font-size: 1.1875rem; }

.nhsuk-contact h5 {
  font-size: 1.1875rem;
  font-weight: 400; }

.nhsuk-contact .nhsuk-contact__img-container {
  position: relative;
  margin-bottom: 24px;
  width: 8.375rem;
  height: 8.375rem;
  background: #d8dde0;
  border-radius: 50%;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  line-height: 8.375rem;
  color: #4c6272; }

@media print {
  .nhsuk-contact .nhsuk-contact__img-container {
    display: none; } }

.nhsuk-contact .nhsuk-contact__img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 8.375rem;
  height: 8.375rem;
  border-radius: 50%;
  object-fit: cover;
  border-bottom: 1px solid #f0f4f5; }

@media print {
  .nhsuk-contact .nhsuk-contact__img {
    display: none; } }

.nhsuk-contact .nhsuk-contact__description,
.nhsuk-contact .nhsuk-contact__heading,
.nhsuk-contact .nhsuk-contact__metadata {
  margin-bottom: 8px; }

.nhsuk-contact .nhsuk-contact hr {
  margin-top: 24px;
  margin-bottom: 24px; }

.nhsuk-contact .nhsuk-contact a {
  word-wrap: break-word; }

.nhsuk-contact .nhsuk-contact__pronoun {
  color: #4c6272; }

.nhsuk-contact .nhsuk-contact__secondary-info p {
  word-wrap: break-word; }

.nhsuk-contact__secondary-info > * {
  margin-bottom: 12px; }

.nhsuk-contact__card .nhsuk-contact__content {
  padding: 24px;
  position: relative; }

.nhsuk-contact__card .nhsuk-contact__content > :first-child {
  margin-top: 0; }

.nhsuk-contact__card .nhsuk-contact__content > :last-child {
  margin-bottom: 0; }

@media (min-width: 40.0625em) {
  .nhsuk-contact__card .nhsuk-contact__content {
    padding: 32px; } }

.nhsuk-contact__card {
  background: #fff;
  border: 1px solid #d8dde0; }

.nhsuk-contact__card .nhsuk-contact__pronoun {
  margin-bottom: 8px; }

.nhsuk-contact__card .nhsuk-contact__secondary-info > * {
  margin-bottom: 12px; }

.nhsuk-contact__card p[aria-label="Address"] {
  font-size: 1.1875rem;
  line-height: 1.47368; }

.nhsuk-contact-group {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 16px;
  padding: 0; }

@media (max-width: 48.0525em) {
  .nhsuk-contact-group {
    margin-bottom: 40px; } }

.nhsuk-contact-group + .nhsuk-heading-l,
.nhsuk-contact-group + .nhsuk-heading-m,
.nhsuk-contact-group + h2,
.nhsuk-contact-group + h3 {
  padding-top: 0; }

.hee-layout-sidebar .nhsuk-contact-group {
  margin-left: 0;
  margin-right: 0; }

.nhsuk-contact-group__item {
  display: flex;
  list-style-type: none;
  margin-bottom: 0; }

@media (max-width: 48.0525em) {
  .nhsuk-contact-group__item {
    flex: 0 0 100%; } }

.nhsuk-contact-group__item .nhsuk-contact {
  margin-bottom: 32px; }

@media (max-width: 48.0525em) {
  .nhsuk-contact-group__item .nhsuk-contact {
    margin-bottom: 16px; }
  .nhsuk-contact-group__item:last-child .nhsuk-contact {
    margin-bottom: 0; } }

.nhsuk-contact--feature {
  margin-top: 40px; }

@media (min-width: 40.0625em) {
  .nhsuk-contact--feature {
    margin-top: 48px; } }

.nhsuk-contact__heading--feature {
  background: #005eb8;
  color: #fff;
  display: inline-block;
  left: -25px;
  margin-bottom: 8px;
  margin-right: -24px;
  padding: 8px 24px;
  position: relative;
  top: -8px; }

@media (min-width: 40.0625em) {
  .nhsuk-contact__heading--feature {
    left: -33px;
    margin-right: -32px;
    padding: 8px 32px;
    top: -16px; } }

.nhsuk-contact__content--feature {
  padding-top: 0 !important; }

/* Sectionbreak (from live) */
.nhsuk-section-break {
  border: 0;
  margin: 0; }

.nhsuk-section-break--xl {
  margin-top: 48px;
  margin-bottom: 48px; }

.nhsuk-section-break--l {
  margin-top: 32px;
  margin-bottom: 32px; }

.nhsuk-section-break--m {
  margin-top: 16px;
  margin-bottom: 16px; }

.nhsuk-section-break--visible {
  border-bottom: 1px solid #d8dde0; }

/* Homepage sections (from live) */
.nhsuk-homepage {
  background-color: #fff; }

.nhsuk-homepage .nhsuk-section:nth-of-type(odd) {
  background: #f0f4f5; }

.nhsuk-homepage .nhsuk-section__content .nhsuk-action-link {
  padding-top: 8px; }

.nhsuk-section__content {
  padding-bottom: 64px;
  padding-top: 64px; }

.nhsuk-section__content > :first-child {
  margin-top: 0; }

.nhsuk-section__content > :last-child {
  margin-bottom: 0; }

.nhsuk-section__content:empty {
  display: none; }

.nhsuk-section__content h2 {
  padding-top: 0; }

.nhsuk-section__description {
  color: #4c6272; }

.nhsuk-section--with-image {
  position: relative; }

.nhsuk-section--with-image:before {
  background-image: url(/images/crosses.svg);
  background-position: left top;
  background-repeat: no-repeat;
  bottom: 0;
  content: "";
  display: block;
  height: 700px;
  position: absolute;
  right: 0;
  width: 48%; }

.nhsuk-width-container {
  margin: 0 16px;
  max-width: 960px; }

.nhsuk-width-container-fluid {
  margin: 0 16px;
  max-width: 100%; }

.nhsuk-width-container--full {
  margin: 0;
  max-width: none; }

.nhsuk-main-wrapper--no-padding {
  padding: 0; }

@media (min-width: 40.0625em) {
  .nhsuk-section-break--xl {
    margin-top: 56px;
    margin-bottom: 56px; }
  .nhsuk-section-break--l {
    margin-top: 40px;
    margin-bottom: 40px; }
  .nhsuk-section-break--m {
    margin-top: 24px;
    margin-bottom: 24px; }
  .nhsuk-homepage .nhsuk-section:nth-of-type(2) {
    padding-top: 40px; } }

@media (max-width: 48.0525em) {
  .nhsuk-section__content {
    padding-bottom: 48px;
    padding-top: 48px; }
  .nhsuk-section__content + .nhsuk-section__content {
    padding-top: 0; }
  .nhsuk-section--with-image {
    padding-top: 120px; }
  .nhsuk-section--with-image:before {
    background-image: url(/images/crosses-mobile.svg);
    bottom: auto;
    height: 125px;
    left: 0;
    right: auto;
    top: -10px;
    width: 100%; }
  .nhsuk-header__navigation.js-show .nhsuk-width-container {
    margin: 0; } }

@media (max-width: 26.3125em) {
  .nhsuk-homepage .nhsuk-section:nth-of-type(2) {
    padding-top: 40px; } }

@media (min-width: 48.0625em) {
  .nhsuk-width-container {
    margin: 0 32px; }
  .nhsuk-width-container-fluid {
    margin: 0 32px; } }

@media (min-width: 1024px) {
  .nhsuk-width-container {
    margin: 0 auto; } }

@media (max-width: 61.865em) {
  .nhsuk-header__navigation.js-show {
    border-bottom: 4px solid #f0f4f5;
    border-top: 4px solid #f0f4f5; }
  .nhsuk-header__navigation.js-show .nhsuk-width-container {
    margin: 0 16px; } }

/* Related-links-card - old */
.nhsuk-related-links-card__list {
  list-style-type: none;
  padding-left: 0; }

.nhsuk-related-links-card__list li {
  margin-bottom: 24px; }

.nhsuk-related-links-card__link {
  text-decoration: none; }

.nhsuk-related-links-card__link:hover {
  text-decoration: underline; }

/* HEE-Microhero */
.hee-microhero {
  width: 100%;
  height: 260px;
  display: block;
  background-color: #DDD;
  background-size: cover;
  background-position: center center; }

/* HEE-Timeline */
.hee-timeline {
  position: relative;
  margin-top: 64px;
  margin-bottom: 64px;
  padding: 32px 24px 24px;
  background-color: #ffffff;
  border: 1px solid #d8dde0; }
  .hee-timeline .hee-timeline__title {
    position: absolute;
    top: -32px;
    left: 0;
    width: calc(100% - 64px);
    padding: 10px 24px;
    color: #ffffff;
    font-size: 24px;
    line-height: 31px;
    background: #005eb8; }
  .hee-timeline .hee-timeline__event h4 {
    margin-top: 24px;
    margin-bottom: 16px;
    font-size: 1.5rem; }
  .hee-timeline .hee-timeline__event:last-of-type .nhsuk-summary-list {
    margin-bottom: 16px; }

.hee-timeline--noevents {
  position: relative;
  margin-top: 64px;
  margin-bottom: 64px;
  padding: 32px 24px 24px;
  display: block;
  background-color: #ffffff;
  border: 1px solid #d8dde0; }
  .hee-timeline--noevents .hee-timeline__description {
    margin-top: 16px; }
    .hee-timeline--noevents .hee-timeline__description p:last-of-type {
      margin-bottom: 0; }

/* Timeline Card - old */
.nhsuk-timeline-card {
  position: relative;
  margin-top: 64px;
  margin-bottom: 64px;
  padding: 32px 24px 24px;
  background-color: #ffffff;
  border: 1px solid #d8dde0; }
  .nhsuk-timeline-card__title {
    position: absolute;
    top: -32px;
    left: 0;
    width: calc(100% - 64px);
    padding: 10px 24px;
    color: #ffffff;
    font-size: 24px;
    line-height: 31px;
    background: #005eb8; }
  .nhsuk-timeline-card__event h4 {
    margin-top: 24px;
    margin-bottom: 16px;
    font-size: 1.5rem; }
  .nhsuk-timeline-card__event:last-of-type .nhsuk-summary-list {
    margin-bottom: 16px; }

.nhsuk-timeline-card--no-events {
  position: relative;
  margin-top: 64px;
  margin-bottom: 64px;
  padding: 32px 24px 24px;
  display: block;
  background-color: #ffffff;
  border: 1px solid #d8dde0; }
  .nhsuk-timeline-card--no-events .nhsuk-timeline-card__description {
    margin-top: 16px; }
    .nhsuk-timeline-card--no-events .nhsuk-timeline-card__description p:last-of-type {
      margin-bottom: 0; }

/* NHSUK-Image-Card */
.nhsuk-image--card {
  border: 1px solid #d8dde0;
  background-color: #ffffff;
  padding: 24px;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 48px; }
  .nhsuk-image--card .nhsuk-image__img {
    max-width: 100%;
    height: auto; }
  .nhsuk-image--card .nhsuk-image__caption {
    font-size: 0.9rem;
    color: #212b32;
    padding: 0;
    margin-top: 16px; }

.hee-card--details h3 {
  margin-bottom: 16px; }

.hee-card--details .hee-card--details__item {
  margin-bottom: 16px; }
  .hee-card--details .hee-card--details__item span {
    font-weight: 600; }
  .hee-card--details .hee-card--details__item:last-child {
    margin-bottom: 0; }

/* RelatedNav - old */
.nhsuk-related-nav {
  border-top: 2px solid #005eb8; }

.nhsuk-related-nav__heading {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.2;
  margin-bottom: 16px;
  padding-top: 16px; }

.nhsuk-related-nav__list {
  list-style: none;
  margin-bottom: 16px;
  padding-left: 0; }

.nhsuk-related-nav__item {
  font-size: 14px;
  font-size: .875rem;
  line-height: 1.71429; }

.nhsuk-related-nav__sub-heading {
  margin-bottom: 8px;
  padding-top: 8px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.2; }

@media print {
  .nhsuk-related-nav__heading {
    font-size: 18pt;
    line-height: 1.2; }
  .nhsuk-related-nav__item {
    font-size: 14pt;
    line-height: 1.2; }
  .nhsuk-related-nav__sub-heading {
    font-size: 14pt;
    line-height: 1.2; } }

@media (min-width: 40.0625em) {
  .nhsuk-related-nav__heading {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.2; }
  .nhsuk-related-nav__item {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5; }
  .nhsuk-related-nav__sub-heading {
    margin-bottom: 8px;
    padding-top: 8px;
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.2; } }

@media (max-width: 48.0525em) {
  .nhsuk-related-nav {
    margin-top: 48px; } }

/* NHSUK-Header__search */
.nhsuk-header__search-wrap.js-show {
  margin-left: -32px;
  margin-right: -32px; }

.nhsuk-search__close {
  height: auto;
  width: auto;
  margin: 0 -6px 0 0;
  padding: 4px 7px; }

.app-search-results-category {
  color: #4c6272;
  display: block;
  font-size: 14px; }

/* Why is this in the middle of header__search? */
.nhsuk-list--border > li {
  border-bottom: 1px solid #d8dde0;
  padding: 8px 0 16px; }
  .nhsuk-list--border > li > :first-child {
    margin-top: 0; }
  .nhsuk-list--border > li > :last-child {
    margin-bottom: 0; }
  .nhsuk-list--border > li:first-of-type {
    border-top: 1px solid #d8dde0;
    padding: 16px 0; }
  .nhsuk-list--border > li .nhsuk-review-date {
    margin-top: 0; }

.nhsuk-contact__card .nhsuk-list--border > li .nhsuk-review-date .nhsuk-contact__pronoun,
.nhsuk-contact__card .nhsuk-list--border > li .nhsuk-review-date .nhsuk-contact__secondary-info > *,
.nhsuk-list--border > li .nhsuk-review-date .nhsuk-body-s,
.nhsuk-list--border > li .nhsuk-review-date .nhsuk-contact__card .nhsuk-contact__pronoun,
.nhsuk-list--border > li .nhsuk-review-date .nhsuk-contact__card .nhsuk-contact__secondary-info > * {
  margin-bottom: 0; }

@media (min-width: 40.0625em) {
  .autocomplete__input {
    width: 180px; } }

@media (min-width: 48.0625em) {
  .autocomplete__input {
    width: 200px; } }

/* NHSUK-Media - old */
.nhsuk-media {
  min-width: 288px;
  margin: 40px 0 80px;
  background: #fff;
  padding: 24px 0;
  border-bottom: 4px solid #d8dde0; }
  .nhsuk-media h2 {
    margin: 0 24px 24px; }
  .nhsuk-media .nhsuk-media__container {
    padding: 0 24px 56.25% 24px;
    position: relative; }
    .nhsuk-media .nhsuk-media__container iframe {
      height: 100%;
      left: 0;
      max-height: 100%;
      position: absolute;
      top: 0;
      width: 100%; }
    .nhsuk-media .nhsuk-media__container.anchor {
      padding-bottom: 0; }
      .nhsuk-media .nhsuk-media__container.anchor iframe {
        position: relative; }
  .nhsuk-media .nhsuk-media__description {
    padding: 0 24px 24px; }
    .nhsuk-media .nhsuk-media__description p:last-child {
      margin-bottom: 0; }
  .nhsuk-media .nhsuk-media__info {
    padding: 24px 24px 0; }
  .nhsuk-media .nhsuk-media__reviews p {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
    color: #4c6272; }
    @media (min-width: 40.0625em) {
      .nhsuk-media .nhsuk-media__reviews p {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5; } }
    @media print {
      .nhsuk-media .nhsuk-media__reviews p {
        font-size: 14pt;
        line-height: 1.2; } }
  .nhsuk-media .nhsuk-media__transcript a {
    position: relative;
    display: flex;
    margin-bottom: 16px;
    padding-left: 24px;
    font-size: 1.1875rem;
    font-weight: 600;
    color: #005eb8;
    text-decoration: underline;
    line-height: 34px;
    cursor: pointer; }
    .nhsuk-media .nhsuk-media__transcript a:hover {
      text-decoration: none; }
    .nhsuk-media .nhsuk-media__transcript a:focus {
      color: #212b32;
      text-decoration: underline;
      background: #ffeb3b; }
    .nhsuk-media .nhsuk-media__transcript a span:before {
      bottom: 0;
      content: '';
      left: 0;
      margin: auto;
      position: absolute;
      top: 0;
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-color: transparent;
      clip-path: polygon(0 0, 100% 50%, 0 100%);
      border-width: 8px 0 8px 12px;
      border-left-color: inherit; }
  .nhsuk-media .nhsuk-media__transcript .nhsuk-media__show-text {
    display: block; }
  .nhsuk-media .nhsuk-media__transcript .nhsuk-media__hide-text {
    display: none; }
  .nhsuk-media .nhsuk-media__transcript .nhsuk-media__transcript-text {
    display: none;
    margin-bottom: 24px; }
  .nhsuk-media .nhsuk-media__transcript.nhsuk-media__transcript-expanded a span:before {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    border-width: 12px 8px 0 8px;
    border-top-color: inherit; }
  .nhsuk-media .nhsuk-media__transcript.nhsuk-media__transcript-expanded .nhsuk-media__transcript-text,
  .nhsuk-media .nhsuk-media__transcript.nhsuk-media__transcript-expanded .nhsuk-media__hide-text {
    display: block; }
  .nhsuk-media .nhsuk-media__transcript.nhsuk-media__transcript-expanded .nhsuk-media__show-text {
    display: none; }

@media (min-width: 48.0625em) {
  .nhsuk-grid-column-two-thirds .nhsuk-media iframe.youtube, .nhsuk-grid-column-two-thirds .nhsuk-media iframe.vimeo {
    min-height: calc(((100vw - 48px) / 16 * 9) - 74px); } }

@media (min-width: 61.875em) {
  .nhsuk-grid-column-two-thirds .nhsuk-media iframe.youtube, .nhsuk-grid-column-two-thirds .nhsuk-media iframe.vimeo {
    min-height: 480px; } }

.page--rightbar .page__content .nhsuk-media__container.anchor iframe {
  height: 100px; }

.page--fullwidth .page__content .nhsuk-media__container.anchor iframe {
  height: 100px; }
  @media (min-width: 48.0625em) {
    .page--fullwidth .page__content .nhsuk-media__container.anchor iframe {
      height: 162px; } }

/* NHSUK-Map - need swapping to HEE-Navmap */
.nhsuk-map {
  display: flex;
  margin-bottom: 32px;
  margin-left: 0;
  margin-right: 0;
  padding: 40px 0;
  padding-top: 0; }
  @media (min-width: 40.0625em) {
    .nhsuk-map {
      margin-bottom: 40px; } }
  .nhsuk-map + .nhsuk-map {
    margin-top: 0; }
    @media (min-width: 40.0625em) {
      .nhsuk-map + .nhsuk-map {
        margin-top: 0; } }

.nhsuk-map__image {
  display: block;
  width: 50%; }

.nhsuk-map__image {
  display: none; }

.nhsuk-map__caption {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429; }
  @media (min-width: 40.0625em) {
    .nhsuk-map__caption {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.5; } }
  @media print {
    .nhsuk-map__caption {
      font-size: 14pt;
      line-height: 1.2; } }
  .nhsuk-map__caption .nhsuk-map__description {
    width: 100%;
    text-align: left;
    margin-bottom: 32px; }
    .nhsuk-map__caption .nhsuk-map__description h3 {
      margin-bottom: 24px; }
  .nhsuk-map__caption ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .nhsuk-map__caption ul li {
      margin-bottom: 24px; }
      .nhsuk-map__caption ul li a {
        display: block;
        width: 100%;
        text-decoration: none; }
        .nhsuk-map__caption ul li a.hover, .nhsuk-map__caption ul li a:hover {
          text-decoration: underline; }
        .nhsuk-map__caption ul li a:visited {
          color: #005eb8; }

@media (min-width: 40.0625em) {
  .nhsuk-map .nhsuk-map__image {
    display: block; }
  .nhsuk-map .nhsuk-map__caption {
    width: 50%;
    margin-right: 24px; } }

/* RelatedNav - old */
.nhsuk-related-nav {
  border-top: 2px solid #005eb8; }

.nhsuk-related-nav__heading {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.2;
  margin-bottom: 16px;
  padding-top: 16px; }

.nhsuk-related-nav__list {
  list-style: none;
  margin-bottom: 16px;
  padding-left: 0; }

.nhsuk-related-nav__item {
  font-size: 14px;
  font-size: .875rem;
  line-height: 1.71429; }

.nhsuk-related-nav__sub-heading {
  margin-bottom: 8px;
  padding-top: 8px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.2; }

@media print {
  .nhsuk-related-nav__heading {
    font-size: 18pt;
    line-height: 1.2; }
  .nhsuk-related-nav__item {
    font-size: 14pt;
    line-height: 1.2; }
  .nhsuk-related-nav__sub-heading {
    font-size: 14pt;
    line-height: 1.2; } }

@media (min-width: 40.0625em) {
  .nhsuk-related-nav__heading {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.2; }
  .nhsuk-related-nav__item {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5; }
  .nhsuk-related-nav__sub-heading {
    margin-bottom: 8px;
    padding-top: 8px;
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.2; } }

@media (max-width: 48.0525em) {
  .nhsuk-related-nav {
    margin-top: 48px; } }

/* NHSUK-Resources__link - old */
.nhsuk-resources__link .nhsuk-resources__tag,
.nhsuk-resources__link .nhsuk-resources__docSize {
  text-decoration: none; }

.nhsuk-resources__link .nhsuk-resources__tag {
  display: inline-block;
  position: relative;
  top: -1px;
  min-width: 40px;
  margin: 0 8px;
  padding: 2px 8px;
  color: #ffffff;
  font-size: .75em;
  text-align: center;
  text-transform: uppercase;
  border-radius: 12px; }

.nhsuk-resources__link .nhsuk-resources__pdf {
  background-color: #F40F02; }

.nhsuk-resources__link .nhsuk-resources__doc,
.nhsuk-resources__link .nhsuk-resources__docx {
  background-color: #2b579a; }

.nhsuk-resources__link .nhsuk-resources__xls,
.nhsuk-resources__link .nhsuk-resources__xlsx,
.nhsuk-resources__link .nhsuk-resources__csv {
  background-color: #1D6F42; }

.nhsuk-resources__link .nhsuk-resources__txt {
  background-color: #768692; }

.nhsuk-resources__link .nhsuk-resources__odt,
.nhsuk-resources__link .nhsuk-resources__ott,
.nhsuk-resources__link .nhsuk-resources__fodt {
  background-color: #456697; }

.nhsuk-resources__link .nhsuk-resources__ods,
.nhsuk-resources__link .nhsuk-resources__ots,
.nhsuk-resources__link .nhsuk-resources__fods {
  background-color: #8abf1c; }

.nhsuk-resources__link .nhsuk-resources__odf,
.nhsuk-resources__link .nhsuk-resources__fodf {
  background-color: #106f5a; }

.nhsuk-resources__link .nhsuk-resources__odp,
.nhsuk-resources__link .nhsuk-resources__otp,
.nhsuk-resources__link .nhsuk-resources__fodp {
  background-color: #f1662d; }

.nhsuk-resources__link .nhsuk-resources__oth {
  background-color: #737373; }

.nhsuk-resources__link .nhsuk-resources__odg,
.nhsuk-resources__link .nhsuk-resources__fodg,
.nhsuk-resources__link .nhsuk-resources__otg {
  background-color: #e4a204; }

.nhsuk-resources__link .nhsuk-resources__odb,
.nhsuk-resources__link .nhsuk-resources__fodb {
  background-color: #a5265b; }

.nhsuk-resources__link .nhsuk-resources__odm,
.nhsuk-resources__link .nhsuk-resources__fodm {
  background-color: #344c84; }

.nhsuk-resources__link .nhsuk-resources__docSize {
  display: inline-block;
  color: #768692; }

.nhsuk-resources__list {
  list-style-type: none;
  padding-left: 0; }

/* HEE-Resources */
.hee-resources__link .hee-resources__tag,
.hee-resources__link .hee-resources__docSize {
  text-decoration: none; }

.hee-resources__link .hee-resources__tag {
  display: inline-block;
  position: relative;
  top: -1px;
  min-width: 40px;
  margin: 0 8px;
  padding: 2px 8px;
  color: #ffffff;
  font-size: .75em;
  text-align: center;
  text-transform: uppercase;
  border-radius: 12px; }

.hee-resources__link .hee-resources__pdf {
  background-color: #F40F02; }

.hee-resources__link .hee-resources__doc,
.hee-resources__link .hee-resources__docx {
  background-color: #2b579a; }

.hee-resources__link .hee-resources__xls,
.hee-resources__link .hee-resources__xlsx,
.hee-resources__link .hee-resources__csv {
  background-color: #1D6F42; }

.hee-resources__link .hee-resources__txt,
.hee-resources__link .hee-resources__mrc {
  background-color: #768692; }

.hee-resources__link .hee-resources__odt,
.hee-resources__link .hee-resources__ott,
.hee-resources__link .hee-resources__fodt {
  background-color: #456697; }

.hee-resources__link .hee-resources__ods,
.hee-resources__link .hee-resources__ots,
.hee-resources__link .hee-resources__fods {
  background-color: #8abf1c; }

.hee-resources__link .hee-resources__odf,
.hee-resources__link .hee-resources__fodf {
  background-color: #106f5a; }

.hee-resources__link .hee-resources__odp,
.hee-resources__link .hee-resources__otp,
.hee-resources__link .hee-resources__fodp,
.hee-resources__link .hee-resources__ppt,
.hee-resources__link .hee-resources__pptx {
  background-color: #f1662d; }

.hee-resources__link .hee-resources__oth {
  background-color: #737373; }

.hee-resources__link .hee-resources__odg,
.hee-resources__link .hee-resources__fodg,
.hee-resources__link .hee-resources__otg {
  background-color: #e4a204; }

.hee-resources__link .hee-resources__odb,
.hee-resources__link .hee-resources__fodb {
  background-color: #a5265b; }

.hee-resources__link .hee-resources__odm,
.hee-resources__link .hee-resources__fodm {
  background-color: #344c84; }

.hee-resources__link .hee-resources__docSize {
  display: inline-block;
  color: #768692; }

.hee-resources__list {
  list-style-type: none;
  padding-left: 0; }

.hee-card--details .hee-resources__wrapper {
  padding-right: 8px;
  display: block;
  width: 80%;
  word-break: break-word; }
  @media (min-width: 40.0625em) {
    .hee-card--details .hee-resources__wrapper {
      padding-right: 8px; } }
  .hee-card--details .hee-resources__wrapper:hover {
    text-decoration: underline; }

.hee-card--details .hee-resources__link {
  align-content: flex-start;
  align-items: flex-start;
  display: flex;
  text-decoration: none; }
  .hee-card--details .hee-resources__link span {
    font-weight: normal; }
    .hee-card--details .hee-resources__link span.hee-resources__text {
      padding-right: 4px; }
    .hee-card--details .hee-resources__link span.hee-resources__tag {
      border-radius: 6px;
      font-size: 10px;
      margin: 0;
      min-width: 32px;
      padding: 2px 6px 0 6px;
      text-decoration: none;
      top: 4px; }

.nhsuk-hee-table {
  background-color: #fff;
  padding: 16px; }

.nhsuk-hee-table caption {
  background-color: #fff;
  padding: 16px 16px 0 16px; }

.nhsuk-details .nhsuk-details__text table {
  padding: 0; }
  .nhsuk-details .nhsuk-details__text table caption {
    padding-left: 0;
    padding-right: 0; }

/* HEE-AppliesTo */
.hee-appliesto {
  padding: 24px;
  margin: 48px 0;
  background-color: #005eb8; }

.hee-appliesto p {
  color: #FFF;
  margin-bottom: 0;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5; }

.hee-appliesto a {
  color: #FFF; }

.hee-appliesto span {
  font-weight: bold; }

/* HEE-AnchorLinks */
.hee-anchorlinks {
  background-color: #FFF;
  padding: 24px;
  margin-bottom: 24px; }
  .hee-anchorlinks h2 {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.55556;
    display: block;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 8px; }
    @media (min-width: 40.0625em) {
      .hee-anchorlinks h2 {
        font-size: 22px;
        font-size: 1.375rem;
        line-height: 1.45455; } }
    @media print {
      .hee-anchorlinks h2 {
        font-size: 18pt;
        line-height: 1.15; } }
    @media (min-width: 40.0625em) {
      .hee-anchorlinks h2 {
        margin-bottom: 16px; } }
  .hee-anchorlinks ul {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 0;
    list-style-type: none;
    margin-top: 0;
    padding-left: 0; }
    @media (min-width: 40.0625em) {
      .hee-anchorlinks ul {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.47368; } }
    @media print {
      .hee-anchorlinks ul {
        font-size: 14pt;
        line-height: 1.15; } }
    @media (min-width: 40.0625em) {
      .hee-anchorlinks ul {
        margin-bottom: 0; } }
    .hee-anchorlinks ul li {
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 1.71429;
      display: block;
      margin-top: 0;
      margin-bottom: 8px; }
      @media (min-width: 40.0625em) {
        .hee-anchorlinks ul li {
          font-size: 16px;
          font-size: 1rem;
          line-height: 1.5; } }
      @media print {
        .hee-anchorlinks ul li {
          font-size: 14pt;
          line-height: 1.2; } }
      @media (min-width: 40.0625em) {
        .hee-anchorlinks ul li {
          margin-bottom: 8px; } }
      .hee-anchorlinks ul li.has-children {
        margin-bottom: 0; }
      .hee-anchorlinks ul li a {
        text-decoration: none; }
      .hee-anchorlinks ul li .hee-anchorlinks__wrapper {
        align-items: start;
        display: flex;
        margin-bottom: 8px;
        padding-left: 8px; }
        @media (min-width: 40.0625em) {
          .hee-anchorlinks ul li .hee-anchorlinks__wrapper {
            margin-bottom: 8px; } }
        .hee-anchorlinks ul li .hee-anchorlinks__wrapper a {
          display: inline-block;
          margin-left: 4px;
          padding-left: 4px;
          position: relative; }
        .hee-anchorlinks ul li .hee-anchorlinks__wrapper svg {
          fill: #212b32; }
        .hee-anchorlinks ul li .hee-anchorlinks__wrapper.chevron span {
          display: block;
          height: 17px;
          padding-left: 3px;
          width: 7px;
          transform: rotate(90deg); }
        .hee-anchorlinks ul li .hee-anchorlinks__wrapper.chevron svg {
          height: 17px;
          width: 7px; }
        .hee-anchorlinks ul li .hee-anchorlinks__wrapper.circle {
          align-items: center; }
          .hee-anchorlinks ul li .hee-anchorlinks__wrapper.circle span {
            display: flex;
            justify-content: center;
            padding-left: 2px;
            width: 8px; }
          .hee-anchorlinks ul li .hee-anchorlinks__wrapper.circle svg {
            height: 3px;
            width: 3px; }
    .hee-anchorlinks ul ul {
      margin-top: 8px;
      margin-left: 24px; }
      @media (min-width: 40.0625em) {
        .hee-anchorlinks ul ul {
          margin-top: 8px; } }
      @media (min-width: 40.0625em) {
        .hee-anchorlinks ul ul {
          margin-left: 32px; } }

.hee-anchorlinks__sticky {
  padding: 16px;
  border-top: 1px solid #d8dde0;
  bottom: 0;
  background-color: #f0f4f5;
  display: none;
  height: 91px;
  position: fixed;
  min-height: 91px;
  width: 100%; }
  @media (min-width: 40.0625em) {
    .hee-anchorlinks__sticky {
      padding: 24px; } }
  @media (min-width: 48.0625em) {
    .hee-anchorlinks__sticky {
      min-height: 107px; } }
  .hee-anchorlinks__sticky.active {
    display: block; }
  .hee-anchorlinks__sticky .hee-anchorlinks__sticky__wrapper {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    position: relative; }
    @media (min-width: 48.0625em) {
      .hee-anchorlinks__sticky .hee-anchorlinks__sticky__wrapper {
        max-width: 960px; } }
    .hee-anchorlinks__sticky .hee-anchorlinks__sticky__wrapper .hee-anchorlinks {
      display: none; }
      .hee-anchorlinks__sticky .hee-anchorlinks__sticky__wrapper .hee-anchorlinks.is-sticky {
        border: 1px solid #d8dde0;
        bottom: 31px;
        display: block;
        left: 0;
        position: absolute;
        z-index: 10; }
  .hee-anchorlinks__sticky .hee-anchorlinks__sticky__btn {
    -webkit-appearance: button;
    align-items: center;
    border: 1px solid #d8dde0;
    background-color: #ffffff;
    box-shadow: none;
    color: #212b32;
    cursor: pointer;
    display: flex;
    font-size: 19px;
    font-weight: 600;
    padding: 16px 14px;
    text-decoration: none; }
    .hee-anchorlinks__sticky .hee-anchorlinks__sticky__btn span {
      color: #212b32;
      padding-right: 15px; }
    .hee-anchorlinks__sticky .hee-anchorlinks__sticky__btn:after {
      background-image: url("data:image/svg+xml,%3Csvg class='nhsuk-icon nhsuk-icon__chevron-right' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' aria-hidden='true'%3E%3Cpath d='M15.5 12a1 1 0 0 1-.29.71l-5 5a1 1 0 0 1-1.42-1.42l4.3-4.29-4.3-4.29a1 1 0 0 1 1.42-1.42l5 5a1 1 0 0 1 .29.71z'%3E%3C/path%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: 1px center;
      content: "";
      display: block;
      height: 24px;
      transform: rotate(90deg);
      width: 24px; }
    .hee-anchorlinks__sticky .hee-anchorlinks__sticky__btn.active:after {
      transform: rotate(270deg); }
  .hee-anchorlinks__sticky .hee-anchorlinks__sticky__top-link {
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 8.5C12.3 8.5 12.5 8.6 12.7 8.8L17.7 13.8C18.1 14.2 18.1 14.8 17.7 15.2C17.3 15.6 16.7 15.6 16.3 15.2L12 10.9L7.7 15.2C7.3 15.6 6.7 15.6 6.3 15.2C5.9 14.8 5.9 14.2 6.3 13.8L11.3 8.8C11.5 8.6 11.7 8.5 12 8.5Z' fill='black'/%3E%3Crect x='6' y='5' width='12' height='2' rx='1' fill='black'/%3E%3Crect x='11' y='19' width='10' height='2' rx='1' transform='rotate(-90 11 19)' fill='black'/%3E%3C/svg%3E");
    background-position: center center;
    background-repeat: no-repeat;
    border: 1px solid #d8dde0;
    height: 58px;
    text-indent: -99999px;
    width: 59px; }
    .hee-anchorlinks__sticky .hee-anchorlinks__sticky__top-link:visited {
      color: #005eb8; }
    @media (min-width: 48.0625em) {
      .hee-anchorlinks__sticky .hee-anchorlinks__sticky__top-link {
        font-weight: 400;
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5;
        background-color: transparent;
        background-image: none;
        border: 0;
        height: auto;
        text-indent: 0;
        width: auto; } }
  @media (min-width: 48.0625em) and (min-width: 40.0625em) {
    .hee-anchorlinks__sticky .hee-anchorlinks__sticky__top-link {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.47368; } }
  @media print and (min-width: 48.0625em) {
    .hee-anchorlinks__sticky .hee-anchorlinks__sticky__top-link {
      font-size: 14pt;
      line-height: 1.15; } }

/* NHSUK-HEE-PhaseBanner - swap to HEE-PhaseBanner */
.hee-phasebanner {
  border-bottom: 1px solid #d8dde0;
  padding-top: 8px;
  padding-bottom: 8px; }
  .hee-phasebanner .hee-phasebanner__wrapper {
    align-items: center;
    display: flex; }
    .hee-phasebanner .hee-phasebanner__wrapper .hee-phasebanner__tag {
      background-color: #005eb8;
      color: #ffffff;
      font-weight: bold;
      line-height: 1em;
      margin-right: 16px;
      padding: 8px 16px;
      text-transform: uppercase; }
      @media (max-width: 48.0525em) {
        .hee-phasebanner .hee-phasebanner__wrapper .hee-phasebanner__tag {
          line-height: 1.5; } }
    .hee-phasebanner .hee-phasebanner__wrapper .hee-phasebanner__content p {
      font-weight: 400;
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 1.71429;
      margin: 0;
      margin-bottom: 8px; }
      @media (min-width: 40.0625em) {
        .hee-phasebanner .hee-phasebanner__wrapper .hee-phasebanner__content p {
          font-size: 16px;
          font-size: 1rem;
          line-height: 1.5; } }
      @media print {
        .hee-phasebanner .hee-phasebanner__wrapper .hee-phasebanner__content p {
          font-size: 14pt;
          line-height: 1.2; } }
      .hee-phasebanner .hee-phasebanner__wrapper .hee-phasebanner__content p:last-child {
        margin-bottom: 0; }

.hee-phasebanner--notag .hee-phasebanner__tag {
  display: none !important; }

.nhsuk-tabs {
  margin: 0 0 48px;
  position: relative; }
  .nhsuk-tabs .nhsuk-tabs__mobile {
    display: none; }
  @media (max-width: 48.0525em) {
    .nhsuk-tabs .nhsuk-tabs__desktop {
      display: none; }
    .nhsuk-tabs .nhsuk-tabs__mobile {
      display: block; }
      .nhsuk-tabs .nhsuk-tabs__mobile .nhsuk-tabs__list {
        display: block; } }
  .nhsuk-tabs .nhsuk-tabs__list {
    display: flex;
    list-style: none;
    padding: 0; }
    .nhsuk-tabs .nhsuk-tabs__list .nhsuk-tabs__list-item {
      display: flex;
      align-items: center;
      text-align: left;
      width: 100%;
      border-bottom: 0;
      border: 1px solid #ffffff;
      background-color: #005eb8;
      margin: 0;
      background-image: url("data:image/svg+xml,%3Csvg class='nhsuk-icon nhsuk-icon__plus' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='32' aria-hidden='true'%3E%3Ccircle cx='12' cy='12' r='10' fill='none'%3E%3C/circle%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M12 8v8M8 12h8'%3E%3C/path%3E%3C/svg%3E%0A");
      background-position: right 4px center;
      background-repeat: no-repeat;
      box-shadow: inset 0 -4px 0 #004b93;
      font-size: 1rem;
      line-height: 1.2;
      color: #ffffff;
      padding: 16px 32px 16px 16px;
      position: relative;
      text-decoration: none;
      cursor: pointer; }
      .nhsuk-tabs .nhsuk-tabs__list .nhsuk-tabs__list-item:focus {
        background: #ffeb3b;
        background-image: url("data:image/svg+xml,%3Csvg class='nhsuk-icon nhsuk-icon__plus' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='32' aria-hidden='true'%3E%3Ccircle cx='12' cy='12' r='10' fill='none'%3E%3C/circle%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M12 8v8M8 12h8'%3E%3C/path%3E%3C/svg%3E%0A");
        background-position: right 4px center;
        background-repeat: no-repeat;
        box-shadow: inset 0 -4px 0 #212b32;
        color: #212b32;
        text-decoration: none; }
      .nhsuk-tabs .nhsuk-tabs__list .nhsuk-tabs__list-item:active {
        background-image: url("data:image/svg+xml,%3Csvg class='nhsuk-icon nhsuk-icon__plus' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='32' aria-hidden='true'%3E%3Ccircle cx='12' cy='12' r='10' fill='none'%3E%3C/circle%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M12 8v8M8 12h8'%3E%3C/path%3E%3C/svg%3E%0A");
        color: #212b32; }
    .nhsuk-tabs .nhsuk-tabs__list .nhsuk-tabs__list-item.nhsuk-tabs__list-item--selected {
      background: #FFF;
      background-image: url("data:image/svg+xml,%3Csvg class='nhsuk-icon nhsuk-icon__minus' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='32' aria-hidden='true'%3E%3Ccircle cx='12' cy='12' r='10' fill='none'%3E%3C/circle%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M8 12h8'%3E%3C/path%3E%3C/svg%3E%0A");
      background-position: right 4px center;
      background-repeat: no-repeat;
      box-shadow: none;
      font-weight: 600;
      color: #212b32;
      cursor: unset; }
  .nhsuk-tabs .nhsuk-tabs__panel {
    margin-bottom: 0;
    padding: 40px 24px;
    background-color: #ffffff;
    padding: 16px; }
    @media (min-width: 40.0625em) {
      .nhsuk-tabs .nhsuk-tabs__panel {
        margin-bottom: 0; } }
    .nhsuk-tabs .nhsuk-tabs__panel img {
      max-width: 100%; }

/* Tables 2 - duplicate? */
table {
  background-color: #fff;
  padding: 16px;
  word-break: normal; }

table caption {
  background-color: #fff;
  padding: 16px 16px 0 16px; }

.nhsuk-hee-table {
  margin-bottom: 4em !important;
  background-color: #fff; }

@media (max-width: 48.0525em) {
  .nhsuk-table-responsive .nhsuk-table__body .nhsuk-table__row {
    display: block;
    margin-bottom: 24px; }
  .nhsuk-table-responsive .nhsuk-table__body .nhsuk-table__row .nhsuk-table__cell {
    display: block;
    min-width: 1px;
    padding-right: 0;
    text-align: right; }
  .nhsuk-table-responsive .nhsuk-table__body .nhsuk-table__row .nhsuk-table__cell:last-of-type {
    border-bottom: 3px solid #d8dde0; }
  .nhsuk-table-responsive .nhsuk-table__body .nhsuk-table__row .nhsuk-table-responsive__heading {
    width: 50%;
    font-weight: 600;
    padding-right: 16px;
    text-align: left;
    display: inline-block;
    float: left; } }

.nhsuk-hee-table--multicols {
  width: 100%;
  background-color: #fff; }

.nhsuk-hee-table--multicols caption {
  font-size: 1.375rem;
  line-height: 1.45455; }

.nhsuk-hee-table--multicols .nhsuk-table__head {
  -webkit-clip-path: inset(50%);
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

.nhsuk-hee-table--multicols .nhsuk-table__body .nhsuk-table__row {
  display: block;
  margin-bottom: 24px; }

.nhsuk-hee-table--multicols .nhsuk-table__body .nhsuk-table__row .nhsuk-table__cell {
  display: block;
  min-width: 1px;
  padding-right: 0;
  text-align: right; }

.nhsuk-hee-table--multicols .nhsuk-table__body .nhsuk-table__row .nhsuk-table__cell:last-of-type {
  border-bottom: 3px solid #d8dde0; }

.nhsuk-hee-table--multicols .nhsuk-table__body .nhsuk-table__row .nhsuk-table-responsive__heading {
  width: 50%;
  font-weight: 600;
  padding-right: 16px;
  text-align: left;
  display: inline-block;
  float: left; }

/* HEE-GlobalAlert */
.hee-banner {
  background-color: #ffeb3b;
  padding-bottom: 24px;
  padding-top: 24px; }
  @media print {
    .hee-banner {
      display: none; } }
  .hee-banner .hee-banner__message {
    position: relative; }
    .hee-banner .hee-banner__message > *:first-child {
      margin-top: 0; }
    .hee-banner .hee-banner__message > *:last-child {
      margin-bottom: 0; }
    .hee-banner .hee-banner__message h1 {
      margin-bottom: 24px;
      line-height: 56px; }
    .hee-banner .hee-banner__message h2 {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.33333;
      margin-bottom: 8px;
      line-height: 40px; }
      @media (min-width: 40.0625em) {
        .hee-banner .hee-banner__message h2 {
          font-size: 32px;
          font-size: 2rem;
          line-height: 1.25; } }
      @media print {
        .hee-banner .hee-banner__message h2 {
          font-size: 24pt;
          line-height: 1.05; } }
      @media (min-width: 40.0625em) {
        .hee-banner .hee-banner__message h2 {
          margin-bottom: 16px; } }
      .hee-banner .hee-banner__message h2:last-child {
        margin-bottom: 0; }
    .hee-banner .hee-banner__message h3 {
      font-size: 20px;
      font-size: 1.25rem;
      line-height: 1.4;
      margin-bottom: 8px;
      font-weight: 400;
      line-height: 32px;
      margin: 0; }
      @media (min-width: 40.0625em) {
        .hee-banner .hee-banner__message h3 {
          font-size: 24px;
          font-size: 1.5rem;
          line-height: 1.33333; } }
      @media print {
        .hee-banner .hee-banner__message h3 {
          font-size: 18pt;
          line-height: 1.15; } }
      @media (min-width: 40.0625em) {
        .hee-banner .hee-banner__message h3 {
          margin-bottom: 16px; } }
      .hee-banner .hee-banner__message h3:last-child {
        margin-bottom: 0; }
    .hee-banner .hee-banner__message p {
      margin-top: 8px;
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.5;
      line-height: 1.5;
      display: block;
      margin-bottom: 16px; }
      @media (min-width: 40.0625em) {
        .hee-banner .hee-banner__message p {
          margin-top: 8px; } }
      @media (min-width: 40.0625em) {
        .hee-banner .hee-banner__message p {
          font-size: 19px;
          font-size: 1.1875rem;
          line-height: 1.47368; } }
      @media print {
        .hee-banner .hee-banner__message p {
          font-size: 14pt;
          line-height: 1.15; } }
      .hee-banner .hee-banner__message p:last-of-type {
        margin-bottom: 0; }
    .hee-banner .hee-banner__message a {
      color: #005eb8; }
      .hee-banner .hee-banner__message a:focus {
        background-color: #003d78;
        box-shadow: 0 0 0 4px #003d78;
        color: #ffffff;
        outline: 4px solid transparent;
        outline-offset: 4px; }
      .hee-banner .hee-banner__message a:hover {
        background-color: #005eb8;
        box-shadow: 0 0 0 4px #005eb8;
        color: #ffffff; }
      .hee-banner .hee-banner__message a:active {
        background-color: #002f5c;
        box-shadow: 0 0 0 4px #003d78;
        color: #ffffff; }
  .hee-banner.hee-banner--announcement {
    background-color: #7C2855; }
  .hee-banner.hee-banner--mourning {
    background-color: #000000; }
  .hee-banner.hee-banner--announcement, .hee-banner.hee-banner--mourning {
    color: #ffffff; }
    .hee-banner.hee-banner--announcement a, .hee-banner.hee-banner--mourning a {
      color: #005eb8;
      color: #ffffff; }
      .hee-banner.hee-banner--announcement a:focus, .hee-banner.hee-banner--mourning a:focus {
        background-color: #003d78;
        box-shadow: 0 0 0 4px #003d78;
        color: #ffffff;
        outline: 4px solid transparent;
        outline-offset: 4px; }
      .hee-banner.hee-banner--announcement a:hover, .hee-banner.hee-banner--mourning a:hover {
        background-color: #005eb8;
        box-shadow: 0 0 0 4px #005eb8;
        color: #ffffff; }
      .hee-banner.hee-banner--announcement a:active, .hee-banner.hee-banner--mourning a:active {
        background-color: #002f5c;
        box-shadow: 0 0 0 4px #003d78;
        color: #ffffff; }
      .hee-banner.hee-banner--announcement a:visited, .hee-banner.hee-banner--mourning a:visited {
        color: #ffffff; }
      .hee-banner.hee-banner--announcement a:hover, .hee-banner.hee-banner--mourning a:hover {
        color: #ffffff;
        text-decoration: none; }
      .hee-banner.hee-banner--announcement a:focus, .hee-banner.hee-banner--mourning a:focus {
        color: #212b32;
        outline: 4px solid transparent;
        outline-offset: 4px;
        text-decoration: none; }
      .hee-banner.hee-banner--announcement a:active, .hee-banner.hee-banner--mourning a:active {
        color: #002f5c; }
      .hee-banner.hee-banner--announcement a:focus, .hee-banner.hee-banner--mourning a:focus {
        color: #ffffff; }

/* ==========================================================================
   COMPONENTS / #HEE-SIDEBARIMAGE
   ========================================================================== */
.hee-sidebarimage {
  border: 1px solid #d8dde0;
  background-color: #ffffff;
  padding: 24px;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 48px; }
  .hee-sidebarimage .hee-sidebarimage__img {
    max-width: 100%;
    height: auto; }
  .hee-sidebarimage .hee-sidebarimage__caption {
    font-size: 0.9rem;
    color: #212b32;
    padding: 0;
    margin-top: 16px; }

/* ==========================================================================
   COMPONENTS / #SIDEBARLINKS - related, download, resources
   ========================================================================== */
.hee-card--related-links {
  margin-bottom: 40px;
  background: #fff;
  border: 1px solid #d8dde0;
  position: relative;
  width: 100%; }
  @media (min-width: 40.0625em) {
    .hee-card--related-links .hee-card--related-links__heading {
      margin-bottom: 8px; } }
  @media (min-width: 40.0625em) and (min-width: 40.0625em) {
    .hee-card--related-links .hee-card--related-links__heading {
      margin-bottom: 16px; } }
  .hee-card--related-links .hee-card--related-links__list {
    list-style-type: none;
    padding: 0;
    margin: 0; }
    .hee-card--related-links .hee-card--related-links__list li {
      margin-bottom: 8px; }
      @media (min-width: 40.0625em) {
        .hee-card--related-links .hee-card--related-links__list li {
          margin-bottom: 16px; } }
    .hee-card--related-links .hee-card--related-links__list li:last-of-type {
      margin-bottom: 0; }
  .hee-card--related-links .hee-card--related-links__link {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
    text-decoration: none; }
    @media (min-width: 40.0625em) {
      .hee-card--related-links .hee-card--related-links__link {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5; } }
    @media print {
      .hee-card--related-links .hee-card--related-links__link {
        font-size: 14pt;
        line-height: 1.2; } }
    .hee-card--related-links .hee-card--related-links__link:hover {
      text-decoration: underline; }
  .hee-card--related-links.theme__item-border .hee-card--related-links__list li {
    border-bottom: 1px solid #d8dde0;
    margin-bottom: 8px;
    padding-bottom: 4px; }

.hee-listing .hee-listing__summary {
  border-bottom: 1px solid #d8dde0; }
  @media (min-width: 48.0625em) {
    .hee-listing .hee-listing__summary {
      display: flex;
      justify-content: space-between; } }

.hee-listing .hee-listing__results {
  padding-top: 16px; }

.hee-listing-item {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  background-color: #ffffff;
  border: 1px solid #d8dde0;
  padding: 16px;
  margin-bottom: 16px; }
  @media (min-width: 40.0625em) {
    .hee-listing-item {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.47368; } }
  @media print {
    .hee-listing-item {
      font-size: 14pt;
      line-height: 1.15; } }
  .hee-listing-item .hee-listing-item__details__row {
    margin-bottom: 8px; }
    .hee-listing-item .hee-listing-item__details__row span {
      display: inline-block; }
      .hee-listing-item .hee-listing-item__details__row span.hee-listing-item__details__label {
        font-weight: 600; }
        @media (min-width: 40.0625em) {
          .hee-listing-item .hee-listing-item__details__row span.hee-listing-item__details__label {
            width: 33%; } }

/* Filter */
.nhsuk-filter .nhsuk-fieldset__legend {
  display: block;
  margin-bottom: 16px;
  width: 100%; }

.nhsuk-filter .nhsuk-filter__group {
  position: relative; }
  .nhsuk-filter .nhsuk-filter__group .nhsuk-filter__group__clear {
    display: none;
    position: absolute;
    right: 0; }
    .nhsuk-filter .nhsuk-filter__group .nhsuk-filter__group__clear.visible {
      display: inline-block; }

.nhsuk-filter .nhsuk-form-group {
  margin-bottom: 32px; }

.nhsuk-filter__group--closed .nhsuk-checkboxes {
  display: none; }

.nhsuk-filter__group--closed .nhsuk-fieldset__legend {
  margin-bottom: 0; }

.nhsuk-filter--js .nhsuk-fieldset__legend {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='m240.97 130.52 194.34 194.34c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901 0.04l-154.75-154.02-154.74 154.02c-9.379 9.335-24.544 9.317-33.901-0.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941l194.34-194.34c9.372-9.373 24.568-9.373 33.941-1e-3z'/%3E%3C/svg%3E%0A");
  background-position: .3em .3em;
  background-repeat: no-repeat;
  background-size: .75em;
  color: #005eb8;
  cursor: pointer;
  padding-left: 1.6em; }

.nhsuk-filter--js .nhsuk-filter__group--closed .nhsuk-fieldset__legend {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000' d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3C/svg%3E"); }

/* FilterTag */
.nhsuk-filter-tag {
  padding: .75em 1em;
  margin: .15em 0; }
  .nhsuk-filter-tag > * {
    display: inline-block;
    vertical-align: middle; }
  .nhsuk-filter-tag__icon {
    height: 1.5em;
    margin-left: .5em; }
  .nhsuk-filter-tag--js {
    cursor: pointer; }

.hee-search-form .hee-search-form__wrapper {
  background-color: transparent;
  display: flex;
  margin-bottom: 40px;
  padding: 0;
  width: 100%; }

.hee-search-form .hee-search-form__input {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  background-color: #ffffff !important;
  border: 1px solid #aeb7bd;
  border-right: 0;
  border-radius: 4px 0 0 4px;
  color: #4c6272;
  flex-grow: 2;
  height: 52px;
  margin: 0;
  outline: 0;
  padding: 0 16px;
  width: 100%; }
  @media (min-width: 40.0625em) {
    .hee-search-form .hee-search-form__input {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.47368; } }
  @media print {
    .hee-search-form .hee-search-form__input {
      font-size: 14pt;
      line-height: 1.15; } }
  .hee-search-form .hee-search-form__input:focus {
    border: 4px solid #ffeb3b;
    box-shadow: inset 0 0 0 4px #212b32;
    padding: 0 16px 0 13px;
    outline: 0; }

.hee-search-form .hee-search-form__submit {
  color: #ffffff;
  background-color: #005eb8;
  border: 0;
  border-radius: 0 4px 4px 0;
  float: right;
  height: 52px;
  line-height: inherit;
  margin: 0;
  outline: 0;
  padding: 8px 8px 0;
  width: 52px; }
  .hee-search-form .hee-search-form__submit:hover {
    background-color: #007f3b;
    cursor: pointer; }
  .hee-search-form .hee-search-form__submit:focus {
    background-color: #ffeb3b;
    border-bottom: 4px solid #212b32;
    box-shadow: none; }
    .hee-search-form .hee-search-form__submit:focus .nhsuk-icon__search {
      fill: #212b32; }

.hee-search-listing {
  max-width: 100%; }
  @media (min-width: 48.0625em) {
    .hee-search-listing {
      max-width: 66%; } }

.hee-search-listing-item {
  padding-bottom: 16px;
  padding-top: 16px;
  border-top: 1px solid #d8dde0; }
  @media (min-width: 40.0625em) {
    .hee-search-listing-item {
      padding-bottom: 24px; } }
  @media (min-width: 40.0625em) {
    .hee-search-listing-item {
      padding-top: 24px; } }
  .hee-search-listing-item h3 {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.4;
    margin-bottom: 8px; }
    @media (min-width: 40.0625em) {
      .hee-search-listing-item h3 {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1.33333; } }
    @media print {
      .hee-search-listing-item h3 {
        font-size: 18pt;
        line-height: 1.15; } }
    @media (min-width: 40.0625em) {
      .hee-search-listing-item h3 {
        margin-bottom: 8px; } }
  .hee-search-listing-item .hee-search-listing-item__subtitle {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 16px;
    display: block; }
    @media (min-width: 40.0625em) {
      .hee-search-listing-item .hee-search-listing-item__subtitle {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.47368; } }
    @media print {
      .hee-search-listing-item .hee-search-listing-item__subtitle {
        font-size: 14pt;
        line-height: 1.15; } }
    @media (min-width: 40.0625em) {
      .hee-search-listing-item .hee-search-listing-item__subtitle {
        margin-bottom: 24px; } }
  .hee-search-listing-item .hee-search-listing-item__summary {
    margin-bottom: 16px; }
    @media (min-width: 40.0625em) {
      .hee-search-listing-item .hee-search-listing-item__summary {
        margin-bottom: 24px; } }
  .hee-search-listing-item .hee-search-listing-item__attributes {
    margin-bottom: 16px;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5; }
    @media (min-width: 40.0625em) {
      .hee-search-listing-item .hee-search-listing-item__attributes {
        margin-bottom: 24px; } }
    @media (min-width: 40.0625em) {
      .hee-search-listing-item .hee-search-listing-item__attributes {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.47368; } }
    @media print {
      .hee-search-listing-item .hee-search-listing-item__attributes {
        font-size: 14pt;
        line-height: 1.15; } }
  .hee-search-listing-item .hee-search-listing-item__attributes__item {
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #d8dde0;
    display: flex; }
    @media (min-width: 40.0625em) {
      .hee-search-listing-item .hee-search-listing-item__attributes__item {
        margin-bottom: 8px; } }
    @media (min-width: 40.0625em) {
      .hee-search-listing-item .hee-search-listing-item__attributes__item {
        padding-bottom: 8px; } }
  .hee-search-listing-item .hee-search-listing-item__attributes__label {
    font-weight: 600;
    flex-basis: 33%; }
  .hee-search-listing-item .hee-search-listing-item__url {
    margin-bottom: 16px;
    align-items: center;
    display: flex; }
    @media (min-width: 40.0625em) {
      .hee-search-listing-item .hee-search-listing-item__url {
        margin-bottom: 24px; } }
    .hee-search-listing-item .hee-search-listing-item__url a {
      display: block;
      padding-left: 8px;
      word-break: break-word; }
    .hee-search-listing-item .hee-search-listing-item__url:before {
      background: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='%23005EB8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 0C5.37242 0 0 5.37242 0 12C0 18.6276 5.37242 24 12 24C18.6276 24 24 18.6276 24 12C24 5.37242 18.6276 0 12 0ZM15.9818 17.3032C15.7931 17.491 15.5952 17.6879 15.4345 17.849C15.2898 17.9942 15.1877 18.1732 15.136 18.3673C15.0629 18.6411 15.0039 18.9179 14.9052 19.1835L14.0637 21.4505C13.3979 21.5956 12.7089 21.6774 12 21.6774V20.3526C12.0818 19.7419 11.6303 18.5981 10.905 17.8727C10.6147 17.5824 10.4516 17.1885 10.4516 16.7777V15.2289C10.4516 14.6656 10.1482 14.1479 9.65516 13.8755C8.95984 13.4908 7.97081 12.9532 7.29339 12.6121C6.7379 12.3324 6.22403 11.9763 5.76194 11.5597L5.72323 11.5248C5.39277 11.2265 5.09938 10.8896 4.84935 10.5213C4.39548 9.855 3.65613 8.75903 3.17564 8.04677C4.16613 5.84516 5.95113 4.0771 8.16919 3.11661L9.33097 3.69774C9.84581 3.95516 10.4516 3.58113 10.4516 3.00532V2.45855C10.8382 2.39613 11.2316 2.35645 11.6318 2.34145L13.0011 3.71081C13.3035 4.01323 13.3035 4.50339 13.0011 4.80581L12.7742 5.03226L12.2739 5.53258C12.1229 5.68355 12.1229 5.92887 12.2739 6.07984L12.5008 6.30677C12.6518 6.45774 12.6518 6.70306 12.5008 6.85403L12.1137 7.24113C12.041 7.31367 11.9425 7.35439 11.8398 7.35435H11.4048C11.3042 7.35435 11.2074 7.39355 11.1348 7.46419L10.6548 7.93113C10.596 7.98842 10.5569 8.06293 10.5431 8.1439C10.5294 8.22487 10.5417 8.30811 10.5784 8.38161L11.3327 9.89081C11.4615 10.1482 11.2742 10.4511 10.9868 10.4511H10.7139C10.6205 10.4511 10.5305 10.4173 10.4603 10.3563L10.0113 9.96629C9.90968 9.87814 9.78687 9.81795 9.65494 9.79165C9.52302 9.76535 9.38652 9.77384 9.25887 9.81629L7.75064 10.319C7.6355 10.3574 7.53535 10.4311 7.4644 10.5296C7.39345 10.628 7.35529 10.7464 7.35532 10.8677C7.35532 11.0869 7.47919 11.2868 7.67516 11.385L8.21129 11.6531C8.66661 11.881 9.16887 11.9995 9.6779 11.9995C10.1869 11.9995 10.771 13.32 11.2263 13.5479H14.4561C14.8669 13.5479 15.2603 13.711 15.5511 14.0013L16.2135 14.6637C16.4903 14.9405 16.6457 15.316 16.6456 15.7074C16.6455 16.004 16.5868 16.2977 16.4729 16.5716C16.359 16.8454 16.1921 17.0941 15.9818 17.3032ZM20.1774 12.8831C19.8973 12.8129 19.6529 12.6411 19.4927 12.4006L18.6227 11.0956C18.4954 10.905 18.4275 10.6809 18.4275 10.4516C18.4275 10.2224 18.4954 9.99824 18.6227 9.80758L19.5706 8.38597C19.6829 8.21806 19.8368 8.08161 20.0177 7.99161L20.6458 7.67758C21.3 8.98016 21.6774 10.4453 21.6774 12C21.6774 12.4195 21.6416 12.8303 21.5894 13.2358L20.1774 12.8831Z' fill='%23005EB8'/%3E%3C/svg%3E") no-repeat;
      content: "";
      display: block;
      height: 24px;
      min-width: 24px; }
  .hee-search-listing-item .hee-search-listing-item__updated {
    color: #4c6272;
    display: block; }

/* HEE-Card */
.hee-card {
  background-color: #FFF;
  border: 1px solid #d8dde0;
  padding: 24px;
  margin-bottom: 24px;
  max-width: 300px; }
  @media (min-width: 48.0625em) {
    .hee-card {
      max-width: 100%; } }
  .hee-flexgrid-row .hee-card {
    max-width: none; }
  .hee-card .hee-card--header {
    padding-bottom: 16px;
    border-bottom: 2px solid #d8dde0;
    display: inline-block;
    margin-bottom: 16px;
    width: 100%; }
    @media (min-width: 40.0625em) {
      .hee-card .hee-card--header {
        padding-bottom: 24px; } }
    @media (min-width: 40.0625em) {
      .hee-card .hee-card--header {
        align-items: center;
        display: flex; } }
    .hee-card .hee-card--header .hee-card__image {
      margin-right: 24px; }
      @media (min-width: 40.0625em) {
        .hee-card .hee-card--header .hee-card__image {
          margin-bottom: 0; } }
      .hee-card .hee-card--header .hee-card__image.has-bg .hee-card__initials {
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat; }
      .hee-card .hee-card--header .hee-card__image.has-bg span {
        display: none; }
      .hee-card .hee-card--header .hee-card__image .hee-card__initials {
        width: 134px; }
    .hee-card .hee-card--header .hee-card__pronouns {
      margin-bottom: 8px; }
  .hee-card .hee-card__image {
    width: 134px;
    height: 134px;
    display: block;
    margin-bottom: 24px; }
  .hee-card .hee-card__initials {
    display: block;
    background: #d8dde0;
    width: 100%;
    height: 100%;
    border-radius: 134px; }
    .hee-card .hee-card__initials span {
      text-align: center;
      line-height: 134px;
      font-size: 48px;
      font-weight: bold;
      display: block;
      color: #4c6272; }
  .hee-card .hee-card__name {
    margin-bottom: 0.5em; }
  .hee-card .hee-card__pronouns {
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
    display: block;
    color: #4c6272;
    margin-bottom: 1em;
    margin-top: -0.75em; }
    @media (min-width: 40.0625em) {
      .hee-card .hee-card__pronouns {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5; } }
    @media print {
      .hee-card .hee-card__pronouns {
        font-size: 14pt;
        line-height: 1.2; } }
  .hee-card .hee-card__jobtitle {
    margin-bottom: 8px; }
    @media (min-width: 40.0625em) {
      .hee-card .hee-card__jobtitle {
        margin-bottom: 8px; } }
  .hee-card .hee-card__department,
  .hee-card .hee-card__organisation {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 0; }
    @media (min-width: 40.0625em) {
      .hee-card .hee-card__department,
      .hee-card .hee-card__organisation {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.47368; } }
    @media print {
      .hee-card .hee-card__department,
      .hee-card .hee-card__organisation {
        font-size: 14pt;
        line-height: 1.15; } }
  .hee-card .hee-card__contact {
    margin-bottom: 16px;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
    list-style: none;
    padding: 0; }
    @media (min-width: 40.0625em) {
      .hee-card .hee-card__contact {
        margin-bottom: 24px; } }
    @media (min-width: 40.0625em) {
      .hee-card .hee-card__contact {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5; } }
    @media print {
      .hee-card .hee-card__contact {
        font-size: 14pt;
        line-height: 1.2; } }
    @media (min-width: 40.0625em) {
      .hee-card .hee-card__contact {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 0;
        padding-bottom: 16px;
        width: 100%; } }
    .hee-card .hee-card__contact li {
      word-wrap: break-word; }
    .hee-card .hee-card__contact .hee-card__contact__item {
      display: inline-block;
      margin-bottom: 0;
      margin-right: 16px; }
      .hee-card .hee-card__contact .hee-card__contact__item a {
        background-position: center;
        background-repeat: no-repeat;
        display: block;
        min-width: 24px;
        padding-left: 8px;
        text-indent: -999999px;
        width: 24px;
        word-break: break-word; }
    .hee-card .hee-card__contact .hee-card__telephone a {
      background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.19897 14.8011C10.0433 19.6454 16.017 21.5267 18.9221 18.6216C19.3133 18.2304 19.623 17.7775 19.8545 17.2754C19.9837 16.9955 20.0294 16.6843 19.9814 16.3799L19.7787 15.0906C19.6843 14.4895 19.2459 13.9997 18.6585 13.8397L14.9234 12.8231C14.389 12.6776 13.8173 12.8295 13.4253 13.2211L12.3576 14.2888C12.0247 14.6217 11.4998 14.6712 11.1144 14.4011C10.0947 13.6866 9.08645 12.8406 8.12315 11.8769C7.15985 10.9136 6.31349 9.90534 5.59891 8.88566C5.32885 8.50019 5.37837 7.9753 5.71128 7.6424L6.77895 6.57472C7.1709 6.18277 7.32249 5.61142 7.17699 5.07663L6.16036 1.34149C6.00038 0.754138 5.51093 0.315718 4.90948 0.221254L3.62013 0.0186131C3.31579 -0.0293807 3.00459 0.0163277 2.72463 0.145454C2.2226 0.377043 1.76971 0.686718 1.37852 1.07791C-1.52662 3.98306 0.354277 9.95638 5.19897 14.8011Z' fill='%23005EB8'/%3E%3C/svg%3E");
      height: 22px;
      min-width: 20px;
      width: 20px; }
    .hee-card .hee-card__contact .hee-card__email a {
      background-image: url("data:image/svg+xml,%3Csvg width='24' height='18' viewBox='0 0 24 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.5453 5.94375C23.7281 5.79844 24 5.93437 24 6.16406V15.75C24 16.9922 22.9922 18 21.75 18H2.25C1.00781 18 0 16.9922 0 15.75V6.16875C0 5.93438 0.267187 5.80312 0.454687 5.94844C1.50469 6.76406 2.89688 7.8 7.67813 11.2734C8.66719 11.9953 10.3359 13.5141 12 13.5047C13.6734 13.5188 15.375 11.9672 16.3266 11.2734C21.1078 7.8 22.4953 6.75938 23.5453 5.94375ZM12 12C13.0875 12.0188 14.6531 10.6313 15.4406 10.0594C21.6609 5.54531 22.1344 5.15156 23.5687 4.02656C23.8406 3.81562 24 3.4875 24 3.14062V2.25C24 1.00781 22.9922 0 21.75 0H2.25C1.00781 0 0 1.00781 0 2.25V3.14062C0 3.4875 0.159375 3.81094 0.43125 4.02656C1.86563 5.14687 2.33906 5.54531 8.55938 10.0594C9.34688 10.6313 10.9125 12.0188 12 12Z' fill='%23005EB8'/%3E%3C/svg%3E");
      height: 24px; }
    .hee-card .hee-card__contact .hee-card__website a {
      background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 0C5.37242 0 0 5.37242 0 12C0 18.6276 5.37242 24 12 24C18.6276 24 24 18.6276 24 12C24 5.37242 18.6276 0 12 0ZM15.9818 17.3032C15.7931 17.491 15.5952 17.6879 15.4345 17.849C15.2898 17.9942 15.1877 18.1732 15.136 18.3673C15.0629 18.6411 15.0039 18.9179 14.9052 19.1835L14.0637 21.4505C13.3979 21.5956 12.7089 21.6774 12 21.6774V20.3526C12.0818 19.7419 11.6303 18.5981 10.905 17.8727C10.6147 17.5824 10.4516 17.1885 10.4516 16.7777V15.2289C10.4516 14.6656 10.1482 14.1479 9.65516 13.8755C8.95984 13.4908 7.97081 12.9532 7.29339 12.6121C6.7379 12.3324 6.22403 11.9763 5.76194 11.5597L5.72323 11.5248C5.39277 11.2265 5.09938 10.8896 4.84935 10.5213C4.39548 9.855 3.65613 8.75903 3.17564 8.04677C4.16613 5.84516 5.95113 4.0771 8.16919 3.11661L9.33097 3.69774C9.84581 3.95516 10.4516 3.58113 10.4516 3.00532V2.45855C10.8382 2.39613 11.2316 2.35645 11.6318 2.34145L13.0011 3.71081C13.3035 4.01323 13.3035 4.50339 13.0011 4.80581L12.7742 5.03226L12.2739 5.53258C12.1229 5.68355 12.1229 5.92887 12.2739 6.07984L12.5008 6.30677C12.6518 6.45774 12.6518 6.70306 12.5008 6.85403L12.1137 7.24113C12.041 7.31367 11.9425 7.35439 11.8398 7.35435H11.4048C11.3042 7.35435 11.2074 7.39355 11.1348 7.46419L10.6548 7.93113C10.596 7.98842 10.5569 8.06293 10.5431 8.1439C10.5294 8.22487 10.5417 8.30811 10.5784 8.38161L11.3327 9.89081C11.4615 10.1482 11.2742 10.4511 10.9868 10.4511H10.7139C10.6205 10.4511 10.5305 10.4173 10.4603 10.3563L10.0113 9.96629C9.90968 9.87814 9.78687 9.81795 9.65494 9.79165C9.52302 9.76535 9.38652 9.77384 9.25887 9.81629L7.75064 10.319C7.6355 10.3574 7.53535 10.4311 7.4644 10.5296C7.39345 10.628 7.35529 10.7464 7.35532 10.8677C7.35532 11.0869 7.47919 11.2868 7.67516 11.385L8.21129 11.6531C8.66661 11.881 9.16887 11.9995 9.6779 11.9995C10.1869 11.9995 10.771 13.32 11.2263 13.5479H14.4561C14.8669 13.5479 15.2603 13.711 15.5511 14.0013L16.2135 14.6637C16.4903 14.9405 16.6457 15.316 16.6456 15.7074C16.6455 16.004 16.5868 16.2977 16.4729 16.5716C16.359 16.8454 16.1921 17.0941 15.9818 17.3032ZM20.1774 12.8831C19.8973 12.8129 19.6529 12.6411 19.4927 12.4006L18.6227 11.0956C18.4954 10.905 18.4275 10.6809 18.4275 10.4516C18.4275 10.2224 18.4954 9.99824 18.6227 9.80758L19.5706 8.38597C19.6829 8.21806 19.8368 8.08161 20.0177 7.99161L20.6458 7.67758C21.3 8.98016 21.6774 10.4453 21.6774 12C21.6774 12.4195 21.6416 12.8303 21.5894 13.2358L20.1774 12.8831Z' fill='%23005EB8'/%3E%3C/svg%3E");
      height: 24px; }
    .hee-card .hee-card__contact .hee-card__twitter a {
      background-image: url("data:image/svg+xml,%3Csvg width='24' height='20' viewBox='0 0 24 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.533 5.11175C21.5482 5.32494 21.5482 5.53817 21.5482 5.75136C21.5482 12.2539 16.599 19.7463 7.5533 19.7463C4.76648 19.7463 2.17767 18.9391 0 17.5382C0.395953 17.5838 0.776625 17.5991 1.18781 17.5991C3.48727 17.5991 5.60405 16.8224 7.29441 15.4976C5.13197 15.4519 3.31978 14.0356 2.69541 12.0864C3 12.132 3.30455 12.1625 3.62437 12.1625C4.06598 12.1625 4.50764 12.1016 4.91878 11.995C2.66498 11.5381 0.974578 9.55845 0.974578 7.16759V7.1067C1.62937 7.47219 2.39086 7.70061 3.19791 7.73103C1.87303 6.84777 1.00505 5.34017 1.00505 3.63458C1.00505 2.72089 1.24866 1.88333 1.67508 1.15236C4.09641 4.13713 7.73602 6.08633 11.8172 6.29956C11.7411 5.93408 11.6954 5.55341 11.6954 5.17269C11.6954 2.462 13.8883 0.253906 16.6141 0.253906C18.0304 0.253906 19.3095 0.847813 20.208 1.8072C21.3197 1.59402 22.3857 1.18283 23.3299 0.619391C22.9643 1.76155 22.1877 2.72094 21.1674 3.33003C22.1573 3.22348 23.1167 2.94931 23.9999 2.56864C23.33 3.54322 22.4924 4.4112 21.533 5.11175Z' fill='%23005EB8'/%3E%3C/svg%3E");
      height: 24px; }
    .hee-card .hee-card__contact .hee-card__linkedin a {
      background-image: url("data:image/svg+xml,%3Csvg width='22' height='21' viewBox='0 0 22 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.20062 21H0.846875V6.97971H5.20062V21ZM3.02141 5.06721C1.62922 5.06721 0.5 3.91408 0.5 2.52189C0.5 1.85318 0.765647 1.21185 1.2385 0.738991C1.71136 0.266136 2.35269 0.000488281 3.02141 0.000488281C3.69012 0.000488281 4.33145 0.266136 4.80431 0.738991C5.27716 1.21185 5.54281 1.85318 5.54281 2.52189C5.54281 3.91408 4.41313 5.06721 3.02141 5.06721ZM21.4953 21H17.1509V14.175C17.1509 12.5485 17.1181 10.4625 14.8873 10.4625C12.6237 10.4625 12.2769 12.2297 12.2769 14.0578V21H7.92781V6.97971H12.1034V8.89221H12.1644C12.7456 7.79064 14.1655 6.62814 16.2838 6.62814C20.69 6.62814 21.5 9.52971 21.5 13.2985V21H21.4953Z' fill='%23005EB8'/%3E%3C/svg%3E");
      height: 24px;
      min-width: 22px;
      width: 22px; }
  .hee-card .hee-card__bio,
  .hee-card .hee-card__description {
    color: #4c6272;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
    margin-bottom: 0; }
    @media (min-width: 40.0625em) {
      .hee-card .hee-card__bio,
      .hee-card .hee-card__description {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5; } }
    @media print {
      .hee-card .hee-card__bio,
      .hee-card .hee-card__description {
        font-size: 14pt;
        line-height: 1.2; } }
  .hee-card .hee-card__authorurl {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
    margin-bottom: 0;
    margin-top: 8px; }
    @media (min-width: 40.0625em) {
      .hee-card .hee-card__authorurl {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5; } }
    @media print {
      .hee-card .hee-card__authorurl {
        font-size: 14pt;
        line-height: 1.2; } }
    @media (min-width: 40.0625em) {
      .hee-card .hee-card__authorurl {
        margin-top: 16px; } }
  .hee-card hr {
    margin: 24px 0; }

/* HEE-Card--Author */
.hee-card--author {
  max-width: 100%;
  width: 100%; }
  @media (min-width: 40.0625em) {
    .hee-card--author {
      margin-right: 0; } }
  .hee-card--author .hee-card__address {
    margin-bottom: 16px; }

@media (min-width: 40.0625em) {
  .hee-card--author__container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; } }

@media (min-width: 40.0625em) {
  .hee-card--author__container .hee-card--author {
    width: 48%; } }

.page__rightbar .hee-card--header, .hee-card--author__container .hee-card--header {
  border-bottom: 2px solid #d8dde0;
  display: inline-block;
  padding-bottom: 8px;
  margin-bottom: 16px; }
  .page__rightbar .hee-card--header .hee-card__image, .hee-card--author__container .hee-card--header .hee-card__image {
    margin-right: 24px; }
    @media (min-width: 40.0625em) {
      .page__rightbar .hee-card--header .hee-card__image, .hee-card--author__container .hee-card--header .hee-card__image {
        margin-bottom: 24px; } }

@media (min-width: 40.0625em) {
  .page__rightbar .hee-card__contact, .hee-card--author__container .hee-card__contact {
    display: block;
    border-bottom: none;
    margin-bottom: 8px;
    padding-bottom: 8px; } }

@media (min-width: 40.0625em) {
  .page__rightbar .hee-card__contact .hee-card__contact__item, .hee-card--author__container .hee-card__contact .hee-card__contact__item {
    width: auto; } }

.hee-table-expander .hee-table-expander__toggle {
  margin-bottom: 16px;
  display: block;
  text-align: right; }
  @media (min-width: 40.0625em) {
    .hee-table-expander .hee-table-expander__toggle {
      margin-bottom: 24px; } }

.hee-table-expander .hee-table-expander__row {
  padding-top: 8px;
  padding-bottom: 8px;
  border-bottom: 2px solid #d8dde0; }
  @media (min-width: 40.0625em) {
    .hee-table-expander .hee-table-expander__row {
      padding-top: 16px; } }
  @media (min-width: 40.0625em) {
    .hee-table-expander .hee-table-expander__row {
      padding-bottom: 16px; } }
  .hee-table-expander .hee-table-expander__row span {
    display: block; }
  .hee-table-expander .hee-table-expander__row:first-child {
    padding-top: 0; }
  .hee-table-expander .hee-table-expander__row:last-child {
    border-bottom: 0;
    padding-bottom: 0; }

.hee-table-expander .hee-table-expander__row__heading {
  margin-bottom: 8px;
  font-weight: 600; }
  @media (min-width: 40.0625em) {
    .hee-table-expander .hee-table-expander__row__heading {
      margin-bottom: 8px; } }

.hee-publication-doc {
  align-items: center;
  display: flex;
  margin-bottom: 24px; }
  .hee-publication-doc:last-of-type {
    margin-bottom: 0; }
  .hee-publication-doc .hee-publication-doc__wrapper {
    position: relative;
    min-width: 60px;
    width: 60px; }
    .hee-publication-doc .hee-publication-doc__wrapper .hee-publication-doc__icon {
      padding: 4px;
      position: relative;
      width: 56px; }
      .hee-publication-doc .hee-publication-doc__wrapper .hee-publication-doc__icon .hee-publication-doc__icon__page {
        border: 3px solid #212b32;
        border-radius: 2px;
        height: 86px;
        width: 52px; }
      .hee-publication-doc .hee-publication-doc__wrapper .hee-publication-doc__icon .hee-publication-doc__icon__corner {
        position: absolute;
        top: 2px;
        right: 0;
        width: 17px;
        height: 18px;
        background-color: #f0f4f5;
        background-image: url("data:image/svg+xml,%3Csvg width='19' height='17' viewBox='0 0 19 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 16.5V1.5L17 16.5H1Z' fill='black'/%3E%3Cpath d='M1 1.5L1.34197 1.13523L0.5 0.345884V1.5H1ZM1 16.5H0.5C0.5 16.7761 0.723858 17 1 17V16.5ZM17 16.5V17H18.2644L17.342 16.1352L17 16.5ZM0.5 1.5V16.5H1.5V1.5H0.5ZM1 17H17V16H1V17ZM17.342 16.1352L1.34197 1.13523L0.658029 1.86477L16.658 16.8648L17.342 16.1352Z' fill='black'/%3E%3C/svg%3E");
        background-position: -1px 1px;
        background-repeat: no-repeat; }
    .hee-publication-doc .hee-publication-doc__wrapper .hee-publication-doc__icon__title {
      font-weight: 400;
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 1.71429;
      background-color: #212b32;
      border: 1px solid #ffffff;
      border-radius: 2px;
      color: #ffffff;
      position: absolute;
      text-align: center;
      top: 32px;
      width: 100%; }
      @media (min-width: 40.0625em) {
        .hee-publication-doc .hee-publication-doc__wrapper .hee-publication-doc__icon__title {
          font-size: 16px;
          font-size: 1rem;
          line-height: 1.5; } }
      @media print {
        .hee-publication-doc .hee-publication-doc__wrapper .hee-publication-doc__icon__title {
          font-size: 14pt;
          line-height: 1.2; } }
  .hee-publication-doc .hee-publication-doc__details {
    padding-left: 24px; }
    .hee-publication-doc .hee-publication-doc__details h3 {
      font-weight: normal;
      margin-bottom: 8px;
      word-break: break-all; }
    .hee-publication-doc .hee-publication-doc__details span {
      color: #4c6272;
      display: block;
      margin-bottom: 8px; }

.hee-training-journey {
  margin-bottom: 16px;
  background-color: #ffffff;
  border: 1px solid #d8dde0;
  max-width: 640px;
  padding: 24px; }
  @media (min-width: 40.0625em) {
    .hee-training-journey {
      margin-bottom: 24px; } }
  .hee-training-journey h3 {
    margin-bottom: 16px; }
  .hee-training-journey h4 {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
    margin-bottom: 16px; }
    @media (min-width: 40.0625em) {
      .hee-training-journey h4 {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5; } }
    @media print {
      .hee-training-journey h4 {
        font-size: 14pt;
        line-height: 1.2; } }
  .hee-training-journey .hee-training-journey__group {
    margin-bottom: 8px; }
    @media (min-width: 40.0625em) {
      .hee-training-journey .hee-training-journey__group {
        margin-bottom: 16px; } }
    .hee-training-journey .hee-training-journey__group:last-child {
      margin: 0; }
  .hee-training-journey .hee-training-journey__group__container {
    padding-left: 8px; }
    @media (min-width: 40.0625em) {
      .hee-training-journey .hee-training-journey__group__container {
        padding-left: 8px; } }
  .hee-training-journey .hee-training-journey__item {
    padding-bottom: 8px;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
    border-left: 4px solid #d8dde0;
    position: relative; }
    @media (min-width: 40.0625em) {
      .hee-training-journey .hee-training-journey__item {
        padding-bottom: 16px; } }
    @media (min-width: 40.0625em) {
      .hee-training-journey .hee-training-journey__item {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.47368; } }
    @media print {
      .hee-training-journey .hee-training-journey__item {
        font-size: 14pt;
        line-height: 1.15; } }
    .hee-training-journey .hee-training-journey__item.active .hee-training-journey__item__link {
      font-weight: 600;
      text-decoration: none; }
      .hee-training-journey .hee-training-journey__item.active .hee-training-journey__item__link:before {
        border-color: #005eb8; }
    .hee-training-journey .hee-training-journey__item.last {
      border: none;
      padding-bottom: 0; }
      .hee-training-journey .hee-training-journey__item.last .hee-training-journey__item__link {
        right: 7px; }
  .hee-training-journey .hee-training-journey__item__link {
    bottom: 6px;
    position: relative;
    right: 11px; }
    .hee-training-journey .hee-training-journey__item__link:before {
      margin-right: 8px;
      background-color: #ffffff;
      border: 4px solid #d8dde0;
      border-radius: 50%;
      content: "";
      display: inline-block;
      height: 18px;
      position: relative;
      top: 2px;
      width: 18px; }
      @media (min-width: 40.0625em) {
        .hee-training-journey .hee-training-journey__item__link:before {
          margin-right: 16px; } }
  .hee-training-journey .hee-training-journey__group.optional .hee-training-journey__item {
    border: none; }
  .hee-training-journey .hee-training-journey__group.optional .hee-training-journey__item.last .hee-training-journey__item__link {
    right: 11px; }

.hee-quote {
  background-color: #ffffff;
  border: 1px solid #d8dde0;
  clear: both;
  margin: 56px 0 24px 0;
  padding: 56px 24px 40px 24px;
  position: relative; }
  .hee-quote:before {
    background-color: #005eb8;
    background-image: url("data:image/svg+xml,%3Csvg width='34' height='30' viewBox='0 0 34 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5877 30V21.6985C18.5877 17.3473 19.0995 13.7786 20.1232 10.9924C21.1848 8.20611 22.9668 5.83969 25.4692 3.89313C27.9716 1.94656 30.8152 0.648855 34 0V6.64122C31.763 7.93893 30.4929 9.67557 30.1896 11.8511H34V30H18.5877ZM0 30V21.6985C0 17.3473 0.511848 13.7786 1.53555 10.9924C2.59716 8.20611 4.37915 5.83969 6.88152 3.89313C9.4218 1.94656 12.2654 0.648855 15.4123 0V6.64122C13.1754 7.93893 11.9052 9.67557 11.6019 11.8511H15.4123V30H0Z' fill='white'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    content: "";
    display: block;
    height: 50px;
    left: 0;
    position: absolute;
    top: -25px;
    width: 90px; }
  .hee-quote .hee-quote__text {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.4;
    font-weight: 600; }
    @media (min-width: 40.0625em) {
      .hee-quote .hee-quote__text {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 1.33333; } }
    @media print {
      .hee-quote .hee-quote__text {
        font-size: 18pt;
        line-height: 1.15; } }
  .hee-quote .hee-quote__source {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 16px; }
    @media (min-width: 40.0625em) {
      .hee-quote .hee-quote__source {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.47368; } }
    @media print {
      .hee-quote .hee-quote__source {
        font-size: 14pt;
        line-height: 1.15; } }

.hee-featured-content .hee-featured-content-wrapper {
  padding-bottom: 24px; }
  .hee-featured-content .hee-featured-content-wrapper:last-of-type {
    padding-bottom: 0; }
  @media (min-width: 48.0625em) {
    .hee-featured-content .hee-featured-content-wrapper {
      align-content: space-between;
      column-gap: 18px;
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start; } }

@media (min-width: 48.0625em) {
  .hee-featured-content .hee-featured-content__item {
    align-items: stretch;
    align-content: stretch;
    display: flex;
    flex-basis: 48%;
    row-gap: 10px; } }

@media (min-width: 61.875em) {
  .hee-featured-content .hee-featured-content__item {
    flex-basis: 32%; } }

@media (min-width: 61.875em) {
  .hee-featured-content .hee-featured-content-wrapper.double .hee-featured-content__item {
    flex-basis: 48%; } }

@media (min-width: 48.0625em) {
  .hee-featured-content .hee-listing-item {
    margin-bottom: 32px; } }

@media (min-width: 40.0625em) {
  .hee-featured-content .hee-listing-item span.hee-listing-item__details__label {
    width: auto; } }

@media (min-width: 48.0625em) {
  .page--rightbar .page__content .hee-featured-content__item, .page--leftbar .page__content .hee-featured-content__item {
    flex-basis: 48%; } }

@media (min-width: 61.875em) {
  .page--rightbar .page__content .hee-featured-content__item, .page--leftbar .page__content .hee-featured-content__item {
    flex-basis: 48%; } }

/* HEE-Card--Department */
.hee-card--department .hee-card--department__header {
  border-bottom: 2px solid #d8dde0;
  padding-bottom: 8px;
  margin-bottom: 16px; }

.hee-card--summary {
  border: 1px solid #d8dde0;
  max-width: 100%;
  width: 100%; }
  .hee-card--summary .hee-card--summary__toggle {
    background-image: url('data:image/svg+xml,<svg width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 0.5C6.3 0.5 6.5 0.6 6.7 0.8L11.7 5.8C12.1 6.2 12.1 6.8 11.7 7.2C11.3 7.6 10.7 7.6 10.3 7.2L6 2.9L1.7 7.2C1.3 7.6 0.699999 7.6 0.299999 7.2C-0.100001 6.8 -0.100001 6.2 0.299999 5.8L5.3 0.8C5.5 0.6 5.7 0.5 6 0.5Z" fill="black"/></svg>');
    float: right;
    height: 8px;
    margin-top: 8px;
    width: 12px; }
    @media (min-width: 48.0625em) {
      .hee-card--summary .hee-card--summary__toggle {
        transform: rotate(180deg); } }
  @media (min-width: 48.0625em) {
    .hee-card--summary .hee-card--summary__heading {
      margin: 0; } }
  .hee-card--summary .hee-card--summary__list {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
    list-style-type: none;
    margin: 0;
    padding: 0; }
    @media (min-width: 40.0625em) {
      .hee-card--summary .hee-card--summary__list {
        font-size: 19px;
        font-size: 1.1875rem;
        line-height: 1.47368; } }
    @media print {
      .hee-card--summary .hee-card--summary__list {
        font-size: 14pt;
        line-height: 1.15; } }
    @media (min-width: 48.0625em) {
      .hee-card--summary .hee-card--summary__list {
        display: none; } }
  .hee-card--summary .hee-card--summary__item {
    margin-bottom: 8px;
    padding-bottom: 4px;
    border-bottom: 1px solid #d8dde0; }
    @media (min-width: 40.0625em) {
      .hee-card--summary .hee-card--summary__item {
        margin-bottom: 16px; } }
    @media (min-width: 40.0625em) {
      .hee-card--summary .hee-card--summary__item {
        padding-bottom: 4px; } }
    @media (min-width: 40.0625em) {
      .hee-card--summary .hee-card--summary__item {
        display: flex; } }
    .hee-card--summary .hee-card--summary__item span {
      display: block; }
      @media (min-width: 40.0625em) {
        .hee-card--summary .hee-card--summary__item span {
          flex-basis: 48%; } }
      @media (min-width: 40.0625em) {
        .hee-card--summary .hee-card--summary__item span.hee-card--summary__item__label {
          padding-right: 8px; } }
    .hee-card--summary .hee-card--summary__item:last-of-type {
      margin-bottom: 0; }
  .hee-card--summary .hee-card--summary__item__label {
    font-weight: 600;
    margin-bottom: 8px; }
  .hee-card--summary .hee-card--summary__item__link {
    text-decoration: none; }
    .hee-card--summary .hee-card--summary__item__link:hover {
      text-decoration: underline; }
  .hee-card--summary.default .hee-card--summary__heading {
    margin-bottom: 0; }
    @media (min-width: 48.0625em) {
      .hee-card--summary.default .hee-card--summary__heading {
        margin-bottom: 16px; } }
  @media (min-width: 48.0625em) and (min-width: 40.0625em) {
    .hee-card--summary.default .hee-card--summary__heading {
      margin-bottom: 24px; } }
  .hee-card--summary.default .hee-card--summary__list {
    display: none; }
    @media (min-width: 48.0625em) {
      .hee-card--summary.default .hee-card--summary__list {
        display: block; } }
  .hee-card--summary.default .hee-card--summary__toggle {
    transform: rotate(180deg); }
    @media (min-width: 48.0625em) {
      .hee-card--summary.default .hee-card--summary__toggle {
        transform: none; } }

/* HEE-Card--Person */
@media (min-width: 40.0625em) {
  .hee-card.hee-card--person .hee-card--header {
    display: inline-block; } }

@media (min-width: 40.0625em) {
  .hee-card.hee-card--person .hee-card__image {
    margin-bottom: 24px; } }

.hee-card.hee-card--person .hee-card__jobtitle {
  margin-bottom: 0; }

.hee-back-to-top {
  margin-bottom: 40px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400; }
  @media (min-width: 40.0625em) {
    .hee-back-to-top {
      margin-bottom: 48px; } }
  @media (min-width: 40.0625em) {
    .hee-back-to-top {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.47368; } }
  @media print {
    .hee-back-to-top {
      font-size: 14pt;
      line-height: 1.15; } }

.nhsuk-newsletter-form .nhsuk-select {
  width: 100%; }

.alpha-fullwidth .page__feature, .alpha-fullwidth .page__footer {
  display: none; }

.page.double-menu .hee-microhero {
  margin: 0 !important; }

.nhsuk-skip-link {
  z-index: 150 !important; }

.breadcrumbs.alpha {
  margin-bottom: 56px; }

.third-a .hee-secondary-menu {
  margin-bottom: 0; }

.hee-mega-menu {
  background-color: #005eb8;
  margin: 0 auto;
  position: relative;
  width: 100%; }
  .hee-mega-menu .hee-mega-menu__nav {
    display: none; }
    @media (min-width: 48.0625em) {
      .hee-mega-menu .hee-mega-menu__nav {
        display: block;
        height: 100%;
        margin: 0 auto;
        max-width: 960px; } }
  .hee-mega-menu .hee-mega-menu__list {
    list-style: none;
    margin: 0;
    padding: 0; }
    @media (min-width: 48.0625em) {
      .hee-mega-menu .hee-mega-menu__list {
        display: flex;
        justify-content: space-between;
        align-items: stretch; } }
  @media (min-width: 48.0625em) {
    .hee-mega-menu .hee-mega-menu__item {
      align-items: center;
      border-top: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      margin: 0;
      text-align: center; } }
  .hee-mega-menu .hee-mega-menu__item:first-child .hee-mega-menu__link {
    padding-left: 0; }
  .hee-mega-menu .hee-mega-menu__link {
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429; }
    @media (min-width: 40.0625em) {
      .hee-mega-menu .hee-mega-menu__link {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5; } }
    @media print {
      .hee-mega-menu .hee-mega-menu__link {
        font-size: 14pt;
        line-height: 1.2; } }
    @media (min-width: 48.0625em) {
      .hee-mega-menu .hee-mega-menu__link {
        color: #ffffff;
        border-bottom: 4px solid transparent;
        border-top: 4px solid transparent;
        display: flex;
        flex-grow: 1;
        justify-content: center;
        padding: 12px 16px 12px 8px;
        text-decoration: none; } }
    .hee-mega-menu .hee-mega-menu__link:hover {
      box-shadow: none;
      color: #005eb8;
      text-decoration: underline; }
      @media (min-width: 61.875em) {
        .hee-mega-menu .hee-mega-menu__link:hover {
          color: #ffffff; } }
      .hee-mega-menu .hee-mega-menu__link:hover .nhsuk-icon__chevron-right {
        fill: #005eb8; }
    .hee-mega-menu .hee-mega-menu__link:active, .hee-mega-menu .hee-mega-menu__link:focus {
      background-color: #ffeb3b;
      border-bottom: 4px solid #212b32;
      box-shadow: none;
      color: #212b32;
      outline: 4px solid transparent;
      outline-offset: 4px;
      text-decoration: none; }
      .hee-mega-menu .hee-mega-menu__link:active:hover, .hee-mega-menu .hee-mega-menu__link:focus:hover {
        background-color: #ffeb3b;
        color: #212b32; }
        .hee-mega-menu .hee-mega-menu__link:active:hover .nhsuk-icon__chevron-right, .hee-mega-menu .hee-mega-menu__link:focus:hover .nhsuk-icon__chevron-right {
          fill: #212b32; }
      .hee-mega-menu .hee-mega-menu__link:active:visited, .hee-mega-menu .hee-mega-menu__link:focus:visited {
        background-color: #ffeb3b;
        color: #212b32; }
    .hee-mega-menu .hee-mega-menu__link.is-active {
      border-bottom: 4px solid #ffffff;
      font-weight: 600; }
      .hee-mega-menu .hee-mega-menu__link.is-active:active, .hee-mega-menu .hee-mega-menu__link.is-active:focus {
        border-bottom: 4px solid #212b32; }
  .hee-mega-menu .hee-mega-menu__label {
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429; }
    @media (min-width: 40.0625em) {
      .hee-mega-menu .hee-mega-menu__label {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5; } }
    @media print {
      .hee-mega-menu .hee-mega-menu__label {
        font-size: 14pt;
        line-height: 1.2; } }
    @media (min-width: 48.0625em) {
      .hee-mega-menu .hee-mega-menu__label {
        color: #ffffff;
        border-bottom: 4px solid transparent;
        border-top: 4px solid transparent;
        padding: 12px 16px 12px 8px; } }
  .hee-mega-menu .hee-mega-menu__subnav {
    width: auto; }
    .hee-mega-menu .hee-mega-menu__subnav .hee-mega-menu__link:after {
      background-image: url("data:image/svg+xml,%3Csvg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5.13599C3.8 5.13599 3.66667 5.06932 3.53333 4.93599L0.2 1.60265C-0.0666666 1.33599 -0.0666666 0.935987 0.2 0.66932C0.466667 0.402653 0.866666 0.402653 1.13333 0.66932L4 3.53599L6.86667 0.66932C7.13333 0.402653 7.53333 0.402653 7.8 0.66932C8.06667 0.935987 8.06667 1.33599 7.8 1.60265L4.46667 4.93599C4.33333 5.06932 4.2 5.13599 4 5.13599Z' fill='white'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      content: "";
      display: block;
      height: 8px;
      left: 8px;
      position: relative;
      top: 10px;
      width: 8px; }
    .hee-mega-menu .hee-mega-menu__subnav .hee-mega-menu__link[aria-expanded="true"]:after {
      top: 7px;
      transform: rotate(180deg); }
    .hee-mega-menu .hee-mega-menu__subnav .hee-mega-menu__link:active:after, .hee-mega-menu .hee-mega-menu__subnav .hee-mega-menu__link:focus:after {
      background-image: url("data:image/svg+xml,%3Csvg width='8' height='6' viewBox='0 0 8 6' fill='%23000000' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5.13599C3.8 5.13599 3.66667 5.06932 3.53333 4.93599L0.2 1.60265C-0.0666666 1.33599 -0.0666666 0.935987 0.2 0.66932C0.466667 0.402653 0.866666 0.402653 1.13333 0.66932L4 3.53599L6.86667 0.66932C7.13333 0.402653 7.53333 0.402653 7.8 0.66932C8.06667 0.935987 8.06667 1.33599 7.8 1.60265L4.46667 4.93599C4.33333 5.06932 4.2 5.13599 4 5.13599Z' fill='%23000000'/%3E%3C/svg%3E"); }
  .hee-mega-menu .hee-mega-menu__panel {
    background-color: #fff;
    left: 0;
    opacity: 0;
    padding: 40px 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 100%;
    visibility: hidden;
    width: 100%;
    z-index: 0; }
    .hee-mega-menu .hee-mega-menu__panel.is-active {
      z-index: 110;
      opacity: 1;
      visibility: visible;
      pointer-events: all; }
  .hee-mega-menu .hee-mega-menu__panel__wrapper {
    align-items: flex-start;
    display: flex;
    justify-content: flex-start;
    max-width: 960px;
    margin: 0 auto;
    width: 100%; }
  .hee-mega-menu .hee-mega-menu__panel__group {
    flex-basis: 25%;
    text-align: left; }
  .hee-mega-menu .hee-mega-menu__panel__wrapper[data-group-count="1"] .hee-mega-menu__panel__group {
    flex-basis: 40%; }
  .hee-mega-menu .hee-mega-menu__panel__wrapper[data-group-count="2"] .hee-mega-menu__panel__group {
    flex-basis: 26%; }
  .hee-mega-menu .hee-mega-menu__panel__link {
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429;
    color: #212b32;
    display: block;
    text-decoration: none;
    padding-bottom: 16px; }
    @media (min-width: 40.0625em) {
      .hee-mega-menu .hee-mega-menu__panel__link {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5; } }
    @media print {
      .hee-mega-menu .hee-mega-menu__panel__link {
        font-size: 14pt;
        line-height: 1.2; } }
    .hee-mega-menu .hee-mega-menu__panel__link:visited {
      color: #212b32; }
    .hee-mega-menu .hee-mega-menu__panel__link:hover {
      text-decoration: underline; }
    .hee-mega-menu .hee-mega-menu__panel__link:active, .hee-mega-menu .hee-mega-menu__panel__link:focus {
      background-color: #ffeb3b;
      border-bottom: 4px solid #212b32;
      box-shadow: none;
      color: #212b32;
      outline: 4px solid transparent;
      outline-offset: 4px;
      text-decoration: none; }
    .hee-mega-menu .hee-mega-menu__panel__link:last-child {
      padding-bottom: 0; }
  .hee-mega-menu .hee-mega-menu__item.has-home-icon .hee-mega-menu__label, .hee-mega-menu .hee-mega-menu__item.has-home-icon .hee-mega-menu__link {
    font-weight: 600;
    padding-left: 0; }
    .hee-mega-menu .hee-mega-menu__item.has-home-icon .hee-mega-menu__label:before, .hee-mega-menu .hee-mega-menu__item.has-home-icon .hee-mega-menu__link:before {
      background-image: url("data:image/svg+xml,%3Csvg width='16' height='14' viewBox='0 0 16 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0L7.58087 0.378844L0 7.54244L0.838269 8.33456L1.58542 7.62854V14H6.83371V8.48954H9.16629V14H14.4146V7.62854L15.1617 8.33456L16 7.54244L8.41914 0.378844L8 0ZM8 1.56704L13.2483 6.52645V12.8979H10.3326V7.38745H5.66743V12.8979H2.75171V6.52645L8 1.56704Z' fill='black'/%3E%3C/svg%3E");
      content: "";
      display: inline-block;
      height: 14px;
      margin: 3px 4px 0 0;
      width: 16px; }
  .hee-mega-menu.theme-grey {
    background-color: #4c6272; }
    .hee-mega-menu.theme-grey .hee-mega-menu__nav, .hee-mega-menu.theme-grey .hee-mega-menu__panel {
      background-color: #4c6272; }
    .hee-mega-menu.theme-grey .hee-mega-menu__panel__link {
      color: #ffffff; }
      .hee-mega-menu.theme-grey .hee-mega-menu__panel__link:active, .hee-mega-menu.theme-grey .hee-mega-menu__panel__link:focus {
        color: #212b32; }
  .hee-mega-menu.theme-black-white {
    background-color: #ffffff; }
    .hee-mega-menu.theme-black-white .hee-mega-menu__nav, .hee-mega-menu.theme-black-white .hee-mega-menu__panel {
      background-color: #ffffff; }
    .hee-mega-menu.theme-black-white .hee-mega-menu__label, .hee-mega-menu.theme-black-white .hee-mega-menu__link {
      color: #212b32; }
      .hee-mega-menu.theme-black-white .hee-mega-menu__label.is-active, .hee-mega-menu.theme-black-white .hee-mega-menu__link.is-active {
        background-color: #005eb8;
        border-bottom: 4px solid #ffeb3b;
        color: #ffffff;
        font-weight: normal; }
        .hee-mega-menu.theme-black-white .hee-mega-menu__label.is-active:after, .hee-mega-menu.theme-black-white .hee-mega-menu__link.is-active:after {
          background-image: url("data:image/svg+xml,%3Csvg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5.33325C3.8 5.33325 3.66667 5.26659 3.53333 5.13325L0.2 1.79992C-0.0666666 1.53325 -0.0666666 1.13325 0.2 0.866586C0.466667 0.599919 0.866666 0.599919 1.13333 0.866586L4 3.73325L6.86667 0.866586C7.13333 0.599919 7.53333 0.599919 7.8 0.866586C8.06667 1.13325 8.06667 1.53325 7.8 1.79992L4.46667 5.13325C4.33333 5.26659 4.2 5.33325 4 5.33325Z' fill='white'/%3E%3C/svg%3E") !important; }
    .hee-mega-menu.theme-black-white .hee-mega-menu__link:active, .hee-mega-menu.theme-black-white .hee-mega-menu__link:focus {
      background-color: #005eb8;
      border-bottom: 4px solid #ffeb3b;
      color: #ffffff; }
    .hee-mega-menu.theme-black-white .hee-mega-menu__subnav .hee-mega-menu__link:after {
      background-image: url("data:image/svg+xml,%3Csvg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5.33325C3.8 5.33325 3.66667 5.26659 3.53333 5.13325L0.2 1.79992C-0.0666666 1.53325 -0.0666666 1.13325 0.2 0.866586C0.466667 0.599919 0.866666 0.599919 1.13333 0.866586L4 3.73325L6.86667 0.866586C7.13333 0.599919 7.53333 0.599919 7.8 0.866586C8.06667 1.13325 8.06667 1.53325 7.8 1.79992L4.46667 5.13325C4.33333 5.26659 4.2 5.33325 4 5.33325Z' fill='%23212B32'/%3E%3C/svg%3E"); }
    .hee-mega-menu.theme-black-white .hee-mega-menu__subnav .hee-mega-menu__link:active:after, .hee-mega-menu.theme-black-white .hee-mega-menu__subnav .hee-mega-menu__link:focus:after {
      background-image: url("data:image/svg+xml,%3Csvg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5.33325C3.8 5.33325 3.66667 5.26659 3.53333 5.13325L0.2 1.79992C-0.0666666 1.53325 -0.0666666 1.13325 0.2 0.866586C0.466667 0.599919 0.866666 0.599919 1.13333 0.866586L4 3.73325L6.86667 0.866586C7.13333 0.599919 7.53333 0.599919 7.8 0.866586C8.06667 1.13325 8.06667 1.53325 7.8 1.79992L4.46667 5.13325C4.33333 5.26659 4.2 5.33325 4 5.33325Z' fill='white'/%3E%3C/svg%3E"); }

.hee-back-to-home-banner {
  background-color: #005eb8;
  padding: 8px 0;
  text-align: right; }
  .hee-back-to-home-banner .hee-back-to-home-banner__link {
    color: #ffffff;
    display: inline-block;
    position: relative; }
    .hee-back-to-home-banner .hee-back-to-home-banner__link:before {
      background-image: url("data:image/svg+xml,%3Csvg width='8' height='12' viewBox='0 0 8 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.5 6C0.5 5.7 0.6 5.5 0.8 5.3L5.8 0.3C6.2 -0.1 6.8 -0.1 7.2 0.3C7.6 0.7 7.6 1.3 7.2 1.7L2.9 6L7.2 10.3C7.6 10.7 7.6 11.3 7.2 11.7C6.8 12.1 6.2 12.1 5.8 11.7L0.8 6.7C0.6 6.5 0.5 6.3 0.5 6Z' fill='white'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      content: "";
      display: block;
      float: left;
      height: 12px;
      margin-right: 8px;
      margin-top: 6px;
      width: 7px; }
    .hee-back-to-home-banner .hee-back-to-home-banner__link:visited {
      color: #ffffff; }

.hee-secondary-menu {
  background-color: #ffffff;
  margin-bottom: 48px; }
  .hee-secondary-menu .hee-secondary-menu__list {
    list-style: none;
    margin: 0;
    padding: 0; }
    @media (min-width: 48.0625em) {
      .hee-secondary-menu .hee-secondary-menu__list {
        display: flex;
        justify-content: space-between;
        align-items: stretch; } }
  .hee-secondary-menu .hee-secondary-menu__item {
    margin-bottom: 0; }
  .hee-secondary-menu .hee-secondary-menu__link, .hee-secondary-menu .hee-secondary-menu__label {
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.71429; }
    @media (min-width: 40.0625em) {
      .hee-secondary-menu .hee-secondary-menu__link, .hee-secondary-menu .hee-secondary-menu__label {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5; } }
    @media print {
      .hee-secondary-menu .hee-secondary-menu__link, .hee-secondary-menu .hee-secondary-menu__label {
        font-size: 14pt;
        line-height: 1.2; } }
    @media (min-width: 48.0625em) {
      .hee-secondary-menu .hee-secondary-menu__link, .hee-secondary-menu .hee-secondary-menu__label {
        color: #4c6272;
        border-bottom: 4px solid transparent;
        border-top: 4px solid transparent;
        display: flex;
        flex-grow: 1;
        justify-content: center;
        padding: 12px 0;
        text-decoration: none; } }
    .hee-secondary-menu .hee-secondary-menu__link.is-active, .hee-secondary-menu .hee-secondary-menu__link:hover, .hee-secondary-menu .hee-secondary-menu__label.is-active, .hee-secondary-menu .hee-secondary-menu__label:hover {
      border-bottom: 2px solid #005eb8; }
  .hee-secondary-menu .hee-secondary-menu__item.has-home-icon .hee-secondary-menu__label, .hee-secondary-menu .hee-secondary-menu__item.has-home-icon .hee-secondary-menu__link {
    font-weight: 600; }
    .hee-secondary-menu .hee-secondary-menu__item.has-home-icon .hee-secondary-menu__label:before, .hee-secondary-menu .hee-secondary-menu__item.has-home-icon .hee-secondary-menu__link:before {
      background-image: url("data:image/svg+xml,%3Csvg width='16' height='14' viewBox='0 0 16 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0L7.58087 0.378844L0 7.54244L0.838269 8.33456L1.58542 7.62854V14H6.83371V8.48954H9.16629V14H14.4146V7.62854L15.1617 8.33456L16 7.54244L8.41914 0.378844L8 0ZM8 1.56704L13.2483 6.52645V12.8979H10.3326V7.38745H5.66743V12.8979H2.75171V6.52645L8 1.56704Z' fill='black'/%3E%3C/svg%3E");
      content: "";
      display: inline-block;
      height: 14px;
      margin: 3px 4px 0 0;
      width: 16px; }
  .hee-secondary-menu.theme-black-text .hee-secondary-menu__label, .hee-secondary-menu.theme-black-text .hee-secondary-menu__link {
    color: #212b32; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVlLmNzcyIsInNvdXJjZXMiOlsiaGVlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbmhzdWstZnJvbnRlbmQvcGFja2FnZXMvY29yZS9zZXR0aW5ncy9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbmhzdWstZnJvbnRlbmQvcGFja2FnZXMvY29yZS9zZXR0aW5ncy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9uaHN1ay1mcm9udGVuZC9wYWNrYWdlcy9jb3JlL3NldHRpbmdzL19jb2xvdXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbmhzdWstZnJvbnRlbmQvcGFja2FnZXMvY29yZS9zZXR0aW5ncy9fZ2xvYmFscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25oc3VrLWZyb250ZW5kL3BhY2thZ2VzL2NvcmUvc2V0dGluZ3MvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9uaHN1ay1mcm9udGVuZC9wYWNrYWdlcy9jb3JlL3NldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbmhzdWstZnJvbnRlbmQvcGFja2FnZXMvY29yZS90b29scy9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbmhzdWstZnJvbnRlbmQvcGFja2FnZXMvY29yZS90b29scy9fZXhwb3J0cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25oc3VrLWZyb250ZW5kL3BhY2thZ2VzL2NvcmUvdG9vbHMvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25oc3VrLWZyb250ZW5kL3BhY2thZ2VzL2NvcmUvdG9vbHMvX3NoYXBlLWFycm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbmhzdWstZnJvbnRlbmQvcGFja2FnZXMvY29yZS90b29scy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25oc3VrLWZyb250ZW5kL3BhY2thZ2VzL2NvcmUvdG9vbHMvX3Nhc3MtbXEuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9uaHN1ay1mcm9udGVuZC9wYWNrYWdlcy9jb3JlL3ZlbmRvci9zYXNzLW1xLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbmhzdWstZnJvbnRlbmQvcGFja2FnZXMvY29yZS90b29scy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25oc3VrLWZyb250ZW5kL3BhY2thZ2VzL2NvcmUvdG9vbHMvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbmhzdWstZnJvbnRlbmQvcGFja2FnZXMvY29yZS90b29scy9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbmhzdWstZnJvbnRlbmQvcGFja2FnZXMvY29yZS90b29scy9faWZmZi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25oc3VrLWZyb250ZW5kL3BhY2thZ2VzL2NvcmUvdG9vbHMvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9uaHN1ay1mcm9udGVuZC9wYWNrYWdlcy9jb3JlL3Rvb2xzL19mb2N1c2VkLnNjc3MiLCJ1dGlscy9fcmVzZXRzLnNjc3MiLCJ1dGlscy9fbWl4aW5zLnNjc3MiLCJ1dGlscy9taXhpbnMvX2dyaWQuc2NzcyIsInV0aWxzL21peGlucy9fYnJvd3Nlci5zY3NzIiwidXRpbHMvbWl4aW5zL19jb250YWluZXIuc2NzcyIsInV0aWxzL21peGlucy9fbGluay1zdHlsZS1pbnZlcnRlZC5zY3NzIiwidXRpbHMvbWl4aW5zL19tZWRpYS5zY3NzIiwidXRpbHMvX3ByaW50LnNjc3MiLCJ1dGlscy9fb2ZsZXguc2NzcyIsInRlbXBsYXRlcy9fcGFnZS5zY3NzIiwidGVtcGxhdGVzL19mdWxsd2lkdGguc2NzcyIsInRlbXBsYXRlcy9fbGVmdGJhci5zY3NzIiwidGVtcGxhdGVzL19yaWdodGJhci5zY3NzIiwiLi4vY29tcG9uZW50cy9uaHN1ay1oZWUvbmhzdWstaGVlLWJsb2NrbGlua3MvX2Jsb2NrbGlua3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvbmhzdWstaGVlL25oc3VrLWhlZS1icmVhZGNydW1iL19icmVhZGNydW1iLnNjc3MiLCIuLi9jb21wb25lbnRzL25oc3VrLWhlZS9uaHN1ay1oZWUtcmV2aWV3ZGF0ZS9fcmV2aWV3ZGF0ZS5zY3NzIiwiLi4vY29tcG9uZW50cy9uaHN1ay1oZWUvbmhzdWstaGVlLWNvbnRlbnRzbGlzdC9fY29udGVudHNsaXN0LnNjc3MiLCIuLi9jb21wb25lbnRzL25oc3VrLWhlZS9uaHN1ay1oZWUtaW1hZ2UvX2ltYWdlLnNjc3MiLCJibG9ja3MvY29udGVudC9zaWRlYmFyL2NhcmQtLWRldGFpbHMvX2RldGFpbHMuc2NzcyIsImJsb2Nrcy9jb250ZW50L3NpZGViYXIvY2FyZC0tY3RhL19jdGEuc2NzcyIsImJsb2Nrcy9jb250ZW50L21haW4vZ29vZ2xlLW1hcC9fZ29vZ2xlLW1hcC5zY3NzIiwiYmxvY2tzL3NjYWZmb2xkaW5nL2Nvb2tpZXMvY29va2llcy5zY3NzIiwiYmxvY2tzL3NjYWZmb2xkaW5nL2hlYWRlci9faGVhZGVyLnNjc3MiLCJibG9ja3Mvc2NhZmZvbGRpbmcvaGVhZGVyL2xvZ29zL19sb2dvLnNjc3MiLCJibG9ja3Mvc2NhZmZvbGRpbmcvaGVhZGVyL2xvZ29zL19tdWx0aWxvZ28uc2NzcyIsImJsb2Nrcy9zY2FmZm9sZGluZy9oZWFkZXIvc2VhcmNoL19zZWFyY2guc2NzcyIsImJsb2Nrcy9zY2FmZm9sZGluZy9oZWFkZXIvbmF2aWdhdGlvbi9fbmF2aWdhdGlvbi5zY3NzIiwiYmxvY2tzL3NjYWZmb2xkaW5nL2hlYWRlci9uYXZpZ2F0aW9uL19tZW51LnNjc3MiLCJibG9ja3Mvc2NhZmZvbGRpbmcvaGVhZGVyL25hdmlnYXRpb24vX3N1Ym5hdi5zY3NzIiwiLi4vY29tcG9uZW50cy9uaHN1ay1oZWUvbmhzdWstaGVlLWhlcm8vX2hlcm8uc2NzcyIsIi4uL2NvbXBvbmVudHMvX2hlZS10YWJsZS5zY3NzIiwiLi4vY29tcG9uZW50cy9faW1hZ2Uuc2NzcyIsIi4uL2NvbXBvbmVudHMvX3JlbGF0ZWRjYXJkcy5zY3NzIiwiLi4vY29tcG9uZW50cy9fY29udGFjdC5zY3NzIiwiLi4vY29tcG9uZW50cy9fc2VjdGlvbmJyZWFrLnNjc3MiLCIuLi9jb21wb25lbnRzL19yZWxhdGVkLWxpbmtzLWNhcmQuc2NzcyIsIi4uL2NvbXBvbmVudHMvaGVlL2hlZS1taWNyb2hlcm8vX21pY3JvaGVyby5zY3NzIiwiLi4vY29tcG9uZW50cy9oZWUvaGVlLXRpbWVsaW5lL3RpbWVsaW5lLnNjc3MiLCIuLi9jb21wb25lbnRzL190aW1lbGluZS5zY3NzIiwiLi4vY29tcG9uZW50cy9faW1hZ2UtY2FyZC5zY3NzIiwiLi4vY29tcG9uZW50cy9fcmVsYXRlZC1uYXYuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2hlYWRlci1zZWFyY2guc2NzcyIsIi4uL2NvbXBvbmVudHMvX21lZGlhLnNjc3MiLCIuLi9jb21wb25lbnRzL2hlZS9oZWUtbmF2bWFwL19uYXZtYXAuc2NzcyIsIi4uL2NvbXBvbmVudHMvX3Jlc291cmNlcy1saW5rLnNjc3MiLCJibG9ja3MvY29udGVudC9zaWRlYmFyL3Jlc291cmNlcy9yZXNvdXJjZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2hlZS10YWJsZS0yLnNjc3MiLCJibG9ja3MvY29udGVudC9tYWluL2FwcGxpZXMtdG8vX2FwcGxpZXMtdG8uc2NzcyIsImJsb2Nrcy9jb250ZW50L3NpZGViYXIvYW5jaG9ybGlua3MvX2FuY2hvcmxpbmtzLnNjc3MiLCJibG9ja3MvY29udGVudC9mb290ZXIvYW5jaG9ybGlua3Mtc3RpY2t5L19hbmNob3JsaW5rcy1zdGlja3kuc2NzcyIsImJsb2Nrcy9zY2FmZm9sZGluZy9ub3RpZmljYXRpb25zL3BoYXNlYmFubmVyL19waGFzZWJhbm5lci5zY3NzIiwiLi4vY29tcG9uZW50cy9oZWUvaGVlLXRhYnMvX3RhYnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvbmhzdWstaGVlL25oc3VrLWhlZS10YWJsZXMvX3RhYmxlczIuc2NzcyIsImJsb2Nrcy9zY2FmZm9sZGluZy9ub3RpZmljYXRpb25zL2Jhbm5lci9fYmFubmVyLnNjc3MiLCIuLi9jb21wb25lbnRzL2hlZS9oZWUtc2lkZWJhcmltYWdlL19zaWRlYmFyaW1hZ2Uuc2NzcyIsImJsb2Nrcy9jb250ZW50L3NpZGViYXIvY2FyZC0tcmVsYXRlZC1saW5rcy9fcmVsYXRlZC1saW5rcy5zY3NzIiwiYmxvY2tzL2Z1cm5pdHVyZS9jb2xsZWN0aW9ucy9oZWUtbGlzdGluZy9fbGlzdGluZy5zY3NzIiwiYmxvY2tzL2Z1cm5pdHVyZS9jb2xsZWN0aW9ucy9oZWUtbGlzdGluZy1pdGVtL19saXN0aW5nLWl0ZW0uc2NzcyIsImJsb2Nrcy9mdXJuaXR1cmUvY29sbGVjdGlvbnMvaGVlLWZpbHRlci9fZmlsdGVyLnNjc3MiLCJibG9ja3MvZnVybml0dXJlL2NvbGxlY3Rpb25zL2hlZS1maWx0ZXJ0YWcvZmlsdGVydGFnLnNjc3MiLCJibG9ja3MvZnVybml0dXJlL3NlYXJjaC9mb3JtL19zZWFyY2gtZm9ybS5zY3NzIiwiYmxvY2tzL2Z1cm5pdHVyZS9zZWFyY2gvbGlzdGluZy9fc2VhcmNoLWxpc3Rpbmcuc2NzcyIsImJsb2Nrcy9mdXJuaXR1cmUvc2VhcmNoL2xpc3RpbmctaXRlbS9fc2VhcmNoLWxpc3RpbmctaXRlbS5zY3NzIiwiYmxvY2tzL2NvbnRlbnQvX2hlZS1jYXJkLnNjc3MiLCJibG9ja3MvY29udGVudC9tYWluL2NhcmQtLWF1dGhvci9hdXRob3Iuc2NzcyIsImJsb2Nrcy9jb250ZW50L21haW4vdGFibGUtZXhwYW5kZXIvX3RhYmxlLnNjc3MiLCJibG9ja3MvY29udGVudC9tYWluL2hlZS1wdWJsaWNhdGlvbi1kb2MvX3B1YmxpY2F0aW9uLWRvYy5zY3NzIiwiYmxvY2tzL2NvbnRlbnQvbWFpbi90cmFpbmluZy1qb3VybmV5L190cmFpbmluZy1qb3VybmV5LnNjc3MiLCJibG9ja3MvY29udGVudC9tYWluL3F1b3RlL19xdW90ZS5zY3NzIiwiYmxvY2tzL2NvbnRlbnQvZmVhdHVyZWQvZmVhdHVyZWQtY29udGVudC9fZmVhdHVyZWQtY29udGVudC5zY3NzIiwiYmxvY2tzL2NvbnRlbnQvc2lkZWJhci9jYXJkLS1kZXBhcnRtZW50L19kZXBhcnRtZW50LnNjc3MiLCJibG9ja3MvY29udGVudC9tYWluL2NhcmQtLXN1bW1hcnkvX3N1bW1hcnkuc2NzcyIsImJsb2Nrcy9jb250ZW50L3NpZGViYXIvY2FyZC0tcGVyc29uL19wZXJzb24uc2NzcyIsImJsb2Nrcy9zY2FmZm9sZGluZy9iYWNrLXRvLXRvcC9fYmFjay10by10b3Auc2NzcyIsIi4uL2NvbXBvbmVudHMvaGVlL2hlZS1uZXdzbGV0dGVyL19uZXdzbGV0dGVyLnNjc3MiLCJwYXJlbnQtYWxwaGEuc2NzcyIsImJsb2Nrcy9zY2FmZm9sZGluZy9tZWdhLW1lbnUvX21lZ2EtbWVudS5zY3NzIiwiYmxvY2tzL3NjYWZmb2xkaW5nL2JhY2stdG8taG9tZS1iYW5uZXIvX2JhY2stdG8taG9tZS5zY3NzIiwiYmxvY2tzL3NjYWZmb2xkaW5nL3NlY29uZGFyeS1tZW51L19zZWNvbmRhcnktbWVudS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIE5IUy5VSyBGcm9udGVuZCBsaWJyYXJ5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL0BpbXBvcnQgJ25vZGVfbW9kdWxlcy9uaHN1ay1mcm9udGVuZC9wYWNrYWdlcy9uaHN1ayc7XG4vL0BpbXBvcnQgJ25vZGVfbW9kdWxlcy9uaHN1ay1mcm9udGVuZC9wYWNrYWdlcy9jb3JlL2FsbCc7XG5AaW1wb3J0ICdub2RlX21vZHVsZXMvbmhzdWstZnJvbnRlbmQvcGFja2FnZXMvY29yZS9zZXR0aW5ncy9hbGwnO1xuQGltcG9ydCAnbm9kZV9tb2R1bGVzL25oc3VrLWZyb250ZW5kL3BhY2thZ2VzL2NvcmUvdG9vbHMvYWxsJztcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVVRJTFNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0cyc7XG5AaW1wb3J0ICd1dGlscy9taXhpbnMnO1xuQGltcG9ydCAndXRpbHMvcHJpbnQnO1xuQGltcG9ydCAndXRpbHMvb2ZsZXgnO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBURU1QTEFURVNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgJ3RlbXBsYXRlcy9wYWdlJztcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQkxPQ0tTXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL25oc3VrLWhlZS9uaHN1ay1oZWUtYmxvY2tsaW5rcy9ibG9ja2xpbmtzJztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvbmhzdWstaGVlL25oc3VrLWhlZS1icmVhZGNydW1iL2JyZWFkY3J1bWInO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9uaHN1ay1oZWUvbmhzdWstaGVlLXJldmlld2RhdGUvcmV2aWV3ZGF0ZSc7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL25oc3VrLWhlZS9uaHN1ay1oZWUtY29udGVudHNsaXN0L2NvbnRlbnRzbGlzdCc7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL25oc3VrLWhlZS9uaHN1ay1oZWUtaW1hZ2UvaW1hZ2UnO1xuQGltcG9ydCAnYmxvY2tzL2NvbnRlbnQvc2lkZWJhci9jYXJkLS1kZXRhaWxzL2RldGFpbHMnO1xuQGltcG9ydCAnYmxvY2tzL2NvbnRlbnQvc2lkZWJhci9jYXJkLS1jdGEvY3RhJztcbkBpbXBvcnQgJ2Jsb2Nrcy9jb250ZW50L21haW4vZ29vZ2xlLW1hcC9nb29nbGUtbWFwJztcbkBpbXBvcnQgJ2Jsb2Nrcy9zY2FmZm9sZGluZy9jb29raWVzL2Nvb2tpZXMnO1xuQGltcG9ydCAnYmxvY2tzL3NjYWZmb2xkaW5nL2hlYWRlci9oZWFkZXInO1xuQGltcG9ydCAnYmxvY2tzL3NjYWZmb2xkaW5nL2hlYWRlci9sb2dvcy9sb2dvJztcbkBpbXBvcnQgJ2Jsb2Nrcy9zY2FmZm9sZGluZy9oZWFkZXIvbG9nb3MvbXVsdGlsb2dvJztcbkBpbXBvcnQgJ2Jsb2Nrcy9zY2FmZm9sZGluZy9oZWFkZXIvc2VhcmNoL3NlYXJjaCc7XG5AaW1wb3J0ICdibG9ja3Mvc2NhZmZvbGRpbmcvaGVhZGVyL25hdmlnYXRpb24vbmF2aWdhdGlvbic7XG5AaW1wb3J0ICdibG9ja3Mvc2NhZmZvbGRpbmcvaGVhZGVyL25hdmlnYXRpb24vbWVudSc7XG5AaW1wb3J0ICdibG9ja3Mvc2NhZmZvbGRpbmcvaGVhZGVyL25hdmlnYXRpb24vc3VibmF2JztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvbmhzdWstaGVlL25oc3VrLWhlZS1oZXJvL2hlcm8nO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9oZWUtdGFibGUnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9pbWFnZSc7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL3JlbGF0ZWRjYXJkcyc7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL2NvbnRhY3QnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9zZWN0aW9uYnJlYWsnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9yZWxhdGVkLWxpbmtzLWNhcmQnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9oZWUvaGVlLW1pY3JvaGVyby9taWNyb2hlcm8nO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9oZWUvaGVlLXRpbWVsaW5lL3RpbWVsaW5lJztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvdGltZWxpbmUnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9pbWFnZS1jYXJkJztcbkBpbXBvcnQgJy4uL2hlZS9ibG9ja3MvY29udGVudC9zaWRlYmFyL2NhcmQtLWRldGFpbHMvZGV0YWlscyc7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL3JlbGF0ZWQtbmF2JztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvaGVhZGVyLXNlYXJjaCc7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL21lZGlhJztcbi8vQGltcG9ydCAnLi4vY29tcG9uZW50cy9oZWUvaGVlLW1lZGlhL21lZGlhJztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvaGVlL2hlZS1uYXZtYXAvbmF2bWFwJztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvcmVsYXRlZC1uYXYnOyAvLz9cbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvcmVzb3VyY2VzLWxpbmsnO1xuQGltcG9ydCAnYmxvY2tzL2NvbnRlbnQvc2lkZWJhci9yZXNvdXJjZXMvcmVzb3VyY2VzJztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvaGVlLXRhYmxlLTInO1xuQGltcG9ydCAnYmxvY2tzL2NvbnRlbnQvbWFpbi9hcHBsaWVzLXRvL2FwcGxpZXMtdG8nO1xuQGltcG9ydCAnYmxvY2tzL2NvbnRlbnQvc2lkZWJhci9hbmNob3JsaW5rcy9hbmNob3JsaW5rcyc7XG5AaW1wb3J0ICdibG9ja3MvY29udGVudC9mb290ZXIvYW5jaG9ybGlua3Mtc3RpY2t5L2FuY2hvcmxpbmtzLXN0aWNreSc7XG5AaW1wb3J0ICdibG9ja3Mvc2NhZmZvbGRpbmcvbm90aWZpY2F0aW9ucy9waGFzZWJhbm5lci9waGFzZWJhbm5lcic7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL2hlZS9oZWUtdGFicy90YWJzJztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvbmhzdWstaGVlL25oc3VrLWhlZS10YWJsZXMvdGFibGVzMic7IC8vP1xuXG5AaW1wb3J0ICdibG9ja3Mvc2NhZmZvbGRpbmcvbm90aWZpY2F0aW9ucy9iYW5uZXIvYmFubmVyJztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvaGVlL2hlZS1zaWRlYmFyaW1hZ2Uvc2lkZWJhcmltYWdlJztcbkBpbXBvcnQgJ2Jsb2Nrcy9jb250ZW50L3NpZGViYXIvY2FyZC0tcmVsYXRlZC1saW5rcy9yZWxhdGVkLWxpbmtzJztcblxuLy8vLy8gRlVSTklUVVJFXG4vLyAtLSBDb2xsZWN0aW9uc1xuQGltcG9ydCAnYmxvY2tzL2Z1cm5pdHVyZS9jb2xsZWN0aW9ucy9oZWUtbGlzdGluZy9saXN0aW5nJztcbkBpbXBvcnQgJ2Jsb2Nrcy9mdXJuaXR1cmUvY29sbGVjdGlvbnMvaGVlLWxpc3RpbmctaXRlbS9saXN0aW5nLWl0ZW0nO1xuQGltcG9ydCAnYmxvY2tzL2Z1cm5pdHVyZS9jb2xsZWN0aW9ucy9oZWUtZmlsdGVyL2ZpbHRlcic7XG5AaW1wb3J0ICdibG9ja3MvZnVybml0dXJlL2NvbGxlY3Rpb25zL2hlZS1maWx0ZXJ0YWcvZmlsdGVydGFnJztcbi8vIC0tIFNlYXJjaFxuQGltcG9ydCAnYmxvY2tzL2Z1cm5pdHVyZS9zZWFyY2gvZm9ybS9zZWFyY2gtZm9ybSc7XG5AaW1wb3J0ICdibG9ja3MvZnVybml0dXJlL3NlYXJjaC9saXN0aW5nL3NlYXJjaC1saXN0aW5nJztcbkBpbXBvcnQgJ2Jsb2Nrcy9mdXJuaXR1cmUvc2VhcmNoL2xpc3RpbmctaXRlbS9zZWFyY2gtbGlzdGluZy1pdGVtJztcblxuLy8vLy8gQ09OVEVOVFxuQGltcG9ydCAnYmxvY2tzL2NvbnRlbnQvaGVlLWNhcmQnO1xuQGltcG9ydCAnYmxvY2tzL2NvbnRlbnQvbWFpbi9jYXJkLS1hdXRob3IvYXV0aG9yJztcbkBpbXBvcnQgJ2Jsb2Nrcy9jb250ZW50L21haW4vdGFibGUtZXhwYW5kZXIvdGFibGUnO1xuQGltcG9ydCAnYmxvY2tzL2NvbnRlbnQvbWFpbi9oZWUtcHVibGljYXRpb24tZG9jL3B1YmxpY2F0aW9uLWRvYyc7XG5AaW1wb3J0ICdibG9ja3MvY29udGVudC9tYWluL3RyYWluaW5nLWpvdXJuZXkvdHJhaW5pbmctam91cm5leSc7XG5AaW1wb3J0ICdibG9ja3MvY29udGVudC9tYWluL3F1b3RlL3F1b3RlJztcbkBpbXBvcnQgJ2Jsb2Nrcy9jb250ZW50L2ZlYXR1cmVkL2ZlYXR1cmVkLWNvbnRlbnQvZmVhdHVyZWQtY29udGVudCc7XG5AaW1wb3J0ICcuLi9oZWUvYmxvY2tzL2NvbnRlbnQvc2lkZWJhci9jYXJkLS1kZXBhcnRtZW50L2RlcGFydG1lbnQnO1xuQGltcG9ydCAnYmxvY2tzL2NvbnRlbnQvbWFpbi9jYXJkLS1zdW1tYXJ5L3N1bW1hcnknO1xuQGltcG9ydCAnYmxvY2tzL2NvbnRlbnQvc2lkZWJhci9jYXJkLS1wZXJzb24vcGVyc29uJztcbkBpbXBvcnQgJ2Jsb2Nrcy9zY2FmZm9sZGluZy9iYWNrLXRvLXRvcC9iYWNrLXRvLXRvcCc7XG4vL0BpbXBvcnQgJy4uL2hlZS9ibG9ja3MvY29udGVudC9zaWRlYmFyL2NhcmQtLWRlcGFydG1lbnQvZGVwYXJ0bWVudCc7XG4vL0BpbXBvcnQgJy4uL2hlZS9ibG9ja3MvY29udGVudC9zaWRlYmFyL2NhcmQtLWNvbnRhY3QvY29udGFjdCc7XG5cbi8vQGltcG9ydCAnLi4vY29tcG9uZW50cy9uaHN1ay1oZWUvbmhzdWstaGVlLXJldmlld2RhdGUvcmV2aWV3ZGF0ZSc7XG4vL0BpbXBvcnQgJy4uL2NvbXBvbmVudHMvbmhzdWstaGVlL25oc3VrLWhlZS1zdW1tYXJ5bGlzdC9zdW1tYXJ5bGlzdCc7XG4vL0BpbXBvcnQgJy4uL2NvbXBvbmVudHMvaGVlL2hlZS1ob21lc2VjdGlvbi9ob21lc2VjdGlvbic7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL2hlZS9oZWUtbmV3c2xldHRlci9uZXdzbGV0dGVyJztcbi8vQGltcG9ydCAnLi4vY29tcG9uZW50cy9oZWUvaGVlLXJlbGF0ZWRuYXYvcmVsYXRlZG5hdic7XG4vL0BpbXBvcnQgJy4uL2hlZS9ibG9ja3MvY29udGVudC9zaWRlYmFyL3Jlc291cmNlcy9yZXNvdXJjZXMnO1xuXG5AaW1wb3J0ICcuL3BhcmVudC1hbHBoYSc7XG5AaW1wb3J0ICdibG9ja3Mvc2NhZmZvbGRpbmcvbWVnYS1tZW51L21lZ2EtbWVudSc7XG5AaW1wb3J0ICdibG9ja3Mvc2NhZmZvbGRpbmcvYmFjay10by1ob21lLWJhbm5lci9iYWNrLXRvLWhvbWUnO1xuQGltcG9ydCAnYmxvY2tzL3NjYWZmb2xkaW5nL3NlY29uZGFyeS1tZW51L3NlY29uZGFyeS1tZW51JztcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjU0VUVElOR1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbXBvcnQgJ2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ2NvbG91cnMnO1xuQGltcG9ydCAnZ2xvYmFscyc7XG5AaW1wb3J0ICdzcGFjaW5nJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNFVFRJTkdTIC8gI0JSRUFLUE9JTlRTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gc2Fzcy1tcSBjb25maWcgLSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xXG4vL1xuLy8gbXEoKSB0YWtlcyB1cCB0byB0aHJlZSBvcHRpb25hbCBwYXJhbWV0ZXJzOlxuLy8gJGZyb206IGluY2x1c2l2ZSBtaW4td2lkdGggYm91bmRhcnlcbi8vICR1bnRpbDogZXhjbHVzaXZlIG1heC13aWR0aCBib3VuZGFyeVxuLy8gJGFuZDogYWRkaXRpb25hbCBjdXN0b20gZGlyZWN0aXZlc1xuLy8gJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlIC8vIGRlZmF1bHRzIHRvICdhbGwnXG4vL1xuLy8gMS4gVG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLyAgICAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KSBzZXQgJG1xLXJlc3BvbnNpdmUgdG8gZmFsc2Vcbi8vICAgIENyZWF0ZSBhIHNlcGFyYXRlIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIHRoZXNlIGJyb3dzZXJzLFxuLy8gICAgbWVhbmluZyBAbWVkaWEgcXVlcmllcyB3aWxsIGJlIHJhc3Rlcml6ZWQsIHJlbHlpbmcgb24gdGhlIGNhc2NhZGUgaXRzZWxmXG4vLyAyLiBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSB0aGUgJG1xLWJyZWFrcG9pbnRzIGxpc3QgdGhhdCBzaG91bGRcbi8vICAgIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCB3aGVuIG91dHB1dHRpbmcgYSBzdGF0aWMgc3R5bGVzaGVldFxuLy8gICAgKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykuXG4vLy9cblxuJG1xLXJlc3BvbnNpdmU6IHRydWU7IC8vIFsxXSAvL1xuXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgbW9iaWxlOiAgMzIwcHgsXG4gIHRhYmxldDogIDY0MXB4LFxuICBkZXNrdG9wOiA3NjlweCxcbiAgbGFyZ2UtZGVza3RvcDogOTkwcHhcbik7XG5cbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcDsgLy8gWzJdIC8vXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0VUVElOR1MgLyAjQ09MT1VSU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIE5IUyBjb2xvdXIgcGFsZXR0ZVxuLy9cbi8vIENvbG91cnMgYXJlIHByZWZpeGVkIHdpdGggY29sb3JfIHRvIG1ha2UgdGhlbSBlYXNpZXIgdG9cbi8vIHNlYXJjaCBmb3Igd2l0aGluIHRoZSBjb2RlIGJhc2UuXG4vL1xuLy8gV2UgYWxzbyBwcmVmaXggdGhlbSB3aXRoIG5oc3VrLSB0byBwcmV2ZW50IGNsYXNoaW5nIHdpdGhcbi8vIG90aGVyIGNvbG91cnMgaW4gZXhpc3RpbmcgY29kZSBiYXNlcy5cbi8vXG4vLyBXZSB1c2UgdGhlIHdvcmQgY29sb3IsIG5vdCBjb2xvdXIsIGZvciB2YXJpYWJsZXMuXG4vL1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1oZXhcblxuJGNvbG9yX25oc3VrLWJsdWU6ICMwMDVlYjg7XG4kY29sb3JfbmhzdWstd2hpdGU6ICNmZmZmZmY7XG4kY29sb3JfbmhzdWstYmxhY2s6ICMyMTJiMzI7XG4kY29sb3JfbmhzdWstZ3JlZW46ICMwMDdmM2I7XG4kY29sb3JfbmhzdWstcHVycGxlOiAjMzMwMDcyO1xuJGNvbG9yX25oc3VrLWRhcmstcGluazogIzdDMjg1NTtcbiRjb2xvcl9uaHN1ay1yZWQ6ICNkNTI4MWI7XG4kY29sb3JfbmhzdWsteWVsbG93OiAjZmZlYjNiO1xuXG4vL1xuLy8gU2Vjb25kYXJ5IGNvbG91cnNcbi8vXG5cbiRjb2xvcl9uaHN1ay1wYWxlLXllbGxvdzogI2ZmZjljNDtcbiRjb2xvcl9uaHN1ay13YXJtLXllbGxvdzogI2ZmYjgxQztcbiRjb2xvcl9uaHN1ay1vcmFuZ2U6ICNFRDhCMDA7XG4kY29sb3JfbmhzdWstYXF1YS1ncmVlbjogIzAwQTQ5OTtcbiRjb2xvcl9uaHN1ay1waW5rOiAjQUUyNTczO1xuXG4vL1xuLy8gR3JleXNjYWxlXG4vL1xuXG4kY29sb3JfbmhzdWstZ3JleS0xOiAjNGM2MjcyO1xuJGNvbG9yX25oc3VrLWdyZXktMjogIzc2ODY5MjtcbiRjb2xvcl9uaHN1ay1ncmV5LTM6ICNhZWI3YmQ7XG4kY29sb3JfbmhzdWstZ3JleS00OiAjZDhkZGUwO1xuJGNvbG9yX25oc3VrLWdyZXktNTogI2YwZjRmNTtcblxuLy9cbi8vIFJHQiBhbmQgYWxwaGEgdmFsdWVzXG4vL1xuLy8gVXNlZCB0byBjcmVhdGUgZHJvcC9ib3ggc2hhZG93cyBlLmcuIGZvciBzZWFyY2ggc3VnZ2VzdGlvbnMgZHJvcGRvd25cbi8vXG5cbiRjb2xvcl9uaHN1ay1ncmV5LTEtcmdiOiByZ2IoNjYsIDg0LCA5OCk7XG4kYWxwaGEtdHJhbnNwYXJlbmN5LTUwOiAuNTtcblxuLy9cbi8vIEZ1bmN0aW9ucyBmb3IgdGludCBhbmQgc2hhZGVcbi8vXG4vLyBVc2FnZTogdGludChjb2xvciwgcGVyY2VudGFnZSlcbi8vICAgICAgICB0aW50KCRjb2xvcl9uaHN1ay1ibGFjaywgMTAlKVxuLy8gICAgICAgIHNoYWRlKGNvbG9yLCBwZXJjZW50YWdlKVxuLy8gICAgICAgIHNoYWRlKCRjb2xvcl9uaHN1ay1ibHVlLCA1MCUpXG4vL1xuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50YWdlKSB7XG4gIEByZXR1cm4gbWl4KHdoaXRlLCAkY29sb3IsICRwZXJjZW50YWdlKTtcbn1cblxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnRhZ2UpIHtcbiAgQHJldHVybiBtaXgoYmxhY2ssICRjb2xvciwgJHBlcmNlbnRhZ2UpO1xufVxuXG4vL1xuLy8gUHJpbWFyeSBjb2xvdXIgdmFyaWF0aW9uc1xuLy9cbi8vIDEuIHVzZWQgZm9yIGxpbmsgOmFjdGl2ZSBzdGF0ZXNcbi8vIDIuIHVzZWQgZm9yIC5pcy1hY3RpdmUgc3RhdGUgb24gbWFpbiBuYXZpZ2F0aW9uXG4vLyAzLiB1c2VkIGZvciA6aG92ZXIgc3RhdGVzIG9uIG1haW4gbmF2aWdhdGlvblxuLy8gNC4gdXNlZCBmb3IgOmFjdGl2ZSBzdGF0ZXMgb24gbWFpbiBuYXZpZ2F0aW9uXG4vLyA1LiB1c2VkIGZvciBwcmltYXJ5IGJ1dHRvbiBhbmQgYWN0aW9uIGxpbmsgaWNvbiA6aG92ZXIgc3RhdGVzXG4vLyA2LiB1c2VkIGZvciBwcmltYXJ5IGJ1dHRvbiBhbmQgYWN0aW9uIGxpbmsgaWNvbiA6YWN0aXZlIHN0YXRlc1xuLy9cblxuJGNvbG9yX3RpbnRfbmhzdWstYmxhY2stMTA6IHRpbnQoJGNvbG9yX25oc3VrLWJsYWNrLCAxMCUpOyAvLyBbMV0gLy9cblxuJGNvbG9yX3NoYWRlX25oc3VrLWJsdWUtMjA6IHNoYWRlKCRjb2xvcl9uaHN1ay1ibHVlLCAyMCUpOyAvLyBbMl0gLy9cbiRjb2xvcl9zaGFkZV9uaHN1ay1ibHVlLTM1OiBzaGFkZSgkY29sb3JfbmhzdWstYmx1ZSwgMzUlKTsgLy8gWzNdIC8vXG4kY29sb3Jfc2hhZGVfbmhzdWstYmx1ZS01MDogc2hhZGUoJGNvbG9yX25oc3VrLWJsdWUsIDUwJSk7IC8vIFs0XSAvL1xuXG4kY29sb3Jfc2hhZGVfbmhzdWstZ3JlZW4tMzU6IHNoYWRlKCRjb2xvcl9uaHN1ay1ncmVlbiwgMzUlKTsgLy8gWzVdIC8vXG4kY29sb3Jfc2hhZGVfbmhzdWstZ3JlZW4tNTA6IHNoYWRlKCRjb2xvcl9uaHN1ay1ncmVlbiwgNTAlKTsgLy8gWzZdIC8vXG5cbiRjb2xvcl90cmFuc3BhcmVudF9uaHN1ay13aGl0ZS0yMDogcmdiYSgkY29sb3JfbmhzdWstd2hpdGUsIC4yKTtcbiRjb2xvcl90cmFuc3BhcmVudF9uaHN1ay1ibHVlLTUwOiByZ2JhKCRjb2xvcl9zaGFkZV9uaHN1ay1ibHVlLTUwLCAuMSk7XG5cbi8vXG4vLyBDb2xvdXIgYWxpYXNlc1xuLy9cblxuLy8gVGV4dFxuJG5oc3VrLXRleHQtY29sb3I6ICRjb2xvcl9uaHN1ay1ibGFjaztcbiRuaHN1ay1zZWNvbmRhcnktdGV4dC1jb2xvcjogJGNvbG9yX25oc3VrLWdyZXktMTtcbiRuaHN1ay1wcmludC10ZXh0LWNvbG9yOiAkY29sb3JfbmhzdWstYmxhY2s7XG5cbi8vIExpbmtzXG4kbmhzdWstbGluay1jb2xvcjogJGNvbG9yX25oc3VrLWJsdWU7XG4kbmhzdWstbGluay1ob3Zlci1jb2xvcjogJGNvbG9yX25oc3VrLWRhcmstcGluaztcbiRuaHN1ay1saW5rLWFjdGl2ZS1jb2xvcjogc2hhZGUoJG5oc3VrLWxpbmstY29sb3IsIDUwJSk7XG4kbmhzdWstbGluay12aXNpdGVkLWNvbG9yOiAkY29sb3JfbmhzdWstcHVycGxlO1xuXG4vLyBGb2N1c1xuJG5oc3VrLWZvY3VzLWNvbG9yOiAkY29sb3JfbmhzdWsteWVsbG93O1xuJG5oc3VrLWZvY3VzLXRleHQtY29sb3I6ICRjb2xvcl9uaHN1ay1ibGFjaztcblxuLy8gQm9yZGVyXG4kbmhzdWstYm9yZGVyLWNvbG9yOiAkY29sb3JfbmhzdWstZ3JleS00O1xuJG5oc3VrLXNlY29uZGFyeS1ib3JkZXItY29sb3I6ICRjb2xvcl90cmFuc3BhcmVudF9uaHN1ay13aGl0ZS0yMDtcblxuLy8gQm94IHNoYWRvd1xuJG5oc3VrLWJveC1zaGFkb3c6IHJnYmEoMzMsIDQzLCA1MCwgLjE2KTtcbiRuaHN1ay1ib3gtc2hhZG93LWNvbG9yOiAkY29sb3JfbmhzdWstZ3JleS0xLXJnYjtcblxuLy9cbi8vIEZvcm1zXG4vL1xuXG4kbmhzdWstZXJyb3ItY29sb3I6ICRjb2xvcl9uaHN1ay1yZWQ7XG4kbmhzdWstZm9ybS1ib3JkZXItY29sb3I6ICRjb2xvcl9uaHN1ay1ncmV5LTE7XG4kbmhzdWstZm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcblxuLy9cbi8vIEJ1dHRvbnNcbi8vXG5cbiRuaHN1ay1idXR0b24tY29sb3I6ICRjb2xvcl9uaHN1ay1ncmVlbjtcbiRuaHN1ay1idXR0b24taG92ZXItY29sb3I6IHNoYWRlKCRuaHN1ay1idXR0b24tY29sb3IsIDIwJSk7XG4kbmhzdWstYnV0dG9uLWFjdGl2ZS1jb2xvcjogc2hhZGUoJG5oc3VrLWJ1dHRvbi1jb2xvciwgNTAlKTtcbiRuaHN1ay1idXR0b24tc2hhZG93LWNvbG9yOiBzaGFkZSgkbmhzdWstYnV0dG9uLWNvbG9yLCA1MCUpO1xuXG4kbmhzdWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvcjogJGNvbG9yX25oc3VrLWdyZXktMTtcbiRuaHN1ay1zZWNvbmRhcnktYnV0dG9uLWhvdmVyLWNvbG9yOiBzaGFkZSgkbmhzdWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvciwgMjAlKTtcbiRuaHN1ay1zZWNvbmRhcnktYnV0dG9uLWFjdGl2ZS1jb2xvcjogc2hhZGUoJG5oc3VrLXNlY29uZGFyeS1idXR0b24tY29sb3IsIDUwJSk7XG4kbmhzdWstc2Vjb25kYXJ5LWJ1dHRvbi1zaGFkb3ctY29sb3I6IHNoYWRlKCRuaHN1ay1zZWNvbmRhcnktYnV0dG9uLWNvbG9yLCA1MCUpO1xuXG4kbmhzdWstcmV2ZXJzZS1idXR0b24tY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiRuaHN1ay1yZXZlcnNlLWJ1dHRvbi1ob3Zlci1jb2xvcjogc2hhZGUoJG5oc3VrLXJldmVyc2UtYnV0dG9uLWNvbG9yLCAyMCUpO1xuJG5oc3VrLXJldmVyc2UtYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGNvbG9yLW5oc3VrLWJsYWNrO1xuJG5oc3VrLXJldmVyc2UtYnV0dG9uLXNoYWRvdy1jb2xvcjogJGNvbG9yLW5oc3VrLWJsYWNrO1xuXG4kbmhzdWstYnV0dG9uLXRleHQtY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiRuaHN1ay1yZXZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAkY29sb3JfbmhzdWstYmxhY2s7XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0VUVElOR1MgLyAjR0xPQkFMU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEZvbnRzXG4vL1xuLy8gMS4gRmFsbGJhY2sgZm9udHMgaWYgRnJ1dGlnZXIgZmFpbHMgdG8gbG9hZFxuLy9cblxuJG5oc3VrLWZvbnQ6IEZydXRpZ2VyIFcwMTtcbiRuaHN1ay1mb250LWZhbGxiYWNrOiBBcmlhbCwgU2Fucy1zZXJpZjsgLy8gWzFdIC8vXG4kbmhzdWstZm9udC1mYW1pbHktcHJpbnQ6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kbmhzdWstZm9udC1ib2xkOiA2MDA7XG4kbmhzdWstZm9udC1ub3JtYWw6IDQwMDtcbiRuaHN1ay1mb250LWxpZ2h0OiAkbmhzdWstZm9udC1ub3JtYWw7XG5cbi8vXG4vLyBGb250IHNpemluZyBhbmQgc3BhY2luZ1xuLy9cblxuJG5oc3VrLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJG5oc3VrLWJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBJY29uIGRlZmF1bHQgc2l6aW5nXG4vL1xuXG4kbmhzdWstaWNvbi1zaXplOiAzNHB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gR3JpZCBzcGFjaW5nXG4vL1xuXG4kbmhzdWstcGFnZS13aWR0aDogOTYwcHg7XG4kbmhzdWstZ3V0dGVyOiAzMnB4O1xuJG5oc3VrLWd1dHRlci1oYWxmOiAkbmhzdWstZ3V0dGVyIC8gMjtcblxuLy9cbi8vIEJvcmRlciBzaXplc1xuLy9cblxuJG5oc3VrLWJvcmRlci13aWR0aC1pbnNldC10ZXh0OiA4cHggIWRlZmF1bHQ7XG4kbmhzdWstY2FyZS1jYXJkLXRyaWFuZ2xlLWJvcmRlcjogMTZweCAhZGVmYXVsdDtcbiRuaHN1ay1oZXJvLWNvbnRlbnQtdHJpYW5nbGUtYm9yZGVyOiAxNnB4ICFkZWZhdWx0O1xuJG5oc3VrLWhlcm8tYm9yZGVyOiAxcHggIWRlZmF1bHQ7XG4kbmhzdWstYm9yZGVyLWxpc3QtcGFuZWw6IDJweCAhZGVmYXVsdDtcbiRuaHN1ay1ib3JkZXItbGlzdC1wYW5lbC1pdGVtOiAxcHggIWRlZmF1bHQ7XG4kbmhzdWstYm9yZGVyLXRhYmxlLWhlYWRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuJG5oc3VrLWJvcmRlci10YWJsZS1jZWxsLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBCb3JkZXIgcmFkaXVzXG4vL1xuXG4kbmhzdWstYm9yZGVyLXJhZGl1czogNHB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gQm94IHNoYWRvd1xuLy9cblxuJG5oc3VrLWJveC1zaGFkb3ctc3ByZWFkOiA0cHggIWRlZmF1bHQ7XG4kbmhzdWstYm94LXNoYWRvdy1ibHVyOiA0cHggIWRlZmF1bHQ7XG4kbmhzdWstYm94LXNoYWRvdy1saW5rOiA0cHggIWRlZmF1bHQ7XG4kbmhzdWstYm94LWRldGFpbHM6IDhweCAhZGVmYXVsdDtcbiRuaHN1ay1ib3gtZXhwYW5kZXI6IDRweCAhZGVmYXVsdDtcbiRuaHN1ay1ib3gtc2hhZG93LXBhZ2luYXRpb246IDE2cHggIWRlZmF1bHQ7XG4kbmhzdWstYm94LXNoYWRvdy1saW5rOiA0cHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBIZWFkZXIgc3BhY2luZ1xuLy9cblxuJG5oc3VrLWhlYWRlci1zcGFjaW5nOiAyMHB4O1xuXG4vL1xuLy8gRm9ybSBlbGVtZW50c1xuLy9cblxuJG5oc3VrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ6IDJweCAhZGVmYXVsdDtcbiRuaHN1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yOiA0cHggIWRlZmF1bHQ7XG4kbmhzdWstZm9jdXMtd2lkdGg6IDRweCAhZGVmYXVsdDtcbiRuaHN1ay1ib3JkZXItd2lkdGg6IDRweCAhZGVmYXVsdDtcbiRuaHN1ay1ib3JkZXItd2lkdGgtbW9iaWxlOiA0cHggIWRlZmF1bHQ7XG4kbmhzdWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3I6ICRuaHN1ay1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0VUVElOR1MgLyAjU1BBQ0lOR1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFNpbmdsZSBwb2ludCBzcGFjaW5nIHZhcmlhYmxlc1xuLy9cbi8vIE9yaWdpbmFsIGNvZGUgdGFrZW4gZnJvbSBHRFMgKEdvdmVybm1lbnQgRGlnaXRhbCBTZXJ2aWNlKVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXG4vL1xuXG4kbmhzdWstc3BhY2luZy1wb2ludHM6IChcbiAgMDogMCxcbiAgMTogNHB4LFxuICAyOiA4cHgsXG4gIDM6IDE2cHgsXG4gIDQ6IDI0cHgsXG4gIDU6IDMycHgsXG4gIDY6IDQwcHgsXG4gIDc6IDQ4cHgsXG4gIDg6IDU2cHgsXG4gIDk6IDY0cHhcbikgIWRlZmF1bHQ7XG5cbi8vIFJlc3BvbnNpdmUgc3BhY2luZyBtYXBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBUaGVzZSBkZWZpbml0aW9ucyBhcmUgdXNlZCB0byBnZW5lcmF0ZSByZXNwb25zaXZlIHNwYWNpbmcgdGhhdCBhZGFwdHNcbi8vIGFjY29yZGluZyB0byB0aGUgYnJlYWtwb2ludHMgKHNlZSAndG9vbHMvc3BhY2luZycpLiBUaGVzZSBtYXBzIHNob3VsZCBiZVxuLy8gdXNlZCB3aGVyZXZlciBwb3NzaWJsZSB0byBzdGFuZGFyZGlzZSByZXNwb25zaXZlIHNwYWNpbmcuXG4vL1xuLy8gWW91IGNhbiBkZWZpbmUgZGlmZmVyZW50IGJlaGF2aW91ciBvbiB0YWJsZXQgYW5kIGRlc2t0b3AuIFRoZSAnbnVsbCdcbi8vIGJyZWFrcG9pbnQgaXMgZm9yIG1vYmlsZS5cbi8vXG4vLyBBY2Nlc3MgcmVzcG9uc2l2ZSBzcGFjaW5nIHdpdGggYG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luYCBvclxuLy8gYG5oc3VrLXJlc3BvbnNpdmUtcGFkZGluZ2AgbWl4aW5zLlxuLy9cbi8vIE9yaWdpbmFsIGNvZGUgdGFrZW4gZnJvbSBHRFMgKEdvdmVybm1lbnQgRGlnaXRhbCBTZXJ2aWNlKVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXG4vL1xuXG4kbmhzdWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlOiAoXG4gIDA6IChcbiAgICBudWxsOiAwLFxuICAgIHRhYmxldDogMFxuICApLFxuICAxOiAoXG4gICAgbnVsbDogNHB4LFxuICAgIHRhYmxldDogNHB4XG4gICksXG4gIDI6IChcbiAgICBudWxsOiA4cHgsXG4gICAgdGFibGV0OiA4cHhcbiAgKSxcbiAgMzogKFxuICAgIG51bGw6IDhweCxcbiAgICB0YWJsZXQ6IDE2cHhcbiAgKSxcbiAgNDogKFxuICAgIG51bGw6IDE2cHgsXG4gICAgdGFibGV0OiAyNHB4XG4gICksXG4gIDU6IChcbiAgICBudWxsOiAyNHB4LFxuICAgIHRhYmxldDogMzJweFxuICApLFxuICA2OiAoXG4gICAgbnVsbDogMzJweCxcbiAgICB0YWJsZXQ6IDQwcHhcbiAgKSxcbiAgNzogKFxuICAgIG51bGw6IDQwcHgsXG4gICAgdGFibGV0OiA0OHB4XG4gICksXG4gIDg6IChcbiAgICBudWxsOiA0OHB4LFxuICAgIHRhYmxldDogNTZweFxuICApLFxuICA5OiAoXG4gICAgbnVsbDogNTZweCxcbiAgICB0YWJsZXQ6IDY0cHhcbiAgKVxuKSAhZGVmYXVsdDtcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTRVRUSU5HUyAvICNUWVBPR1JBUEhZXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBSZXNwb25zaXZlIHR5cG9ncmFwaHkgZm9udCBtYXBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IHRoYXQgYWRhcHRzIGFjY29yZGluZyB0byB0aGVcbi8vIGJyZWFrcG9pbnRzLlxuLy9cbi8vIEZvbnQgc2l6ZSBhbmQgZm9udCB3ZWlnaHQgY2FuIGJlIGRlZmluZWQgZm9yIGVhY2ggYnJlYWtwb2ludC4gWW91IGNhbiBkZWZpbmVcbi8vIGRpZmZlcmVudCBiZWhhdmlvdXIgb24gdGFibGV0IGFuZCBkZXNrdG9wLiBUaGUgJ251bGwnIGJyZWFrcG9pbnQgaXMgZm9yXG4vLyBtb2JpbGUuXG4vL1xuLy8gTGluZS1oZWlnaHRzIHdpbGwgYXV0b21hdGljYWxseSBiZSBjb252ZXJ0ZWQgZnJvbSBwaXhlbCBtZWFzdXJlbWVudHMgaW50b1xuLy8gcmVsYXRpdmUgdmFsdWVzLiBGb3IgZXhhbXBsZSwgd2l0aCBhIGZvbnQtc2l6ZSBvZiAxNnB4IGFuZCBhIGxpbmUtaGVpZ2h0IG9mXG4vLyAyNHB4LCB0aGUgbGluZS1oZWlnaHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gMS41IGJlZm9yZSBvdXRwdXQuXG4vL1xuLy8gWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBzZXBhcmF0ZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IGZvciBwcmludCBtZWRpYS5cbi8vXG4vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQuJGJyZWFrcG9pbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCBhdCBgJGJyZWFrcG9pbnRgXG4vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQuJGJyZWFrcG9pbnQubGluZS1oZWlnaHQgLSBMaW5lIGhlaWdodCBmb3IgYCRwb2ludGAgYXQgYCRicmVha3BvaW50YFxuLy8gQHByb3Age051bWJlcn0gJHBvaW50LnByaW50LmZvbnQtc2l6ZSAtIEZvbnQgc2l6ZSBmb3IgYCRwb2ludGAgd2hlbiBwcmludGluZ1xuLy8gQHByb3Age051bWJlcn0gJHBvaW50LnByaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIHdoZW4gcHJpbnRpbmdcbi8vXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZFxuLy8vXG5cbiRuaHN1ay10eXBvZ3JhcGh5LXNjYWxlOiAoXG4gIDY0OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiA0OHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDU2cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiA2NHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDcycHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDUzcHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xXG4gICAgKVxuICApLFxuICA0ODogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMzJweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogNDhweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA1NnB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAzMnB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDMyOiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAyNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDMycHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAzMnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDQwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDI0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4wNVxuICAgIClcbiAgKSxcbiAgMjQ6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDIwcHgsXG4gICAgICBsaW5lLWhlaWdodDogMjhweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDI0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMzJweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMThwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4gICAgKVxuICApLFxuICAyMjogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMThweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMjJweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxOHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDE5OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI0cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxOXB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI4cHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDE0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xNVxuICAgIClcbiAgKSxcbiAgMTY6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjRweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjRweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJcbiAgICApXG4gICksXG4gIDE0OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI0cHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDEycHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4yXG4gICAgKVxuICApXG4pICFkZWZhdWx0O1xuXG4vLyBGb250IHdlaWdodHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBGb250IHdlaWdodCBmb3Igbm9ybWFsIHR5cG9ncmFwaHlcbi8vXG5cbiRuaHN1ay1mb250LW5vcm1hbDogNDAwICFkZWZhdWx0O1xuXG4vL1xuLy8gRm9udCB3ZWlnaHQgZm9yIGJvbGQgdHlwb2dyYXBoeVxuLy9cblxuJG5oc3VrLWZvbnQtYm9sZDogNjAwICFkZWZhdWx0O1xuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICNUT09MU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGltcG9ydCAnZXhwb3J0cyc7XG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuQGltcG9ydCAnc2hhcGUtYXJyb3cnO1xuQGltcG9ydCAnc3BhY2luZyc7XG5AaW1wb3J0ICdzYXNzLW1xJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuQGltcG9ydCAnbGlua3MnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ2lmZmYnO1xuQGltcG9ydCAnZ3JpZCc7XG5AaW1wb3J0ICdmb2N1c2VkJztcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUT09MUyAvICNFWFBPUlRTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gRXhwb3J0cyBhcmUgdXNlZCB0byBlbnN1cmUgdGhhdCB0aGUgbW9kdWxlcyBvZiBDU1Mgd2UgZGVmaW5lIHRocm91Z2hvdXQgRnJvbnRlbmRcbi8vIGFyZSBvbmx5IGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgQ1NTIG9uY2UsIG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB0aGV5XG4vLyBhcmUgaW5jbHVkZWQgZS5nLiBieSBpbmRpdmlkdWFsIGNvbXBvbmVudHMuXG4vL1xuLy9cbi8vIDEuIExpc3Qgb2YgbW9kdWxlcyB3aGljaCBoYXZlIGFscmVhZHkgYmVlbiBleHBvcnRlZFxuLy8gMi4gSWYgdGhlIG1peGluIGlzIG5vdCBpbiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFscmVhZHkgZXhwb3J0ZWQuLi5cbi8vIDMuIHRoZW4gYWRkIGl0IHRvIHRoZSBsaXN0XG4vLyA0LiAuLi4gYW5kIG91dHB1dCB0aGUgQ1NTIGZvciB0aGF0IG1vZHVsZVxuLy8gNS4gVGhlIG5leHQgdGltZSBleHBvcnRzIGlzIGNhbGxlZCBmb3IgdGhlIG1vZHVsZSBvZiB0aGUgc2FtZSBuYW1lLFxuLy8gICAgaXQgd2lsbCBiZSBmb3VuZCBpbiB0aGUgbGlzdCBhbmQgc28gbm90aGluZyB3aWxsIGJlIG91dHB1dHRlZC5cbi8vXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZFxuLy9cblxuJGltcG9ydGVkLW1vZHVsZXM6ICgpICFkZWZhdWx0OyAvLyBbMV0gLy9cblxuQG1peGluIGdvdnVrLWV4cG9ydHMoJG5hbWUsICR3YXJuOiB0cnVlKSB7XG4gIEBpZiAoaW5kZXgoJGltcG9ydGVkLW1vZHVsZXMsICRuYW1lKSA9PSBudWxsKSB7IC8vIFsyXSAvL1xuICAgICRpbXBvcnRlZC1tb2R1bGVzOiBhcHBlbmQoJGltcG9ydGVkLW1vZHVsZXMsICRuYW1lKSAhZ2xvYmFsOyAvLyBbM10gLy9cbiAgICBAY29udGVudDsgLy8gWzRdIC8vXG4gIH0gLy8gWzVdIC8vXG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVE9PTFMgLyAjRlVOQ1RJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBDb252ZXJ0IHBpeGVscyB0byBlbVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEEgcXVpY2sgd2F5IHRvIGNvbnZlcnQgcHggaW50byBlbVxuLy8gVXNhZ2U6IG5oc3VrLWVtKDIwcHgsICRuaHN1ay1iYXNlLWZvbnQtc2l6ZSk7XG4vL1xuLy8gT3JpZ2luYWwgY29kZSB0YWtlbiBmcm9tIEdEUyAoR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2UpXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmRcbi8vXG5cbkBmdW5jdGlvbiBuaHN1ay1lbSgkdmFsdWUsICRjb250ZXh0LWZvbnQtc2l6ZSkge1xuICBAaWYgKHVuaXRsZXNzKCR2YWx1ZSkpIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAqIDFweDtcbiAgfVxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0LWZvbnQtc2l6ZSkpIHtcbiAgICAkY29udGV4dC1mb250LXNpemU6ICRjb250ZXh0LWZvbnQtc2l6ZSAqIDFweDtcbiAgfVxuICBAcmV0dXJuICR2YWx1ZSAvICRjb250ZXh0LWZvbnQtc2l6ZSAqIDFlbTtcbn1cblxuLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQSBxdWljayB3YXkgdG8gY29udmVydCBweCBpbnRvIHJlbVxuLy8gVXNhZ2U6IG5oc3VrLXB4LXRvLXJlbSgyMHB4KTtcbi8vXG4vLyBUaGUgJG5oc3VrLWJhc2UtZm9udC1zaXplIChkZWZpbmVkIGluIHNldHRpbmdzL19nbG9iYWxzLnNjc3MpXG4vLyBtdXN0IGJlIGNvbmZpZ3VyZWQgdG8gbWF0Y2ggdGhlIGZvbnQtc2l6ZSBvZiB5b3VyIHJvb3QgKGh0bWwpIGVsZW1lbnRcbi8vXG5cbkBmdW5jdGlvbiBuaHN1ay1weC10by1yZW0oJHZhbHVlKSB7XG4gIEBpZiAodW5pdGxlc3MoJHZhbHVlKSkge1xuICAgICR2YWx1ZTogJHZhbHVlICogMXB4O1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgLyAkbmhzdWstYmFzZS1mb250LXNpemUgKiAxcmVtO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRPT0xTIC8gI1NIQVBFLUFSUk9XXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gT3JpZ2luYWwgY29kZSB0YWtlbiBmcm9tIEdEUyAoR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2UpXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmRcbi8vXG4vLyBDYWxjdWxhdGUgdGhlIGhlaWdodCBvZiBhbiBlcXVpbGF0ZXJhbCB0cmlhbmdsZVxuLy8gTXVsdGlwbHlpbmcgaGFsZiB0aGUgbGVuZ3RoIG9mIHRoZSBiYXNlIG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlIGJ5IHRoZVxuLy8gc3F1YXJlIHJvb3Qgb2YgdGhyZWUgZ2l2ZXMgdXMgaXRzIGhlaWdodC4gV2UgdXNlIDEuNzMyIGFzIGFuIGFwcHJveGltYXRpb24uXG4vL1xuLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gTGVuZ3RoIG9mIHRoZSBiYXNlIG9mIHRoZSB0cmlhbmdsZVxuLy8gQHJldHVybiB7TnVtYmVyfSBDYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgdHJpYW5nbGVcbi8vXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIHByb3BlcnR5LXNvcnQtb3JkZXIsIHF1b3Rlcywgc2hvcnRoYW5kLXZhbHVlc1xuXG5AZnVuY3Rpb24gX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSkge1xuICAkc3F1YXJlLXJvb3Qtb2YtdGhyZWU6IDEuNzMyO1xuXG4gIEByZXR1cm4gKCRiYXNlIC8gMikgKiAkc3F1YXJlLXJvb3Qtb2YtdGhyZWU7XG59XG5cbi8vXG4vLyBBcnJvdyBtaXhpblxuLy9cbi8vIEdlbmVyYXRlIEFycm93cyAodHJpYW5nbGVzKSBieSB1c2luZyBhIG1peCBvZiB0cmFuc3BhcmVudCAoMSkgYW5kIGNvbG91cmVkXG4vLyBib3JkZXJzLiBUaGUgY29sb3VyZWQgYm9yZGVycyBpbmhlcml0IHRoZSB0ZXh0IGNvbG91ciBvZiB0aGUgZWxlbWVudCAoMikuXG4vL1xuLy8gRW5zdXJlIHRoZSBhcnJvdyBpcyByZW5kZXJlZCBjb3JyZWN0bHkgaWYgYnJvd3NlciBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGJ5XG4vLyBwcm92aWRpbmcgYSBjbGlwIHBhdGggKDMpLiBXaXRob3V0IHRoaXMgdGhlIHRyYW5zcGFyZW50IGJvcmRlcnMgYXJlXG4vLyBvdmVycmlkZGVuIHRvIGJlY29tZSB2aXNpYmxlIHdoaWNoIHJlc3VsdHMgaW4gYSBzcXVhcmUuXG4vL1xuLy8gV2UgbmVlZCBib3RoIGJlY2F1c2Ugb2xkZXIgYnJvd3NlcnMgZG8gbm90IHN1cHBvcnQgY2xpcC1wYXRoLlxuLy9cbi8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIC0gRGlyZWN0aW9uIGZvciBhcnJvdzogdXAsIHJpZ2h0LCBkb3duLCBsZWZ0LlxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gTGVuZ3RoIG9mIHRoZSB0cmlhbmdsZSAnYmFzZScgc2lkZVxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgW251bGxdIC0gSGVpZ2h0IG9mIHRyaWFuZ2xlLiBPbWl0IGZvciBlcXVpbGF0ZXJhbC5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdIC0gQ1NTIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGFycm93XG4vL1xuXG5AbWl4aW4gZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbiwgJGJhc2UsICRoZWlnaHQ6IG51bGwsICRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcblxuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIDFcblxuICAkcGVycGVuZGljdWxhcjogJGJhc2UgLyAyO1xuXG4gIEBpZiAoJGhlaWdodCA9PSBudWxsKSB7XG4gICAgJGhlaWdodDogX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSk7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBcInVwXCIge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogMCAkcGVycGVuZGljdWxhciAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDUwJSwgMCUgMTAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJHBlcnBlbmRpY3VsYXIgMCAkcGVycGVuZGljdWxhciAkaGVpZ2h0O1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd25cIiB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkcGVycGVuZGljdWxhciAwICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDEwMCUsIDEwMCUgMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyICRoZWlnaHQgJHBlcnBlbmRpY3VsYXIgMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBhcnJvdyBkaXJlY3Rpb246IGV4cGVjdGVkIGB1cGAsIGByaWdodGAsIGBkb3duYCBvciBgbGVmdGAsIGdvdCBgI3skZGlyZWN0aW9ufWBcIjtcbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRPT0xTIC0gI1NQQUNJTkdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFNpbmdsZSBwb2ludCBzcGFjaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmV0dXJucyBtZWFzdXJlbWVudCBjb3JyZXNwb25kaW5nIHRvIHRoZSBzcGFjaW5nIHBvaW50IHJlcXVlc3RlZC5cbi8vXG4vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgc3BhY2luZyBzY2FsZSAoc2V0IGluIGBzZXR0aW5ncy9fc3BhY2luZy5zY2NzYClcbi8vXG4vLyBAcmV0dXJucyB7U3RyaW5nfSBTcGFjaW5nIE1lYXN1cmVtZW50IGVnLiA4cHhcbi8vXG4vLyBAZXhhbXBsZSBzY3NzXG4vLyAgLmZvbyB7XG4vLyAgICBwYWRkaW5nOiBuaHN1ay1zcGFjaW5nKDUpO1xuLy8gICAgdG9wOiBuaHN1ay1zcGFjaW5nKDIpICFpbXBvcnRhbnQ7IC8vIGlmIGAhaW1wb3J0YW50YCBpcyByZXF1aXJlZFxuLy8gICB9XG4vL1xuLy8gT3JpZ2luYWwgY29kZSB0YWtlbiBmcm9tIEdEUyAoR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2UpXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmRcbi8vXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWltcG9ydGFudFxuXG5AZnVuY3Rpb24gbmhzdWstc3BhY2luZygkc3BhY2luZy1wb2ludCkge1xuXG4gICRhY3R1YWwtaW5wdXQtdHlwZTogdHlwZS1vZigkc3BhY2luZy1wb2ludCk7XG4gIEBpZiAkYWN0dWFsLWlucHV0LXR5cGUgIT0gJ251bWJlcicge1xuICAgIEBlcnJvciAnRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgJ1xuICAgICsgJyN7JGFjdHVhbC1pbnB1dC10eXBlfS4nO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbmhzdWstc3BhY2luZy1wb2ludHMsICRzcGFjaW5nLXBvaW50KSB7XG4gICAgQGVycm9yICdVbmtub3duIHNwYWNpbmcgdmFyaWFibGUgYCN7JHNwYWNpbmctcG9pbnR9YC4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBwb2ludCBmcm9tIHRoZSBzcGFjaW5nIHNjYWxlIGluIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYC4nO1xuICB9XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRuaHN1ay1zcGFjaW5nLXBvaW50cywgJHNwYWNpbmctcG9pbnQpO1xufVxuXG4vLyBSZXNwb25zaXZlIHNwYWNpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRzIHJlc3BvbnNpdmUgc3BhY2luZyAoZWl0aGVyIHBhZGRpbmcgb3IgbWFyZ2luLCBkZXBlbmRpbmcgb24gYCRwcm9wZXJ0eWApXG4vLyBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzXG4vLyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50IGJyZWFrcG9pbnRzLlxuLy9cbi8vIFRvIGdlbmVyYXRlIHJlc3BvbnNpdmUgc3BhY2luZywgdXNlICduaHN1ay1yZXNwb25zaXZlLW1hcmdpbicgb3Jcbi8vICduaHN1ay1yZXNwb25zaXZlLXBhZGRpbmcnIG1peGluc1xuLy9cbi8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8gIHNjYWxlLCBjb3JyZXNwb25kcyB0byBhIG1hcCBvZiBicmVha3BvaW50cyBhbmQgc3BhY2luZyB2YWx1ZXNcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLyAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmcgYnlcbi8vXG4vLyBAZXhhbXBsZSBzY3NzXG4vLyAgLmZvbyB7XG4vLyAgICBwYWRkaW5nOiBuaHN1ay1zcGFjaW5nKDUpO1xuLy8gICAgdG9wOiBuaHN1ay1zcGFjaW5nKDIpICFpbXBvcnRhbnQ7IC8vIGlmIGAhaW1wb3J0YW50YCBpcyByZXF1aXJlZFxuLy8gICB9XG4vL1xuLy8gMS4gTWFrZSBzdXJlIHRoYXQgdGhlIHJldHVybiB2YWx1ZSBmcm9tIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYCBpcyBhIG1hcC5cbi8vIDIuIExvb3AgdGhyb3VnaCBlYWNoIGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuLy8gMy4gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvciBtb2JpbGUuXG4vL1xuLy8gT3JpZ2luYWwgY29kZSB0YWtlbiBmcm9tIEdEUyAoR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2UpXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmRcbi8vXG5cbkBtaXhpbiBfbmhzdWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbjogJ2FsbCcsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcblxuICAkYWN0dWFsLWlucHV0LXR5cGU6IHR5cGUtb2YoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCk7XG4gIEBpZiAkYWN0dWFsLWlucHV0LXR5cGUgIT0gJ251bWJlcicge1xuICAgIEBlcnJvciAnRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgJyArICcjeyRhY3R1YWwtaW5wdXQtdHlwZX0uJztcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJG5oc3VrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSwgJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCkge1xuICAgIEBlcnJvciAnVW5rbm93biBzcGFjaW5nIHBvaW50IGAjeyRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnR9YC4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBwb2ludCBmcm9tIHRoZSAnXG4gICAgKyAncmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlIGluIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYC4nO1xuICB9XG5cbiAgJHNjYWxlLW1hcDogbWFwLWdldCgkbmhzdWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlLCAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KTsgLy8gWzFdIC8vXG4gICRhY3R1YWwtbWFwLXR5cGU6IHR5cGUtb2YoJHNjYWxlLW1hcCk7XG4gIEBpZiAkYWN0dWFsLW1hcC10eXBlICE9ICdtYXAnIHtcbiAgICBAZXJyb3IgJ0V4cGVjdGVkIGEgbnVtYmVyIChpbnRlZ2VyKSwgYnV0IGdvdCBhICdcbiAgICArICcjeyRhY3R1YWwtbWFwLXR5cGV9LiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIG1hcCB0byBzZXQgdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2ApJztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC12YWx1ZSBpbiAkc2NhbGUtbWFwIHsgLy8gWzJdIC8vXG5cbiAgICBAaWYgKCRhZGp1c3RtZW50KSB7XG4gICAgICAkYnJlYWtwb2ludC12YWx1ZTogJGJyZWFrcG9pbnQtdmFsdWUgKyAkYWRqdXN0bWVudDtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCB7IC8vIFszXSAvL1xuXG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAjeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufTogJGJyZWFrcG9pbnQtdmFsdWUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRicmVha3BvaW50KSB7XG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG4gICAgICAgICAgI3skcHJvcGVydHl9OiAkYnJlYWtwb2ludC12YWx1ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkYnJlYWtwb2ludC12YWx1ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBtYXJnaW5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRzIHJlc3BvbnNpdmUgbWFyZ2luIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlXG4vLyBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzIGRpZmZlcmVudCBzcGFjaW5nIHZhbHVlcyBhdCBkaWZmZXJlbnRcbi8vIGJyZWFrcG9pbnRzLiBXcmFwcGVyIGZvciB0aGUgYF9uaHN1ay1yZXNwb25zaXZlLXNwYWNpbmdgIG1peGluLlxuLy9cbi8vIEBzZWUge21peGlufSBfbmhzdWstcmVzcG9uc2l2ZS1zcGFjaW5nXG4vL1xuLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLyBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy9cbi8vIEBleGFtcGxlIHNjc3Ncbi8vICAgLmZvbyB7XG4vLyAgICAgIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luKDYsICdsZWZ0JywgJGFkanVzdG1lbnQ6IDFweCk7XG4vLyAgIH1cbi8vXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZFxuLy9cblxuQG1peGluIG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246ICdhbGwnLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIF9uaHN1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJ21hcmdpbicsICRkaXJlY3Rpb24sICRpbXBvcnRhbnQsICRhZGp1c3RtZW50KTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBwYWRkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcyByZXNwb25zaXZlIHBhZGRpbmcgYnkgZmV0Y2hpbmcgYSAnc3BhY2luZyBtYXAnIGZyb20gdGhlIHJlc3BvbnNpdmVcbi8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxuLy8gYnJlYWtwb2ludHMuIFdyYXBwZXIgZm9yIHRoZSBgX25oc3VrLXJlc3BvbnNpdmUtc3BhY2luZ2AgbWl4aW4uXG4vL1xuLy8gQHNlZSB7bWl4aW59IF9uaHN1ay1yZXNwb25zaXZlLXNwYWNpbmdcbi8vXG4vLyBAcGFyYW0ge051bWJlcn0gJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSByZXNwb25zaXZlIHNwYWNpbmdcbi8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmdcbi8vXG4vLyBAZXhhbXBsZSBzY3NzXG4vLyAgIC5mb28ge1xuLy8gICAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLXBhZGRpbmcoNiwgJ2xlZnQnLCAkYWRqdXN0bWVudDogMXB4KTtcbi8vICAgfVxuLy9cbi8vIE9yaWdpbmFsIGNvZGUgdGFrZW4gZnJvbSBHRFMgKEdvdmVybm1lbnQgRGlnaXRhbCBTZXJ2aWNlKVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kXG4vL1xuXG5AbWl4aW4gbmhzdWstcmVzcG9uc2l2ZS1wYWRkaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246ICdhbGwnLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIF9uaHN1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJ3BhZGRpbmcnLCAkZGlyZWN0aW9uLCAkaW1wb3J0YW50LCAkYWRqdXN0bWVudCk7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVE9PTFMgLyAjU0FTUy1NUVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFdlIHVzZSBzYXNzLW1xIG1vZHVsZSBmb3IgbWVkaWEgcXVlcmllc1xuLy9cbi8vIDEuIEltcG9ydCBzYXNzLW1xIGZyb20gb3VyIHZlbmRvciBkZXBlbmRlbmNpZXMgZm9sZGVyIG9wcG9zZWQgdG8gbm9kZV9tb2R1bGVzXG4vLyBpbiBjYXNlIG5vZGVfbW9kdWxlcyBpcyBub3QgaW5zdGFsbGVkIGluIHRoZSBmb2xkZXIgcmVsYXRpdmUgdG8gdGhlIHJvb3QgZm9sZGVyXG4vL1xuXG4kc2Fzcy1tcS1hbHJlYWR5LWluY2x1ZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmICRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQge1xuICAkbXEtc2hvdy1icmVha3BvaW50czogKCk7XG59XG5cbkBpbXBvcnQgJy4uL3ZlbmRvci9zYXNzLW1xJzsgLy8gWzFdIC8vXG5cbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IHRydWU7XG5cbi8vXG4vLyBzYXNzLW1xIGhlbHBlcnNcbi8vXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZFxuLy9cblxuQG1peGluIGdvdnVrLW1lZGlhLXF1ZXJ5KCRhcmdzLi4uKSB7XG4gIEBpbmNsdWRlIG1xKCRhcmdzLi4uKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH07XG59XG4iLCIvLyBtcSgpIHY0LjAuMlxuLy8gc2Fzcy1tcS9zYXNzLW1xXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AY2hhcnNldCBcIlVURi04XCI7IC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIFJ1YnkgbG9jYWxlIGlzIG5vdCBzZXQgcHJvcGVybHlcbiAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL3B1bGwvMTBcblxuLy8vIEJhc2UgZm9udCBzaXplIG9uIHRoZSBgPGJvZHk+YCBlbGVtZW50XG4vLy8gQHR5cGUgTnVtYmVyICh1bml0KVxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSBtb2RlXG4vLy9cbi8vLyBTZXQgdG8gYGZhbHNlYCB0byBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KVxuLy8vXG4vLy8gWW91IGNvdWxkIGNyZWF0ZSBhIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIG9sZGVyIGJyb3dzZXJzLFxuLy8vIHdoZXJlIEBtZWRpYSBxdWVyaWVzIGFyZSByYXN0ZXJpemVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIG9sZC1pZS5zY3NzXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9mZiBEaXNhYmxlZCByZXNwb25zaXZlIG1vZGUgZG9jdW1lbnRhdGlvblxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGxpc3Rcbi8vL1xuLy8vIE5hbWUgeW91ciBicmVha3BvaW50cyBpbiBhIHdheSB0aGF0IGNyZWF0ZXMgYSB1YmlxdWl0b3VzIGxhbmd1YWdlXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgbW9iaWxlOiAgMzIwcHgsXG4gICAgdGFibGV0OiAgNzQwcHgsXG4gICAgZGVza3RvcDogOTgwcHgsXG4gICAgd2lkZTogICAgMTMwMHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGljIGJyZWFrcG9pbnQgKGZvciBmaXhlZC13aWR0aCBsYXlvdXRzKVxuLy8vXG4vLy8gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gJG1xLWJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkXG4vLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIGZvciB0aGUgZml4ZWQtd2lkdGggbGF5b3V0XG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXG4vLy8gIC8vXG4vLy8gIC8vIElnbm9yZSBhbGwgc3R5bGVzIGFib3ZlIHRhYmxldCBicmVha3BvaW50LFxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKGUuZy4gbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICAkbXEtc3RhdGljLWJyZWFrcG9pbnQ6IHRhYmxldDtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gdGFibGV0XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNhZGRpbmctY3VzdG9tLWJyZWFrcG9pbnRzIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcblxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vL1xuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGgsIGUuZy4gKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cbi8vL1xuLy8vIEB0eXBlIG1hcFxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChlLmcuIGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDigKZgKVxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNjaGFuZ2luZy1tZWRpYS10eXBlIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1tZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSAoJG1xLWJhc2UtZm9udC1zaXplKSAtIGA8Ym9keT5gIGZvbnQgc2l6ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkZm9udC1zaXplLWluLWVtczogbXEtcHgyZW0oMTZweCk7XG4vLy8gIHAgeyBmb250LXNpemU6IG1xLXB4MmVtKDE2cHgpOyB9XG4vLy9cbi8vLyBAcmVxdWlyZXMgJG1xLWJhc2UtZm9udC1zaXplXG4vLy8gQHJldHVybnMge051bWJlcn1cbkBmdW5jdGlvbiBtcS1weDJlbSgkcHgsICRiYXNlLWZvbnQtc2l6ZTogJG1xLWJhc2UtZm9udC1zaXplKSB7XG4gICAgQGlmIHVuaXRsZXNzKCRweCkge1xuICAgICAgICBAd2FybiBcIkFzc3VtaW5nICN7JHB4fSB0byBiZSBpbiBwaXhlbHMsIGF0dGVtcHRpbmcgdG8gY29udmVydCBpdCBpbnRvIHBpeGVscy5cIjtcbiAgICAgICAgQHJldHVybiBtcS1weDJlbSgkcHggKiAxcHgsICRiYXNlLWZvbnQtc2l6ZSk7XG4gICAgfSBAZWxzZSBpZiB1bml0KCRweCkgPT0gZW0ge1xuICAgICAgICBAcmV0dXJuICRweDtcbiAgICB9XG4gICAgQHJldHVybiAoJHB4IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcbn1cblxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkdGFibGV0LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoZGVza3RvcCkpIHt9XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFZhbHVlIGluIHBpeGVsc1xuQGZ1bmN0aW9uIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHdhcm4gXCJCcmVha3BvaW50ICN7JG5hbWV9IHdhc24ndCBmb3VuZCBpbiAkYnJlYWtwb2ludHMuXCI7XG4gICAgfVxufVxuXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCAoZmFsc2UpIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlICgkbXEtbWVkaWEtdHlwZSkgLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXG4vLy9cbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cylcbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgKCRtcS1zdGF0aWMtYnJlYWtwb2ludClcbi8vL1xuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1tZWRpYS10eXBlXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXN0YXRpYy1icmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtcHgyZW1cbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1nZXQtYnJlYWtwb2ludC13aWR0aFxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGJsdWU7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKG1vYmlsZSwgdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogZ3JlZW47XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4vLy8gICAgICBjb2xvcjogdGVhbDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoOTUwcHgpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xuLy8vICAgIEBpbmNsdWRlIG1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzLCAkc3RhdGljLWJyZWFrcG9pbnQ6IEwpIHtcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xuLy8vICAgIH1cbi8vLyAgfVxuQG1peGluIG1xKFxuICAgICRmcm9tOiBmYWxzZSxcbiAgICAkdW50aWw6IGZhbHNlLFxuICAgICRhbmQ6IGZhbHNlLFxuICAgICRtZWRpYS10eXBlOiAkbXEtbWVkaWEtdHlwZSxcbiAgICAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cyxcbiAgICAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsXG4gICAgJHN0YXRpYy1icmVha3BvaW50OiAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbikge1xuICAgICRtaW4td2lkdGg6IDA7XG4gICAgJG1heC13aWR0aDogMDtcbiAgICAkbWVkaWEtcXVlcnk6ICcnO1xuXG4gICAgLy8gRnJvbTogdGhpcyBicmVha3BvaW50IChpbmNsdXNpdmUpXG4gICAgQGlmICRmcm9tIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbSgkZnJvbSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW50aWw6IHRoYXQgYnJlYWtwb2ludCAoZXhjbHVzaXZlKVxuICAgIEBpZiAkdW50aWwge1xuICAgICAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbSgkdW50aWwpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAuMDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBkaXNhYmxlZCwgcmFzdGVyaXplIHRoZSBvdXRwdXQgb3V0c2lkZSBAbWVkaWEgYmxvY2tzXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cbiAgICBAaWYgJHJlc3BvbnNpdmUgPT0gZmFsc2Uge1xuICAgICAgICAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzdGF0aWMtYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgJHRhcmdldC13aWR0aDogbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcblxuICAgICAgICAvLyBPdXRwdXQgb25seSBydWxlcyB0aGF0IHN0YXJ0IGF0IG9yIHNwYW4gb3VyIHRhcmdldCB3aWR0aFxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgJGFuZCA9PSBmYWxzZVxuICAgICAgICAgICAgYW5kICRtaW4td2lkdGggPD0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgYW5kIChcbiAgICAgICAgICAgICAgICAkdW50aWwgPT0gZmFsc2Ugb3IgJG1heC13aWR0aCA+PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBhbmQgJG1lZGlhLXR5cGUgIT0gJ3ByaW50J1xuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gUXVpY2sgc29ydFxuLy8vXG4vLy8gQGF1dGhvciBTYW0gUmljaGFyZHNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzb3J0XG4vLy8gQHJldHVybnMge0xpc3R9IFNvcnRlZCBMaXN0XG5AZnVuY3Rpb24gX21xLXF1aWNrLXNvcnQoJGxpc3QpIHtcbiAgICAkbGVzczogICgpO1xuICAgICRlcXVhbDogKCk7XG4gICAgJGxhcmdlOiAoKTtcblxuICAgIEBpZiBsZW5ndGgoJGxpc3QpID4gMSB7XG4gICAgICAgICRzZWVkOiBudGgoJGxpc3QsIGNlaWwobGVuZ3RoKCRsaXN0KSAvIDIpKTtcblxuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgICAgICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGVxdWFsOiBhcHBlbmQoJGVxdWFsLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxlc3M6IGFwcGVuZCgkbGVzcywgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPiAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsYXJnZTogYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQHJldHVybiBqb2luKGpvaW4oX21xLXF1aWNrLXNvcnQoJGxlc3MpLCAkZXF1YWwpLCBfbXEtcXVpY2stc29ydCgkbGFyZ2UpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtNYXB9IE1hcCBzb3J0ZWQgYnkgdmFsdWVcbkBmdW5jdGlvbiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xuICAgICRtYXAtc29ydGVkOiAoKTtcbiAgICAkbWFwLWtleXM6IG1hcC1rZXlzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRtYXAtdmFsdWVzLXNvcnRlZDogX21xLXF1aWNrLXNvcnQoJG1hcC12YWx1ZXMpO1xuXG4gICAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xuICAgICAgICAkaW5kZXg6IGluZGV4KCRtYXAtdmFsdWVzLCAkdmFsdWUpO1xuICAgICAgICAka2V5OiBudGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xuICAgICAgICAkbWFwLXNvcnRlZDogbWFwLW1lcmdlKCRtYXAtc29ydGVkLCAoJGtleTogJHZhbHVlKSk7XG5cbiAgICAgICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcbiAgICAgICAgLy8gZnJvbSBmaW5kaW5nIHRoZSBzYW1lIGluZGV4IHR3aWNlXG4gICAgICAgICRtYXAtdmFsdWVzOiBzZXQtbnRoKCRtYXAtdmFsdWVzLCAkaW5kZXgsIDApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG1hcC1zb3J0ZWQ7XG59XG5cbi8vLyBBZGQgYSBicmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBicmVha3BvaW50XG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XG4vLy8gIEBpbmNsdWRlIG1xKHR2c2NyZWVuKSB7fVxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcbiAgICAkbXEtYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkbXEtYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcbiAgICAkbXEtYnJlYWtwb2ludHM6IF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbXEtYnJlYWtwb2ludHMpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG5cbi8vIHNhc3MtbGludDplbmFibGUtYWxsXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVE9PTFMgLyAjVFlQT0dSQVBIWVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFRoZXNlIG1peGlucyBhbGxvdyB1cyB0byBxdWlja2x5IGFuZCBjb25zaXN0ZW50bHkgZ2VuZXJhdGUgY29tbW9uIHRleHRcbi8vIHBhdHRlcm5zIHN1Y2ggYXMgY29sb3VycyBhbmQgZm9udC13ZWlnaHRcbi8vXG5cbi8vIFRleHQgY29sb3VyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gU2V0cyB0aGUgdGV4dCBjb2xvdXIsIGluY2x1ZGluZyBhIHN1aXRhYmxlIG92ZXJyaWRlIGZvciBwcmludC5cbi8vXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZFxuLy9cblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8taW1wb3J0YW50LCBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuXG5AbWl4aW4gbmhzdWstdGV4dC1jb2xvciB7XG4gIGNvbG9yOiAkbmhzdWstdGV4dC1jb2xvcjtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICBjb2xvcjogJG5oc3VrLXByaW50LXRleHQtY29sb3I7XG4gIH1cbn1cblxuLy8gTm9ybWFsIGZvbnQgd2VpZ2h0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vL1xuXG5AbWl4aW4gbmhzdWstdHlwb2dyYXBoeS13ZWlnaHQtbm9ybWFsKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtd2VpZ2h0OiAkbmhzdWstZm9udC1ub3JtYWwgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xufVxuXG4vLyBCb2xkIGZvbnQgd2VpZ2h0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vL1xuXG5AbWl4aW4gbmhzdWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiBmYWxzZSkge1xuICBmb250LXdlaWdodDogJG5oc3VrLWZvbnQtYm9sZCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG59XG5cbi8vIExpbmUgaGVpZ2h0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQ29udmVydCBsaW5lLWhlaWdodHMgc3BlY2lmaWVkIGluIHBpeGVscyBpbnRvIGEgcmVsYXRpdmUgdmFsdWUsIHVubGVzc1xuLy8gdGhleSBhcmUgYWxyZWFkeSB1bml0LWxlc3MgKGFuZCB0aHVzIGFscmVhZHkgdHJlYXRlZCBhcyByZWxhdGl2ZSB2YWx1ZXMpXG4vLyBvciB0aGUgdW5pdHMgZG8gbm90IG1hdGNoIHRoZSB1bml0cyB1c2VkIGZvciB0aGUgZm9udCBzaXplLlxuLy9cbi8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgTGluZSBoZWlnaHRcbi8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIEZvbnQgc2l6ZVxuLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgbGluZSBoZWlnaHQgYXMgZWl0aGVyIGEgcmVsYXRpdmUgdmFsdWUgb3IgdW5tb2RpZmllZFxuLy9cblxuQGZ1bmN0aW9uIF9uaHN1ay1saW5lLWhlaWdodCgkbGluZS1oZWlnaHQsICRmb250LXNpemUpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkbGluZS1oZWlnaHQpIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gdW5pdCgkZm9udC1zaXplKSB7XG4gICAgJGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplO1xuICB9XG5cbiAgQHJldHVybiAkbGluZS1oZWlnaHQ7XG59XG5cbi8vIFJlc3BvbnNpdmUgdHlwb2dyYXBoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFRha2VzIGEgJ2ZvbnQgbWFwJyBhcyBhbiBhcmd1bWVudCBhbmQgdXNlcyBpdCB0byBjcmVhdGUgZm9udC1zaXplIGFuZFxuLy8gbGluZS1oZWlnaHQgZGVjbGFyYXRpb25zIGZvciBkaWZmZXJlbnQgYnJlYWtwb2ludHMsIGFuZCBmb3IgcHJpbnQuXG4vL1xuLy8gRXhhbXBsZSBmb250IG1hcDpcbi8vXG4vLyAkbXktZm9udC1tYXA6IChcbi8vICAgbnVsbDogKFxuLy8gICAgIGZvbnQtc2l6ZTogMTZweCxcbi8vICAgICBsaW5lLWhlaWdodDogMjBweFxuLy8gICApLFxuLy8gICB0YWJsZXQ6IChcbi8vICAgICBmb250LXNpemU6IDE5cHgsXG4vLyAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbi8vICAgKSxcbi8vICAgcHJpbnQ6IChcbi8vICAgICBmb250LXNpemU6IDE0cHQsXG4vLyAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbi8vICAgKVxuLy8gKTtcXFxuLy9cbi8vIEBleGFtcGxlIHNjc3Ncbi8vICAuZm9vIHtcbi8vICAgIEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxOSk7XG4vLyAgIH1cbi8vXG4vLyAgLmZvbyB7XG4vLyAgICBAaW5jbHVkZSBuaHN1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMzIsICRpbXBvcnRhbnQ6IHRydWUpO1xuLy8gICB9XG4vL1xuLy8gQHBhcmFtIHtNYXB9ICRmb250LW1hcCAtIEZvbnQgbWFwXG4vLyBAcGFyYW0ge051bWJlcn0gJG92ZXJyaWRlLWxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBOb24gcmVzcG9uc2l2ZSBjdXN0b20gbGluZVxuLy8gICBoZWlnaHQuIE9taXQgdG8gdXNlIHRoZSBsaW5lIGhlaWdodCBmcm9tIHRoZSBmb250IG1hcC5cbi8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8gICBgIWltcG9ydGFudGAuXG4vL1xuLy8gMS4gTWFyayBydWxlcyBhcyAhaW1wb3J0YW50IGlmICRpbXBvcnRhbnQgaXMgdHJ1ZSAtIHRoaXMgd2lsbCByZXN1bHQgaW5cbi8vICAgIHRoZXNlIHZhcmlhYmxlcyBiZWNvbWluZyBzdHJpbmdzLCBzbyB0aGlzIG5lZWRzIHRvIGhhcHBlbi8vYWZ0ZXIqIHRoZXlcbi8vICAgIGFyZSB1c2VkIGluIGNhbGN1bGF0aW9uc1xuLy9cblxuQG1peGluIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0OiBmYWxzZSwgJGltcG9ydGFudDogZmFsc2UpIHtcblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRuaHN1ay10eXBvZ3JhcGh5LXNjYWxlLCAkc2l6ZSkge1xuICAgIEBlcnJvciAnVW5rbm93biBmb250IHNpemUgYCN7JHNpemV9YCAtIGV4cGVjdGVkIGEgcG9pbnQgZnJvbSB0aGUgdHlwb2dyYXBoeSBzY2FsZS4nO1xuICB9XG5cbiAgJGZvbnQtbWFwOiBtYXAtZ2V0KCRuaHN1ay10eXBvZ3JhcGh5LXNjYWxlLCAkc2l6ZSk7XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRicmVha3BvaW50LW1hcCBpbiAkZm9udC1tYXAge1xuICAgICRmb250LXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnQtbWFwLCAnZm9udC1zaXplJyk7XG4gICAgJGZvbnQtc2l6ZS1yZW06IG5oc3VrLXB4LXRvLXJlbSgkZm9udC1zaXplKTtcblxuICAgICRsaW5lLWhlaWdodDogX25oc3VrLWxpbmUtaGVpZ2h0KFxuICAgICAgJGxpbmUtaGVpZ2h0OiBpZigkb3ZlcnJpZGUtbGluZS1oZWlnaHQsXG4gICAgICAgICRvdmVycmlkZS1saW5lLWhlaWdodCxcbiAgICAgICAgbWFwLWdldCgkYnJlYWtwb2ludC1tYXAsICdsaW5lLWhlaWdodCcpXG4gICAgICApLFxuICAgICAgJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZVxuICAgICk7XG5cbiAgICAvLyBbMV0gLy9cbiAgICAkZm9udC1zaXplOiAkZm9udC1zaXplIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAkZm9udC1zaXplLXJlbTogJGZvbnQtc2l6ZS1yZW0gaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1yZW07XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIH0gQGVsc2UgaWYgJGJyZWFrcG9pbnQgPT0gJ3ByaW50JyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRicmVha3BvaW50KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRm9udFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEBleGFtcGxlIHNjc3Ncbi8vICAuZm9vIHtcbi8vICAgIEBpbmNsdWRlIG5oc3VrLWZvbnQoMTkpO1xuLy8gICB9XG4vL1xuLy8gIC5mb28ge1xuLy8gICAgQGluY2x1ZGUgbmhzdWstZm9udCgzMiwgJHdlaWdodDogYm9sZCk7XG4vLyAgIH1cbi8vXG4vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBTaXplIG9mIHRoZSBmb250IGFzIGl0IHdvdWxkIGFwcGVhciBvbiBkZXNrdG9wIC1cbi8vICAgdXNlcyB0aGUgcmVzcG9uc2l2ZSBmb250IHNpemUgbWFwXG4vLyBAcGFyYW0ge1N0cmluZ30gJHdlaWdodCBbbm9ybWFsXSAtIFdlaWdodDogYGJvbGRgIG9yIGBub3JtYWxgXG4vLyBAcGFyYW0ge051bWJlcn0gJGxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBMaW5lLWhlaWdodCwgaWYgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdFxuLy9cblxuQG1peGluIG5oc3VrLWZvbnQoJHNpemUsICR3ZWlnaHQ6IG5vcm1hbCwgJGxpbmUtaGVpZ2h0OiBmYWxzZSkge1xuXG4gIEBpZiAkd2VpZ2h0ID09IG5vcm1hbCB7XG4gICAgQGluY2x1ZGUgbmhzdWstdHlwb2dyYXBoeS13ZWlnaHQtbm9ybWFsO1xuICB9IEBlbHNlIGlmICR3ZWlnaHQgPT0gYm9sZCB7XG4gICAgQGluY2x1ZGUgbmhzdWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIEBpZiAkc2l6ZSB7XG4gICAgQGluY2x1ZGUgbmhzdWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCk7XG4gIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUT09MUyAvICNMSU5LU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIERlZmF1bHQgbGluayBzdHlsaW5nXG4vL1xuLy8gVXNhZ2U6IEBpbmNsdWRlIG5oc3VrLWxpbmstc3R5bGUtZGVmYXVsdDtcbi8vXG5cbkBtaXhpbiBuaHN1ay1saW5rLXN0eWxlLWRlZmF1bHQge1xuXG4gIGNvbG9yOiAkbmhzdWstbGluay1jb2xvcjtcblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkbmhzdWstbGluay12aXNpdGVkLWNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRuaHN1ay1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIG5oc3VrLWZvY3VzZWQtdGV4dCgpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAkbmhzdWstZm9jdXMtdGV4dC1jb2xvcjtcbiAgICB9XG5cbiAgICAubmhzdWstaWNvbiB7XG4gICAgICBmaWxsOiAkbmhzdWstZm9jdXMtdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRuaHN1ay1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgfVxuXG59XG5cbi8vXG4vLyBXaGl0ZSBsaW5rIHN0eWxpbmcsIHVzZWQgaW4gdGhlIGZvb3Rlci5cbi8vXG4vLyBVc2FnZTogQGluY2x1ZGUgbmhzdWstbGluay1zdHlsZS13aGl0ZTtcbi8vXG5cbkBtaXhpbiBuaHN1ay1saW5rLXN0eWxlLXdoaXRlIHtcblxuICBjb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRuaHN1ay1mb2N1cy10ZXh0LWNvbG9yO1xuICAgIG91dGxpbmU6ICRuaHN1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogJG5oc3VrLWZvY3VzLXdpZHRoO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJG5oc3VrLWxpbmstYWN0aXZlLWNvbG9yO1xuICB9XG5cbn1cblxuLy9cbi8vIERlZmF1bHQgbGluayBob3ZlciBvbmx5IHN0eWxpbmdcbi8vXG4vLyBVc2FnZTogQGluY2x1ZGUgbmhzdWstbGluay1zdHlsZS1ob3Zlcjtcbi8vXG5cbkBtaXhpbiBuaHN1ay1saW5rLXN0eWxlLWhvdmVyIHtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vLyBObyB2aXNpdGVkIHN0YXRlIGxpbmsgbWl4aW5cbi8vL1xuLy8vIFVzZWQgaW4gY2FzZXMgd2hlcmUgaXQgaXMgbm90IGhlbHBmdWwgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB2aXNpdGVkIGFuZFxuLy8vIG5vbi12aXNpdGVkIGxpbmtzLlxuLy8vXG4vLy8gRm9yIGV4YW1wbGUsIG5hdmlnYXRpb24gbGlua3MgdG8gcGFnZXMgd2l0aCBkeW5hbWljIGNvbnRlbnQgbGlrZSBhZG1pblxuLy8vIGRhc2hib2FyZHMuIFRoZSBjb250ZW50IG9uIHRoZSBwYWdlIGlzIGNoYW5naW5nIGFsbCB0aGUgdGltZSwgc28gdGhlIGZhY3Rcbi8vLyB0aGF0IHlvdeKAmXZlIHZpc2l0ZWQgaXQgYmVmb3JlIGlzIG5vdCBpbXBvcnRhbnQuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIG5oc3VrLWxpbmstc3R5bGUtZGVmYXVsdCBtaXhpbiBpbiBvcmRlciB0byBnZXQgdGhlIGZvY3VzIHN0YXRlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLm5oc3VrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIG5oc3VrLWxpbmstc3R5bGUtZGVmYXVsdDtcbi8vLyAgICAgQGluY2x1ZGUgbmhzdWstbGluay1zdHlsZS1uby12aXNpdGVkLXN0YXRlO1xuLy8vICAgfVxuLy8vXG5cbkBtaXhpbiBuaHN1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAmOmxpbmsge1xuICAgIGNvbG9yOiAkbmhzdWstbGluay1jb2xvcjtcbiAgfVxuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRuaHN1ay1saW5rLWNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRuaHN1ay1saW5rLWhvdmVyLWNvbG9yO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkbmhzdWstbGluay1hY3RpdmUtY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJG5oc3VrLWZvY3VzLXRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUT09MUyAvICNNSVhJTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBDbGVhcmZpeCBtaXhpblxuLy9cbi8vIFVzYWdlOiBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuLy8gU2VlIHV0aWxpdGllcy9jbGVhcmZpeFxuLy9cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vL1xuLy8gUmVhZGluZyB3aWR0aCBtaXhpbiwgYWRkIGEgbWF4aW11bSB3aWR0aFxuLy8gdG8gbGFyZ2UgcGllY2VzIG9mIGNvbnRlbnRcbi8vXG4vLyBVc2FnZTogQGluY2x1ZGUgcmVhZGluZy13aWR0aCgpO1xuLy8gU2VlIHV0aWxpdGllcy9yZWFkaW5nLXdpZHRoXG4vL1xuXG5AbWl4aW4gcmVhZGluZy13aWR0aCgpIHtcbiAgbWF4LXdpZHRoOiA0NGVtO1xufVxuXG4vL1xuLy8gVmlzdWFsbHkgaGlkZGVuIG1peGluLCB1c2VkIGZvciBoaWRpbmdcbi8vIGNvbnRlbnQgdmlzdWFsbHkgYnV0IGtlZXBpbmcgaXQgaW4gdGhlIERPTVxuLy9cbi8vIFVzYWdlOiBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbi8vIFNlZSB1dGlsaXRpZXMvdmlzdWFsbHktaGlkZGVuXG4vL1xuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuKCkge1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy9cbi8vIFZpc3VhbGx5IHNob3duIG1peGluLCB1c2VkIGZvciBkaXNwbGF5aW5nXG4vLyBjb250ZW50IHZpc3VhbGx5IHRoYXQgaGFzIHByZXZpb3VzbHkgYmVlbiBoaWRkZW5cbi8vIGJ5IHZpc3VhbGx5LWhpZGRlblxuLy8gRGlmZmVyZW5jZXMgYmV0d2VlbiBtb2JpbGUgYW5kIGRlc2t0b3Agdmlld3Ncbi8vIFVzZSAkZGlzcGxheS1wcm9wZXJ0eSB0byBhc3NpZ24gZGlzcGxheVxuLy9cbi8vIFVzYWdlOiBAaW5jbHVkZSB2aXN1YWxseS1zaG93bih0YWJsZS1oZWFkZXItZ3JvdXApO1xuLy9cblxuQG1peGluIHZpc3VhbGx5LXNob3duKCRkaXNwbGF5LXByb3BlcnR5KSB7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbml0aWFsO1xuICBjbGlwOiBhdXRvO1xuICBjbGlwLXBhdGg6IGluaXRpYWw7XG4gIGRpc3BsYXk6ICRkaXNwbGF5LXByb3BlcnR5O1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vL1xuLy8gVG9wIGFuZCBib3R0b20gbWFyZ2luIG1peGluLCByZW1vdmVcbi8vIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4gc3BhY2luZ1xuLy9cbi8vIFVzYWdlOiBAaW5jbHVkZSB0b3AtYW5kLWJvdHRvbSgpO1xuLy8gU2VlIHV0aWxpdGllcy90b3AtYW5kLWJvdHRvbVxuLy9cblxuQG1peGluIHRvcC1hbmQtYm90dG9tKCkge1xuICAmID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vXG4vLyBQYW5lbCBtaXhpblxuLy9cbi8vIFVzYWdlOiBAaW5jbHVkZSBwYW5lbC13aXRoLWxhYmVsKCRjb2xvcl9uaHN1ay1ibHVlLCAkY29sb3JfbmhzdWstd2hpdGUpO1xuLy8gU2VlIGNvbXBvbmVudHMvX3BhbmVsXG4vL1xuXG5AbWl4aW4gcGFuZWwoJHBhbmVsLWJhY2tncm91bmQtY29sb3IsICRwYW5lbC10ZXh0LWNvbG9yKSB7XG5cbiAgQGluY2x1ZGUgdG9wLWFuZC1ib3R0b20oKTtcbiAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oNywgJ2JvdHRvbScpO1xuICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLW1hcmdpbig3LCAndG9wJyk7XG4gIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtcGFkZGluZyg1KTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYmFja2dyb3VuZC1jb2xvcjtcbiAgY29sb3I6ICRwYW5lbC10ZXh0LWNvbG9yO1xuXG4gIEBpbmNsdWRlIG1xKCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRuaHN1ay1wcmludC10ZXh0LWNvbG9yO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG59XG5cbi8vXG4vLyBQYW5lbCB3aXRoIGxhYmVsIG1peGluLCBpbmhlcml0cyBwYW5lbCBzdHlsaW5nXG4vLyBhbmQgcmVtb3ZlcyBwYWRkaW5nIHRvcCBmb3IgdGhlIGxhYmVsIHBvc2l0aW9uaW5nLlxuLy9cbi8vIFVzZWQgaW4tY29uanVuY3Rpb24gd2l0aCBAbWl4aW4gaGVhZGluZy1sYWJlbFxuLy9cbi8vIFVzYWdlOiBAaW5jbHVkZSBwYW5lbC13aXRoLWxhYmVsKCRjb2xvcl9uaHN1ay1ibHVlLCAkY29sb3JfbmhzdWstd2hpdGUpO1xuLy8gU2VlIGNvbXBvbmVudHMvX3dhcm5pbmctY29tcG9uZW50XG4vL1xuXG5AbWl4aW4gcGFuZWwtd2l0aC1sYWJlbCgkcGFuZWwtYmFja2dyb3VuZC1jb2xvciwgJHBhbmVsLXRleHQtY29sb3IsICRwYW5lbC1ib3JkZXItY29sb3IpIHtcbiAgQGluY2x1ZGUgcGFuZWwoJHBhbmVsLWJhY2tncm91bmQtY29sb3IsICRwYW5lbC10ZXh0LWNvbG9yKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAkcGFuZWwtYm9yZGVyLWNvbG9yO1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbn1cblxuLy9cbi8vIEhlYWRpbmcgbGFiZWwgbWl4aW4sIGFkZHMgYSB0YWIgaGVhZGluZyB0b1xuLy8gd2FybmluZyBjYWxsb3V0LCBkbyBhbmQgZG9uJ3QgbGlzdHMgYW5kIHBhbmVsLlxuLy9cbi8vIFVzZWQgaW4tY29uanVuY3Rpb24gd2l0aCBAbWl4aW4gcGFuZWwtd2l0aC1sYWJlbFxuLy9cbi8vIFVzYWdlOiBAaW5jbHVkZSBoZWFkaW5nLWxhYmVsKCRjb2xvcl9uaHN1ay1ibHVlLCAkY29sb3JfbmhzdWstd2hpdGUpO1xuLy8gU2VlIGNvbXBvbmVudHMvX3dhcm5pbmctY29tcG9uZW50XG4vL1xuLy8gMS4gQmFja2dyb3VuZCBjb2xvdXIgdG8gYmUgc2V0IG9uIHRoZSBAaW5jbHVkZS5cbi8vIDIuIFRleHQgY29sb3VyIHRvIGJlIHNldCBvbiB0aGUgQGluY2x1ZGUuXG4vLyAzLiBEaXNwbGF5IGlubGluZS1ibG9jayBzbyBpdCBkb2VzIG5vdCB0YWtlIHVwIHRoZSBmdWxsIHdpZHRoLlxuLy8gNC4gTWFyZ2luIC0yNHB4IGxlZnQgYW5kIHJpZ2h0IGFsaWducyB0aGUgaGVhZGluZyB0byB0aGUgYm94LlxuLy8gNS4gVG9wIHBvc2l0aW9uaW5nIHNldCB0byBtaW51cyB0byBtYWtlIHRoZSBoZWFkaW5nXG4vLyAgICBzaXQganVzdCBvdXRzaWRlIHRoZSBib3guXG4vL1xuXG5AbWl4aW4gaGVhZGluZy1sYWJlbCgkaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG9yLCAkaGVhZGluZy10ZXh0LWNvbG9yKSB7XG4gIEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgyNCk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmFja2dyb3VuZC1jb2xvcjsgLy8gWzFdIC8vXG4gIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yOyAvLyBbMl0gLy9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBbM10gLy9cbiAgbWFyZ2luOiBuaHN1ay1zcGFjaW5nKDApIG5oc3VrLXNwYWNpbmcoMCkgbmhzdWstc3BhY2luZygyKSAtMzNweDtcbiAgcGFkZGluZzogbmhzdWstc3BhY2luZygyKSBuaHN1ay1zcGFjaW5nKDUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTE2cHg7IC8vIFs1XSAvL1xuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nOiBuaHN1ay1zcGFjaW5nKDIpIG5oc3VrLXNwYWNpbmcoNCk7XG4gICAgdG9wOiAtOHB4OyAvLyBbNV0gLy9cbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICRjb2xvcl9uaHN1ay1ibGFjaztcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuLy9cbi8vIENhcmUgY2FyZCBtaXhpbiwgdXNlZCBmb3IgY3JlYXRpbmdcbi8vIGRpZmZlcmVudCBjb2xvdXJlZCBjYXJlIGNhcmRzLlxuLy9cbi8vIFVzYWdlOiBAaW5jbHVkZSBjYXJlLWNhcmQoJGNvbG9yX25oc3VrLWJsdWUsICRjb2xvcl9uaHN1ay13aGl0ZSwgNHB4KTtcbi8vIFNlZSBjb21wb25lbnRzL19jYXJlLWNhcmRcbi8vXG5cbkBtaXhpbiBjYXJlLWNhcmQoJGhlYWRpbmctYmFja2dyb3VuZC1jb2xvciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJHByaW50LWJvcmRlci1zaXplKSB7XG5cbiAgLm5oc3VrLWNhcmUtY2FyZF9faGVhZGluZy1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICBib3JkZXI6ICRwcmludC1ib3JkZXItc2l6ZSBzb2xpZCAkbmhzdWstcHJpbnQtdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogJG5oc3VrLXByaW50LXRleHQtY29sb3I7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG59XG5cbi8vXG4vLyBQcmludCBjb2xvdXIgbWl4aW4sIHNldHMgdGhlIHRleHQgcHJpbnQgY29sb3VyXG4vLyB3YXJuaW5nIGNhbGxvdXQsIGRvIGFuZCBkb24ndCBsaXN0cyBhbmQgcGFuZWxzLlxuLy9cbi8vIFVzYWdlOiBAaW5jbHVkZSBwcmludC1jb2xvcigkbmhzdWstcHJpbnQtdGV4dC1jb2xvcik7XG4vLyBTZWUgY29tcG9uZW50cy9fY2FyZS1jYXJkXG4vL1xuXG5AbWl4aW4gcHJpbnQtY29sb3IoJHByaW50LWNvbG9yKSB7XG5cbiAgQGluY2x1ZGUgbXEoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgY29sb3I6ICRwcmludC1jb2xvcjtcbiAgICBmaWxsOiAkcHJpbnQtY29sb3I7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJG5oc3VrLXByaW50LXRleHQtY29sb3I7XG4gICAgfVxuXG4gIH1cblxufVxuXG4vL1xuLy8gUHJpbnQgaGlkZSBtaXhpbiwgaGlkZXMgdGhlIGVsZW1lbnQgZnJvbSBwcmludC5cbi8vXG4vLyBVc2FnZTogQGluY2x1ZGUgcHJpbnQtaGlkZSgpO1xuLy8gU2VlIGNvbXBvbmVudHMvX2NhcmUtY2FyZFxuLy9cblxuQG1peGluIHByaW50LWhpZGUoKSB7XG5cbiAgQGluY2x1ZGUgbXEoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG5cbi8vXG4vLyBGbGV4IG1peGluXG4vLyBVc2FnZTogQGluY2x1ZGUgZmxleCgpO1xuLy9cblxuQG1peGluIGZsZXgoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLy9cbi8vIEZsZXggaXRlbSBtaXhpblxuLy8gVXNhZ2U6IEBpbmNsdWRlIGZsZXgtaXRlbSgpO1xuLy9cblxuQG1peGluIGZsZXgtaXRlbSgpIHtcbiAgZGlzcGxheTogZmxleDtcblxuICBAaW5jbHVkZSBtcSgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgfVxuXG59XG5cbi8vXG4vLyBUb2dnbGUgYnV0dG9uIG1peGluXG4vLyB1c2VkIHRvIHRvZ2dsZSBjb250ZW50XG4vL1xuLy8gVXNhZ2U6IEBpbmNsdWRlIHRvZ2dsZS1idXR0b24oKTtcbi8vIFNlZSBjb21wb25lbnRzL2hlYWRlclxuLy9cbi8vIDEuIFJlbW92ZSBpbm5lciBib3JkZXIgb24gYnV0dG9ucyBmb3IgRmlyZWZveCwgc2VlXG4vLyAgICBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8zOTNcbi8vIDIuICFpbXBvcnRhbnQgb3ZlcnJpZGVzIGZvY3VzIHN0eWxlIGJvcmRlcjogMDtcbi8vXG5cbkBtaXhpbiB0b2dnbGUtYnV0dG9uKCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX25oc3VrLXdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAkbmhzdWstYm9yZGVyLXJhZGl1cztcbiAgY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG5cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwOyAvLyBbMV0gLy9cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9zaGFkZV9uaHN1ay1ibHVlLTM1O1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX25oc3VrLWdyZXktNTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG5oc3VrLWZvY3VzLWNvbG9yICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50IC8qIFsyXSAqL1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2hhZGVfbmhzdWstYmx1ZS01MDtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcl9uaHN1ay1ncmV5LTU7XG4gICAgY29sb3I6ICRjb2xvcl9uaHN1ay1ncmV5LTU7XG4gIH1cblxufVxuXG4vL1xuLy8gQ2xvc2UgYnV0dG9uIG1peGluXG4vLyB1c2VkIHRvIGNsb3NlIGEgY29udGVudCBhcmVhXG4vL1xuLy8gVXNhZ2U6IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbigpO1xuLy8gU2VlIGNvbXBvbmVudHMvaGVhZGVyXG4vL1xuLy8gMS4gQ3VzdG9tIGhlaWdodCBhbmQgd2lkdGggb2YgZm9ybSBpdGVtc1xuLy8gMi4gQ3VzdG9tIGhlaWdodCBhbmQgd2lkdGggb2Ygc3ZnIGljb25zXG4vLyAzLiBSZW1vdmUgaW5uZXIgYm9yZGVyIG9uIGJ1dHRvbnMgZm9yIEZpcmVmb3gsIHNlZVxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMzkzXG4vL1xuXG5AbWl4aW4gY2xvc2UtYnV0dG9uKCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogNDBweDsgLy8gWzFdIC8vXG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA0MHB4OyAvLyBbMV0gLy9cblxuICAubmhzdWstaWNvbl9fY2xvc2Uge1xuICAgIGZpbGw6ICRjb2xvcl9uaHN1ay1ibHVlO1xuICAgIGhlaWdodDogNDBweDsgLy8gWzJdIC8vXG4gICAgd2lkdGg6IDQwcHg7IC8vIFsyXSAvL1xuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwOyAvLyBbM10gLy9cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5uaHN1ay1pY29uX19jbG9zZSB7XG4gICAgICBmaWxsOiAkbmhzdWstc2Vjb25kYXJ5LWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBuaHN1ay1mb2N1c2VkLXRleHQ7XG4gIH1cblxufVxuXG4vL1xuLy8gUmVtb3ZlIG1hcmdpbiBtb2JpbGUgbWl4aW4sIHJlbW92ZXMgbGVmdCBhbmQgcmlnaHRcbi8vIG1hcmdpbiBhdCB0YWJsZXQgYnJlYWtwb2ludC5cbi8vXG5cbkBtaXhpbiByZW1vdmUtbWFyZ2luLW1vYmlsZSgpIHtcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRuaHN1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kbmhzdWstZ3V0dGVyLWhhbGY7XG4gIH1cbn1cblxuLy8vIE5IUyBsb2dvIHNpemUgaGVscGVyXG4vLy9cbi8vLyBTYXZlcyBkdXBsaWNhdGluZyB0aGUgY29kZSBmb3Igd2hlbiB1c2luZyB0aGUgbG9nbyBhcyBhIGxpbmsuXG4vLy8gVXNlZCBpbiB0aGUgaGVhZGVyIGFuZCBmb290ZXIuXG5cbkBtaXhpbiBuaHN1ay1sb2dvLXNpemUge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiAxMDBweDtcbn1cblxuQG1peGluIG5oc3VrLWxvZ28tc2l6ZS1zbWFsbCB7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDgwcHg7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVE9PTFMgLyAjaWZmZlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFN5bnRhY3RpYyBzdWdhciBhcm91bmQgU2FzcycgYnVpbHQtaW4gYGlmYCBmdW5jdGlvbiB0aGF0IGRvZXMgbm90IHJlcXVpcmVcbi8vIHlvdSB0byBwYXNzIGEgdmFsdWUgZm9yIGAkaWYtZmFsc2VgLlxuLy9cbi8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNvbmRpdGlvbiAtIFdoZXRoZXIgdG8gcmV0dXJuIHRoZSB2YWx1ZSBvZiBgJGlmLXRydWVgXG4vLyBAcGFyYW0ge01peGVkfSAkaWYtdHJ1ZSAtIFZhbHVlIHRvIHJldHVybiBpZiBgJGNvbmRpdGlvbmAgaXMgdHJ1dGh5XG4vLyBAcmV0dXJuIHtNaXhlZH0gVmFsdWUgb2YgYCRpZi10cnVlYCBpZiBgJGNvbmRpdGlvbmAgaXMgdHJ1dGh5LCBlbHNlIG51bGxcbi8vXG4vLyBPcmlnaW5hbCBjb2RlIHRha2VuIGZyb20gR0RTIChHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSlcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZFxuLy9cblxuQGZ1bmN0aW9uIGlmZigkY29uZGl0aW9uLCAkaWYtdHJ1ZSkge1xuICBAcmV0dXJuIGlmKCRjb25kaXRpb24sICRpZi10cnVlLCBudWxsKTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUT09MUyAvICNHUklEXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gT3JpZ2luYWwgY29kZSB0YWtlbiBmcm9tIEdEUyAoR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2UpXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmRcbi8vXG5cbi8vIE1hcCBvZiBncmlkIGNvbHVtbiB3aWR0aHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRfbmhzdWstZ3JpZC13aWR0aHM6IChcbiAgb25lLXF1YXJ0ZXI6IDI1JSxcbiAgb25lLXRoaXJkOiAzMy4zMzMzJSxcbiAgb25lLWhhbGY6IDUwJSxcbiAgdHdvLXRoaXJkczogNjYuNjY2NiUsXG4gIHRocmVlLXF1YXJ0ZXJzOiA3NSUsXG4gIGZ1bGw6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vXG4vLyBHcmlkIHdpZHRoIHBlcmNlbnRhZ2Vcbi8vXG4vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgZ3JpZCB3aWR0aCAoZS5nLiB0d28tdGhpcmRzKVxuLy8gQHJldHVybiB7TnVtYmVyfSBQZXJjZW50YWdlIHdpZHRoXG4vLyBAdGhyb3cgaWYgYCRrZXlgIGlzIG5vdCBhIHZhbGlkIGdyaWQgd2lkdGhcbi8vXG4vLyBVc2FnZTpcbi8vXG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRfbmhzdWstZ3JpZC13aWR0aHMsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJF9uaHN1ay1ncmlkLXdpZHRocywgJGtleSk7XG4gIH1cblxuICBAZXJyb3IgJ1Vua25vd24gZ3JpZCB3aWR0aCBgI3ska2V5fWAnO1xufVxuXG4vL1xuLy8gR2VuZXJhdGUgZ3JpZCByb3cgc3R5bGVzXG4vL1xuLy8gQ3JlYXRlcyBhIGdyaWQgcm93IGNsYXNzIHdpdGggYSBzdGFuZGFyZGlzZWQgbWFyZ2luLlxuLy9cbi8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtcm93XSBDU1MgY2xhc3MgbmFtZVxuLy9cbi8vIEBleGFtcGxlIHNjc3MgLSBEZWZhdWx0XG4vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93O1xuLy9cbi8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b21pc2luZyB0aGUgY2xhc3MgbmFtZVxuLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLXJvdyhcImFwcC1ncmlkXCIpO1xuLy9cbi8vXG5cbkBtaXhpbiBnb3Z1ay1ncmlkLXJvdygkY2xhc3M6ICduaHN1ay1ncmlkLXJvdycpIHtcbiAgLiN7JGNsYXNzfSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luLWxlZnQ6IC0gKCRuaHN1ay1ndXR0ZXItaGFsZik7XG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkbmhzdWstZ3V0dGVyLWhhbGYpO1xuICB9XG59XG5cbi8vXG4vLyBHZW5lcmF0ZSBncmlkIGNvbHVtbiBzdHlsZXNcbi8vXG4vLyBDcmVhdGVzIGEgY3Jvc3MgYnJvd3NlciBncmlkIGNvbHVtbiB3aXRoIGEgY2xhc3Mgb2YgJy5nb3Z1ay1ncmlkLWNvbHVtbicgYnlcbi8vIGRlZmF1bHQsIGFuZCBhIHN0YW5kYXJkaXNlZCBndXR0ZXIgYmV0d2VlbiB0aGUgY29sdW1ucy5cbi8vXG4vLyBDb21tb24gd2lkdGhzIGFyZSBwcmVkZWZpbmVkIGFib3ZlIGFzIGtleXdvcmRzIGluIHRoZSBgJGdyaWQtd2lkdGhzYCBtYXAuXG4vL1xuLy8gQnkgZGVmYXVsdCB0aGVpciB3aWR0aCBjaGFuZ2VzIGZyb20gMTAwJSB0byBzcGVjaWZpZWQgd2lkdGggYXQgdGhlICd0YWJsZXQnXG4vLyBicmVha3BvaW50LCBidXQgdGhhdCBjYW4gYmUgY29uZmlndXJlZCB0byBiZSBhbnkgb3RoZXIgYnJlYWtwb2ludCBieSB1c2luZ1xuLy8gdGhlIGAkYXRgIHBhcmFtZXRlci5cbi8vXG4vLyBAcGFyYW0ge1N0cmluZ30gJGNsYXNzIFtnb3Z1ay1ncmlkLWNvbHVtbl0gQ1NTIGNsYXNzIG5hbWVcbi8vIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggW2Z1bGxdIG9uZS1xdWFydGVyIHwgb25lLXRoaXJkIHwgb25lLWhhbGYgfCB0d28tdGhpcmQgfCB0aHJlZS1xdWFydGVycyB8IGZ1bGxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZmxvYXQgW2xlZnRdIGxlZnQgfCByaWdodFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRhdCBbdGFibGV0XSAtIG1vYmlsZSB8IHRhYmxldCB8IGRlc2t0b3AgfCBhbnkgY3VzdG9tIGJyZWFrcG9pbnQgaW4gcHggb3IgZW1cbi8vXG4vLyBAZXhhbXBsZSBzY3NzIC0gRGVmYXVsdFxuLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbih0d28tdGhpcmRzKVxuLy9cbi8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b21pc2luZyB0aGUgY2xhc3MgbmFtZVxuLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbihvbmUtaGFsZiwgJGNsYXNzOiBcInRlc3QtY29sdW1uXCIpO1xuLy9cbi8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b21pc2luZyB0aGUgYnJlYWtwb2ludCB3aGVyZSB3aWR0aCBwZXJjZW50YWdlIGlzIGFwcGxpZWRcbi8vICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4ob25lLWhhbGYsICRhdDogZGVza3RvcCk7XG4vL1xuLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBmbG9hdCBkaXJlY3Rpb25cbi8vICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4ob25lLWhhbGYsICRmbG9hdDogcmlnaHQpO1xuLy9cblxuQG1peGluIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aDogZnVsbCwgJGZsb2F0OiBsZWZ0LCAkYXQ6IGRlc2t0b3AsICRjbGFzczogJ25oc3VrLWdyaWQtY29sdW1uJykge1xuXG4gIC4jeyRjbGFzc30tI3skd2lkdGh9IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpZiAkYXQgIT0gZGVza3RvcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgcGFkZGluZzogMCAkbmhzdWstZ3V0dGVyLWhhbGY7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRhdCkge1xuICAgICAgZmxvYXQ6ICRmbG9hdDtcbiAgICAgIHdpZHRoOiBncmlkLXdpZHRoKCR3aWR0aCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVE9PTFMgLyAjRk9DVVNFRFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEZvY3VzZWQgdGV4dFxuLy9cbi8vIFByb3ZpZGVzIGFuIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpcyBmb2N1c2VkLlxuLy8gVXNlZCBmb3IgaW50ZXJhY3RpdmUgdGV4dC1iYXNlZCBlbGVtZW50cy5cbi8vXG5cbkBtaXhpbiBuaHN1ay1mb2N1c2VkLXRleHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmhzdWstZm9jdXMtY29sb3I7XG4gIGJveC1zaGFkb3c6IDAgLTJweCAkbmhzdWstZm9jdXMtY29sb3IsIDAgJG5oc3VrLWZvY3VzLXdpZHRoICRuaHN1ay1mb2N1cy10ZXh0LWNvbG9yO1xuICBjb2xvcjogJG5oc3VrLWZvY3VzLXRleHQtY29sb3I7XG4gIC8vIFdoZW4gY29sb3VycyBhcmUgb3ZlcnJpZGRlbiwgZm9yIGV4YW1wbGUgd2hlbiB1c2VycyBoYXZlIGEgZGFyayBtb2RlLFxuICAvLyBiYWNrZ3JvdW5kcyBhbmQgYm94LXNoYWRvd3MgZGlzYXBwZWFyLCBzbyB3ZSBuZWVkIHRvIGVuc3VyZSB0aGVyZSdzIGFcbiAgLy8gdHJhbnNwYXJlbnQgb3V0bGluZSB3aGljaCB3aWxsIGJlIHNldCB0byBhIHZpc2libGUgY29sb3VyLlxuICBvdXRsaW5lOiAkbmhzdWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIC8vIFdoZW4gbGluayBpcyBmb2N1c3NlZCwgaGlkZSB0aGUgZGVmYXVsdCB1bmRlcmxpbmUgc2luY2UgdGhlXG4gIC8vIGJveCBzaGFkb3cgYWRkcyB0aGUgXCJ1bmRlcmxpbmVcIlxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8vLyBGb2N1c2VkIGlucHV0IChmb3JtIGVsZW1lbnRzKVxuLy8vXG4vLy8gUHJvdmlkZXMgYW4gYWRkaXRpb25hbCBvdXRsaW5lIGFuZCBib3JkZXIgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuXG4vLy8gdGhlIHRhcmdldCBlbGVtZW50IGhhcyBmb2N1cy4gVXNlZCBmb3IgaW50ZXJhY3RpdmUgaW5wdXQtYmFzZWQgZWxlbWVudHMgc3VjaFxuLy8vIGFzIHRleHQgaW5wdXRzLlxuXG5AbWl4aW4gbmhzdWstZm9jdXNlZC1pbnB1dCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRuaHN1ay1mb2N1cy10ZXh0LWNvbG9yO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHg7XG4gIG91dGxpbmU6ICRuaHN1ay1mb2N1cy13aWR0aCBzb2xpZCAkbmhzdWstZm9jdXMtY29sb3I7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG59XG5cbi8vLyBGb2N1c2VkIHJhZGlvIGlucHV0IChmb3JtIGVsZW1lbnQpXG4vLy8gXG4vLy8gUHJvdmlkZXMgYW4gYWRkaXRpb25hbCBvdXRsaW5lIGFuZCBib3JkZXIgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuXG4vLy8gdGhlIHRhcmdldCBlbGVtZW50IGhhcyBmb2N1cy4gVXNlZCBieSByYWRpb3MuXG5cbkBtaXhpbiBuaHN1ay1mb2N1c2VkLXJhZGlvIHtcbiAgYm9yZGVyOiAkbmhzdWstZm9jdXMtd2lkdGggc29saWQgJG5oc3VrLWZvY3VzLXRleHQtY29sb3I7XG4gIGJveC1zaGFkb3c6IDAgMCAwICRuaHN1ay1mb2N1cy13aWR0aCAkbmhzdWstZm9jdXMtY29sb3I7XG59XG5cbi8vLyBGb2N1c2VkIGNoZWNrYm94IGlucHV0IChmb3JtIGVsZW1lbnQpXG4vLy8gXG4vLy8gUHJvdmlkZXMgYW4gYWRkaXRpb25hbCBvdXRsaW5lIGFuZCBib3JkZXIgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuXG4vLy8gdGhlIHRhcmdldCBlbGVtZW50IGhhcyBmb2N1cy4gVXNlZCBieSBjaGVja2JveC5cblxuQG1peGluIG5oc3VrLWZvY3VzZWQtY2hlY2tib3gge1xuICBib3JkZXI6ICRuaHN1ay1mb2N1cy13aWR0aCBzb2xpZCAkbmhzdWstZm9jdXMtdGV4dC1jb2xvcjtcbiAgYm94LXNoYWRvdzogMCAwIDAgJG5oc3VrLWZvY3VzLXdpZHRoICRuaHN1ay1mb2N1cy1jb2xvcjtcbn1cblxuLy8vIEZvY3VzZWQgYnV0dG9uXG4vLy9cbi8vLyBQcm92aWRlcyBhbiBhZGRpdGlvbmFsIG91dGxpbmUgYW5kIGJhY2tncm91bmQgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuXG4vLy8gdGhlIHRhcmdldCBlbGVtZW50IGhhcyBmb2N1cy4gVXNlZCBmb3IgYnV0dG9ucy5cblxuQG1peGluIG5oc3VrLWZvY3VzZWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5oc3VrLWZvY3VzLWNvbG9yO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IDAgJG5oc3VrLWZvY3VzLXdpZHRoIDAgMCAkbmhzdWstZm9jdXMtdGV4dC1jb2xvcjtcbiAgY29sb3I6ICRuaHN1ay1mb2N1cy10ZXh0LWNvbG9yO1xuICBvdXRsaW5lOiAkbmhzdWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6ICRuaHN1ay1mb2N1cy13aWR0aDtcblxuICAubmhzdWstaWNvbiB7XG4gICAgZmlsbDogJG5oc3VrLWZvY3VzLXRleHQtY29sb3I7XG4gIH1cbn1cbiIsIltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufSIsIkBpbXBvcnQgJ21peGlucy9ncmlkJztcbkBpbXBvcnQgJ21peGlucy9icm93c2VyJztcbkBpbXBvcnQgJ21peGlucy9jb250YWluZXInO1xuQGltcG9ydCAnbWl4aW5zL2xpbmstc3R5bGUtaW52ZXJ0ZWQnO1xuQGltcG9ydCAnbWl4aW5zL21lZGlhJzsiLCJcbi8vIEdyaWRcbiRncmlkLWNvbHVtbnM6IDEyO1xuQG1peGluIGhlZS1mbGV4Z3JpZC1yb3coXG4gICAgJGZsZXgtZGlzcGxheTogZmxleCxcbiAgICAkZmxleC1kaXJlY3Rpb246IG51bGwsIFxuICAgICRmbGV4LXdyYXA6IHdyYXAsIFxuICAgICRmbGV4LWZsb3c6IG51bGwsIFxuICAgICRqdXN0aWZ5LWNvbnRlbnQ6IG51bGwsIFxuICAgICRhbGlnbi1pdGVtczogbnVsbCwgXG4gICAgJGFsaWduLWNvbnRlbnQ6IG51bGwsIFxuICAgICRndXR0ZXI6IG51bGxcbikge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpZiAkZmxleC1kaXNwbGF5IHtcblx0XHRkaXNwbGF5OiAkZmxleC1kaXNwbGF5O1xuXHR9XG5cdEBpZiAkZmxleC1kaXJlY3Rpb24ge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiAkZmxleC1kaXJlY3Rpb247XG5cdH1cblx0QGlmICRmbGV4LXdyYXAge1xuXHRcdGZsZXgtd3JhcDogJGZsZXgtd3JhcDtcblx0fVxuXHRAaWYgJGZsZXgtZmxvdyB7XG5cdFx0ZmxleC1mbG93OiAkZmxleC1mbG93O1xuXHR9XG5cdEBpZiAkanVzdGlmeS1jb250ZW50IHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5LWNvbnRlbnQ7XG5cdH1cblx0QGlmICRhbGlnbi1pdGVtcyB7XG5cdFx0YWxpZ24taXRlbXM6ICRhbGlnbi1pdGVtcztcblx0fVxuXHRAaWYgJGFsaWduLWNvbnRlbnQge1xuXHRcdGFsaWduLWNvbnRlbnQ6ICRhbGlnbi1jb250ZW50O1xuXHR9XG5cdEBpZiAkZ3V0dGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJGd1dHRlciAqIDAuNSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSgkZ3V0dGVyICogMC41KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJvd3NlcihpZSkge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgfVxuXHRAY29udGVudDtcbn1cblxuQG1peGluIGhlZS1mbGV4Z3JpZC1jb2woXG4gICAgJGNvbDogbnVsbCwgXG4gICAgJGdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucywgXG4gICAgJGNvbC1vZmZzZXQ6IG51bGwsIFxuICAgICRpbXBvcnRhbnQ6IG51bGwsXG4gICAgJGd1dHRlcjogbnVsbCwgXG4gICAgJGFsaWduLXNlbGY6IG51bGwsIFxuICAgICRmbGV4LWdyb3c6IDAsIFxuICAgICRmbGV4LXNocmluazogMSwgXG4gICAgJGZsZXgtYmFzaXM6IGF1dG8sIFxuICAgICRvcmRlcjogbnVsbFxuKSB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdEBpZiB0eXBlLW9mKCRjb2wpID09IG51bWJlciB7XG5cdFx0JGZsZXgtZ3JvdzogMDtcblx0XHQkZmxleC1zaHJpbms6IDA7XG4gICAgICAgIFxuICAgICAgICBAaWYgdW5pdCgkY29sKSA9PSAncHgnIG9yIHVuaXQoJGNvbCkgPT0gJyUnIHtcbiAgICAgICAgICAgIEBpZiAkaW1wb3J0YW50ID09IHRydWUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkY29sO1xuICAgICAgICAgICAgICAgICRmbGV4LWJhc2lzOiAkY29sO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRjb2whaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICRmbGV4LWJhc2lzOiAkY29sIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAkaW1wb3J0YW50ID09IHRydWUge1xuICAgICAgICAgICAgICAgICRmbGV4LWJhc2lzOiBwZXJjZW50YWdlKCRjb2wgLyAkZ3JpZC1jb2x1bW5zKSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbCAvICRncmlkLWNvbHVtbnMpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkY29sIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgICAgICAgICAgICAgJGZsZXgtYmFzaXM6IHBlcmNlbnRhZ2UoJGNvbCAvICRncmlkLWNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblx0fSBAZWxzZSBpZiB0eXBlLW9mKCRjb2wpID09IHN0cmluZyBhbmQgJGNvbCA9PSAnYXV0bycge1xuXHRcdCRmbGV4LWdyb3c6IDE7XG5cdFx0JGZsZXgtc2hyaW5rOiAxO1xuXHRcdCRmbGV4LWJhc2lzOiBhdXRvO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR3aWR0aDogYXV0bztcblx0fSBAZWxzZSBpZiB0eXBlLW9mKCRjb2wpID09IHN0cmluZyBhbmQgJGNvbCA9PSAnZXF1YWwnIHtcblx0XHQkZmxleC1ncm93OiAxO1xuXHRcdCRmbGV4LXNocmluazogMTtcblx0XHQkZmxleC1iYXNpczogMDtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJGNvbCkgPT0gc3RyaW5nIGFuZCAkY29sID09ICdicmVha3BvaW50JyB7XG5cdFx0JGZsZXgtZ3JvdzogMDtcblx0XHQkZmxleC1zaHJpbms6IDE7XG5cdFx0JGZsZXgtYmFzaXM6IGF1dG87XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH0gQGVsc2UgaWYgdHlwZS1vZigkY29sKSA9PSBzdHJpbmcgYW5kICRjb2wgPT0gJ25vbmUnIHtcblx0XHQkZmxleC1ncm93OiAwO1xuXHRcdCRmbGV4LXNocmluazogMDtcblx0XHQkZmxleC1iYXNpczogYXV0bztcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgJGZsZXgtZ3JvdzogMTtcblx0XHQkZmxleC1zaHJpbms6IDE7XG5cdFx0JGZsZXgtYmFzaXM6IDA7XG4gICAgfVxuICAgIEBpZiAkZ3V0dGVyIGFuZCB1bml0bGVzcygkZ3V0dGVyKSA9PSBmYWxzZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGd1dHRlciAqIDAuNTtcbiAgICB9XG5cdGZsZXg6ICRmbGV4LWdyb3cgJGZsZXgtc2hyaW5rICRmbGV4LWJhc2lzO1xuICAgIEBpZiAkY29sLW9mZnNldCBhbmQgdW5pdGxlc3MoJGNvbC1vZmZzZXQpID09IHRydWUge1xuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkY29sLW9mZnNldCAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cblx0QGlmICRhbGlnbi1zZWxmIHtcblx0XHRhbGlnbi1zZWxmOiAkYWxpZ24tc2VsZjtcblx0fVxuXHRAaWYgdHlwZS1vZigkb3JkZXIpID09IG51bWJlciB7XG5cdFx0b3JkZXI6ICRvcmRlcjtcblx0fVxuXG4gICAgQGluY2x1ZGUgYnJvd3NlcihpZSkge1xuICAgICAgICBmbG9hdDogbGVmdDsgXG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG5cdEBjb250ZW50O1xufVxuXG4iLCJAbWl4aW4gYnJvd3NlcigkYnJvd3Nlcikge1xuICAgIFxuICBAaWYgJGJyb3dzZXIgPT0gaWUge1xuICAgICAgQG1lZGlhIHNjcmVlblxcMCB7IEBjb250ZW50OyB9XG4gIH1cbiAgXG59IiwiLy8gQ29udGFpbmVyXG4kbWF4LXdpZHRoOiA5NjBweDtcbkBtaXhpbiBjb250YWluZXIoXG4gICAgJG1heC13aWR0aDogJG1heC13aWR0aFxuKSB7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICBtYXJnaW46IDAgMzJweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEobW9iaWxlKSB7XG4gICAgICAgIG1hcmdpbjogMCAxNnB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShkZXNrdG9wKSB7XG4gICAgfVxufSIsIi8vIEludmVydCBsaW5rIHN0eWxlXG5AbWl4aW4gbmhzdWstbGluay1zdHlsZS1pbnZlcnRlZCB7XG5cdGNvbG9yOiAkbmhzdWstbGluay1jb2xvcjtcblxuXHQmOmZvY3VzIHtcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2hhZGVfbmhzdWstYmx1ZS0zNTtcblx0ICBib3gtc2hhZG93OiAwIDAgMCA0cHggJGNvbG9yX3NoYWRlX25oc3VrLWJsdWUtMzU7XG5cdCAgY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcblx0ICBvdXRsaW5lOiAkbmhzdWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG5cdCAgb3V0bGluZS1vZmZzZXQ6ICRuaHN1ay1mb2N1cy13aWR0aDtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHQgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay1ibHVlO1xuXHQgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAkY29sb3JfbmhzdWstYmx1ZTtcblx0ICBjb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuXHR9XG5cblx0JjphY3RpdmUge1xuXHQgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9zaGFkZV9uaHN1ay1ibHVlLTUwO1xuXHQgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAkY29sb3Jfc2hhZGVfbmhzdWstYmx1ZS0zNTtcblx0ICBjb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuXHR9XG59IiwiLy8gTWVkaWFcbiR0YWJsZXQ6IDc2N3B4O1xuJGRlc2t0b3A6IDEwMjRweDtcbiRtYWM6IDEyODFweDtcbkBtaXhpbiBtZWRpYSgkbWVkaWEpIHtcbiAgICBAaWYgJG1lZGlhID09IG1vYmlsZSB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAaWYgJG1lZGlhID09IHRhYmxldC1kb3duIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGVza3RvcCAtIDAuMDAxKSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBpZiAkbWVkaWEgPT0gdGFibGV0IHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0ICsgMC4wMDEpIGFuZCAobWF4LXdpZHRoOiAkZGVza3RvcCAtIDAuMDAxKSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBpZiAkbWVkaWEgPT0gZGVza3RvcCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2t0b3ApIGFuZCAobWF4LXdpZHRoOiAkbWFjICsgMC4wMDEpeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBcbiAgICBAaWYgJG1lZGlhID09IG1hYyB7IC8vIHRoaXMgaXMgdGhlIG5vcm1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWFjKSB7IEBjb250ZW50OyB9XG4gICAgfVxufSIsIkBtZWRpYSBwcmludCB7XG4gICAgI25oc3VrLWNvb2tpZS1iYW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjbmhzdWstY29va2llLWJhbm5lciAubmhzdWstd2lkdGgtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgI25oc3VrLWNvb2tpZS1iYW5uZXIgaDIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjbmhzdWstY29va2llLWJhbm5lciBwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm5oc3VrLWJhY2stbGluayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5uaHN1ay1iYWNrLWxpbmsgLm5oc3VrLXdpZHRoLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5uaHN1ay1iYWNrLWxpbmsgaDIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubmhzdWstYmFjay1saW5rIHAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubmhzdWstZ3JpZC1jb2x1bW4tb25lLXRoaXJkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm5oc3VrLWdyaWQtY29sdW1uLW9uZS10aGlyZCAubmhzdWstd2lkdGgtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm5oc3VrLWdyaWQtY29sdW1uLW9uZS10aGlyZCBoMiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5uaHN1ay1ncmlkLWNvbHVtbi1vbmUtdGhpcmQgcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5uaHN1ay1wYWdpbmF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm5oc3VrLXBhZ2luYXRpb24gLm5oc3VrLXdpZHRoLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5uaHN1ay1wYWdpbmF0aW9uIGgyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm5oc3VrLXBhZ2luYXRpb24gcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGFbaHJlZl49XCJ0ZWxcIl06OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgYVtocmVmXj1cInRlbFwiXTo6YWZ0ZXIgLm5oc3VrLXdpZHRoLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGFbaHJlZl49XCJ0ZWxcIl06OmFmdGVyIGgyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgYVtocmVmXj1cInRlbFwiXTo6YWZ0ZXIgcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGFbaWRdOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGFbaWRdOjphZnRlciAubmhzdWstd2lkdGgtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgYVtpZF06OmFmdGVyIGgyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgYVtpZF06OmFmdGVyIHAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubmhzdWstd2lkdGgtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufSIsIi5vLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm8tZmxleC0tYWxpZ24tY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5vLWZsZXhfX2dyb3cge1xuICBmbGV4LWdyb3c6IDE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgLm8tZmxleFxcQG1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLm8tZmxleFxcQHRhYmxldCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLm8tZmxleFxcQGRlc2t0b3Age1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC5vLWZsZXhcXEBsYXJnZS1kZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn0iLCIvLyBUZW1wbGF0ZUFyZWFzXG5odG1sIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmNGY1O1xufVxuXG4ucGFnZSB7fVxuLnBhZ2VfX2hlYWRlcixcbi5wYWdlX19tYWluLFxuLnBhZ2VfX2xlZnRiYXIsXG4ucGFnZV9fcmlnaHRiYXIsXG4ucGFnZV9fZm9vdGVyLFxuLnBhZ2VfX2ZlYXR1cmUgLFxuLnBhZ2VfX25hdiB7XG4gICAgLnByb3RvdHlwZSAmIHtcbiAgICAgICAgLy9ib3JkZXI6IDJweCBkYXNoZWQgI0NDQztcbiAgICAgICAgLy9taW4taGVpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuLnBhZ2Uge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5wYWdlX19oZWFkZXIuaGFzLW1pY3JvaGVybywgIC5wYWdlX19oZWFkZXIuaGFzLW5oc3VraGVyb3tcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgLmhlZS1taWNyb2hlcm8ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZyg2KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZyg3KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCBuaHN1ay1zcGFjaW5nKDcpIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlX19oZWFkZXIge1xuICAgIGgxIH4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0gbmhzdWstc3BhY2luZyg2KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZyg0KTtcbiAgICB9XG59XG5cbi5wYWdlX19jb250ZW50IHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4ucGFnZV9fZmVhdHVyZSB7XG4gICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgJ3RvcCcpO1xufVxuXG4ucGFnZV9fZmVhdHVyZSB7XG4gICAgaDEsIHAsIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjclO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZV9fZmVhdHVyZSB7XG4gICAgaDEsIHAsIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjclO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW1wb3J0ICcuLi90ZW1wbGF0ZXMvZnVsbHdpZHRoJztcbkBpbXBvcnQgJy4uL3RlbXBsYXRlcy9sZWZ0YmFyJztcbkBpbXBvcnQgJy4uL3RlbXBsYXRlcy9yaWdodGJhcic7IiwiLy8gRlVMTFdJRFRIIFxuLnBhZ2UtLWZ1bGx3aWR0aCB7XG4gIC5wYWdlX19oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiBuaHN1ay1zcGFjaW5nKDcpO1xuICB9XG4gIC5wYWdlX19tYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogbmhzdWstc3BhY2luZyg2KTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBuaHN1ay1zcGFjaW5nKDcpO1xuICAgIH1cbiAgfVxuICAucGFnZV9fZmVhdHVyZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucGFnZS0tdGVtcGxhdGUtaG9tZXBhZ2Uge31cbi5wYWdlLS10ZW1wbGF0ZS1sYW5kaW5naHViIHt9XG4ucGFnZS0tdGVtcGxhdGUtNDA0IHt9XG4ucGFnZS0tYXJjaGl2ZS1heiB7fVxuXG4ucGFnZS0tc2VhcmNoIHtcbiAgLnBhZ2VfX2hlYWRlciB7XG4gICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1wYWRkaW5nKDcsICd0b3AnKVxuICB9XG59IiwiLy8gTEVGVEJBUitNQUlOXG4ucGFnZS0tbGVmdGJhciB7XG5cbiAgICAucGFnZV9faGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IG5oc3VrLXNwYWNpbmcoNyk7XG4gICAgICAgIGgxLCBwLCBzcGFuIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjYuNjY2NyU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBhZ2VfX2xheW91dCB7XG4gICAgICAgIEBpbmNsdWRlIGhlZS1mbGV4Z3JpZC1yb3c7XG4gICAgICAgIC5wYWdlX19sZWZ0YmFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlZS1mbGV4Z3JpZC1jb2woMy43NSk7XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2VfX21haW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVlLWZsZXhncmlkLWNvbCg4LCRjb2wtb2Zmc2V0OjAuMjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgICAgIC5wYWdlX19oZWFkZXIge1xuICAgICAgICAgICAgaDEsIHAsIHNwYW4ge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGFnZV9fbGF5b3V0IHtcbiAgICAgICAgICAgIC5wYWdlX19sZWZ0YmFyLCBcbiAgICAgICAgICAgIC5wYWdlX19tYWluIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBoZWUtZmxleGdyaWQtY29sKDEyLCRjb2wtb2Zmc2V0OjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICBcbn1cblxuLnBhZ2UtLWFyY2hpdmUtbmV3cyB7fVxuLnBhZ2UtLWFyY2hpdmUtYmxvZyB7fVxuLnBhZ2UtLWFyY2hpdmUtY2FzZXN0dWRpZXMge31cbi5wYWdlLS1hcmNoaXZlLXB1YmxpY2F0aW9ucyB7fSIsIi8vIE1BSU4rUklHSFRCQVJcbi5wYWdlLS1yaWdodGJhciB7XG4gIHBhZGRpbmctYm90dG9tOiBuaHN1ay1zcGFjaW5nKDYpO1xuICAucGFnZV9faGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiBuaHN1ay1zcGFjaW5nKDYpO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBuaHN1ay1zcGFjaW5nKDcpO1xuICAgICAgfVxuXG4gICAgICBoMSwgcCwgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjclO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5uaHN1ay1oZXJvIHtcbiAgICAgICAgaDEsIHAsIHNwYW4ge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG4gIC5wYWdlX19sYXlvdXQge1xuICAgICAgQGluY2x1ZGUgaGVlLWZsZXhncmlkLXJvdztcbiAgICAgIC5wYWdlX19yaWdodGJhciB7XG4gICAgICAgICAgQGluY2x1ZGUgaGVlLWZsZXhncmlkLWNvbCgzLjc1LCRjb2wtb2Zmc2V0OjAuNCk7XG5cbiAgICAgICAgICAuaGVlLXNpZGViYXJsaW5rcyxcbiAgICAgICAgICAuaGVlLXNpZGViYXJpbWFnZSxcbiAgICAgICAgICAubmhzdWstY2FyZCxcbiAgICAgICAgICAubmhzdWstY29udGFjdF9fY2FyZCxcbiAgICAgICAgICAuaGVlLWNhcmQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgICAucGFnZV9fbWFpbiB7XG4gICAgICAgICAgQGluY2x1ZGUgaGVlLWZsZXhncmlkLWNvbCg3Ljg1KTtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogZGVza3RvcCkge1xuICAgIC5wYWdlX19oZWFkZXIge1xuICAgICAgICBoMSwgcCwgc3BhbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBhZ2VfX2xheW91dCB7XG4gICAgICAucGFnZV9fcmlnaHRiYXIsXG4gICAgICAucGFnZV9fbWFpbiB7XG4gICAgICAgICAgQGluY2x1ZGUgaGVlLWZsZXhncmlkLWNvbCgxMiwkY29sLW9mZnNldDowKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFnZV9fcmlnaHRiYXIge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAubmhzdWstY2FyZDpsYXN0LW9mLXR5cGUsIC5uaHN1ay1jb250YWN0Omxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLyogTkhTVUstSEVFLUJsb2NrbGlua3MgKi9cbi5uaHN1ay1oZWUtYmxvY2tsaW5rcyB7XG5cdHBhZGRpbmctdG9wOiAyNHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMjRweDtcblxuXHQubmhzdWstbGlzdC1ibG9ja2xpbmtzIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblxuXHRcdGxpIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbjogMnB4IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMnB4O1xuXHRcdFx0fVxuXG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZDogICRjb2xvcl9uaHN1ay1ibHVlXHQ7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nOiAxMnB4IDI0cHg7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkbmhzdWstbGluay1hY3RpdmUtY29sb3I7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkbmhzdWstbGluay1hY3RpdmUtY29sb3I7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkbmhzdWstZm9jdXMtY29sb3I7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDAgMCAkbmhzdWstZm9jdXMtdGV4dC1jb2xvcjtcblx0XHRcdFx0XHRjb2xvcjogJG5oc3VrLWZvY3VzLXRleHQtY29sb3I7XG5cblx0XHRcdFx0XHQubmhzdWstaWNvbiB7XG5cdFx0XHRcdFx0XHRmaWxsOiAkbmhzdWstZm9jdXMtdGV4dC1jb2xvcjtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQubmhzdWstaWNvbiB7XG5cdFx0XHRcdFx0ZmlsbDogJGNvbG9yX25oc3VrLXdoaXRlO1xuXHRcdFx0XHRcdGhlaWdodDogMjRweDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0cmlnaHQ6IDEycHg7XG5cdFx0XHRcdFx0dG9wOiAxNHB4O1xuXHRcdFx0XHRcdHdpZHRoOiAyNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QG1lZGlhIChtaW4td2lkdGg6NDguMDYyNWVtKSB7XG5cdFx0Lm5oc3VrLWxpc3QtYmxvY2tsaW5rcy0tdHdvLWNvbHVtbnMge1xuXHRcdFx0Y29sdW1uLWNvdW50OiAyO1xuXHRcdFx0Y29sdW1uLWdhcDogNHB4O1xuXHRcdH1cblx0XHQubmhzdWstbGlzdC1ibG9ja2xpbmtzLS1vbmUtY29sdW1uIHtcblx0XHRcdGNvbHVtbi1nYXA6IDRweDtcblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDo0MC4wNTI1ZW0pIHtcblx0XHQubmhzdWstbGlzdC1ibG9ja2xpbmtzIHtcblx0XHRcdGxpIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMTJweCAxNnB4O1xuXHRcdFx0XHRcdC5uaHN1ay1pY29uIHtcblx0XHRcdFx0XHRcdHRvcDogMTJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogT2xkIGJsb2NrbGlua3MgKi9cbi5uaHN1ay1ibG9ja2xpbmtzIHtcblx0cGFkZGluZy10b3A6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAyNHB4O1xuXG5cdC5uaHN1ay1saXN0LWJsb2NrbGlua3Mge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXG5cdFx0bGkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFyZ2luOiAycHggMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycHg7XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAgJGNvbG9yX25oc3VrLWJsdWVcdDtcblx0XHRcdFx0Y29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBhZGRpbmc6IDEycHggMjRweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRuaHN1ay1saW5rLWFjdGl2ZS1jb2xvcjtcblx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRuaHN1ay1saW5rLWFjdGl2ZS1jb2xvcjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRuaHN1ay1mb2N1cy1jb2xvcjtcblx0XHRcdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIC00cHggMCAwICRuaHN1ay1mb2N1cy10ZXh0LWNvbG9yO1xuXHRcdFx0XHRcdGNvbG9yOiAkbmhzdWstZm9jdXMtdGV4dC1jb2xvcjtcblxuXHRcdFx0XHRcdC5uaHN1ay1pY29uIHtcblx0XHRcdFx0XHRcdGZpbGw6ICRuaHN1ay1mb2N1cy10ZXh0LWNvbG9yO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5uaHN1ay1pY29uIHtcblx0XHRcdFx0XHRmaWxsOiAkY29sb3JfbmhzdWstd2hpdGU7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRyaWdodDogMTJweDtcblx0XHRcdFx0XHR0b3A6IDE0cHg7XG5cdFx0XHRcdFx0d2lkdGg6IDI0cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgKG1pbi13aWR0aDo0OC4wNjI1ZW0pIHtcblx0XHQubmhzdWstbGlzdC1ibG9ja2xpbmtzLS10d28tY29sdW1ucyB7XG5cdFx0XHRjb2x1bW4tY291bnQ6IDI7XG5cdFx0XHRjb2x1bW4tZ2FwOiA0cHg7XG5cdFx0fVxuXHRcdC5uaHN1ay1saXN0LWJsb2NrbGlua3MtLW9uZS1jb2x1bW4ge1xuXHRcdFx0Y29sdW1uLWdhcDogNHB4O1xuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSAobWF4LXdpZHRoOjQwLjA1MjVlbSkge1xuXHRcdC5uaHN1ay1saXN0LWJsb2NrbGlua3Mge1xuXHRcdFx0bGkge1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAxMnB4IDE2cHg7XG5cdFx0XHRcdFx0Lm5oc3VrLWljb24ge1xuXHRcdFx0XHRcdFx0dG9wOiAxMnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qIEJyZWFkY3J1bWJzICovXG4ubmhzdWstaGVlLWJyZWFkY3J1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBPbGQgYnJlYWRjcnVtYnMgKi9cbi5uaHN1ay1icmVhZGNydW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuIiwiLm5oc3VrLXJldmlldy1kYXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZyg0KTtcbiAgbWFyZ2luLXRvcDogbmhzdWstc3BhY2luZygyKTtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn0iLCIubmhzdWstaGVlLWNvbnRlbnRzbGlzdCB7XG59IiwiLyogTkhTVUstSEVFLUltYWdlICovXG4ucGFnZV9fbWFpbiB7XG4gIC5uaHN1ay1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAubmhzdWstaW1hZ2VfX2NhcHRpb24ge1xuICAgICAgQGluY2x1ZGUgbmhzdWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE5KTtcbiAgICB9XG4gIH1cbn0iLCIuaGVlLWNhcmQtLWRldGFpbHMge1xuICBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5oZWUtY2FyZC0tZGV0YWlsc19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZygzKTtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6ICRuaHN1ay1mb250LWJvbGQ7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59IiwiLmhlZS1jYXJkLS1jdGEge1xuICBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5uaHN1ay1idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn0iLCIuaGVlLWdvb2dsZS1tYXAge1xuICBtYXJnaW4tYm90dG9tOiBuaHN1ay1zcGFjaW5nKDQpO1xuICBwYWRkaW5nLXRvcDogbmhzdWstc3BhY2luZyg0KTtcblxuXG4gIC5oZWUtZ29vZ2xlLW1hcF9fd3JhcHBlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX25oc3VrLWdyZXktNDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDY2JTsgLy8gVGhpcyBpcyB0aGUgYXNwZWN0IHJhdGlvXG5cbiAgICBpZnJhbWUge1xuICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGVlLWdvb2dsZS1tYXBfX2NhcHRpb24ge1xuICAgIEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxOSk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG4gICAgcGFkZGluZzogbmhzdWstc3BhY2luZyg1KTtcbiAgfVxufVxuIiwiLyogQWRkIG5ldyBjb29raWUgY29kZSBoZXJlICovXG5cbi5uaHN1ay1jb29raWUtYmFubmVyIHtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG5cbiAgdWwsIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkbmhzdWstc3BhY2luZy1wb2ludHMsIDQpXG4gICAgfVxuICB9XG59XG5cbi8qIFBvbGljeSB0YWJsZSAtIGNvcnJlY3RlZCB0eXBvICovXG4ubmhzdWtfX3BvbGljeS10YWJsZSB7XG4gIGJvcmRlcjogbm9uZTtcblxuICAubmhzdWtfX2V4cGlyZXMge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8qIE5IU1VLLUhlYWRlcl9fY29udGFpbmVyICovXG5cbi5uaHN1ay1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLm5oc3VrLWhlYWRlcl9fY29udGFpbmVyIHtcbiAgcGFkZGluZzogMjBweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLyogTkhTVUstSGVhZGVyX19jb250ZW50ICovXG5cbi5uaHN1ay1oZWFkZXJfX2NvbnRlbnQge1xuICBmbG9hdDpyaWdodDtcbiAgbWFyZ2luOiAtNDhweCAwIDAgMDtcbiAgei1pbmRleDogMTA7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmLmpzLXNob3cge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG4gICYubm8tc2VhcmNoIHtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5uaHN1ay1oZWFkZXJfX2xpbmsge1xuICAubmhzdWstb3JnYW5pc2F0aW9uLW5hbWUsXG4gIC5uaHN1ay1vcmdhbmlzYXRpb24tZGVzY3JpcHRvciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn0iLCIvKiBOSFNVSy1IZWFkZXJfX2xvZ28gKi9cblxuLm5oc3VrLWhlYWRlcl9fbG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcblxuICAmLWhvbWUge1xuICAgIFxuICB9XG59IiwiLyogTkhTVUstSGVhZGVyX19tdWx0aWxvZ28gKi9cblxuLm5oc3VrLWhlYWRlcl9fbXVsdGlsb2dvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubmhzdWstaGVhZGVyX19sb2dvLWhvbWUge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBvcmRlcjogMTA7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5uaHN1ay1oZWFkZXJfX2xvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIE5IU1VLLUhlYWRlcl9fc2VhcmNoICovXG5cbi5uaHN1ay1oZWFkZXJfX3NlYXJjaCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLm5oc3VrLWhlYWRlcl9fc2VhcmNoLXdyYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5qcy1zaG93IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAubmhzdWstaGVhZGVyX19zZWFyY2gtZm9ybSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5oc3VrLWhlYWRlcl9fc2VhcmNoLXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbi8qIE5IU1VLLUhlYWRlcl9fc2VhcmNoIC0gQmx1ZSBCRyB2YXJpYXRpb24gKi9cbi5uaHN1ay1oZWFkZXItLXdoaXRlMiB7XG4gIC5uaHN1ay1oZWFkZXJfX3NlYXJjaC13cmFwIHtcbiAgICBmb3JtIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay1ibHVlO1xuICAgIH1cblxuICAgIC5uaHN1ay1zZWFyY2hfX2Nsb3NlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay1ibHVlO1xuXG4gICAgICAubmhzdWstaWNvbl9fY2xvc2Uge1xuICAgICAgICBmaWxsOiAkY29sb3ItbmhzdWstd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyogTkhTVUstSGVhZGVyX19uYXZpZ2F0aW9uICovXG5cbi5uaHN1ay1oZWFkZXJfX25hdmlnYXRpb24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAmLmpzLXNob3d7XG4gICAgLm5oc3VrLXdpZHRoLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMTZweDtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlLWRlc2t0b3ApIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uaHN1ay1oZWFkZXJfX25hdmlnYXRpb24tbGluayB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cblxuLm5oc3VrLWhlYWRlcl9fbmF2aWdhdGlvbi1saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5uaHN1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmLm5oc3VrLXN1Ym5hdiB7XG5cbiAgICAubmhzdWstc3VibmF2X193cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmhzdWstaGVhZGVyX19uYXZpZ2F0aW9uLWxpbmsge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlLWRlc2t0b3ApIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cblxuICAgICAgLm5oc3VrLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBtcSgkdW50aWw6IGxhcmdlLWRlc2t0b3ApIHtcbiAgLm5oc3VrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAubmhzdWstaGVhZGVyX19uYXZpZ2F0aW9uIHtcbiAgICAubmhzdWstd2lkdGgtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLyogTkhTVUstSGVhZGVyX19uYXZpZ2F0aW9uIC0tIG1vcmUgdGhhbiAzIGl0ZW1zICovXG5cbi5uaHN1ay1oZWFkZXJfX25hdmlnYXRpb24tLW1vcmUtaXRlbXMge1xuICAubmhzdWstaGVhZGVyX19uYXZpZ2F0aW9uLWxpc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlLWRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG4gIH1cbiAgLm5oc3VrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZS1kZXNrdG9wKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cbn0iLCIvKiBOSFNVSy1IZWFkZXJfX21lbnUgKi9cblxuLm5oc3VrLWhlYWRlcl9fbWVudSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDQ2cHg7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xuICAgIGxlZnQ6IC02OHB4O1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlLWRlc2t0b3ApIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuXG4gIC5uaHN1ay1oZWFkZXJfX21lbnUtdG9nZ2xlIHtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gIC5uby1zZWFyY2ggJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIFxufSIsIi8qIE5IU1VLLVN1Ym5hdiAqL1xuLm5oc3VrLXN1Ym5hdiB7XG5cbiAgLm5oc3VrLWhlYWRlcl9fbmF2aWdhdGlvbi1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UtZGVza3RvcCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMjhweDtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIC5uaHN1ay1pY29uIHtcbiAgICAgICAgICBmaWxsOiAkbmhzdWstZm9jdXMtdGV4dC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5uaHN1ay1pY29uIHtcbiAgICAgIGZpbGw6ICRjb2xvcl9uaHN1ay1ibHVlO1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICB3aWR0aDogMjJweDtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlLWRlc2t0b3ApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZpbGw6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmhzdWstc3VibmF2X19saXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlLWRlc2t0b3ApIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTQ7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBuaHN1ay1zcGFjaW5nKDEpIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWluLXdpZHRoOiAxNnJlbTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB6LWluZGV4OiA5OTk5O1xuICAgIH1cblxuICAgIC5uaHN1ay1zdWJuYXZfX2xpc3QtaXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTU7XG4gICAgfVxuXG4gICAgLm5oc3VrLXN1Ym5hdl9fbGlzdC1saW5rIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAkbmhzdWstbGluay1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkbmhzdWstbGluay1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5oc3VrLWZvY3VzLXRleHQtY29sb3JcbiAgICAgIH1cbiAgICAgICYubm8tbGluayB7XG4gICAgICAgIGNvbG9yOiAkbmhzdWstdGV4dC1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UtZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmhzdWstbmF2X19saW5rIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UtZGVza3RvcCkge1xuICAgICAgcGFkZGluZzogbmhzdWstc3BhY2luZygyKSBuaHN1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5uaHN1ay1oZWFkZXJfX2JhY2stdGV4dCB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlLWRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIC5uaHN1ay1oZWFkZXJfX25hdmlnYXRpb24tbGluayB7XG4gICAgICAubmhzdWstaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmhzdWstc3VibmF2X19saXN0LWxpbmsge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICAgIH1cblxuICAgIC5uaHN1ay1zdWJuYXZfX2xpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZS1kZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG5cbiAgICAgIC5uaHN1ay1zdWJuYXZfX2xpc3QtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZS1kZXNrdG9wKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKiBIZXJvICovXG4ubmhzdWstaGVybyB7XG4gIC5uaHN1ay1oZXJvX193cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA0OHB4IDAgODhweDtcbiAgfVxuXG4gICYgJi0tYm9yZGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLm5oc3VrLWhlcm8tLWltYWdlLWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogOTBweDtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOThweDtcbiAgfVxufVxuXG4ubmhzdWstaGVlLWhlcm8ge1xuICAubmhzdWstaGVyb19fd3JhcHBlciB7XG4gICAgcGFkZGluZzogNDhweCAwIDg4cHg7XG4gIH1cbn1cblxuLm5oc3VrLWhlcm8tLWltYWdlIHtcbiAgLm5oc3VrLWhlcm9fX292ZXJsYXkge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGhlaWdodDogMzgwcHg7XG4gICAgfVxuICB9XG59XG5cbiIsIi5uaHN1ay1oZWUtdGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDRlbSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xufVxuLm5oc3VrLWhlZS10YWJsZS0tbXVsdGljb2xzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLm5oc3VrLWhlZS10YWJsZS0tbXVsdGljb2xzIGNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU0NTU7XG59XG4ubmhzdWstaGVlLXRhYmxlLS1tdWx0aWNvbHMgLm5oc3VrLXRhYmxlX19oZWFkIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogMXB4O1xufVxuLm5oc3VrLWhlZS10YWJsZS0tbXVsdGljb2xzIC5uaHN1ay10YWJsZV9fYm9keSAubmhzdWstdGFibGVfX3JvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbi5uaHN1ay1oZWUtdGFibGUtLW11bHRpY29scyAubmhzdWstdGFibGVfX2JvZHkgLm5oc3VrLXRhYmxlX19yb3cgLm5oc3VrLXRhYmxlX19jZWxsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtaW4td2lkdGg6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm5oc3VrLWhlZS10YWJsZS0tbXVsdGljb2xzIC5uaHN1ay10YWJsZV9fYm9keSAubmhzdWstdGFibGVfX3JvdyAubmhzdWstdGFibGVfX2NlbGw6bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2Q4ZGRlMDtcbn1cbi5uaHN1ay1oZWUtdGFibGUtLW11bHRpY29scyAubmhzdWstdGFibGVfX2JvZHkgLm5oc3VrLXRhYmxlX19yb3cgLm5oc3VrLXRhYmxlLXJlc3BvbnNpdmVfX2hlYWRpbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufSIsIi8qIE5IU1VLLUltYWdlICovXG4ubmhzdWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkcyB7XG4gIC5uaHN1ay1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn0iLCIvKiBSZWxhdGVkIGNhcmRzIChmcm9tIGxpdmUpICovXG4ubmhzdWstcmVsYXRlZC1saW5rcy1jYXJkX19saXN0IHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLm5oc3VrLXJlbGF0ZWQtbGlua3MtY2FyZF9fbGlzdCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbi5uaHN1ay1yZWxhdGVkLWxpbmtzLWNhcmRfX2xpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5uaHN1ay1yZWxhdGVkLWxpbmtzLWNhcmRfX2xpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufSIsIi8qIENvbnRhY3QgKGZyb20gbGl2ZSkgKi9cbi5uaHN1ay1jb250YWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAubmhzdWstY29udGFjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgfVxufVxuLm5oc3VrLWNvbnRhY3QgaDIsXG4ubmhzdWstY29udGFjdCBoMyxcbi5uaHN1ay1jb250YWN0IGg0LFxuLm5oc3VrLWNvbnRhY3QgaDUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubmhzdWstY29udGFjdCBoNCB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG59XG4ubmhzdWstY29udGFjdCBoNSB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5uaHN1ay1jb250YWN0IC5uaHN1ay1jb250YWN0X19pbWctY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB3aWR0aDogOC4zNzVyZW07XG4gICAgaGVpZ2h0OiA4LjM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZDhkZGUwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDguMzc1cmVtO1xuICAgIGNvbG9yOiAjNGM2MjcyO1xufVxuQG1lZGlhIHByaW50IHtcbiAgICAubmhzdWstY29udGFjdCAubmhzdWstY29udGFjdF9faW1nLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLm5oc3VrLWNvbnRhY3QgLm5oc3VrLWNvbnRhY3RfX2ltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA4LjM3NXJlbTtcbiAgICBoZWlnaHQ6IDguMzc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjRmNTtcbn1cbkBtZWRpYSBwcmludCB7XG4gICAgLm5oc3VrLWNvbnRhY3QgLm5oc3VrLWNvbnRhY3RfX2ltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLm5oc3VrLWNvbnRhY3QgLm5oc3VrLWNvbnRhY3RfX2Rlc2NyaXB0aW9uLFxuLm5oc3VrLWNvbnRhY3QgLm5oc3VrLWNvbnRhY3RfX2hlYWRpbmcsXG4ubmhzdWstY29udGFjdCAubmhzdWstY29udGFjdF9fbWV0YWRhdGEge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cbi5uaHN1ay1jb250YWN0IC5uaHN1ay1jb250YWN0IGhyIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG4ubmhzdWstY29udGFjdCAubmhzdWstY29udGFjdCBhIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4ubmhzdWstY29udGFjdCAubmhzdWstY29udGFjdF9fcHJvbm91biB7XG4gICAgY29sb3I6ICM0YzYyNzI7XG59XG4ubmhzdWstY29udGFjdCAubmhzdWstY29udGFjdF9fc2Vjb25kYXJ5LWluZm8gcCB7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuLm5oc3VrLWNvbnRhY3RfX3NlY29uZGFyeS1pbmZvID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbi5uaHN1ay1jb250YWN0X19jYXJkIC5uaHN1ay1jb250YWN0X19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5uaHN1ay1jb250YWN0X19jYXJkIC5uaHN1ay1jb250YWN0X19jb250ZW50ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLm5oc3VrLWNvbnRhY3RfX2NhcmQgLm5oc3VrLWNvbnRhY3RfX2NvbnRlbnQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAubmhzdWstY29udGFjdF9fY2FyZCAubmhzdWstY29udGFjdF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgfVxufVxuLm5oc3VrLWNvbnRhY3RfX2NhcmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q4ZGRlMDtcbn1cbi5uaHN1ay1jb250YWN0X19jYXJkIC5uaHN1ay1jb250YWN0X19wcm9ub3VuIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4ubmhzdWstY29udGFjdF9fY2FyZCAubmhzdWstY29udGFjdF9fc2Vjb25kYXJ5LWluZm8gPiAqIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuLm5oc3VrLWNvbnRhY3RfX2NhcmQgcFthcmlhLWxhYmVsPVwiQWRkcmVzc1wiXSB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDczNjg7XG59XG4ubmhzdWstY29udGFjdC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBwYWRkaW5nOiAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4LjA1MjVlbSkge1xuICAgIC5uaHN1ay1jb250YWN0LWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG59XG4ubmhzdWstY29udGFjdC1ncm91cCArIC5uaHN1ay1oZWFkaW5nLWwsXG4ubmhzdWstY29udGFjdC1ncm91cCArIC5uaHN1ay1oZWFkaW5nLW0sXG4ubmhzdWstY29udGFjdC1ncm91cCArIGgyLFxuLm5oc3VrLWNvbnRhY3QtZ3JvdXAgKyBoMyB7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG4uaGVlLWxheW91dC1zaWRlYmFyIC5uaHN1ay1jb250YWN0LWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4ubmhzdWstY29udGFjdC1ncm91cF9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0OC4wNTI1ZW0pIHtcbiAgICAubmhzdWstY29udGFjdC1ncm91cF9faXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbn1cbi5uaHN1ay1jb250YWN0LWdyb3VwX19pdGVtIC5uaHN1ay1jb250YWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4LjA1MjVlbSkge1xuICAgIC5uaHN1ay1jb250YWN0LWdyb3VwX19pdGVtIC5uaHN1ay1jb250YWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG4gICAgLm5oc3VrLWNvbnRhY3QtZ3JvdXBfX2l0ZW06bGFzdC1jaGlsZCAubmhzdWstY29udGFjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuLm5oc3VrLWNvbnRhY3QtLWZlYXR1cmUge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLm5oc3VrLWNvbnRhY3QtLWZlYXR1cmUge1xuICAgICAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICAgIH1cbn1cbi5uaHN1ay1jb250YWN0X19oZWFkaW5nLS1mZWF0dXJlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA1ZWI4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjRweDtcbiAgICBwYWRkaW5nOiA4cHggMjRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtOHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5uaHN1ay1jb250YWN0X19oZWFkaW5nLS1mZWF0dXJlIHtcbiAgICAgICAgbGVmdDogLTMzcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMycHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAzMnB4O1xuICAgICAgICB0b3A6IC0xNnB4O1xuICAgIH1cbn1cbi5uaHN1ay1jb250YWN0X19jb250ZW50LS1mZWF0dXJlIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufSIsIi8qIFNlY3Rpb25icmVhayAoZnJvbSBsaXZlKSAqL1xuLm5oc3VrLXNlY3Rpb24tYnJlYWsge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG59XG4ubmhzdWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbn1cbi5uaHN1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG59XG4ubmhzdWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLm5oc3VrLXNlY3Rpb24tYnJlYWstLXZpc2libGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkZGUwO1xufVxuLyogSG9tZXBhZ2Ugc2VjdGlvbnMgKGZyb20gbGl2ZSkgKi9cbi5uaHN1ay1ob21lcGFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5uaHN1ay1ob21lcGFnZSAubmhzdWstc2VjdGlvbjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmNGY1O1xufVxuLm5oc3VrLWhvbWVwYWdlIC5uaHN1ay1zZWN0aW9uX19jb250ZW50IC5uaHN1ay1hY3Rpb24tbGluayB7XG4gICAgcGFkZGluZy10b3A6IDhweDtcbn1cbi5uaHN1ay1zZWN0aW9uX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICBwYWRkaW5nLXRvcDogNjRweDtcbn1cbi5uaHN1ay1zZWN0aW9uX19jb250ZW50ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLm5oc3VrLXNlY3Rpb25fX2NvbnRlbnQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5uaHN1ay1zZWN0aW9uX19jb250ZW50OmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLm5oc3VrLXNlY3Rpb25fX2NvbnRlbnQgaDIge1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuLm5oc3VrLXNlY3Rpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogIzRjNjI3Mjtcbn1cbi5uaHN1ay1zZWN0aW9uLS13aXRoLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubmhzdWstc2VjdGlvbi0td2l0aC1pbWFnZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2Nyb3NzZXMuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNzAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA0OCU7XG59XG5cbi5uaHN1ay13aWR0aC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAxNnB4O1xuICAgIG1heC13aWR0aDogOTYwcHg7XG59XG4ubmhzdWstd2lkdGgtY29udGFpbmVyLWZsdWlkIHtcbiAgICBtYXJnaW46IDAgMTZweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG4ubmhzdWstd2lkdGgtY29udGFpbmVyLS1mdWxsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuLm5oc3VrLW1haW4td3JhcHBlci0tbm8tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAubmhzdWstc2VjdGlvbi1icmVhay0teGwge1xuICAgICAgICBtYXJnaW4tdG9wOiA1NnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xuICAgIH1cbiAgICAubmhzdWstc2VjdGlvbi1icmVhay0tbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICAgIC5uaHN1ay1zZWN0aW9uLWJyZWFrLS1tIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG4gICAgLm5oc3VrLWhvbWVwYWdlIC5uaHN1ay1zZWN0aW9uOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4LjA1MjVlbSkge1xuICAgIC5uaHN1ay1zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIH1cbiAgICAubmhzdWstc2VjdGlvbl9fY29udGVudCArIC5uaHN1ay1zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIC5uaHN1ay1zZWN0aW9uLS13aXRoLWltYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICAgIH1cbiAgICAubmhzdWstc2VjdGlvbi0td2l0aC1pbWFnZTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9jcm9zc2VzLW1vYmlsZS5zdmcpO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGhlaWdodDogMTI1cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLm5oc3VrLWhlYWRlcl9fbmF2aWdhdGlvbi5qcy1zaG93IC5uaHN1ay13aWR0aC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDI2LjMxMjVlbSkge1xuICAgIC8vIC5uaHN1ay1ob21lcGFnZSAubmhzdWstc2VjdGlvbjpudGgtb2YtdHlwZSgyKSBcbiAgICAubmhzdWstaG9tZXBhZ2UgLm5oc3VrLXNlY3Rpb246bnRoLW9mLXR5cGUoMikge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gICAgLm5oc3VrLXdpZHRoLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMCAzMnB4O1xuICAgIH1cbiAgICAubmhzdWstd2lkdGgtY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgbWFyZ2luOiAwIDMycHg7XG4gICAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5uaHN1ay13aWR0aC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjEuODY1ZW0pIHtcbiAgICAubmhzdWstaGVhZGVyX19uYXZpZ2F0aW9uLmpzLXNob3cge1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2YwZjRmNTtcbiAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICNmMGY0ZjU7XG4gICAgfVxuICAgIC5uaHN1ay1oZWFkZXJfX25hdmlnYXRpb24uanMtc2hvdyAubmhzdWstd2lkdGgtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDE2cHg7XG4gICAgfVxufSIsIi8qIFJlbGF0ZWQtbGlua3MtY2FyZCAtIG9sZCAqL1xuLm5oc3VrLXJlbGF0ZWQtbGlua3MtY2FyZF9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cbi5uaHN1ay1yZWxhdGVkLWxpbmtzLWNhcmRfX2xpc3QgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG4ubmhzdWstcmVsYXRlZC1saW5rcy1jYXJkX19saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubmhzdWstcmVsYXRlZC1saW5rcy1jYXJkX19saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn0iLCIvKiBIRUUtTWljcm9oZXJvICovXG4uaGVlLW1pY3JvaGVybyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyNjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREREO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn0iLCIvKiBIRUUtVGltZWxpbmUgKi9cbi5oZWUtdGltZWxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IG5oc3VrLXNwYWNpbmcoOSk7XG4gIG1hcmdpbi1ib3R0b206IG5oc3VrLXNwYWNpbmcoOSk7IFxuICBwYWRkaW5nOiBuaHN1ay1zcGFjaW5nKDUpIG5oc3VrLXNwYWNpbmcoNCkgbmhzdWstc3BhY2luZyg0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbmhzdWstYm9yZGVyLWNvbG9yO1xuXG4gIC5oZWUtdGltZWxpbmVfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtKG5oc3VrLXNwYWNpbmcoNSkpO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY0cHgpO1xuICAgIHBhZGRpbmc6IDEwcHggMjRweDtcbiAgICBjb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfbmhzdWstYmx1ZTtcbiAgfVxuXG4gIC5oZWUtdGltZWxpbmVfX2V2ZW50IHtcbiAgICBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiBuaHN1ay1zcGFjaW5nKDQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZygzKTtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgICBwIHtcbiAgICB9XG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgLm5oc3VrLXN1bW1hcnktbGlzdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5oZWUtdGltZWxpbmUtLW5vZXZlbnRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiBuaHN1ay1zcGFjaW5nKDkpO1xuICBtYXJnaW4tYm90dG9tOiBuaHN1ay1zcGFjaW5nKDkpOyBcbiAgcGFkZGluZzogbmhzdWstc3BhY2luZyg1KSBuaHN1ay1zcGFjaW5nKDQpIG5oc3VrLXNwYWNpbmcoNCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRuaHN1ay1ib3JkZXItY29sb3I7XG4gIC5oZWUtdGltZWxpbmVfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBuaHN1ay1zcGFjaW5nKDMpO1xuICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59IiwiLyogVGltZWxpbmUgQ2FyZCAtIG9sZCAqL1xuLm5oc3VrLXRpbWVsaW5lLWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IG5oc3VrLXNwYWNpbmcoOSk7XG4gIG1hcmdpbi1ib3R0b206IG5oc3VrLXNwYWNpbmcoOSk7IFxuICBwYWRkaW5nOiBuaHN1ay1zcGFjaW5nKDUpIG5oc3VrLXNwYWNpbmcoNCkgbmhzdWstc3BhY2luZyg0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbmhzdWstYm9yZGVyLWNvbG9yO1xuXG4gICZfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtKG5oc3VrLXNwYWNpbmcoNSkpO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY0cHgpO1xuICAgIHBhZGRpbmc6IDEwcHggMjRweDtcbiAgICBjb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfbmhzdWstYmx1ZTtcbiAgfVxuXG4gICZfX2V2ZW50IHtcbiAgICBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiBuaHN1ay1zcGFjaW5nKDQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZygzKTtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgICBwIHtcbiAgICB9XG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgLm5oc3VrLXN1bW1hcnktbGlzdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLm5oc3VrLXRpbWVsaW5lLWNhcmQtLW5vLWV2ZW50cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogbmhzdWstc3BhY2luZyg5KTtcbiAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZyg5KTsgXG4gIHBhZGRpbmc6IG5oc3VrLXNwYWNpbmcoNSkgbmhzdWstc3BhY2luZyg0KSBuaHN1ay1zcGFjaW5nKDQpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbmhzdWstYm9yZGVyLWNvbG9yO1xuICAubmhzdWstdGltZWxpbmUtY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IG5oc3VrLXNwYWNpbmcoMyk7XG4gICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn0iLCIvKiBOSFNVSy1JbWFnZS1DYXJkICovXG4ubmhzdWstaW1hZ2UtLWNhcmQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRuaHN1ay1ib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgLm5oc3VrLWltYWdlX19pbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgLm5oc3VrLWltYWdlX19jYXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIGNvbG9yOiAkbmhzdWstdGV4dC1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogbmhzdWstc3BhY2luZygzKTtcbiAgICB9XG59IiwiLyogUmVsYXRlZE5hdiAtIG9sZCAqL1xuLm5oc3VrLXJlbGF0ZWQtbmF2IHtcblx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICMwMDVlYjg7XG59XG5cbi5uaHN1ay1yZWxhdGVkLW5hdl9faGVhZGluZyB7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRwYWRkaW5nLXRvcDogMTZweDtcbn1cblxuLm5oc3VrLXJlbGF0ZWQtbmF2X19saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0cGFkZGluZy1sZWZ0OiAwO1xufVxuXG4ubmhzdWstcmVsYXRlZC1uYXZfX2l0ZW0ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtc2l6ZTogLjg3NXJlbTtcblx0bGluZS1oZWlnaHQ6IDEuNzE0Mjk7XG59XG5cbi5uaHN1ay1yZWxhdGVkLW5hdl9fc3ViLWhlYWRpbmcge1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdHBhZGRpbmctdG9wOiA4cHg7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC1zaXplOiAxcmVtO1xuXHRsaW5lLWhlaWdodDogMS4yO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuXHQubmhzdWstcmVsYXRlZC1uYXZfX2hlYWRpbmcge1xuXHRcdGZvbnQtc2l6ZTogMThwdDtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHR9XG5cblx0Lm5oc3VrLXJlbGF0ZWQtbmF2X19pdGVtIHtcblx0XHRmb250LXNpemU6IDE0cHQ7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0fVxuXG5cdC5uaHN1ay1yZWxhdGVkLW5hdl9fc3ViLWhlYWRpbmcge1xuXHRcdGZvbnQtc2l6ZTogMTRwdDtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHR9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOjQwLjA2MjVlbSkge1xuXHQubmhzdWstcmVsYXRlZC1uYXZfX2hlYWRpbmcge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHR9XG5cblx0Lm5oc3VrLXJlbGF0ZWQtbmF2X19pdGVtIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdH1cblxuXHQubmhzdWstcmVsYXRlZC1uYXZfX3N1Yi1oZWFkaW5nIHtcblx0XHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdFx0cGFkZGluZy10b3A6IDhweDtcblx0XHRmb250LXNpemU6IDE5cHg7XG5cdFx0Zm9udC1zaXplOiAxLjE4NzVyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDo0OC4wNTI1ZW0pIHtcblx0Lm5oc3VrLXJlbGF0ZWQtbmF2IHtcblx0XHRtYXJnaW4tdG9wOiA0OHB4O1xuXHR9XG59IiwiLyogTkhTVUstSGVhZGVyX19zZWFyY2ggKi9cbi5uaHN1ay1oZWFkZXJfX3NlYXJjaC13cmFwLmpzLXNob3cge1xuICBtYXJnaW4tbGVmdDogLShuaHN1ay1zcGFjaW5nKDUpKTtcbiAgbWFyZ2luLXJpZ2h0OiAtKG5oc3VrLXNwYWNpbmcoNSkpO1xufVxuXG4ubmhzdWstc2VhcmNoX19jbG9zZSB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMCAtNnB4IDAgMDtcbiAgcGFkZGluZzogNHB4IDdweDtcbn1cblxuLmFwcC1zZWFyY2gtcmVzdWx0cy1jYXRlZ29yeSB7XG4gIGNvbG9yOiAjNGM2MjcyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vKiBXaHkgaXMgdGhpcyBpbiB0aGUgbWlkZGxlIG9mIGhlYWRlcl9fc2VhcmNoPyAqL1xuLm5oc3VrLWxpc3QtLWJvcmRlciB7XG4gID5saSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOGRkZTA7XG4gICAgcGFkZGluZzogOHB4IDAgMTZweDtcbiAgICA+IHtcbiAgICAgIDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgICA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q4ZGRlMDtcbiAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICB9XG4gICAgLm5oc3VrLXJldmlldy1kYXRlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgIC8vLm5oc3VrLWJvZHktcyB7XG4gICAgICAgIC8vbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIC8vfVxuICAgIH1cbiAgfVxufVxuXG4ubmhzdWstY29udGFjdF9fY2FyZCAubmhzdWstbGlzdC0tYm9yZGVyID4gbGkgLm5oc3VrLXJldmlldy1kYXRlIC5uaHN1ay1jb250YWN0X19wcm9ub3VuLFxuLm5oc3VrLWNvbnRhY3RfX2NhcmQgLm5oc3VrLWxpc3QtLWJvcmRlciA+IGxpIC5uaHN1ay1yZXZpZXctZGF0ZSAubmhzdWstY29udGFjdF9fc2Vjb25kYXJ5LWluZm8gPiAqLFxuLm5oc3VrLWxpc3QtLWJvcmRlciA+IGxpIC5uaHN1ay1yZXZpZXctZGF0ZSAubmhzdWstYm9keS1zLFxuLm5oc3VrLWxpc3QtLWJvcmRlciA+IGxpIC5uaHN1ay1yZXZpZXctZGF0ZSAubmhzdWstY29udGFjdF9fY2FyZCAubmhzdWstY29udGFjdF9fcHJvbm91bixcbi5uaHN1ay1saXN0LS1ib3JkZXIgPiBsaSAubmhzdWstcmV2aWV3LWRhdGUgLm5oc3VrLWNvbnRhY3RfX2NhcmQgLm5oc3VrLWNvbnRhY3RfX3NlY29uZGFyeS1pbmZvID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xuICAuYXV0b2NvbXBsZXRlX19pbnB1dCB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG4gIC5hdXRvY29tcGxldGVfX2lucHV0IHtcbiAgICB3aWR0aDogMjAwcHg7XG4gIH1cbn1cbiIsIi8qIE5IU1VLLU1lZGlhIC0gb2xkICovXG4ubmhzdWstbWVkaWEge1xuICBtaW4td2lkdGg6IDI4OHB4O1xuICBtYXJnaW46IG5oc3VrLXNwYWNpbmcoNikgMCA4MHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiBuaHN1ay1zcGFjaW5nKDQpIDA7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkbmhzdWstYm9yZGVyLWNvbG9yO1xuXG4gIGgyIHtcbiAgICBtYXJnaW46IDAgbmhzdWstc3BhY2luZyg0KSBuaHN1ay1zcGFjaW5nKDQpO1xuICB9XG5cbiAgLm5oc3VrLW1lZGlhX19jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgbmhzdWstc3BhY2luZyg0KSA1Ni4yNSUgbmhzdWstc3BhY2luZyg0KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpZnJhbWUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFuY2hvciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgaWZyYW1lIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uaHN1ay1tZWRpYV9fZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDAgbmhzdWstc3BhY2luZyg0KSBuaHN1ay1zcGFjaW5nKDQpO1xuXG4gICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLm5oc3VrLW1lZGlhX19pbmZvIHtcbiAgICBwYWRkaW5nOiBuaHN1ay1zcGFjaW5nKDQpIG5oc3VrLXNwYWNpbmcoNCkgMDtcbiAgfVxuXG4gIC5uaHN1ay1tZWRpYV9fcmV2aWV3cyB7XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBAaW5jbHVkZSBuaHN1ay1mb250KDE2KTtcbiAgICAgIGNvbG9yOiAkbmhzdWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmhzdWstbWVkaWFfX3RyYW5zY3JpcHQge1xuXG4gICAgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZygzKTtcbiAgICAgIHBhZGRpbmctbGVmdDogbmhzdWstc3BhY2luZyg0KTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAkbmhzdWstbGluay1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5oc3VrLWZvY3VzLXRleHQtY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbmhzdWstZm9jdXMtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIHNwYW46YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDUwJSwgMCUgMTAwJSk7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgNTAlLCAwIDEwMCUpO1xuICAgICAgICBib3JkZXItd2lkdGg6IDhweCAwIDhweCAxMnB4O1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5uaHN1ay1tZWRpYV9fc2hvdy10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5uaHN1ay1tZWRpYV9faGlkZS10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5oc3VrLW1lZGlhX190cmFuc2NyaXB0LXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IG5oc3VrLXNwYWNpbmcoNCk7XG4gICAgfSBcblxuICAgICYubmhzdWstbWVkaWFfX3RyYW5zY3JpcHQtZXhwYW5kZWQge1xuICAgICAgICBhIHtcbiAgICAgICAgICBzcGFuOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAvL2NsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgNTAlIDEwMCUsIDEwMCUgMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgNTAlIDEwMCUsIDEwMCUgMCk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDEycHggOHB4IDAgOHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmhzdWstbWVkaWFfX3RyYW5zY3JpcHQtdGV4dCxcbiAgICAgICAgLm5oc3VrLW1lZGlhX19oaWRlLXRleHQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC5uaHN1ay1tZWRpYV9fc2hvdy10ZXh0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cbn1cblxuLm5oc3VrLWdyaWQtY29sdW1uLXR3by10aGlyZHMge1xuICAubmhzdWstbWVkaWEge1xuICAgIGlmcmFtZSB7XG4gICAgICAmLnlvdXR1YmUsXG4gICAgICAmLnZpbWVve1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgbWluLWhlaWdodDogY2FsYygoKDEwMHZ3IC0gNDhweCkgLyAxNiAqIDkpIC0gNzRweCk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYxLjg3NWVtKXtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA0ODBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBZGp1c3QgcmVzcG9uc2l2ZSBoZWlnaHQgZm9yIGFuY2hvciBlbWJlZCB3aXRoaW4gcmlnaHQgaGFuZCBzaWRlYmFyIHRlbXBsYXRlLlxuLnBhZ2UtLXJpZ2h0YmFyIC5wYWdlX19jb250ZW50IHtcbiAgLm5oc3VrLW1lZGlhX19jb250YWluZXIuYW5jaG9yIHtcbiAgICBpZnJhbWUge1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRqdXN0IHJlc3BvbnNpdmUgaGVpZ2h0IGZvciBhbmNob3IgZW1iZWQgd2l0aGluIGZ1bGx3aWR0aCB0ZW1wbGF0ZS5cbi5wYWdlLS1mdWxsd2lkdGggLnBhZ2VfX2NvbnRlbnQge1xuICAubmhzdWstbWVkaWFfX2NvbnRhaW5lci5hbmNob3Ige1xuICAgIGlmcmFtZSB7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICBoZWlnaHQ6IDE2MnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogTkhTVUstTWFwIC0gbmVlZCBzd2FwcGluZyB0byBIRUUtTmF2bWFwICovXG5cbi5uaHN1ay1tYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luKDYsICdib3R0b20nKTtcblxuICBtYXJnaW4tbGVmdDogMDsgXG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcGFkZGluZzogbmhzdWstc3BhY2luZyg2KSAwO1xuICBwYWRkaW5nLXRvcDogMDtcblxuICAmICsgLm5oc3VrLW1hcCB7XG4gICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oMCwgJ3RvcCcpO1xuICB9XG59XG5cbi5uaHN1ay1tYXBfX2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA1MCU7XG59IFxuXG4ubmhzdWstbWFwX19pbWFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiAgLm5oc3VrLW1hcF9fY2FwdGlvbiB7XG4gIEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxNik7XG5cbiAgLm5oc3VrLW1hcF9fZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZyg1KTtcblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IG5oc3VrLXNwYWNpbmcoNCk7XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBuaHN1ay1zcGFjaW5nKDQpO1xuICAgICAgXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIFxuICAgICAgICAmLmhvdmVyLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjp2aXNpdGVke1xuICAgICAgICAgIGNvbG9yOiAkbmhzdWstbGluay1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gIC5uaHN1ay1tYXAge1xuICAgIC5uaHN1ay1tYXBfX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAubmhzdWstbWFwX19jYXB0aW9uIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IG5oc3VrLXNwYWNpbmcoNCk7XG4gICAgfVxuICB9XG59XG5cbiIsIi8qIE5IU1VLLVJlc291cmNlc19fbGluayAtIG9sZCAqL1xuLm5oc3VrLXJlc291cmNlc19fbGluayB7XG5cbiAgICAubmhzdWstcmVzb3VyY2VzX190YWcsXG4gICAgLm5oc3VrLXJlc291cmNlc19fZG9jU2l6ZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubmhzdWstcmVzb3VyY2VzX190YWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICBtaW4td2lkdGg6IG5oc3VrLXNwYWNpbmcoNik7XG4gICAgICAgIG1hcmdpbjogMCBuaHN1ay1zcGFjaW5nKDIpO1xuICAgICAgICBwYWRkaW5nOiAycHggbmhzdWstc3BhY2luZygyKTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIH1cblxuICAgIC5uaHN1ay1yZXNvdXJjZXNfX3BkZiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNDBGMDI7XG4gICAgfVxuICAgIC5uaHN1ay1yZXNvdXJjZXNfX2RvYyxcbiAgICAubmhzdWstcmVzb3VyY2VzX19kb2N4IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiNTc5YTtcbiAgICB9XG4gICAgLm5oc3VrLXJlc291cmNlc19feGxzLFxuICAgIC5uaHN1ay1yZXNvdXJjZXNfX3hsc3gsXG4gICAgLm5oc3VrLXJlc291cmNlc19fY3N2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFENkY0MjtcbiAgICB9XG4gICAgLm5oc3VrLXJlc291cmNlc19fdHh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc2ODY5MjtcbiAgICB9XG4gICAgLm5oc3VrLXJlc291cmNlc19fb2R0LFxuICAgIC5uaHN1ay1yZXNvdXJjZXNfX290dCxcbiAgICAubmhzdWstcmVzb3VyY2VzX19mb2R0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ1NjY5NztcbiAgICB9XG4gICAgLm5oc3VrLXJlc291cmNlc19fb2RzLFxuICAgIC5uaHN1ay1yZXNvdXJjZXNfX290cyxcbiAgICAubmhzdWstcmVzb3VyY2VzX19mb2RzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhYmYxYztcbiAgICB9XG4gICAgLm5oc3VrLXJlc291cmNlc19fb2RmLFxuICAgIC5uaHN1ay1yZXNvdXJjZXNfX2ZvZGYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEwNmY1YTtcbiAgICB9XG4gICAgLm5oc3VrLXJlc291cmNlc19fb2RwLFxuICAgIC5uaHN1ay1yZXNvdXJjZXNfX290cCxcbiAgICAubmhzdWstcmVzb3VyY2VzX19mb2RwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxNjYyZDtcbiAgICB9XG4gICAgLm5oc3VrLXJlc291cmNlc19fb3RoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzczNzM3MztcbiAgICB9XG4gICAgLm5oc3VrLXJlc291cmNlc19fb2RnLFxuICAgIC5uaHN1ay1yZXNvdXJjZXNfX2ZvZGcsXG4gICAgLm5oc3VrLXJlc291cmNlc19fb3RnIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0YTIwNDtcbiAgICB9XG4gICAgLm5oc3VrLXJlc291cmNlc19fb2RiLFxuICAgIC5uaHN1ay1yZXNvdXJjZXNfX2ZvZGIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUyNjViO1xuICAgIH1cbiAgICAubmhzdWstcmVzb3VyY2VzX19vZG0sXG4gICAgLm5oc3VrLXJlc291cmNlc19fZm9kbSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDRjODQ7XG4gICAgfVxuXG5cbiAgICAubmhzdWstcmVzb3VyY2VzX19kb2NTaXplIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogJGNvbG9yX25oc3VrLWdyZXktMjtcbiAgICB9XG5cbn1cblxuLm5oc3VrLXJlc291cmNlc19fbGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn0iLCIvKiBIRUUtUmVzb3VyY2VzICovXG4uaGVlLXJlc291cmNlc19fbGluayB7XG5cbiAgICAuaGVlLXJlc291cmNlc19fdGFnLFxuICAgIC5oZWUtcmVzb3VyY2VzX19kb2NTaXplIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5oZWUtcmVzb3VyY2VzX190YWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICBtaW4td2lkdGg6IG5oc3VrLXNwYWNpbmcoNik7XG4gICAgICAgIG1hcmdpbjogMCBuaHN1ay1zcGFjaW5nKDIpO1xuICAgICAgICBwYWRkaW5nOiAycHggbmhzdWstc3BhY2luZygyKTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIH1cblxuICAgIC5oZWUtcmVzb3VyY2VzX19wZGYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjQwRjAyO1xuICAgIH1cbiAgICAuaGVlLXJlc291cmNlc19fZG9jLFxuICAgIC5oZWUtcmVzb3VyY2VzX19kb2N4IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiNTc5YTtcbiAgICB9XG4gICAgLmhlZS1yZXNvdXJjZXNfX3hscyxcbiAgICAuaGVlLXJlc291cmNlc19feGxzeCxcbiAgICAuaGVlLXJlc291cmNlc19fY3N2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFENkY0MjtcbiAgICB9XG4gICAgLmhlZS1yZXNvdXJjZXNfX3R4dCxcbiAgICAuaGVlLXJlc291cmNlc19fbXJjIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc2ODY5MjtcbiAgICB9XG4gICAgLmhlZS1yZXNvdXJjZXNfX29kdCxcbiAgICAuaGVlLXJlc291cmNlc19fb3R0LFxuICAgIC5oZWUtcmVzb3VyY2VzX19mb2R0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ1NjY5NztcbiAgICB9XG4gICAgLmhlZS1yZXNvdXJjZXNfX29kcyxcbiAgICAuaGVlLXJlc291cmNlc19fb3RzLFxuICAgIC5oZWUtcmVzb3VyY2VzX19mb2RzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhYmYxYztcbiAgICB9XG4gICAgLmhlZS1yZXNvdXJjZXNfX29kZixcbiAgICAuaGVlLXJlc291cmNlc19fZm9kZiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTA2ZjVhO1xuICAgIH1cbiAgICAuaGVlLXJlc291cmNlc19fb2RwLFxuICAgIC5oZWUtcmVzb3VyY2VzX19vdHAsXG4gICAgLmhlZS1yZXNvdXJjZXNfX2ZvZHAsXG4gICAgLmhlZS1yZXNvdXJjZXNfX3BwdCxcbiAgICAuaGVlLXJlc291cmNlc19fcHB0eCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMTY2MmQ7XG4gICAgfVxuICAgIC5oZWUtcmVzb3VyY2VzX19vdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM3MzczO1xuICAgIH1cbiAgICAuaGVlLXJlc291cmNlc19fb2RnLFxuICAgIC5oZWUtcmVzb3VyY2VzX19mb2RnLFxuICAgIC5oZWUtcmVzb3VyY2VzX19vdGcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRhMjA0O1xuICAgIH1cbiAgICAuaGVlLXJlc291cmNlc19fb2RiLFxuICAgIC5oZWUtcmVzb3VyY2VzX19mb2RiIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1MjY1YjtcbiAgICB9XG4gICAgLmhlZS1yZXNvdXJjZXNfX29kbSxcbiAgICAuaGVlLXJlc291cmNlc19fZm9kbSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDRjODQ7XG4gICAgfVxuXG5cbiAgICAuaGVlLXJlc291cmNlc19fZG9jU2l6ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRjb2xvcl9uaHN1ay1ncmV5LTI7XG4gICAgfVxuXG59XG5cbi5oZWUtcmVzb3VyY2VzX19saXN0IHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4vLyBDYXJkIGFkanVzdG1lbnRzXG4uaGVlLWNhcmQtLWRldGFpbHMge1xuICAgIC5oZWUtcmVzb3VyY2VzX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1wYWRkaW5nKDIsICdyaWdodCcpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlZS1yZXNvdXJjZXNfX2xpbmsge1xuICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAgICAgJi5oZWUtcmVzb3VyY2VzX190ZXh0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBuaHN1ay1zcGFjaW5nKDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmhlZS1yZXNvdXJjZXNfX3RhZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCA2cHggMCA2cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm5oc3VrLWhlZS10YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDE2cHg7XG59XG4ubmhzdWstaGVlLXRhYmxlIGNhcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxNnB4IDE2cHggMCAxNnB4O1xufVxuXG4ubmhzdWstZGV0YWlscyB7XG4gIC5uaHN1ay1kZXRhaWxzX190ZXh0IHtcbiAgICB0YWJsZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBjYXB0aW9uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qIEhFRS1BcHBsaWVzVG8gKi9cbi5oZWUtYXBwbGllc3RvIHtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIG1hcmdpbjogNDhweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDVlYjg7XG59XG5cbi5oZWUtYXBwbGllc3RvIHAge1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uaGVlLWFwcGxpZXN0byBhIHtcbiAgICBjb2xvcjogI0ZGRjtcbn1cblxuLmhlZS1hcHBsaWVzdG8gc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIC8qLmhlZS1hcHBsaWVzdG8ge1xuLy8gICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgJ3RvcCcpO1xuLy8gICAgcGFkZGluZzogbmhzdWstc3BhY2luZyg0KTtcbi8vICAgIGJhY2tncm91bmQtY29sb3I6ICRuaHN1ay1saW5rLWNvbG9yO1xuLy9cbi8vICAgIHAge1xuLy8gICAgICAgIEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxNik7XG4vLyAgICAgICAgZGlzcGxheTogYmxvY2s7XG4vLyAgICAgICAgbWFyZ2luLXRvcDogMDtcbi8vICAgICAgICBjb2xvcjogI0ZGRjtcbi8vICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuLy8gICAgfVxuLy9cbi8vICAgIGEge1xuLy8gICAgICAgIGNvbG9yOiAjRkZGO1xuLy8gICB9XG4vL1xuLy8gICAgc3BhbiB7XG4vLyAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAgICB9XG4vL30qLyIsIi8qIEhFRS1BbmNob3JMaW5rcyAqL1xuLmhlZS1hbmNob3JsaW5rcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBwYWRkaW5nOiBuaHN1ay1zcGFjaW5nKDQpO1xuICAgIG1hcmdpbi1ib3R0b206IG5oc3VrLXNwYWNpbmcoNCk7XG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBuaHN1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMjIpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRuaHN1ay1mb250LWJvbGQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luKDMsICdib3R0b20nKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBuaHN1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTkpO1xuICAgICAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLW1hcmdpbigwLCAnYm90dG9tJyk7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxNik7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLW1hcmdpbigyLCAnYm90dG9tJyk7XG5cbiAgICAgICAgICAgICYuaGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWUtYW5jaG9ybGlua3NfX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luKDIsICdib3R0b20nKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJG5oc3VrLXNwYWNpbmctcG9pbnRzLCAyKTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBtYXAtZ2V0KCRuaHN1ay1zcGFjaW5nLXBvaW50cywgMSk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkbmhzdWstc3BhY2luZy1wb2ludHMsIDEpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGNvbG9yX25oc3VrLWJsYWNrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY2hldnJvbiB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLW1hcmdpbigyLCAndG9wJyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLW1hcmdpbig1LCAnbGVmdCcpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gU3RpY2t5IFRPQy5cbi5oZWUtYW5jaG9ybGlua3NfX3N0aWNreSB7XG4gIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtcGFkZGluZyg0KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTQ7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX25oc3VrLWdyZXktNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiA5MXB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG1pbi1oZWlnaHQ6IDkxcHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgbWluLWhlaWdodDogMTA3cHg7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuaGVlLWFuY2hvcmxpbmtzX19zdGlja3lfX3dyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgfVxuXG4gICAgLmhlZS1hbmNob3JsaW5rcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmLmlzLXN0aWNreSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTQ7XG4gICAgICAgIGJvdHRvbTogMzFweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlZS1hbmNob3JsaW5rc19fc3RpY2t5X19idG4ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX25oc3VrLWdyZXktNDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yX25oc3VrLWJsYWNrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBmb250LXdlaWdodDogJG5oc3VrLWZvbnQtYm9sZDtcbiAgICBwYWRkaW5nOiAxNnB4IDE0cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogJGNvbG9yX25oc3VrLWJsYWNrO1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgY2xhc3M9J25oc3VrLWljb24gbmhzdWstaWNvbl9fY2hldnJvbi1yaWdodCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnIGFyaWEtaGlkZGVuPSd0cnVlJyUzRSUzQ3BhdGggZD0nTTE1LjUgMTJhMSAxIDAgMCAxLS4yOS43MWwtNSA1YTEgMSAwIDAgMS0xLjQyLTEuNDJsNC4zLTQuMjktNC4zLTQuMjlhMSAxIDAgMCAxIDEuNDItMS40Mmw1IDVhMSAxIDAgMCAxIC4yOS43MXonJTNFJTNDL3BhdGglM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggY2VudGVyO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlZS1hbmNob3JsaW5rc19fc3RpY2t5X190b3AtbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xMiA4LjVDMTIuMyA4LjUgMTIuNSA4LjYgMTIuNyA4LjhMMTcuNyAxMy44QzE4LjEgMTQuMiAxOC4xIDE0LjggMTcuNyAxNS4yQzE3LjMgMTUuNiAxNi43IDE1LjYgMTYuMyAxNS4yTDEyIDEwLjlMNy43IDE1LjJDNy4zIDE1LjYgNi43IDE1LjYgNi4zIDE1LjJDNS45IDE0LjggNS45IDE0LjIgNi4zIDEzLjhMMTEuMyA4LjhDMTEuNSA4LjYgMTEuNyA4LjUgMTIgOC41WicgZmlsbD0nYmxhY2snLyUzRSUzQ3JlY3QgeD0nNicgeT0nNScgd2lkdGg9JzEyJyBoZWlnaHQ9JzInIHJ4PScxJyBmaWxsPSdibGFjaycvJTNFJTNDcmVjdCB4PScxMScgeT0nMTknIHdpZHRoPScxMCcgaGVpZ2h0PScyJyByeD0nMScgdHJhbnNmb3JtPSdyb3RhdGUoLTkwIDExIDE5KScgZmlsbD0nYmxhY2snLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTQ7XG4gICAgaGVpZ2h0OiA1OHB4O1xuICAgIHRleHQtaW5kZW50OiAtOTk5OTlweDtcbiAgICB3aWR0aDogNTlweDtcblxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJGNvbG9yX25oc3VrLWJsdWU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG5oc3VrLWZvbnQoMTkpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8qIE5IU1VLLUhFRS1QaGFzZUJhbm5lciAtIHN3YXAgdG8gSEVFLVBoYXNlQmFubmVyICovXG4uaGVlLXBoYXNlYmFubmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuaHN1ay1ib3JkZXItY29sb3I7XG4gIHBhZGRpbmctdG9wOiBuaHN1ay1zcGFjaW5nKDIpO1xuICBwYWRkaW5nLWJvdHRvbTogbmhzdWstc3BhY2luZygyKTtcblxuICAuaGVlLXBoYXNlYmFubmVyX193cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAuaGVlLXBoYXNlYmFubmVyX190YWcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX25oc3VrLWJsdWU7XG4gICAgICBjb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBuaHN1ay1zcGFjaW5nKDMpO1xuICAgICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVlLXBoYXNlYmFubmVyX19jb250ZW50IHtcbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBuaHN1ay1mb250KDE2KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBuaHN1ay1zcGFjaW5nKDIpO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaGVlLXBoYXNlYmFubmVyLS1ub3RhZyB7XG4gIC5oZWUtcGhhc2ViYW5uZXJfX3RhZyB7XG4gICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5oZWUtdGFicyB7fVxuXG4uaGVlLXRhYnMge31cblxuLm5oc3VrLXRhYnMge1xuICAgIG1hcmdpbjogMCAwIG5oc3VrLXNwYWNpbmcoNyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5uaHN1ay10YWJzX19tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAubmhzdWstdGFic19fZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uaHN1ay10YWJzX19tb2JpbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5uaHN1ay10YWJzX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5oc3VrLXRhYnNfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC8vanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC8vaGVpZ2h0OjEwMCU7XG5cbiAgICAgICAgLm5oc3VrLXRhYnNfX2xpc3QtaXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfbmhzdWstd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmhzdWstbGluay1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgY2xhc3M9J25oc3VrLWljb24gbmhzdWstaWNvbl9fcGx1cycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPSczMicgYXJpYS1oaWRkZW49J3RydWUnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCcgZmlsbD0nbm9uZSclM0UlM0MvY2lyY2xlJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyM2ZmZicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTEyIDh2OE04IDEyaDgnJTNFJTNDL3BhdGglM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgbmhzdWstc3BhY2luZygxKSBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIC0obmhzdWstc3BhY2luZygxKSkgMCAjMDA0YjkzO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nOiBuaHN1ay1zcGFjaW5nKDMpIG5oc3VrLXNwYWNpbmcoNSkgbmhzdWstc3BhY2luZygzKSBuaHN1ay1zcGFjaW5nKDMpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmhzdWstZm9jdXMtY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBjbGFzcz0nbmhzdWstaWNvbiBuaHN1ay1pY29uX19wbHVzJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzMyJyBhcmlhLWhpZGRlbj0ndHJ1ZSclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyBmaWxsPSdub25lJyUzRSUzQy9jaXJjbGUlM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNMTIgOHY4TTggMTJoOCclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0UlMEFcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgbmhzdWstc3BhY2luZygxKSBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgLShuaHN1ay1zcGFjaW5nKDEpKSAwICMyMTJiMzI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRuaHN1ay1mb2N1cy10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgY2xhc3M9J25oc3VrLWljb24gbmhzdWstaWNvbl9fcGx1cycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPSczMicgYXJpYS1oaWRkZW49J3RydWUnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCcgZmlsbD0nbm9uZSclM0UlM0MvY2lyY2xlJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTEyIDh2OE04IDEyaDgnJTNFJTNDL3BhdGglM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmhzdWstZm9jdXMtdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uaHN1ay10YWJzX19saXN0LWl0ZW0ubmhzdWstdGFic19fbGlzdC1pdGVtLS1zZWxlY3RlZCB7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQ6ICRuaHN1ay1mb2N1cy1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIGNsYXNzPSduaHN1ay1pY29uIG5oc3VrLWljb25fX21pbnVzJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzMyJyBhcmlhLWhpZGRlbj0ndHJ1ZSclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyBmaWxsPSdub25lJyUzRSUzQy9jaXJjbGUlM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNOCAxMmg4JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IG5oc3VrLXNwYWNpbmcoMSkgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgY29sb3I6ICRuaHN1ay1mb2N1cy10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgY3Vyc29yOiB1bnNldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uaHN1ay10YWJzX19wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luKDAsIFwiYm90dG9tXCIpO1xuICAgICAgICBwYWRkaW5nOiBuaHN1ay1zcGFjaW5nKDYpIG5oc3VrLXNwYWNpbmcoNCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiAgICAgICAgcGFkZGluZzogbmhzdWstc3BhY2luZygzKTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKiBUYWJsZXMgMiAtIGR1cGxpY2F0ZT8gKi9cbnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xufVxudGFibGUgY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxNnB4IDE2cHggMCAxNnB4O1xufVxuLm5oc3VrLWhlZS10YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNGVtICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0OC4wNTI1ZW0pIHtcbiAgICAubmhzdWstdGFibGUtcmVzcG9uc2l2ZSAubmhzdWstdGFibGVfX2JvZHkgLm5oc3VrLXRhYmxlX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG4gICAgLm5oc3VrLXRhYmxlLXJlc3BvbnNpdmUgLm5oc3VrLXRhYmxlX19ib2R5IC5uaHN1ay10YWJsZV9fcm93IC5uaHN1ay10YWJsZV9fY2VsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIC5uaHN1ay10YWJsZS1yZXNwb25zaXZlIC5uaHN1ay10YWJsZV9fYm9keSAubmhzdWstdGFibGVfX3JvdyAubmhzdWstdGFibGVfX2NlbGw6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNkOGRkZTA7XG4gICAgfVxuICAgIC5uaHN1ay10YWJsZS1yZXNwb25zaXZlIC5uaHN1ay10YWJsZV9fYm9keSAubmhzdWstdGFibGVfX3JvdyAubmhzdWstdGFibGUtcmVzcG9uc2l2ZV9faGVhZGluZyB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuLm5oc3VrLWhlZS10YWJsZS0tbXVsdGljb2xzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLm5oc3VrLWhlZS10YWJsZS0tbXVsdGljb2xzIGNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU0NTU7XG59XG4ubmhzdWstaGVlLXRhYmxlLS1tdWx0aWNvbHMgLm5oc3VrLXRhYmxlX19oZWFkIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogMXB4O1xufVxuLm5oc3VrLWhlZS10YWJsZS0tbXVsdGljb2xzIC5uaHN1ay10YWJsZV9fYm9keSAubmhzdWstdGFibGVfX3JvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbi5uaHN1ay1oZWUtdGFibGUtLW11bHRpY29scyAubmhzdWstdGFibGVfX2JvZHkgLm5oc3VrLXRhYmxlX19yb3cgLm5oc3VrLXRhYmxlX19jZWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4td2lkdGg6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm5oc3VrLWhlZS10YWJsZS0tbXVsdGljb2xzIC5uaHN1ay10YWJsZV9fYm9keSAubmhzdWstdGFibGVfX3JvdyAubmhzdWstdGFibGVfX2NlbGw6bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2Q4ZGRlMDtcbn1cbi5uaHN1ay1oZWUtdGFibGUtLW11bHRpY29scyAubmhzdWstdGFibGVfX2JvZHkgLm5oc3VrLXRhYmxlX19yb3cgLm5oc3VrLXRhYmxlLXJlc3BvbnNpdmVfX2hlYWRpbmcge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xufSIsIi8qIEhFRS1HbG9iYWxBbGVydCAqL1xuLmhlZS1iYW5uZXIge1xuXHRAaW5jbHVkZSBwcmludC1oaWRlKCk7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay15ZWxsb3c7XG5cdHBhZGRpbmctYm90dG9tOiBuaHN1ay1zcGFjaW5nKDQpO1xuXHRwYWRkaW5nLXRvcDogbmhzdWstc3BhY2luZyg0KTtcblxuXHQuaGVlLWJhbm5lcl9fbWVzc2FnZSB7XG5cdFx0QGluY2x1ZGUgdG9wLWFuZC1ib3R0b207XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0aDEge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA1NnB4O1xuXHRcdH1cblxuXHRcdGgyIHtcblx0XHRcdEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgzMik7XG5cdFx0XHRAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLW1hcmdpbigzLCAnYm90dG9tJyk7XG5cdFx0XHRsaW5lLWhlaWdodDogNDBweDtcblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRoMyB7XG5cdFx0XHRAaW5jbHVkZSBuaHN1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMjQpO1xuXHRcdFx0QGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oMywgJ2JvdHRvbScpO1xuXHRcdFx0QGluY2x1ZGUgbmhzdWstdHlwb2dyYXBoeS13ZWlnaHQtbm9ybWFsKCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMzJweDtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdFxuXHRcdHAge1xuXHRcdFx0QGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oMiwgJ3RvcCcpO1xuXHRcdFx0QGluY2x1ZGUgbmhzdWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE5KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbi1ib3R0b206IDE2cHg7XG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRAaW5jbHVkZSBuaHN1ay1saW5rLXN0eWxlLWludmVydGVkO1xuXHRcdH1cblx0fVxuXG5cdCYuaGVlLWJhbm5lci0tYW5ub3VuY2VtZW50IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstZGFyay1waW5rO1xuXHR9XG5cblx0Ji5oZWUtYmFubmVyLS1tb3VybmluZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcblx0fVxuXG5cdCYuaGVlLWJhbm5lci0tYW5ub3VuY2VtZW50LCAmLmhlZS1iYW5uZXItLW1vdXJuaW5nIHtcblx0XHRjb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuXG5cdFx0YSB7XG5cdFx0XHRAaW5jbHVkZSBuaHN1ay1saW5rLXN0eWxlLWludmVydGVkO1xuXHRcdFx0QGluY2x1ZGUgbmhzdWstbGluay1zdHlsZS13aGl0ZTtcblxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ09NUE9ORU5UUyAvICNIRUUtU0lERUJBUklNQUdFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGVlLXNpZGViYXJpbWFnZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG5oc3VrLWJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG4gICAgcGFkZGluZzogMjRweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgICAuaGVlLXNpZGViYXJpbWFnZV9faW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC5oZWUtc2lkZWJhcmltYWdlX19jYXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIGNvbG9yOiAkbmhzdWstdGV4dC1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogbmhzdWstc3BhY2luZygzKTtcbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENPTVBPTkVOVFMgLyAjU0lERUJBUkxJTktTIC0gcmVsYXRlZCwgZG93bmxvYWQsIHJlc291cmNlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhlZS1jYXJkLS1yZWxhdGVkLWxpbmtzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q4ZGRlMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuaGVlLWNhcmQtLXJlbGF0ZWQtbGlua3NfX2hlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xuICAgICAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLW1hcmdpbigzLCAnYm90dG9tJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhlZS1jYXJkLS1yZWxhdGVkLWxpbmtzX19saXN0IHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oMywgJ2JvdHRvbScpO1xuICAgICAgfVxuXG4gICAgICBsaTpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuaGVlLWNhcmQtLXJlbGF0ZWQtbGlua3NfX2xpbmsge1xuICAgICAgQGluY2x1ZGUgbmhzdWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE2KTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGp1c3RtZW50cyBmb3IgaXRlbSBib3JkZXIgdmFyaWFudC5cbiAgICAmLnRoZW1lX19pdGVtLWJvcmRlciB7XG4gICAgICAuaGVlLWNhcmQtLXJlbGF0ZWQtbGlua3NfX2xpc3Qge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZygyKTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogbmhzdWstc3BhY2luZygxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbn0iLCIuaGVlLWxpc3Rpbmcge1xuICAuaGVlLWxpc3RpbmdfX3N1bW1hcnkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfbmhzdWstZ3JleS00O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICB9XG5cbiAgLmhlZS1saXN0aW5nX19yZXN1bHRzIHtcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkbmhzdWstc3BhY2luZy1wb2ludHMsIDMpO1xuICB9XG59IiwiLmhlZS1saXN0aW5nLWl0ZW0ge1xuICBAaW5jbHVkZSBuaHN1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTQ7XG4gIHBhZGRpbmc6IG1hcC1nZXQoJG5oc3VrLXNwYWNpbmctcG9pbnRzLCAzKTtcbiAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkbmhzdWstc3BhY2luZy1wb2ludHMsIDMpO1xuXG4gIC5oZWUtbGlzdGluZy1pdGVtX19kZXRhaWxzX19yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJG5oc3VrLXNwYWNpbmctcG9pbnRzLCAyKTtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAmLmhlZS1saXN0aW5nLWl0ZW1fX2RldGFpbHNfX2xhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRuaHN1ay1mb250LWJvbGQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xuICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIEZpbHRlciAqL1xuLm5oc3VrLWZpbHRlciB7XG4gIC5uaHN1ay1maWVsZHNldF9fbGVnZW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRuaHN1ay1zcGFjaW5nLXBvaW50cywgMyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubmhzdWstZmlsdGVyX19ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLm5oc3VrLWZpbHRlcl9fZ3JvdXBfX2NsZWFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcblxuICAgICAgJi52aXNpYmxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uaHN1ay1mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRuaHN1ay1zcGFjaW5nLXBvaW50cywgNSk7XG4gIH1cblxuICAvLyBDbG9zZWQgZ3JvdXBzXG4gICZfX2dyb3VwLS1jbG9zZWQgLm5oc3VrLWNoZWNrYm94ZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19ncm91cC0tY2xvc2VkIC5uaHN1ay1maWVsZHNldF9fbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gSlMgZW5hYmxlZCAodmFyaWFudClcbiAgJi0tanMgLm5oc3VrLWZpZWxkc2V0X19sZWdlbmQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgdmlld0JveD0nMCAwIDQ0OCA1MTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZD0nbTI0MC45NyAxMzAuNTIgMTk0LjM0IDE5NC4zNGM5LjM3MyA5LjM3MyA5LjM3MyAyNC41NjkgMCAzMy45NDFsLTIyLjY2NyAyMi42NjdjLTkuMzU3IDkuMzU3LTI0LjUyMiA5LjM3NS0zMy45MDEgMC4wNGwtMTU0Ljc1LTE1NC4wMi0xNTQuNzQgMTU0LjAyYy05LjM3OSA5LjMzNS0yNC41NDQgOS4zMTctMzMuOTAxLTAuMDRsLTIyLjY2Ny0yMi42NjdjLTkuMzczLTkuMzczLTkuMzczLTI0LjU2OSAwLTMzLjk0MWwxOTQuMzQtMTk0LjM0YzkuMzcyLTkuMzczIDI0LjU2OC05LjM3MyAzMy45NDEtMWUtM3onLyUzRSUzQy9zdmclM0UlMEFcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLjNlbSAuM2VtO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAuNzVlbTtcbiAgICBjb2xvcjogJGNvbG9yX25oc3VrLWJsdWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmctbGVmdDogMS42ZW07XG4gIH1cblxuICAmLS1qcyAmX19ncm91cC0tY2xvc2VkIC5uaHN1ay1maWVsZHNldF9fbGVnZW5kIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ0OCA1MTInJTNFJTNDcGF0aCBmaWxsPSclMjMwMDAnIGQ9J00yMDcuMDI5IDM4MS40NzZMMTIuNjg2IDE4Ny4xMzJjLTkuMzczLTkuMzczLTkuMzczLTI0LjU2OSAwLTMzLjk0MWwyMi42NjctMjIuNjY3YzkuMzU3LTkuMzU3IDI0LjUyMi05LjM3NSAzMy45MDEtLjA0TDIyNCAyODQuNTA1bDE1NC43NDUtMTU0LjAyMWM5LjM3OS05LjMzNSAyNC41NDQtOS4zMTcgMzMuOTAxLjA0bDIyLjY2NyAyMi42NjdjOS4zNzMgOS4zNzMgOS4zNzMgMjQuNTY5IDAgMzMuOTQxTDI0MC45NzEgMzgxLjQ3NmMtOS4zNzMgOS4zNzItMjQuNTY5IDkuMzcyLTMzLjk0MiAweicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxufSIsIi8qIEZpbHRlclRhZyAqL1xuLm5oc3VrLWZpbHRlci10YWcge1xuICBwYWRkaW5nOiAuNzVlbSAxZW07XG4gIG1hcmdpbjogLjE1ZW0gMDtcblxuICA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgaGVpZ2h0OiAxLjVlbTtcbiAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgfVxuXG4gIC8vIEpTXG4gICYtLWpzIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn0iLCIuaGVlLXNlYXJjaC1mb3JtIHtcblxuICAuaGVlLXNlYXJjaC1mb3JtX193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5oZWUtc2VhcmNoLWZvcm1fX2lucHV0IHtcbiAgICBAaW5jbHVkZSBuaHN1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTM7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICAgIGNvbG9yOiAkY29sb3JfbmhzdWstZ3JleS0xO1xuICAgIGZsZXgtZ3JvdzogMjtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gICAgcGFkZGluZzogMCAxNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXI6IDRweCBzb2xpZCAkY29sb3JfbmhzdWsteWVsbG93O1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICRjb2xvcl9uaHN1ay1ibGFjaztcbiAgICAgIHBhZGRpbmc6IDAgMTZweCAwIDEzcHg7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5oZWUtc2VhcmNoLWZvcm1fX3N1Ym1pdCB7XG4gICAgY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstYmx1ZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBwYWRkaW5nOiA4cHggOHB4IDA7XG4gICAgd2lkdGg6IDUycHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay1ncmVlbjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay15ZWxsb3c7XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGNvbG9yX25oc3VrLWJsYWNrO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgLm5oc3VrLWljb25fX3NlYXJjaCB7XG4gICAgICAgIGZpbGw6ICRjb2xvcl9uaHN1ay1ibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5oZWUtc2VhcmNoLWxpc3Rpbmcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICBtYXgtd2lkdGg6IDY2JTtcbiAgfVxufVxuIiwiLmhlZS1zZWFyY2gtbGlzdGluZy1pdGVtIHtcbiAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1wYWRkaW5nKDQsICdib3R0b20nKTtcbiAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1wYWRkaW5nKDQsICd0b3AnKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTQ7XG5cbiAgaDMge1xuICAgIEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgyNCk7XG4gICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oMiwgJ2JvdHRvbScpO1xuICB9XG5cbiAgLmhlZS1zZWFyY2gtbGlzdGluZy1pdGVtX19zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgbmhzdWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE5KTtcbiAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLW1hcmdpbig0LCAnYm90dG9tJyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuaGVlLXNlYXJjaC1saXN0aW5nLWl0ZW1fX3N1bW1hcnkge1xuICAgIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luKDQsICdib3R0b20nKTtcbiAgfVxuXG4gIC5oZWUtc2VhcmNoLWxpc3RpbmctaXRlbV9fYXR0cmlidXRlcyB7XG4gICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgJ2JvdHRvbScpO1xuICAgIEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxOSk7XG4gIH1cblxuICAuaGVlLXNlYXJjaC1saXN0aW5nLWl0ZW1fX2F0dHJpYnV0ZXNfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luKDIsICdib3R0b20nKTtcbiAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLXBhZGRpbmcoMiwgJ2JvdHRvbScpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfbmhzdWstZ3JleS00O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAuaGVlLXNlYXJjaC1saXN0aW5nLWl0ZW1fX2F0dHJpYnV0ZXNfX2xhYmVsIHtcbiAgICBmb250LXdlaWdodDogJG5oc3VrLWZvbnQtYm9sZDtcbiAgICBmbGV4LWJhc2lzOiAzMyU7XG4gIH1cblxuICAuaGVlLXNlYXJjaC1saXN0aW5nLWl0ZW1fX3VybCB7XG4gICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgJ2JvdHRvbScpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nJTIzMDA1RUI4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTIgMEM1LjM3MjQyIDAgMCA1LjM3MjQyIDAgMTJDMCAxOC42Mjc2IDUuMzcyNDIgMjQgMTIgMjRDMTguNjI3NiAyNCAyNCAxOC42Mjc2IDI0IDEyQzI0IDUuMzcyNDIgMTguNjI3NiAwIDEyIDBaTTE1Ljk4MTggMTcuMzAzMkMxNS43OTMxIDE3LjQ5MSAxNS41OTUyIDE3LjY4NzkgMTUuNDM0NSAxNy44NDlDMTUuMjg5OCAxNy45OTQyIDE1LjE4NzcgMTguMTczMiAxNS4xMzYgMTguMzY3M0MxNS4wNjI5IDE4LjY0MTEgMTUuMDAzOSAxOC45MTc5IDE0LjkwNTIgMTkuMTgzNUwxNC4wNjM3IDIxLjQ1MDVDMTMuMzk3OSAyMS41OTU2IDEyLjcwODkgMjEuNjc3NCAxMiAyMS42Nzc0VjIwLjM1MjZDMTIuMDgxOCAxOS43NDE5IDExLjYzMDMgMTguNTk4MSAxMC45MDUgMTcuODcyN0MxMC42MTQ3IDE3LjU4MjQgMTAuNDUxNiAxNy4xODg1IDEwLjQ1MTYgMTYuNzc3N1YxNS4yMjg5QzEwLjQ1MTYgMTQuNjY1NiAxMC4xNDgyIDE0LjE0NzkgOS42NTUxNiAxMy44NzU1QzguOTU5ODQgMTMuNDkwOCA3Ljk3MDgxIDEyLjk1MzIgNy4yOTMzOSAxMi42MTIxQzYuNzM3OSAxMi4zMzI0IDYuMjI0MDMgMTEuOTc2MyA1Ljc2MTk0IDExLjU1OTdMNS43MjMyMyAxMS41MjQ4QzUuMzkyNzcgMTEuMjI2NSA1LjA5OTM4IDEwLjg4OTYgNC44NDkzNSAxMC41MjEzQzQuMzk1NDggOS44NTUgMy42NTYxMyA4Ljc1OTAzIDMuMTc1NjQgOC4wNDY3N0M0LjE2NjEzIDUuODQ1MTYgNS45NTExMyA0LjA3NzEgOC4xNjkxOSAzLjExNjYxTDkuMzMwOTcgMy42OTc3NEM5Ljg0NTgxIDMuOTU1MTYgMTAuNDUxNiAzLjU4MTEzIDEwLjQ1MTYgMy4wMDUzMlYyLjQ1ODU1QzEwLjgzODIgMi4zOTYxMyAxMS4yMzE2IDIuMzU2NDUgMTEuNjMxOCAyLjM0MTQ1TDEzLjAwMTEgMy43MTA4MUMxMy4zMDM1IDQuMDEzMjMgMTMuMzAzNSA0LjUwMzM5IDEzLjAwMTEgNC44MDU4MUwxMi43NzQyIDUuMDMyMjZMMTIuMjczOSA1LjUzMjU4QzEyLjEyMjkgNS42ODM1NSAxMi4xMjI5IDUuOTI4ODcgMTIuMjczOSA2LjA3OTg0TDEyLjUwMDggNi4zMDY3N0MxMi42NTE4IDYuNDU3NzQgMTIuNjUxOCA2LjcwMzA2IDEyLjUwMDggNi44NTQwM0wxMi4xMTM3IDcuMjQxMTNDMTIuMDQxIDcuMzEzNjcgMTEuOTQyNSA3LjM1NDM5IDExLjgzOTggNy4zNTQzNUgxMS40MDQ4QzExLjMwNDIgNy4zNTQzNSAxMS4yMDc0IDcuMzkzNTUgMTEuMTM0OCA3LjQ2NDE5TDEwLjY1NDggNy45MzExM0MxMC41OTYgNy45ODg0MiAxMC41NTY5IDguMDYyOTMgMTAuNTQzMSA4LjE0MzlDMTAuNTI5NCA4LjIyNDg3IDEwLjU0MTcgOC4zMDgxMSAxMC41Nzg0IDguMzgxNjFMMTEuMzMyNyA5Ljg5MDgxQzExLjQ2MTUgMTAuMTQ4MiAxMS4yNzQyIDEwLjQ1MTEgMTAuOTg2OCAxMC40NTExSDEwLjcxMzlDMTAuNjIwNSAxMC40NTExIDEwLjUzMDUgMTAuNDE3MyAxMC40NjAzIDEwLjM1NjNMMTAuMDExMyA5Ljk2NjI5QzkuOTA5NjggOS44NzgxNCA5Ljc4Njg3IDkuODE3OTUgOS42NTQ5NCA5Ljc5MTY1QzkuNTIzMDIgOS43NjUzNSA5LjM4NjUyIDkuNzczODQgOS4yNTg4NyA5LjgxNjI5TDcuNzUwNjQgMTAuMzE5QzcuNjM1NSAxMC4zNTc0IDcuNTM1MzUgMTAuNDMxMSA3LjQ2NDQgMTAuNTI5NkM3LjM5MzQ1IDEwLjYyOCA3LjM1NTI5IDEwLjc0NjQgNy4zNTUzMiAxMC44Njc3QzcuMzU1MzIgMTEuMDg2OSA3LjQ3OTE5IDExLjI4NjggNy42NzUxNiAxMS4zODVMOC4yMTEyOSAxMS42NTMxQzguNjY2NjEgMTEuODgxIDkuMTY4ODcgMTEuOTk5NSA5LjY3NzkgMTEuOTk5NUMxMC4xODY5IDExLjk5OTUgMTAuNzcxIDEzLjMyIDExLjIyNjMgMTMuNTQ3OUgxNC40NTYxQzE0Ljg2NjkgMTMuNTQ3OSAxNS4yNjAzIDEzLjcxMSAxNS41NTExIDE0LjAwMTNMMTYuMjEzNSAxNC42NjM3QzE2LjQ5MDMgMTQuOTQwNSAxNi42NDU3IDE1LjMxNiAxNi42NDU2IDE1LjcwNzRDMTYuNjQ1NSAxNi4wMDQgMTYuNTg2OCAxNi4yOTc3IDE2LjQ3MjkgMTYuNTcxNkMxNi4zNTkgMTYuODQ1NCAxNi4xOTIxIDE3LjA5NDEgMTUuOTgxOCAxNy4zMDMyWk0yMC4xNzc0IDEyLjg4MzFDMTkuODk3MyAxMi44MTI5IDE5LjY1MjkgMTIuNjQxMSAxOS40OTI3IDEyLjQwMDZMMTguNjIyNyAxMS4wOTU2QzE4LjQ5NTQgMTAuOTA1IDE4LjQyNzUgMTAuNjgwOSAxOC40Mjc1IDEwLjQ1MTZDMTguNDI3NSAxMC4yMjI0IDE4LjQ5NTQgOS45OTgyNCAxOC42MjI3IDkuODA3NThMMTkuNTcwNiA4LjM4NTk3QzE5LjY4MjkgOC4yMTgwNiAxOS44MzY4IDguMDgxNjEgMjAuMDE3NyA3Ljk5MTYxTDIwLjY0NTggNy42Nzc1OEMyMS4zIDguOTgwMTYgMjEuNjc3NCAxMC40NDUzIDIxLjY3NzQgMTJDMjEuNjc3NCAxMi40MTk1IDIxLjY0MTYgMTIuODMwMyAyMS41ODk0IDEzLjIzNThMMjAuMTc3NCAxMi44ODMxWicgZmlsbD0nJTIzMDA1RUI4Jy8lM0UlM0Mvc3ZnJTNFXCIpIG5vLXJlcGVhdDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIG1pbi13aWR0aDogMjRweDtcbiAgICB9XG4gIH1cblxuICAuaGVlLXNlYXJjaC1saXN0aW5nLWl0ZW1fX3VwZGF0ZWQge1xuICAgIGNvbG9yOiAkY29sb3JfbmhzdWstZ3JleS0xO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59IiwiLyogSEVFLUNhcmQgKi9cbi5oZWUtY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTQ7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IG5oc3VrLXNwYWNpbmcoNCk7XG4gIG1heC13aWR0aDogMzAwcHg7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaGVlLWZsZXhncmlkLXJvdyAmIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAuaGVlLWNhcmQtLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1wYWRkaW5nKDQsICdib3R0b20nKTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG5oc3VrLWJvcmRlci1jb2xvcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZygzKTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5oZWUtY2FyZF9faW1hZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBuaHN1ay1zcGFjaW5nKDQpO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICYuaGFzLWJnIHtcbiAgICAgICAgLmhlZS1jYXJkX19pbml0aWFscyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmhlZS1jYXJkX19pbml0aWFscyB7XG4gICAgICAgIHdpZHRoOiAxMzRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVlLWNhcmRfX3Byb25vdW5zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IG5oc3VrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgLmhlZS1jYXJkX19pbWFnZSB7XG4gICAgICB3aWR0aDogMTM0cHg7XG4gICAgICBoZWlnaHQ6IDEzNHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB9XG5cbiAgLmhlZS1jYXJkX19pbml0aWFscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDokY29sb3JfbmhzdWstZ3JleS00O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAxMzRweDtcblxuICAgIHNwYW4ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDEzNHB4O1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAkbmhzdWstc2Vjb25kYXJ5LXRleHQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmhlZS1jYXJkX19uYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgfVxuXG4gIC5oZWUtY2FyZF9fcHJvbm91bnMge1xuICAgIEBpbmNsdWRlIG5oc3VrLWZvbnQoMTYpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAkbmhzdWstc2Vjb25kYXJ5LXRleHQtY29sb3I7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjc1ZW07XG4gIH1cblxuICAuaGVlLWNhcmRfX2pvYnRpdGxlIHtcbiAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLW1hcmdpbigyLCAnYm90dG9tJyk7XG4gIH1cbiAgLmhlZS1jYXJkX19kZXBhcnRtZW50LFxuICAuaGVlLWNhcmRfX29yZ2FuaXNhdGlvbiB7XG4gICAgQGluY2x1ZGUgbmhzdWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmhlZS1jYXJkX19jb250YWN0IHtcbiAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLW1hcmdpbig0LCAnYm90dG9tJyk7XG4gICAgQGluY2x1ZGUgbmhzdWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE2KTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBuaHN1ay1zcGFjaW5nKDMpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgIC5oZWUtY2FyZF9fY29udGFjdF9faXRlbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBuaHN1ay1zcGFjaW5nKDMpO1xuXG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWluLXdpZHRoOiAyNHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5OTlweDtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhlZS1jYXJkX190ZWxlcGhvbmUge1xuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J001LjE5ODk3IDE0LjgwMTFDMTAuMDQzMyAxOS42NDU0IDE2LjAxNyAyMS41MjY3IDE4LjkyMjEgMTguNjIxNkMxOS4zMTMzIDE4LjIzMDQgMTkuNjIzIDE3Ljc3NzUgMTkuODU0NSAxNy4yNzU0QzE5Ljk4MzcgMTYuOTk1NSAyMC4wMjk0IDE2LjY4NDMgMTkuOTgxNCAxNi4zNzk5TDE5Ljc3ODcgMTUuMDkwNkMxOS42ODQzIDE0LjQ4OTUgMTkuMjQ1OSAxMy45OTk3IDE4LjY1ODUgMTMuODM5N0wxNC45MjM0IDEyLjgyMzFDMTQuMzg5IDEyLjY3NzYgMTMuODE3MyAxMi44Mjk1IDEzLjQyNTMgMTMuMjIxMUwxMi4zNTc2IDE0LjI4ODhDMTIuMDI0NyAxNC42MjE3IDExLjQ5OTggMTQuNjcxMiAxMS4xMTQ0IDE0LjQwMTFDMTAuMDk0NyAxMy42ODY2IDkuMDg2NDUgMTIuODQwNiA4LjEyMzE1IDExLjg3NjlDNy4xNTk4NSAxMC45MTM2IDYuMzEzNDkgOS45MDUzNCA1LjU5ODkxIDguODg1NjZDNS4zMjg4NSA4LjUwMDE5IDUuMzc4MzcgNy45NzUzIDUuNzExMjggNy42NDI0TDYuNzc4OTUgNi41NzQ3MkM3LjE3MDkgNi4xODI3NyA3LjMyMjQ5IDUuNjExNDIgNy4xNzY5OSA1LjA3NjYzTDYuMTYwMzYgMS4zNDE0OUM2LjAwMDM4IDAuNzU0MTM4IDUuNTEwOTMgMC4zMTU3MTggNC45MDk0OCAwLjIyMTI1NEwzLjYyMDEzIDAuMDE4NjEzMUMzLjMxNTc5IC0wLjAyOTM4MDcgMy4wMDQ1OSAwLjAxNjMyNzcgMi43MjQ2MyAwLjE0NTQ1NEMyLjIyMjYgMC4zNzcwNDMgMS43Njk3MSAwLjY4NjcxOCAxLjM3ODUyIDEuMDc3OTFDLTEuNTI2NjIgMy45ODMwNiAwLjM1NDI3NyA5Ljk1NjM4IDUuMTk4OTcgMTQuODAxMVonIGZpbGw9JyUyMzAwNUVCOCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWUtY2FyZF9fZW1haWwge1xuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzI0JyBoZWlnaHQ9JzE4JyB2aWV3Qm94PScwIDAgMjQgMTgnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00yMy41NDUzIDUuOTQzNzVDMjMuNzI4MSA1Ljc5ODQ0IDI0IDUuOTM0MzcgMjQgNi4xNjQwNlYxNS43NUMyNCAxNi45OTIyIDIyLjk5MjIgMTggMjEuNzUgMThIMi4yNUMxLjAwNzgxIDE4IDAgMTYuOTkyMiAwIDE1Ljc1VjYuMTY4NzVDMCA1LjkzNDM4IDAuMjY3MTg3IDUuODAzMTIgMC40NTQ2ODcgNS45NDg0NEMxLjUwNDY5IDYuNzY0MDYgMi44OTY4OCA3LjggNy42NzgxMyAxMS4yNzM0QzguNjY3MTkgMTEuOTk1MyAxMC4zMzU5IDEzLjUxNDEgMTIgMTMuNTA0N0MxMy42NzM0IDEzLjUxODggMTUuMzc1IDExLjk2NzIgMTYuMzI2NiAxMS4yNzM0QzIxLjEwNzggNy44IDIyLjQ5NTMgNi43NTkzOCAyMy41NDUzIDUuOTQzNzVaTTEyIDEyQzEzLjA4NzUgMTIuMDE4OCAxNC42NTMxIDEwLjYzMTMgMTUuNDQwNiAxMC4wNTk0QzIxLjY2MDkgNS41NDUzMSAyMi4xMzQ0IDUuMTUxNTYgMjMuNTY4NyA0LjAyNjU2QzIzLjg0MDYgMy44MTU2MiAyNCAzLjQ4NzUgMjQgMy4xNDA2MlYyLjI1QzI0IDEuMDA3ODEgMjIuOTkyMiAwIDIxLjc1IDBIMi4yNUMxLjAwNzgxIDAgMCAxLjAwNzgxIDAgMi4yNVYzLjE0MDYyQzAgMy40ODc1IDAuMTU5Mzc1IDMuODEwOTQgMC40MzEyNSA0LjAyNjU2QzEuODY1NjMgNS4xNDY4NyAyLjMzOTA2IDUuNTQ1MzEgOC41NTkzOCAxMC4wNTk0QzkuMzQ2ODggMTAuNjMxMyAxMC45MTI1IDEyLjAxODggMTIgMTJaJyBmaWxsPSclMjMwMDVFQjgnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVlLWNhcmRfX3dlYnNpdGUge1xuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xMiAwQzUuMzcyNDIgMCAwIDUuMzcyNDIgMCAxMkMwIDE4LjYyNzYgNS4zNzI0MiAyNCAxMiAyNEMxOC42Mjc2IDI0IDI0IDE4LjYyNzYgMjQgMTJDMjQgNS4zNzI0MiAxOC42Mjc2IDAgMTIgMFpNMTUuOTgxOCAxNy4zMDMyQzE1Ljc5MzEgMTcuNDkxIDE1LjU5NTIgMTcuNjg3OSAxNS40MzQ1IDE3Ljg0OUMxNS4yODk4IDE3Ljk5NDIgMTUuMTg3NyAxOC4xNzMyIDE1LjEzNiAxOC4zNjczQzE1LjA2MjkgMTguNjQxMSAxNS4wMDM5IDE4LjkxNzkgMTQuOTA1MiAxOS4xODM1TDE0LjA2MzcgMjEuNDUwNUMxMy4zOTc5IDIxLjU5NTYgMTIuNzA4OSAyMS42Nzc0IDEyIDIxLjY3NzRWMjAuMzUyNkMxMi4wODE4IDE5Ljc0MTkgMTEuNjMwMyAxOC41OTgxIDEwLjkwNSAxNy44NzI3QzEwLjYxNDcgMTcuNTgyNCAxMC40NTE2IDE3LjE4ODUgMTAuNDUxNiAxNi43Nzc3VjE1LjIyODlDMTAuNDUxNiAxNC42NjU2IDEwLjE0ODIgMTQuMTQ3OSA5LjY1NTE2IDEzLjg3NTVDOC45NTk4NCAxMy40OTA4IDcuOTcwODEgMTIuOTUzMiA3LjI5MzM5IDEyLjYxMjFDNi43Mzc5IDEyLjMzMjQgNi4yMjQwMyAxMS45NzYzIDUuNzYxOTQgMTEuNTU5N0w1LjcyMzIzIDExLjUyNDhDNS4zOTI3NyAxMS4yMjY1IDUuMDk5MzggMTAuODg5NiA0Ljg0OTM1IDEwLjUyMTNDNC4zOTU0OCA5Ljg1NSAzLjY1NjEzIDguNzU5MDMgMy4xNzU2NCA4LjA0Njc3QzQuMTY2MTMgNS44NDUxNiA1Ljk1MTEzIDQuMDc3MSA4LjE2OTE5IDMuMTE2NjFMOS4zMzA5NyAzLjY5Nzc0QzkuODQ1ODEgMy45NTUxNiAxMC40NTE2IDMuNTgxMTMgMTAuNDUxNiAzLjAwNTMyVjIuNDU4NTVDMTAuODM4MiAyLjM5NjEzIDExLjIzMTYgMi4zNTY0NSAxMS42MzE4IDIuMzQxNDVMMTMuMDAxMSAzLjcxMDgxQzEzLjMwMzUgNC4wMTMyMyAxMy4zMDM1IDQuNTAzMzkgMTMuMDAxMSA0LjgwNTgxTDEyLjc3NDIgNS4wMzIyNkwxMi4yNzM5IDUuNTMyNThDMTIuMTIyOSA1LjY4MzU1IDEyLjEyMjkgNS45Mjg4NyAxMi4yNzM5IDYuMDc5ODRMMTIuNTAwOCA2LjMwNjc3QzEyLjY1MTggNi40NTc3NCAxMi42NTE4IDYuNzAzMDYgMTIuNTAwOCA2Ljg1NDAzTDEyLjExMzcgNy4yNDExM0MxMi4wNDEgNy4zMTM2NyAxMS45NDI1IDcuMzU0MzkgMTEuODM5OCA3LjM1NDM1SDExLjQwNDhDMTEuMzA0MiA3LjM1NDM1IDExLjIwNzQgNy4zOTM1NSAxMS4xMzQ4IDcuNDY0MTlMMTAuNjU0OCA3LjkzMTEzQzEwLjU5NiA3Ljk4ODQyIDEwLjU1NjkgOC4wNjI5MyAxMC41NDMxIDguMTQzOUMxMC41Mjk0IDguMjI0ODcgMTAuNTQxNyA4LjMwODExIDEwLjU3ODQgOC4zODE2MUwxMS4zMzI3IDkuODkwODFDMTEuNDYxNSAxMC4xNDgyIDExLjI3NDIgMTAuNDUxMSAxMC45ODY4IDEwLjQ1MTFIMTAuNzEzOUMxMC42MjA1IDEwLjQ1MTEgMTAuNTMwNSAxMC40MTczIDEwLjQ2MDMgMTAuMzU2M0wxMC4wMTEzIDkuOTY2MjlDOS45MDk2OCA5Ljg3ODE0IDkuNzg2ODcgOS44MTc5NSA5LjY1NDk0IDkuNzkxNjVDOS41MjMwMiA5Ljc2NTM1IDkuMzg2NTIgOS43NzM4NCA5LjI1ODg3IDkuODE2MjlMNy43NTA2NCAxMC4zMTlDNy42MzU1IDEwLjM1NzQgNy41MzUzNSAxMC40MzExIDcuNDY0NCAxMC41Mjk2QzcuMzkzNDUgMTAuNjI4IDcuMzU1MjkgMTAuNzQ2NCA3LjM1NTMyIDEwLjg2NzdDNy4zNTUzMiAxMS4wODY5IDcuNDc5MTkgMTEuMjg2OCA3LjY3NTE2IDExLjM4NUw4LjIxMTI5IDExLjY1MzFDOC42NjY2MSAxMS44ODEgOS4xNjg4NyAxMS45OTk1IDkuNjc3OSAxMS45OTk1QzEwLjE4NjkgMTEuOTk5NSAxMC43NzEgMTMuMzIgMTEuMjI2MyAxMy41NDc5SDE0LjQ1NjFDMTQuODY2OSAxMy41NDc5IDE1LjI2MDMgMTMuNzExIDE1LjU1MTEgMTQuMDAxM0wxNi4yMTM1IDE0LjY2MzdDMTYuNDkwMyAxNC45NDA1IDE2LjY0NTcgMTUuMzE2IDE2LjY0NTYgMTUuNzA3NEMxNi42NDU1IDE2LjAwNCAxNi41ODY4IDE2LjI5NzcgMTYuNDcyOSAxNi41NzE2QzE2LjM1OSAxNi44NDU0IDE2LjE5MjEgMTcuMDk0MSAxNS45ODE4IDE3LjMwMzJaTTIwLjE3NzQgMTIuODgzMUMxOS44OTczIDEyLjgxMjkgMTkuNjUyOSAxMi42NDExIDE5LjQ5MjcgMTIuNDAwNkwxOC42MjI3IDExLjA5NTZDMTguNDk1NCAxMC45MDUgMTguNDI3NSAxMC42ODA5IDE4LjQyNzUgMTAuNDUxNkMxOC40Mjc1IDEwLjIyMjQgMTguNDk1NCA5Ljk5ODI0IDE4LjYyMjcgOS44MDc1OEwxOS41NzA2IDguMzg1OTdDMTkuNjgyOSA4LjIxODA2IDE5LjgzNjggOC4wODE2MSAyMC4wMTc3IDcuOTkxNjFMMjAuNjQ1OCA3LjY3NzU4QzIxLjMgOC45ODAxNiAyMS42Nzc0IDEwLjQ0NTMgMjEuNjc3NCAxMkMyMS42Nzc0IDEyLjQxOTUgMjEuNjQxNiAxMi44MzAzIDIxLjU4OTQgMTMuMjM1OEwyMC4xNzc0IDEyLjg4MzFaJyBmaWxsPSclMjMwMDVFQjgnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVlLWNhcmRfX3R3aXR0ZXIge1xuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzI0JyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjQgMjAnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00yMS41MzMgNS4xMTE3NUMyMS41NDgyIDUuMzI0OTQgMjEuNTQ4MiA1LjUzODE3IDIxLjU0ODIgNS43NTEzNkMyMS41NDgyIDEyLjI1MzkgMTYuNTk5IDE5Ljc0NjMgNy41NTMzIDE5Ljc0NjNDNC43NjY0OCAxOS43NDYzIDIuMTc3NjcgMTguOTM5MSAwIDE3LjUzODJDMC4zOTU5NTMgMTcuNTgzOCAwLjc3NjYyNSAxNy41OTkxIDEuMTg3ODEgMTcuNTk5MUMzLjQ4NzI3IDE3LjU5OTEgNS42MDQwNSAxNi44MjI0IDcuMjk0NDEgMTUuNDk3NkM1LjEzMTk3IDE1LjQ1MTkgMy4zMTk3OCAxNC4wMzU2IDIuNjk1NDEgMTIuMDg2NEMzIDEyLjEzMiAzLjMwNDU1IDEyLjE2MjUgMy42MjQzNyAxMi4xNjI1QzQuMDY1OTggMTIuMTYyNSA0LjUwNzY0IDEyLjEwMTYgNC45MTg3OCAxMS45OTVDMi42NjQ5OCAxMS41MzgxIDAuOTc0NTc4IDkuNTU4NDUgMC45NzQ1NzggNy4xNjc1OVY3LjEwNjdDMS42MjkzNyA3LjQ3MjE5IDIuMzkwODYgNy43MDA2MSAzLjE5NzkxIDcuNzMxMDNDMS44NzMwMyA2Ljg0Nzc3IDEuMDA1MDUgNS4zNDAxNyAxLjAwNTA1IDMuNjM0NThDMS4wMDUwNSAyLjcyMDg5IDEuMjQ4NjYgMS44ODMzMyAxLjY3NTA4IDEuMTUyMzZDNC4wOTY0MSA0LjEzNzEzIDcuNzM2MDIgNi4wODYzMyAxMS44MTcyIDYuMjk5NTZDMTEuNzQxMSA1LjkzNDA4IDExLjY5NTQgNS41NTM0MSAxMS42OTU0IDUuMTcyNjlDMTEuNjk1NCAyLjQ2MiAxMy44ODgzIDAuMjUzOTA2IDE2LjYxNDEgMC4yNTM5MDZDMTguMDMwNCAwLjI1MzkwNiAxOS4zMDk1IDAuODQ3ODEzIDIwLjIwOCAxLjgwNzJDMjEuMzE5NyAxLjU5NDAyIDIyLjM4NTcgMS4xODI4MyAyMy4zMjk5IDAuNjE5MzkxQzIyLjk2NDMgMS43NjE1NSAyMi4xODc3IDIuNzIwOTQgMjEuMTY3NCAzLjMzMDAzQzIyLjE1NzMgMy4yMjM0OCAyMy4xMTY3IDIuOTQ5MzEgMjMuOTk5OSAyLjU2ODY0QzIzLjMzIDMuNTQzMjIgMjIuNDkyNCA0LjQxMTIgMjEuNTMzIDUuMTExNzVaJyBmaWxsPSclMjMwMDVFQjgnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVlLWNhcmRfX2xpbmtlZGluIHtcbiAgICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyMicgaGVpZ2h0PScyMScgdmlld0JveD0nMCAwIDIyIDIxJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNNS4yMDA2MiAyMUgwLjg0Njg3NVY2Ljk3OTcxSDUuMjAwNjJWMjFaTTMuMDIxNDEgNS4wNjcyMUMxLjYyOTIyIDUuMDY3MjEgMC41IDMuOTE0MDggMC41IDIuNTIxODlDMC41IDEuODUzMTggMC43NjU2NDcgMS4yMTE4NSAxLjIzODUgMC43Mzg5OTFDMS43MTEzNiAwLjI2NjEzNiAyLjM1MjY5IDAuMDAwNDg4MjgxIDMuMDIxNDEgMC4wMDA0ODgyODFDMy42OTAxMiAwLjAwMDQ4ODI4MSA0LjMzMTQ1IDAuMjY2MTM2IDQuODA0MzEgMC43Mzg5OTFDNS4yNzcxNiAxLjIxMTg1IDUuNTQyODEgMS44NTMxOCA1LjU0MjgxIDIuNTIxODlDNS41NDI4MSAzLjkxNDA4IDQuNDEzMTMgNS4wNjcyMSAzLjAyMTQxIDUuMDY3MjFaTTIxLjQ5NTMgMjFIMTcuMTUwOVYxNC4xNzVDMTcuMTUwOSAxMi41NDg1IDE3LjExODEgMTAuNDYyNSAxNC44ODczIDEwLjQ2MjVDMTIuNjIzNyAxMC40NjI1IDEyLjI3NjkgMTIuMjI5NyAxMi4yNzY5IDE0LjA1NzhWMjFINy45Mjc4MVY2Ljk3OTcxSDEyLjEwMzRWOC44OTIyMUgxMi4xNjQ0QzEyLjc0NTYgNy43OTA2NCAxNC4xNjU1IDYuNjI4MTQgMTYuMjgzOCA2LjYyODE0QzIwLjY5IDYuNjI4MTQgMjEuNSA5LjUyOTcxIDIxLjUgMTMuMjk4NVYyMUgyMS40OTUzWicgZmlsbD0nJTIzMDA1RUI4Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIG1pbi13aWR0aDogMjJweDtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlZS1jYXJkX19iaW8sXG4gIC5oZWUtY2FyZF9fZGVzY3JpcHRpb25cbiAge1xuICAgIGNvbG9yOiAkY29sb3JfbmhzdWstZ3JleS0xO1xuICAgIEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxNik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5oZWUtY2FyZF9fYXV0aG9ydXJsIHtcbiAgICBAaW5jbHVkZSBuaHN1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTYpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oMywgJ3RvcCcpO1xuICB9XG5cbiAgaHIge1xuICAgIG1hcmdpbjogMjRweCAwO1xuICB9XG5cbn1cbiIsIi8qIEhFRS1DYXJkLS1BdXRob3IgKi9cbi5oZWUtY2FyZC0tYXV0aG9yIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAuaGVlLWNhcmRfX2FkZHJlc3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBuaHN1ay1zcGFjaW5nKDMpO1xuICAgIH1cbn1cblxuLy8gTGF5b3V0IHN0eWxpbmcgZm9yIG11bHRpcGxlIGF1dGhvcnMgd2l0aGluIHBhZ2UgYm9keS5cbi5oZWUtY2FyZC0tYXV0aG9yX19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLmhlZS1jYXJkLS1hdXRob3Ige1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgICAgICB3aWR0aDogNDglXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFRoaXJkIHdpZHRoIGFuZCBzaWRlYmFyIHN0eWxpbmcgdHdlYWtzLlxuLnBhZ2VfX3JpZ2h0YmFyLCAuaGVlLWNhcmQtLWF1dGhvcl9fY29udGFpbmVyIHtcbiAgICAuaGVlLWNhcmQtLWhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmhzdWstYm9yZGVyLWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBuaHN1ay1zcGFjaW5nKDIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBuaHN1ay1zcGFjaW5nKDMpO1xuXG4gICAgICAgIC5oZWUtY2FyZF9faW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBuaHN1ay1zcGFjaW5nKDQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZyg0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWUtY2FyZF9fY29udGFjdCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IG5oc3VrLXNwYWNpbmcoMik7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogbmhzdWstc3BhY2luZygyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWUtY2FyZF9fY29udGFjdF9faXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmhlZS10YWJsZS1leHBhbmRlciB7XG4gIC5oZWUtdGFibGUtZXhwYW5kZXJfX3RvZ2dsZSB7XG4gICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgJ2JvdHRvbScpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmhlZS10YWJsZS1leHBhbmRlcl9fcm93IHtcbiAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLXBhZGRpbmcoMywgJ3RvcCcpO1xuICAgIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtcGFkZGluZygzLCAnYm90dG9tJyk7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTQ7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuaGVlLXRhYmxlLWV4cGFuZGVyX19yb3dfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luKDIsICdib3R0b20nKTtcbiAgICBmb250LXdlaWdodDogJG5oc3VrLWZvbnQtYm9sZDtcbiAgfVxufVxuIiwiLmhlZS1wdWJsaWNhdGlvbi1kb2Mge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRuaHN1ay1zcGFjaW5nLXBvaW50cywgNCk7XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuaGVlLXB1YmxpY2F0aW9uLWRvY19fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi13aWR0aDogNjBweDtcbiAgICB3aWR0aDogNjBweDtcblxuICAgIC5oZWUtcHVibGljYXRpb24tZG9jX19pY29uIHtcbiAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiA1NnB4O1xuXG4gICAgICAuaGVlLXB1YmxpY2F0aW9uLWRvY19faWNvbl9fcGFnZSB7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvcl9uaHN1ay1ibGFjaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBoZWlnaHQ6IDg2cHg7XG4gICAgICAgIHdpZHRoOiA1MnB4O1xuICAgICAgfVxuXG4gICAgICAuaGVlLXB1YmxpY2F0aW9uLWRvY19faWNvbl9fY29ybmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay1ncmV5LTU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE5JyBoZWlnaHQ9JzE3JyB2aWV3Qm94PScwIDAgMTkgMTcnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xIDE2LjVWMS41TDE3IDE2LjVIMVonIGZpbGw9J2JsYWNrJy8lM0UlM0NwYXRoIGQ9J00xIDEuNUwxLjM0MTk3IDEuMTM1MjNMMC41IDAuMzQ1ODg0VjEuNUgxWk0xIDE2LjVIMC41QzAuNSAxNi43NzYxIDAuNzIzODU4IDE3IDEgMTdWMTYuNVpNMTcgMTYuNVYxN0gxOC4yNjQ0TDE3LjM0MiAxNi4xMzUyTDE3IDE2LjVaTTAuNSAxLjVWMTYuNUgxLjVWMS41SDAuNVpNMSAxN0gxN1YxNkgxVjE3Wk0xNy4zNDIgMTYuMTM1MkwxLjM0MTk3IDEuMTM1MjNMMC42NTgwMjkgMS44NjQ3N0wxNi42NTggMTYuODY0OEwxNy4zNDIgMTYuMTM1MlonIGZpbGw9J2JsYWNrJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMXB4IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVlLXB1YmxpY2F0aW9uLWRvY19faWNvbl9fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgbmhzdWstZm9udCgxNik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstYmxhY2s7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfbmhzdWstd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICBjb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdG9wOiBtYXAtZ2V0KCRuaHN1ay1zcGFjaW5nLXBvaW50cywgNSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaGVlLXB1YmxpY2F0aW9uLWRvY19fZGV0YWlscyB7XG4gICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRuaHN1ay1zcGFjaW5nLXBvaW50cywgNCk7XG5cbiAgICBoMyB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkbmhzdWstc3BhY2luZy1wb2ludHMsIDIpO1xuICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICRjb2xvcl9uaHN1ay1ncmV5LTE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJG5oc3VrLXNwYWNpbmctcG9pbnRzLCAyKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5oZWUtdHJhaW5pbmctam91cm5leSB7XG4gIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luKDQsICdib3R0b20nKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfbmhzdWstZ3JleS00O1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICBwYWRkaW5nOiBuaHN1ay1zcGFjaW5nKDQpO1xuXG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiBuaHN1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgaDQge1xuICAgIEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxNik7XG4gICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5oZWUtdHJhaW5pbmctam91cm5leV9fZ3JvdXAge1xuICAgIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luKDMsICdib3R0b20nKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLmhlZS10cmFpbmluZy1qb3VybmV5X19ncm91cF9fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLXBhZGRpbmcoMiwgJ2xlZnQnKTtcbiAgfVxuXG4gIC5oZWUtdHJhaW5pbmctam91cm5leV9faXRlbSB7XG4gICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1wYWRkaW5nKDMsICdib3R0b20nKTtcbiAgICBAaW5jbHVkZSBuaHN1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTkpO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGNvbG9yX25oc3VrLWdyZXktNDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBBY3RpdmUgam91cm5leSBpdGVtIHdpdGhpbiBncm91cC5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAuaGVlLXRyYWluaW5nLWpvdXJuZXlfX2l0ZW1fX2xpbmsge1xuICAgICAgICBmb250LXdlaWdodDogJG5oc3VrLWZvbnQtYm9sZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9uaHN1ay1ibHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGFzdCBqb3VybmV5IGl0ZW0gdG8gYXBwZWFyIHdpdGhpbiBncm91cC5cbiAgICAmLmxhc3Qge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgIC5oZWUtdHJhaW5pbmctam91cm5leV9faXRlbV9fbGluayB7XG4gICAgICAgIHJpZ2h0OiA3cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlZS10cmFpbmluZy1qb3VybmV5X19pdGVtX19saW5rIHtcbiAgICBib3R0b206IDZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDExcHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLW1hcmdpbigzLCAncmlnaHQnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAycHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsaW5nIGZvciBvcHRpb25hbCByb3V0ZSBncm91cC5cbiAgLmhlZS10cmFpbmluZy1qb3VybmV5X19ncm91cC5vcHRpb25hbCB7XG4gICAgLmhlZS10cmFpbmluZy1qb3VybmV5X19pdGVtIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuaGVlLXRyYWluaW5nLWpvdXJuZXlfX2l0ZW0ubGFzdCB7XG4gICAgICAuaGVlLXRyYWluaW5nLWpvdXJuZXlfX2l0ZW1fX2xpbmsge1xuICAgICAgICByaWdodDogMTFweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5oZWUtcXVvdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTQ7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IG5oc3VrLXNwYWNpbmcoOCkgMCBuaHN1ay1zcGFjaW5nKDQpIDA7XG4gIHBhZGRpbmc6IG5oc3VrLXNwYWNpbmcoOCkgbmhzdWstc3BhY2luZyg0KSBuaHN1ay1zcGFjaW5nKDYpIG5oc3VrLXNwYWNpbmcoNCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX25oc3VrLWJsdWU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMzQnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzNCAzMCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTE4LjU4NzcgMzBWMjEuNjk4NUMxOC41ODc3IDE3LjM0NzMgMTkuMDk5NSAxMy43Nzg2IDIwLjEyMzIgMTAuOTkyNEMyMS4xODQ4IDguMjA2MTEgMjIuOTY2OCA1LjgzOTY5IDI1LjQ2OTIgMy44OTMxM0MyNy45NzE2IDEuOTQ2NTYgMzAuODE1MiAwLjY0ODg1NSAzNCAwVjYuNjQxMjJDMzEuNzYzIDcuOTM4OTMgMzAuNDkyOSA5LjY3NTU3IDMwLjE4OTYgMTEuODUxMUgzNFYzMEgxOC41ODc3Wk0wIDMwVjIxLjY5ODVDMCAxNy4zNDczIDAuNTExODQ4IDEzLjc3ODYgMS41MzU1NSAxMC45OTI0QzIuNTk3MTYgOC4yMDYxMSA0LjM3OTE1IDUuODM5NjkgNi44ODE1MiAzLjg5MzEzQzkuNDIxOCAxLjk0NjU2IDEyLjI2NTQgMC42NDg4NTUgMTUuNDEyMyAwVjYuNjQxMjJDMTMuMTc1NCA3LjkzODkzIDExLjkwNTIgOS42NzU1NyAxMS42MDE5IDExLjg1MTFIMTUuNDEyM1YzMEgwWicgZmlsbD0nd2hpdGUnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTI1cHg7XG4gICAgd2lkdGg6IDkwcHg7XG4gIH1cblxuICAuaGVlLXF1b3RlX190ZXh0IHtcbiAgICBAaW5jbHVkZSBuaHN1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmhzdWstZm9udC1ib2xkO1xuICB9XG5cbiAgLmhlZS1xdW90ZV9fc291cmNlIHtcbiAgICBAaW5jbHVkZSBuaHN1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoMTkpO1xuICAgIG1hcmdpbi10b3A6IG5oc3VrLXNwYWNpbmcoMyk7XG4gIH1cbn1cbiIsIi5oZWUtZmVhdHVyZWQtY29udGVudCB7XG5cbiAgLmhlZS1mZWF0dXJlZC1jb250ZW50LXdyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiBuaHN1ay1zcGFjaW5nKDQpO1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBjb2x1bW4tZ2FwOiAxOHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gIH1cblxuICAuaGVlLWZlYXR1cmVkLWNvbnRlbnRfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1iYXNpczogNDglO1xuICAgICAgcm93LWdhcDogMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UtZGVza3RvcCkge1xuICAgICAgZmxleC1iYXNpczogMzIlO1xuICAgIH1cbiAgfVxuXG4gIC5oZWUtZmVhdHVyZWQtY29udGVudC13cmFwcGVyLmRvdWJsZSB7XG4gICAgLmhlZS1mZWF0dXJlZC1jb250ZW50X19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZS1kZXNrdG9wKSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGVlLWxpc3RpbmctaXRlbSB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IG5oc3VrLXNwYWNpbmcoNSk7XG4gICAgfVxuXG4gICAgc3Bhbi5oZWUtbGlzdGluZy1pdGVtX19kZXRhaWxzX19sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFnZS0tcmlnaHRiYXIsIC5wYWdlLS1sZWZ0YmFyIHtcbiAgLnBhZ2VfX2NvbnRlbnQge1xuICAgIC5oZWUtZmVhdHVyZWQtY29udGVudF9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICBmbGV4LWJhc2lzOiA0OCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZS1kZXNrdG9wKSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIEhFRS1DYXJkLS1EZXBhcnRtZW50ICovXG4uaGVlLWNhcmQtLWRlcGFydG1lbnQge1xuXG4gICAgLmhlZS1jYXJkLS1kZXBhcnRtZW50X19oZWFkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG5oc3VrLWJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IG5oc3VrLXNwYWNpbmcoMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IG5oc3VrLXNwYWNpbmcoMyk7XG4gICAgfVxuXG4gICAgLmhlZS1jYXJkX190aXRsZSB7fVxuICAgIC5oZWUtY2FyZF9fbmFtZSB7fVxuICAgIC5oZWUtY2FyZF9faW5pdGlhbHMge31cbiAgICAuaGVlLWNhcmRfX3Byb25vdW5zIHt9XG4gICAgLmhlZS1jYXJkX19qb2J0aXRsZSB7fVxuICAgIC5oZWUtY2FyZF9fZGVwYXJ0bWVudCB7fVxuICAgIC5oZWUtY2FyZF9fb3JnYW5pc2F0aW9uIHt9XG4gICAgLmhlZS1jYXJkX19hZGRyZXNzIHt9XG4gICAgLmhlZS1jYXJkX19pbWFnZSB7fVxuICAgIC5oZWUtY2FyZF9fZW1haWwge31cbiAgICAuaGVlLWNhcmRfX3RlbGVwaG9uZSB7fVxuICAgIC5oZWUtY2FyZF9fd2Vic2l0ZSB7fVxuICAgIC5oZWUtY2FyZF9fdHdpdHRlciB7fVxuICAgIC5oZWUtY2FyZF9fbGlua2VkaW4ge31cblxufSIsIi5oZWUtY2FyZC0tc3VtbWFyeSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9uaHN1ay1ncmV5LTQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLmhlZS1jYXJkLS1zdW1tYXJ5X190b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjhcIiB2aWV3Qm94PVwiMCAwIDEyIDhcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTYgMC41QzYuMyAwLjUgNi41IDAuNiA2LjcgMC44TDExLjcgNS44QzEyLjEgNi4yIDEyLjEgNi44IDExLjcgNy4yQzExLjMgNy42IDEwLjcgNy42IDEwLjMgNy4yTDYgMi45TDEuNyA3LjJDMS4zIDcuNiAwLjY5OTk5OSA3LjYgMC4yOTk5OTkgNy4yQy0wLjEwMDAwMSA2LjggLTAuMTAwMDAxIDYuMiAwLjI5OTk5OSA1LjhMNS4zIDAuOEM1LjUgMC42IDUuNyAwLjUgNiAwLjVaXCIgZmlsbD1cImJsYWNrXCIvPjwvc3ZnPicpO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBtYXJnaW4tdG9wOiBuaHN1ay1zcGFjaW5nKDIpO1xuICAgIHdpZHRoOiAxMnB4O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgLmhlZS1jYXJkLS1zdW1tYXJ5X19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5oZWUtY2FyZC0tc3VtbWFyeV9fbGlzdCB7XG4gICAgQGluY2x1ZGUgbmhzdWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKDE5KTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuaGVlLWNhcmQtLXN1bW1hcnlfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIG5oc3VrLXJlc3BvbnNpdmUtbWFyZ2luKDMsICdib3R0b20nKTtcbiAgICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLXBhZGRpbmcoMSwgJ2JvdHRvbScpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfbmhzdWstZ3JleS00O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDQ4JTtcbiAgICAgIH1cblxuICAgICAgJi5oZWUtY2FyZC0tc3VtbWFyeV9faXRlbV9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogbmhzdWstc3BhY2luZygyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmhlZS1jYXJkLS1zdW1tYXJ5X19pdGVtX19sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6ICRuaHN1ay1mb250LWJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5oZWUtY2FyZC0tc3VtbWFyeV9faXRlbV9fbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZhdWx0IHN0YXRlIHN0eWxpbmcgKGNsb3NlZCBmb3IgbW9iaWxlLCBvcGVuIGZvciBkZXNrdG9wKS5cbiAgJi5kZWZhdWx0IHtcbiAgICAuaGVlLWNhcmQtLXN1bW1hcnlfX2hlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgQGluY2x1ZGUgbmhzdWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgJ2JvdHRvbScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWUtY2FyZC0tc3VtbWFyeV9fbGlzdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVlLWNhcmQtLXN1bW1hcnlfX3RvZ2dsZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBIRUUtQ2FyZC0tUGVyc29uICovXG4uaGVlLWNhcmQuaGVlLWNhcmQtLXBlcnNvbiB7XG4gICAgLmhlZS1jYXJkLS1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVlLWNhcmRfX2ltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbmhzdWstc3BhY2luZyg0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWUtY2FyZF9fam9idGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIi5oZWUtYmFjay10by10b3Age1xuICBAaW5jbHVkZSBuaHN1ay1yZXNwb25zaXZlLW1hcmdpbig3LCAnYm90dG9tJyk7XG4gIEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgxOSk7XG4gIEBpbmNsdWRlIG5oc3VrLXR5cG9ncmFwaHktd2VpZ2h0LW5vcm1hbDtcbn0iLCIubmhzdWstbmV3c2xldHRlci1mb3JtIHtcbiAgLm5oc3VrLXNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn0iLCIuYWxwaGEtZnVsbHdpZHRoIHtcbiAgLnBhZ2VfX2ZlYXR1cmUsIC5wYWdlX19mb290ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBhZ2UuZG91YmxlLW1lbnUge1xuICAuaGVlLW1pY3JvaGVybyB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm5oc3VrLXNraXAtbGluayB7XG4gIHotaW5kZXg6IDE1MCAhaW1wb3J0YW50O1xufVxuXG4uYnJlYWRjcnVtYnMuYWxwaGEge1xuICBtYXJnaW4tYm90dG9tOiBuaHN1ay1zcGFjaW5nKDgpO1xufVxuXG4udGhpcmQtYSB7XG4gIC5oZWUtc2Vjb25kYXJ5LW1lbnUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn0iLCIuaGVlLW1lZ2EtbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay1ibHVlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAuaGVlLW1lZ2EtbWVudV9fbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5oZWUtbWVnYS1tZW51X19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG4gIH1cblxuICAuaGVlLW1lZ2EtbWVudV9faXRlbSB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5oZWUtbWVnYS1tZW51X19saW5rIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWUtbWVnYS1tZW51X19saW5rIHtcbiAgICBAaW5jbHVkZSBuaHN1ay1mb250KDE2KTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBjb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogMTJweCBuaHN1ay1zcGFjaW5nKDMpIDEycHggbmhzdWstc3BhY2luZygyKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjb2xvcjogJGNvbG9yX25oc3VrLWJsdWU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlLWRlc2t0b3ApIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiAgICAgIH1cblxuICAgICAgLm5oc3VrLWljb25fX2NoZXZyb24tcmlnaHQge1xuICAgICAgICBmaWxsOiAkY29sb3JfbmhzdWstYmx1ZTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5oc3VrLWZvY3VzLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG5oc3VrLWZvY3VzLXdpZHRoIHNvbGlkICRuaHN1ay1mb2N1cy10ZXh0LWNvbG9yO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGNvbG9yOiAkbmhzdWstZm9jdXMtdGV4dC1jb2xvcjtcbiAgICAgIG91dGxpbmU6ICRuaHN1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAkbmhzdWstZm9jdXMtd2lkdGg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmhzdWstZm9jdXMtY29sb3I7XG4gICAgICAgIGNvbG9yOiAkbmhzdWstZm9jdXMtdGV4dC1jb2xvcjtcblxuICAgICAgICAubmhzdWstaWNvbl9fY2hldnJvbi1yaWdodCB7XG4gICAgICAgICAgZmlsbDogJG5oc3VrLWZvY3VzLXRleHQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5oc3VrLWZvY3VzLWNvbG9yO1xuICAgICAgICBjb2xvcjogJG5oc3VrLWZvY3VzLXRleHQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRjb2xvcl9uaHN1ay13aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkbmhzdWstZm9udC1ib2xkO1xuXG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGNvbG9yX25oc3VrLWJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWUtbWVnYS1tZW51X19sYWJlbCB7XG4gICAgQGluY2x1ZGUgbmhzdWstZm9udCgxNik7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDEycHggbmhzdWstc3BhY2luZygzKSAxMnB4IG5oc3VrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgLy8gSGFzIGNoaWxkIGl0ZW1zLlxuICAuaGVlLW1lZ2EtbWVudV9fc3VibmF2IHtcbiAgICB3aWR0aDogYXV0bztcblxuICAgIC5oZWUtbWVnYS1tZW51X19saW5rIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSc4JyBoZWlnaHQ9JzYnIHZpZXdCb3g9JzAgMCA4IDYnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J000IDUuMTM1OTlDMy44IDUuMTM1OTkgMy42NjY2NyA1LjA2OTMyIDMuNTMzMzMgNC45MzU5OUwwLjIgMS42MDI2NUMtMC4wNjY2NjY2IDEuMzM1OTkgLTAuMDY2NjY2NiAwLjkzNTk4NyAwLjIgMC42NjkzMkMwLjQ2NjY2NyAwLjQwMjY1MyAwLjg2NjY2NiAwLjQwMjY1MyAxLjEzMzMzIDAuNjY5MzJMNCAzLjUzNTk5TDYuODY2NjcgMC42NjkzMkM3LjEzMzMzIDAuNDAyNjUzIDcuNTMzMzMgMC40MDI2NTMgNy44IDAuNjY5MzJDOC4wNjY2NyAwLjkzNTk4NyA4LjA2NjY3IDEuMzM1OTkgNy44IDEuNjAyNjVMNC40NjY2NyA0LjkzNTk5QzQuMzMzMzMgNS4wNjkzMiA0LjIgNS4xMzU5OSA0IDUuMTM1OTlaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSc4JyBoZWlnaHQ9JzYnIHZpZXdCb3g9JzAgMCA4IDYnIGZpbGw9JyUyMzAwMDAwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTQgNS4xMzU5OUMzLjggNS4xMzU5OSAzLjY2NjY3IDUuMDY5MzIgMy41MzMzMyA0LjkzNTk5TDAuMiAxLjYwMjY1Qy0wLjA2NjY2NjYgMS4zMzU5OSAtMC4wNjY2NjY2IDAuOTM1OTg3IDAuMiAwLjY2OTMyQzAuNDY2NjY3IDAuNDAyNjUzIDAuODY2NjY2IDAuNDAyNjUzIDEuMTMzMzMgMC42NjkzMkw0IDMuNTM1OTlMNi44NjY2NyAwLjY2OTMyQzcuMTMzMzMgMC40MDI2NTMgNy41MzMzMyAwLjQwMjY1MyA3LjggMC42NjkzMkM4LjA2NjY3IDAuOTM1OTg3IDguMDY2NjcgMS4zMzU5OSA3LjggMS42MDI2NUw0LjQ2NjY3IDQuOTM1OTlDNC4zMzMzMyA1LjA2OTMyIDQuMiA1LjEzNTk5IDQgNS4xMzU5OVonIGZpbGw9JyUyMzAwMDAwMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWUtbWVnYS1tZW51X19wYW5lbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZzogNDBweCAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxMTA7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgfVxuICB9XG5cbiAgLmhlZS1tZWdhLW1lbnVfX3BhbmVsX193cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmhlZS1tZWdhLW1lbnVfX3BhbmVsX19ncm91cCB7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuaGVlLW1lZ2EtbWVudV9fcGFuZWxfX3dyYXBwZXJbZGF0YS1ncm91cC1jb3VudD1cIjFcIl0ge1xuICAgIC5oZWUtbWVnYS1tZW51X19wYW5lbF9fZ3JvdXAge1xuICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgIH1cbiAgfVxuXG4gIC5oZWUtbWVnYS1tZW51X19wYW5lbF9fd3JhcHBlcltkYXRhLWdyb3VwLWNvdW50PVwiMlwiXSB7XG4gICAgLmhlZS1tZWdhLW1lbnVfX3BhbmVsX19ncm91cCB7XG4gICAgICBmbGV4LWJhc2lzOiAyNiU7XG4gICAgfVxuICB9XG5cbiAgLmhlZS1tZWdhLW1lbnVfX3BhbmVsX19saW5rIHtcbiAgICBAaW5jbHVkZSBuaHN1ay1mb250KDE2KTtcbiAgICBjb2xvcjogJGNvbG9yX25oc3VrLWJsYWNrO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogbmhzdWstc3BhY2luZygzKTtcblxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJGNvbG9yX25oc3VrLWJsYWNrO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmhzdWstZm9jdXMtY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tOiAkbmhzdWstZm9jdXMtd2lkdGggc29saWQgJG5oc3VrLWZvY3VzLXRleHQtY29sb3I7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6ICRuaHN1ay1mb2N1cy10ZXh0LWNvbG9yO1xuICAgICAgb3V0bGluZTogJG5oc3VrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6ICRuaHN1ay1mb2N1cy13aWR0aDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9tZSBpY29uIHZhcmlhbnQgc3R5bGluZy5cbiAgLmhlZS1tZWdhLW1lbnVfX2l0ZW0uaGFzLWhvbWUtaWNvbiB7XG4gICAgLmhlZS1tZWdhLW1lbnVfX2xhYmVsLCAuaGVlLW1lZ2EtbWVudV9fbGluayB7XG4gICAgICBmb250LXdlaWdodDogJG5oc3VrLWZvbnQtYm9sZDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNCcgdmlld0JveD0nMCAwIDE2IDE0JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOCAwTDcuNTgwODcgMC4zNzg4NDRMMCA3LjU0MjQ0TDAuODM4MjY5IDguMzM0NTZMMS41ODU0MiA3LjYyODU0VjE0SDYuODMzNzFWOC40ODk1NEg5LjE2NjI5VjE0SDE0LjQxNDZWNy42Mjg1NEwxNS4xNjE3IDguMzM0NTZMMTYgNy41NDI0NEw4LjQxOTE0IDAuMzc4ODQ0TDggMFpNOCAxLjU2NzA0TDEzLjI0ODMgNi41MjY0NVYxMi44OTc5SDEwLjMzMjZWNy4zODc0NUg1LjY2NzQzVjEyLjg5NzlIMi43NTE3MVY2LjUyNjQ1TDggMS41NjcwNFonIGZpbGw9J2JsYWNrJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgbWFyZ2luOiAzcHggNHB4IDAgMDtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gR3JleSB0aGVtZS5cbiAgJi50aGVtZS1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstZ3JleS0xO1xuXG4gICAgLmhlZS1tZWdhLW1lbnVfX25hdiwgLmhlZS1tZWdhLW1lbnVfX3BhbmVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay1ncmV5LTE7XG4gICAgfVxuXG4gICAgLmhlZS1tZWdhLW1lbnVfX3BhbmVsX19saW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG5cbiAgICAgICY6YWN0aXZlLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmhzdWstZm9jdXMtdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCbGFjayB0ZXh0IG9uIHdoaXRlIGJhY2tncm91bmQgdGhlbWUuXG4gICYudGhlbWUtYmxhY2std2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay13aGl0ZTtcblxuICAgIC5oZWUtbWVnYS1tZW51X19uYXYsIC5oZWUtbWVnYS1tZW51X19wYW5lbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG4gICAgfVxuXG4gICAgLmhlZS1tZWdhLW1lbnVfX2xhYmVsLCAuaGVlLW1lZ2EtbWVudV9fbGluayB7XG4gICAgICBjb2xvcjogJGNvbG9yX25oc3VrLWJsYWNrO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay1ibHVlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkbmhzdWstZm9jdXMtd2lkdGggc29saWQgJG5oc3VrLWZvY3VzLWNvbG9yO1xuICAgICAgICBjb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzgnIGhlaWdodD0nNicgdmlld0JveD0nMCAwIDggNicgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTQgNS4zMzMyNUMzLjggNS4zMzMyNSAzLjY2NjY3IDUuMjY2NTkgMy41MzMzMyA1LjEzMzI1TDAuMiAxLjc5OTkyQy0wLjA2NjY2NjYgMS41MzMyNSAtMC4wNjY2NjY2IDEuMTMzMjUgMC4yIDAuODY2NTg2QzAuNDY2NjY3IDAuNTk5OTE5IDAuODY2NjY2IDAuNTk5OTE5IDEuMTMzMzMgMC44NjY1ODZMNCAzLjczMzI1TDYuODY2NjcgMC44NjY1ODZDNy4xMzMzMyAwLjU5OTkxOSA3LjUzMzMzIDAuNTk5OTE5IDcuOCAwLjg2NjU4NkM4LjA2NjY3IDEuMTMzMjUgOC4wNjY2NyAxLjUzMzI1IDcuOCAxLjc5OTkyTDQuNDY2NjcgNS4xMzMyNUM0LjMzMzMzIDUuMjY2NTkgNC4yIDUuMzMzMjUgNCA1LjMzMzI1WicgZmlsbD0nd2hpdGUnLyUzRSUzQy9zdmclM0VcIikgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWUtbWVnYS1tZW51X19saW5rIHtcbiAgICAgICY6YWN0aXZlLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9uaHN1ay1ibHVlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkbmhzdWstZm9jdXMtd2lkdGggc29saWQgJG5oc3VrLWZvY3VzLWNvbG9yO1xuICAgICAgICBjb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWUtbWVnYS1tZW51X19zdWJuYXYge1xuICAgICAgLmhlZS1tZWdhLW1lbnVfX2xpbmsge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSc4JyBoZWlnaHQ9JzYnIHZpZXdCb3g9JzAgMCA4IDYnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J000IDUuMzMzMjVDMy44IDUuMzMzMjUgMy42NjY2NyA1LjI2NjU5IDMuNTMzMzMgNS4xMzMyNUwwLjIgMS43OTk5MkMtMC4wNjY2NjY2IDEuNTMzMjUgLTAuMDY2NjY2NiAxLjEzMzI1IDAuMiAwLjg2NjU4NkMwLjQ2NjY2NyAwLjU5OTkxOSAwLjg2NjY2NiAwLjU5OTkxOSAxLjEzMzMzIDAuODY2NTg2TDQgMy43MzMyNUw2Ljg2NjY3IDAuODY2NTg2QzcuMTMzMzMgMC41OTk5MTkgNy41MzMzMyAwLjU5OTkxOSA3LjggMC44NjY1ODZDOC4wNjY2NyAxLjEzMzI1IDguMDY2NjcgMS41MzMyNSA3LjggMS43OTk5Mkw0LjQ2NjY3IDUuMTMzMjVDNC4zMzMzMyA1LjI2NjU5IDQuMiA1LjMzMzI1IDQgNS4zMzMyNVonIGZpbGw9JyUyMzIxMkIzMicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzgnIGhlaWdodD0nNicgdmlld0JveD0nMCAwIDggNicgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTQgNS4zMzMyNUMzLjggNS4zMzMyNSAzLjY2NjY3IDUuMjY2NTkgMy41MzMzMyA1LjEzMzI1TDAuMiAxLjc5OTkyQy0wLjA2NjY2NjYgMS41MzMyNSAtMC4wNjY2NjY2IDEuMTMzMjUgMC4yIDAuODY2NTg2QzAuNDY2NjY3IDAuNTk5OTE5IDAuODY2NjY2IDAuNTk5OTE5IDEuMTMzMzMgMC44NjY1ODZMNCAzLjczMzI1TDYuODY2NjcgMC44NjY1ODZDNy4xMzMzMyAwLjU5OTkxOSA3LjUzMzMzIDAuNTk5OTE5IDcuOCAwLjg2NjU4NkM4LjA2NjY3IDEuMTMzMjUgOC4wNjY2NyAxLjUzMzI1IDcuOCAxLjc5OTkyTDQuNDY2NjcgNS4xMzMyNUM0LjMzMzMzIDUuMjY2NTkgNC4yIDUuMzMzMjUgNCA1LjMzMzI1WicgZmlsbD0nd2hpdGUnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuaGVlLWJhY2stdG8taG9tZS1iYW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstYmx1ZTtcbiAgcGFkZGluZzogbmhzdWstc3BhY2luZygyKSAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAuaGVlLWJhY2stdG8taG9tZS1iYW5uZXJfX2xpbmsge1xuICAgIGNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzgnIGhlaWdodD0nMTInIHZpZXdCb3g9JzAgMCA4IDEyJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMC41IDZDMC41IDUuNyAwLjYgNS41IDAuOCA1LjNMNS44IDAuM0M2LjIgLTAuMSA2LjggLTAuMSA3LjIgMC4zQzcuNiAwLjcgNy42IDEuMyA3LjIgMS43TDIuOSA2TDcuMiAxMC4zQzcuNiAxMC43IDcuNiAxMS4zIDcuMiAxMS43QzYuOCAxMi4xIDYuMiAxMi4xIDUuOCAxMS43TDAuOCA2LjdDMC42IDYuNSAwLjUgNi4zIDAuNSA2WicgZmlsbD0nd2hpdGUnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IG5oc3VrLXNwYWNpbmcoMik7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICB3aWR0aDogN3B4O1xuICAgIH1cblxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJGNvbG9yX25oc3VrLXdoaXRlO1xuICAgIH1cbiAgfVxufSIsIi5oZWUtc2Vjb25kYXJ5LW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbmhzdWstd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206IG5oc3VrLXNwYWNpbmcoNyk7XG5cbiAgLmhlZS1zZWNvbmRhcnktbWVudV9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuICB9XG5cbiAgLmhlZS1zZWNvbmRhcnktbWVudV9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5oZWUtc2Vjb25kYXJ5LW1lbnVfX2xpbmssIC5oZWUtc2Vjb25kYXJ5LW1lbnVfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSBuaHN1ay1mb250KDE2KTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBjb2xvcjogJGNvbG9yX25oc3VrLWdyZXktMTtcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDEycHggMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSwgJjpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yX25oc3VrLWJsdWU7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9tZSBpY29uIHZhcmlhbnQgc3R5bGluZy5cbiAgLmhlZS1zZWNvbmRhcnktbWVudV9faXRlbS5oYXMtaG9tZS1pY29uIHtcbiAgICAuaGVlLXNlY29uZGFyeS1tZW51X19sYWJlbCwgLmhlZS1zZWNvbmRhcnktbWVudV9fbGluayB7XG4gICAgICBmb250LXdlaWdodDogJG5oc3VrLWZvbnQtYm9sZDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNCcgdmlld0JveD0nMCAwIDE2IDE0JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOCAwTDcuNTgwODcgMC4zNzg4NDRMMCA3LjU0MjQ0TDAuODM4MjY5IDguMzM0NTZMMS41ODU0MiA3LjYyODU0VjE0SDYuODMzNzFWOC40ODk1NEg5LjE2NjI5VjE0SDE0LjQxNDZWNy42Mjg1NEwxNS4xNjE3IDguMzM0NTZMMTYgNy41NDI0NEw4LjQxOTE0IDAuMzc4ODQ0TDggMFpNOCAxLjU2NzA0TDEzLjI0ODMgNi41MjY0NVYxMi44OTc5SDEwLjMzMjZWNy4zODc0NUg1LjY2NzQzVjEyLjg5NzlIMi43NTE3MVY2LjUyNjQ1TDggMS41NjcwNFonIGZpbGw9J2JsYWNrJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgbWFyZ2luOiAzcHggNHB4IDAgMDtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlbWUgYmxhY2sgdGV4dC5cbiAgJi50aGVtZS1ibGFjay10ZXh0IHtcbiAgICAuaGVlLXNlY29uZGFyeS1tZW51X19sYWJlbCwgLmhlZS1zZWNvbmRhcnktbWVudV9fbGluayB7XG4gICAgICBjb2xvcjogJGNvbG9yX25oc3VrLWJsYWNrO1xuICAgIH1cbiAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQ29CQUEsQUFBQSxBQUFBLE1BQUMsQUFBQSxFQUFRO0VBQ1AsT0FBTyxFQUFFLGVBQWUsR0FDekI7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 */
