@charset "UTF-8";
@import url(./../../public/css/leaflet.css);
/*
 * COLORS
 */
/*
 * TYPOGRAPHY
 */
/*
 * Layout
 */
/*$sitewidth: 53.75em;*/
/*$sitewidth: 860px;*/
/*
 * Misc
 */
/**
 * For hover.css
 */
/**
 * BREAKPOINTS
 *
 */
/**
 * Bootstrap equivalents
 *
 */
/*@import 'susy';*/
/*@import 'functions';*/
.no-gutter > [class*='col-'] {
  padding-left: 0;
  padding-right: 0; }

#fydNanobar {
  height: 1px !important; }
  #fydNanobar div {
    height: 1px !important; }

#searchLocation::-ms-clear {
  display: none; }

#findYourDoApp {
  /*font-size: 16px;*/ }

#findYourDoInsideForm {
  /*font-size: 16px !important;*/ }

.page.find-your-do-app .fyd {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 21px 0;
  border-bottom: 1px solid #efefef; }
  @media screen and (min-width: 550px) {
    .page.find-your-do-app .fyd {
      flex-direction: row;
      align-items: center; } }
  .page.find-your-do-app .fyd .hero--title {
    flex-shrink: 0;
    margin: 0 1rem 0 0;
    color: #8f8f8f; }
    @media screen and (max-width: 549px) {
      .page.find-your-do-app .fyd .hero--title {
        margin-bottom: 1rem; } }

.fyd#findYourDoInsideForm {
  height: 100%; }

.fyd__widget {
  background: #f8f8f8;
  padding: 20px 25px 20px 25px; }

.fyd__pagination-wrapper {
  margin-top: 55px;
  margin-bottom: 40px;
  text-align: center;
  font-weight: 700; }

.page.find-your-do-app .fyd__button {
  width: 25%;
  float: right; }

body:not(.find-your-do-app) .fyd__button {
  position: relative;
  width: 25%;
  float: right; }

.fyd__button--inside {
  margin-left: 0;
  width: 100%; }
  @media screen and (min-width: 768px) {
    .fyd__button--inside {
      /*margin-left: -27px;*/
      /*width: 100%;*/ } }

.fyd .searchclear {
  position: absolute;
  right: 14px;
  top: 50%;
  bottom: 0;
  height: 100%;
  display: none;
  font-size: 1.5em;
  color: #ccc;
  cursor: pointer;
  transform: translateY(-50%); }
  #findYourDoInsideForm .fyd .searchclear {
    top: 35px; }

#findYourDoInsideForm .fyd {
  height: 100%;
  margin-top: 0; }
  #findYourDoInsideForm .fyd p {
    font-size: 16px;
    line-height: 1.5; }

.fyd__form {
  width: 100%; }
  .fyd__form--inside {
    background-color: #f5f5f5; }

.fyd input {
  padding-right: .5em;
  padding-left: .75em;
  /*@include box-shadow(inset 0 0 7px rgba(146,146,146,.35));*/
  /*@include webFont();*/
  width: 100%;
  height: 50px;
  padding: 0 15px;
  font-family: "trade-gothic-next", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  background-color: #f1f1f1;
  border: none; }
  body:not(.find-your-do-app) .fyd input {
    height: 49px;
    background-color: #fff; }
  @media (min-width: 992px) {
    .fyd input {
      font-size: 18px; } }
  .fyd input:focus-visible {
    outline: 1px solid #116aad; }

.fyd-results__secondary, .fyd-results__sub {
  font-weight: 400;
  color: #595959; }

.fyd-results__subhead, .fyd-results__subhead--right {
  margin-bottom: .5em;
  text-transform: uppercase;
  font-family: "trade-gothic-next", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  color: #959595; }

.fyd-results__messagehead, .fyd-results__messagehead--emph {
  margin-top: 1em;
  line-height: 1.6; }

.fyd-results__head, .fyd-results__head--zero {
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: .5em; }

.map {
  position: relative;
  /*padding-bottom: 90%;*/
  /*height: 0;*/
  height: 325px;
  overflow: hidden; }
  .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .map .mapinfo {
    font-family: "trade-gothic-next", sans-serif; }
  .map .mapheader {
    line-height: 1.33;
    font-size: 13px; }
    .map .mapheader a {
      color: #116aad; }

.fyd-results__container {
  /*#findYourDoApp {*/
  min-height: 600px; }

.fyd-results__name {
  margin-top: 0;
  margin-bottom: 12px;
  /*font-size: 1.142857143em;*/
  font-size: 2.5rem;
  line-height: 1;
  font-weight: 600;
  font-family: "trade-gothic-next-condensed", sans-serif;
  color: #000; }
  @media (min-width: 600px) {
    .fyd-results__name {
      font-size: 2.625rem; } }
  .fyd-results__name a:hover, .fyd-results__name a:focus {
    color: #116aad; }

.fyd-results__kicker {
  position: relative;
  margin-bottom: .5em;
  line-height: 1.2;
  color: #000; }
  @media (max-width: 599px) {
    .fyd-results__list-item.certified .fyd-results__kicker {
      left: 20px; } }
  .fyd-results__kicker div:nth-child(1) {
    width: 100%; }
    @media (min-width: 600px) {
      .fyd-results__kicker div:nth-child(1) {
        width: 75%; } }
  .fyd-results__kicker div:nth-child(2) {
    width: 100%; }
    @media (min-width: 600px) {
      .fyd-results__kicker div:nth-child(2) {
        position: absolute;
        top: 0;
        right: 0;
        width: 23%;
        text-align: right; } }

.fyd-results__primary {
  display: block; }
  @media (max-width: 599px) {
    .fyd-results__primary {
      font-weight: 400; } }
  @media (min-width: 600px) {
    .fyd-results__primary {
      display: inline-block;
      margin-right: 6px; } }

.fyd-results__secondary {
  display: block; }
  @media (min-width: 600px) {
    .fyd-results__secondary {
      display: inline; }
      .fyd-results__secondary:before {
        content: "+ "; } }

.fyd-results__kickersub {
  font-weight: 400;
  display: block;
  color: #116aad; }
  @media (min-width: 768px) {
    .fyd-results__kickersub {
      /*margin-left: .33em;*/ } }

.fyd-results__report {
  /*margin-top: 1em;*/
  font-size: 1.5em;
  font-family: "trade-gothic-next", sans-serif;
  line-height: 1;
  color: #595959; }
  .fyd-results__report button:disabled {
    background-color: #e6e6e6;
    border-color: #e6e6e6; }
  .fyd-results__report .radius-button.active {
    margin-right: 0;
    font-weight: 600;
    background-color: #ffaa00;
    border-color: #ffaa00; }

.fyd-results__title {
  margin-bottom: 2em; }

.fyd-results__label {
  font-size: .5833333333em;
  margin-right: 1em; }

.fyd-results__sort {
  /*margin-top: 1em;*/
  /*float: right;*/ }
  @media (min-width: 768px) {
    .fyd-results__sort {
      margin-top: 0;
      /*float: right;*/ } }

.fyd-results__select {
  display: inline;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  /*@media (min-width: $largestart) { */
  /*width: 64%;*/
  /*}*/ }

.fyd-results__list {
  list-style-type: none;
  margin-left: 0;
  padding: 0; }

.fyd-results__list-item {
  position: relative;
  margin-bottom: -1px;
  padding: 1rem 0;
  border-bottom: 1px solid #c8d9ea;
  list-style: none; }
  @media (min-width: 600px) {
    .fyd-results__list-item {
      padding: 1.5rem;
      border: 1px solid #c8d9ea; } }
  .fyd-results__list-item > a {
    display: block; }
    @media (min-width: 600px) {
      .fyd-results__list-item > a {
        margin: -1.5rem;
        padding: 1.5rem;
        box-shadow: 0 0 0 0 #fff;
        transition: box-shadow .3s ease-in-out; }
        .fyd-results__list-item > a:hover {
          box-shadow: 0 4px 60px rgba(17, 106, 173, 0.12); } }

.fyd-results__body {
  font-family: "trade-gothic-next", sans-serif;
  line-height: 1.5;
  color: #000; }
  .fyd-results__list-item .fyd-results__body > p {
    line-height: 1.4; }
    @media (max-width: 599px) {
      .fyd-results__list-item .fyd-results__body > p {
        font-size: 1rem; } }
  .fyd-results__body > p > span {
    font-weight: 600; }

.fyd-results__locator {
  background: aliceblue; }

.fyd-results__head {
  color: #116aad; }
  .fyd-results__head--zero {
    color: #959595; }

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

.fyd-results__tags {
  margin: 0;
  margin-bottom: 1em; }

.fyd-results__tag {
  position: relative;
  display: inline-block;
  padding-top: .5em;
  padding-right: 2em;
  padding-bottom: .5em;
  padding-left: .5em;
  margin-bottom: .33em;
  margin-top: .25em;
  margin-right: .5em;
  font-size: 64%;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  letter-spacing: 0;
  vertical-align: baseline;
  /*color: $gray;*/
  color: #116aad;
  /*border: 1px solid #ccc;*/
  border: 1px solid #64B9FA;
  background-color: #fff;
  text-transform: uppercase; }
  .fyd-results__tag a {
    position: absolute;
    top: -13px;
    right: -9px;
    display: inline-block;
    margin: 0;
    padding: .44444444em;
    /*background-color: #a5a5a5;*/
    font-size: 28px;
    font-weight: 200;
    line-height: 1;
    color: #116aad; }
    .fyd-results__tag a:hover, .fyd-results__tag a:focus {
      color: #8f8f8f; }
  .fyd-results__tag a:hover, .fyd-results__tag a:focus {
    /*cursor: pointer;*/
    /*background-color: $gray;*/
    /*@include transition(all .3s ease);*/ }
  .fyd-results__tag [data-role="remove"]:after {
    content: "\00d7";
    padding: 0 2px; }

.fyd-results__imagecontainer {
  display: inline-block;
  position: absolute;
  top: 18px;
  left: 0; }
  @media (min-width: 600px) {
    .fyd-results__imagecontainer {
      top: auto;
      left: auto;
      bottom: 22px;
      right: 1.5rem;
      opacity: .8; } }
  .fyd-results__imagecontainer svg#logoBoardCert {
    width: auto;
    height: 36px; }
    .fyd-results__imagecontainer svg#logoBoardCert #words {
      display: none; }
      @media (min-width: 600px) {
        .fyd-results__imagecontainer svg#logoBoardCert #words {
          display: block; } }
    @media (min-width: 600px) {
      .fyd-results__imagecontainer svg#logoBoardCert {
        position: static;
        height: 88px; } }

.fyd-results__messagecontainer {
  /*font-family: $primaryfont;*/ }

.fyd-results__messagehead--emph {
  color: #116aad;
  font-weight: 700; }

.fyd-results__dist {
  display: block;
  margin-top: 9px;
  font-size: .875em;
  font-weight: 400 !important;
  text-transform: uppercase;
  color: #959595; }

.fyd-detail__specialty {
  margin-bottom: 9px;
  text-transform: uppercase;
  font-size: 18px;
  line-height: 1;
  color: #000; }
  @media (min-width: 768px) {
    .fyd-detail__specialty {
      font-size: 21px; } }

.fyd-detail__phone {
  color: #116aad; }
  .fyd-detail__phone > i {
    position: relative;
    top: 3px; }
  @media (min-width: 768px) {
    .fyd-detail__phone {
      color: inherit; } }

@media (max-width: 768px) {
  .fyd-detail__phonenote {
    position: relative;
    top: -.25em;
    padding-top: .2em;
    padding-right: .5em;
    padding-left: .5em;
    padding-bottom: .2em;
    font-size: .6em;
    text-transform: uppercase;
    background: #01eaff;
    color: #fff; } }

.fyd-detail__info {
  font-size: 18px;
  line-height: 1.33;
  letter-spacing: 0;
  color: #000; }
  @media (min-width: 768px) {
    .fyd-detail__info {
      font-size: 26px;
      line-height: 1.4;
      letter-spacing: inherit; } }

.fyd-detail__header {
  padding-bottom: 1em;
  margin-bottom: 2em;
  border-bottom: 1px solid rgba(17, 106, 173, 0.5); }

.fyd-detail__name {
  margin-bottom: 12px;
  font-family: "trade-gothic-next-condensed", sans-serif;
  font-size: 3em;
  line-height: 1;
  font-weight: 600;
  color: #116aad; }
  @media (min-width: 768px) {
    .fyd-detail__name {
      font-size: 4.5em; } }

.fyd-detail__meta {
  font-weight: 400;
  color: #000; }

.fyd-detail__subhead {
  margin-bottom: .5em;
  font-weight: 600;
  letter-spacing: 1px;
  color: #116aad; }

.fyd-detail__link {
  color: inherit; }

.fyd-detail__list {
  margin-top: 0; }

.fyd-detail__listitem {
  font-size: 18px  !important;
  line-height: 1.33  !important;
  font-family: "trade-gothic-next", sans-serif;
  color: #000; }

.fyd-detail__boardcertcontainer {
  max-width: 25%; }
  @media (min-width: 768px) {
    .fyd-detail__boardcertcontainer {
      max-width: 100%; }
      .fyd-detail__boardcertcontainer img {
        width: 150px; } }

.fyd-detail__profileimagecontainer {
  position: relative;
  top: 6px;
  /*max-width: 85px;*/
  max-width: 135px;
  margin-right: 1em; }

.fyd-detail__note {
  margin-top: 3em;
  font-family: "trade-gothic-next", sans-serif;
  font-size: .875em;
  line-height: 1.5;
  color: #979797; }

.fyd-detail__footnote {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px solid #ddd;
  font-family: "trade-gothic-next", sans-serif;
  font-size: .875em;
  line-height: 1.5;
  color: #979797; }

.fyd-standalone {
  padding-top: 3.75rem; }
  @media screen and (max-width: 991px) {
    .fyd-standalone {
      margin-left: -15px;
      margin-right: -15px;
      padding-right: 15px;
      padding-left: 15px; } }
  .fyd-standalone__title {
    margin-bottom: 2rem;
    font-family: "rift-soft", sans-serif;
    text-transform: none;
    letter-spacing: 0;
    font-size: 4.25rem;
    line-height: 1;
    color: #116aad; }
  .fyd-standalone__content {
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.75; }
    @media screen and (min-width: 768px) {
      .fyd-standalone__content {
        margin-bottom: 3rem;
        font-size: 1.25rem; } }
  .fyd-standalone__form {
    margin-bottom: 2rem; }
  .fyd-standalone__figure {
    position: relative; }
    .fyd-standalone__figure > img {
      display: none !important; }
      @media screen and (min-width: 768px) {
        .fyd-standalone__figure > img {
          display: block !important;
          position: absolute;
          top: -20px;
          z-index: -1; } }
      @media screen and (min-width: 800px) {
        .fyd-standalone__figure > img {
          top: -40px; } }
  .fyd-standalone__footer {
    margin-bottom: 0; }
    @media screen and (min-width: 1030px) {
      .fyd-standalone__footer {
        margin-bottom: 5rem; } }
    @media screen and (max-width: 991px) {
      .fyd-standalone__footer > .smallprint-container {
        padding-left: 0;
        padding-right: 0; } }
  .fyd-standalone .sideBar_Caption {
    padding: 1.5rem; }

.hero {
  /*max-height: 700px;*/
  height: 100%;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  background-color: #6B6551; }
  .hero__body {
    margin-top: 1.5em;
    margin-bottom: 1.25em;
    font-family: "trade-gothic-next", sans-serif;
    font-size: 1.3em;
    line-height: 1.7;
    color: #fff; }
    @media screen and (min-width: 768px) {
      .hero__body {
        font-size: 1.785714286em; } }
  .hero__image {
    text-align: center; }
    .hero__image--placeholder {
      background-color: #b3b3b3;
      width: 100%;
      height: 500px; }
  .hero__overlay {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0;
    padding-right: 1em;
    padding-bottom: 1em;
    padding-left: 1em;
    left: 0;
    right: 0;
    bottom: 0;
    /*top: 0;*/
    width: 100%;
    background-color: rgba(255, 170, 0, 0.7); }
    @media screen and (min-width: 768px) {
      .hero__overlay {
        position: absolute; } }
  .hero__content {
    /*text-align: center;*/
    margin-left: auto;
    margin-right: auto;
    /*width: $sitewidth;*/ }
  .hero__title {
    /*display: inline;*/
    margin-bottom: 1em;
    margin-right: .5em;
    font-family: "trade-gothic-next", sans-serif;
    /*text-align: center;*/
    font-weight: 700;
    font-size: 2em;
    text-transform: uppercase;
    letter-spacing: 1px;
    vertical-align: middle;
    line-height: 1.5;
    color: #fff; }
    @media screen and (min-width: 768px) {
      .hero__title {
        text-align: right; } }

/*@import 'typeahead';*/
/*@import 'tipso.scss';*/
.fyd-tooltip:before, #sidebar .fyd-tooltip:before {
  position: absolute;
  margin-bottom: auto;
  padding: 7px;
  z-index: 3;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  border-radius: 0;
  background: rgba(1, 234, 255, 0.9);
  color: #fff;
  content: "Sorry, we could not find this location";
  /*opacity: 1;*/
  transition: all .5s linear; }
  @media screen and (min-width: 768px) and (max-width: 992px) {
    .fyd-tooltip:before, #sidebar .fyd-tooltip:before {
      height: 75%;
      padding: 5px 7px; } }

/**
 * Tooltip Styles
 */
/* Add this attribute to the element that needs a tooltip */
.fyd-tooltip {
  position: relative;
  z-index: 2;
  cursor: pointer;
  background: transparent;
  transition: all .5s linear; }

/* Hide the tooltip content by default */
.fyd-tooltip:before,
.fyd-tooltip:after {
  /*visibility: hidden;*/
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  /*filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);*/
  /*opacity: 0;*/
  pointer-events: none;
  /*background: transparent;*/
  transition: all .5s linear; }

/* Position tooltip above the element */
.fyd-tooltip:before {
  right: 1px;
  /*bottom: 10px;*/
  top: 11px;
  height: 30px;
  margin-left: 5px;
  /*margin-right: 5px;*/
  line-height: 1.2; }

#sidebar .fyd-tooltip:before {
  display: table-cell;
  height: 114%;
  top: -114%;
  left: 0;
  right: 0;
  line-height: 1.5;
  margin-left: 0;
  margin-right: 0; }
  @media screen and (min-width: 380px) {
    #sidebar .fyd-tooltip:before {
      height: 75%;
      top: -75%; } }
  @media screen and (min-width: 768px) {
    #sidebar .fyd-tooltip:before {
      height: 100%;
      top: -100%; } }

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2015 Daniel Eden
*/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s; }

.animated.flipOutX,
.animated.flipOutY {
  -webkit-animation-duration: .75s;
  animation-duration: .75s; }

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

@keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

.shake {
  -webkit-animation-name: shake;
  animation-name: shake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
    transform: none; } }

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp; }

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

/**
 * React Select
 * ============
 * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/
 * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs
 * MIT License: https://github.com/keystonejs/react-select
*/
.Select {
  position: relative; }

.Select,
.Select div,
.Select input,
.Select span {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.Select.is-disabled > .Select-control {
  background-color: #f9f9f9; }

.Select.is-disabled > .Select-control:hover {
  box-shadow: none; }

.Select.is-disabled .Select-arrow-zone {
  cursor: default;
  pointer-events: none; }

.Select-control {
  background-color: #fff;
  /*border-color: #d9d9d9 #ccc #b3b3b3;*/
  /*border-radius: 4px;*/
  /*border: 1px solid #ccc;*/
  color: #000;
  cursor: default;
  display: table;
  height: 36px;
  outline: none;
  overflow: hidden;
  position: relative;
  width: 100%; }

.Select-control:hover {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); }

.is-searchable.is-open > .Select-control {
  cursor: text; }

.is-open > .Select-control {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background: #fff;
  border-color: #b3b3b3 #ccc #d9d9d9; }

.is-open > .Select-control > .Select-arrow {
  border-color: transparent transparent #999;
  border-width: 0 5px 5px; }

.is-searchable.is-focused:not(.is-open) > .Select-control {
  cursor: text; }

.is-focused:not(.is-open) > .Select-control {
  border-color: #116aad;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1); }

.Select-placeholder,
:not(.Select--multi) > .Select-control .Select-value {
  bottom: 0;
  color: #000;
  left: 0;
  line-height: 34px;
  padding-left: 10px;
  padding-right: 10px;
  position: absolute;
  right: 0;
  top: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700; }

.has-value:not(.Select--multi) > .Select-control > .Select-value .Select-value-label,
.has-value.is-pseudo-focused:not(.Select--multi) > .Select-control > .Select-value .Select-value-label {
  color: #000; }

.has-value:not(.Select--multi) > .Select-control > .Select-value a.Select-value-label,
.has-value.is-pseudo-focused:not(.Select--multi) > .Select-control > .Select-value a.Select-value-label {
  cursor: pointer;
  text-decoration: none; }

.has-value:not(.Select--multi) > .Select-control > .Select-value a.Select-value-label:hover,
.has-value.is-pseudo-focused:not(.Select--multi) > .Select-control > .Select-value a.Select-value-label:hover,
.has-value:not(.Select--multi) > .Select-control > .Select-value a.Select-value-label:focus,
.has-value.is-pseudo-focused:not(.Select--multi) > .Select-control > .Select-value a.Select-value-label:focus {
  color: #116aad;
  outline: none;
  text-decoration: underline; }

.Select-input {
  height: 34px;
  padding-left: 10px;
  padding-right: 10px;
  vertical-align: middle; }

.Select-input > input {
  background: none transparent;
  border: 0 none;
  box-shadow: none;
  cursor: default;
  display: inline-block;
  font-family: inherit;
  font-size: inherit;
  height: 34px;
  margin: 0;
  outline: none;
  padding: 0;
  -webkit-appearance: none; }

.is-focused .Select-input > input {
  cursor: text; }

.has-value.is-pseudo-focused .Select-input {
  opacity: 0; }

.Select-control:not(.is-searchable) > .Select-input {
  outline: none; }

.Select-loading-zone {
  cursor: pointer;
  display: table-cell;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 16px; }

.Select-loading {
  -webkit-animation: Select-animation-spin 400ms infinite linear;
  -o-animation: Select-animation-spin 400ms infinite linear;
  animation: Select-animation-spin 400ms infinite linear;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #ccc;
  border-right-color: #000;
  display: inline-block;
  position: relative;
  vertical-align: middle; }

.Select-clear-zone {
  -webkit-animation: Select-animation-fadeIn 200ms;
  -o-animation: Select-animation-fadeIn 200ms;
  animation: Select-animation-fadeIn 200ms;
  color: #000;
  cursor: pointer;
  display: table-cell;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 17px; }

.Select-clear-zone:hover {
  color: #D0021B; }

.Select-clear {
  display: inline-block;
  font-size: 26px;
  line-height: 0; }

.Select--multi .Select-clear-zone {
  width: 17px; }

.Select-arrow-zone {
  cursor: pointer;
  display: table-cell;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 25px;
  padding-right: 5px; }

.Select-arrow {
  border-color: #999 transparent transparent;
  border-style: solid;
  border-width: 5px 5px 2.5px;
  display: inline-block;
  height: 0;
  width: 0; }

.is-open .Select-arrow,
.Select-arrow-zone:hover > .Select-arrow {
  border-top-color: #666; }

@-webkit-keyframes Select-animation-fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes Select-animation-fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.Select-menu-outer {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-top-color: #e6e6e6;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
  margin-top: -1px;
  max-height: 200px;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 1;
  -webkit-overflow-scrolling: touch; }

.Select-menu {
  max-height: 198px;
  overflow-y: auto; }

.Select-option {
  box-sizing: border-box;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  cursor: pointer;
  display: block;
  padding: 8px 10px; }

.Select-option:last-child {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px; }

.Select-option.is-focused {
  background-color: #add7f7;
  /*background-color: rgba(0, 126, 255, 0.08);*/
  color: #000; }

.Select-option.is-disabled {
  color: #cccccc;
  cursor: default; }

.Select-noresults {
  box-sizing: border-box;
  color: #999999;
  cursor: default;
  display: block;
  padding: 8px 10px; }

.Select--multi .Select-input {
  vertical-align: middle;
  margin-left: 10px;
  padding: 0; }

.Select--multi.has-value .Select-input {
  margin-left: 5px; }

.Select--multi .Select-value {
  background-color: rgba(17, 106, 173, 0.08);
  border-radius: 2px;
  border: 1px solid rgba(17, 106, 173, 0.24);
  color: #116aad;
  display: inline-block;
  font-size: 0.9em;
  line-height: 1.4;
  margin-left: 5px;
  margin-top: 5px;
  vertical-align: top; }

.Select--multi .Select-value-icon,
.Select--multi .Select-value-label {
  display: inline-block;
  vertical-align: middle; }

.Select--multi .Select-value-label {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
  cursor: default;
  padding: 2px 5px; }

.Select--multi a.Select-value-label {
  color: #116aad;
  cursor: pointer;
  text-decoration: none; }

.Select--multi a.Select-value-label:hover {
  text-decoration: underline; }

.Select--multi .Select-value-icon {
  cursor: pointer;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
  border-right: 1px solid rgba(0, 126, 255, 0.24);
  padding: 1px 5px 3px; }

.Select--multi .Select-value-icon:hover,
.Select--multi .Select-value-icon:focus {
  background-color: rgba(17, 106, 173, 0.08);
  color: #116aad; }

.Select--multi .Select-value-icon:active {
  background-color: rgba(0, 126, 255, 0.24); }

.Select--multi.is-disabled .Select-value {
  background-color: #fcfcfc;
  border: 1px solid #e3e3e3;
  color: #000; }

.Select--multi.is-disabled .Select-value-icon {
  cursor: not-allowed;
  border-right: 1px solid #e3e3e3; }

.Select--multi.is-disabled .Select-value-icon:hover,
.Select--multi.is-disabled .Select-value-icon:focus,
.Select--multi.is-disabled .Select-value-icon:active {
  background-color: #fcfcfc; }

@keyframes Select-animation-spin {
  to {
    transform: rotate(1turn); } }

@-webkit-keyframes Select-animation-spin {
  to {
    -webkit-transform: rotate(1turn); } }

.status {
  position: absolute;
  top: 18px;
  left: 47%; }

.fyd__autosuggest {
  position: relative; }
  body:not(.find-your-do-app) .fyd__autosuggest {
    height: 0; }
  #findYourDoInsideForm .fyd__autosuggest {
    position: relative;
    height: 3.5em;
    display: table;
    width: 100%; }

.react-autosuggest__container {
  position: absolute;
  top: 0;
  z-index: 2;
  width: 100%;
  margin-top: 0;
  font-family: "trade-gothic-next", sans-serif;
  background-color: #fff; }
  body.page-search .react-autosuggest__container,
  body.home .react-autosuggest__container {
    width: 75%;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    border-left: 1px solid rgba(0, 0, 0, 0.2); }
  .react-autosuggest__container--open {
    /*border: 1px solid #ccc;*/
    /*box-shadow: 0 5px 10px rgba(0,0,0,.2);*/ }
    #findYourDoInsideForm .react-autosuggest__container--open {
      top: 0; }

.react-autosuggest__input {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }

.react-autosuggest__suggestions-container {
  margin: 0;
  padding: .25em 0 0 0; }

.react-autosuggest__suggestion {
  padding: 3px 20px;
  font-size: 16px;
  /*font-size: .875em;*/
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
  list-style-type: none;
  cursor: pointer; }
  .react-autosuggest__suggestion--focused {
    background-color: #add7f7;
    text-decoration: none;
    color: inherit; }

.react-autosuggest__suggestion-content--highlight {
  font-weight: 800;
  color: #116aad; }

.tab, .tab--active, .tab--inactive {
  display: inline-block;
  width: 24.25%;
  /*display: inline;*/
  height: 5em;
  float: left;
  margin-right: 1%;
  padding-top: 10px;
  cursor: pointer;
  font-size: .55em;
  text-align: center;
  text-transform: uppercase;
  font-family: "trade-gothic-next", sans-serif;
  font-weight: 700;
  /*border-bottom: 4px solid;*/ }
  .tab:last-child, .tab--active:last-child, .tab--inactive:last-child {
    margin-right: 0;
    float: right; }
  @media (min-width: 380px) {
    .tab, .tab--active, .tab--inactive {
      font-size: .65em; } }

.tab {
  background: rgba(17, 106, 173, 0.94);
  color: rgba(255, 255, 255, 0.9);
  /*border-bottom-color: $white;*/ }
  .tab__icon {
    transition: all .15s linear;
    opacity: .5; }
    .tab:hover .tab__icon {
      /*transform: rotate(180deg);*/
      color: #64B9FA;
      opacity: 1; }
    .tab--active .tab__icon {
      color: #fff;
      opacity: 1;
      transform: rotate(180deg); }
  .tab--active {
    padding-top: 6px;
    border-top: 4px solid #64B9FA;
    background: rgba(17, 106, 173, 0.94);
    color: #fff; }
    @media (min-width: 380px) {
      .tab--active {
        /*padding-top: 6px;*/ } }
  .tab--inactive {
    background: rgba(17, 106, 173, 0.3);
    color: #116aad; }
    @media (min-width: 380px) {
      .tab--inactive {
        /*padding-top: 6px;*/ } }

.fydtabpanels {
  position: relative;
  top: 50px; }
  @media (min-width: 380px) {
    .fydtabpanels {
      top: 59px; } }

.tabpanel {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 10;
  padding-left: 1em;
  padding-right: 1em;
  /*padding-bottom: 1em;*/
  color: #fff;
  background: #116aad;
  opacity: .94; }

.arrow {
  width: 0;
  height: 0;
  margin-top: .60em;
  margin-left: auto;
  margin-right: auto;
  border-top: none;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #ffd580; }
  .tab--active > .arrow {
    border-top: 10px solid #ffc44d;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: none; }
  .tab--inactive > .arrow {
    border-top: none;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #ffc44d; }

.genderfilter__radio + label::after, .genderfilter__checkbox + label::after {
  display: block;
  position: relative;
  top: 7px;
  margin: 0 auto 20px;
  width: 20px;
  height: 20px;
  content: '\a0';
  vertical-align: -1px;
  text-indent: -.4px;
  line-height: .35;
  background: #fff;
  font-size: 43px; }

.radiusfilter__indicator, .radiusfilter__indicator--right {
  /*font-weight: $fontbold;*/
  /*opacity: .8;*/
  font-variant: small-caps; }

.filter {
  margin-bottom: 2em;
  margin-top: 2em; }

.filters {
  margin-bottom: 1em;
  font-size: 18px;
  line-height: 1.2; }
  .filters a {
    position: relative;
    top: 9px;
    display: block;
    /*padding-bottom: 10px;*/
    /*border-bottom: 1px solid rgba(255,255,255,.4);*/
    color: #fff; }
  .filters__head {
    color: #b3b3b3; }

.namefilter__input {
  display: inline-block;
  height: 36px;
  width: 80%;
  /*padding: 12px 16px;*/
  padding: 0 16px;
  outline: none;
  font-size: 16px;
  line-height: 1.2;
  border: 0;
  color: #595959; }

.namefilter__btn {
  -webkit-appearance: none;
  display: inline-block;
  float: right;
  height: 36px;
  width: 18%;
  border-radius: 0;
  background: white;
  box-shadow: none;
  outline: none;
  border: 0;
  font-size: 18px;
  line-height: 0;
  color: #116aad;
  transition: color .15s linear; }
  .namefilter__btn:hover {
    color: #64B9FA; }

.radiusfilter {
  color: #fff; }
  .radiusfilter__readout {
    text-align: left;
    text-transform: uppercase; }
    .radiusfilter__readout--emph {
      font-weight: 700; }
  .radiusfilter__indicator--right {
    float: right; }
  .radiusfilter input[type=range] {
    -webkit-appearance: none;
    margin: 1em 0;
    padding: 0;
    width: 100%; }
  .radiusfilter input[type=range]:focus {
    outline: none; }
  .radiusfilter input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 6px;
    cursor: pointer;
    animate: 0.2s;
    /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/
    background: #fff;
    border-radius: 25px;
    border: 0px solid #000101; }
  .radiusfilter input[type=range]::-webkit-slider-thumb {
    /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/
    border: 0px solid #000000;
    height: 1.5em;
    width: 1.5em;
    border-radius: 50%;
    background: #64B9FA;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -9.5px; }
  .radiusfilter input[type=range]:focus::-webkit-slider-runnable-track {
    background: #fff; }
  .radiusfilter input[type=range]::-moz-range-track {
    width: 100%;
    height: 6px;
    cursor: pointer;
    animate: 0.2s;
    /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/
    background: #fff;
    border-radius: 25px;
    border: 0px solid #000101; }
  .radiusfilter input[type=range]::-moz-range-thumb {
    /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/
    border: 0px solid #000000;
    height: 1.5em;
    width: 1.5em;
    border-radius: 50%;
    background: #64B9FA;
    cursor: pointer; }
  .radiusfilter input[type=range]::-ms-track {
    width: 100%;
    height: 6px;
    cursor: pointer;
    animate: 0.2s;
    background: transparent;
    border-color: transparent;
    border-width: 39px 0;
    color: transparent; }
  .radiusfilter input[type=range]::-ms-fill-lower {
    background: #fff;
    border: 0px solid #000101;
    border-radius: 50px;
    /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/ }
  .radiusfilter input[type=range]::-ms-fill-upper {
    background: #fff;
    border: 0px solid #000101;
    border-radius: 50px;
    /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/ }
  .radiusfilter input[type=range]::-ms-thumb {
    /*box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;*/
    border: 0px solid #000000;
    height: 1.5em;
    width: 1.5em;
    border-radius: 50%;
    background: #64B9FA;
    cursor: pointer; }
  .radiusfilter input[type=range]::-ms-tooltip {
    display: none; }
  .radiusfilter input[type=range]:focus::-ms-fill-lower {
    background: #fff; }
  .radiusfilter input[type=range]:focus::-ms-fill-upper {
    background: #fff; }

.specialtyFilter__select {
  font-size: 14px; }

.genderfilter {
  text-align: center;
  margin: 1em auto; }
  @media (min-width: 380px) {
    .genderfilter {
      max-width: 90%; } }
  @media (min-width: 480px) {
    .genderfilter {
      max-width: 60%; } }
  @media (min-width: 992px) {
    .genderfilter {
      max-width: 50%; } }
  .genderfilter input[type="checkbox"], .genderfilter input[type="radio"] {
    position: absolute;
    clip: rect(0, 0, 0, 0); }
  .genderfilter input[type="checkbox"]:focus + label:after,
  .genderfilter input[type="radio"]:focus + label:after {
    box-shadow: 0 0 .1em .1em #58a; }
  .genderfilter input[type="checkbox"]:disabled + label:after,
  .genderfilter input[type="radio"]:disabled + label:after {
    background: gray;
    box-shadow: none;
    color: #2193e9; }
  .genderfilter__radio:checked + label::after {
    content: '•';
    background: #fff;
    color: #64B9FA; }
  .genderfilter__checkbox:checked + label::after {
    content: '\2714';
    background: #116aad; }
  .genderfilter__radio + label::after {
    border-radius: 50%; }
  .genderfilter__checkbox + label::after {
    border-radius: .15em; }
  .genderfilter__label {
    display: block;
    width: 100%;
    margin-right: 1em; }
  .genderfilter__section {
    width: 33%;
    display: inline-block; }
  .genderfilter__count {
    display: block;
    opacity: .8;
    font-weight: 200;
    font-size: 18px; }

.fydPage-enter {
  opacity: .01;
  transition: opacity 1s ease-in; }

.fydPage-enter.fydPage-enter-active {
  opacity: 1; }

.fydPage-appear {
  opacity: .01;
  transition: opacity 1s ease-in; }

.fydPage-appear.fydPage-appear-active {
  opacity: 1; }

.fydPage-leave {
  opacity: 1;
  transition: opacity 1s ease-in; }

.fydPage-leave.fydPage-leave-active {
  opacity: .01; }

.example-enter {
  opacity: 0.01;
  transition: opacity .5s ease-in; }

.example-enter.example-enter-active {
  opacity: 1; }

.example-leave {
  opacity: 1;
  transition: opacity .5s ease-in; }

.example-leave.example-leave-active {
  opacity: 0.01; }

@-webkit-keyframes react-progress-spinner {
  0% {
    -webkit-transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg); } }

@keyframes react-progress-spinner {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.react-progress-bar {
  position: relative;
  top: -1px;
  left: -15px;
  width: 102.5%;
  visibility: visible;
  opacity: 1;
  transition: all 400ms;
  z-index: 9999999; }
  .react-progress-bar.react-progress-bar-on-top {
    height: 100%; }
  .react-progress-bar.react-progress-bar-hide {
    opacity: 0;
    visibility: hidden;
    z-index: -10; }

.react-progress-bar-percent {
  height: 2px;
  background: #116aad;
  transition: all 200ms ease; }

.leaflet-popup-content {
  width: 210px;
  margin: 10px 16px 12px; }
  .leaflet-popup-content p {
    margin-top: 0; }

.leaflet-popup-content-wrapper {
  border-radius: 0; }

.leaflet-container a.leaflet-popup-close-button {
  padding: 0;
  top: 10px;
  right: 10px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC15b3VyLWRvLXB1YmxpYy5jc3MiLCJzb3VyY2VzIjpbImZpbmQteW91ci1kby1wdWJsaWMuc2NzcyIsInV0aWxpdGllcy9faW5kZXguc2NzcyIsInV0aWxpdGllcy9fdmFyaWFibGVzLnNjc3MiLCJ1dGlsaXRpZXMvX21peGlucy5zY3NzIiwidXRpbGl0aWVzL19oZWxwZXJzLnNjc3MiLCJtb2R1bGVzL19pbmRleC5zY3NzIiwibW9kdWxlcy9fZmluZC15b3VyLWRvLnNjc3MiLCJtb2R1bGVzL19maW5kLXlvdXItZG8tcmVzdWx0cy5zY3NzIiwibW9kdWxlcy9fZmluZC15b3VyLWRvLWRldGFpbC5zY3NzIiwibW9kdWxlcy9fZmluZC15b3VyLWRvLXN0YW5kYWxvbmUuc2NzcyIsIm1vZHVsZXMvX2hlcm8uc2NzcyIsIm1vZHVsZXMvX3Rvb2x0aXAuc2NzcyIsIm1vZHVsZXMvX2FuaW1hdGUuc2NzcyIsIm1vZHVsZXMvX3NlbGVjdC5zY3NzIiwibW9kdWxlcy9fYXV0b3N1Z2dlc3Quc2NzcyIsIm1vZHVsZXMvX3RhYnMuc2NzcyIsIm1vZHVsZXMvX2ZpbHRlcnMuc2NzcyIsIm1vZHVsZXMvX3RyYW5zaXRpb25zLnNjc3MiLCJtb2R1bGVzL19wcm9ncmVzc2Jhci5zY3NzIiwibW9kdWxlcy9fbGVhZmxldC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwidXRmLThcIjtcblxuQGltcG9ydCBcIi4vLi4vLi4vcHVibGljL2Nzcy9sZWFmbGV0LmNzc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9pbmRleFwiOyAvLyBWYXJpYWJsZXMsIG1peGlucywgZ3JpZC1zeXN0ZW0sIGV0Yy5cbkBpbXBvcnQgJ21vZHVsZXMvaW5kZXgnO1xuIiwiQGltcG9ydCAndmFyaWFibGVzJztcbi8qQGltcG9ydCAnc3VzeSc7Ki9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAkRnVuY3Rpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLypAaW1wb3J0ICdmdW5jdGlvbnMnOyovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAkTWl4aW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCAnbWl4aW5zJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICRIZWxwZXIgQ2xhc3Nlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgJ2hlbHBlcnMnO1xuIiwiLypcbiAqIENPTE9SU1xuICovXG4kdmVyeWRhcms6ICMwMDA7XG4kd2hpdGU6ICNmZmY7XG5cbi8vIENhbXBhaWduIGNvbG9yc1xuJGdyYXk6ICM4ZjhmOGY7XG4kb3JhbmdlOiAjZmZhYTAwO1xuJGN5YW46ICMwMWVhZmY7XG4kcGluazogI2Q0NWRjYztcblxuJG1lZGl1bWdyYXk6ICNiM2IzYjM7XG4kbGlnaHRncmF5OiAjZGRkO1xuJGV4dHJhbGlnaHRncmF5OiAjZjVmNWY1O1xuXG4kYW9hYmx1ZTogIzExNmFhZDtcbiRhb2FkYXJrZ3JleTogIzU5NTk1OTtcbiRhb2FsaWdodGdyZXk6ICM5NTk1OTU7XG4vLyR5ZWxsb3c6ICNmYWM5MDA7XG5cbiRhb2FibHVldGludDogI2U4ZjRmZDtcbiRhb2FibHVlcGFpcmVkZGFyazogIzBlNTU4YjtcbiRmb250LWNvbG9yLWRhcms6ICMwMDA7XG4kZm9udC1jb2xvci1saWdodDogJGFvYWRhcmtncmV5O1xuXG4kcHJpbWFyeWNvbG9yOiAkYW9hYmx1ZTtcbiRzZWNvbmRhcnljb2xvcjogIzY0QjlGQTtcbiRhY2NlbnRjb2xvcjogJHNlY29uZGFyeWNvbG9yO1xuJGxpbmtjb2xvcjogJGFvYWJsdWU7XG5cbi8qXG4gKiBUWVBPR1JBUEhZXG4gKi9cbi8vJHByaW1hcnlmb250OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuLy8kcHJpbWFyeWZvbnQ6ICdnb3RoYW1ib29rJywgc2Fucy1zZXJpZjtcbi8vJHNlY29uZGFyeWZvbnQ6IEdlb3JnaWEsIHNlcmlmO1xuJHByaW1hcnlmb250OiAndHJhZGUtZ290aGljLW5leHQnLCBzYW5zLXNlcmlmO1xuJGNvbmRlbnNlZGZvbnQ6ICd0cmFkZS1nb3RoaWMtbmV4dC1jb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xuJHNlY29uZGFyeWZvbnQ6IEdlb3JnaWEsIHNlcmlmO1xuJGRpc3BsYXlmb250OiAncmlmdC1zb2Z0Jywgc2Fucy1zZXJpZjtcblxuJGZvbnRjb2xvcjogJHZlcnlkYXJrO1xuJGZvbnRjb2xvcmxpZ2h0ZXI6ICRhb2FkYXJrZ3JleTtcbiRmb250Y29sb3JsaWdodGVzdDogJGFvYWxpZ2h0Z3JleTtcblxuJGZvbnQtc2l6ZS1iYXNlOiAxLjEyNWVtO1xuJGZvbnRsaWdodDogMjAwO1xuJGZvbnRub3JtYWw6IDQwMDtcbiRmb250Ym9sZDogNzAwO1xuJGJvZHlsaW5laGVpZ2h0OiAxLjQ7XG4kYm9keWxpbmVoZWlnaHQtYmlnZ2VyOiAxLjY1O1xuXG4vKlxuICogTGF5b3V0XG4gKi9cbi8qJHNpdGV3aWR0aDogNTMuNzVlbTsqL1xuLyokc2l0ZXdpZHRoOiA4NjBweDsqL1xuJG91dHNpZGUtZ3V0dGVyLXNtYWxsOiAuNWVtO1xuJG91dHNpZGUtZ3V0dGVyLW1lZGl1bTogMS4yNWVtO1xuJG91dHNpZGUtZ3V0dGVyLWxhcmdlOiAyZW07XG5cbi8qXG4gKiBNaXNjXG4gKi9cbiRib3JkZXItcmFkaXVzOiA0cHg7XG5cbi8qKlxuICogRm9yIGhvdmVyLmNzc1xuICovXG5cbi8vIER1cmF0aW9uc1xuJGZhc3RkdXJhdGlvbjogLjFzO1xuJG1lZGl1bWR1cmF0aW9uOiAuMnM7XG4kc2xvd2R1cmF0aW9uOiAuNXM7XG5cbi8qKlxuICogQlJFQUtQT0lOVFNcbiAqXG4gKi9cbiRhbGwgICAgICAgICAgICAgIDogJ2FsbCc7XG4kc2NyZWVuICAgICAgICAgICA6ICdzY3JlZW4nO1xuJHNtYWxsc3RhcnQgICAgICAgOiAzMjBweDtcbiRtZWRpdW1zbWFsbHN0YXJ0IDogMzgwcHg7XG4kbWVkaXVtc3RhcnQgICAgICA6IDQ4MHB4O1xuJG1lZGl1bW1pbm9yc3RhcnQgOiA2MDBweDtcbiRsYXJnZXN0YXJ0ICAgICAgIDogNzY4cHg7XG4kbGFyZ2VtaW5vcnN0YXJ0ICA6IDg3NnB4O1xuJGRlc2t0b3BzdGFydCAgICAgOiA5OTJweDtcblxuLyoqXG4gKiBCb290c3RyYXAgZXF1aXZhbGVudHNcbiAqXG4gKi9cbiRzY3JlZW4tc20tbWluOiAkbGFyZ2VzdGFydDtcbiRzY3JlZW4tbWQtbWluOiAkZGVza3RvcHN0YXJ0O1xuIiwiQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cblxuIiwiLm5vLWd1dHRlciA+IFtjbGFzcyo9J2NvbC0nXSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuIiwiQGltcG9ydCAnZmluZC15b3VyLWRvJztcbkBpbXBvcnQgJ2ZpbmQteW91ci1kby1yZXN1bHRzJztcbkBpbXBvcnQgJ2ZpbmQteW91ci1kby1kZXRhaWwnO1xuQGltcG9ydCAnZmluZC15b3VyLWRvLXN0YW5kYWxvbmUnO1xuQGltcG9ydCAnaGVybyc7XG4vKkBpbXBvcnQgJ3R5cGVhaGVhZCc7Ki9cbi8qQGltcG9ydCAndGlwc28uc2Nzcyc7Ki9cbkBpbXBvcnQgJ3Rvb2x0aXAuc2Nzcyc7XG5AaW1wb3J0ICdhbmltYXRlJztcbkBpbXBvcnQgJ3NlbGVjdCc7XG5AaW1wb3J0ICdhdXRvc3VnZ2VzdCc7XG5AaW1wb3J0ICd0YWJzJztcbkBpbXBvcnQgJ2ZpbHRlcnMnO1xuQGltcG9ydCAndHJhbnNpdGlvbnMnO1xuQGltcG9ydCAncHJvZ3Jlc3NiYXInO1xuQGltcG9ydCAnbGVhZmxldCc7XG4iLCIkaW5wdXQtYm9yZGVyLXdpZHRoOiAycHg7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiByZ2JhKCRncmF5LC4xKTtcblxuJWZvY3VzIHtcbiAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZCA7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRjeWFuLDEpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4zcztcbn1cblxuJWlucHV0LWZvbnQtc2l6ZSB7XG5cbn1cblxuJXR0LWZvbnQtc2l6ZSB7XG5cbn1cblxuI2Z5ZE5hbm9iYXIge1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAmIGRpdiB7XG4gICAgICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbiNzZWFyY2hMb2NhdGlvbjo6LW1zLWNsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jZmluZFlvdXJEb0FwcCB7XG4gIC8qZm9udC1zaXplOiAxNnB4OyovXG59XG5cbiNmaW5kWW91ckRvSW5zaWRlRm9ybSB7XG4gIC8qZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7Ki9cbn1cblxuLmZ5ZCB7XG5cbiAgLnBhZ2UuZmluZC15b3VyLWRvLWFwcCAmIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMjFweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWZlZmVmO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5oZXJvLS10aXRsZSB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbjogMCAxcmVtIDAgMDtcbiAgICAgIGNvbG9yOiAkZ3JheTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTQ5cHgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmI2ZpbmRZb3VyRG9JbnNpZGVGb3JtIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmX193aWRnZXQge1xuICAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgICBwYWRkaW5nOiAyMHB4IDI1cHggMjBweCAyNXB4O1xuICB9XG5cbiAgJl9fcGFnaW5hdGlvbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiA1NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udGJvbGQ7XG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIC5wYWdlLmZpbmQteW91ci1kby1hcHAgJiB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIGJvZHk6bm90KC5maW5kLXlvdXItZG8tYXBwKSAmIHtcbiAgICAvL2JvZHkucGFnZS1zZWFyY2ggI2ZpbmRZb3VyRG9BcHAgJixcbiAgICAvL2JvZHkuaG9tZSAjZmluZFlvdXJEb0FwcCAmIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VzdGFydCkge1xuICAgICAgLy9tYXJnaW4tbGVmdDogLTI3cHg7XG4gICAgICAvL3dpZHRoOiAyNyUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLS1pbnNpZGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZXN0YXJ0KSB7XG4gICAgICAgIC8qbWFyZ2luLWxlZnQ6IC0yN3B4OyovXG4gICAgICAgIC8qd2lkdGg6IDEwMCU7Ki9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VhcmNoY2xlYXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgY29sb3I6ICNjY2M7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAjZmluZFlvdXJEb0luc2lkZUZvcm0gJiB7XG4gICAgICB0b3A6IDM1cHg7XG4gICAgfVxuICB9XG5cbiAgI2ZpbmRZb3VyRG9JbnNpZGVGb3JtICYge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgJiBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuICB9XG5cbiAgJl9fZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLS1pbnNpZGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIH1cbiAgfVxuXG4gIGlucHV0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IC41ZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IC43NWVtO1xuICAgICAgLypAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMCA3cHggcmdiYSgxNDYsMTQ2LDE0NiwuMzUpKTsqL1xuICAgICAgLypAaW5jbHVkZSB3ZWJGb250KCk7Ki9cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5Zm9udDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAvL2JvZHkucGFnZS1zZWFyY2ggJixcbiAgICAgIC8vYm9keS5ob21lICYge1xuICAgICAgYm9keTpub3QoLmZpbmQteW91ci1kby1hcHApICYge1xuICAgICAgICBoZWlnaHQ6IDQ5cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICRwcmltYXJ5Y29sb3I7XG4gICAgICB9XG4gIH0gLy8gaW5wdXRcblxufVxuIiwiJXN1YiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAkZm9udGNvbG9ybGlnaHRlcjtcbn1cblxuJXN1YmhlYWQtYmFzZSB7XG4gIG1hcmdpbi1ib3R0b206IC41ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiAkcHJpbWFyeWZvbnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkZm9udGNvbG9ybGlnaHRlc3Q7XG59XG5cbiVtZXNzYWdlaGVhZCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuJWhlYWQge1xuICBmb250LXdlaWdodDogJGZvbnRib2xkO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tYm90dG9tOiAuNWVtO1xufVxuXG4ubWFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKnBhZGRpbmctYm90dG9tOiA5MCU7Ki9cbiAgLypoZWlnaHQ6IDA7Ki9cbiAgLy9oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMzI1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJiBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmIC5tYXBpbmZvIHtcbiAgICBmb250LWZhbWlseTogJHByaW1hcnlmb250O1xuICB9XG5cbiAgJiAubWFwaGVhZGVyIHtcbiAgICBsaW5lLWhlaWdodDogMS4zMztcbiAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICBhIHtcbiAgICBjb2xvcjogJHByaW1hcnljb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4uZnlkLXJlc3VsdHMge1xuICAmX19jb250YWluZXIge1xuICAvKiNmaW5kWW91ckRvQXBwIHsqL1xuICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICB9XG5cblxuICAmX19uYW1lIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC8vbWFyZ2luLWJvdHRvbTogLjM1NzE0Mjg1NzFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIC8qZm9udC1zaXplOiAxLjE0Mjg1NzE0M2VtOyovXG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LWZhbWlseTogJGNvbmRlbnNlZGZvbnQ7XG4gICAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkZm9udGNvbG9yO1xuXG4gICAgLy9AbWVkaWEgKG1heC13aWR0aDogJG1lZGl1bW1pbm9yc3RhcnQgLSAxcHgpIHtcbiAgICAgIC8vcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW1taW5vcnN0YXJ0KSB7XG4gICAgICBmb250LXNpemU6IDIuNjI1cmVtO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJl9fa2lja2VyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiAkZm9udGNvbG9yO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW1taW5vcnN0YXJ0IC0gMXB4KSB7XG4gICAgICAuZnlkLXJlc3VsdHNfX2xpc3QtaXRlbS5jZXJ0aWZpZWQgJiB7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG5cblxuICAgICYgZGl2Om50aC1jaGlsZCgxKSB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW1taW5vcnN0YXJ0KSB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaXVtbWlub3JzdGFydCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMjMlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3ByaW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW1taW5vcnN0YXJ0IC0gMXB4KSB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaXVtbWlub3JzdGFydCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICB9XG4gIH1cblxuICAmX19zZWNvbmRhcnkge1xuICAgIEBleHRlbmQgJXN1YjtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaXVtbWlub3JzdGFydCkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiKyBcIjtcbiAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fa2lja2Vyc3ViIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAkcHJpbWFyeWNvbG9yO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRsYXJnZXN0YXJ0KSB7XG4gICAgICAvKm1hcmdpbi1sZWZ0OiAuMzNlbTsqL1xuICAgIH1cbiAgfVxuXG4gICZfX3N1YiB7XG4gICAgQGV4dGVuZCAlc3ViO1xuICB9XG5cbiAgJl9fcmVwb3J0IHtcbiAgICAvKm1hcmdpbi10b3A6IDFlbTsqL1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5Zm9udDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGZvbnRjb2xvcmxpZ2h0ZXI7XG5cbiAgICAmIGJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTZlNmU2O1xuICAgIH1cblxuICAgICYgLnJhZGl1cy1idXR0b24uYWN0aXZlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cblxuICAmX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAuNTgzMzMzMzMzM2VtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG5cbiAgJl9fc29ydCB7XG4gICAgLyptYXJnaW4tdG9wOiAxZW07Ki9cbiAgICAvKmZsb2F0OiByaWdodDsqL1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRsYXJnZXN0YXJ0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgLypmbG9hdDogcmlnaHQ7Ki9cbiAgICB9XG4gIH1cblxuICAmX19zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICAgIGNvbG9yOiAjNTU1NTU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgMC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgMC4xNXM7XG4gICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IDAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IDAuMTVzO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAwLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAwLjE1cztcblxuICAgIC8qQG1lZGlhIChtaW4td2lkdGg6ICRsYXJnZXN0YXJ0KSB7ICovXG4gICAgICAvKndpZHRoOiA2NCU7Ki9cbiAgICAvKn0qL1xuICB9XG5cbiAgJl9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAmX19saXN0LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M4ZDllYTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW1taW5vcnN0YXJ0KSB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzhkOWVhO1xuICAgIH1cblxuICAgICYgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bW1pbm9yc3RhcnQpIHtcbiAgICAgICAgbWFyZ2luOiAtMS41cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgI2ZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNjBweCByZ2JhKCRwcmltYXJ5Y29sb3IsIC4xMik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeWZvbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogJGZvbnRjb2xvcjtcblxuICAgIC5meWQtcmVzdWx0c19fbGlzdC1pdGVtICYgPiBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaXVtbWlub3JzdGFydCAtIDFweCkge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+IHAgPiBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5cbiAgJl9fbG9jYXRvciB7XG4gICAgYmFja2dyb3VuZDogYWxpY2VibHVlO1xuICB9XG5cblxuICAmX19oZWFkIHtcbiAgICBAZXh0ZW5kICVoZWFkO1xuICAgIGNvbG9yOiAkYW9hYmx1ZTtcblxuICAgICYtLXplcm8ge1xuICAgIEBleHRlbmQgJWhlYWQ7XG4gICAgY29sb3I6ICRmb250Y29sb3JsaWdodGVzdDtcbiAgICB9XG4gIH1cblxuICAmX19zdWJoZWFkIHtcbiAgICBAZXh0ZW5kICVzdWJoZWFkLWJhc2U7XG5cbiAgICAmLS1yaWdodHtcbiAgICAgIEBleHRlbmQgJXN1YmhlYWQtYmFzZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gICZfX3RhZ3Mge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cblxuICAmX190YWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IC41ZW07XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNWVtO1xuICAgIHBhZGRpbmctbGVmdDogLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuMzNlbTtcbiAgICBtYXJnaW4tdG9wOiAuMjVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC41ZW07XG4gICAgZm9udC1zaXplOiA2NCU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250Ym9sZDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAvKmNvbG9yOiAkZ3JheTsqL1xuICAgIGNvbG9yOiAkcHJpbWFyeWNvbG9yO1xuICAgIC8qYm9yZGVyOiAxcHggc29saWQgI2NjYzsqL1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnljb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICYgYSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xM3B4O1xuICAgICAgcmlnaHQ6IC05cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAuNDQ0NDQ0NDRlbTtcbiAgICAgIC8qYmFja2dyb3VuZC1jb2xvcjogI2E1YTVhNTsqL1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICRwcmltYXJ5Y29sb3I7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiBhOmhvdmVyLCAmIGE6Zm9jdXMge1xuICAgICAgLypjdXJzb3I6IHBvaW50ZXI7Ki9cbiAgICAgIC8qYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7Ki9cblxuICAgICAgLypAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuM3MgZWFzZSk7Ki9cbiAgICB9XG5cbiAgICAmIFtkYXRhLXJvbGU9XCJyZW1vdmVcIl06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXDAwZDdcIjtcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMThweDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW1taW5vcnN0YXJ0KSB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgYm90dG9tOiAyMnB4O1xuICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgIG9wYWNpdHk6IC44O1xuICAgIH1cblxuXG4gICAgLy9zdmcge1xuICAgIHN2ZyNsb2dvQm9hcmRDZXJ0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAzNnB4O1xuXG4gICAgICAmICN3b3JkcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW1taW5vcnN0YXJ0KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW1taW5vcnN0YXJ0KSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGhlaWdodDogODhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tZXNzYWdlY29udGFpbmVyIHtcbiAgICAvKmZvbnQtZmFtaWx5OiAkcHJpbWFyeWZvbnQ7Ki9cbiAgfVxuXG4gICZfX21lc3NhZ2VoZWFkIHtcbiAgICBAZXh0ZW5kICVtZXNzYWdlaGVhZDtcblxuICAgICYtLWVtcGgge1xuICAgIEBleHRlbmQgJW1lc3NhZ2VoZWFkO1xuICAgIGNvbG9yOiAkcHJpbWFyeWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udGJvbGQ7XG4gICAgfVxuICB9XG5cbiAgJl9fbWVzc2FnZWJvZHkge1xuXG4gIH1cblxuICAmX19kaXN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRmb250Y29sb3JsaWdodGVzdDtcblxuICB9XG59XG4iLCIuZnlkLWRldGFpbCB7XG4gICZfX3NwZWNpYWx0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkZm9udGNvbG9yO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRsYXJnZXN0YXJ0KSB7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fcGhvbmUge1xuICAgIGNvbG9yOiAkbGlua2NvbG9yO1xuXG4gICAgPiBpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogM3B4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbGFyZ2VzdGFydCkge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgJl9fcGhvbmVub3RlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGxhcmdlc3RhcnQpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLS4yNWVtO1xuICAgICAgcGFkZGluZy10b3A6IC4yZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAuNWVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAuNWVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IC4yZW07XG4gICAgICBmb250LXNpemU6IC42ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYmFja2dyb3VuZDogJGN5YW47XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS4zMztcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBjb2xvcjogJGZvbnRjb2xvcjtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbGFyZ2VzdGFydCkge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnljb2xvciwgLjUpO1xuICB9XG5cbiAgJl9fbmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBmb250LWZhbWlseTogJGNvbmRlbnNlZGZvbnQ7XG4gICAgZm9udC1zaXplOiAzZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJHByaW1hcnljb2xvcjtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbGFyZ2VzdGFydCkge1xuICAgICAgZm9udC1zaXplOiA0LjVlbTtcbiAgICB9XG4gIH1cblxuICAmX19tZXRhIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkZm9udGNvbG9yO1xuICB9XG5cbiAgJl9fc3ViaGVhZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgY29sb3I6ICRwcmltYXJ5Y29sb3I7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAmX19saXN0aXRlbSB7XG4gICAgZm9udC1zaXplOiAxOHB4ICAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzICAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeWZvbnQ7XG4gICAgY29sb3I6ICRmb250Y29sb3I7XG5cbiAgfVxuXG4gICZfX2JvYXJkY2VydGNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGxhcmdlc3RhcnQpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3Byb2ZpbGVpbWFnZWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNnB4O1xuICAgIC8qbWF4LXdpZHRoOiA4NXB4OyovXG4gICAgbWF4LXdpZHRoOiAxMzVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gICZfX25vdGUge1xuICAgIG1hcmdpbi10b3A6IDNlbTtcbiAgICBmb250LWZhbWlseTogJHByaW1hcnlmb250O1xuICAgIGZvbnQtc2l6ZTogLjg3NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICM5Nzk3OTc7XG4gIH1cblxuICAmX19mb290bm90ZSB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodGdyYXk7XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5Zm9udDtcbiAgICBmb250LXNpemU6IC44NzVlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAjOTc5Nzk3O1xuXG4gIH1cbn1cbiIsIi5meWQtc3RhbmRhbG9uZSB7XG4gIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkZXNrdG9wc3RhcnQgLSAxcHgpIHtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkZGlzcGxheWZvbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgZm9udC1zaXplOiA0LjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkcHJpbWFyeWNvbG9yO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VzdGFydCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19mb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG5cbiAgJl9fZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmID4gaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlc3RhcnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0yMHB4O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAgICAgdG9wOiAtNDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19mb290ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMwcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG4gICAgfVxuXG4gICAgJiA+IC5zbWFsbHByaW50LWNvbnRhaW5lciB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGVza3RvcHN0YXJ0IC0gMXB4KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmIC5zaWRlQmFyX0NhcHRpb24ge1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgfVxufVxuIiwiLmhlcm8ge1xuXG4gICAgLy8gVE9ETyBURU1QXG4gICAgLyptYXgtaGVpZ2h0OiA3MDBweDsqL1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZCNjU1MTtcblxuICAgICZfX2JvZHkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtO1xuICAgICAgICBmb250LWZhbWlseTogJHByaW1hcnlmb250O1xuICAgICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNzg1NzE0Mjg2ZW07XG4gICAgICAgIH1cbiAgICBcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmLS1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtZ3JheTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX292ZXJsYXkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAvKnRvcDogMDsqL1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkb3JhbmdlLCAuNyk7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIC8qdGV4dC1hbGlnbjogY2VudGVyOyovXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIC8qd2lkdGg6ICRzaXRld2lkdGg7Ki9cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIC8qZGlzcGxheTogaW5saW5lOyovXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xuICAgICAgICBmb250LWZhbWlseTogJHByaW1hcnlmb250O1xuICAgICAgICAvKnRleHQtYWxpZ246IGNlbnRlcjsqL1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnRib2xkO1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIldG9vbHRpcC1iZWZvcmUtYmFzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgcGFkZGluZzogN3B4O1xuICAgIHotaW5kZXg6IDM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogJGZvbnRib2xkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkY3lhbiwuOSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY29udGVudDogXCJTb3JyeSwgd2UgY291bGQgbm90IGZpbmQgdGhpcyBsb2NhdGlvblwiO1xuICAgIC8qb3BhY2l0eTogMTsqL1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgbGluZWFyO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlc3RhcnQpIGFuZCAobWF4LXdpZHRoOiAkZGVza3RvcHN0YXJ0KSB7XG4gICAgICAgIGhlaWdodDogNzUlO1xuICAgICAgICBwYWRkaW5nOiA1cHggN3B4O1xuICAgIH1cblxufVxuLyoqXG4gKiBUb29sdGlwIFN0eWxlc1xuICovXG5cbi8qIEFkZCB0aGlzIGF0dHJpYnV0ZSB0byB0aGUgZWxlbWVudCB0aGF0IG5lZWRzIGEgdG9vbHRpcCAqL1xuLmZ5ZC10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBsaW5lYXI7XG59XG5cbi8qIEhpZGUgdGhlIHRvb2x0aXAgY29udGVudCBieSBkZWZhdWx0ICovXG4uZnlkLXRvb2x0aXA6YmVmb3JlLFxuLmZ5ZC10b29sdGlwOmFmdGVyIHtcbiAgICAvKnZpc2liaWxpdHk6IGhpZGRlbjsqL1xuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIjtcbiAgICAvKmZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApOyovXG4gICAgLypvcGFjaXR5OiAwOyovXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLypiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsqL1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgbGluZWFyO1xufVxuXG4vKiBQb3NpdGlvbiB0b29sdGlwIGFib3ZlIHRoZSBlbGVtZW50ICovXG4uZnlkLXRvb2x0aXA6YmVmb3Jle1xuICBAZXh0ZW5kICV0b29sdGlwLWJlZm9yZS1iYXNlO1xuICByaWdodDogMXB4O1xuICAvKmJvdHRvbTogMTBweDsqL1xuICB0b3A6IDExcHg7XG4gIGhlaWdodDogMzBweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgLyptYXJnaW4tcmlnaHQ6IDVweDsqL1xuICBsaW5lLWhlaWdodDogMS4yO1xuXG59XG5cbiNzaWRlYmFyIC5meWQtdG9vbHRpcDpiZWZvcmUge1xuXG4gIEBleHRlbmQgJXRvb2x0aXAtYmVmb3JlLWJhc2U7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIGhlaWdodDogMTE0JTtcbiAgdG9wOiAtMTE0JTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGl1bXNtYWxsc3RhcnQpIHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgICB0b3A6IC03NSU7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VzdGFydCkge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAtMTAwJTtcbiAgfVxuXG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8qIVxuQW5pbWF0ZS5jc3MgLSBodHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlXG5MaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG5cbkNvcHlyaWdodCAoYykgMjAxNSBEYW5pZWwgRWRlblxuKi9cblxuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5hbmltYXRlZC5pbmZpbml0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4uYW5pbWF0ZWQuaGluZ2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG59XG5cbi5hbmltYXRlZC5ib3VuY2VJbixcbi5hbmltYXRlZC5ib3VuY2VPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xufVxuXG4uYW5pbWF0ZWQuZmxpcE91dFgsXG4uYW5pbWF0ZWQuZmxpcE91dFkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICA0MCUsIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sIDIwJSwgNTMlLCA4MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG5cbiAgNDAlLCA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cblxuLmJvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLCA1MCUsIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLCA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sIDUwJSwgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnJ1YmJlckJhbmQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICBmcm9tLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuLnNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cblxuLnN3aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZztcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSwgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSwgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi50YWRhIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi53b2JibGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sIDExLjElLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSwgMTEuMSUsIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG5cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICB9XG5cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cblxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgfVxuXG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gIH1cblxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG5cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG5cbi5qZWxsbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sIDIwJSwgNDAlLCA2MCUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi5ib3VuY2VJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5ib3VuY2VJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5ib3VuY2VJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5ib3VuY2VJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA1MCUsIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDUwJSwgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZmFkZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkRvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5VcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmFkZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0RG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dExlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0VXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG4uYW5pbWF0ZWQuZmxpcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblgge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG4uZmxpcEluWSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5VcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmhpbmdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLnJvbGxJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICB9XG59XG5cbi5yb2xsT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi56b29tSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uem9vbU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21PdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB9XG59XG5cbi56b29tT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xufVxuIiwiLyoqXG4gKiBSZWFjdCBTZWxlY3RcbiAqID09PT09PT09PT09PVxuICogQ3JlYXRlZCBieSBKZWQgV2F0c29uIGFuZCBKb3NzIE1hY2tpc29uIGZvciBLZXlzdG9uZUpTLCBodHRwOi8vd3d3LmtleXN0b25lanMuY29tL1xuICogaHR0cHM6Ly90d2l0dGVyLmNvbS9qZWR3YXRzb24gaHR0cHM6Ly90d2l0dGVyLmNvbS9qb3NzbWFja2lzb24gaHR0cHM6Ly90d2l0dGVyLmNvbS9rZXlzdG9uZWpzXG4gKiBNSVQgTGljZW5zZTogaHR0cHM6Ly9naXRodWIuY29tL2tleXN0b25lanMvcmVhY3Qtc2VsZWN0XG4qL1xuLlNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5TZWxlY3QsXG4uU2VsZWN0IGRpdixcbi5TZWxlY3QgaW5wdXQsXG4uU2VsZWN0IHNwYW4ge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5TZWxlY3QuaXMtZGlzYWJsZWQgPiAuU2VsZWN0LWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xufVxuLlNlbGVjdC5pcy1kaXNhYmxlZCA+IC5TZWxlY3QtY29udHJvbDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uU2VsZWN0LmlzLWRpc2FibGVkIC5TZWxlY3QtYXJyb3ctem9uZSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uU2VsZWN0LWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAvKmJvcmRlci1jb2xvcjogI2Q5ZDlkOSAjY2NjICNiM2IzYjM7Ki9cbiAgLypib3JkZXItcmFkaXVzOiA0cHg7Ki9cbiAgLypib3JkZXI6IDFweCBzb2xpZCAjY2NjOyovXG4gIGNvbG9yOiAkZm9udGNvbG9yO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBoZWlnaHQ6IDM2cHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uU2VsZWN0LWNvbnRyb2w6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNik7XG59XG4uaXMtc2VhcmNoYWJsZS5pcy1vcGVuID4gLlNlbGVjdC1jb250cm9sIHtcbiAgY3Vyc29yOiB0ZXh0O1xufVxuLmlzLW9wZW4gPiAuU2VsZWN0LWNvbnRyb2wge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjYjNiM2IzICNjY2MgI2Q5ZDlkOTtcbn1cbi5pcy1vcGVuID4gLlNlbGVjdC1jb250cm9sID4gLlNlbGVjdC1hcnJvdyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzk5OTtcbiAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7XG59XG4uaXMtc2VhcmNoYWJsZS5pcy1mb2N1c2VkOm5vdCguaXMtb3BlbikgPiAuU2VsZWN0LWNvbnRyb2wge1xuICBjdXJzb3I6IHRleHQ7XG59XG4uaXMtZm9jdXNlZDpub3QoLmlzLW9wZW4pID4gLlNlbGVjdC1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeWNvbG9yO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCAwIDNweCByZ2JhKDAsIDEyNiwgMjU1LCAwLjEpO1xufVxuLlNlbGVjdC1wbGFjZWhvbGRlcixcbjpub3QoLlNlbGVjdC0tbXVsdGkpID4gLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtdmFsdWUge1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAkZm9udGNvbG9yO1xuICBsZWZ0OiAwO1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udGJvbGQ7XG59XG4uaGFzLXZhbHVlOm5vdCguU2VsZWN0LS1tdWx0aSkgPiAuU2VsZWN0LWNvbnRyb2wgPiAuU2VsZWN0LXZhbHVlIC5TZWxlY3QtdmFsdWUtbGFiZWwsXG4uaGFzLXZhbHVlLmlzLXBzZXVkby1mb2N1c2VkOm5vdCguU2VsZWN0LS1tdWx0aSkgPiAuU2VsZWN0LWNvbnRyb2wgPiAuU2VsZWN0LXZhbHVlIC5TZWxlY3QtdmFsdWUtbGFiZWwge1xuICBjb2xvcjogJGZvbnRjb2xvcjtcbn1cbi5oYXMtdmFsdWU6bm90KC5TZWxlY3QtLW11bHRpKSA+IC5TZWxlY3QtY29udHJvbCA+IC5TZWxlY3QtdmFsdWUgYS5TZWxlY3QtdmFsdWUtbGFiZWwsXG4uaGFzLXZhbHVlLmlzLXBzZXVkby1mb2N1c2VkOm5vdCguU2VsZWN0LS1tdWx0aSkgPiAuU2VsZWN0LWNvbnRyb2wgPiAuU2VsZWN0LXZhbHVlIGEuU2VsZWN0LXZhbHVlLWxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uaGFzLXZhbHVlOm5vdCguU2VsZWN0LS1tdWx0aSkgPiAuU2VsZWN0LWNvbnRyb2wgPiAuU2VsZWN0LXZhbHVlIGEuU2VsZWN0LXZhbHVlLWxhYmVsOmhvdmVyLFxuLmhhcy12YWx1ZS5pcy1wc2V1ZG8tZm9jdXNlZDpub3QoLlNlbGVjdC0tbXVsdGkpID4gLlNlbGVjdC1jb250cm9sID4gLlNlbGVjdC12YWx1ZSBhLlNlbGVjdC12YWx1ZS1sYWJlbDpob3Zlcixcbi5oYXMtdmFsdWU6bm90KC5TZWxlY3QtLW11bHRpKSA+IC5TZWxlY3QtY29udHJvbCA+IC5TZWxlY3QtdmFsdWUgYS5TZWxlY3QtdmFsdWUtbGFiZWw6Zm9jdXMsXG4uaGFzLXZhbHVlLmlzLXBzZXVkby1mb2N1c2VkOm5vdCguU2VsZWN0LS1tdWx0aSkgPiAuU2VsZWN0LWNvbnRyb2wgPiAuU2VsZWN0LXZhbHVlIGEuU2VsZWN0LXZhbHVlLWxhYmVsOmZvY3VzIHtcbiAgY29sb3I6ICRwcmltYXJ5Y29sb3I7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLlNlbGVjdC1pbnB1dCB7XG4gIGhlaWdodDogMzRweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLlNlbGVjdC1pbnB1dCA+IGlucHV0IHtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBoZWlnaHQ6IDM0cHg7XG4gIG1hcmdpbjogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuLmlzLWZvY3VzZWQgLlNlbGVjdC1pbnB1dCA+IGlucHV0IHtcbiAgY3Vyc29yOiB0ZXh0O1xufVxuLmhhcy12YWx1ZS5pcy1wc2V1ZG8tZm9jdXNlZCAuU2VsZWN0LWlucHV0IHtcbiAgb3BhY2l0eTogMDtcbn1cbi5TZWxlY3QtY29udHJvbDpub3QoLmlzLXNlYXJjaGFibGUpID4gLlNlbGVjdC1pbnB1dCB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uU2VsZWN0LWxvYWRpbmctem9uZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxNnB4O1xufVxuLlNlbGVjdC1sb2FkaW5nIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IFNlbGVjdC1hbmltYXRpb24tc3BpbiA0MDBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gIC1vLWFuaW1hdGlvbjogU2VsZWN0LWFuaW1hdGlvbi1zcGluIDQwMG1zIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBTZWxlY3QtYW5pbWF0aW9uLXNwaW4gNDAwbXMgaW5maW5pdGUgbGluZWFyO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogJHZlcnlkYXJrO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5TZWxlY3QtY2xlYXItem9uZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBTZWxlY3QtYW5pbWF0aW9uLWZhZGVJbiAyMDBtcztcbiAgLW8tYW5pbWF0aW9uOiBTZWxlY3QtYW5pbWF0aW9uLWZhZGVJbiAyMDBtcztcbiAgYW5pbWF0aW9uOiBTZWxlY3QtYW5pbWF0aW9uLWZhZGVJbiAyMDBtcztcbiAgY29sb3I6ICRmb250Y29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxN3B4O1xufVxuLlNlbGVjdC1jbGVhci16b25lOmhvdmVyIHtcbiAgY29sb3I6ICNEMDAyMUI7XG59XG4uU2VsZWN0LWNsZWFyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuLlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1jbGVhci16b25lIHtcbiAgd2lkdGg6IDE3cHg7XG59XG4uU2VsZWN0LWFycm93LXpvbmUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuLlNlbGVjdC1hcnJvdyB7XG4gIGJvcmRlci1jb2xvcjogIzk5OSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDIuNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG59XG4uaXMtb3BlbiAuU2VsZWN0LWFycm93LFxuLlNlbGVjdC1hcnJvdy16b25lOmhvdmVyID4gLlNlbGVjdC1hcnJvdyB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM2NjY7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgU2VsZWN0LWFuaW1hdGlvbi1mYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIFNlbGVjdC1hbmltYXRpb24tZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLlNlbGVjdC1tZW51LW91dGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItdG9wLWNvbG9yOiAjZTZlNmU2O1xuICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi5TZWxlY3QtbWVudSB7XG4gIG1heC1oZWlnaHQ6IDE5OHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLlNlbGVjdC1vcHRpb24ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogJGZvbnRjb2xvcjtcbiAgZm9udC13ZWlnaHQ6ICRmb250Ym9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogOHB4IDEwcHg7XG59XG4uU2VsZWN0LW9wdGlvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xufVxuLlNlbGVjdC1vcHRpb24uaXMtZm9jdXNlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHByaW1hcnljb2xvciwgNDUlKTtcbiAgLypiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyNiwgMjU1LCAwLjA4KTsqL1xuICBjb2xvcjogJGZvbnRjb2xvcjtcbn1cbi5TZWxlY3Qtb3B0aW9uLmlzLWRpc2FibGVkIHtcbiAgY29sb3I6ICNjY2NjY2M7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5TZWxlY3Qtbm9yZXN1bHRzIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xufVxuLlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1pbnB1dCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nOiAwO1xufVxuLlNlbGVjdC0tbXVsdGkuaGFzLXZhbHVlIC5TZWxlY3QtaW5wdXQge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuLlNlbGVjdC0tbXVsdGkgLlNlbGVjdC12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnljb2xvciwgMC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeWNvbG9yLCAwLjI0KTtcbiAgY29sb3I6ICRwcmltYXJ5Y29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLlNlbGVjdC0tbXVsdGkgLlNlbGVjdC12YWx1ZS1pY29uLFxuLlNlbGVjdC0tbXVsdGkgLlNlbGVjdC12YWx1ZS1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5TZWxlY3QtLW11bHRpIC5TZWxlY3QtdmFsdWUtbGFiZWwge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG59XG4uU2VsZWN0LS1tdWx0aSBhLlNlbGVjdC12YWx1ZS1sYWJlbCB7XG4gIGNvbG9yOiAkcHJpbWFyeWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5TZWxlY3QtLW11bHRpIGEuU2VsZWN0LXZhbHVlLWxhYmVsOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uU2VsZWN0LS1tdWx0aSAuU2VsZWN0LXZhbHVlLWljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDAsIDEyNiwgMjU1LCAwLjI0KTtcbiAgcGFkZGluZzogMXB4IDVweCAzcHg7XG59XG4uU2VsZWN0LS1tdWx0aSAuU2VsZWN0LXZhbHVlLWljb246aG92ZXIsXG4uU2VsZWN0LS1tdWx0aSAuU2VsZWN0LXZhbHVlLWljb246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5Y29sb3IsIDAuMDgpO1xuICBjb2xvcjogJHByaW1hcnljb2xvcjtcbn1cbi5TZWxlY3QtLW11bHRpIC5TZWxlY3QtdmFsdWUtaWNvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyNiwgMjU1LCAwLjI0KTtcbn1cbi5TZWxlY3QtLW11bHRpLmlzLWRpc2FibGVkIC5TZWxlY3QtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTNlM2UzO1xuICBjb2xvcjogJGZvbnRjb2xvcjtcbn1cbi5TZWxlY3QtLW11bHRpLmlzLWRpc2FibGVkIC5TZWxlY3QtdmFsdWUtaWNvbiB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlM2UzZTM7XG59XG4uU2VsZWN0LS1tdWx0aS5pcy1kaXNhYmxlZCAuU2VsZWN0LXZhbHVlLWljb246aG92ZXIsXG4uU2VsZWN0LS1tdWx0aS5pcy1kaXNhYmxlZCAuU2VsZWN0LXZhbHVlLWljb246Zm9jdXMsXG4uU2VsZWN0LS1tdWx0aS5pcy1kaXNhYmxlZCAuU2VsZWN0LXZhbHVlLWljb246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYztcbn1cbkBrZXlmcmFtZXMgU2VsZWN0LWFuaW1hdGlvbi1zcGluIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIFNlbGVjdC1hbmltYXRpb24tc3BpbiB7XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTtcbiAgfVxufVxuIiwiLnN0YXR1cyB7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE4cHg7XG4gIGxlZnQ6IDQ3JTtcbn1cblxuLmZ5ZF9fYXV0b3N1Z2dlc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vaGVpZ2h0OiAxZW07XG5cbiAgYm9keTpub3QoLmZpbmQteW91ci1kby1hcHApICYge1xuICAvL2JvZHkucGFnZS1zZWFyY2ggJixcbiAgLy9ib2R5LmhvbWUgJiB7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlc3RhcnQpIHtcbiAgICAvL2hlaWdodDogMDtcbiAgfVxuXG4gICNmaW5kWW91ckRvSW5zaWRlRm9ybSAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAzLjVlbTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucmVhY3QtYXV0b3N1Z2dlc3Qge1xuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5Zm9udDtcbiAgICAvL2ZvbnQtc2l6ZTogMS4yODU3MTQyODZlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICBib2R5LnBhZ2Utc2VhcmNoICYsXG4gICAgYm9keS5ob21lICYge1xuICAgIC8vYm9keTpub3QoLmZpbmQteW91ci1kby1hcHApICYge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuXG5cbiAgICAmLS1vcGVuIHtcbiAgICAgIC8qYm9yZGVyOiAxcHggc29saWQgI2NjYzsqL1xuICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAvKmJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMik7Ki9cblxuICAgICAgI2ZpbmRZb3VyRG9JbnNpZGVGb3JtICYge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuXG4gIH1cblxuICAmX19zdWdnZXN0aW9ucy1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAuMjVlbSAwIDAgMDtcbiAgfVxuXG4gICZfX3N1Z2dlc3Rpb24ge1xuICAgIHBhZGRpbmc6IDNweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAvKmZvbnQtc2l6ZTogLjg3NWVtOyovXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYtLWZvY3VzZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcHJpbWFyeWNvbG9yLCA0NSUpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VnZ2VzdGlvbi1jb250ZW50IHtcblxuICAgICYtLWhpZ2hsaWdodCB7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgY29sb3I6ICRwcmltYXJ5Y29sb3I7XG4gICAgfVxuICB9XG5cbiAgJl9fc2VjdGlvbi1jb250YWluZXIge1xuXG4gIH1cblxuICAmX19zZWN0aW9uLXRpdGxlIHtcblxuICB9XG5cbiAgJl9fc2VjdGlvbi1zdWdnZXN0aW9ucy1jb250YWluZXIge1xuXG4gIH1cblxufVxuIiwiJXRhYi1iYXNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjQuMjUlO1xuICAvKmRpc3BsYXk6IGlubGluZTsqL1xuICBoZWlnaHQ6IDVlbTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMSU7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogLjU1ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6ICRwcmltYXJ5Zm9udDtcbiAgZm9udC13ZWlnaHQ6ICRmb250Ym9sZDtcbiAgLypib3JkZXItYm90dG9tOiA0cHggc29saWQ7Ki9cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bXNtYWxsc3RhcnQpIHtcbiAgICBmb250LXNpemU6IC42NWVtO1xuICB9XG59XG5cbi5meWR0YWJzIHtcblxufVxuXG4udGFiIHtcbiAgQGV4dGVuZCAldGFiLWJhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGFvYWJsdWUsIC45NCk7XG4gIGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjkpO1xuICAvKmJvcmRlci1ib3R0b20tY29sb3I6ICR3aGl0ZTsqL1xuXG4gICZfX2ljb24ge1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGxpbmVhcjtcbiAgICBvcGFjaXR5OiAuNTtcblxuICAgIC50YWI6aG92ZXIgJiB7XG4gICAgICAvKnRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7Ki9cbiAgICAgIGNvbG9yOiAkYWNjZW50Y29sb3I7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC50YWItLWFjdGl2ZSAmIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gIH1cblxuICAmLS1hY3RpdmUge1xuICAgIEBleHRlbmQgJXRhYi1iYXNlO1xuICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICRhY2NlbnRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRhb2FibHVlLCAuOTQpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bXNtYWxsc3RhcnQpIHtcbiAgICAgIC8qcGFkZGluZy10b3A6IDZweDsqL1xuICAgIH1cbiAgfVxuXG4gICYtLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICV0YWItYmFzZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRhb2FibHVlLCAuMyk7XG4gICAgY29sb3I6ICRhb2FibHVlO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW1zbWFsbHN0YXJ0KSB7XG4gICAgICAvKnBhZGRpbmctdG9wOiA2cHg7Ki9cbiAgICB9XG4gIH1cblxufVxuXG4uZnlkdGFicGFuZWxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwcHg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW1zbWFsbHN0YXJ0KSB7XG4gICAgdG9wOiA1OXB4O1xuICB9XG59XG5cbi50YWJwYW5lbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xuICAvKnBhZGRpbmctYm90dG9tOiAxZW07Ki9cbiAgY29sb3I6ICR3aGl0ZTtcbiAgYmFja2dyb3VuZDogJGFvYWJsdWU7XG4gIG9wYWNpdHk6IC45NFxufVxuXG4uYXJyb3cge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAuNjBlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCBsaWdodGVuKCRvcmFuZ2UsIDI1JSk7XG5cbiAgICAudGFiLS1hY3RpdmUgPiAmIHtcbiAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgbGlnaHRlbigkb3JhbmdlLCAxNSUpO1xuICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC50YWItLWluYWN0aXZlID4gJiB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIGxpZ2h0ZW4oJG9yYW5nZSwgMTUlKTtcbiAgICB9XG59XG4iLCIlYnV0dG9uLWJhc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDdweDtcbiAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgY29udGVudDogJ1xcYTAnO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTFweDtcbiAgdGV4dC1pbmRlbnQ6IC0uNHB4O1xuICBsaW5lLWhlaWdodDogLjM1O1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogNDNweDtcblxufVxuXG4laW5kaWNhdG9yLWJhc2Uge1xuICAvKmZvbnQtd2VpZ2h0OiAkZm9udGJvbGQ7Ki9cbiAgLypvcGFjaXR5OiAuODsqL1xuICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7XG59XG5cbi5maWx0ZXIge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIG1hcmdpbi10b3A6IDJlbTtcbn1cblxuLmZpbHRlcnMge1xuXG4gIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA5cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLypwYWRkaW5nLWJvdHRvbTogMTBweDsqL1xuICAgIC8qYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQpOyovXG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAmX19oZWFkIHtcbiAgICBjb2xvcjogJG1lZGl1bWdyYXk7XG4gIH1cblxuXG59XG5cbi5uYW1lZmlsdGVyIHtcblxuICAmX19mb3JtIHtcblxuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IDgwJTtcbiAgICAvKnBhZGRpbmc6IDEycHggMTZweDsqL1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogJGZvbnRjb2xvcmxpZ2h0ZXI7XG5cbiAgfVxuXG4gICZfX2J0biB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIHdpZHRoOiAxOCU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogJHByaW1hcnljb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGxpbmVhcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnljb2xvcjtcbiAgICB9XG4gIH1cblxufVxuXG4ucmFkaXVzZmlsdGVyIHtcblxuICBjb2xvcjogJHdoaXRlO1xuXG4gICZfX3JlYWRvdXQge1xuXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJi0tZW1waCB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnRib2xkO1xuICAgIH1cbiAgfVxuXG4gICZfX2luZGljYXRvciB7XG4gICAgQGV4dGVuZCAlaW5kaWNhdG9yLWJhc2U7XG5cblxuXG4gICAgJi0tcmlnaHQge1xuICAgICAgQGV4dGVuZCAlaW5kaWNhdG9yLWJhc2U7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cblxuXG5cbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDFlbSAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbmlucHV0W3R5cGU9cmFuZ2VdOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbmlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhbmltYXRlOiAwLjJzO1xuICAvKmJveC1zaGFkb3c6IDBweCAwcHggMHB4ICMwMDAwMDAsIDBweCAwcHggMHB4ICMwZDBkMGQ7Ki9cbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBib3JkZXI6IDBweCBzb2xpZCAjMDAwMTAxO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgLypib3gtc2hhZG93OiAwcHggMHB4IDBweCAjMDAwMDAwLCAwcHggMHB4IDBweCAjMGQwZDBkOyovXG4gIGJvcmRlcjogMHB4IHNvbGlkICMwMDAwMDA7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiAxLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5Y29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW4tdG9wOiAtOS41cHg7XG59XG5pbnB1dFt0eXBlPXJhbmdlXTpmb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG59XG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhbmltYXRlOiAwLjJzO1xuICAvKmJveC1zaGFkb3c6IDBweCAwcHggMHB4ICMwMDAwMDAsIDBweCAwcHggMHB4ICMwZDBkMGQ7Ki9cbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBib3JkZXI6IDBweCBzb2xpZCAjMDAwMTAxO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAvKmJveC1zaGFkb3c6IDBweCAwcHggMHB4ICMwMDAwMDAsIDBweCAwcHggMHB4ICMwZDBkMGQ7Ki9cbiAgYm9yZGVyOiAwcHggc29saWQgIzAwMDAwMDtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgd2lkdGg6IDEuNWVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICRzZWNvbmRhcnljb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhbmltYXRlOiAwLjJzO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAzOXB4IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbmlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC1sb3dlciB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm9yZGVyOiAwcHggc29saWQgIzAwMDEwMTtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgLypib3gtc2hhZG93OiAwcHggMHB4IDBweCAjMDAwMDAwLCAwcHggMHB4IDBweCAjMGQwZDBkOyovXG59XG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtdXBwZXIge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJvcmRlcjogMHB4IHNvbGlkICMwMDAxMDE7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIC8qYm94LXNoYWRvdzogMHB4IDBweCAwcHggIzAwMDAwMCwgMHB4IDBweCAwcHggIzBkMGQwZDsqL1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10aHVtYiB7XG4gIC8qYm94LXNoYWRvdzogMHB4IDBweCAwcHggIzAwMDAwMCwgMHB4IDBweCAwcHggIzBkMGQwZDsqL1xuICBib3JkZXI6IDBweCBzb2xpZCAjMDAwMDAwO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB3aWR0aDogMS41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogJHNlY29uZGFyeWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRvb2x0aXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXM6Oi1tcy1maWxsLWxvd2VyIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xufVxuXG59XG5cbi5zcGVjaWFsdHlGaWx0ZXIge1xuXG4gICZfX3NlbGVjdCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cblxufVxuXG4uZ2VuZGVyZmlsdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDFlbSBhdXRvO1xuXG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW1zbWFsbHN0YXJ0KSB7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bXN0YXJ0KSB7XG4gICAgbWF4LXdpZHRoOiA2MCU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2t0b3BzdGFydCkge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMgKyBsYWJlbDphZnRlcixcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzICsgbGFiZWw6YWZ0ZXIsIHtcbiAgICBib3gtc2hhZG93OiAwIDAgLjFlbSAuMWVtICM1OGE7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbDphZnRlcixcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IGdyYXk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogbGlnaHRlbigkYW9hYmx1ZSwgMTUlKTtcbiAgfVxuXG4gICZfX3JhZGlvOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICfigKInO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBjb2xvcjogJHNlY29uZGFyeWNvbG9yO1xuXG4gIH1cblxuICAmX19jaGVja2JveDpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyNzE0JztcbiAgICBiYWNrZ3JvdW5kOiAkYW9hYmx1ZTtcbiAgfVxuXG4gICZfX3JhZGlvICsgbGFiZWw6OmFmdGVyIHtcbiAgICBAZXh0ZW5kICVidXR0b24tYmFzZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cblxuICAmX19jaGVja2JveCArIGxhYmVsOjphZnRlciB7XG4gICAgQGV4dGVuZCAlYnV0dG9uLWJhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogLjE1ZW07XG4gIH1cblxuICAmX19sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cblxuICAmX19zZWN0aW9uIHtcbiAgICB3aWR0aDogMzMlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gICZfX2NvdW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAuODtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuXG59XG4iLCIuZnlkUGFnZS1lbnRlciB7XG4gIG9wYWNpdHk6IC4wMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLWluO1xufVxuXG4uZnlkUGFnZS1lbnRlci5meWRQYWdlLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5meWRQYWdlLWFwcGVhciB7XG4gIG9wYWNpdHk6IC4wMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLWluO1xufVxuXG4uZnlkUGFnZS1hcHBlYXIuZnlkUGFnZS1hcHBlYXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuXG4uZnlkUGFnZS1sZWF2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1pbjtcbn1cblxuLmZ5ZFBhZ2UtbGVhdmUuZnlkUGFnZS1sZWF2ZS1hY3RpdmUge1xuICAgIG9wYWNpdHk6IC4wMTtcbn1cblxuXG4uZXhhbXBsZS1lbnRlciB7XG4gIG9wYWNpdHk6IDAuMDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW47XG59XG5cbi5leGFtcGxlLWVudGVyLmV4YW1wbGUtZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmV4YW1wbGUtbGVhdmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLWluO1xufVxuXG4uZXhhbXBsZS1sZWF2ZS5leGFtcGxlLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuMDE7XG59XG4iLCJALXdlYmtpdC1rZXlmcmFtZXMgcmVhY3QtcHJvZ3Jlc3Mtc3Bpbm5lciB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJlYWN0LXByb2dyZXNzLXNwaW5uZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4ucmVhY3QtcHJvZ3Jlc3MtYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIGxlZnQ6IC0xNXB4O1xuICB3aWR0aDogMTAyLjUlO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBhbGwgNDAwbXM7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG4gICYucmVhY3QtcHJvZ3Jlc3MtYmFyLW9uLXRvcCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gICYucmVhY3QtcHJvZ3Jlc3MtYmFyLWhpZGUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IC0xMDtcbiAgfVxufVxuXG4ucmVhY3QtcHJvZ3Jlc3MtYmFyLXBlcmNlbnQge1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogJHByaW1hcnljb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7XG59XG4iLCIubGVhZmxldC1wb3B1cC1jb250ZW50IHtcbiAgd2lkdGg6IDIxMHB4O1xuICBtYXJnaW46IDEwcHggMTZweCAxMnB4O1xuXG4gICYgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG59XG5cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5sZWFmbGV0LWNvbnRhaW5lciBhLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxDQUFQLG1DQUFPO0FFRlA7O0dBRUc7QUE2Qkg7O0dBRUc7QUFvQkg7O0dBRUc7QUFDSCx3QkFBd0I7QUFDeEIsc0JBQXNCO0FBS3RCOztHQUVHO0FBR0g7O0dBRUc7QUFPSDs7O0dBR0c7QUFXSDs7O0dBR0c7QUQ1RkgsbUJBQW1CO0FBSW5CLHdCQUF3QjtBR0x4QixBQUFBLFVBQVUsSUFBRyxBQUFBLEtBQUMsRUFBTyxNQUFNLEFBQWIsRUFBZTtFQUMzQixZQUFZLEVBQUUsQ0FBQztFQUNmLGFBQWEsRUFBRSxDQUFDLEdBQ2pCOztBRWlCRCxBQUFBLFdBQVcsQ0FBQztFQUNSLE1BQU0sRUFBRSxjQUFjLEdBS3pCO0VBTkQsQUFHSSxXQUhPLENBR0wsR0FBRyxDQUFDO0lBQ0YsTUFBTSxFQUFFLGNBQWMsR0FDekI7O0FBSUwsQUFBQSxlQUFlLEFBQUEsV0FBVyxDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2Isb0JBQW9CLEVBQ3JCOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDcEIsK0JBQStCLEVBQ2hDOztBQUlDLEFBQUEsS0FBSyxBQUFBLGlCQUFpQixDQUZ4QixJQUFJLENBRXVCO0VBQ3ZCLE9BQU8s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 */
