@import url("https://fonts.googleapis.com/css?family=Roboto|Roboto+Condensed");
:root {
  --colour-primary: #EDEAE5;
  --colour-secondary: #003135;
  --colour-accent: #10A4B0;
  --colour-text: #111;
  --font-typeface: "Roboto", sans-serif;
}

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  outline: 0;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  border: 0;
  margin: 0;
  padding: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: "";
  content: none;
}

q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

#site-wrapper {
  margin: 0 auto;
  overflow: hidden;
}
#site-wrapper.with-banner {
  padding-top: 230px;
}
@media (min-width: 420px) {
  #site-wrapper.with-banner {
    padding-top: 290px;
  }
}

.main-wrapper {
  position: relative;
  color: #111;
  padding: 0 0 300px;
  z-index: 2;
}
.main-wrapper:before {
  display: block;
  position: absolute;
  top: -10px;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--colour-primary);
  transform: skewY(3deg);
}

.js .main-wrapper:before {
  transform: none;
}

.js.banner-anime .main-wrapper:before,
.js.banner-anime-complete .main-wrapper:before {
  transform: skewY(3deg);
}

.js.banner-anime .main-wrapper:before {
  transition: transform 0.5s linear;
}

.main {
  position: relative;
  min-width: 300px;
  margin: 0 auto;
}
@media (min-width: 480px) {
  .main {
    padding-top: 10px;
  }
}
@media (min-width: 760px) {
  .main {
    padding-top: 20px;
  }
}
@media (min-width: 1420px) {
  .main {
    padding-top: 20px;
  }
}
.main h2,
.main a {
  color: var(--colour-secondary);
}

.section .container {
  max-width: 2400px;
  padding: 20px;
  margin: 0 auto;
}
@media (min-width: 760px) {
  .section .container {
    padding: 20px 30px;
  }
}
@media (min-width: 1200px) {
  .section .container {
    padding: 20px 40px 40px;
  }
}

.text-columns {
  gap: 40px;
  max-width: 1530px;
  margin: 0 auto;
}
.text-columns p {
  text-align: justify;
}
@media (min-width: 760px) {
  .text-columns {
    column-count: 2;
  }
  .text-columns p {
    padding-bottom: 26px;
  }
}
@media (min-width: 1200px) {
  .text-columns {
    column-count: 3;
    padding-top: 10px;
  }
}
@media (min-width: 1600px) {
  .text-columns {
    padding-top: 20px;
  }
}

.hide {
  display: none;
}

@media (min-width: 480px) {
  .w480-hide {
    display: none;
  }
}

@media (min-width: 680px) {
  .w680-show {
    display: block;
  }
}

@media (min-width: 1600px) {
  .w1600-show {
    display: block;
  }
}

h1,
h2,
h3 {
  display: inline-block;
  font-family: var(--font-typeface);
  font-size: 5em;
  text-transform: uppercase;
  margin: 0 0 20px;
}

h2 {
  display: inline-block;
  position: relative;
  font-size: 1.5em;
  color: var(--colour-text);
  margin: 20px 0 40px;
}
h2:before, h2:after {
  display: block;
  position: absolute;
  top: 0;
  width: 2px;
  height: 100%;
  content: "";
  background: var(--colour-text);
}
h2:before {
  left: -10px;
}
h2:after {
  right: -10px;
}
@media (min-width: 1200px) {
  h2 {
    margin: 40px 0;
  }
}

h3,
.h3 {
  font-size: 1.25em;
}

p {
  text-align: left;
  font-size: 1em;
  line-height: 1.825em;
  padding-bottom: 20px;
}

a {
  color: var(--colour-accent);
  text-decoration: none;
  cursor: pointer;
}

.no-wrap {
  white-space: nowrap;
}

.center {
  text-align: center;
}

.banner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--colour-secondary);
  padding: 20px 0 400px;
  z-index: 1;
}
.banner .logo {
  display: inline-block;
  width: 140px;
  height: 140px;
  margin-bottom: 10px;
}
.banner .logo-text {
  display: block;
  width: 308px;
  height: 70px;
  margin: 0 auto;
}
.banner .logo-text h1 {
  display: none;
  font-family: var(--font-typeface);
  font-size: 2.5em;
  color: var(--colour-primary);
  line-height: 1em;
  text-transform: uppercase;
  white-space: nowrap;
  padding: 0;
  margin: 0 0 10px;
}
.banner .menu {
  margin-top: -1px;
}
.banner .menu li {
  display: inline-block;
}
.banner .menu li a {
  display: block;
  position: relative;
  color: var(--colour-accent);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  padding: 0 5px;
}
.banner .menu li a span {
  position: relative;
  z-index: 2;
}
.banner .menu li a:before, .banner .menu li a:after {
  position: absolute;
  content: "";
  top: -1px;
  background: var(--colour-primary);
  width: 2px;
  height: 17px;
  z-index: 1;
  transition: width 0.25s linear;
}
.banner .menu li a:before {
  left: -3px;
}
.banner .menu li a:after {
  right: -3px;
}
@media (hover: hover) and (pointer: fine) {
  .banner .menu li a:hover {
    color: var(--colour-secondary);
  }
  .banner .menu li a:hover:before, .banner .menu li a:hover:after {
    width: calc(100% + 3px);
  }
}
.banner .menu li:first-child a:before {
  display: none;
}
.banner .menu li:last-child a:after {
  display: none;
}
@media (min-width: 420px) {
  .banner .menu {
    margin-top: -4px;
  }
  .banner .logo-text h1 {
    display: block;
  }
}
@media (min-width: 760px) {
  .banner {
    padding-top: 40px;
  }
  .banner .logo {
    display: inline-block;
    width: 180px;
    height: 180px;
    vertical-align: middle;
    margin: 0;
  }
  .banner .logo-text {
    display: inline-block;
    width: 370px;
    vertical-align: middle;
    text-align: left;
    margin-left: 20px;
  }
  .banner .logo-text h1 {
    font-size: 3em;
    margin: 0 0 5px;
  }
  .banner .menu {
    float: right;
    margin-top: -1px;
  }
}

.js .banner .logo-text {
  width: 0%;
  overflow: hidden;
}
@media (min-width: 760px) {
  .js .banner .logo-text {
    margin-left: 0;
  }
}
.js .banner .logo-text h1 {
  width: 0%;
  overflow: hidden;
}
.js .banner .menu li {
  opacity: 0;
}
.js .banner .menu li span {
  display: inline-block;
  height: 0px;
  vertical-align: top;
  overflow: hidden;
}

.js.banner-anime .banner .logo-text,
.js.banner-anime-complete .banner .logo-text {
  width: 308px;
}
@media (min-width: 760px) {
  .js.banner-anime .banner .logo-text,
  .js.banner-anime-complete .banner .logo-text {
    width: 370px;
    margin-left: 20px;
  }
}
.js.banner-anime .banner .logo-text h1,
.js.banner-anime-complete .banner .logo-text h1 {
  width: 100%;
}
.js.banner-anime .banner .menu li,
.js.banner-anime-complete .banner .menu li {
  opacity: 100;
}
.js.banner-anime .banner .menu li span,
.js.banner-anime-complete .banner .menu li span {
  height: 14px;
}

.js.banner-anime .banner .logo-text {
  transition: width 0.5s linear, margin 0.5s linear;
  transition-delay: 0.5s;
}
.js.banner-anime .banner .logo-text h1 {
  transition: width 0.5s linear;
  transition-delay: 1s;
}
.js.banner-anime .banner .menu li {
  transition: opacity 0.25s linear;
  transition-delay: 1s;
}
.js.banner-anime .banner .menu li:nth-child(1) span {
  transition-delay: calc(1.5s + 1 * 0.2s);
}
.js.banner-anime .banner .menu li:nth-child(2) span {
  transition-delay: calc(1.5s + 2 * 0.2s);
}
.js.banner-anime .banner .menu li:nth-child(3) span {
  transition-delay: calc(1.5s + 3 * 0.2s);
}
.js.banner-anime .banner .menu li span {
  transition: height 0.25s linear;
}

#footer {
  position: relative;
  background: var(--colour-secondary);
  padding: 10px 0;
  margin-top: -300px;
  z-index: 2;
}
#footer p,
#footer h2 {
  font-family: var(--font-typeface);
  font-size: 0.875em;
  text-align: center;
  text-transform: uppercase;
  color: var(--colour-primary);
  line-height: 1.3571428571em;
  padding: 0;
  margin: 0;
}
#footer h2:before,
#footer h2:after {
  display: none;
}
#footer a {
  color: var(--colour-accent);
  transition: color linear 0.25s;
}
#footer a:hover {
  color: var(--colour-secondary);
}

.section-clients {
  background: #e1ded9;
  box-shadow: inset 0 0 5px 2px rgba(30, 30, 30, 0.1);
}
@media (min-width: 1600px) {
  .section-clients {
    height: 305px;
  }
}

.clients-wrapper {
  position: relative;
}
@media (min-width: 1600px) {
  .clients-wrapper {
    width: 3060px;
    height: 120px;
    margin-left: -370px;
    overflow: hidden;
  }
  .clients-wrapper:before, .clients-wrapper:after {
    position: absolute;
    top: 0;
    height: 120px;
    width: 60px;
    content: "";
    z-index: 2;
  }
  .clients-wrapper:before {
    left: 0;
    background: linear-gradient(to right, rgb(225, 222, 217), rgba(225, 222, 217, 0));
  }
  .clients-wrapper:after {
    right: 0;
    background: linear-gradient(to left, rgb(225, 222, 217), rgba(225, 222, 217, 0));
  }
}

.clients {
  column-count: 3;
  gap: 20px;
}
@media (min-width: 480px) {
  .clients {
    column-count: 4;
  }
}
@media (min-width: 680px) {
  .clients {
    column-count: 6;
  }
}
@media (min-width: 960px) {
  .clients {
    column-count: 9;
  }
}
@media (min-width: 1600px) {
  .clients {
    position: absolute;
    left: 0;
    transform: translateX(10px);
    width: 6120px;
    column-count: 44;
    animation: autoScroll infinite 60s linear;
  }
}
.clients li {
  margin-bottom: 20px;
}
.clients li.scroll-copy {
  display: none;
}
@media (min-width: 1600px) {
  .clients li.scroll-copy {
    display: block;
  }
}
.clients li img {
  display: block;
  border-radius: 10px;
  box-shadow: 0 0 5px 2px rgba(30, 30, 30, 0.2);
  transition: opacity 0.5s linear, scale 0.5s linear;
}

@keyframes autoScroll {
  0%, 100% {
    transform: translateX(10px);
  }
  99.99999% {
    transform: translateX(-3060px);
  }
}
.js .clients li img {
  opacity: 0;
  scale: 0.2;
}

.js.clients-visible .clients li:nth-child(1) img {
  transition-delay: calc(1 * 0.1s);
}
.js.clients-visible .clients li:nth-child(2) img {
  transition-delay: calc(2 * 0.1s);
}
.js.clients-visible .clients li:nth-child(3) img {
  transition-delay: calc(3 * 0.1s);
}
.js.clients-visible .clients li:nth-child(4) img {
  transition-delay: calc(4 * 0.1s);
}
.js.clients-visible .clients li:nth-child(5) img {
  transition-delay: calc(5 * 0.1s);
}
.js.clients-visible .clients li:nth-child(6) img {
  transition-delay: calc(6 * 0.1s);
}
.js.clients-visible .clients li:nth-child(7) img {
  transition-delay: calc(7 * 0.1s);
}
.js.clients-visible .clients li:nth-child(8) img {
  transition-delay: calc(8 * 0.1s);
}
.js.clients-visible .clients li:nth-child(9) img {
  transition-delay: calc(9 * 0.1s);
}
.js.clients-visible .clients li:nth-child(10) img {
  transition-delay: calc(10 * 0.1s);
}
.js.clients-visible .clients li:nth-child(11) img {
  transition-delay: calc(11 * 0.1s);
}
.js.clients-visible .clients li:nth-child(12) img {
  transition-delay: calc(12 * 0.1s);
}
.js.clients-visible .clients li:nth-child(13) img {
  transition-delay: calc(13 * 0.1s);
}
.js.clients-visible .clients li:nth-child(14) img {
  transition-delay: calc(14 * 0.1s);
}
.js.clients-visible .clients li:nth-child(15) img {
  transition-delay: calc(15 * 0.1s);
}
.js.clients-visible .clients li:nth-child(16) img {
  transition-delay: calc(16 * 0.1s);
}
.js.clients-visible .clients li:nth-child(17) img {
  transition-delay: calc(17 * 0.1s);
}
.js.clients-visible .clients li:nth-child(18) img {
  transition-delay: calc(18 * 0.1s);
}
.js.clients-visible .clients li:nth-child(19) img {
  transition-delay: calc(19 * 0.1s);
}
.js.clients-visible .clients li:nth-child(20) img {
  transition-delay: calc(20 * 0.1s);
}
.js.clients-visible .clients li:nth-child(21) img {
  transition-delay: calc(21 * 0.1s);
}
.js.clients-visible .clients li:nth-child(22) img {
  transition-delay: calc(22 * 0.1s);
}
.js.clients-visible .clients li img {
  opacity: 1;
  scale: 1;
}

.experiments-key {
  max-width: 480px;
  margin: 0 auto 10px;
}
.experiments-key li {
  display: inline-block;
  padding: 0 5px 10px 5px;
}
.experiments-key li span {
  display: inline-block;
  min-width: 20px;
  color: var(--colour-primary);
  text-transform: uppercase;
  font-weight: bold;
  background: var(--colour-secondary);
  padding: 2px 5px;
  margin-right: 2px;
  border-radius: 3px;
}
@media (min-width: 760px) {
  .experiments-key {
    max-width: 700px;
  }
}
@media (min-width: 920px) {
  .experiments-key {
    max-width: none;
  }
}
@media (min-width: 980px) {
  .experiments-key li {
    padding: 0 10px 10px 10px;
  }
}

.experiments {
  max-width: 300px;
  margin: 0 auto;
}
.experiments li {
  display: inline-block;
  width: 100%;
  margin: 0 10px 20px;
  transition: opacity 0.5s linear, scale 0.5s linear;
}
.experiments li a {
  display: grid;
  position: relative;
  width: 100%;
  color: #fff;
  aspect-ratio: 1.8;
  place-content: center;
  box-shadow: 0 0 5px 2px rgba(30, 30, 30, 0.2);
  border-radius: 10px;
  overflow: hidden;
  background-image: var(--bg-image);
  background-size: 100%;
  padding: 10px;
}
.experiments li a:after {
  display: block;
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.8);
  transition: left 0.25s linear;
}
.experiments li a .title {
  display: block;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 1.25em;
  opacity: 0;
  transition: opacity 0.25s linear;
  z-index: 2;
}
.experiments li a .exp-types {
  position: absolute;
  bottom: 0;
  right: 0;
  min-width: 36px;
  color: var(--colour-primary);
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 6px;
  background: var(--colour-secondary);
  border-radius: 10px 0 0 0;
  padding: 8px 4px 8px 10px;
}
@media (hover: hover) and (pointer: fine) {
  .experiments li a:hover:after, .experiments li a:focus:after {
    left: 0%;
  }
  .experiments li a:hover span, .experiments li a:focus span {
    opacity: 1;
    transition-delay: 0.1s;
  }
}
@media (min-width: 520px) {
  .experiments {
    max-width: 600px;
  }
  .experiments li {
    float: left;
    width: calc(50% - 20px);
  }
}
@media (min-width: 760px) {
  .experiments {
    max-width: 900px;
  }
  .experiments li {
    width: calc(33.333333% - 20px);
  }
}
@media (min-width: 980px) {
  .experiments {
    max-width: 930px;
    margin-top: 5px;
  }
  .experiments li {
    width: calc(33.333333% - 30px);
    margin: 10px 15px 20px;
  }
}
@media (min-width: 1380px) {
  .experiments {
    max-width: 1550px;
  }
  .experiments li {
    width: calc(20% - 30px);
  }
}
@media (min-width: 1920px) {
  .experiments {
    max-width: 1860px;
  }
  .experiments li {
    width: calc(16.666% - 30px);
  }
}
@media (min-width: 2300px) {
  .experiments {
    max-width: 2180px;
  }
  .experiments li {
    width: calc(14.2% - 30px);
  }
}

.js .experiments li {
  opacity: 0;
  scale: 0.2;
}

.js.lab-visible .experiments li {
  opacity: 1;
  scale: 1;
}
.js.lab-visible .experiments li:nth-child(1) {
  transition-delay: calc(1 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(2) {
  transition-delay: calc(2 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(3) {
  transition-delay: calc(3 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(4) {
  transition-delay: calc(4 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(5) {
  transition-delay: calc(5 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(6) {
  transition-delay: calc(6 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(7) {
  transition-delay: calc(7 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(8) {
  transition-delay: calc(8 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(9) {
  transition-delay: calc(9 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(10) {
  transition-delay: calc(10 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(11) {
  transition-delay: calc(11 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(12) {
  transition-delay: calc(12 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(13) {
  transition-delay: calc(13 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(14) {
  transition-delay: calc(14 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(15) {
  transition-delay: calc(15 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(16) {
  transition-delay: calc(16 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(17) {
  transition-delay: calc(17 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(18) {
  transition-delay: calc(18 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(19) {
  transition-delay: calc(19 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(20) {
  transition-delay: calc(20 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(21) {
  transition-delay: calc(21 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(22) {
  transition-delay: calc(22 * 0.2s);
}
.js.lab-visible .experiments li:nth-child(23) {
  transition-delay: calc(23 * 0.2s);
}

html {
  height: 100%;
  padding: 0;
  margin: 0;
}

body {
  height: 100%;
  font-family: var(--font-typeface);
  color: var(--colour-text);
  text-align: center;
  background: var(--colour-primary);
  padding: 0;
  margin: 0;
}

img {
  max-width: 100%;
}

.clear {
  clear: both;
}

.clearfix:after {
  display: block;
  clear: both;
  height: 0;
  content: " ";
  font-size: 0;
  visibility: hidden;
}

/* -- Old IE Fixes ------ */
.lt-ie9 header,
.lt-ie9 section,
.lt-ie9 footer {
  width: 100%;
  margin: 0 auto;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInZhcmlhYmxlcy5zY3NzIiwicmVzZXQuc2NzcyIsImxheW91dC5zY3NzIiwidHlwb2dyYXBoeS5zY3NzIiwiYmFubmVyLnNjc3MiLCJmb290ZXIuc2NzcyIsImxpc3Quc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPUTtBQ1BSO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7O0FDTkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FDN0NGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7SUFDRTs7OztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNFOzs7QUFJQTtBQUFBO0VBQ0U7OztBQUdKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBTEY7SUFNSTs7O0FBR0Y7RUFURjtJQVVJOzs7QUFHRjtFQWJGO0lBY0k7OztBQUdGO0FBQUE7RUFFRTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFMRjtJQU1JOzs7QUFHRjtFQVRGO0lBVUk7Ozs7QUFLTjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBVEY7SUFVSTs7RUFFQTtJQUNFOzs7QUFJSjtFQWpCRjtJQWtCSTtJQUNBOzs7QUFHRjtFQXRCRjtJQXVCSTs7OztBQUlKO0VBQ0U7OztBQUlBO0VBREY7SUFFSTs7OztBQUtGO0VBREY7SUFFSTs7OztBQUtGO0VBREY7SUFFSTs7OztBQ2pJSjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUExQkY7SUEyQkk7Ozs7QUFJSjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUNoRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTs7QUFFRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0lBQ0U7O0VBRUE7SUFFRTs7O0FBTVI7RUFDRTs7QUFHRjtFQUNFOztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQTNHRjtJQTRHSTs7RUFFQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7SUFDQTs7RUFJSjtJQUNFO0lBQ0E7Ozs7QUFNSjtFQUNFO0VBQ0E7O0FBRUE7RUFKRjtJQUtJOzs7QUFHRjtFQUNFO0VBQ0E7O0FBSUo7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRjtBQUFBO0VBQ0U7O0FBRUE7RUFIRjtBQUFBO0lBSUk7SUFDQTs7O0FBR0Y7QUFBQTtFQUNFOztBQUlKO0FBQUE7RUFDRTs7QUFFQTtBQUFBO0VBQ0U7OztBQUtKO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUdFO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQUlKO0VBQ0U7OztBQ2pOTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtFQUVFOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOzs7QUM3Qk47RUFDRTtFQUNBOztBQUVBO0VBSkY7SUFLSTs7OztBQUlKO0VBQ0U7O0FBRUE7RUFIRjtJQUlJO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7Ozs7QUFLTjtFQUNFO0VBQ0E7O0FBRUE7RUFKRjtJQUtJOzs7QUFHRjtFQVJGO0lBU0k7OztBQUdGO0VBWkY7SUFhSTs7O0FBR0Y7RUFoQkY7SUFpQkk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7O0FBRUE7RUFIRjtJQUlJOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFLTjtFQUNFO0lBQVk7O0VBQ1o7SUFBWTs7O0FBR2Q7RUFDRTtFQUNBOzs7QUFLSTtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQUtOO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQXJCRjtJQXNCSTs7O0FBR0Y7RUF6QkY7SUEwQkk7OztBQUdGO0VBQ0U7SUFDRTs7OztBQUtOO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBR0k7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7OztBQU9WO0VBNUVGO0lBNkVJOztFQUVBO0lBQ0U7SUFDQTs7O0FBSUo7RUFyRkY7SUFzRkk7O0VBRUE7SUFDRTs7O0FBSUo7RUE3RkY7SUE4Rkk7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7OztBQUlKO0VBdkdGO0lBd0dJOztFQUVBO0lBQ0U7OztBQUlKO0VBL0dGO0lBZ0hJOztFQUVBO0lBQ0U7OztBQUlKO0VBdkhGO0lBd0hJOztFQUVBO0lBQ0U7Ozs7QUFLTjtFQUNFO0VBQ0E7OztBQUdBO0VBT0U7RUFDQTs7QUFORTtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7O0FBREY7RUFDRTs7QUFERjtFQUNFOztBQURGO0VBQ0U7OztBUGhSUjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7QUFBQTtBQUFBO0VBR0U7RUFDQSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4vdmFyaWFibGVzLnNjc3MnO1xuQHVzZSAnLi9yZXNldC5zY3NzJztcbkB1c2UgJy4vbGF5b3V0LnNjc3MnO1xuQHVzZSAnLi90eXBvZ3JhcGh5LnNjc3MnO1xuQHVzZSAnLi9iYW5uZXIuc2Nzcyc7XG5AdXNlICcuL2Zvb3Rlci5zY3NzJztcbkB1c2UgJy4vbGlzdC5zY3NzJztcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90b3xSb2JvdG8rQ29uZGVuc2VkXCIpO1xuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG4gIFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdHlwZWZhY2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3VyLXRleHQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG91ci1wcmltYXJ5KTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuICBcbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbiAgIFxuLmNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4gXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIGhlaWdodDogMDtcbiAgY29udGVudDogXCIgXCI7XG4gIGZvbnQtc2l6ZTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiAtLSBPbGQgSUUgRml4ZXMgLS0tLS0tICovXG4ubHQtaWU5IGhlYWRlcixcbi5sdC1pZTkgc2VjdGlvbixcbi5sdC1pZTkgZm9vdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufSIsIjpyb290IHtcclxuICAtLWNvbG91ci1wcmltYXJ5OiAjRURFQUU1O1xyXG4gIC0tY29sb3VyLXNlY29uZGFyeTogIzAwMzEzNTtcclxuICAtLWNvbG91ci1hY2NlbnQ6ICMxMEE0QjA7XHJcbiAgLS1jb2xvdXItdGV4dDogIzExMTtcclxuXHJcbiAgLS1mb250LXR5cGVmYWNlOiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xyXG59IiwiKiB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgb3V0bGluZTogMDtcclxufVxyXG4gIFxyXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLCBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsIGIsIHUsIGksIGNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLCBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcclxuICBmb250LXNpemU6IDEwMCU7XHJcbiAgZm9udDogaW5oZXJpdDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbiAgXHJcbmJvZHkge1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcbiAgXHJcbm9sLCB1bCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG4gIFxyXG5ibG9ja3F1b3RlLCBxIHtcclxuICBxdW90ZXM6IG5vbmU7XHJcbn1cclxuICBcclxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgY29udGVudDogbm9uZTtcclxufVxyXG5cclxucTpiZWZvcmUsIHE6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgY29udGVudDogbm9uZTtcclxufVxyXG5cclxudGFibGUge1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbn1cclxuICAiLCIjc2l0ZS13cmFwcGVyIHtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAmLndpdGgtYmFubmVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAyMzBweDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xyXG4gICAgJi53aXRoLWJhbm5lciB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAyOTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5tYWluLXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBjb2xvcjogIzExMTtcclxuICBwYWRkaW5nOiAwIDAgMzAwcHg7XHJcbiAgei1pbmRleDogMjtcclxuXHJcbiAgJjpiZWZvcmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0xMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3VyLXByaW1hcnkpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WSgzZGVnKTtcclxuICB9XHJcbn1cclxuLmpzIC5tYWluLXdyYXBwZXI6YmVmb3JlIHtcclxuICB0cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuLmpzLmJhbm5lci1hbmltZSxcclxuLmpzLmJhbm5lci1hbmltZS1jb21wbGV0ZSB7XHJcbiAgLm1haW4td3JhcHBlcjpiZWZvcmUge1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WSgzZGVnKTtcclxuICB9XHJcbn1cclxuLmpzLmJhbm5lci1hbmltZSAubWFpbi13cmFwcGVyOmJlZm9yZSB7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgbGluZWFyO1xyXG59XHJcblxyXG4ubWFpbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0MjBweCkge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgfVxyXG5cclxuICBoMixcclxuICBhIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvdXItc2Vjb25kYXJ5KTtcclxuICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uIHtcclxuICAuY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMjQwMHB4O1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDQwcHggNDBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50ZXh0LWNvbHVtbnMge1xyXG4gIGdhcDogNDBweDtcclxuICBtYXgtd2lkdGg6IDE1MzBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgcCB7XHJcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XHJcbiAgICBjb2x1bW4tY291bnQ6IDI7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgY29sdW1uLWNvdW50OiAzO1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi5oaWRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udzQ4MC1oaWRlIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4udzY4MC1zaG93IHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogNjgwcHgpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLncxNjAwLXNob3cge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufSIsImgxLFxyXG5oMixcclxuaDMge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC10eXBlZmFjZSk7XHJcbiAgZm9udC1zaXplOiA1ZW07XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBtYXJnaW46IDAgMCAyMHB4O1xyXG59XHJcbiAgXHJcbmgyIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgY29sb3I6IHZhcigtLWNvbG91ci10ZXh0KTtcclxuICBtYXJnaW46IDIwcHggMCA0MHB4O1xyXG5cclxuICAmOmJlZm9yZSxcclxuICAmOmFmdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgd2lkdGg6IDJweDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvdXItdGV4dCk7XHJcbiAgfVxyXG5cclxuICAmOmJlZm9yZSB7XHJcbiAgICBsZWZ0OiAtMTBweDtcclxuICB9XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgcmlnaHQ6IC0xMHB4O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgbWFyZ2luOiA0MHB4IDA7XHJcbiAgfVxyXG59XHJcblxyXG5oMyxcclxuLmgzIHtcclxuICBmb250LXNpemU6IDEuMjVlbTtcclxufVxyXG5cclxucCB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBmb250LXNpemU6IDFlbTtcclxuICBsaW5lLWhlaWdodDogMS44MjVlbTtcclxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuYSB7XHJcbiAgY29sb3I6IHZhcigtLWNvbG91ci1hY2NlbnQpO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5uby13cmFwIHtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uY2VudGVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn0iLCIuYmFubmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvdXItc2Vjb25kYXJ5KTtcbiAgcGFkZGluZzogMjBweCAwIDQwMHB4O1xuICB6LWluZGV4OiAxO1xuXG4gIC5sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIGhlaWdodDogMTQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5sb2dvLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzMDhweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBoMSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdHlwZWZhY2UpO1xuICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvdXItcHJpbWFyeSk7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICB9XG4gIH1cblxuICAubWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgfVxuICAubWVudSBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvdXItYWNjZW50KTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcGFkZGluZzogMCA1cHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3VyLXByaW1hcnkpO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAtM3B4O1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IC0zcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG91ci1zZWNvbmRhcnkpO1xuICBcbiAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQgYTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgYTphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MjBweCkge1xuICAgIC5tZW51IHtcbiAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgfVxuXG4gICAgLmxvZ28tdGV4dCBoMSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcblxuICAgIC5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5sb2dvLXRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDM3MHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcblxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgfVxuICB9XG59XG5cbi5qcyAuYmFubmVyIHtcbiAgLmxvZ28tdGV4dCB7XG4gICAgd2lkdGg6IDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIHdpZHRoOiAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLm1lbnUgbGkge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAubWVudSBsaSBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG4uanMuYmFubmVyLWFuaW1lIC5iYW5uZXIsXG4uanMuYmFubmVyLWFuaW1lLWNvbXBsZXRlIC5iYW5uZXIge1xuICAubG9nby10ZXh0IHtcbiAgICB3aWR0aDogMzA4cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAgIHdpZHRoOiAzNzBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51IGxpIHtcbiAgICBvcGFjaXR5OiAxMDA7XG5cbiAgICBzcGFuIHtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICB9XG4gIH1cbn1cbi5qcy5iYW5uZXItYW5pbWUgLmJhbm5lciB7XG4gIC5sb2dvLXRleHQge1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNXMgbGluZWFyLCBtYXJnaW4gMC41cyBsaW5lYXIsO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7XG5cbiAgICBoMSB7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzIGxpbmVhcjtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDFzO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51IGxpIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxcztcblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRpfSkgc3BhbiB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IGNhbGMoMS41cyArICgjeyRpfSAqIDAuMnMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjI1cyBsaW5lYXI7XG4gICAgfVxuICB9XG59IiwiI2Zvb3RlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG91ci1zZWNvbmRhcnkpO1xyXG4gIHBhZGRpbmc6IDEwcHggMDtcclxuICBtYXJnaW4tdG9wOiAtMzAwcHg7XHJcbiAgei1pbmRleDogMjtcclxuXHJcbiAgcCxcclxuICBoMiB7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC10eXBlZmFjZSk7XHJcbiAgICBmb250LXNpemU6IDAuODc1ZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG91ci1wcmltYXJ5KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM1NzE0Mjg1NzE0Mjg1NzJlbTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICBoMjpiZWZvcmUsXHJcbiAgaDI6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG91ci1hY2NlbnQpO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgbGluZWFyIDAuMjVzO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogdmFyKC0tY29sb3VyLXNlY29uZGFyeSk7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLnNlY3Rpb24tY2xpZW50cyB7XHJcbiAgYmFja2dyb3VuZDogI2UxZGVkOTtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IDJweCByZ2JhKDMwLCAzMCwgMzAsIDAuMSk7XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcclxuICAgIGhlaWdodDogMzA1cHhcclxuICB9XHJcbn1cclxuXHJcbi5jbGllbnRzLXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xyXG4gICAgd2lkdGg6IDMwNjBweDtcclxuICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogLTM3MHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlICB7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiKDIyNSwgMjIyLCAyMTcpLCByZ2JhKDIyNSwgMjIyLCAyMTcsIDApKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2IoMjI1LCAyMjIsIDIxNyksIHJnYmEoMjI1LCAyMjIsIDIxNywgMCkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNsaWVudHMge1xyXG4gIGNvbHVtbi1jb3VudDogMztcclxuICBnYXA6IDIwcHg7XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xyXG4gICAgY29sdW1uLWNvdW50OiA0O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDY4MHB4KSB7XHJcbiAgICBjb2x1bW4tY291bnQ6IDY7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcclxuICAgIGNvbHVtbi1jb3VudDogOTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XHJcbiAgICB3aWR0aDogNjEyMHB4O1xyXG4gICAgY29sdW1uLWNvdW50OiA0NDtcclxuICAgIGFuaW1hdGlvbjogYXV0b1Njcm9sbCBpbmZpbml0ZSA2MHMgbGluZWFyO1xyXG4gIH1cclxuXHJcbiAgbGkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAmLnNjcm9sbC1jb3B5IHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgNXB4IDJweCByZ2JhKDMwLCAzMCwgMzAsIDAuMik7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBsaW5lYXIsIHNjYWxlIDAuNXMgbGluZWFyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhdXRvU2Nyb2xsIHtcclxuICAwJSwgMTAwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cclxuICA5OS45OTk5OSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwNjBweCk7IH1cclxufVxyXG5cclxuLmpzIC5jbGllbnRzIGxpIGltZyB7XHJcbiAgb3BhY2l0eTogMDtcclxuICBzY2FsZTogMC4yO1xyXG59XHJcbi5qcy5jbGllbnRzLXZpc2libGUge1xyXG4gIC5jbGllbnRzIGxpIHtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMjIge1xyXG4gICAgICAmOm50aC1jaGlsZCgjeyRpfSkgaW1nIHtcclxuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiBjYWxjKCN7JGl9ICogMC4xcyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jbGllbnRzIGxpIGltZyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgc2NhbGU6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4uZXhwZXJpbWVudHMta2V5IHtcclxuICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvIDEwcHg7XHJcblxyXG4gIGxpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmc6IDAgNXB4IDEwcHggNXB4O1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1pbi13aWR0aDogMjBweDtcclxuICAgICAgY29sb3I6IHZhcigtLWNvbG91ci1wcmltYXJ5KTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG91ci1zZWNvbmRhcnkpO1xyXG4gICAgICBwYWRkaW5nOiAycHggNXB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XHJcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDkyMHB4KSB7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogOTgwcHgpIHtcclxuICAgIGxpIHtcclxuICAgICAgcGFkZGluZzogMCAxMHB4IDEwcHggMTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5leHBlcmltZW50cyB7XHJcbiAgbWF4LXdpZHRoOiAzMDBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgbGkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgMTBweCAyMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGxpbmVhciwgc2NhbGUgMC41cyBsaW5lYXI7XHJcbiAgICBcclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgYXNwZWN0LXJhdGlvOiAxLjg7XHJcbiAgICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDVweCAycHggcmdiYSgzMCwgMzAsIDMwLCAwLjIpO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1iZy1pbWFnZSk7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogLTEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMjVzIGxpbmVhcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnRpdGxlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGxpbmVhcjtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZXhwLXR5cGVzIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIG1pbi13aWR0aDogMzZweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3VyLXByaW1hcnkpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDZweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvdXItc2Vjb25kYXJ5KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCA0cHggOHB4IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgJjphZnRlciAge1xyXG4gICAgICAgICAgICBsZWZ0OiAwJTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MjBweCkge1xyXG4gICAgbWF4LXdpZHRoOiA2MDBweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xyXG4gICAgbWF4LXdpZHRoOiA5MDBweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMyUgLSAyMHB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA5ODBweCkge1xyXG4gICAgbWF4LXdpZHRoOiA5MzBweDtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMyUgLSAzMHB4KTtcclxuICAgICAgbWFyZ2luOiAxMHB4IDE1cHggMjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzgwcHgpIHtcclxuICAgIG1heC13aWR0aDogMTU1MHB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMzBweCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XHJcbiAgICBtYXgtd2lkdGg6IDE4NjBweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NiUgLSAzMHB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAyMzAwcHgpIHtcclxuICAgIG1heC13aWR0aDogMjE4MHB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTQuMiUgLSAzMHB4KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5qcyAuZXhwZXJpbWVudHMgbGkge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgc2NhbGU6IDAuMjtcclxufVxyXG4uanMubGFiLXZpc2libGUge1xyXG4gIC5leHBlcmltZW50cyBsaSB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDIzIHtcclxuICAgICAgJjpudGgtY2hpbGQoI3skaX0pIHtcclxuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiBjYWxjKCN7JGl9ICogMC4ycyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgc2NhbGU6IDE7XHJcbiAgfVxyXG59Il19 */
