@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Nunito:400,300,700);
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,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

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

/* Nimble Added */
input, textarea, button, a, table {
  outline: none;
  resize: none; }

strong {
  font-weight: 400; }

body, a, button, input, textarea, pre {
  font-family: nimbus-sans, Helvetica Neue, Helvetica, Arial, sans-serif;
  text-decoration: none !important; }

pre {
  word-wrap: break-word; }

body {
  -ms-overflow-style: none;
  font-weight: 200; }

a {
  color: #428bca; }

html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

body {
  font-family: 'Nunito'; }

body.breezy-blue {
  background-color: #148EB9; }

body.dark {
  background-color: #444; }

h1 {
  font-size: 44px;
  line-height: 54px; }

h2 {
  font-size: 36px;
  line-height: 44px;
  color: #148EB9; }

h4 {
  color: #07688B;
  font-size: 24px;
  line-height: 28px;
  margin-bottom: 47px;
  text-transform: uppercase; }

p {
  font-size: 17px;
  line-height: 1.5; }

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

.logo {
  background-image: url("//s3.amazonaws.com/breezyhr-assets/images/logo-breezy-white.png");
  background-repeat: no-repeat;
  background-size: 100%;
  display: inline-block;
  height: 41px;
  width: 132px; }

.logo-blue {
  background-image: url("https://s3.amazonaws.com/breezyhr-assets/images/logo-breezy-blue.png");
  background-repeat: no-repeat;
  background-size: 100%;
  display: inline-block;
  height: 33px;
  width: 105px; }

body.hello .main-nav {
  background-color: #a147fe; }

body.hello section.hero {
  background-color: #a147fe;
  overflow: visible; }
  body.hello section.hero h2 {
    margin-top: 60px;
    margin-bottom: 0;
    color: #fff;
    font-size: 24px; }
  body.hello section.hero h1 {
    font-size: 82px;
    margin-top: 0; }
  body.hello section.hero .video-hero {
    padding-bottom: 0; }
  body.hello section.hero .copy-container {
    vertical-align: top; }
  body.hello section.hero .hello-container-right {
    position: relative;
    display: inline-block;
    width: 50%;
    margin-top: 50px; }
    body.hello section.hero .hello-container-right .image-shadow {
      position: relative;
      display: inline-block; }
      body.hello section.hero .hello-container-right .image-shadow:after {
        content: ' ';
        display: block;
        position: absolute;
        left: 10%;
        bottom: 0px;
        width: 80%;
        max-width: 380px;
        height: 10px;
        background: transparent;
        border-radius: 100px/50px;
        box-shadow: 0 50px 40px rgba(0, 0, 0, 0.5); }
    body.hello section.hero .hello-container-right img {
      overflow: visible;
      z-index: 100000;
      right: 0;
      width: 440px;
      position: relative; }

@media (max-width: 900px) {
  body.hello section.hero .hello-container-right {
    width: 100%; }
    body.hello section.hero .hello-container-right img {
      max-width: 440px;
      width: 100%; } }

section.hero {
  background-color: #148EB9;
  color: #fff;
  padding: 100px 50px;
  text-align: center; }
  section.hero.hero-nav {
    padding: 0; }
  section.hero .content {
    height: initial;
    margin-bottom: 120px; }
  section.hero h1 {
    font-size: 52px;
    margin-top: 3.125rem;
    line-height: 1.3; }
  section.hero p {
    margin-top: 1.875rem;
    font-size: 20px; }
  section.hero .button {
    margin-top: 1.875rem;
    line-height: 50px;
    width: 356px; }
  section.hero .video-cta a {
    margin-left: 46px;
    width: 250px;
    text-transform: initial;
    position: relative;
    background-color: rgba(255, 255, 255, 0.2); }
    section.hero .video-cta a:hover {
      background-color: rgba(255, 255, 255, 0.3); }
    section.hero .video-cta a i {
      font-size: 36px;
      position: relative;
      position: absolute;
      left: 32px;
      top: 8px; }
    section.hero .video-cta a span {
      margin-left: 46px; }
  section.hero .laptop {
    max-width: 1100px;
    max-height: 500px;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 0.2);
    border-bottom: none;
    border-radius: 3.125rem 3.125rem 0 0;
    margin-top: 3.125rem;
    overflow: hidden;
    padding: 3.125rem;
    padding-bottom: 0;
    position: relative;
    vertical-align: top;
    /*&:before
            content: ''
            border: 3px solid #fff
            border-radius: 100%
            height: .875rem
            left: 50%
            position: absolute
            top: 1.125rem
            transform: translate(-50%, 0)
            width: .875rem*/ }
    section.hero .laptop img {
      width: 100%; }

.main-nav {
  margin: 0 auto;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #148EB9;
  transition: all ease 300ms;
  z-index: 1000;
  min-height: 75px;
  height: 75px;
  overflow: hidden;
  padding: 0 50px; }
  .main-nav .container-new {
    padding-top: 1.325rem;
    margin: 0 auto;
    max-width: 1014px; }

.main-nav:before,
.main-nav:after {
  content: "";
  display: table; }

.main-nav:after {
  clear: both; }

.main-nav a {
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  display: inline-block;
  font-size: 0.9rem;
  font-family: "Nunito", sans-serif; }

.main-nav li.active a {
  border-bottom: .125rem solid #5ac0e5; }

.main-nav li.free-trial {
  margin-left: 30px;
  padding: 0px 18px;
  border: 2px solid white;
  border-radius: 4px;
  transition: .3s; }
  .main-nav li.free-trial:hover {
    background: rgba(255, 255, 255, 0.1); }

.main-nav a.btn {
  background-color: rgba(255, 255, 255, 0.2);
  display: block;
  padding: 0.3125rem 0.9375rem;
  border-radius: 0.3125rem;
  line-height: initial; }

.main-nav a.btn.green {
  padding: 0.5125rem 0.9375rem;
  background-color: #72D78F;
  color: #fff; }

.main-nav a.btn:hover {
  background-color: #5ec27a; }

.main-nav a:hover {
  color: white; }

.main-nav dl {
  display: flex; }

.main-nav dd {
  text-align: left;
  flex: 1;
  white-space: nowrap; }
  .main-nav dd + dd {
    text-align: right; }

.main-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: inline-block; }

.main-nav ul li {
  display: inline-block;
  margin-left: 2rem;
  vertical-align: middle;
  line-height: 2.25rem; }

.main-nav ul.right {
  float: right; }

.logo-hero {
  text-align: left;
  display: inline-block;
  vertical-align: middle;
  margin-right: 1.875rem; }
  .logo-hero img {
    width: 6.25rem; }

a.mobile-nav-btn {
  display: none; }

.video.modal {
  position: relative; }
  .video.modal .video-container {
    top: 300px;
    max-width: 800px;
    margin: 0 auto; }

.ui.basic.modal {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0; }

.ui.basic.modal .close {
  font-size: 1.875rem; }

.ui.basic.modal ul {
  margin-top: 10%;
  text-align: center; }

.ui.basic.modal ul li {
  margin-bottom: 2.5rem; }

.ui.basic.modal ul li a {
  font-size: 1.875rem;
  color: rgba(255, 255, 255, 0.7); }

.ui.basic.modal ul li a:hover {
  color: white; }

body.video-landing.competitor section.header.breezy-blue {
  padding-top: 50px; }

body.video-landing.competitor section[class*='features-screenshot'].landingform {
  overflow: initial;
  padding-bottom: 0; }

body.video-landing.competitor section.hero p {
  padding-right: 20px; }

body.video-landing.competitor section.hero .content.video-hero {
  margin-bottom: 0; }

body.video-landing section.header,
body.video-landing section.hero {
  padding-top: 0; }
  body.video-landing section.header .content,
  body.video-landing section.hero .content {
    padding-top: 0; }

body.video-landing section .content.video-hero .video-right-container {
  padding: 0;
  padding-top: 40px; }
  body.video-landing section .content.video-hero .video-right-container .copy-container {
    padding-right: 40px; }
  body.video-landing section .content.video-hero .video-right-container.gdpr-lock {
    padding-top: 10px; }
  body.video-landing section .content.video-hero .video-right-container.smaller h1 {
    font-size: 48px; }

body.video-landing.left section .content.video-hero .video-right-container {
  float: left; }

body.video-landing.left section .content.video-hero .copy-container {
  padding-left: 40px; }

.sign-up-form {
  position: relative; }
  .sign-up-form form {
    margin: 0 auto;
    width: 100%;
    background-color: #fff;
    border-radius: 10px;
    color: #07688B;
    max-width: 504px;
    padding: 30px; }
    .sign-up-form form .field {
      margin-bottom: 20px;
      position: relative; }
      .sign-up-form form .field .hint {
        display: none;
        bottom: 15px;
        color: #148EB9;
        font-size: 16px;
        line-height: 18px;
        position: absolute;
        right: 20px;
        top: 16px;
        transition: .3s ease; }
      .sign-up-form form .field .error {
        display: inline-block;
        margin-top: 8px;
        margin-left: 20px;
        color: #f98d7c; }
      .sign-up-form form .field p {
        color: #4c555c; }
    .sign-up-form form input {
      background-color: #F3F3F3;
      border: none;
      border-radius: 5px;
      font-size: 20px;
      line-height: 23px;
      height: 50px;
      padding: 0 20px;
      width: 100%; }
      .sign-up-form form input:focus + .hint,
      .sign-up-form form input.has-value + .hint {
        display: initial;
        top: 32px;
        font-size: 12px; }
    .sign-up-form form .buttons {
      text-align: center;
      padding: 10px 0 5px 0; }
      .sign-up-form form .buttons button {
        padding: 0 40px; }
      .sign-up-form form .buttons .subtext {
        display: inline-block;
        margin-top: 15px; }

.sign-up-form-demo {
  position: relative;
  padding: 30px; }
  .sign-up-form-demo form {
    margin: 0 auto;
    width: 100%;
    background-color: #fff;
    border-radius: 10px;
    color: #07688B;
    max-width: 504px;
    padding: 30px; }
    .sign-up-form-demo form .field {
      margin-bottom: 20px;
      position: relative; }
      .sign-up-form-demo form .field .hint {
        display: none;
        bottom: 15px;
        color: #148EB9;
        font-size: 16px;
        line-height: 18px;
        position: absolute;
        right: 20px;
        top: 16px;
        transition: .3s ease; }
      .sign-up-form-demo form .field .error {
        display: inline-block;
        margin-top: 8px;
        margin-left: 20px;
        color: #f98d7c; }
      .sign-up-form-demo form .field p {
        color: #4c555c; }
    .sign-up-form-demo form input {
      background-color: #F3F3F3;
      border: none;
      border-radius: 5px;
      font-size: 20px;
      line-height: 23px;
      height: 50px;
      padding: 0 20px;
      width: 100%; }
      .sign-up-form-demo form input:focus + .hint,
      .sign-up-form-demo form input.has-value + .hint {
        display: initial;
        top: 32px;
        font-size: 12px; }
    .sign-up-form-demo form .bzy-dropdown i.fa {
      color: #4A4A4A; }
    .sign-up-form-demo form .bzy-dropdown .bzy-dropdown-menu {
      text-align: left;
      color: #4a4a4a; }
      .sign-up-form-demo form .bzy-dropdown .bzy-dropdown-menu .wrap {
        padding: 10px; }
    .sign-up-form-demo form .bzy-dropdown .bzy-dropdown-menu li {
      border-radius: 3px;
      padding: 5px 10px;
      margin-bottom: 0;
      font-size: 20px;
      line-height: 30px; }
    .sign-up-form-demo form .bzy-dropdown .bzy-dropdown-menu li:hover,
    .sign-up-form-demo form .bzy-dropdown .bzy-dropdown-menu li.selected {
      background-color: #fff; }
    .sign-up-form-demo form .bzy-dropdown .bzy-dropdown-menu div {
      padding: 5px 10px; }
    .sign-up-form-demo form .buttons {
      text-align: center;
      padding: 10px 0 5px 0; }
      .sign-up-form-demo form .buttons button {
        padding: 0 40px; }
      .sign-up-form-demo form .buttons .subtext {
        display: inline-block;
        margin-top: 15px; }

section.pricing-company-quote {
  overflow: visible; }

section.pricing-company-quote-completed aside {
  padding: 6.1rem 0 3.75rem 0; }

section.pricing-company-quote-completed .confirmed i {
  display: block;
  font-size: 100px;
  color: #76D691; }

@media only screen and (max-width: 1200px) {
  body.video-landing .sign-up-form form .field .hint {
    bottom: 2px;
    font-size: 12px; } }

@media only screen and (max-width: 1024px) {
  body.video-landing .sign-up-form {
    padding-top: 20px; }
    body.video-landing .sign-up-form .social-signin-container .button img {
      left: 14px !important;
      top: 8px !important; }
    body.video-landing .sign-up-form form {
      padding: 15px;
      position: static; }
      body.video-landing .sign-up-form form .divider-or-container {
        text-align: center; }
      body.video-landing .sign-up-form form .field .hint {
        font-size: 12px;
        position: static;
        text-align: right; }
    body.video-landing .sign-up-form .buttons button {
      padding: 0;
      width: 100%; } }

@media (max-width: 900px) {
  section.hero section.hero.features-hero,
  .features-page section.hero.features-hero {
    padding: 10px; }
  section.hero .content,
  .features-page .content {
    height: initial;
    margin: 50px auto !important;
    padding: 0 !important; }
    section.hero .content .button,
    .features-page .content .button {
      width: 100%; }
  section.hero .laptop,
  .features-page .laptop {
    border-radius: 1.75rem 1.75rem 0 0;
    padding: 1.75rem;
    padding-bottom: 0; } }

.bzy-dropdown {
  position: relative;
  cursor: pointer; }
  .bzy-dropdown .bzy-dropdown-open {
    font-size: 30px;
    position: absolute;
    top: 10px;
    right: 20px; }
  .bzy-dropdown .bzy-dropdown-menu {
    position: absolute;
    width: 100%;
    z-index: 1000; }
    .bzy-dropdown .bzy-dropdown-menu.hidden {
      display: none; }
    .bzy-dropdown .bzy-dropdown-menu .wrap {
      background-color: #F3F3F3;
      border-radius: 5px;
      box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
      padding: 10px;
      margin-top: 10px;
      width: 100%; }
    .bzy-dropdown .bzy-dropdown-menu li {
      border-radius: 3px;
      padding: 5px 10px;
      margin-bottom: 0; }
      .bzy-dropdown .bzy-dropdown-menu li:hover, .bzy-dropdown .bzy-dropdown-menu li.selected {
        background-color: #fff; }
    .bzy-dropdown .bzy-dropdown-menu div {
      padding: 5px 10px; }

ul.list-items li {
  font-size: 17px;
  line-height: 40px;
  margin-bottom: 15px;
  padding-left: 30px;
  position: relative; }
  ul.list-items li div {
    line-height: 1.5; }
  ul.list-items li i {
    color: #72D78F;
    position: absolute;
    left: 0;
    top: 3px; }

.button, button {
  border: none;
  border-radius: 4px;
  display: inline-block;
  font-size: 20px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-transition: .3s;
  -moz-transition: .3s;
  -ms-transition: .3s;
  -o-transition: .3s;
  transition: .3s; }
  .button.white, button.white {
    background-color: #fff;
    color: #148EB9; }
  .button.green, button.green {
    background-color: #72D78F;
    color: #fff;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    transition: .3s; }
  .button.green:hover, button.green:hover {
    background-color: #5ec27a; }
  .button.blue, button.blue {
    background-color: #148EB9;
    color: #fff; }

article {
  width: 100%; }

.features-page section:not(.features-hero) {
  transform: skewY(0deg); }
  .features-page section:not(.features-hero) .content {
    transform: skewY(0deg); }

section.hero.skew {
  margin-top: 0;
  transform: skewY(-4deg);
  transform-origin: 0; }
  section.hero.skew .content {
    transform: skewY(4deg);
    transform-origin: 0; }

section {
  padding: 120px 57px;
  overflow: hidden;
  width: 100%; }
  section.skew {
    padding: 0 57px 0; }
    section.skew .content {
      padding: 100px 0 50px; }
  section.breezy-blue {
    background-color: #148EB9;
    color: #fff; }
  section.bright-green {
    background-color: #72D78F;
    color: #fff; }
  section.soft-green {
    background-color: #72D78F;
    color: #fff; }
  section.grey {
    background-color: #F9F9F9; }
  section.soft-blue {
    background-color: #55BFE7;
    color: #fff; }
  section.electric-blue {
    background-color: #07688B;
    color: #fff; }
  section.purple {
    background-color: #886bb9;
    color: #fff; }
  section.red {
    background-color: #ff4545;
    color: #fff; }
  section.orange {
    background-color: #ff9f5a;
    color: #fff; }
  section.white {
    background: #FFF; }
  section .content {
    margin: 0 auto;
    max-width: 1014px; }
    section .content .landing-logo {
      text-align: left;
      padding: 50px 0; }
    section .content.video-hero,
    section .content .video-hero {
      padding: 0 0 50px; }
      section .content.video-hero .copy-container,
      section .content .video-hero .copy-container {
        width: 50%;
        display: inline-block;
        text-align: left; }
      section .content.video-hero .video-right-container,
      section .content .video-hero .video-right-container {
        float: right;
        display: inline-block;
        width: 50%;
        padding: 70px 0 0 40px; }
        section .content.video-hero .video-right-container.gdpr-image,
        section .content .video-hero .video-right-container.gdpr-image {
          padding-top: 10px; }
        section .content.video-hero .video-right-container img,
        section .content .video-hero .video-right-container img {
          width: 100%;
          border-radius: 4px; }
        section .content.video-hero .video-right-container img.small,
        section .content .video-hero .video-right-container img.small {
          display: none; }
        section .content.video-hero .video-right-container img.large,
        section .content .video-hero .video-right-container img.large {
          display: initial; }
        section .content.video-hero .video-right-container .video-thumb-button,
        section .content .video-hero .video-right-container .video-thumb-button {
          cursor: pointer;
          position: relative; }
          section .content.video-hero .video-right-container .video-thumb-button i,
          section .content .video-hero .video-right-container .video-thumb-button i {
            position: absolute;
            font-size: 84px;
            color: rgba(0, 0, 0, 0.5);
            left: 50%;
            margin-left: -36px;
            margin-top: 80px;
            transition: 0.3s; }
          section .content.video-hero .video-right-container .video-thumb-button:hover i,
          section .content .video-hero .video-right-container .video-thumb-button:hover i {
            color: rgba(0, 0, 0, 0.6); }
    section .content.video-hero {
      padding: 100px 0 50px; }

@media (max-width: 900px) {
  .main-nav {
    padding: 0 20px; }
    .main-nav .main-nav-background {
      transform: skewY(0deg); }
  .main-nav dl {
    padding: 0 1rem; }
  .main-nav dl dd:nth-of-type(2) {
    text-align: right; }
  .main-nav ul {
    display: none; }
  .main-nav a.mobile-nav-btn {
    display: inline-block;
    color: rgba(255, 255, 255, 0.5);
    font-size: 1.875rem;
    line-height: 1; }
  .main-nav a.mobile-nav-btn:hover {
    color: white; }
  section {
    padding: 50px 30px 50px !important;
    transform: skewY(0deg); }
    section .content {
      transform: skewY(0deg); }
  section.footer:before {
    display: none; }
  .sign-up-form-demo {
    padding: 30px 0px; } }

header .content {
  margin: 0 auto;
  max-width: 1014px; }

@media only screen and (min-width: 768px) {
  article.signedout section.hero {
    padding-top: 77px; } }

.stores {
  margin-top: 40px; }
  .stores li {
    display: inline-block; }
    .stores li img {
      width: 160px; }

body.onboarding-centered section.header .hero {
  text-align: center; }

body.onboarding-centered section.header .sign-up-form form {
  margin: 0 auto;
  position: relative; }

body.onboarding-centered section.header .sign-up-form .buttons {
  text-align: left; }
  body.onboarding-centered section.header .sign-up-form .buttons .subtext {
    display: inline-block;
    margin-top: 15px;
    float: right;
    color: #999; }

body.onboarding-centered section.header .sign-up-form .buttons.centered {
  text-align: center; }

body.onboarding-centered section.header .sign-up-form .social-signin-container {
  margin-bottom: 26px; }
  body.onboarding-centered section.header .sign-up-form .social-signin-container li {
    width: 50%;
    display: inline-block; }
  body.onboarding-centered section.header .sign-up-form .social-signin-container li:first-child {
    padding-right: 10px; }
  body.onboarding-centered section.header .sign-up-form .social-signin-container li:nth-child(2) {
    padding-left: 10px; }
  body.onboarding-centered section.header .sign-up-form .social-signin-container .button {
    width: 100%;
    background: #efefef;
    position: relative; }
    body.onboarding-centered section.header .sign-up-form .social-signin-container .button:hover {
      background-color: #eaeaea; }
    body.onboarding-centered section.header .sign-up-form .social-signin-container .button img {
      display: inline-block;
      height: 32px;
      position: absolute;
      left: 40px;
      top: 7px; }
    body.onboarding-centered section.header .sign-up-form .social-signin-container .button span {
      margin-left: 40px; }

body.onboarding-centered section.header .sign-up-form .divider-or-container {
  position: relative;
  margin-bottom: 20px; }
  body.onboarding-centered section.header .sign-up-form .divider-or-container .line {
    height: 2px;
    background: #efefef;
    margin-bottom: -9px; }
  body.onboarding-centered section.header .sign-up-form .divider-or-container span {
    display: inline-block;
    font-weight: 400;
    background: #fff;
    padding: 0 10px;
    color: #aaa; }

iframe.oops {
  margin-top: 40px; }

section.page-header {
  text-align: center; }
  section.page-header h1 {
    margin: 60px 0 40px; }

section.header {
  overflow: visible; }
  section.header p {
    margin-bottom: 25px; }
  section.header .hero .logo {
    margin-bottom: 40px; }
  section.header .hero h1 {
    margin-bottom: 30px; }
  section.header .hero h3 {
    font-size: 24px;
    margin-bottom: 40px;
    color: #fff; }
  section.header .hero p {
    color: rgba(255, 255, 255, 0.7); }
  section.header .sign-up-form {
    position: relative; }
    section.header .sign-up-form form {
      width: 100%;
      background-color: #fff;
      border-radius: 10px;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
      color: #07688B;
      max-width: 504px;
      padding: 30px; }
      section.header .sign-up-form form .field {
        margin-bottom: 20px;
        position: relative; }
        section.header .sign-up-form form .field .hint {
          display: none;
          bottom: 15px;
          color: #148EB9;
          font-size: 16px;
          line-height: 18px;
          position: absolute;
          right: 20px;
          top: 16px;
          transition: .3s ease; }
        section.header .sign-up-form form .field .error {
          display: inline-block;
          margin-top: 8px;
          margin-left: 20px;
          color: #f98d7c; }
        section.header .sign-up-form form .field p {
          color: #4c555c; }
      section.header .sign-up-form form input {
        background-color: #F3F3F3;
        border: none;
        border-radius: 5px;
        font-size: 20px;
        line-height: 23px;
        height: 50px;
        padding: 0 20px;
        width: 100%; }
        section.header .sign-up-form form input:focus + .hint,
        section.header .sign-up-form form input.has-value + .hint {
          display: initial;
          top: 32px;
          font-size: 12px; }
      section.header .sign-up-form form .buttons {
        text-align: center;
        padding: 10px 0 5px 0; }
        section.header .sign-up-form form .buttons button {
          padding: 0 40px; }
        section.header .sign-up-form form .buttons .subtext {
          display: inline-block;
          margin-top: 15px; }

@media only screen and (max-width: 1200px) {
  section.header .sign-up-form form .field .hint {
    bottom: 2px;
    font-size: 12px; } }

@media only screen and (max-width: 1024px) {
  section.header .sign-up-form {
    padding-top: 20px; }
    section.header .sign-up-form .social-signin-container .button img {
      left: 14px !important;
      top: 8px !important; }
    section.header .sign-up-form form {
      padding: 15px;
      position: static; }
      section.header .sign-up-form form .divider-or-container {
        text-align: center; }
      section.header .sign-up-form form .field .hint {
        font-size: 12px;
        position: static;
        text-align: right; }
    section.header .sign-up-form .buttons button {
      padding: 0;
      width: 100%; } }

@keyframes thumbs-up {
  0% {
    transform: translate(0, 0); }
  25% {
    transform: translate(0, -40px); }
  50% {
    transform: translate(0, -30px); }
  75% {
    transform: translate(0, -35px); }
  100% {
    transform: translate(0, -30px); } }

@keyframes scale-bounce {
  0% {
    transform: scale(1); }
  25% {
    transform: scale(1.07); }
  50% {
    transform: scale(1.05); }
  75% {
    transform: scale(1.06); }
  100% {
    transform: scale(1.05); } }

section.faq .qa {
  color: #555;
  padding: 20px; }
  section.faq .qa h6 {
    font-size: 17px;
    line-height: 1.5;
    margin-bottom: 5px; }
  section.faq .qa p {
    font-size: 17px;
    color: #555;
    line-height: 1.5;
    margin-bottom: 20px;
    text-align: left; }
    section.faq .qa p:last-child {
      margin-bottom: 0; }

section.pricing-plans {
  padding: 74px 57px 36px 57px; }
  section.pricing-plans.v7 {
    margin-bottom: 40px; }
    section.pricing-plans.v7 .plan {
      padding: 20px 10px; }
      section.pricing-plans.v7 .plan.uno .plan-header em:before {
        content: '$'; }
      section.pricing-plans.v7 .plan.growth:before {
        top: 24px; }
    section.pricing-plans.v7 .plan-header div {
      margin-bottom: 10px; }
    section.pricing-plans.v7 .plan-header small {
      font-size: 16px !important;
      font-weight: 200; }
    section.pricing-plans.v7 .plan-header small.sub {
      display: block;
      font-size: 14px !important;
      margin-top: 5px;
      opacity: 0.7; }
    section.pricing-plans.v7 .get-started {
      margin-top: 10px;
      margin-bottom: 0 !important; }
      section.pricing-plans.v7 .get-started a {
        font-size: 20px;
        font-weight: 200; }
  section.pricing-plans.v7:hover .plan {
    background-color: #fafafa; }
    section.pricing-plans.v7:hover .plan:hover {
      transition: .3s;
      background-color: #fff; }
  section.pricing-plans .plan {
    animation-timing-function: ease-in;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0 20px;
    position: relative;
    transition: .1s ease-in;
    /*.animate
            position: relative
            &:before
                animation-timing-function: ease-in
                color: #777
                display: none
                left: 0
                position: absolute
                right: 0
                text-align: center
                top: 5px
                transition: .1s ease-in
                z-index: 0
            &.popular:before
                content: 'Popular 👍'
                display: block
            &.popular:hover:before
                animation: thumbs-up 1s
                transform: translate(0, -30px)*/ }
    section.pricing-plans .plan.uno .plan-header,
    section.pricing-plans .plan.uno .get-started a.button {
      background-color: #ff9f5a; }
    section.pricing-plans .plan.starter .plan-header,
    section.pricing-plans .plan.starter .get-started a.button {
      background-color: #148EB9; }
    section.pricing-plans .plan.growth .plan-header,
    section.pricing-plans .plan.growth .get-started a.button {
      background-color: #72D78F; }
    section.pricing-plans .plan.pro .plan-header,
    section.pricing-plans .plan.pro .get-started a.button {
      background-color: #886bb9; }
      section.pricing-plans .plan.pro .plan-header em,
      section.pricing-plans .plan.pro .get-started a.button em {
        font-size: 50px;
        font-weight: 200;
        line-height: 64px; }
        section.pricing-plans .plan.pro .plan-header em:before,
        section.pricing-plans .plan.pro .get-started a.button em:before {
          content: ''; }
    section.pricing-plans .plan:hover {
      animation: scale-bounce .5s;
      transform: scale(1.05); }
    section.pricing-plans .plan.growth:before {
      animation-timing-function: ease-in;
      color: #777;
      display: none;
      left: 0;
      position: absolute;
      right: 0;
      text-align: center;
      top: 5px;
      transition: .1s ease-in;
      z-index: 0; }
    section.pricing-plans .plan.growth:before {
      content: 'Most Popular 🏆';
      display: block;
      font-weight: 400; }
    section.pricing-plans .plan.growth:hover:before {
      animation: thumbs-up 1s;
      transform: translate(0, -30px); }
    section.pricing-plans .plan .plan-header {
      border-radius: 4px;
      color: #fff;
      height: 200px;
      margin-bottom: 20px;
      padding: 20px;
      position: relative;
      text-align: center;
      z-index: 1; }
      section.pricing-plans .plan .plan-header strong {
        display: inline-block;
        font-size: 24px;
        font-weight: 200;
        margin-bottom: 20px; }
      section.pricing-plans .plan .plan-header em {
        display: inline-block;
        font-size: 64px;
        font-weight: 200;
        position: relative; }
        section.pricing-plans .plan .plan-header em:before {
          content: '$';
          font-size: 16px;
          font-weight: 200;
          position: absolute;
          left: -12px;
          top: 7px; }
      section.pricing-plans .plan .plan-header small {
        font-size: 16px;
        font-weight: 200; }
    section.pricing-plans .plan .plan-details {
      color: #555;
      flex: 1;
      line-height: 21px;
      text-align: left; }
      section.pricing-plans .plan .plan-details .info {
        border-bottom: 1px solid #eee;
        padding: 10px 10px 20px 10px; }
        section.pricing-plans .plan .plan-details .info strong {
          display: block;
          font-weight: 400; }
      section.pricing-plans .plan .plan-details .features {
        font-size: 15px;
        padding: 10px; }
        section.pricing-plans .plan .plan-details .features ul li {
          padding: 10px 0 10px 10px;
          position: relative; }
          section.pricing-plans .plan .plan-details .features ul li:before {
            content: '·';
            position: absolute;
            left: 0; }
    section.pricing-plans .plan .get-started.embedded {
      margin-bottom: 40px; }
    section.pricing-plans .plan .get-started a.button {
      color: #fff;
      display: block;
      font-size: 18px;
      font-weight: 400;
      text-transform: initial;
      width: 100%; }

section.pricing-features-grid {
  padding-top: 0; }
  section.pricing-features-grid .table-grid {
    width: 100%;
    padding: 0 15px; }
    section.pricing-features-grid .table-grid .table-grid-header,
    section.pricing-features-grid .table-grid .table-grid-row {
      align-items: center;
      display: flex;
      width: 100%; }
      section.pricing-features-grid .table-grid .table-grid-header > div,
      section.pricing-features-grid .table-grid .table-grid-row > div {
        vertical-align: middle; }
        section.pricing-features-grid .table-grid .table-grid-header > div i,
        section.pricing-features-grid .table-grid .table-grid-row > div i {
          font-size: 18px; }
    section.pricing-features-grid .table-grid .table-grid-header {
      border-bottom: 1px solid #edeff0;
      padding-bottom: 40px; }
      section.pricing-features-grid .table-grid .table-grid-header h4 {
        margin-bottom: 0; }
    section.pricing-features-grid .table-grid .table-grid-row {
      border-bottom: 1px solid #edeff0;
      padding: 10px 0;
      transition: .3s; }
      section.pricing-features-grid .table-grid .table-grid-row:hover {
        background-color: #fafafa; }
      section.pricing-features-grid .table-grid .table-grid-row .column1 {
        color: #444;
        line-height: 21px; }
      section.pricing-features-grid .table-grid .table-grid-row strong {
        font-weight: 400; }
      section.pricing-features-grid .table-grid .table-grid-row p {
        font-size: 14px;
        display: none; }
    section.pricing-features-grid .table-grid .column1 {
      width: 50%; }
    section.pricing-features-grid .table-grid .column2,
    section.pricing-features-grid .table-grid .column3,
    section.pricing-features-grid .table-grid .column4,
    section.pricing-features-grid .table-grid .column5 {
      font-size: 25px;
      text-align: center;
      width: 15%; }
      section.pricing-features-grid .table-grid .column2 span,
      section.pricing-features-grid .table-grid .column3 span,
      section.pricing-features-grid .table-grid .column4 span,
      section.pricing-features-grid .table-grid .column5 span {
        display: none; }
    section.pricing-features-grid .table-grid .column2 {
      color: #ff9f5a; }
    section.pricing-features-grid .table-grid .column3 {
      color: #148EB9; }
    section.pricing-features-grid .table-grid .column4 {
      color: #72D78F; }
    section.pricing-features-grid .table-grid .column5 {
      color: #886bb9; }
  section.pricing-features-grid .content.subsection.centered {
    margin-top: 60px; }
    section.pricing-features-grid .content.subsection.centered p {
      color: #777;
      margin-bottom: 20px; }
      section.pricing-features-grid .content.subsection.centered p strong {
        font-weight: 400; }
    section.pricing-features-grid .content.subsection.centered button {
      line-height: 50px;
      width: 356px; }
      section.pricing-features-grid .content.subsection.centered button i {
        margin-left: 5px; }

@media (max-width: 767px) {
  section.pricing-features-grid .table-grid .table-grid-header .column1 {
    width: 100%; }
  section.pricing-features-grid .table-grid .table-grid-header .column2,
  section.pricing-features-grid .table-grid .table-grid-header .column3,
  section.pricing-features-grid .table-grid .table-grid-header .column4,
  section.pricing-features-grid .table-grid .table-grid-header .column5 {
    display: none; }
  section.pricing-features-grid .table-grid .table-grid-row {
    justify-content: space-between;
    flex-wrap: wrap; }
    section.pricing-features-grid .table-grid .table-grid-row .column1 {
      width: 100%; }
    section.pricing-features-grid .table-grid .table-grid-row .column2,
    section.pricing-features-grid .table-grid .table-grid-row .column3,
    section.pricing-features-grid .table-grid .table-grid-row .column4,
    section.pricing-features-grid .table-grid .table-grid-row .column5 {
      font-size: 16px;
      margin-top: 10px;
      text-align: left;
      width: 25%; }
      section.pricing-features-grid .table-grid .table-grid-row .column2 span,
      section.pricing-features-grid .table-grid .table-grid-row .column3 span,
      section.pricing-features-grid .table-grid .table-grid-row .column4 span,
      section.pricing-features-grid .table-grid .table-grid-row .column5 span {
        display: inline-block;
        margin-left: 5px; } }

section.promotions.companies img {
  height: 50px; }

section.promotions.companies img.personnel {
  width: 170px;
  height: initial;
  vertical-align: middle;
  margin-top: 17px; }

section.promotions.companies img.tmobile {
  height: 30px;
  margin-top: 10px; }

section.promotions.companies img.roland {
  width: 200px;
  height: initial;
  margin-top: 10px; }

section.promotions h4 {
  text-align: center; }

section.promotions .sites .indeed {
  width: 150px; }

section.promotions .sites .linkedin {
  width: 150px;
  margin-top: 4px; }

section.promotions .sites .glassdoor {
  width: 170px;
  margin-top: 4px; }

section.promotions .sites .monster {
  width: 156px;
  margin-top: 7px; }

section.promotions .sites .stackoverflow {
  width: 200px;
  margin-top: -10px; }

section.promotions .sites .simplyhired {
  width: 219px; }

section.promotions .sites.middle {
  margin-top: 30px;
  margin-bottom: 30px; }

@media only screen and (max-width: 1024px) {
  section.promotions .sites .site {
    margin-bottom: 20px; } }

section[class*='features-screenshot'].landingform .infolist {
  padding-right: 20px; }

section[class*='features-screenshot'].landingform h2 {
  margin-top: 20px; }

section[class*='features-screenshot'].landingform button {
  width: 100%; }

section[class*='features-screenshot'] h2 {
  margin-bottom: 30px; }

section[class*='features-screenshot'] h4 {
  margin-bottom: 36px; }

section[class*='features-screenshot'] p {
  margin-bottom: 25px;
  color: #555; }
  section[class*='features-screenshot'] p a {
    font-family: 'Nunito'; }

section[class*='features-screenshot'] .feature-card h2 {
  text-align: center; }

section[class*='features-screenshot'] .feature-card .feature-image img {
  position: relative;
  max-width: 100%; }

section[class*='features-screenshot'] .feature-image {
  position: relative; }
  section[class*='features-screenshot'] .feature-image img, section[class*='features-screenshot'] .feature-image video {
    position: absolute;
    top: 0; }

section[class*='features-screenshot'] .browser-cap img, section[class*='features-screenshot'] .browser-cap video {
  border-radius: 10px 10px 0 0;
  border-radius: 10px;
  box-shadow: 0 0 30px rgba(10, 15, 20, 0.5); }

section[class*='features-screenshot'] .browser-cap-full img, section[class*='features-screenshot'] .browser-cap-full video {
  border: 4px solid #eee;
  border-radius: 10px; }

section[class*='features-screenshot'] .bigger img, section[class*='features-screenshot'] .bigger video {
  max-height: 550px !important; }

section[class*='features-screenshot'] .laptop {
  margin-bottom: 100px; }

a[data-target].show:before {
  content: attr(name); }

section.pop-quotes .pop-quote {
  animation: 400ms pop-quotes-enter ease-out;
  animation-delay: 0s;
  animation-fill-mode: both;
  -webkit-animation-fill-mode: both;
  margin-bottom: 40px; }
  section.pop-quotes .pop-quote:last-child {
    margin-bottom: 0; }
  section.pop-quotes .pop-quote.pop-quote-1 {
    animation-delay: 0;
    -webkit-animation-delay: 0; }
  section.pop-quotes .pop-quote.pop-quote-2 {
    animation-delay: 300ms;
    -webkit-animation-delay: 300ms; }
  section.pop-quotes .pop-quote.pop-quote-3 {
    animation-delay: 600ms;
    -webkit-animation-delay: 600ms; }
  section.pop-quotes .pop-quote blockquote {
    background-color: #fff;
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 40px;
    position: relative; }
    section.pop-quotes .pop-quote blockquote p {
      font-size: 20px;
      color: #4c555c; }
    section.pop-quotes .pop-quote blockquote:after {
      border-style: solid;
      border-width: 0 25px 25px 0;
      border-color: transparent #fff transparent transparent;
      bottom: -20px;
      content: '';
      height: 0;
      left: 32px;
      position: absolute;
      width: 0; }
  section.pop-quotes .pop-quote .pop-quote-person {
    align-items: center;
    display: flex;
    padding-left: 20px; }
    section.pop-quotes .pop-quote .pop-quote-person .pop-quote-avatar {
      border-radius: 100%;
      border: 4px solid #fff;
      display: inline-block;
      height: 70px;
      margin-right: 20px;
      overflow: hidden;
      width: 70px; }
      section.pop-quotes .pop-quote .pop-quote-person .pop-quote-avatar img {
        height: 100%;
        width: 100%; }
    section.pop-quotes .pop-quote .pop-quote-person .pop-quote-info .pop-quote-name {
      font-size: 17px;
      line-height: 1.25;
      color: #fff; }

@keyframes pop-quotes-enter {
  0% {
    opacity: 0;
    transform: matrix(0.75, 0, 0, 0.75, 0, 0); }
  80% {
    transform: matrix(1.05, 0, 0, 1.05, 0, 0); }
  100% {
    opacity: 1;
    transform: matrix(1, 0, 0, 1, 0, 0); } }

@-webkit-keyframes pop-quotes-enter {
  0% {
    opacity: 0;
    -webkit-transform: matrix(0.75, 0, 0, 0.75, 0, 0); }
  80% {
    -webkit-transform: matrix(1.05, 0, 0, 1.05, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0); } }

body.landing-main section.features-grid.badges {
  padding-top: 0; }

section.features-grid.badges .feature-box {
  margin-right: 0 !important;
  margin-bottom: 0 !important; }

section.features-grid.badges .badge img {
  width: 100%; }

section.features-grid .features-grid-header {
  margin-bottom: 60px; }
  section.features-grid .features-grid-header p {
    font-size: 20px;
    margin-top: 10px; }
  section.features-grid .features-grid-header h1 {
    margin-bottom: 20px;
    line-height: 1.2;
    color: #148EB9; }

section.features-grid .feature-box {
  margin-right: 30px;
  margin-bottom: 40px; }
  section.features-grid .feature-box .icon {
    margin-bottom: 20px;
    color: #555;
    font-size: 50px; }
  section.features-grid .feature-box h5 {
    font-size: 21px;
    font-weight: 500;
    margin-bottom: 20px;
    line-height: 1.2;
    color: #148EB9; }

section .feature-image.hello img {
  max-height: 500px !important;
  top: 20px; }

section .feature-image.scorecards img {
  max-height: 500px !important;
  top: -60px; }

section .feature-image.interview-guides img {
  max-height: 550px !important;
  top: -60px; }

section .feature-image.background-checks img {
  max-height: 500px !important;
  top: -40px;
  right: 0; }

section .feature-image.docsigning img {
  max-height: 500px !important;
  top: -10px;
  right: 0; }

section .feature-image.tasks img {
  max-height: 420px;
  top: 10px; }

section .feature-image.mobile img {
  max-height: 500px !important;
  top: -20px; }

section .feature-image.eeo img {
  top: -50px; }

section .feature-image.employee-referrals img {
  max-height: 500px !important;
  top: -30px; }

section .feature-image.team-conversation img {
  max-height: 400px !important; }

section .feature-image.candidate-profile img {
  max-height: 500px !important;
  top: -40px; }

section .feature-image.sourcing img {
  max-height: 500px !important;
  top: -40px;
  right: 0 !important; }

section.features-screenshot-left .feature-image img {
  right: 40px;
  max-height: 500px; }

section.features-screenshot-left.sourcing .feature-image img {
  right: -15px; }

section.features-screenshot-left .feature-image video {
  background: #fff; }

section.features-screenshot-left .feature-image.dragdrop {
  height: 100%; }
  section.features-screenshot-left .feature-image.dragdrop video {
    min-width: 100%;
    width: 698px;
    height: auto;
    right: 40px; }

section.features-screenshot-left .feature-image.dragdrop-feature video {
  height: 450px;
  width: auto;
  right: 40px; }

.signedout section.features-screenshot-right .feature-image img {
  max-height: 600px; }

.features-page section.features-screenshot-left .feature-image.video img {
  max-height: 400px; }

.features-page section.features-screenshot-left .feature-image img {
  max-height: 430px; }

.features-page section.features-screenshot-left .feature-image.docsigning img {
  max-height: 500px; }

.features-page section.features-screenshot-right .feature-image img {
  max-height: 440px; }

.features-page section.features-screenshot-right .feature-image.docsigning img {
  max-height: 500px; }

section.features-screenshot-right .feature-image img {
  left: 20px;
  max-height: 500px; }

section.features-screenshot-right .feature-image.video img {
  max-width: 500px;
  left: 40px;
  top: -20px; }

section.features-screenshot-right .feature-image video {
  background: #fff; }

section.features-screenshot-right .feature-image.dragdrop video {
  height: 500px;
  width: 698px;
  left: -150px; }

section.features-screenshot-right .feature-image.emailconversation video {
  height: 500px;
  width: 780px;
  top: 30px;
  left: 30px; }

section.features-screenshot-right.tall {
  height: 750px;
  padding-top: 200px; }

@media only screen and (max-width: 1024px) {
  section[class*='features-screenshot'] {
    padding-bottom: 0; }
    section[class*='features-screenshot'] .feature-image img,
    section[class*='features-screenshot'] .feature-image video {
      position: static;
      max-width: 100%;
      width: 100%;
      margin-bottom: 20px; }
    section[class*='features-screenshot'] .feature-image.emailconversation video,
    section[class*='features-screenshot'] .feature-image.dragdrop-feature video {
      height: 100%;
      width: 100%; }
    section[class*='features-screenshot'] p {
      color: #666; } }

section[class*='banner-'] p {
  font-size: 28px;
  line-height: 1.3; }

section.banner-free-trial button, section.banner-free-trial .button,
section.banner-btn-right button,
section.banner-btn-right .button {
  padding: 0 60px; }
  section.banner-free-trial button i, section.banner-free-trial .button i,
  section.banner-btn-right button i,
  section.banner-btn-right .button i {
    margin-left: 20px; }

@media only screen and (max-width: 1024px) {
  section.banner-free-trial p,
  section.banner-btn-right p {
    margin-bottom: 20px; }
  section.banner-free-trial button, section.banner-free-trial .button,
  section.banner-btn-right button,
  section.banner-btn-right .button {
    padding: 0;
    width: 100%; } }

section.testimonals {
  background: #DFDFD5;
  padding: 6em 0;
  box-sizing: border-box;
  *zoom: 1;
  z-index: -1; }
  section.testimonals:before {
    content: "";
    display: table; }
  section.testimonals:after {
    content: "";
    display: table;
    clear: both; }
  section.testimonals h2, section.testimonals p {
    font-size: 20px;
    font-weight: 300;
    line-height: 31px;
    color: #9B9B9B;
    text-align: center;
    clear: both; }
  section.testimonals h2 {
    font-size: 36px;
    margin: 0 0 30px 0;
    color: #4A4A4A; }
  section.testimonals p a {
    font-weight: 400;
    color: #5AC0E5; }
  section.testimonals ul {
    padding: 4em 1.5em;
    box-sizing: border-box;
    text-align: center;
    background: white;
    border-radius: 6px;
    border-bottom: 4px solid rgba(0, 0, 0, 0.2);
    display: inline;
    float: left;
    width: 31.25%;
    height: 375px;
    margin: 0 1.04167%;
    margin-bottom: 30px; }
    section.testimonals ul li {
      font-size: 14px;
      font-weight: 300;
      line-height: 22px;
      color: #9B9B9B; }
      section.testimonals ul li img {
        border-radius: 50%;
        height: 96px;
        margin-bottom: 20px; }
      section.testimonals ul li a {
        color: #5AC0E5;
        margin-bottom: 20px;
        display: block; }
        section.testimonals ul li a:hover {
          color: #208FB7; }
      section.testimonals ul li span {
        font-size: 24px;
        font-weight: 300;
        color: #4A4A4A;
        margin-bottom: 8px;
        display: block; }

@media (max-width: 960px) {
  section.testimonals {
    padding: 6em 1em; }
    section.testimonals ul {
      display: inline;
      float: left;
      width: 97.91667%;
      margin: 0 1.04167%;
      margin-bottom: 30px; }
  .main-hero {
    height: 40rem; }
    .main-hero h1 {
      font-size: 2.5rem; } }

section.cta-banner {
  border-bottom: 0.0625rem solid #696969;
  padding: 6.25rem 0;
  background: #4A4A4A;
  text-align: center;
  color: white; }
  section.cta-banner h2 {
    color: #fff;
    margin: 0 0 1.0rem 0; }
  section.cta-banner p {
    font-size: 20px;
    font-weight: 300;
    line-height: 31px;
    color: #9B9B9B;
    margin: 1rem 0; }
  section.cta-banner a.transparent {
    color: white; }
    section.cta-banner a.transparent:hover {
      color: #4A4A4A; }
  section.cta-banner a.button.transparent {
    background-color: #76D691;
    font-size: 20px;
    height: 50px;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 4px;
    line-height: 1;
    border: 0;
    color: white;
    display: inline-block;
    font-family: nimbus-sans,Helvetica Neue,Helvetica,Arial,sans-serif;
    padding: 1rem 2.438rem;
    text-decoration: none;
    outline: none;
    appearance: none;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
    transition: all 0.3s ease-out;
    color: #fff;
    font-weight: 400;
    background-color: transparent;
    background: rgba(255, 255, 255, 0.2);
    height: 50px;
    line-height: 1; }
    section.cta-banner a.button.transparent:hover {
      color: #4A4A4A;
      background-color: #DFDFD5;
      border-color: #DFDFD5;
      box-shadow: inset 0px 3px 15px -2px rgba(0, 0, 0, 0.1); }

section.centered-content.signup-cta {
  padding: 100px 57px; }
  section.centered-content.signup-cta h4, section.centered-content.signup-cta h1 {
    color: #fff;
    margin-bottom: 30px; }
  section.centered-content.signup-cta form button {
    color: #5ec27a;
    transition: .3s;
    cursor: pointer; }
  section.centered-content.signup-cta form button:hover {
    background: rgba(255, 255, 255, 0.8); }
  section.centered-content.signup-cta form p {
    margin-bottom: 0;
    color: #fff;
    margin-top: 20px; }

section.centered-content {
  padding: 100px 57px;
  text-align: center; }
  section.centered-content .logo {
    margin-bottom: 60px; }
  section.centered-content h1 {
    margin-bottom: 30px; }
  section.centered-content p {
    margin-bottom: 62px; }
  section.centered-content button:hover {
    background: rgba(255, 255, 255, 0.8); }
  section.centered-content button, section.centered-content .button {
    padding: 10px 60px;
    height: initial;
    transition: .3s; }
    section.centered-content button i, section.centered-content .button i {
      margin-left: 20px; }

section.centered-content.smaller {
  padding: 68px 57px; }
  section.centered-content.smaller p {
    margin-bottom: 40px; }

@media only screen and (max-width: 1024px) {
  section.centered-content button {
    padding: 0;
    width: 100%; } }

section.features-bullet-list h2 {
  margin-bottom: 66px; }

section.features-bullet-list .feature {
  padding-left: 66px;
  position: relative;
  text-align: left; }
  section.features-bullet-list .feature i.fa {
    font-size: 36px;
    left: 0;
    position: absolute;
    top: 0; }
  section.features-bullet-list .feature h4 {
    margin-bottom: 28px; }
  section.features-bullet-list .feature p {
    color: #555;
    margin-bottom: 30px; }
    section.features-bullet-list .feature p a {
      font-family: 'Nunito'; }
  section.features-bullet-list .feature:nth-child(1) i.fa {
    color: #148EB9; }
  section.features-bullet-list .feature:nth-child(2) i.fa {
    color: #72D78F; }
  section.features-bullet-list .feature:nth-child(3) i.fa {
    color: #55BFE7; }
  section.features-bullet-list .feature:nth-child(4) i.fa {
    color: #E7BC3B; }
  section.features-bullet-list .feature:nth-child(5) i.fa {
    color: #07688B; }
  section.features-bullet-list .feature:nth-child(6) i.fa {
    color: #043B4E; }

.avatar img {
  border: 6px solid #fff;
  border-radius: 50%;
  height: 104px;
  width: 104px; }

section.quote .avatar {
  margin-bottom: 65px; }
  section.quote .avatar img {
    border: 6px solid #fff;
    border-radius: 50%;
    height: 104px;
    width: 104px; }

section.quote blockquote {
  font-size: 36px;
  line-height: 1.3;
  margin-bottom: 60px;
  position: relative; }
  section.quote blockquote:before, section.quote blockquote:after {
    color: rgba(255, 255, 255, 0.2);
    font-family: FontAwesome;
    font-size: 50px;
    position: absolute;
    top: 10px; }
  section.quote blockquote:before {
    content: "\f10d";
    left: -100px; }
  section.quote blockquote:after {
    content: "\f10e";
    right: -100px; }

section.quote .customer {
  font-size: 24px;
  line-height: 1.3;
  text-transform: uppercase; }
  section.quote .customer .no-transform {
    text-transform: none; }

section.footer {
  padding: 50px 57px 50px;
  transform: skewY(0deg);
  background: #4A4A4A;
  color: #bababa;
  overflow: visible;
  position: relative;
  margin-top: 0; }
  section.footer .content {
    transform: skewY(0deg);
    padding: 0; }
  section.footer:before {
    background: #4A4A4A;
    transform-origin: 0;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    height: 200px;
    width: 100%; }
  section.footer .footer-wrapper {
    max-width: 1014px;
    margin: auto; }
    section.footer .footer-wrapper a.link {
      font-size: 14px;
      white-space: nowrap;
      color: #bababa;
      white-space: nowrap;
      cursor: pointer; }
    section.footer .footer-wrapper ul.footer-sub-list li {
      display: inline-block;
      margin-right: 10px;
      margin-top: 10px;
      font-size: 13px;
      white-space: nowrap;
      color: #b1b1b1; }
    section.footer .footer-wrapper .footer-list-container .footer-list-section {
      float: right;
      margin-left: 40px; }
      section.footer .footer-wrapper .footer-list-container .footer-list-section h2 {
        color: #fff;
        font-size: 18px;
        text-transform: uppercase;
        white-space: nowrap; }
      section.footer .footer-wrapper .footer-list-container .footer-list-section .footer-list-item {
        line-height: 2; }

section.footer.breezy-blue {
  background-color: #07688B; }
  section.footer.breezy-blue a.link {
    color: #FFF; }

@media only screen and (max-width: 1024px) {
  body.onboarding .hero ul {
    display: none; }
  body.onboarding section.footer {
    display: none; }
  body.onboarding-centered section.footer {
    display: none; }
  body.onboarding-centered .buttons .subtext {
    display: none !important; }
  section.footer .row .row {
    flex-direction: column; }
  section.footer .footer-wrapper .col-xs-12.col-md-4 {
    text-align: center;
    margin-bottom: 20px; }
  section.footer .footer-wrapper .footer-list-container {
    text-align: center; }
    section.footer .footer-wrapper .footer-list-container .footer-list-section {
      display: inline-block;
      width: 50%;
      vertical-align: top;
      margin-bottom: 10px;
      margin-left: 0 !important;
      float: none; } }

.box-rounded {
  background-color: #fff;
  border-radius: 10px;
  padding: 20px; }

section.customers {
  overflow: visible;
  position: relative; }
  section.customers:before {
    background: #F9F9F9;
    transform-origin: 0;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    height: 200px;
    width: 100%;
    transform: skewY(-4deg);
    z-index: -1; }
  section.customers .button {
    padding: 0 20px; }
  section.customers h1 {
    color: #148EB9;
    margin-bottom: 30px;
    text-align: center; }
  section.customers .customer-preview-main {
    margin-bottom: 80px; }
  section.customers .blurb {
    padding: 10px;
    margin-right: 50px; }
    section.customers .blurb h2 {
      font-size: 32px;
      text-transform: uppercase;
      margin-bottom: 30px; }
    section.customers .blurb p {
      margin-bottom: 30px;
      color: #666; }
      section.customers .blurb p:last-child {
        margin-bottom: none; }
  section.customers .hero-image img {
    max-width: 100%; }
  section.customers .customer-preview-secondary .logo {
    height: 60px;
    margin-bottom: 50px; }
    section.customers .customer-preview-secondary .logo img {
      max-height: 100%; }
  section.customers .customer-preview-secondary h3 {
    color: #148EB9;
    font-size: 28px;
    text-transform: uppercase;
    margin-bottom: 30px; }
  section.customers .customer-preview-secondary p {
    display: inline-block;
    margin-bottom: 30px;
    max-width: 390px;
    font-size: 16px;
    color: #666;
    height: 150px; }
  section.customers .customer-preview-secondary .box-rounded {
    padding: 60px 20px 30px;
    max-width: 545px;
    text-align: center;
    margin-bottom: 20px; }

section.page-header .customer {
  padding-top: 60px; }
  section.page-header .customer .avatar {
    margin-bottom: 30px; }
    section.page-header .customer .avatar img {
      border: 6px solid #fff;
      border-radius: 50%;
      height: 72px;
      width: 72px; }
  section.page-header .customer blockquote {
    font-size: 40px;
    line-height: 1.3;
    margin-bottom: 30px;
    position: relative; }
    section.page-header .customer blockquote:before, section.page-header .customer blockquote:after {
      color: rgba(255, 255, 255, 0.5);
      font-family: FontAwesome;
      font-size: 100px;
      position: absolute;
      top: 20px; }
    section.page-header .customer blockquote:before {
      content: "\f10d";
      left: -150px; }
    section.page-header .customer blockquote:after {
      content: "\f10e";
      right: -150px; }
  section.page-header .customer h5, section.page-header .customer h6 {
    font-size: 24px;
    line-height: 1.3;
    opacity: 0.8; }
  section.page-header .customer h5 {
    font-weight: 500;
    text-transform: uppercase; }

section.features h3 {
  color: #999;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.3;
  text-align: left;
  margin-bottom: 10px; }
  section.features h3.break {
    margin-bottom: 30px; }

section.features .customer-header,
section.customer-story .customer-header {
  margin-bottom: 40px; }
  section.features .customer-header h1,
  section.customer-story .customer-header h1 {
    color: #043B4E; }
  section.features .customer-header h3,
  section.customer-story .customer-header h3 {
    color: #148EB9;
    font-size: 26px;
    line-height: 1.3;
    text-transform: uppercase; }

section.features h2,
section.customer-story h2 {
  color: #444;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.3;
  text-align: left;
  margin-bottom: 30px; }

section.features p,
section.customer-story p {
  font-size: 17px;
  color: #555;
  line-height: 1.5;
  margin-bottom: 30px;
  text-align: left; }

section.features em,
section.customer-story em {
  font-style: italic; }

section.features .company-logo,
section.customer-story .company-logo {
  float: left;
  margin-right: 30px; }

section.features .screenshot,
section.features .quote,
section.customer-story .screenshot,
section.customer-story .quote {
  border-radius: 10px;
  color: #fff;
  padding: 20px;
  position: relative;
  margin-bottom: 30px;
  width: 40%; }
  section.features .screenshot.right,
  section.features .quote.right,
  section.customer-story .screenshot.right,
  section.customer-story .quote.right {
    float: right;
    margin-right: -10%;
    margin-left: 40px;
    padding-right: 50px; }
    section.features .screenshot.right .avatar,
    section.features .quote.right .avatar,
    section.customer-story .screenshot.right .avatar,
    section.customer-story .quote.right .avatar {
      left: auto;
      right: -36px; }
  section.features .screenshot.left,
  section.features .quote.left,
  section.customer-story .screenshot.left,
  section.customer-story .quote.left {
    float: left;
    margin-right: 40px;
    margin-left: -10%;
    padding-left: 50px; }
  section.features .screenshot.soft-blue,
  section.features .quote.soft-blue,
  section.customer-story .screenshot.soft-blue,
  section.customer-story .quote.soft-blue {
    background-color: #55BFE7; }
  section.features .screenshot.purple,
  section.features .quote.purple,
  section.customer-story .screenshot.purple,
  section.customer-story .quote.purple {
    background-color: #7F83D8; }
  section.features .screenshot.green,
  section.features .quote.green,
  section.customer-story .screenshot.green,
  section.customer-story .quote.green {
    background-color: #72D78F; }
  section.features .screenshot.blue,
  section.features .quote.blue,
  section.customer-story .screenshot.blue,
  section.customer-story .quote.blue {
    background-color: #148EB9; }
  section.features .screenshot p,
  section.features .quote p,
  section.customer-story .screenshot p,
  section.customer-story .quote p {
    color: #fff; }
  section.features .screenshot .avatar,
  section.features .quote .avatar,
  section.customer-story .screenshot .avatar,
  section.customer-story .quote .avatar {
    left: -36px;
    margin-top: -36px;
    position: absolute;
    top: 50%; }
    section.features .screenshot .avatar img,
    section.features .quote .avatar img,
    section.customer-story .screenshot .avatar img,
    section.customer-story .quote .avatar img {
      border: 6px solid #fff;
      border-radius: 50%;
      height: 72px;
      width: 72px; }
  section.features .screenshot p,
  section.features .quote p,
  section.customer-story .screenshot p,
  section.customer-story .quote p {
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 0; }

section.features ul,
section.customer-story ul {
  margin-bottom: 30px; }
  section.features ul li,
  section.customer-story ul li {
    font-size: 17px;
    color: #555;
    line-height: 1.5;
    list-style: disc;
    list-style-position: inside;
    padding-left: -10px;
    text-align: left; }

section.features .screenshot,
section.customer-story .screenshot {
  max-width: 65%;
  width: auto; }
  section.features .screenshot.right,
  section.customer-story .screenshot.right {
    margin-right: -20%; }
  section.features .screenshot.left,
  section.customer-story .screenshot.left {
    margin-left: -20%; }
  section.features .screenshot.right, section.features .screenshot.left,
  section.customer-story .screenshot.right,
  section.customer-story .screenshot.left {
    padding: 5px; }
  section.features .screenshot img,
  section.customer-story .screenshot img {
    border-radius: 8px;
    vertical-align: top;
    width: 100%; }

section.features .stats,
section.customer-story .stats {
  text-align: center; }
  section.features .stats .stat,
  section.customer-story .stats .stat {
    background-color: #F9F9F9;
    border-radius: 10px;
    display: inline-block;
    padding: 30px;
    max-width: 300px;
    margin-bottom: 30px; }
    section.features .stats .stat span,
    section.customer-story .stats .stat span {
      font-size: 44px; }
      section.features .stats .stat span.orange,
      section.customer-story .stats .stat span.orange {
        color: #F6BB42; }
      section.features .stats .stat span.green,
      section.customer-story .stats .stat span.green {
        color: #72D78F; }
      section.features .stats .stat span.blue,
      section.customer-story .stats .stat span.blue {
        color: #07688B; }
    section.features .stats .stat label,
    section.customer-story .stats .stat label {
      color: #043B4E;
      display: block;
      font-size: 26px;
      margin-top: 20px;
      text-transform: uppercase; }

@media (max-width: 725px) {
  section.customer-story .screenshot.left,
  section.customer-story .screenshot.right,
  section.customer-story .quote.left,
  section.customer-story .quote.right {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-left: 0; } }

body.protips {
  min-height: 100%;
  width: 100%; }
  body.protips.open-quotes {
    overflow: hidden;
    padding-top: 70px; }
    body.protips.open-quotes header.header {
      background-color: #148EB9;
      position: fixed;
      top: 0; }
    body.protips.open-quotes footer.other-footer {
      animation: move-up 1000ms;
      bottom: 0;
      left: 0;
      position: fixed;
      width: 100%;
      z-index: 10000; }
      body.protips.open-quotes footer.other-footer section.upsell {
        display: block; }
  body.protips button {
    border-radius: 25px; }
  body.protips header.header {
    background-color: #107ba2;
    height: 70px;
    padding: 15px 0;
    top: -70px;
    transition: all ease 1000ms;
    width: 100%;
    z-index: 1000; }
    body.protips header.header .content {
      padding: 0 50px; }
      body.protips header.header .content .share {
        color: #fff;
        font-size: 22px;
        text-align: right; }
        body.protips header.header .content .share > * {
          vertical-align: middle; }
        body.protips header.header .content .share span {
          text-transform: uppercase; }
        body.protips header.header .content .share a {
          color: inherit;
          display: inline-block;
          margin-left: 30px;
          transition: all ease 100ms; }
          body.protips header.header .content .share a:hover {
            transform: scale3d(1.1, 1.1, 1.1); }
        body.protips header.header .content .share i.fa {
          font-size: 35px; }
  body.protips section.protips-header {
    background-color: #178eb9;
    padding: 40px 0 60px; }
    body.protips section.protips-header .content {
      padding: 0 100px; }
    body.protips section.protips-header h6 {
      color: #55bfe7;
      font-size: 20px;
      margin-bottom: 35px;
      text-transform: uppercase; }
    body.protips section.protips-header h1 {
      color: #fff;
      line-height: 1.3;
      margin-bottom: 35px; }
    body.protips section.protips-header h5 {
      color: #73d88f;
      font-size: 26px;
      margin-bottom: 30px; }
    body.protips section.protips-header p {
      color: #fff;
      margin-bottom: 50px; }
    body.protips section.protips-header button {
      border-radius: 25px;
      font-size: 18px;
      width: 260px; }
  body.protips section.peeps {
    padding: 40px 0; }
    body.protips section.peeps .content {
      padding: 0 135px; }
    body.protips section.peeps button {
      width: 357px; }
  body.protips section.footer {
    padding: 20px 50px; }
  body.protips section.centered-content button {
    width: 357px; }
  body.protips section.upsell {
    display: none;
    padding: 30px 50px; }
    body.protips section.upsell .align-right {
      text-align: right; }
    body.protips section.upsell p {
      font-size: 28px;
      line-height: 1.3; }
    body.protips section.upsell button {
      border-radius: 25px;
      font-size: 20px;
      width: 356px; }
  body.protips section h2 {
    margin-bottom: 40px;
    text-align: center; }
  body.protips .box-person {
    border-radius: 10px;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
    display: inline-block;
    height: 384px;
    margin: 0 auto 80px;
    max-width: 282px;
    min-width: 282px;
    overflow: hidden;
    text-align: center; }
    body.protips .box-person header {
      left: 0;
      height: 100px;
      margin-bottom: 54px;
      padding-top: 24px; }
    body.protips .box-person .avatar {
      border-radius: 100%;
      box-sizing: content-box;
      border: 5px solid #fff;
      display: inline-block;
      height: 100px;
      width: 100px; }
    body.protips .box-person .name, body.protips .box-person .title {
      height: 56px;
      margin-bottom: 24px;
      max-height: 56px; }
    body.protips .box-person h4 {
      color: #053b4e; }
    body.protips .box-person h5 {
      color: #969797;
      font-size: 24px;
      line-height: 1.3; }
    body.protips .box-person footer {
      bottom: -100px;
      transition: bottom ease 1s;
      padding-bottom: 24px; }
      body.protips .box-person footer button {
        border-radius: 25px;
        font-size: 18px;
        max-width: 167px;
        width: 167px; }
  body.protips .quotees {
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999; }
    body.protips .quotees .backgrounds {
      height: 100%;
      max-height: 100%;
      position: relative;
      width: 100%; }
      body.protips .quotees .backgrounds .bg {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%; }
        body.protips .quotees .backgrounds .bg.bg-image {
          background-size: cover;
          background-position: center;
          transition: all ease 200ms;
          transform: translate(100%, 0);
          z-index: 1; }
          body.protips .quotees .backgrounds .bg.bg-image.bg-image-1 {
            background-image: url(../images/protips/bg1.jpg); }
          body.protips .quotees .backgrounds .bg.bg-image.bg-image-2 {
            background-image: url(../images/protips/bg1.jpg); }
          body.protips .quotees .backgrounds .bg.bg-image.active {
            transform: translate(0, 0); }
        body.protips .quotees .backgrounds .bg.bg-color {
          background-image: url(../images/protips/comment.png);
          background-color: rgba(7, 104, 139, 0.75);
          background-repeat: no-repeat;
          background-position: 85% 30%;
          padding: 70px 0 238px;
          overflow: auto;
          position: relative;
          z-index: 2; }
          body.protips .quotees .backgrounds .bg.bg-color .close {
            font-size: 42px;
            float: none;
            opacity: .9;
            position: absolute;
            right: 50px;
            top: 95px;
            z-index: 11000; }
            body.protips .quotees .backgrounds .bg.bg-color .close:hover {
              opacity: 1; }
            body.protips .quotees .backgrounds .bg.bg-color .close i.fa {
              color: #fff; }
          body.protips .quotees .backgrounds .bg.bg-color .action {
            position: absolute;
            top: 250px; }
            body.protips .quotees .backgrounds .bg.bg-color .action.action-left {
              left: 40px; }
            body.protips .quotees .backgrounds .bg.bg-color .action.action-right {
              right: 40px; }
            body.protips .quotees .backgrounds .bg.bg-color .action i.fa {
              font-size: 42px; }
            body.protips .quotees .backgrounds .bg.bg-color .action button {
              border-radius: 100%;
              line-height: 1.3;
              height: 62px;
              padding: 10px;
              text-align: center;
              width: 62px; }
              body.protips .quotees .backgrounds .bg.bg-color .action button.blue {
                color: rgba(255, 255, 255, 0.4); }
                body.protips .quotees .backgrounds .bg.bg-color .action button.blue:hover {
                  background-color: #148EB9; }
              body.protips .quotees .backgrounds .bg.bg-color .action button.green:hover {
                background-color: #72D78F; }
    body.protips .quotees .quote {
      color: #fff;
      padding: 40px; }
      body.protips .quotees .quote h6 {
        color: #55bfe7;
        font-size: 20px;
        margin-bottom: 35px;
        text-transform: uppercase; }
      body.protips .quotees .quote .box-quote {
        position: absolute; }
        body.protips .quotees .quote .box-quote i.fa-quote-right {
          font-size: 80px;
          position: absolute;
          left: -100px; }
        body.protips .quotees .quote .box-quote blockquote {
          font-size: 44px;
          line-height: 48px;
          margin-bottom: 35px; }
        body.protips .quotees .quote .box-quote footer .row {
          flex-wrap: nowrap; }
        body.protips .quotees .quote .box-quote footer .wrap {
          display: inline-block;
          vertical-align: middle; }
          body.protips .quotees .quote .box-quote footer .wrap img.avatar {
            border: 6px solid #fff;
            border-radius: 100%;
            box-sizing: content-box;
            height: 60px;
            margin-bottom: 0;
            margin-right: 20px;
            width: 60px; }
        body.protips .quotees .quote .box-quote footer .info {
          display: inline-block;
          line-height: 30px;
          vertical-align: middle; }
          body.protips .quotees .quote .box-quote footer .info h4, body.protips .quotees .quote .box-quote footer .info h5 {
            font-size: 22px;
            margin: 0; }
          body.protips .quotees .quote .box-quote footer .info h4 {
            color: #fff; }
          body.protips .quotees .quote .box-quote footer .info h5 {
            color: #72D78F; }
      body.protips .quotees .quote .actions {
        padding-top: 60px; }
        body.protips .quotees .quote .actions button {
          width: 121px; }
          body.protips .quotees .quote .actions button + button {
            margin-left: 20px; }

section.features .main-hero {
  background-color: #148EB9;
  background-image: linear-gradient(-49deg, #066789 0%, #2ED1E7 84%);
  color: #fff;
  text-align: center; }
  section.features .main-hero article {
    padding: 3.125rem 0 5rem; }
    section.features .main-hero article h1 {
      padding-top: 3.125rem; }
    section.features .main-hero article p {
      margin-top: 1.875rem; }

nav.features-nav {
  background-color: #148EB9;
  color: #fff;
  position: absolute;
  top: 75px;
  left: 0;
  transform: skewY(4deg);
  transform-origin: 0;
  width: 100%;
  z-index: 1; }
  nav.features-nav .contentCandiate {
    padding-top: 20px;
    width: 1024px;
    margin: 0 auto; }
  nav.features-nav .content {
    margin: 0 auto;
    max-width: 1014px; }
  nav.features-nav button.current-feature {
    background: transparent;
    border: 2px solid #fff;
    color: #fff;
    display: none;
    line-height: 0;
    max-width: 400px;
    margin: 0 auto;
    padding: 5px;
    width: 100%;
    position: relative; }
    nav.features-nav button.current-feature i.fa {
      position: absolute;
      right: 10px;
      top: 13px;
      transition: all 300ms ease; }
    nav.features-nav button.current-feature.open i.fa {
      transform: rotate(180deg); }
  nav.features-nav.fixed {
    left: 0;
    position: fixed;
    top: 78px;
    width: 100%;
    z-index: 100; }
    nav.features-nav.fixed + section.details {
      margin-top: 70px; }
  nav.features-nav .features-link-container {
    display: flex;
    align-items: center;
    white-space: nowrap; }
    nav.features-nav .features-link-container li.features-link {
      flex: 1;
      padding: 10px 20px;
      text-align: center;
      display: inline-block; }
      nav.features-nav .features-link-container li.features-link.selected {
        background-color: #72D78F;
        border-top-right-radius: 4px;
        border-top-left-radius: 4px; }
        nav.features-nav .features-link-container li.features-link.selected a {
          color: white;
          font-weight: 400; }
      nav.features-nav .features-link-container li.features-link a {
        font-weight: 400; }
        nav.features-nav .features-link-container li.features-link a:hover {
          color: white; }
  nav.features-nav .bzy-dropdown-open {
    line-height: 56px;
    white-space: nowrap; }
  nav.features-nav .bzy-dropdown-open span,
  nav.features-nav a {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
    text-transform: uppercase;
    line-height: 1.3; }
    nav.features-nav .bzy-dropdown-open span.active,
    nav.features-nav a.active {
      color: #07688B; }
      nav.features-nav .bzy-dropdown-open span.active:after,
      nav.features-nav a.active:after {
        background-color: #07688B;
        content: '';
        height: 5px;
        left: 0;
        position: absolute;
        top: 45px;
        width: 100%; }

section.hero.features-hero {
  background-color: #72D78F !important;
  padding-bottom: 0; }
  section.hero.features-hero .content {
    margin: 0 auto 150px;
    padding: 0;
    padding-top: 130px; }
    section.hero.features-hero .content h1 {
      margin-top: 100px; }
  section.hero.features-hero p {
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 1rem; }
  section.hero.features-hero p.main {
    font-size: 18px;
    line-height: 1.5;
    margin: 0 auto;
    max-width: 840px;
    font-weight: 200;
    margin-top: 30px;
    margin-bottom: 30px; }

.sticky-banner {
  bottom: 20px;
  display: none;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  left: 0;
  opacity: 0;
  margin: 0 auto;
  position: fixed;
  right: 0;
  width: 800px; }
  .sticky-banner.fadeInUp {
    animation: fadeInUp 300ms linear;
    animation-delay: 4000ms;
    animation-fill-mode: both;
    -webkit-animation-fill-mode: both; }
  .sticky-banner.fadeOutDown {
    animation: fadeOutDown 300ms linear;
    animation-fill-mode: both;
    -webkit-animation-fill-mode: both; }
  .sticky-banner .sticky-banner-close {
    color: #fff;
    cursor: pointer;
    opacity: .7;
    padding: 10px;
    position: absolute;
    right: 0;
    top: 0;
    transition: 300ms; }
    .sticky-banner .sticky-banner-close:hover {
      opacity: 1; }
  .sticky-banner a {
    align-items: center;
    color: #fff;
    display: flex;
    padding: 20px; }
    .sticky-banner a .intro {
      padding-right: 30px; }
    .sticky-banner a h2 {
      font-family: 'Nunito';
      font-size: 30px;
      font-weight: 500;
      color: #fff;
      white-space: nowrap; }
    .sticky-banner a span.link {
      font-weight: 400;
      margin-left: 5px; }
      .sticky-banner a span.link:hover {
        text-decoration: underline; }
  .sticky-banner.sticky-banner-hello {
    background-color: #a147fe; }

@media only screen and (max-width: 600px) {
  .sticky-banner .intro {
    flex: 1;
    text-align: center; }
  .sticky-banner .details {
    display: none; } }

@media only screen and (max-width: 900px) {
  .sticky-banner {
    bottom: 0;
    width: auto; }
    .sticky-banner .details {
      padding-right: 50px; } }

.features-overflow {
  position: relative; }
  .features-overflow:hover .bzy-dropdown-menu {
    display: block; }
  .features-overflow .bzy-dropdown-open {
    display: inline-block;
    position: relative; }
    .features-overflow .bzy-dropdown-open i {
      margin-left: 5px; }
  .features-overflow .bzy-dropdown-menu {
    display: none;
    position: absolute;
    right: 0;
    z-index: 100; }
    .features-overflow .bzy-dropdown-menu li.features-link {
      display: block !important; }
    .features-overflow .bzy-dropdown-menu i {
      margin-left: 5px; }
    .features-overflow .bzy-dropdown-menu .wrap {
      background-color: #148EB9; }
      .features-overflow .bzy-dropdown-menu .wrap a {
        display: block; }

@media only screen and (max-width: 900px) {
  nav.features-nav .contentCandiate {
    padding: 0 20px 20px;
    max-width: 400px;
    width: auto; }
    nav.features-nav .contentCandiate button.current-feature {
      display: block; }
      nav.features-nav .contentCandiate button.current-feature.open + ul.features-link-container {
        display: block;
        opacity: 1; }
    nav.features-nav .contentCandiate ul.features-link-container {
      background-color: rgba(32, 142, 185, 0.9);
      border: 2px solid #fff;
      border-radius: 4px;
      display: none;
      opacity: 0;
      margin-top: 10px;
      transition: all 300ms ease; }
      nav.features-nav .contentCandiate ul.features-link-container li {
        display: block; }
        nav.features-nav .contentCandiate ul.features-link-container li.selected {
          border-radius: 0 !important; }
        nav.features-nav .contentCandiate ul.features-link-container li br {
          content: ' '; }
          nav.features-nav .contentCandiate ul.features-link-container li br:after {
            content: ' '; } }

@media only screen and (max-width: 1024px) {
  body.protips.open-quotes footer.other-footer {
    position: static; }
  body.protips header.header .content {
    padding: 0 20px; }
    body.protips header.header .content .share span {
      display: none; }
    body.protips header.header .content .share a {
      margin-left: 10px; }
  body.protips section.protips-header .content {
    padding: 0 20px; }
  body.protips section.peeps .content {
    padding: 0 20px; }
    body.protips section.peeps .content button {
      width: 100%; }
    body.protips section.peeps .content .show-more {
      width: 100%; }
  body.protips .box-person {
    margin-bottom: 40px; }
  body.protips .quotees .backgrounds .bg.bg-color {
    background-size: 200px;
    padding-bottom: 20px; }
    body.protips .quotees .backgrounds .bg.bg-color .close {
      position: fixed;
      right: 20px; }
    body.protips .quotees .backgrounds .bg.bg-color .action {
      display: none;
      position: fixed; }
      body.protips .quotees .backgrounds .bg.bg-color .action.action-left {
        left: -15px; }
      body.protips .quotees .backgrounds .bg.bg-color .action.action-right {
        right: -15px; }
  body.protips .quotees .quote .box-quote i.fa-quote-right {
    font-size: 40px;
    left: -45px; }
  body.protips .quotees .quote .box-quote blockquote {
    font-size: 26px;
    line-height: 34px; }
  body.protips section.centered-content.breezy-blue button {
    width: 100%; } }

.drop-in {
  background-color: #fff; }
  .drop-in.ng-enter .box-person {
    animation: drop-in linear 300ms;
    -webit-animation: drop-in linear 300ms; }
  .drop-in.ng-enter.ng-enter-active .box-person {
    animation: drop-in linear 300ms;
    -webit-animation: drop-in linear 300ms; }

@keyframes drop-in {
  0% {
    opacity: 0;
    transform: scale3d(2, 2, 2); }
  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1); } }

@-webkit-keyframes drop-in {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(2, 2, 2); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1); } }

@keyframes expand-out {
  0% {
    opacity: 1;
    transform: scale3d(1, 1, 1); }
  100% {
    opacity: 0;
    transform: scale3d(2, 2, 2); } }

@-webkit-keyframes expand-up {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1); } }

@keyframes collapse-down {
  0% {
    opacity: 1;
    transform: scale3d(1, 1, 1); }
  100% {
    opacity: 0;
    transform: scale3d(0, 0, 0); } }

@-webkit-keyframes collapse-down {
  0% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0, 0, 0); } }

@keyframes move-up {
  0% {
    bottom: -284px; }
  100% {
    bottom: 0; } }

@-webkit-keyframes move-up {
  0% {
    bottom: -284px; }
  100% {
    bottom: 0; } }

@media only screen and (max-width: 767px) {
  .container-new {
    width: 100% !important; }
  .content.video-hero .copy-container {
    width: 100% !important;
    text-align: center !important; }
  .content.video-hero .video-right-container {
    width: 100% !important;
    padding: 80px 0 0 0 !important;
    margin-bottom: 80px; }
    .content.video-hero .video-right-container img.small {
      display: initial  !important; }
    .content.video-hero .video-right-container img.large {
      display: none !important; }
    .content.video-hero .video-right-container i {
      display: none; }
  section.hero .video-cta a {
    margin-left: 0; } }

section.privacy h4, section.security h4 {
  margin-top: 40px; }

section.privacy h5, section.security h5 {
  color: #07688B;
  font-size: 18px;
  line-height: 24px;
  margin-bottom: 20px;
  text-transform: uppercase; }

section.privacy ol, section.security ol {
  list-style: decimal;
  margin-left: 20px; }

section.privacy ul, section.security ul {
  list-style: disc;
  margin-left: 20px; }

section.privacy ul li, section.privacy ol li, section.security ul li, section.security ol li {
  margin-bottom: 10px;
  line-height: 1.5; }

section.privacy p, section.privacy ol, section.privacy ul, section.privacy h4, section.security p, section.security ol, section.security ul, section.security h4 {
  margin-bottom: 20px; }

section.privacy p, section.security p {
  text-align: justify; }

section.team {
  padding-top: 0; }
  section.team .member {
    margin-bottom: 50px; }
    section.team .member .avatar {
      border: 10px solid #fff;
      border-radius: 50%;
      overflow: hidden;
      position: relative;
      cursor: default;
      width: 230px;
      height: 230px;
      margin: 0 auto; }
      section.team .member .avatar.purple {
        background-color: #886bb9; }
        section.team .member .avatar.purple blockquote {
          background-color: rgba(136, 107, 185, 0.7); }
      section.team .member .avatar.orange {
        background-color: #ff9f5a; }
        section.team .member .avatar.orange blockquote {
          background-color: rgba(255, 159, 90, 0.7); }
      section.team .member .avatar.red {
        background-color: #ff4545; }
        section.team .member .avatar.red blockquote {
          background-color: rgba(255, 69, 69, 0.7); }
      section.team .member .avatar.green {
        background-color: #72D78F; }
        section.team .member .avatar.green blockquote {
          background-color: rgba(114, 215, 143, 0.7); }
      section.team .member .avatar.yellow {
        background-color: #E7BC3B; }
        section.team .member .avatar.yellow blockquote {
          background-color: rgba(231, 188, 59, 0.7); }
      section.team .member .avatar.light-blue {
        background-color: #55BFE7; }
        section.team .member .avatar.light-blue blockquote {
          background-color: rgba(85, 191, 231, 0.7); }
      section.team .member .avatar.dark-blue {
        background-color: #043B4E; }
        section.team .member .avatar.dark-blue blockquote {
          background-color: rgba(4, 59, 78, 0.7); }
      section.team .member .avatar img {
        border: none;
        height: 100%;
        vertical-align: top;
        width: 100%; }
      section.team .member .avatar blockquote {
        border-radius: 50%;
        position: absolute;
        top: 0;
        left: 0;
        height: 210px;
        width: 210px;
        display: none;
        color: #fff;
        font-size: 24px;
        line-height: 28px; }
        section.team .member .avatar blockquote .wrap-table {
          display: table;
          height: 100%;
          width: 100%; }
        section.team .member .avatar blockquote .wrap-cell {
          display: table-cell;
          padding: 10px;
          text-align: center;
          vertical-align: middle; }
      section.team .member .avatar:hover img {
        filter: blur(5px); }
      section.team .member .avatar:hover blockquote {
        display: block; }
    section.team .member .deets {
      padding-top: 10px;
      text-align: center; }
      section.team .member .deets h2 {
        font-size: 20px;
        font-weight: 400;
        line-height: 32px; }
      section.team .member .deets h5 {
        color: #999;
        font-weight: 400; }

section.team-stats {
  background-color: #886bb9;
  padding-top: 40px;
  text-align: center; }
  section.team-stats h1 {
    color: #fff;
    margin-bottom: 40px; }
  section.team-stats .stat {
    background-color: #fff;
    border-radius: 10px;
    padding: 40px 20px;
    margin: 0 auto 20px;
    max-width: 300px; }
    section.team-stats .stat.blue {
      color: #55BFE7; }
    section.team-stats .stat.orange {
      color: #ff9f5a; }
    section.team-stats .stat.green {
      color: #72D78F; }
    section.team-stats .stat p {
      font-size: 22px;
      font-weight: 400; }
      section.team-stats .stat p strong {
        display: block;
        font-size: 48px; }

section.team-photos {
  padding-top: 40px;
  text-align: center; }
  section.team-photos h1 {
    color: #148EB9;
    margin-bottom: 10px; }
  section.team-photos p {
    margin-bottom: 40px; }
  section.team-photos .grid .photo {
    border-radius: 10px;
    overflow: hidden;
    margin-right: .5rem;
    margin-bottom: 20px; }
    section.team-photos .grid .photo.top {
      height: 300px; }
    section.team-photos .grid .photo.bottom {
      height: 400px; }
      section.team-photos .grid .photo.bottom.half {
        height: 190px; }
    section.team-photos .grid .photo.last {
      margin-right: 0; }
    section.team-photos .grid .photo img {
      height: 100%; }

@media only screen and (max-width: 75em) {
  section.team-photos {
    display: none; } }

.visible-xs, .visible-sm, .visible-md, .visible-lg {
  display: none !important; }

@media (max-width: 48em) {
  .visible-xs {
    display: block !important; }
  .row.visible-xs {
    display: flex !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important; }
  table.visible-xs {
    display: table !important; }
  tr.visible-xs {
    display: table-row !important; }
  th.visible-xs, td.visible-xs {
    display: table-cell !important; } }

@media (min-width: 48em) and (max-width: 62em) {
  .visible-sm {
    display: block !important; }
  .row.visible-sm {
    display: flex !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important; }
  table.visible-sm {
    display: table !important; }
  tr.visible-sm {
    display: table-row !important; }
  th.visible-sm, td.visible-sm {
    display: table-cell !important; } }

@media (min-width: 62em) and (max-width: 75em) {
  .visible-md {
    display: block !important; }
  .row.visible-md {
    display: flex !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important; }
  table.visible-md {
    display: table !important; }
  tr.visible-md {
    display: table-row !important; }
  th.visible-md, td.visible-md {
    display: table-cell !important; } }

@media (min-width: 75em) {
  .visible-lg {
    display: block !important; }
  .row.visible-lg {
    display: flex !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important; }
  table.visible-lg {
    display: table !important; }
  tr.visible-lg {
    display: table-row !important; }
  th.visible-lg, td.visible-lg {
    display: table-cell !important; } }

@media (max-width: 48em) {
  .hidden-xs {
    display: none !important; } }

@media (min-width: 48em) and (max-width: 62em) {
  .hidden-sm {
    display: none !important; } }

@media (min-width: 62em) and (max-width: 75em) {
  .hidden-md {
    display: none !important; } }

@media (min-width: 75em) {
  .hidden-lg {
    display: none !important; } }

/*!
 * # Semantic UI 1.12.1 - Dimmer
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2014 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 * */
/*******************************
 *            Dimmer
 ******************************* */
.dimmable {
  position: relative; }

.ui.dimmer {
  display: none;
  position: absolute;
  top: 0em !important;
  left: 0em !important;
  width: 100%;
  height: 100%;
  text-align: center;
  vertical-align: middle;
  background: rgba(0, 0, 0, 0.85);
  opacity: 0;
  line-height: 1;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-transition: background-color 0.5s linear;
  transition: background-color 0.5s linear;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  will-change: opacity;
  z-index: 1000; }
  .ui.dimmer > .content {
    width: 100%;
    height: 100%;
    display: table;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text; }
    .ui.dimmer > .content > div {
      display: table-cell;
      vertical-align: middle;
      color: #ffffff; }

.ui.segment > .ui.dimmer {
  border-radius: inherit !important; }

/* Dimmer Content */
/* Loose Coupling */
/*******************************
 *            States
 ******************************* */
.animating.dimmable:not(body) {
  overflow: hidden; }

.dimmed.dimmable:not(body) {
  overflow: hidden; }

.dimmed.dimmable > .ui.animating.dimmer, .dimmed.dimmable > .ui.visible.dimmer {
  display: block;
  opacity: 1; }

.ui.active.dimmer {
  display: block;
  opacity: 1; }

.ui.disabled.dimmer {
  width: 0 !important;
  height: 0 !important; }

.ui.page.dimmer {
  position: fixed;
  -webkit-transform-style: '';
  transform-style: '';
  -webkit-perspective: 2000px;
  perspective: 2000px;
  -webkit-transform-origin: center center;
  -ms-transform-origin: center center;
  transform-origin: center center; }

/*******************************
 *           Variations
 ******************************* */
/*--------------
 *      Page
 *--------------- */
body.animating.in.dimmable, body.dimmed.dimmable {
  overflow: hidden; }

body.dimmable > .dimmer {
  position: fixed; }

/*
 *body.dimmable > :not(.dimmer) {
 *  filter: @elementStartFilter;
 *}
 *body.dimmed.dimmable > :not(.dimmer) {
 *  filter: @elementEndFilter;
 *  transition: @elementTransition;
 *} */
/*--------------
 *    Aligned
 *--------------- */
.ui.dimmer > .top.aligned.content > * {
  vertical-align: top; }

.ui.dimmer > .bottom.aligned.content > * {
  vertical-align: bottom; }

.ui.inverted.dimmer {
  background: rgba(255, 255, 255, 0.85); }
  .ui.inverted.dimmer > .content > * {
    color: #ffffff; }

.ui.simple.dimmer {
  display: block;
  overflow: hidden;
  opacity: 1;
  width: 0%;
  height: 0%;
  z-index: -100;
  background-color: transparent; }

/*--------------
 *    Inverted
 *--------------- */
/*--------------
 *     Simple
 *--------------- */
/* Displays without javascript */
.dimmed.dimmable > .ui.simple.dimmer {
  overflow: visible;
  opacity: 1;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  z-index: 1; }

.ui.simple.inverted.dimmer {
  background: rgba(255, 255, 255, 0); }

.dimmed.dimmable > .ui.simple.inverted.dimmer {
  background: rgba(255, 255, 255, 0.85); }

/*******************************
 *         Theme Overrides
 ******************************* */
/*******************************
 *        User Overrides
 ******************************* */
/*!
 * # Semantic UI 1.12.2 - Modal
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2014 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 * */
/*******************************
 *             Modal
 ******************************* */
.ui.modal {
  display: none;
  position: fixed;
  z-index: 1001;
  top: 50%;
  left: 50%;
  text-align: left;
  width: 90%;
  margin-left: -45%;
  background: #ffffff;
  border: none;
  box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.3);
  border-radius: 0.2857rem;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
  will-change: top, left, margin, transform, opacity; }
  .ui.modal > :first-child:not(.icon) {
    border-top-left-radius: 0.2857rem;
    border-top-right-radius: 0.2857rem; }
  .ui.modal > .icon:first-child + * {
    border-top-left-radius: 0.2857rem;
    border-top-right-radius: 0.2857rem; }
  .ui.modal > :last-child {
    border-bottom-left-radius: 0.2857rem;
    border-bottom-right-radius: 0.2857rem; }
  .ui.modal > .close {
    cursor: pointer;
    position: absolute;
    top: -2.5rem;
    right: -2.5rem;
    z-index: 1;
    opacity: 0.8;
    font-size: 1.25em;
    color: #ffffff;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0.625rem 0rem 0rem 0rem; }
    .ui.modal > .close:hover {
      opacity: 1; }
  .ui.modal > .header {
    display: block;
    font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;
    background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05)) #ffffff;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.05)) #ffffff;
    margin: 0em;
    padding: 1.2rem 2rem;
    box-shadow: 0px 1px 2px 0 rgba(0, 0, 0, 0.05);
    font-size: 1.6em;
    line-height: 1.3em;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.85);
    border-bottom: 1px solid rgba(39, 41, 43, 0.15); }
  .ui.modal > .content {
    display: table;
    table-layout: fixed;
    width: 100%;
    font-size: 1em;
    line-height: 1.4;
    padding: 2rem;
    background: #ffffff; }
    .ui.modal > .content > .image {
      display: table-cell;
      width: '';
      vertical-align: top; }
      .ui.modal > .content > .image[class*="top aligned"] {
        vertical-align: top; }
      .ui.modal > .content > .image[class*="middle aligned"] {
        vertical-align: middle; }
    .ui.modal > .content > .description {
      display: table-cell;
      vertical-align: top; }
    .ui.modal > .content > .icon + .description {
      min-width: '';
      width: 80%;
      padding-left: 2em; }
    .ui.modal > .content > .image + .description {
      min-width: '';
      width: 80%;
      padding-left: 2em; }
    .ui.modal > .content > .image > i.icon {
      font-size: 8rem;
      margin: 0em;
      opacity: 1;
      width: auto; }
  .ui.modal .actions {
    background: #efefef;
    padding: 1rem 2rem;
    border-top: 1px solid rgba(39, 41, 43, 0.15);
    text-align: right; }
    .ui.modal .actions > .button {
      margin-left: 0.75em; }

.ui.basic.modal {
  background-color: transparent;
  border: none;
  border-radius: 0em;
  box-shadow: 0px 0px 0px 0px;
  color: #ffffff; }
  .ui.basic.modal .header, .ui.basic.modal .content, .ui.basic.modal .actions {
    background-color: transparent; }
  .ui.basic.modal .header {
    color: #ffffff; }
  .ui.basic.modal .close {
    top: 1rem;
    right: 1.5rem; }

/*******************************
 *            Content
 ******************************* */
/*--------------
 *     Close
 *--------------- */
/*--------------
 *     Header
 *--------------- */
/*--------------
 *     Content
 *--------------- */
/* Image */
/* Description */
/*rtl:ignore */
/*--------------
 *     Actions
 *--------------- */
/*-------------------
 *       Responsive
 *-------------------- */
/* Modal Width */
@media only screen and (max-width: 767px) {
  .ui.modal {
    width: 95%;
    margin: 0em 0em 0em -47.5%; } }

@media only screen and (min-width: 768px) {
  .ui.modal {
    width: 88%;
    margin: 0em 0em 0em -44%; } }

@media only screen and (min-width: 992px) {
  .ui.modal {
    width: 74%;
    margin: 0em 0em 0em -37%; } }

@media only screen and (min-width: 1400px) {
  .ui.modal {
    width: 56%;
    margin: 0em 0em 0em -28%; } }

@media only screen and (min-width: 1920px) {
  .ui.modal {
    width: 42%;
    margin: 0em 0em 0em -21%; } }

/* Tablet and Mobile */
@media only screen and (max-width: 992px) {
  .ui.modal > .header {
    padding-right: 2.25rem; }
  .ui.modal > .close {
    top: 0.905rem;
    right: 1rem;
    color: rgba(0, 0, 0, 0.8); } }

/* Mobile */
@media only screen and (max-width: 767px) {
  .ui.modal > .header {
    padding: 0.75rem 1rem !important;
    padding-right: 2.25rem !important; }
  .ui.modal > .content {
    display: block;
    padding: 1rem !important; }
  .ui.modal > .close {
    top: 0.5rem !important;
    right: 0.5rem !important; }
  .ui.modal .content > .image {
    display: block;
    max-width: 100%;
    margin: 0em auto !important;
    text-align: center;
    padding: 0rem 0rem 1rem !important; }
  .ui.modal .content > .description {
    display: block;
    width: 100% !important;
    margin: 0em !important;
    padding: 1rem 0rem !important;
    box-shadow: none; }
  .ui.modal > .content > .image > i.icon {
    font-size: 5rem;
    text-align: center; }
  .ui.modal > .actions {
    padding: 1rem 1rem 0rem !important; }
  .ui.modal .actions .buttons, .ui.modal .button {
    margin-bottom: 1rem; }
  /*rtl:ignore */
  /*rtl:ignore */
  /* Let Buttons Stack */ }

/*******************************
 *             Types
 ******************************* */
/* Tablet and Mobile */
@media only screen and (max-width: 992px) {
  .ui.basic.modal > .close {
    color: #ffffff; } }

/*******************************
 *            Variations
 ******************************* */
/* A modal that cannot fit on the page */
.scrolling.dimmable.dimmed {
  overflow: hidden; }
  .scrolling.dimmable.dimmed > .dimmer {
    overflow: auto;
    -webkit-overflow-scrolling: touch; }

.scrolling.dimmable > .dimmer {
  position: fixed; }

.ui.scrolling.modal {
  position: static;
  margin: 3.5rem auto !important; }

.ui.active.modal {
  display: block; }

.ui.fullscreen.modal {
  width: 95% !important;
  left: 2.5% !important;
  margin: 1em auto; }

.ui.fullscreen.scrolling.modal {
  left: 0em !important; }

.ui.fullscreen.modal > .header {
  padding-right: 2.25rem; }

.ui.fullscreen.modal > .close {
  top: 0.905rem;
  right: 1rem;
  color: rgba(0, 0, 0, 0.8); }

.ui.modal {
  font-size: 1rem; }

.ui.small.modal > .header {
  font-size: 1.3em; }

.ui.large.modal > .header {
  font-size: 1.6em; }

@media only screen and (max-width: 992px) {
  .ui.scrolling.modal {
    margin-top: 1rem;
    margin-bottom: 1rem; } }

/*******************************
 *             States
 ******************************* */
/*******************************
 *           Variations
 ******************************* */
/*--------------
 *   Full Screen
 *--------------- */
/*--------------
 *      Size
 *--------------- */
/* Small */
/* Small Modal Width */
@media only screen and (max-width: 767px) {
  .ui.small.modal {
    width: 95%;
    margin: 0em 0em 0em -47.5%; } }

@media only screen and (min-width: 768px) {
  .ui.small.modal {
    width: 52.8%;
    margin: 0em 0em 0em -26.4%; } }

@media only screen and (min-width: 992px) {
  .ui.small.modal {
    width: 44.4%;
    margin: 0em 0em 0em -22.2%; } }

@media only screen and (min-width: 1400px) {
  .ui.small.modal {
    width: 33.6%;
    margin: 0em 0em 0em -16.8%; } }

@media only screen and (min-width: 1920px) {
  .ui.small.modal {
    width: 25.2%;
    margin: 0em 0em 0em -12.6%; } }

/* Large Modal Width */
@media only screen and (max-width: 767px) {
  .ui.large.modal {
    width: 95%;
    margin: 0em 0em 0em -47.5%; } }

@media only screen and (min-width: 768px) {
  .ui.large.modal {
    width: 88%;
    margin: 0em 0em 0em -44%; } }

@media only screen and (min-width: 992px) {
  .ui.large.modal {
    width: 88.8%;
    margin: 0em 0em 0em -44.4%; } }

@media only screen and (min-width: 1400px) {
  .ui.large.modal {
    width: 67.2%;
    margin: 0em 0em 0em -33.6%; } }

@media only screen and (min-width: 1920px) {
  .ui.large.modal {
    width: 50.4%;
    margin: 0em 0em 0em -25.2%; } }

/*******************************
 *         Theme Overrides
 ******************************* */
/*******************************
 *         Site Overrides
 ******************************* */
/*!
 * # Semantic UI 1.11.5 - Transition
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2014 Contributorss
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 * */
/*******************************
 *          Transitions
 ******************************* */
.transition {
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-duration: 300ms;
  animation-duration: 300ms;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

/*******************************
 *            States
 ******************************* */
/* Animating */
.animating.transition {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  visibility: visible !important; }

/* Loading */
.loading.transition {
  position: absolute;
  top: -99999px;
  left: -99999px; }

/* Hidden */
.hidden.transition {
  display: none;
  visibility: hidden; }

/* Visible */
.visible.transition {
  display: block !important;
  visibility: visible !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0); }

/* Disabled */
.disabled.transition {
  -webkit-animation-play-state: paused;
  animation-play-state: paused; }

/*******************************
 *          Variations
 ******************************* */
.looping.transition {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

/*******************************
 *          Transitions
 ******************************* */
/*
 *  Some transitions adapted from Animate CSS
 *  https://github.com/daneden/animate.css
 *
 *  Additional transitions adapted from Glide
 *  by Nick Pettit - https: */
/*--------------
 *     Browse
 *--------------- */
.transition.browse {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms; }

.transition.browse.in {
  -webkit-animation-name: browseIn;
  animation-name: browseIn; }

.transition.browse.out,
.transition.browse.left.out {
  -webkit-animation-name: browseOutLeft;
  animation-name: browseOutLeft; }

.transition.browse.right.out {
  -webkit-animation-name: browseOutRight;
  animation-name: browseOutRight; }

/* In */
@-webkit-keyframes browseIn {
  0% {
    -webkit-transform: scale(0.8) translateZ(0px);
    transform: scale(0.8) translateZ(0px);
    z-index: -1; }
  10% {
    -webkit-transform: scale(0.8) translateZ(0px);
    transform: scale(0.8) translateZ(0px);
    z-index: -1;
    opacity: 0.7; }
  80% {
    -webkit-transform: scale(1.05) translateZ(0px);
    transform: scale(1.05) translateZ(0px);
    opacity: 1;
    z-index: 999; }
  100% {
    -webkit-transform: scale(1) translateZ(0px);
    transform: scale(1) translateZ(0px);
    z-index: 999; } }

@keyframes browseIn {
  0% {
    -webkit-transform: scale(0.8) translateZ(0px);
    transform: scale(0.8) translateZ(0px);
    z-index: -1; }
  10% {
    -webkit-transform: scale(0.8) translateZ(0px);
    transform: scale(0.8) translateZ(0px);
    z-index: -1;
    opacity: 0.7; }
  80% {
    -webkit-transform: scale(1.05) translateZ(0px);
    transform: scale(1.05) translateZ(0px);
    opacity: 1;
    z-index: 999; }
  100% {
    -webkit-transform: scale(1) translateZ(0px);
    transform: scale(1) translateZ(0px);
    z-index: 999; } }

/* Out */
@-webkit-keyframes browseOutLeft {
  0% {
    z-index: 999;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg); }
  50% {
    z-index: -1;
    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
    transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); }
  80% {
    opacity: 1; }
  100% {
    z-index: -1;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    opacity: 0; } }

@keyframes browseOutLeft {
  0% {
    z-index: 999;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg); }
  50% {
    z-index: -1;
    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
    transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); }
  80% {
    opacity: 1; }
  100% {
    z-index: -1;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    opacity: 0; } }

@-webkit-keyframes browseOutRight {
  0% {
    z-index: 999;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg); }
  50% {
    z-index: 1;
    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
    transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); }
  80% {
    opacity: 1; }
  100% {
    z-index: 1;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    opacity: 0; } }

@keyframes browseOutRight {
  0% {
    z-index: 999;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg); }
  50% {
    z-index: 1;
    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
    transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); }
  80% {
    opacity: 1; }
  100% {
    z-index: 1;
    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
    opacity: 0; } }

/*--------------
 *     Drop
 *--------------- */
.drop.transition {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
  -webkit-animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);
  animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1); }

.drop.transition.in {
  -webkit-animation-name: dropIn;
  animation-name: dropIn; }

.drop.transition.out {
  -webkit-animation-name: dropOut;
  animation-name: dropOut; }

/* Drop */
@-webkit-keyframes dropIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes dropIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@-webkit-keyframes dropOut {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); } }

@keyframes dropOut {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); } }

/*--------------
 *      Fade
 *--------------- */
.transition.fade.in {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

.transition[class*="fade up"].in {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

.transition[class*="fade down"].in {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

.transition[class*="fade left"].in {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

.transition[class*="fade right"].in {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

.transition.fade.out {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

.transition[class*="fade up"].out {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

.transition[class*="fade down"].out {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

.transition[class*="fade left"].out {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

.transition[class*="fade right"].out {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

/* In */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50%);
    transform: translateY(50%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%); } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50%);
    transform: translateY(50%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%); } }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%); } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%); } }

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10%);
    transform: translateX(10%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%); } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10%);
    transform: translateX(10%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%); } }

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10%);
    transform: translateX(-10%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10%);
    transform: translateX(-10%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%); } }

/* Out */
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(10%);
    transform: translateY(10%); } }

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(10%);
    transform: translateY(10%); } }

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); } }

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); } }

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(10%);
    transform: translateX(10%); } }

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(10%);
    transform: translateX(10%); } }

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-10%);
    transform: translateX(-10%); } }

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-10%);
    transform: translateX(-10%); } }

/*--------------
 *     Flips
 *--------------- */
.flip.transition.in,
.flip.transition.out {
  -webkit-animation-duration: 600ms;
  animation-duration: 600ms;
  -webkit-perspective: 2000px;
  perspective: 2000px; }

.horizontal.flip.transition.in {
  -webkit-animation-name: horizontalFlipIn;
  animation-name: horizontalFlipIn; }

.horizontal.flip.transition.out {
  -webkit-animation-name: horizontalFlipOut;
  animation-name: horizontalFlipOut; }

.vertical.flip.transition.in {
  -webkit-animation-name: verticalFlipIn;
  animation-name: verticalFlipIn; }

.vertical.flip.transition.out {
  -webkit-animation-name: verticalFlipOut;
  animation-name: verticalFlipOut; }

/* In */
@-webkit-keyframes horizontalFlipIn {
  0% {
    -webkit-transform: perspective(2000px) rotateY(-90deg);
    transform: perspective(2000px) rotateY(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform: perspective(2000px) rotateY(0deg);
    transform: perspective(2000px) rotateY(0deg);
    opacity: 1; } }

@keyframes horizontalFlipIn {
  0% {
    -webkit-transform: perspective(2000px) rotateY(-90deg);
    transform: perspective(2000px) rotateY(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform: perspective(2000px) rotateY(0deg);
    transform: perspective(2000px) rotateY(0deg);
    opacity: 1; } }

@-webkit-keyframes verticalFlipIn {
  0% {
    -webkit-transform: perspective(2000px) rotateX(-90deg);
    transform: perspective(2000px) rotateX(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform: perspective(2000px) rotateX(0deg);
    transform: perspective(2000px) rotateX(0deg);
    opacity: 1; } }

@keyframes verticalFlipIn {
  0% {
    -webkit-transform: perspective(2000px) rotateX(-90deg);
    transform: perspective(2000px) rotateX(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform: perspective(2000px) rotateX(0deg);
    transform: perspective(2000px) rotateX(0deg);
    opacity: 1; } }

/* Out */
@-webkit-keyframes horizontalFlipOut {
  0% {
    -webkit-transform: perspective(2000px) rotateY(0deg);
    transform: perspective(2000px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(2000px) rotateY(90deg);
    transform: perspective(2000px) rotateY(90deg);
    opacity: 0; } }

@keyframes horizontalFlipOut {
  0% {
    -webkit-transform: perspective(2000px) rotateY(0deg);
    transform: perspective(2000px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(2000px) rotateY(90deg);
    transform: perspective(2000px) rotateY(90deg);
    opacity: 0; } }

@-webkit-keyframes verticalFlipOut {
  0% {
    -webkit-transform: perspective(2000px) rotateX(0deg);
    transform: perspective(2000px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(2000px) rotateX(-90deg);
    transform: perspective(2000px) rotateX(-90deg);
    opacity: 0; } }

@keyframes verticalFlipOut {
  0% {
    -webkit-transform: perspective(2000px) rotateX(0deg);
    transform: perspective(2000px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(2000px) rotateX(-90deg);
    transform: perspective(2000px) rotateX(-90deg);
    opacity: 0; } }

/*--------------
 *      Scale
 *--------------- */
.scale.transition.in {
  -webkit-animation-name: scaleIn;
  animation-name: scaleIn; }

.scale.transition.out {
  -webkit-animation-name: scaleOut;
  animation-name: scaleOut; }

/* In */
@-webkit-keyframes scaleIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.7);
    transform: scale(0.7); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes scaleIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.7);
    transform: scale(0.7); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

/* Out */
@-webkit-keyframes scaleOut {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.7);
    transform: scale(0.7); } }

@keyframes scaleOut {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.7);
    transform: scale(0.7); } }

/*--------------
 *      Fly
 *--------------- */
/* Inward */
.transition.fly {
  -webkit-animation-duration: 0.6s;
  animation-duration: 0.6s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }

.transition.fly.in {
  -webkit-animation-name: flyIn;
  animation-name: flyIn; }

.transition[class*="fly up"].in {
  -webkit-animation-name: flyInUp;
  animation-name: flyInUp; }

.transition[class*="fly down"].in {
  -webkit-animation-name: flyInDown;
  animation-name: flyInDown; }

.transition[class*="fly left"].in {
  -webkit-animation-name: flyInLeft;
  animation-name: flyInLeft; }

.transition[class*="fly right"].in {
  -webkit-animation-name: flyInRight;
  animation-name: flyInRight; }

/* Outward */
.transition.fly.out {
  -webkit-animation-name: flyOut;
  animation-name: flyOut; }

.transition[class*="fly up"].out {
  -webkit-animation-name: flyOutUp;
  animation-name: flyOutUp; }

.transition[class*="fly down"].out {
  -webkit-animation-name: flyOutDown;
  animation-name: flyOutDown; }

.transition[class*="fly left"].out {
  -webkit-animation-name: flyOutLeft;
  animation-name: flyOutLeft; }

.transition[class*="fly right"].out {
  -webkit-animation-name: flyOutRight;
  animation-name: flyOutRight; }

/* In */
@-webkit-keyframes flyIn {
  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); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes flyIn {
  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); }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@-webkit-keyframes flyInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 1500px, 0);
    transform: translate3d(0, 1500px, 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); }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes flyInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 1500px, 0);
    transform: translate3d(0, 1500px, 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); }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@-webkit-keyframes flyInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -1500px, 0);
    transform: translate3d(0, -1500px, 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); }
  100% {
    -webkit-transform: none;
    transform: none; } }

@keyframes flyInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -1500px, 0);
    transform: translate3d(0, -1500px, 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); }
  100% {
    -webkit-transform: none;
    transform: none; } }

@-webkit-keyframes flyInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(1500px, 0, 0);
    transform: translate3d(1500px, 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); }
  100% {
    -webkit-transform: none;
    transform: none; } }

@keyframes flyInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(1500px, 0, 0);
    transform: translate3d(1500px, 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); }
  100% {
    -webkit-transform: none;
    transform: none; } }

@-webkit-keyframes flyInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-1500px, 0, 0);
    transform: translate3d(-1500px, 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); }
  100% {
    -webkit-transform: none;
    transform: none; } }

@keyframes flyInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-1500px, 0, 0);
    transform: translate3d(-1500px, 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); }
  100% {
    -webkit-transform: none;
    transform: none; } }

/* Out */
@-webkit-keyframes flyOut {
  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); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes flyOut {
  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); }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@-webkit-keyframes flyOutUp {
  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); }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes flyOutUp {
  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); }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@-webkit-keyframes flyOutDown {
  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); }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes flyOutDown {
  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); }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

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

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

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

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

/*--------------
 *     Slide
 *--------------- */
.transition.slide.in,
.transition[class*="slide down"].in {
  -webkit-animation-name: slideInY;
  animation-name: slideInY;
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center; }

.transition[class*="slide up"].in {
  -webkit-animation-name: slideInY;
  animation-name: slideInY;
  -webkit-transform-origin: bottom center;
  -ms-transform-origin: bottom center;
  transform-origin: bottom center; }

.transition[class*="slide left"].in {
  -webkit-animation-name: slideInX;
  animation-name: slideInX;
  -webkit-transform-origin: center right;
  -ms-transform-origin: center right;
  transform-origin: center right; }

.transition[class*="slide right"].in {
  -webkit-animation-name: slideInX;
  animation-name: slideInX;
  -webkit-transform-origin: center left;
  -ms-transform-origin: center left;
  transform-origin: center left; }

.transition.slide.out,
.transition[class*="slide down"].out {
  -webkit-animation-name: slideOutY;
  animation-name: slideOutY;
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center; }

.transition[class*="slide up"].out {
  -webkit-animation-name: slideOutY;
  animation-name: slideOutY;
  -webkit-transform-origin: bottom center;
  -ms-transform-origin: bottom center;
  transform-origin: bottom center; }

.transition[class*="slide left"].out {
  -webkit-animation-name: slideOutX;
  animation-name: slideOutX;
  -webkit-transform-origin: center right;
  -ms-transform-origin: center right;
  transform-origin: center right; }

.transition[class*="slide right"].out {
  -webkit-animation-name: slideOutX;
  animation-name: slideOutX;
  -webkit-transform-origin: center left;
  -ms-transform-origin: center left;
  transform-origin: center left; }

/* In */
@-webkit-keyframes slideInY {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0); }
  100% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1); } }

@keyframes slideInY {
  0% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0); }
  100% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1); } }

@-webkit-keyframes slideInX {
  0% {
    opacity: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0); }
  100% {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1); } }

@keyframes slideInX {
  0% {
    opacity: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0); }
  100% {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1); } }

/* Out */
@-webkit-keyframes slideOutY {
  0% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1); }
  100% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0); } }

@keyframes slideOutY {
  0% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1); }
  100% {
    opacity: 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0); } }

@-webkit-keyframes slideOutX {
  0% {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1); }
  100% {
    opacity: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0); } }

@keyframes slideOutX {
  0% {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1); }
  100% {
    opacity: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0); } }

/*--------------
 *     Swing
 *--------------- */
.transition.swing {
  -webkit-animation-duration: 800ms;
  animation-duration: 800ms; }

.transition[class*="swing down"].in {
  -webkit-animation-name: swingInX;
  animation-name: swingInX;
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center; }

.transition[class*="swing up"].in {
  -webkit-animation-name: swingInX;
  animation-name: swingInX;
  -webkit-transform-origin: bottom center;
  -ms-transform-origin: bottom center;
  transform-origin: bottom center; }

.transition[class*="swing left"].in {
  -webkit-animation-name: swingInY;
  animation-name: swingInY;
  -webkit-transform-origin: center right;
  -ms-transform-origin: center right;
  transform-origin: center right; }

.transition[class*="swing right"].in {
  -webkit-animation-name: swingInY;
  animation-name: swingInY;
  -webkit-transform-origin: center left;
  -ms-transform-origin: center left;
  transform-origin: center left; }

.transition.swing.out,
.transition[class*="swing down"].out {
  -webkit-animation-name: swingOutX;
  animation-name: swingOutX;
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center; }

.transition[class*="swing up"].out {
  -webkit-animation-name: swingOutX;
  animation-name: swingOutX;
  -webkit-transform-origin: bottom center;
  -ms-transform-origin: bottom center;
  transform-origin: bottom center; }

.transition[class*="swing left"].out {
  -webkit-animation-name: swingOutY;
  animation-name: swingOutY;
  -webkit-transform-origin: center right;
  -ms-transform-origin: center right;
  transform-origin: center right; }

.transition[class*="swing right"].out {
  -webkit-animation-name: swingOutY;
  animation-name: swingOutY;
  -webkit-transform-origin: center left;
  -ms-transform-origin: center left;
  transform-origin: center left; }

/* In */
@-webkit-keyframes swingInX {
  0% {
    -webkit-transform: perspective(1000px) rotateX(90deg);
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(1000px) rotateX(-30deg);
    transform: perspective(1000px) rotateX(-30deg);
    opacity: 1; }
  60% {
    -webkit-transform: perspective(1000px) rotateX(15deg);
    transform: perspective(1000px) rotateX(15deg); }
  80% {
    -webkit-transform: perspective(1000px) rotateX(-7.5deg);
    transform: perspective(1000px) rotateX(-7.5deg); }
  100% {
    -webkit-transform: perspective(1000px) rotateX(0deg);
    transform: perspective(1000px) rotateX(0deg); } }

@keyframes swingInX {
  0% {
    -webkit-transform: perspective(1000px) rotateX(90deg);
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(1000px) rotateX(-30deg);
    transform: perspective(1000px) rotateX(-30deg);
    opacity: 1; }
  60% {
    -webkit-transform: perspective(1000px) rotateX(15deg);
    transform: perspective(1000px) rotateX(15deg); }
  80% {
    -webkit-transform: perspective(1000px) rotateX(-7.5deg);
    transform: perspective(1000px) rotateX(-7.5deg); }
  100% {
    -webkit-transform: perspective(1000px) rotateX(0deg);
    transform: perspective(1000px) rotateX(0deg); } }

@-webkit-keyframes swingInY {
  0% {
    -webkit-transform: perspective(1000px) rotateY(-90deg);
    transform: perspective(1000px) rotateY(-90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(1000px) rotateY(30deg);
    transform: perspective(1000px) rotateY(30deg);
    opacity: 1; }
  60% {
    -webkit-transform: perspective(1000px) rotateY(-17.5deg);
    transform: perspective(1000px) rotateY(-17.5deg); }
  80% {
    -webkit-transform: perspective(1000px) rotateY(7.5deg);
    transform: perspective(1000px) rotateY(7.5deg); }
  100% {
    -webkit-transform: perspective(1000px) rotateY(0deg);
    transform: perspective(1000px) rotateY(0deg); } }

@keyframes swingInY {
  0% {
    -webkit-transform: perspective(1000px) rotateY(-90deg);
    transform: perspective(1000px) rotateY(-90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(1000px) rotateY(30deg);
    transform: perspective(1000px) rotateY(30deg);
    opacity: 1; }
  60% {
    -webkit-transform: perspective(1000px) rotateY(-17.5deg);
    transform: perspective(1000px) rotateY(-17.5deg); }
  80% {
    -webkit-transform: perspective(1000px) rotateY(7.5deg);
    transform: perspective(1000px) rotateY(7.5deg); }
  100% {
    -webkit-transform: perspective(1000px) rotateY(0deg);
    transform: perspective(1000px) rotateY(0deg); } }

/* Out */
@-webkit-keyframes swingOutX {
  0% {
    -webkit-transform: perspective(1000px) rotateX(0deg);
    transform: perspective(1000px) rotateX(0deg); }
  40% {
    -webkit-transform: perspective(1000px) rotateX(-7.5deg);
    transform: perspective(1000px) rotateX(-7.5deg); }
  60% {
    -webkit-transform: perspective(1000px) rotateX(17.5deg);
    transform: perspective(1000px) rotateX(17.5deg); }
  80% {
    -webkit-transform: perspective(1000px) rotateX(-30deg);
    transform: perspective(1000px) rotateX(-30deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(1000px) rotateX(90deg);
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0; } }

@keyframes swingOutX {
  0% {
    -webkit-transform: perspective(1000px) rotateX(0deg);
    transform: perspective(1000px) rotateX(0deg); }
  40% {
    -webkit-transform: perspective(1000px) rotateX(-7.5deg);
    transform: perspective(1000px) rotateX(-7.5deg); }
  60% {
    -webkit-transform: perspective(1000px) rotateX(17.5deg);
    transform: perspective(1000px) rotateX(17.5deg); }
  80% {
    -webkit-transform: perspective(1000px) rotateX(-30deg);
    transform: perspective(1000px) rotateX(-30deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(1000px) rotateX(90deg);
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0; } }

@-webkit-keyframes swingOutY {
  0% {
    -webkit-transform: perspective(1000px) rotateY(0deg);
    transform: perspective(1000px) rotateY(0deg); }
  40% {
    -webkit-transform: perspective(1000px) rotateY(7.5deg);
    transform: perspective(1000px) rotateY(7.5deg); }
  60% {
    -webkit-transform: perspective(1000px) rotateY(-10deg);
    transform: perspective(1000px) rotateY(-10deg); }
  80% {
    -webkit-transform: perspective(1000px) rotateY(30deg);
    transform: perspective(1000px) rotateY(30deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(1000px) rotateY(-90deg);
    transform: perspective(1000px) rotateY(-90deg);
    opacity: 0; } }

@keyframes swingOutY {
  0% {
    -webkit-transform: perspective(1000px) rotateY(0deg);
    transform: perspective(1000px) rotateY(0deg); }
  40% {
    -webkit-transform: perspective(1000px) rotateY(7.5deg);
    transform: perspective(1000px) rotateY(7.5deg); }
  60% {
    -webkit-transform: perspective(1000px) rotateY(-10deg);
    transform: perspective(1000px) rotateY(-10deg); }
  80% {
    -webkit-transform: perspective(1000px) rotateY(30deg);
    transform: perspective(1000px) rotateY(30deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(1000px) rotateY(-90deg);
    transform: perspective(1000px) rotateY(-90deg);
    opacity: 0; } }

/*******************************
 *       Static Animations
 ******************************* */
/*--------------
 *    Emphasis
 *--------------- */
.flash.transition {
  -webkit-animation-duration: 750ms;
  animation-duration: 750ms;
  -webkit-animation-name: flash;
  animation-name: flash; }

.shake.transition {
  -webkit-animation-duration: 750ms;
  animation-duration: 750ms;
  -webkit-animation-name: shake;
  animation-name: shake; }

.bounce.transition {
  -webkit-animation-duration: 750ms;
  animation-duration: 750ms;
  -webkit-animation-name: bounce;
  animation-name: bounce; }

.tada.transition {
  -webkit-animation-duration: 750ms;
  animation-duration: 750ms;
  -webkit-animation-name: tada;
  animation-name: tada; }

.pulse.transition {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
  -webkit-animation-name: pulse;
  animation-name: pulse; }

.jiggle.transition {
  -webkit-animation-duration: 750ms;
  animation-duration: 750ms;
  -webkit-animation-name: jiggle;
  animation-name: jiggle; }

/* Flash */
@-webkit-keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

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

/* Shake */
@-webkit-keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); } }

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

/* Bounce */
@-webkit-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px); }
  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px); } }

@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px); }
  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px); } }

/* Tada */
@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

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

/* Pulse */
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  50% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  50% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

/* Rubberband */
@-webkit-keyframes jiggle {
  0% {
    -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); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes jiggle {
  0% {
    -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); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

/*******************************
 *         Site Overrides
 ******************************* */

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZGluZy5jc3MiLCJzb3VyY2VzIjpbImxhbmRpbmcuc2FzcyIsIl9yZXNldC5zYXNzIiwiX2NvbnN0YW50cy5zYXNzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1OdW5pdG86NDAwLDMwMCw3MDApO1xuXG5AaW1wb3J0IFwiX3Jlc2V0XCI7XG5AaW1wb3J0IFwiX2NvbnN0YW50c1wiO1xuXG4kYnJlZXp5LWJsdWU6ICMxNDhFQjk7XG4kZGVlcC1ibHVlOiAjMDQzQjRFOyAgICAvLyByZ2IoNCw1OSw3OClcbiRzb2Z0LWJsdWU6ICM1NUJGRTc7ICAgLy8gcmdiKDg1LDE5MSwyMzEpXG4kbWVsbG93LXllbGxvdzogI0U3QkMzQjsgICAvLyByZ2IoMjMxLDE4OCw1OSlcbiRlbGVjdHJpYy1ibHVlOiAjMDc2ODhCOyAgIC8vIHJnYig3LDEwNCwxMzkpXG4kcHVycGxlOiAjODg2YmI5OyAgIC8vIHJnYigxMzYsMTA3LDE4NSlcbiRvcmFuZ2U6ICNmZjlmNWE7ICAgIC8vIHJnYigyNTUsMTU5LDkwKVxuJHJlZDogI2ZmNDU0NTsgICAgLy8gcmdiKDI1NSw2OSw2OSlcbiRicmlnaHQtZ3JlZW46ICM3MkQ3OEY7ICAgIC8vIHJnYigxMTQsMjE1LDE0MylcbiRicmlnaHQtZ3JlZW4taG92ZXI6ICM1ZWMyN2E7XG5cbmEge1xuICAgIGNvbG9yOiAjNDI4YmNhOyB9XG5cbmh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJzsgfVxuXG5ib2R5LmJyZWV6eS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlZXp5LWJsdWU7IH1cblxuYm9keS5kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0OyB9XG5cbmgxIHtcbiAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDU0cHg7IH1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICBjb2xvcjogJGJyZWV6eS1ibHVlOyB9XG5cbmg0IHtcbiAgICBjb2xvcjogJGVsZWN0cmljLWJsdWU7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQ3cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5wIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4udGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmxvZ28ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLy9zMy5hbWF6b25hd3MuY29tL2JyZWV6eWhyLWFzc2V0cy9pbWFnZXMvbG9nby1icmVlenktd2hpdGUucG5nJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogNDFweDtcbiAgICB3aWR0aDogMTMycHg7IH1cblxuLmxvZ28tYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3MzLmFtYXpvbmF3cy5jb20vYnJlZXp5aHItYXNzZXRzL2ltYWdlcy9sb2dvLWJyZWV6eS1ibHVlLnBuZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDMzcHg7XG4gICAgd2lkdGg6IDEwNXB4OyB9XG5cbmJvZHkuaGVsbG8ge1xuICAgIC5tYWluLW5hdiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMTQ3ZmU7IH1cbiAgICBzZWN0aW9uLmhlcm8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTE0N2ZlO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfVxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDgycHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbiAgICAgICAgLnZpZGVvLWhlcm8ge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgICAgLmNvcHktY29udGFpbmVyIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuICAgICAgICAuaGVsbG8tY29udGFpbmVyLXJpZ2h0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgICAgLmltYWdlLXNoYWRvdyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMCU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweC81MHB4O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDUwcHggNDBweCByZ2JhKDAsMCwwLDAuNSk7IH0gfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAwMDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ0MHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICBib2R5LmhlbGxvIHNlY3Rpb24uaGVybyAuaGVsbG8tY29udGFpbmVyLXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ0MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9XG5cbnNlY3Rpb24uaGVybyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWV6eS1ibHVlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEwMHB4IDUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICYuaGVyby1uYXYge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7IH1cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTJweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICB3aWR0aDogMzU2cHg7IH1cblxuICAgIC52aWRlby1jdGEge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0NnB4O1xuICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDMycHg7XG4gICAgICAgICAgICAgICAgdG9wOiA4cHg7IH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0NnB4OyB9IH0gfVxuXG4gICAgLmxhcHRvcCB7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGVsZWN0cmljLWJsdWVcbiAgICAgICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMik7XG4gICAgICAgIC8vYm9yZGVyOiAzcHggc29saWQgI2ZmZlxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbSAzLjEyNXJlbSAwIDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDMuMTI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgIC8qJjpiZWZvcmVcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnXG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlXG4gICAgICAgICAgICBoZWlnaHQ6IC44NzVyZW1cbiAgICAgICAgICAgIGxlZnQ6IDUwJVxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlXG4gICAgICAgICAgICB0b3A6IDEuMTI1cmVtXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKVxuICAgICAgICAgICAgd2lkdGg6IC44NzVyZW0qL1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICAvL2JvcmRlcjogM3B4IHNvbGlkICNmZmZcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfVxuXG5cbi5tYWluLW5hdiB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICMxNDhFQjk7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMzAwbXM7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBtaW4taGVpZ2h0OiA3NXB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICAuY29udGFpbmVyLW5ldyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjMyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAxNHB4OyB9IH1cblxuXG4ubWFpbi1uYXY6YmVmb3JlLFxuLm1haW4tbmF2OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5tYWluLW5hdjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm1haW4tbmF2IGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7IH1cblxuLm1haW4tbmF2IGxpLmFjdGl2ZSBhIHtcbiAgICBib3JkZXItYm90dG9tOiAuMTI1cmVtIHNvbGlkICM1YWMwZTU7IH1cblxuLm1haW4tbmF2IGxpLmZyZWUtdHJpYWwge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmc6IDBweCAxOHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiAuM3M7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTsgfSB9XG5cbi5tYWluLW5hdiBhLmJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjkzNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsOyB9XG5cbi5tYWluLW5hdiBhLmJ0bi5ncmVlbiB7XG4gICAgcGFkZGluZzogMC41MTI1cmVtIDAuOTM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJpZ2h0LWdyZWVuO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5tYWluLW5hdiBhLmJ0bjpob3ZlciB7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNClcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWVjMjdhOyB9XG5cbi5tYWluLW5hdiBhOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLm1haW4tbmF2IGRsIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5tYWluLW5hdiBkZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmbGV4OiAxO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgJiArIGRkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuLm1haW4tbmF2IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubWFpbi1uYXYgdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtOyB9XG5cbi5tYWluLW5hdiB1bC5yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5sb2dvLWhlcm8ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogNi4yNXJlbTsgfSB9XG5cbmEubW9iaWxlLW5hdi1idG4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnZpZGVvLm1vZGFsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgICAgIHRvcDogMzAwcHg7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLnVpLmJhc2ljLm1vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDsgfVxuXG4udWkuYmFzaWMubW9kYWwgLmNsb3NlIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG5cbi51aS5iYXNpYy5tb2RhbCB1bCB7XG4gICAgbWFyZ2luLXRvcDogMTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udWkuYmFzaWMubW9kYWwgdWwgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4udWkuYmFzaWMubW9kYWwgdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG5cbi51aS5iYXNpYy5tb2RhbCB1bCBsaSBhOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuYm9keS52aWRlby1sYW5kaW5nLmNvbXBldGl0b3Ige1xuICAgIHNlY3Rpb24uaGVhZGVyLmJyZWV6eS1ibHVlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7IH1cbiAgICBzZWN0aW9uW2NsYXNzKj0nZmVhdHVyZXMtc2NyZWVuc2hvdCddIHtcbiAgICAgICAgJi5sYW5kaW5nZm9ybSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgICBzZWN0aW9uLmhlcm8ge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgICAgICAgLmNvbnRlbnQudmlkZW8taGVybyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH0gfVxuXG5ib2R5LnZpZGVvLWxhbmRpbmcge1xuICAgIHNlY3Rpb24uaGVhZGVyLFxuICAgIHNlY3Rpb24uaGVybyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgc2VjdGlvbiAuY29udGVudC52aWRlby1oZXJvIC52aWRlby1yaWdodC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgICAgLmNvcHktY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cbiAgICAgICAgJi5nZHByLWxvY2sge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgICAgICAgJi5zbWFsbGVyIHtcbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7IH0gfSB9XG4gICAgJi5sZWZ0IHNlY3Rpb24gLmNvbnRlbnQudmlkZW8taGVybyB7XG4gICAgICAgIC52aWRlby1yaWdodC1jb250YWluZXIge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgLmNvcHktY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9IH1cbi5zaWduLXVwLWZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL3BhZGRpbmc6IDMwcHhcbiAgICBmb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAvL2JveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsMCwwLC41KVxuICAgICAgICBjb2xvcjogJGVsZWN0cmljLWJsdWU7XG4gICAgICAgIG1heC13aWR0aDogNTA0cHg7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIC8vcG9zaXRpb246IGFic29sdXRlXG5cbiAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAuaGludCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmVlenktYmx1ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZTsgfVxuXG4gICAgICAgICAgICAuZXJyb3Ige1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmOThkN2M7IH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci1kZWZhdWx0OyB9IH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGM0YzO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICY6Zm9jdXMgKyAuaGludCxcbiAgICAgICAgICAgICYuaGFzLXZhbHVlICsgLmhpbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgdG9wOiAzMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG5cbiAgICAgICAgLmJ1dHRvbnMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDVweCAwO1xuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDQwcHg7IH1cbiAgICAgICAgICAgIC5zdWJ0ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9IH0gfVxuXG4uc2lnbi11cC1mb3JtLWRlbW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGZvcm0ge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIC8vYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwwLDAsLjUpXG4gICAgICAgIGNvbG9yOiAkZWxlY3RyaWMtYmx1ZTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDRweDtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGVcblxuICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC5oaW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyZWV6eS1ibHVlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlOyB9XG5cbiAgICAgICAgICAgIC5lcnJvciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2Y5OGQ3YzsgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWRlZmF1bHQ7IH0gfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGM0YzRjM7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgJjpmb2N1cyArIC5oaW50LFxuICAgICAgICAgICAgJi5oYXMtdmFsdWUgKyAuaGludCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB0b3A6IDMycHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuICAgICAgICAuYnp5LWRyb3Bkb3duIHtcbiAgICAgICAgICAgIGkuZmEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNEE0QTRBOyB9XG4gICAgICAgICAgICAuYnp5LWRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM0YTRhNGE7XG4gICAgICAgICAgICAgICAgLndyYXAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH0gfVxuXG4gICAgICAgIC5ienktZHJvcGRvd24gLmJ6eS1kcm9wZG93bi1tZW51IGxpIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG5cbiAgICAgICAgLmJ6eS1kcm9wZG93biAuYnp5LWRyb3Bkb3duLW1lbnUgbGk6aG92ZXIsXG4gICAgICAgIC5ienktZHJvcGRvd24gLmJ6eS1kcm9wZG93bi1tZW51IGxpLnNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuICAgICAgICAuYnp5LWRyb3Bkb3duIC5ienktZHJvcGRvd24tbWVudSBkaXYge1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cblxuICAgICAgICAuYnV0dG9ucyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgNXB4IDA7XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNDBweDsgfVxuICAgICAgICAgICAgLnN1YnRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH0gfSB9XG5cbnNlY3Rpb24ucHJpY2luZy1jb21wYW55LXF1b3RlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5zZWN0aW9uLnByaWNpbmctY29tcGFueS1xdW90ZS1jb21wbGV0ZWQge1xuICAgIGFzaWRlIHtcbiAgICAgICAgcGFkZGluZzogNi4xcmVtIDAgMy43NXJlbSAwOyB9XG4gICAgLmNvbmZpcm1lZCBpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICAgIGNvbG9yOiAjNzZENjkxOyB9IH1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGJvZHkudmlkZW8tbGFuZGluZyB7XG4gICAgICAgIC5zaWduLXVwLWZvcm0ge1xuICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICAgICAgICAgLmhpbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7IH0gfSB9IH0gfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgYm9keS52aWRlby1sYW5kaW5nIHtcbiAgICAgICAgLnNpZ24tdXAtZm9ybSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgIC5zb2NpYWwtc2lnbmluLWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogOHB4ICFpbXBvcnRhbnQ7IH0gfSB9XG4gICAgICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgLmRpdmlkZXItb3ItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiAgICAgICAgICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgICAgICAgICAuaGludCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfSB9XG4gICAgICAgICAgICAuYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICBzZWN0aW9uLmhlcm8sXG4gICAgLmZlYXR1cmVzLXBhZ2Uge1xuICAgICAgICBzZWN0aW9uLmhlcm8uZmVhdHVyZXMtaGVybyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbjogNTBweCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICAgIC5sYXB0b3Age1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMS43NXJlbSAxLjc1cmVtIDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNzVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9IH1cblxuLmJ6eS1kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5ienktZHJvcGRvd24tb3BlbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4OyB9XG4gICAgLmJ6eS1kcm9wZG93bi1tZW51IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgJi5oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAud3JhcCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGM0YzO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgJjpob3ZlciwgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfSB9XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDsgfSB9XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbnVsLmxpc3QtaXRlbXMge1xuICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6ICRicmlnaHQtZ3JlZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAzcHg7IH0gfSB9XG5cbi5idXR0b24sIGJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuM3M7XG4gICAgLW1vei10cmFuc2l0aW9uOiAuM3M7XG4gICAgLW1zLXRyYW5zaXRpb246IC4zcztcbiAgICAtby10cmFuc2l0aW9uOiAuM3M7XG4gICAgdHJhbnNpdGlvbjogLjNzO1xuXG4gICAgJi53aGl0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAkYnJlZXp5LWJsdWU7IH1cbiAgICAmLmdyZWVuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyaWdodC1ncmVlbjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjNzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IC4zcztcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IC4zcztcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogLjNzO1xuICAgICAgICB0cmFuc2l0aW9uOiAuM3M7IH1cbiAgICAmLmdyZWVuOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyaWdodC1ncmVlbi1ob3ZlcjsgfVxuICAgICYuYmx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmVlenktYmx1ZTtcbiAgICAgICAgY29sb3I6ICNmZmY7IH0gfVxuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuXG4uZmVhdHVyZXMtcGFnZSBzZWN0aW9uOm5vdCguZmVhdHVyZXMtaGVybykge1xuICAgIHRyYW5zZm9ybTogc2tld1koMGRlZyk7XG4gICAgLmNvbnRlbnQge1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXdZKDBkZWcpOyB9IH1cblxuc2VjdGlvbi5oZXJvLnNrZXcge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiBza2V3WSgtNGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICAuY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogc2tld1koNGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7IH0gfVxuXG5cbnNlY3Rpb24ge1xuICAgICYuc2tldyB7XG4gICAgICAgIC8vdHJhbnNmb3JtOiBza2V3WSgtNGRlZylcbiAgICAgICAgLy90cmFuc2Zvcm0tb3JpZ2luOiAwXG4gICAgICAgIHBhZGRpbmc6IDAgNTdweCAwO1xuICAgICAgICAvL21hcmdpbi10b3A6IDEwMHB4XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIC8vdHJhbnNmb3JtOiBza2V3WSg0ZGVnKVxuICAgICAgICAgICAgLy90cmFuc2Zvcm0tb3JpZ2luOiAwXG4gICAgICAgICAgICBwYWRkaW5nOiAxMDBweCAwIDUwcHg7IH0gfVxuICAgIHBhZGRpbmc6IDEyMHB4IDU3cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAmLmJyZWV6eS1ibHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWV6eS1ibHVlO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICYuYnJpZ2h0LWdyZWVuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyaWdodC1ncmVlbjtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAmLnNvZnQtZ3JlZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzJENzhGO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuIH0gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDY4ZGVnLCAjMDg3RkE5IDEwJSwgIzlBRkZCNyAxMDAlKVxuICAgICYuZ3JleSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGOUY5Rjk7IH1cbiAgICAmLnNvZnQtYmx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzb2Z0LWJsdWU7XG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0zMDhkZWcsICMzMWFlZGQsIDYwJSwgICM1NWJmZTcgMTAwJSlcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAmLmVsZWN0cmljLWJsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWxlY3RyaWMtYmx1ZTtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAmLnB1cnBsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDY4ZGVnLCAjNmEzMDkzICwgMzAlLCAgI2I0NzZmNCAxMDAlKVxuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICYucmVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAmLm9yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0zMDhkZWcsICNhMDQ0ZmYsIDYwJSwgICNlZjNmOTUgMTAwJSlcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAmLndoaXRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRjsgfVxuICAgIC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIC8vcGFkZGluZzogMTAwcHggMFxuICAgICAgICBtYXgtd2lkdGg6IDEwMTRweDtcbiAgICAgICAgLmxhbmRpbmctbG9nbyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZzogNTBweCAwOyB9XG4gICAgICAgICYudmlkZW8taGVybyxcbiAgICAgICAgLnZpZGVvLWhlcm8ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDUwcHg7XG4gICAgICAgICAgICAuY29weS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgICAgIC52aWRlby1yaWdodC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3MHB4IDAgMCA0MHB4O1xuICAgICAgICAgICAgICAgICYuZ2Rwci1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAgICAgICAgICAgICAgIGltZy5zbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgICAgICBpbWcubGFyZ2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsOyB9XG4gICAgICAgICAgICAgICAgLnZpZGVvLXRodW1iLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogODRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTM2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zczsgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuNik7IH0gfSB9IH0gfVxuICAgICAgICAmLnZpZGVvLWhlcm8ge1xuICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMCA1MHB4OyB9IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAubWFpbi1uYXYge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIC5tYWluLW5hdi1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1koMGRlZyk7IH0gfVxuICAgIC5tYWluLW5hdiBkbCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuXG4gICAgLm1haW4tbmF2IGRsIGRkOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuICAgIC5tYWluLW5hdiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5tYWluLW5hdiBhLm1vYmlsZS1uYXYtYnRuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4gICAgLm1haW4tbmF2IGEubW9iaWxlLW5hdi1idG46aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICBzZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAzMHB4IDUwcHggIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WSgwZGVnKTtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WSgwZGVnKTsgfSB9XG4gICAgc2VjdGlvbi5mb290ZXIge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuc2lnbi11cC1mb3JtLWRlbW8ge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDBweDsgfSB9XG5cbmhlYWRlciB7XG4gICAgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDE0cHg7IH0gfVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBhcnRpY2xlLnNpZ25lZG91dCB7XG4gICAgICAgIHNlY3Rpb24uaGVybyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNzdweDsgfSB9IH1cblxuXG5cbi5zdG9yZXMge1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4gKiA0O1xuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDE2MHB4OyB9IH0gfVxuXG5ib2R5Lm9uYm9hcmRpbmctY2VudGVyZWQge1xuICAgIHNlY3Rpb24uaGVhZGVyIHtcbiAgICAgICAgLmhlcm8ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5zaWduLXVwLWZvcm0ge1xuICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgICAuYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAuc3VidGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzk5OTsgfSB9XG4gICAgICAgICAgICAuYnV0dG9ucy5jZW50ZXJlZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgICAuc29jaWFsLXNpZ25pbi1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICAgICAgICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAgICAgICAgICAgICBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cblxuICAgICAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7IH1cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDdweDsgfVxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9IH0gfVxuXG4gICAgICAgICAgICAuZGl2aWRlci1vci1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIC5saW5lIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZmVmZWY7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC05cHg7IH1cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYWFhOyB9IH0gfSB9IH1cblxuXG5pZnJhbWUub29wcyB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG5zZWN0aW9uLnBhZ2UtaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaDEge1xuICAgICAgICBtYXJnaW46IDYwcHggMCA0MHB4OyB9IH1cblxuc2VjdGlvbi5oZWFkZXIge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgLmhlcm8ge1xuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTsgfSB9XG5cbiAgICAuc2lnbi11cC1mb3JtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsMCwwLC41KTtcbiAgICAgICAgICAgIGNvbG9yOiAkZWxlY3RyaWMtYmx1ZTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTA0cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGVcblxuICAgICAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAuaGludCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmVlenktYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZTsgfVxuXG4gICAgICAgICAgICAgICAgLmVycm9yIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2Y5OGQ3YzsgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItZGVmYXVsdDsgfSB9XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGM0YzO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgJjpmb2N1cyArIC5oaW50LFxuICAgICAgICAgICAgICAgICYuaGFzLXZhbHVlICsgLmhpbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDMycHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG5cbiAgICAgICAgICAgIC5idXR0b25zIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDVweCAwO1xuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNDBweDsgfVxuICAgICAgICAgICAgICAgIC5zdWJ0ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH0gfSB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBzZWN0aW9uLmhlYWRlciB7XG4gICAgICAgIC5zaWduLXVwLWZvcm0ge1xuICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICAgICAgICAgLmhpbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7IH0gfSB9IH0gfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgc2VjdGlvbi5oZWFkZXIge1xuICAgICAgICAuc2lnbi11cC1mb3JtIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICAgICAgLnNvY2lhbC1zaWduaW4tY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHggIWltcG9ydGFudDsgfSB9IH1cbiAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAuZGl2aWRlci1vci1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuICAgICAgICAgICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgIC5oaW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9IH1cbiAgICAgICAgICAgIC5idXR0b25zIHtcbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9IH0gfSB9XG5cbkBrZXlmcmFtZXMgdGh1bWJzLXVwIHtcbiAgICAwJSB7XG4gICAgICAgIC8vb3BhY2l0eTogMFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAgIDI1JSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC00MHB4KTsgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0zMHB4KTsgfVxuICAgIDc1JSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0zNXB4KTsgfVxuICAgIDEwMCUge1xuICAgICAgICAvL29wYWNpdHk6IDFcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTMwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBzY2FsZS1ib3VuY2Uge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDI1JSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNyk7IH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gICAgNzUlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KTsgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9IH1cblxuc2VjdGlvbi5mYXEge1xuICAgIC5xYSB7XG4gICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBoNiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgY29sb3I6ICM1NTU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfSB9IH1cblxuc2VjdGlvbi5wcmljaW5nLXBsYW5zIHtcbiAgICBwYWRkaW5nOiA3NHB4IDU3cHggMzZweCA1N3B4O1xuICAgICYudjcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAucGxhbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgICAgICAgICAmLnVubyB7XG4gICAgICAgICAgICAgICAgLnBsYW4taGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICckJzsgfSB9IH0gfVxuICAgICAgICAgICAgJi5ncm93dGg6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDI0cHg7IH0gfVxuICAgICAgICAucGxhbi1oZWFkZXIge1xuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDsgfVxuICAgICAgICAgICAgc21hbGwuc3ViIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC43OyB9IH1cbiAgICAgICAgLmdldC1zdGFydGVkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDsgfSB9IH1cbiAgICAmLnY3OmhvdmVyIHtcbiAgICAgICAgLnBsYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4zcztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9IH0gfVxuXG4gICAgLnBsYW4ge1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IC4xcyBlYXNlLWluO1xuICAgICAgICAmLnVubyB7XG4gICAgICAgICAgICAucGxhbi1oZWFkZXIsXG4gICAgICAgICAgICAuZ2V0LXN0YXJ0ZWQgYS5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7IH0gfVxuICAgICAgICAmLnN0YXJ0ZXIge1xuICAgICAgICAgICAgLnBsYW4taGVhZGVyLFxuICAgICAgICAgICAgLmdldC1zdGFydGVkIGEuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlZXp5LWJsdWU7IH0gfVxuICAgICAgICAmLmdyb3d0aCB7XG4gICAgICAgICAgICAucGxhbi1oZWFkZXIsXG4gICAgICAgICAgICAuZ2V0LXN0YXJ0ZWQgYS5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmlnaHQtZ3JlZW47IH0gfVxuICAgICAgICAmLnBybyB7XG4gICAgICAgICAgICAucGxhbi1oZWFkZXIsXG4gICAgICAgICAgICAuZ2V0LXN0YXJ0ZWQgYS5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICAgICAgZW0ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJzsgfSB9IH0gfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc2NhbGUtYm91bmNlIC41cztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgICAgICAgJi5ncm93dGg6YmVmb3JlIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4xcyBlYXNlLWluO1xuICAgICAgICAgICAgei1pbmRleDogMDsgfVxuICAgICAgICAmLmdyb3d0aDpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ01vc3QgUG9wdWxhciDwn4+GJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICAmLmdyb3d0aDpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiB0aHVtYnMtdXAgMXM7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMzBweCk7IH1cbiAgICAgICAgLnBsYW4taGVhZGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgICAgICAgZW0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDY0cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJCc7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTJweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA3cHg7IH0gfVxuICAgICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMjAwOyB9IH1cbiAgICAgICAgLyouYW5pbWF0ZVxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlXG4gICAgICAgICAgICAmOmJlZm9yZVxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW5cbiAgICAgICAgICAgICAgICBjb2xvcjogIzc3N1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmVcbiAgICAgICAgICAgICAgICBsZWZ0OiAwXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDBcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXJcbiAgICAgICAgICAgICAgICB0b3A6IDVweFxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4xcyBlYXNlLWluXG4gICAgICAgICAgICAgICAgei1pbmRleDogMFxuICAgICAgICAgICAgJi5wb3B1bGFyOmJlZm9yZVxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdQb3B1bGFyIPCfkY0nXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2tcbiAgICAgICAgICAgICYucG9wdWxhcjpob3ZlcjpiZWZvcmVcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHRodW1icy11cCAxc1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0zMHB4KSovXG5cbiAgICAgICAgLnBsYW4tZGV0YWlscyB7XG4gICAgICAgICAgICBjb2xvcjogIzU1NTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAuaW5mbyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDIwcHggMTBweDtcbiAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfSB9XG5cbiAgICAgICAgICAgIC5mZWF0dXJlcyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfCtyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7IH0gfSB9IH0gfVxuXG4gICAgICAgIC5nZXQtc3RhcnRlZCB7XG4gICAgICAgICAgICAmLmVtYmVkZGVkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9IH1cblxuXG5zZWN0aW9uLnByaWNpbmctZmVhdHVyZXMtZ3JpZCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgLnRhYmxlLWdyaWQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAudGFibGUtZ3JpZC1oZWFkZXIsXG4gICAgICAgIC50YWJsZS1ncmlkLXJvdyB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH0gfVxuXG4gICAgICAgIC50YWJsZS1ncmlkLWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyAqIDQ7XG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbiAgICAgICAgLnRhYmxlLWdyaWQtcm93IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgcGFkZGluZzogJHBhZGRpbmcgMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4zcztcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cbiAgICAgICAgICAgIC5jb2x1bW4xIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzQ0NDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjFweDsgfVxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiAgICAgICAgLmNvbHVtbjEge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgICAuY29sdW1uMixcbiAgICAgICAgLmNvbHVtbjMsXG4gICAgICAgIC5jb2x1bW40LFxuICAgICAgICAuY29sdW1uNSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTUlO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgIC5jb2x1bW4yIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlOyB9XG4gICAgICAgIC5jb2x1bW4zIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJlZXp5LWJsdWU7IH1cbiAgICAgICAgLmNvbHVtbjQge1xuICAgICAgICAgICAgY29sb3I6ICRicmlnaHQtZ3JlZW47IH1cbiAgICAgICAgLmNvbHVtbjUge1xuICAgICAgICAgICAgY29sb3I6ICRwdXJwbGU7IH0gfVxuICAgIC5jb250ZW50LnN1YnNlY3Rpb24uY2VudGVyZWQge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNzc3O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfSB9XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAzNTZweDtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH0gfSB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgc2VjdGlvbi5wcmljaW5nLWZlYXR1cmVzLWdyaWQge1xuICAgICAgICAudGFibGUtZ3JpZCB7XG4gICAgICAgICAgICAudGFibGUtZ3JpZC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIC5jb2x1bW4xIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAgICAgICAuY29sdW1uMixcbiAgICAgICAgICAgICAgICAuY29sdW1uMyxcbiAgICAgICAgICAgICAgICAuY29sdW1uNCxcbiAgICAgICAgICAgICAgICAuY29sdW1uNSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgICAgICAgLnRhYmxlLWdyaWQtcm93IHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIC5jb2x1bW4xIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAgICAgICAuY29sdW1uMixcbiAgICAgICAgICAgICAgICAuY29sdW1uMyxcbiAgICAgICAgICAgICAgICAuY29sdW1uNCxcbiAgICAgICAgICAgICAgICAuY29sdW1uNSB7XG4gICAgICAgICAgICAgICAgICAgIC8vZmxleDogMVxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4gLyAyOyB9IH0gfSB9IH0gfVxuXG5cblxuc2VjdGlvbi5wcm9tb3Rpb25zLmNvbXBhbmllcyBpbWcge1xuICAgIGhlaWdodDogNTBweDsgfVxuc2VjdGlvbi5wcm9tb3Rpb25zLmNvbXBhbmllcyBpbWcucGVyc29ubmVsIHtcbiAgICB3aWR0aDogMTcwcHg7XG4gICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLXRvcDogMTdweDsgfVxuXG5zZWN0aW9uLnByb21vdGlvbnMuY29tcGFuaWVzIGltZy50bW9iaWxlIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG5zZWN0aW9uLnByb21vdGlvbnMuY29tcGFuaWVzIGltZy5yb2xhbmQge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG5zZWN0aW9uLnByb21vdGlvbnMge1xuICAgIGg0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGVzIHtcbiAgICAgICAgLmluZGVlZCB7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7IH1cbiAgICAgICAgLmxpbmtlZGluIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxuICAgICAgICAuZ2xhc3Nkb29yIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxuICAgICAgICAubW9uc3RlciB7XG4gICAgICAgICAgICB3aWR0aDogMTU2cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7IH1cbiAgICAgICAgLnN0YWNrb3ZlcmZsb3cge1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7IH1cbiAgICAgICAgLnNpbXBseWhpcmVkIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMTlweDsgfSB9XG4gICAgLnNpdGVzLm1pZGRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRtYXJnaW4gKiAzO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luICogMzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgc2VjdGlvbi5wcm9tb3Rpb25zIHtcbiAgICAgICAgLnNpdGVzIC5zaXRlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfSB9XG5cbnNlY3Rpb25bY2xhc3MqPSdmZWF0dXJlcy1zY3JlZW5zaG90J10ge1xuICAgICYubGFuZGluZ2Zvcm0ge1xuICAgICAgICAuaW5mb2xpc3Qge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG1hcmdpbiAqIDI7IH1cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJG1hcmdpbiAqIDI7IH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNnB4OyB9XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJzsgfSB9XG5cbiAgICAuZmVhdHVyZS1jYXJkIHtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5mZWF0dXJlLWltYWdlIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9IH1cblxuICAgIC5mZWF0dXJlLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBpbWcsIHZpZGVvIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDsgfSB9XG4gICAgLmJyb3dzZXItY2FwIGltZywgLmJyb3dzZXItY2FwIHZpZGVvIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDtcbiAgICAgICAgLy9ib3JkZXItdG9wOiAzMHB4ICNlZWUgc29saWRcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgLy9ib3JkZXItbGVmdDogNHB4IHNvbGlkICNlZWVcbiAgICAgICAgLy9ib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjZWVlXG4gICAgICAgIC8vYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNlZWVcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDMwcHggcmdiYSgxMCwxNSwyMCwwLjUpOyB9XG4gICAgLmJyb3dzZXItY2FwLWZ1bGwgaW1nLCAuYnJvd3Nlci1jYXAtZnVsbCB2aWRlbyB7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICNlZWU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgICAuYmlnZ2VyIGltZywgLmJpZ2dlciB2aWRlbyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDU1MHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAubGFwdG9wIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH0gfVxuXG5cbmFbZGF0YS10YXJnZXRdLnNob3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBhdHRyKG5hbWUpOyB9XG5cblxuc2VjdGlvbi5wb3AtcXVvdGVzIHtcbiAgICAkcG9wLXF1b3Rlcy1jb2xvcjogI2ZmZjtcbiAgICAucG9wLXF1b3RlIHtcbiAgICAgICAgYW5pbWF0aW9uOiA0MDBtcyBwb3AtcXVvdGVzLWVudGVyIGVhc2Utb3V0O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cbiAgICAgICAgLy9vcGFjaXR5OiAwXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4gKiA0O1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAmLnBvcC1xdW90ZS0xIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMDtcbiAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwOyB9XG4gICAgICAgICYucG9wLXF1b3RlLTIge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcztcbiAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAzMDBtczsgfVxuICAgICAgICAmLnBvcC1xdW90ZS0zIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogNjAwbXM7XG4gICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogNjAwbXM7IH1cbiAgICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wLXF1b3Rlcy1jb2xvcjtcblxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogJHBhZGRpbmcgKiAyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbiAqIDQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWRlZmF1bHQ7IH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDI1cHggMjVweCAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHBvcC1xdW90ZXMtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMzJweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7IH0gfVxuICAgICAgICAucG9wLXF1b3RlLXBlcnNvbiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcgKiAyO1xuICAgICAgICAgICAgLnBvcC1xdW90ZS1hdmF0YXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbiAqIDI7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICAgICAgIC5wb3AtcXVvdGUtaW5mbyB7XG4gICAgICAgICAgICAgICAgLnBvcC1xdW90ZS1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7IH0gfSB9IH0gfVxuXG5Aa2V5ZnJhbWVzIHBvcC1xdW90ZXMtZW50ZXIge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBtYXRyaXgoLjc1LDAsMCwuNzUsMCwwKTsgfVxuICAgIDgwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogbWF0cml4KDEuMDUsMCwwLDEuMDUsMCwwKTsgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMCk7IH0gfVxuQC13ZWJraXQta2V5ZnJhbWVzIHBvcC1xdW90ZXMtZW50ZXIge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG1hdHJpeCguNzUsMCwwLC43NSwwLDApOyB9XG4gICAgODAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG1hdHJpeCgxLjA1LDAsMCwxLjA1LDAsMCk7IH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMCk7IH0gfVxuXG5ib2R5LmxhbmRpbmctbWFpbiB7XG4gICAgc2VjdGlvbi5mZWF0dXJlcy1ncmlkIHtcbiAgICAgICAgJi5iYWRnZXMge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfSB9XG5cbnNlY3Rpb24uZmVhdHVyZXMtZ3JpZCB7XG4gICAgJi5iYWRnZXMge1xuICAgICAgICAuZmVhdHVyZS1ib3gge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmJhZGdlIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9XG5cbiAgICAuZmVhdHVyZXMtZ3JpZC1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luICogNjtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkbWFyZ2luOyB9XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4gKiAyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIGNvbG9yOiAjMTQ4RUI5OyB9IH1cblxuICAgIC5mZWF0dXJlLWJveCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbiAqIDM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4gKiA0O1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luICogMjtcbiAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICAgICAgZm9udC1zaXplOiA1MHB4OyB9XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luICogMjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBjb2xvcjogIzE0OEVCOTsgfSB9IH1cblxuc2VjdGlvbiB7XG4gICAgLmZlYXR1cmUtaW1hZ2UuaGVsbG8ge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRvcDogMjBweDsgfSB9XG5cbiAgICAuZmVhdHVyZS1pbWFnZS5zY29yZWNhcmRzIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IC02MHB4OyB9IH1cblxuICAgIC5mZWF0dXJlLWltYWdlLmludGVydmlldy1ndWlkZXMge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNTUwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRvcDogLTYwcHg7IH0gfVxuXG4gICAgLmZlYXR1cmUtaW1hZ2UuYmFja2dyb3VuZC1jaGVja3Mge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgICByaWdodDogMDsgfSB9XG5cbiAgICAuZmVhdHVyZS1pbWFnZS5kb2NzaWduaW5nIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7IH0gfVxuXG4gICAgLmZlYXR1cmUtaW1hZ2UudGFza3Mge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDIwcHg7XG4gICAgICAgICAgICB0b3A6IDEwcHg7IH0gfVxuXG4gICAgLmZlYXR1cmUtaW1hZ2UubW9iaWxlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IC0yMHB4OyB9IH1cblxuICAgIC5mZWF0dXJlLWltYWdlLmVlbyB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0b3A6IC01MHB4OyB9IH1cblxuICAgIC5mZWF0dXJlLWltYWdlLmVtcGxveWVlLXJlZmVycmFscyB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdG9wOiAtMzBweDsgfSB9XG5cbiAgICAuZmVhdHVyZS1pbWFnZS50ZWFtLWNvbnZlcnNhdGlvbiB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweCAhaW1wb3J0YW50OyB9IH1cblxuICAgIC5mZWF0dXJlLWltYWdlLmNhbmRpZGF0ZS1wcm9maWxlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IC00MHB4OyB9IH1cblxuICAgIC5mZWF0dXJlLWltYWdlLnNvdXJjaW5nIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IC00MHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9IH1cblxuc2VjdGlvbi5mZWF0dXJlcy1zY3JlZW5zaG90LWxlZnQge1xuICAgIC5mZWF0dXJlLWltYWdlIGltZyB7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsgfVxuICAgICYuc291cmNpbmcge1xuICAgICAgICAuZmVhdHVyZS1pbWFnZSBpbWcge1xuICAgICAgICAgICAgcmlnaHQ6IC0xNXB4OyB9IH0gfVxuXG5zZWN0aW9uLmZlYXR1cmVzLXNjcmVlbnNob3QtbGVmdCB7XG4gICAgLmZlYXR1cmUtaW1hZ2UgdmlkZW8ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgLmZlYXR1cmUtaW1hZ2UuZHJhZ2Ryb3Age1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiA2OThweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIC8vd2lkdGg6IDY5OHB4XG4gICAgICAgICAgICByaWdodDogNDBweDsgfSB9XG4gICAgLmZlYXR1cmUtaW1hZ2UuZHJhZ2Ryb3AtZmVhdHVyZSB2aWRlbyB7XG4gICAgICAgIGhlaWdodDogNDUwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICByaWdodDogNDBweDsgfSB9XG5cbi5zaWduZWRvdXQge1xuICAgIHNlY3Rpb24uZmVhdHVyZXMtc2NyZWVuc2hvdC1yaWdodCB7XG4gICAgICAgIC5mZWF0dXJlLWltYWdlIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7IH0gfSB9IH1cblxuLmZlYXR1cmVzLXBhZ2Uge1xuICAgIHNlY3Rpb24uZmVhdHVyZXMtc2NyZWVuc2hvdC1sZWZ0IHtcbiAgICAgICAgLmZlYXR1cmUtaW1hZ2UudmlkZW8gaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4OyB9XG4gICAgICAgIC5mZWF0dXJlLWltYWdlIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MzBweDsgfVxuICAgICAgICAuZmVhdHVyZS1pbWFnZS5kb2NzaWduaW5nIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsgfSB9XG4gICAgc2VjdGlvbi5mZWF0dXJlcy1zY3JlZW5zaG90LXJpZ2h0IHtcbiAgICAgICAgLmZlYXR1cmUtaW1hZ2UgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ0MHB4OyB9XG4gICAgICAgIC5mZWF0dXJlLWltYWdlLmRvY3NpZ25pbmcgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OyB9IH0gfVxuXG5cbnNlY3Rpb24uZmVhdHVyZXMtc2NyZWVuc2hvdC1yaWdodCB7XG4gICAgLmZlYXR1cmUtaW1hZ2UgaW1nIHtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7IH1cbiAgICAuZmVhdHVyZS1pbWFnZS52aWRlbyBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICBsZWZ0OiA0MHB4O1xuICAgICAgICB0b3A6IC0yMHB4OyB9IH1cblxuc2VjdGlvbi5mZWF0dXJlcy1zY3JlZW5zaG90LXJpZ2h0IHtcbiAgICAuZmVhdHVyZS1pbWFnZSB2aWRlbyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAuZmVhdHVyZS1pbWFnZS5kcmFnZHJvcCB2aWRlbyB7XG4gICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgIHdpZHRoOiA2OThweDtcbiAgICAgICAgbGVmdDogLTE1MHB4OyB9XG5cbiAgICAuZmVhdHVyZS1pbWFnZS5lbWFpbGNvbnZlcnNhdGlvbiB2aWRlbyB7XG4gICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgIHdpZHRoOiA3ODBweDtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICBsZWZ0OiAzMHB4OyB9IH1cblxuc2VjdGlvbi5mZWF0dXJlcy1zY3JlZW5zaG90LXJpZ2h0LnRhbGwge1xuICAgIGhlaWdodDogNzUwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwMHB4OyB9XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBzZWN0aW9uW2NsYXNzKj0nZmVhdHVyZXMtc2NyZWVuc2hvdCddIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIC5mZWF0dXJlLWltYWdlIGltZyxcbiAgICAgICAgLmZlYXR1cmUtaW1hZ2UgdmlkZW8sIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgICAgLmZlYXR1cmUtaW1hZ2UuZW1haWxjb252ZXJzYXRpb24gdmlkZW8sXG4gICAgICAgIC5mZWF0dXJlLWltYWdlLmRyYWdkcm9wLWZlYXR1cmUgdmlkZW8ge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogIzY2NjsgfSB9IH1cblxuc2VjdGlvbltjbGFzcyo9J2Jhbm5lci0nXSB7XG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfSB9XG5cbnNlY3Rpb24uYmFubmVyLWZyZWUtdHJpYWwsXG5zZWN0aW9uLmJhbm5lci1idG4tcmlnaHQge1xuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBzZWN0aW9uLmJhbm5lci1mcmVlLXRyaWFsLFxuICAgIHNlY3Rpb24uYmFubmVyLWJ0bi1yaWdodCB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfVxuXG5zZWN0aW9uLnRlc3RpbW9uYWxzIHtcbiAgYmFja2dyb3VuZDogI0RGREZENTtcbiAgcGFkZGluZzogNmVtIDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICp6b29tOiAxO1xuICB6LWluZGV4OiAtMTtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBoMiwgcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDMxcHg7XG4gICAgY29sb3I6ICM5QjlCOUI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICAgIGNvbG9yOiAjNEE0QTRBOyB9XG4gIHAgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzVBQzBFNTsgfVxuICB1bCB7XG4gICAgcGFkZGluZzogNGVtIDEuNWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzEuMjUlO1xuICAgIGhlaWdodDogMzc1cHg7XG4gICAgbWFyZ2luOiAwIDEuMDQxNjclO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbGkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgY29sb3I6ICM5QjlCOUI7XG4gICAgICBpbWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjNUFDMEU1O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMyMDhGQjc7IH0gfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgY29sb3I6ICM0QTRBNEE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIHNlY3Rpb24udGVzdGltb25hbHMge1xuICAgIHBhZGRpbmc6IDZlbSAxZW07XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogOTcuOTE2NjclO1xuICAgICAgbWFyZ2luOiAwIDEuMDQxNjclO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gIC5tYWluLWhlcm8ge1xuICAgIGhlaWdodDogNDByZW07XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfSB9XG5zZWN0aW9uLmN0YS1iYW5uZXIge1xuICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjNjk2OTY5O1xuICAgIHBhZGRpbmc6IDYuMjVyZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjNEE0QTRBO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgaDIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS4wcmVtIDA7IH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgICAgICBjb2xvcjogIzlCOUI5QjtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7IH1cbiAgICBhLnRyYW5zcGFyZW50IHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNEE0QTRBOyB9IH1cblxuICAgIGEuYnV0dG9uLnRyYW5zcGFyZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc2RDY5MTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogbmltYnVzLXNhbnMsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMi40MzhyZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzRBNEE0QTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNERkRGRDU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNERkRGRDU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggM3B4IDE1cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH0gfSB9XG5cbnNlY3Rpb24uY2VudGVyZWQtY29udGVudC5zaWdudXAtY3RhIHtcbiAgICAvL2JhY2tncm91bmQ6ICM3MkQ3OEZcbiAgICBwYWRkaW5nOiAxMDBweCA1N3B4O1xuICAgIGg0LCBoMSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbiAgICBmb3JtIHtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNWVjMjdhO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7IH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfSB9XG5cbnNlY3Rpb24uY2VudGVyZWQtY29udGVudCB7XG4gICAgcGFkZGluZzogMTAwcHggNTdweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLmxvZ28ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gICAgaDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYycHg7IH1cbiAgICBidXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7IH1cbiAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDYwcHg7XG4gICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH0gfVxuXG5zZWN0aW9uLmNlbnRlcmVkLWNvbnRlbnQuc21hbGxlciB7XG4gICAgcGFkZGluZzogNjhweCA1N3B4O1xuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBzZWN0aW9uLmNlbnRlcmVkLWNvbnRlbnQge1xuICAgICAgICAvL3BhZGRpbmc6IDMwcHggMjVweFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfVxuXG5cbnNlY3Rpb24uZmVhdHVyZXMtYnVsbGV0LWxpc3Qge1xuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjZweDsgfVxuICAgIC5mZWF0dXJlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2NnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGkuZmEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDsgfVxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyOHB4OyB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICM1NTU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOyB9IH1cblxuICAgICAgICAkY29sb3JzLWxpc3Q6ICRicmVlenktYmx1ZSAkYnJpZ2h0LWdyZWVuICRzb2Z0LWJsdWUgJG1lbGxvdy15ZWxsb3cgJGVsZWN0cmljLWJsdWUgJGRlZXAtYmx1ZTtcblxuICAgICAgICBAZWFjaCAkY3VycmVudC1jb2xvciBpbiAkY29sb3JzLWxpc3Qge1xuICAgICAgICAgICAgJGk6IGluZGV4KCRjb2xvcnMtbGlzdCwgJGN1cnJlbnQtY29sb3IpO1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoI3skaX0pIGkuZmEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjsgfSB9IH0gfVxuLmF2YXRhciB7XG4gICAgaW1nIHtcbiAgICAgICAgYm9yZGVyOiA2cHggc29saWQgI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBoZWlnaHQ6IDEwNHB4O1xuICAgICAgICB3aWR0aDogMTA0cHg7IH0gfVxuXG5zZWN0aW9uLnF1b3RlIHtcbiAgICAuYXZhdGFyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjVweDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlcjogNnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwNHB4OyB9IH1cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4yKTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTBweDsgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwZFwiO1xuICAgICAgICAgICAgbGVmdDogLTEwMHB4OyB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMGVcIjtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTAwcHg7IH0gfVxuICAgIC5jdXN0b21lciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgLm5vLXRyYW5zZm9ybSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfSB9IH1cblxuYm9keS5vbmJvYXJkaW5nLCBib2R5Lm9uYm9hcmRpbmctY2VudGVyZWQge31cblxuc2VjdGlvbi5mb290ZXIge1xuICAgIHBhZGRpbmc6IDUwcHggNTdweCA1MHB4O1xuICAgIHRyYW5zZm9ybTogc2tld1koMGRlZyk7XG4gICAgYmFja2dyb3VuZDogIzRBNEE0QTtcbiAgICBjb2xvcjogI2JhYmFiYTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAuY29udGVudCB7XG4gICAgICAgIHRyYW5zZm9ybTogc2tld1koMGRlZyk7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0QTRBNEE7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gfSAgICAgICAgLy90cmFuc2Zvcm06IHNrZXdZKC00ZGVnKVxuXG4gICAgLmZvb3Rlci13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDE0cHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYS5saW5rIHtcbiAgICAgICAgICAgIC8vLWNvbG9yOiAkZWxlY3RyaWMtYmx1ZVxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGNvbG9yOiAjYmFiYWJhO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICB1bC5mb290ZXItc3ViLWxpc3Qge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJG1hcmdpbjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2IxYjFiMTsgfSB9XG5cbiAgICAgICAgLmZvb3Rlci1saXN0LWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgIC5mb290ZXItbGlzdC1zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4gKiA0O1xuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgICAgICAgICAgIC5mb290ZXItbGlzdC1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI7IH0gfSB9IH0gfVxuXG5zZWN0aW9uLmZvb3Rlci5icmVlenktYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVsZWN0cmljLWJsdWU7XG4gICAgYS5saW5rIHtcbiAgICAgICAgY29sb3I6ICNGRkY7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuXG4gICAgYm9keS5vbmJvYXJkaW5nIHtcbiAgICAgICAgLmhlcm8gdWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBzZWN0aW9uLmZvb3RlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBib2R5Lm9uYm9hcmRpbmctY2VudGVyZWQge1xuICAgICAgICBzZWN0aW9uLmZvb3RlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5idXR0b25zIHtcbiAgICAgICAgICAgIC5zdWJ0ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfSB9XG5cbiAgICBzZWN0aW9uLmZvb3RlciB7XG4gICAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbiAgICAgICAgLmZvb3Rlci13cmFwcGVyIHtcbiAgICAgICAgICAgIC5jb2wteHMtMTIuY29sLW1kLTQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAgICAgICAuZm9vdGVyLWxpc3QtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLmZvb3Rlci1saXN0LXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lOyB9IH0gfSB9IH1cblxuXG4uYm94LXJvdW5kZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG5cbnNlY3Rpb24uY3VzdG9tZXJzIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjlGOUY5O1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXdZKC00ZGVnKTtcbiAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgaDEge1xuICAgICAgICBjb2xvcjogJGJyZWV6eS1ibHVlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3VzdG9tZXItcHJldmlldy1tYWluIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuICAgIC5ibHVyYiB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IG5vbmU7IH0gfSB9XG4gICAgLmhlcm8taW1hZ2Uge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuICAgIC5jdXN0b21lci1wcmV2aWV3LXNlY29uZGFyeSB7XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IH0gfVxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogJGJyZWV6eS1ibHVlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzOTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDsgfVxuICAgICAgICAuYm94LXJvdW5kZWQge1xuICAgICAgICAgICAgcGFkZGluZzogNjBweCAyMHB4IDMwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU0NXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9IH1cblxuc2VjdGlvbi5wYWdlLWhlYWRlciAuY3VzdG9tZXIge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIC5hdmF0YXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgYm9yZGVyOiA2cHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGhlaWdodDogNzJweDtcbiAgICAgICAgICAgIHdpZHRoOiA3MnB4OyB9IH1cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyMHB4OyB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTBkXCI7XG4gICAgICAgICAgICBsZWZ0OiAtMTUwcHg7IH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwZVwiO1xuICAgICAgICAgICAgcmlnaHQ6IC0xNTBweDsgfSB9XG4gICAgaDUsIGg2IHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBvcGFjaXR5OiAwLjg7IH1cbiAgICBoNSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuXG5zZWN0aW9uLmZlYXR1cmVzIHtcbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICYuYnJlYWsge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9IH1cblxuc2VjdGlvbi5mZWF0dXJlcyxcbnNlY3Rpb24uY3VzdG9tZXItc3Rvcnkge1xuICAgIC5jdXN0b21lci1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogJGRlZXAtYmx1ZTsgfVxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogJGJyZWV6eS1ibHVlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgZW0ge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAuY29tcGFueS1sb2dvIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuXG4gICAgLnNjcmVlbnNob3QsXG4gICAgLnF1b3RlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAuYXZhdGFyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMzZweDsgfSB9XG4gICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTAlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG4gICAgICAgICYuc29mdC1ibHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzb2Z0LWJsdWU7IH1cbiAgICAgICAgJi5wdXJwbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdGODNEODsgfVxuICAgICAgICAmLmdyZWVuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmlnaHQtZ3JlZW47IH1cbiAgICAgICAgJi5ibHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmVlenktYmx1ZTsgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbiAgICAgICAgLmF2YXRhciB7XG4gICAgICAgICAgICBsZWZ0OiAtMzZweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zNnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNzJweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzJweDsgfSB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBjb2xvcjogIzU1NTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAtMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4gICAgLnNjcmVlbnNob3Qge1xuICAgICAgICBtYXgtd2lkdGg6IDY1JTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjAlOyB9XG4gICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwJTsgfVxuICAgICAgICAmLnJpZ2h0LFxuICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgcGFkZGluZzogNXB4OyB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5zdGF0cyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLnN0YXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y5RjlGOTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICAgICAgICAgICAgJi5vcmFuZ2Uge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0Y2QkI0MjsgfVxuICAgICAgICAgICAgICAgICYuZ3JlZW4ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyaWdodC1ncmVlbjsgfVxuICAgICAgICAgICAgICAgICYuYmx1ZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZWxlY3RyaWMtYmx1ZTsgfSB9XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZWVwLWJsdWU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzI1cHgpIHtcbiAgICBzZWN0aW9uLmN1c3RvbWVyLXN0b3J5IHtcbiAgICAgICAgLnNjcmVlbnNob3QubGVmdCxcbiAgICAgICAgLnNjcmVlbnNob3QucmlnaHQsXG4gICAgICAgIC5xdW90ZS5sZWZ0LFxuICAgICAgICAucXVvdGUucmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH0gfVxuXG5cblxuYm9keS5wcm90aXBzIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgICYub3Blbi1xdW90ZXMge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgICAgaGVhZGVyLmhlYWRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ4RUI5O1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiAwOyB9XG4gICAgICAgIGZvb3Rlci5vdGhlci1mb290ZXIge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBtb3ZlLXVwIDEwMDBtcztcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDAwO1xuICAgICAgICAgICAgc2VjdGlvbi51cHNlbGwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDsgfVxuICAgIGhlYWRlci5oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTA3YmEyO1xuICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgLy9wb3NpdGlvbjogZml4ZWRcbiAgICAgICAgdG9wOiAtNzBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMTAwMG1zO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMCA1MHB4O1xuICAgICAgICAgICAgLnNoYXJlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDEwMG1zO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsMS4xLDEuMSk7IH0gfVxuICAgICAgICAgICAgICAgIGkuZmEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDM1cHg7IH0gfSB9IH1cbiAgICBzZWN0aW9uLnByb3RpcHMtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3OGViOTtcbiAgICAgICAgcGFkZGluZzogNDBweCAwIDYwcHg7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTAwcHg7IH1cbiAgICAgICAgaDYge1xuICAgICAgICAgICAgY29sb3I6ICM1NWJmZTc7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGNvbG9yOiAjNzNkODhmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIHdpZHRoOiAyNjBweDsgfSB9XG4gICAgc2VjdGlvbi5wZWVwcyB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMzVweDsgfVxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDM1N3B4OyB9IH1cbiAgICBzZWN0aW9uLmZvb3RlciB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggNTBweDsgfVxuICAgIHNlY3Rpb24uY2VudGVyZWQtY29udGVudCB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMzU3cHg7IH0gfVxuICAgIHNlY3Rpb24udXBzZWxsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMzBweCA1MHB4O1xuICAgICAgICAuYWxpZ24tcmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDM1NnB4OyB9IH1cblxuXG4gICAgc2VjdGlvbiB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4gICAgLmJveC1wZXJzb24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgNTBweCByZ2JhKDAsMCwwLC4xKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDM4NHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byA4MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDI4MnB4O1xuICAgICAgICBtaW4td2lkdGg6IDI4MnB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGhlYWRlciB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDU0cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjRweDsgfVxuICAgICAgICAuYXZhdGFyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4OyB9XG4gICAgICAgIC5uYW1lLCAudGl0bGUge1xuICAgICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDU2cHg7IH1cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgY29sb3I6ICMwNTNiNGU7IH1cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgY29sb3I6ICM5Njk3OTc7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgICAgIGZvb3RlciB7XG4gICAgICAgICAgICBib3R0b206IC0xMDBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSBlYXNlIDFzO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTY3cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2N3B4OyB9IH0gfVxuXG4gICAgLnF1b3RlZXMge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogOTk5O1xuXG4gICAgICAgIC5iYWNrZ3JvdW5kcyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAuYmcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgJi5iZy1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMjAwbXM7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICAmLmJnLWltYWdlLTEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9wcm90aXBzL2JnMS5qcGcpOyB9XG4gICAgICAgICAgICAgICAgICAgICYuYmctaW1hZ2UtMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Byb3RpcHMvYmcxLmpwZyk7IH1cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH0gfVxuXG4gICAgICAgICAgICAgICAgJi5iZy1jb2xvciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvcHJvdGlwcy9jb21tZW50LnBuZyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNywxMDQsMTM5LC43NSk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDg1JSAzMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDcwcHggMCAyMzhweDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogOTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDExMDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaS5mYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7IH0gfVxuICAgICAgICAgICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMjUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGlvbi1sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA0MHB4OyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGlvbi1yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDQwcHg7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGkuZmEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDJweDsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJsdWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWV6eS1ibHVlOyB9IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmdyZWVuOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyaWdodC1ncmVlbjsgfSB9IH0gfSB9IH1cblxuICAgICAgICAucXVvdGUge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNTViZmU3O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICAgIC5ib3gtcXVvdGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBpLmZhLXF1b3RlLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xMDBweDsgfVxuICAgICAgICAgICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gICAgICAgICAgICAgICAgZm9vdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgICAgICAgICAgICAgICAud3JhcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1nLmF2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiA2cHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjBweDsgfSB9XG4gICAgICAgICAgICAgICAgICAgIC5pbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGg0LCBoNSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmlnaHQtZ3JlZW47IH0gfSB9IH1cbiAgICAgICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTIxcHg7XG4gICAgICAgICAgICAgICAgICAgICYgKyBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfSB9IH0gfSB9XG5cblxuc2VjdGlvbi5mZWF0dXJlcyB7XG4gICAgLm1haW4taGVybyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmVlenktYmx1ZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00OWRlZywgIzA2Njc4OSAwJSwgIzJFRDFFNyA4NCUpO1xuICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYnJlZXp5LWJsdWUgMCUsICRicmVlenktYmx1ZSAyNSUsIHJnYmEoMjAsMTQyLDE4NSwgMCkpLCBsaW5lYXItZ3JhZGllbnQoNzBkZWcsICRicmVlenktYmx1ZSAwJSwgJGJyZWV6eS1ibHVlIDUwJSwgIzM3YTNjYSA1MCUsICMzN2EzY2EgMTAwJSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgICAgcGFkZGluZzogMy4xMjVyZW0gMCA1cmVtO1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTsgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfSB9IH0gfVxuXG5uYXYuZmVhdHVyZXMtbmF2IHtcbiAgICAvLy1tYXJnaW4tdG9wOiA3NXB4XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJpZ2h0LWdyZWVuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0OEVCOTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICAvL3BhZGRpbmctdG9wOiAyMHB4XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNzVweDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogc2tld1koNGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICAvL3BhZGRpbmc6IDEuMjVyZW0gMFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLmNvbnRlbnRDYW5kaWF0ZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICB3aWR0aDogMTAyNHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDE0cHg7IH1cblxuXG4gICAgYnV0dG9uLmN1cnJlbnQtZmVhdHVyZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGkuZmEge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsgfVxuICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgaS5mYSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfSB9IH1cblxuICAgICYuZml4ZWQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogNzhweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgJiArIHNlY3Rpb24uZGV0YWlscyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3MHB4OyB9IH1cbiAgICAuZmVhdHVyZXMtbGluay1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAvL2p1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGxpLmZlYXR1cmVzLWxpbmsge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIC8vYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmZcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgICAgIC8vd2lkdGg6IDE0M3B4XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAvL2JvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYnJpZ2h0LWdyZWVuXG4gICAgICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmlnaHQtZ3JlZW47XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9IH1cblxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTsgfSB9IH0gfVxuXG4gICAgLmJ6eS1kcm9wZG93bi1vcGVuIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU2cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuYnp5LWRyb3Bkb3duLW9wZW4gc3BhbixcbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIC8vcGFkZGluZzogMTVweCAwXG5cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGVsZWN0cmljLWJsdWU7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWxlY3RyaWMtYmx1ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDQ1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9IH1cblxuc2VjdGlvbi5oZXJvLmZlYXR1cmVzLWhlcm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmlnaHQtZ3JlZW4gIWltcG9ydGFudDtcbiAgICAvLy1iYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNjhkZWcsICMwODdGQTkgMTAlLCAjOUFGRkI3IDEwMCUpXG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxNTBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEzMHB4O1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDsgfSB9XG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIHAubWFpbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogODQwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG4uc3RpY2t5LWJhbm5lciB7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLDAsMCwuNSk7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogODAwcHg7XG4gICAgJi5mYWRlSW5VcCB7XG4gICAgICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMzAwbXMgbGluZWFyO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDQwMDBtcztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG4gICAgJi5mYWRlT3V0RG93biB7XG4gICAgICAgIGFuaW1hdGlvbjogZmFkZU91dERvd24gMzAwbXMgbGluZWFyO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cbiAgICAuc3RpY2t5LWJhbm5lci1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IDMwMG1zO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIGEge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgLmludHJvIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOdW5pdG8nO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4gICAgICAgIHNwYW4ubGluayB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH0gfVxuXG4gICAgJi5zdGlja3ktYmFubmVyLWhlbGxvIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExNDdmZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuc3RpY2t5LWJhbm5lciB7XG4gICAgICAgIC5pbnRybyB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLnN0aWNreS1iYW5uZXIge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAuZGV0YWlscyB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9IH0gfVxuXG4uZmVhdHVyZXMtb3ZlcmZsb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL21pbi1oZWlnaHQ6IDU2cHhcblxuICAgICY6Zm9jdXMgLmJ6eS1kcm9wZG93bi1tZW51IHt9XG4gICAgJjpob3ZlciAuYnp5LWRyb3Bkb3duLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5ienktZHJvcGRvd24tb3BlbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH0gfVxuICAgIC5ienktZHJvcGRvd24tbWVudSB7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMTQyLCAxODUsIDAuOSlcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgLy9sZWZ0OiAwXG4gICAgICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApXG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgbGkuZmVhdHVyZXMtbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAgIGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4gICAgICAgIC53cmFwIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmVlenktYmx1ZTtcbiAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogMS4zMHJlbVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9IH1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgbmF2LmZlYXR1cmVzLW5hdiB7XG4gICAgICAgIC8vcG9zaXRpb246IHJlbGF0aXZlXG4gICAgICAgIC5jb250ZW50Q2FuZGlhdGUge1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDIwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBidXR0b24uY3VycmVudC1mZWF0dXJlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAmLm9wZW4gKyB1bC5mZWF0dXJlcy1saW5rLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAgICAgICAgIHVsLmZlYXR1cmVzLWxpbmstY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAxNDIsIDE4NSwgMC45KTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZVxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgICAgICAgICAgYnIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyAnOyB9IH0gfSB9IH0gfSB9XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBib2R5LnByb3RpcHMge1xuICAgICAgICAmLm9wZW4tcXVvdGVzIHtcbiAgICAgICAgICAgIC8vcGFkZGluZy10b3A6IDBcbiAgICAgICAgICAgIGhlYWRlci5oZWFkZXIge1xuICAgICAgICAgICAgICAgIC8vcG9zaXRpb246IHN0YXRpY1xuIH0gICAgICAgICAgICAgICAgLy90b3A6IDBcbiAgICAgICAgICAgIGZvb3Rlci5vdGhlci1mb290ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH0gfVxuXG4gICAgICAgIGhlYWRlci5oZWFkZXIge1xuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICAuc2hhcmUge1xuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfSB9IH0gfVxuXG4gICAgICAgIHNlY3Rpb24ucHJvdGlwcy1oZWFkZXIge1xuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gICAgICAgIHNlY3Rpb24ucGVlcHMge1xuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgICAgICAgIC5zaG93LW1vcmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9IH1cblxuICAgICAgICAuYm94LXBlcnNvbiB7XG4gICAgICAgICAgICAvL21hcmdpbjogMCBhdXRvIDgwcHhcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICAvL21heC13aWR0aDogMTAwJVxuIH0gICAgICAgICAgICAvL21pbi13aWR0aDogMTAwJVxuICAgICAgICAucXVvdGVlcyAuYmFja2dyb3VuZHMgLmJnLmJnLWNvbG9yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIC5jbG9zZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4OyB9XG4gICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICAmLmFjdGlvbi1sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTE1cHg7IH1cbiAgICAgICAgICAgICAgICAmLmFjdGlvbi1yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTVweDsgfSB9IH1cbiAgICAgICAgLnF1b3RlZXMgLnF1b3RlIC5ib3gtcXVvdGUge1xuICAgICAgICAgICAgaS5mYS1xdW90ZS1yaWdodCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IC00NXB4OyB9XG4gICAgICAgICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gfSB9ICAgICAgICAgICAgICAgIC8vcGFkZGluZzogMCAzMHB4XG4gICAgICAgIHNlY3Rpb24uY2VudGVyZWQtY29udGVudC5icmVlenktYmx1ZSB7XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfSB9XG5cbi5kcm9wLWluIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICYubmctZW50ZXIgLmJveC1wZXJzb24ge1xuICAgICAgICBhbmltYXRpb246IGRyb3AtaW4gbGluZWFyIDMwMG1zO1xuICAgICAgICAtd2ViaXQtYW5pbWF0aW9uOiBkcm9wLWluIGxpbmVhciAzMDBtczsgfVxuICAgICYubmctZW50ZXIubmctZW50ZXItYWN0aXZlIC5ib3gtcGVyc29uIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkcm9wLWluIGxpbmVhciAzMDBtcztcbiAgICAgICAgLXdlYml0LWFuaW1hdGlvbjogZHJvcC1pbiBsaW5lYXIgMzAwbXM7IH0gfVxuXG5Aa2V5ZnJhbWVzIGRyb3AtaW4ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDIsMiwyKTsgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpOyB9IH1cbkAtd2Via2l0LWtleWZyYW1lcyBkcm9wLWluIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDIsMiwyKTsgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGV4cGFuZC1vdXQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTsgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMiwyLDIpOyB9IH1cbkAtd2Via2l0LWtleWZyYW1lcyBleHBhbmQtdXAge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMCwwLDApOyB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTsgfSB9XG5cblxuQGtleWZyYW1lcyBjb2xsYXBzZS1kb3duIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7IH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsMCwwKTsgfSB9XG5ALXdlYmtpdC1rZXlmcmFtZXMgY29sbGFwc2UtZG93biB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7IH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMCwwLDApOyB9IH1cblxuQGtleWZyYW1lcyBtb3ZlLXVwIHtcbiAgICAwJSB7XG4gICAgICAgIGJvdHRvbTogLTI4NHB4OyB9XG4gICAgMTAwJSB7XG4gICAgICAgIGJvdHRvbTogMDsgfSB9XG5ALXdlYmtpdC1rZXlmcmFtZXMgbW92ZS11cCB7XG4gICAgMCUge1xuICAgICAgICBib3R0b206IC0yODRweDsgfVxuICAgIDEwMCUge1xuICAgICAgICBib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmNvbnRhaW5lci1uZXcge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgLmNvbnRlbnQge1xuICAgICAgICAmLnZpZGVvLWhlcm8ge1xuXG4gICAgICAgICAgICAuY29weS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogNDBweFxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgIC52aWRlby1yaWdodC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogODBweCAwIDAgMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgICAgICAgICAgICAgaW1nLnNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbCAgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgICAgIGltZy5sYXJnZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH0gfSB9XG5cbiAgICBzZWN0aW9uLmhlcm8gLnZpZGVvLWN0YSBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5cbnNlY3Rpb24ucHJpdmFjeSwgc2VjdGlvbi5zZWN1cml0eSB7XG4gICAgaDQge1xuICAgICAgICBtYXJnaW4tdG9wOiAkbWFyZ2luICogNDsgfVxuXG4gICAgaDUge1xuICAgICAgICBjb2xvcjogJGVsZWN0cmljLWJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4gKiAyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiAgICBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luICogMjsgfVxuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbiAqIDI7IH1cblxuICAgIHVsLCBvbCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41OyB9IH1cblxuICAgIHAsIG9sLCB1bCwgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luICogMjsgfVxuXG4gICAgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5zZWN0aW9uLnRlYW0ge1xuICAgIC8vYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgdG9wLCAkYnJlZXp5LWJsdWUgMCUsICRicmVlenktYmx1ZSA1MCUsICNmZmYgNTElLCAjZmZmIDEwMCUpXG4gICAgLy9iYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTUwcHhcbiAgICAvL2JhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAwXG4gICAgLy9iYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgLm1lbWJlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIC5hdmF0YXIge1xuICAgICAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICAmLnB1cnBsZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcbiAgICAgICAgICAgICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzYsMTA3LDE4NSwgLjcpOyB9IH1cbiAgICAgICAgICAgICYub3JhbmdlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwxNTksOTAsIC43KTsgfSB9XG4gICAgICAgICAgICAmLnJlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsNjksNjksIC43KTsgfSB9XG4gICAgICAgICAgICAmLmdyZWVuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJpZ2h0LWdyZWVuO1xuICAgICAgICAgICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExNCwyMTUsMTQzLCAuNyk7IH0gfVxuICAgICAgICAgICAgJi55ZWxsb3cge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWxsb3cteWVsbG93O1xuICAgICAgICAgICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMSwxODgsNTksIC43KTsgfSB9XG4gICAgICAgICAgICAmLmxpZ2h0LWJsdWUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzb2Z0LWJsdWU7XG4gICAgICAgICAgICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODUsMTkxLDIzMSwgLjcpOyB9IH1cbiAgICAgICAgICAgICYuZGFyay1ibHVlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVlcC1ibHVlO1xuICAgICAgICAgICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQsNTksNzgsIC43KTsgfSB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiB9ICAgICAgICAgICAgICAgIC8vdHJhbnNpdGlvbjogZmlsdGVyIDMwMG1zIGVhc2VcbiAgICAgICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjEwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICAud3JhcC10YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgICAgICAgLndyYXAtY2VsbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfSB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJsdXIoNXB4KTsgfVxuICAgICAgICAgICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgICAgICAgICAvL2FuaW1hdGlvbjogZHJvcC1pbiBsaW5lYXIgMzAwbXNcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9XG4gICAgICAgIC5kZWV0cyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDsgfVxuICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH0gfSB9IH1cblxuc2VjdGlvbi50ZWFtLXN0YXRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlO1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoMSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgLnN0YXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICYuYmx1ZSB7XG4gICAgICAgICAgICBjb2xvcjogJHNvZnQtYmx1ZTsgfVxuICAgICAgICAmLm9yYW5nZSB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTsgfVxuICAgICAgICAmLmdyZWVuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0LWdyZWVuOyB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0OHB4OyB9IH0gfSB9XG5cbnNlY3Rpb24udGVhbS1waG90b3Mge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoMSB7XG4gICAgICAgIGNvbG9yOiAkYnJlZXp5LWJsdWU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG5cbiAgICAuZ3JpZCB7XG4gICAgICAgIC5waG90byB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgJi50b3Age1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzAwcHg7IH1cbiAgICAgICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgICAgICYuaGFsZiB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTkwcHg7IH0gfVxuICAgICAgICAgICAgJi5sYXN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH0gfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzVlbSkge1xuICAgIHNlY3Rpb24udGVhbS1waG90b3Mge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuXG5cblxuLnZpc2libGUteHMsIC52aXNpYmxlLXNtLCAudmlzaWJsZS1tZCwgLnZpc2libGUtbGcge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLnJvdy52aXNpYmxlLXhzIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICB0YWJsZS52aXNpYmxlLXhzIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRyLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoLnZpc2libGUteHMsIHRkLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjJlbSkge1xuICAudmlzaWJsZS1zbSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAucm93LnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIudmlzaWJsZS1zbSB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgudmlzaWJsZS1zbSwgdGQudmlzaWJsZS1zbSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYyZW0pIGFuZCAobWF4LXdpZHRoOiA3NWVtKSB7XG4gIC52aXNpYmxlLW1kIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5yb3cudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ci52aXNpYmxlLW1kIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aC52aXNpYmxlLW1kLCB0ZC52aXNpYmxlLW1kIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAucm93LnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgudmlzaWJsZS1sZywgdGQudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgLmhpZGRlbi14cyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2MmVtKSB7XG4gIC5oaWRkZW4tc20ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MmVtKSBhbmQgKG1heC13aWR0aDogNzVlbSkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaGlkZGVuLWxnIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgMS4xMi4xIC0gRGltbWVyXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE0IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICBEaW1tZXJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5kaW1tYWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udWkge1xuICAmLmRpbW1lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwZW0gIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGxpbmVhcjtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgPiAuY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDtcbiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH0gfSB9XG4gICYuc2VnbWVudCA+IC51aS5kaW1tZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQgIWltcG9ydGFudDsgfSB9XG5cbi8qIERpbW1lciBDb250ZW50ICovXG5cbi8qIExvb3NlIENvdXBsaW5nICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgIFN0YXRlc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLmFuaW1hdGluZy5kaW1tYWJsZTpub3QoYm9keSkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5kaW1tZWQuZGltbWFibGUge1xuICAmOm5vdChib2R5KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICA+IC51aSB7XG4gICAgJi5hbmltYXRpbmcuZGltbWVyLCAmLnZpc2libGUuZGltbWVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3BhY2l0eTogMTsgfSB9IH1cblxuLnVpIHtcbiAgJi5hY3RpdmUuZGltbWVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxOyB9XG4gICYuZGlzYWJsZWQuZGltbWVyIHtcbiAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICYucGFnZS5kaW1tZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogJyc7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiAnJztcbiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiAyMDAwcHg7XG4gICAgcGVyc3BlY3RpdmU6IDIwMDBweDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgVmFyaWF0aW9uc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICogICAgICBQYWdlXG4gKi0tLS0tLS0tLS0tLS0tLSAqL1xuXG5ib2R5IHtcbiAgJi5hbmltYXRpbmcuaW4uZGltbWFibGUsICYuZGltbWVkLmRpbW1hYmxlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICYuZGltbWFibGUgPiAuZGltbWVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH0gfVxuXG4vKlxuICpib2R5LmRpbW1hYmxlID4gOm5vdCguZGltbWVyKSB7XG4gKiAgZmlsdGVyOiBAZWxlbWVudFN0YXJ0RmlsdGVyO1xuICp9XG4gKmJvZHkuZGltbWVkLmRpbW1hYmxlID4gOm5vdCguZGltbWVyKSB7XG4gKiAgZmlsdGVyOiBAZWxlbWVudEVuZEZpbHRlcjtcbiAqICB0cmFuc2l0aW9uOiBAZWxlbWVudFRyYW5zaXRpb247XG4gKn0gKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICogICAgQWxpZ25lZFxuICotLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpIHtcbiAgJi5kaW1tZXIgPiB7XG4gICAgLnRvcC5hbGlnbmVkLmNvbnRlbnQgPiAqIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAuYm90dG9tLmFsaWduZWQuY29udGVudCA+ICoge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfSB9XG4gICYuaW52ZXJ0ZWQuZGltbWVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICAgID4gLmNvbnRlbnQgPiAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgJi5zaW1wbGUuZGltbWVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDAlO1xuICAgIGhlaWdodDogMCU7XG4gICAgei1pbmRleDogLTEwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9IH1cblxuLyotLS0tLS0tLS0tLS0tLVxuICogICAgSW52ZXJ0ZWRcbiAqLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAqICAgICBTaW1wbGVcbiAqLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIERpc3BsYXlzIHdpdGhvdXQgamF2YXNjcmlwdCAqL1xuXG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLnNpbXBsZS5kaW1tZXIge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgei1pbmRleDogMTsgfVxuXG4udWkuc2ltcGxlLmludmVydGVkLmRpbW1lciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7IH1cblxuLmRpbW1lZC5kaW1tYWJsZSA+IC51aS5zaW1wbGUuaW52ZXJ0ZWQuZGltbWVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICBUaGVtZSBPdmVycmlkZXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgVXNlciBPdmVycmlkZXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cblxuLyohXG4gKiAjIFNlbWFudGljIFVJIDEuMTIuMiAtIE1vZGFsXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE0IENvbnRyaWJ1dG9yc1xuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgTW9kYWxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi51aSB7XG4gICYubW9kYWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDE7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXJnaW4tbGVmdDogLTQ1JTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI4NTdyZW07XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDtcbiAgICAtbW96LXVzZXItc2VsZWN0OiB0ZXh0O1xuICAgIC1tcy11c2VyLXNlbGVjdDogdGV4dDtcbiAgICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgICB3aWxsLWNoYW5nZTogdG9wLCBsZWZ0LCBtYXJnaW4sIHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICA+IHtcbiAgICAgICA6Zmlyc3QtY2hpbGQ6bm90KC5pY29uKSB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1N3JlbTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjg1N3JlbTsgfVxuICAgICAgLmljb246Zmlyc3QtY2hpbGQgKyAqIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3cmVtO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yODU3cmVtOyB9XG4gICAgICAgOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTdyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI4NTdyZW07IH1cbiAgICAgIC5jbG9zZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0yLjVyZW07XG4gICAgICAgIHJpZ2h0OiAtMi41cmVtO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgd2lkdGg6IDIuMjVyZW07XG4gICAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMHJlbSAwcmVtIDByZW07XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICAgLmhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjA1KSkgI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKSAjZmZmZmZmO1xuICAgICAgICBtYXJnaW46IDBlbTtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtIDJyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM5LCA0MSwgNDMsIDAuMTUpOyB9XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgID4ge1xuICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgd2lkdGg6ICcnO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICZbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0ge1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgICAgICAgICAmW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdIHtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfSB9XG4gICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgICAgICAgLmljb24gKyAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAnJztcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTsgfVxuICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICArIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogJyc7XG4gICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMmVtOyB9XG4gICAgICAgICAgICA+IGkuaWNvbiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogOHJlbTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwZW07XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH0gfSB9IH1cbiAgICAuYWN0aW9ucyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzksIDQxLCA0MywgMC4xNSk7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgID4gLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1ZW07IH0gfSB9XG4gICYuYmFzaWMubW9kYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwZW07XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIC5oZWFkZXIsIC5jb250ZW50LCAuYWN0aW9ucyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5oZWFkZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY2xvc2Uge1xuICAgICAgdG9wOiAxcmVtO1xuICAgICAgcmlnaHQ6IDEuNXJlbTsgfSB9IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgQ29udGVudFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICogICAgIENsb3NlXG4gKi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gKiAgICAgSGVhZGVyXG4gKi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gKiAgICAgQ29udGVudFxuICotLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogSW1hZ2UgKi9cblxuLyogRGVzY3JpcHRpb24gKi9cblxuLypydGw6aWdub3JlICovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAqICAgICBBY3Rpb25zXG4gKi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqICAgICAgIFJlc3BvbnNpdmVcbiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogTW9kYWwgV2lkdGggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLm1vZGFsIHtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gLTQ3LjUlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkubW9kYWwge1xuICAgIHdpZHRoOiA4OCU7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtNDQlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkubW9kYWwge1xuICAgIHdpZHRoOiA3NCU7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtMzclOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLnVpLm1vZGFsIHtcbiAgICB3aWR0aDogNTYlO1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gLTI4JTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5tb2RhbCB7XG4gICAgd2lkdGg6IDQyJTtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIC0yMSU7IH0gfVxuXG4vKiBUYWJsZXQgYW5kIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAudWkubW9kYWwgPiB7XG4gICAgLmhlYWRlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjI1cmVtOyB9XG4gICAgLmNsb3NlIHtcbiAgICAgIHRvcDogMC45MDVyZW07XG4gICAgICByaWdodDogMXJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7IH0gfSB9XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkubW9kYWwge1xuICAgID4ge1xuICAgICAgLmhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAuY29udGVudCB7XG4gICAgICA+IC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMGVtIGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwcmVtIDByZW0gMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICA+IC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDByZW0gIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gICAgPiAuY29udGVudCA+IC5pbWFnZSA+IGkuaWNvbiB7XG4gICAgICBmb250LXNpemU6IDVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICA+IC5hY3Rpb25zIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuYWN0aW9ucyAuYnV0dG9ucywgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgLypydGw6aWdub3JlICovXG4gIC8qcnRsOmlnbm9yZSAqL1xuICAvKiBMZXQgQnV0dG9ucyBTdGFjayAqLyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICBUeXBlc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLyogVGFibGV0IGFuZCBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnVpLmJhc2ljLm1vZGFsID4gLmNsb3NlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgIFZhcmlhdGlvbnNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qIEEgbW9kYWwgdGhhdCBjYW5ub3QgZml0IG9uIHRoZSBwYWdlICovXG5cbi5zY3JvbGxpbmcuZGltbWFibGUge1xuICAmLmRpbW1lZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICA+IC5kaW1tZXIge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH0gfVxuICA+IC5kaW1tZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfSB9XG5cbi51aSB7XG4gICYuc2Nyb2xsaW5nLm1vZGFsIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbjogMy41cmVtIGF1dG8gIWltcG9ydGFudDsgfVxuICAmLmFjdGl2ZS5tb2RhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgJi5mdWxsc2NyZWVuIHtcbiAgICAmLm1vZGFsIHtcbiAgICAgIHdpZHRoOiA5NSUgIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IDIuNSUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMWVtIGF1dG87IH1cbiAgICAmLnNjcm9sbGluZy5tb2RhbCB7XG4gICAgICBsZWZ0OiAwZW0gIWltcG9ydGFudDsgfVxuICAgICYubW9kYWwgPiB7XG4gICAgICAuaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi4yNXJlbTsgfVxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgdG9wOiAwLjkwNXJlbTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7IH0gfSB9XG4gICYubW9kYWwge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAmLnNtYWxsLm1vZGFsID4gLmhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxLjNlbTsgfVxuICAmLmxhcmdlLm1vZGFsID4gLmhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxLjZlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnVpLnNjcm9sbGluZy5tb2RhbCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgIFN0YXRlc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICBWYXJpYXRpb25zXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gKiAgIEZ1bGwgU2NyZWVuXG4gKi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gKiAgICAgIFNpemVcbiAqLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIFNtYWxsICovXG5cbi8qIFNtYWxsIE1vZGFsIFdpZHRoICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5zbWFsbC5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIC00Ny41JTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLnNtYWxsLm1vZGFsIHtcbiAgICB3aWR0aDogNTIuOCU7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtMjYuNCU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5zbWFsbC5tb2RhbCB7XG4gICAgd2lkdGg6IDQ0LjQlO1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gLTIyLjIlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLnVpLnNtYWxsLm1vZGFsIHtcbiAgICB3aWR0aDogMzMuNiU7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtMTYuOCU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkuc21hbGwubW9kYWwge1xuICAgIHdpZHRoOiAyNS4yJTtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIC0xMi42JTsgfSB9XG5cbi8qIExhcmdlIE1vZGFsIFdpZHRoICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLmxhcmdlLm1vZGFsIHtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gLTQ3LjUlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkubGFyZ2UubW9kYWwge1xuICAgIHdpZHRoOiA4OCU7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtNDQlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkubGFyZ2UubW9kYWwge1xuICAgIHdpZHRoOiA4OC44JTtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIC00NC40JTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC51aS5sYXJnZS5tb2RhbCB7XG4gICAgd2lkdGg6IDY3LjIlO1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gLTMzLjYlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLmxhcmdlLm1vZGFsIHtcbiAgICB3aWR0aDogNTAuNCU7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtMjUuMiU7IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICBUaGVtZSBPdmVycmlkZXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgIFNpdGUgT3ZlcnJpZGVzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAxLjExLjUgLSBUcmFuc2l0aW9uXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDE0IENvbnRyaWJ1dG9yc3NcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICogKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgIFRyYW5zaXRpb25zXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4udHJhbnNpdGlvbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICBTdGF0ZXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qIEFuaW1hdGluZyAqL1xuLmFuaW1hdGluZy50cmFuc2l0aW9uIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG5cbi8qIExvYWRpbmcgKi9cbi5sb2FkaW5nLnRyYW5zaXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTk5cHg7XG4gIGxlZnQ6IC05OTk5OXB4OyB9XG5cbi8qIEhpZGRlbiAqL1xuLmhpZGRlbi50cmFuc2l0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIFZpc2libGUgKi9cbi52aXNpYmxlLnRyYW5zaXRpb24ge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cblxuLyogRGlzYWJsZWQgKi9cbi5kaXNhYmxlZC50cmFuc2l0aW9uIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICBWYXJpYXRpb25zXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4ubG9vcGluZy50cmFuc2l0aW9uIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgIFRyYW5zaXRpb25zXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKlxuICogIFNvbWUgdHJhbnNpdGlvbnMgYWRhcHRlZCBmcm9tIEFuaW1hdGUgQ1NTXG4gKiAgaHR0cHM6Ly9naXRodWIuY29tL2RhbmVkZW4vYW5pbWF0ZS5jc3NcbiAqXG4gKiAgQWRkaXRpb25hbCB0cmFuc2l0aW9ucyBhZGFwdGVkIGZyb20gR2xpZGVcbiAqICBieSBOaWNrIFBldHRpdCAtIGh0dHBzOiAqLy8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAqICAgICBCcm93c2VcbiAqLS0tLS0tLS0tLS0tLS0tICovXG5cbi50cmFuc2l0aW9uLmJyb3dzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4udHJhbnNpdGlvbi5icm93c2UuaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBicm93c2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJyb3dzZUluOyB9XG5cbi50cmFuc2l0aW9uLmJyb3dzZS5vdXQsXG4udHJhbnNpdGlvbi5icm93c2UubGVmdC5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBicm93c2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYnJvd3NlT3V0TGVmdDsgfVxuXG4udHJhbnNpdGlvbi5icm93c2UucmlnaHQub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYnJvd3NlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBicm93c2VPdXRSaWdodDsgfVxuXG4vKiBJbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJyb3dzZUluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigwcHgpO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigwcHgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDBweCk7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDk5OTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWigwcHgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWigwcHgpO1xuICAgIHotaW5kZXg6IDk5OTsgfSB9XG5cblxuQGtleWZyYW1lcyBicm93c2VJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDBweCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAxMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigwcHgpO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KSB0cmFuc2xhdGVaKDBweCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KSB0cmFuc2xhdGVaKDBweCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiA5OTk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB6LWluZGV4OiA5OTk7IH0gfVxuXG5cbi8qIE91dCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJyb3dzZU91dExlZnQge1xuICAwJSB7XG4gICAgei1pbmRleDogOTk5O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZyk7IH1cbiAgNTAlIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTA1JSkgcm90YXRlWSgzNWRlZykgcm90YXRlWCgxMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDUlKSByb3RhdGVZKDM1ZGVnKSByb3RhdGVYKDEwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTsgfVxuICA4MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgei1pbmRleDogLTE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIGJyb3dzZU91dExlZnQge1xuICAwJSB7XG4gICAgei1pbmRleDogOTk5O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZyk7IH1cbiAgNTAlIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTA1JSkgcm90YXRlWSgzNWRlZykgcm90YXRlWCgxMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDUlKSByb3RhdGVZKDM1ZGVnKSByb3RhdGVYKDEwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTsgfVxuICA4MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgei1pbmRleDogLTE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYnJvd3NlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgei1pbmRleDogOTk5O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZyk7IH1cbiAgNTAlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDUlKSByb3RhdGVZKDM1ZGVnKSByb3RhdGVYKDEwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTsgfVxuICA4MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgei1pbmRleDogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5cbkBrZXlmcmFtZXMgYnJvd3NlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgei1pbmRleDogOTk5O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZyk7IH1cbiAgNTAlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwNSUpIHJvdGF0ZVkoMzVkZWcpIHJvdGF0ZVgoMTBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDUlKSByb3RhdGVZKDM1ZGVnKSByb3RhdGVYKDEwZGVnKSB0cmFuc2xhdGVaKC0xMHB4KTsgfVxuICA4MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgei1pbmRleDogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAqICAgICBEcm9wXG4gKi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZHJvcC50cmFuc2l0aW9uIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM0LCAxLjYxLCAwLjcsIDEpO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zNCwgMS42MSwgMC43LCAxKTsgfVxuXG4uZHJvcC50cmFuc2l0aW9uLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZHJvcEluO1xuICBhbmltYXRpb24tbmFtZTogZHJvcEluOyB9XG5cbi5kcm9wLnRyYW5zaXRpb24ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZHJvcE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGRyb3BPdXQ7IH1cblxuLyogRHJvcCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGRyb3BJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5cbkBrZXlmcmFtZXMgZHJvcEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIGRyb3BPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIGRyb3BPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9IH1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gKiAgICAgIEZhZGVcbiAqLS0tLS0tLS0tLS0tLS0tICovXG5cbi50cmFuc2l0aW9uLmZhZGUuaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47IH1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSB1cFwiXS5pbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7IH1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSBkb3duXCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247IH1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSBsZWZ0XCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7IH1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSByaWdodFwiXS5pbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7IH1cblxuLnRyYW5zaXRpb24uZmFkZS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHVwXCJdLm91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsgfVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGRvd25cIl0ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsgfVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGxlZnRcIl0ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsgfVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHJpZ2h0XCJdLm91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDsgfVxuXG4vKiBJbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOyB9IH1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTsgfSB9XG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0gfVxuXG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfSB9XG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0gfVxuXG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfSB9XG5cblxuLyogT3V0ICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwJSk7IH0gfVxuXG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMCUpOyB9IH1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG5cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9IH1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSk7IH0gfVxuXG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSk7IH0gfVxuXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAlKTsgfSB9XG5cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAlKTsgfSB9XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICogICAgIEZsaXBzXG4gKi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZmxpcC50cmFuc2l0aW9uLmluLFxuLmZsaXAudHJhbnNpdGlvbi5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNjAwbXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNjAwbXM7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDIwMDBweDtcbiAgcGVyc3BlY3RpdmU6IDIwMDBweDsgfVxuXG4uaG9yaXpvbnRhbC5mbGlwLnRyYW5zaXRpb24uaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBob3Jpem9udGFsRmxpcEluO1xuICBhbmltYXRpb24tbmFtZTogaG9yaXpvbnRhbEZsaXBJbjsgfVxuXG4uaG9yaXpvbnRhbC5mbGlwLnRyYW5zaXRpb24ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaG9yaXpvbnRhbEZsaXBPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBob3Jpem9udGFsRmxpcE91dDsgfVxuXG4udmVydGljYWwuZmxpcC50cmFuc2l0aW9uLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdmVydGljYWxGbGlwSW47XG4gIGFuaW1hdGlvbi1uYW1lOiB2ZXJ0aWNhbEZsaXBJbjsgfVxuXG4udmVydGljYWwuZmxpcC50cmFuc2l0aW9uLm91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHZlcnRpY2FsRmxpcE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHZlcnRpY2FsRmxpcE91dDsgfVxuXG4vKiBJbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGhvcml6b250YWxGbGlwSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5cbkBrZXlmcmFtZXMgaG9yaXpvbnRhbEZsaXBJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIHZlcnRpY2FsRmxpcEluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIHZlcnRpY2FsRmxpcEluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vKiBPdXQgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBob3Jpem9udGFsRmxpcE91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5cbkBrZXlmcmFtZXMgaG9yaXpvbnRhbEZsaXBPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdmVydGljYWxGbGlwT3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIHZlcnRpY2FsRmxpcE91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICogICAgICBTY2FsZVxuICotLS0tLS0tLS0tLS0tLS0gKi9cblxuLnNjYWxlLnRyYW5zaXRpb24uaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzY2FsZUluO1xuICBhbmltYXRpb24tbmFtZTogc2NhbGVJbjsgfVxuXG4uc2NhbGUudHJhbnNpdGlvbi5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzY2FsZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNjYWxlT3V0OyB9XG5cbi8qIEluICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2NhbGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIHNjYWxlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cblxuLyogT3V0ICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2NhbGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTsgfSB9XG5cblxuQGtleWZyYW1lcyBzY2FsZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB9IH1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gKiAgICAgIEZseVxuICotLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogSW53YXJkICovXG4udHJhbnNpdGlvbi5mbHkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjZzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG5cbi50cmFuc2l0aW9uLmZseS5pbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZseUluO1xuICBhbmltYXRpb24tbmFtZTogZmx5SW47IH1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHVwXCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmx5SW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseUluVXA7IH1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IGRvd25cIl0uaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbHlJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlJbkRvd247IH1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IGxlZnRcIl0uaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbHlJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlJbkxlZnQ7IH1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHJpZ2h0XCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmx5SW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseUluUmlnaHQ7IH1cblxuLyogT3V0d2FyZCAqL1xuLnRyYW5zaXRpb24uZmx5Lm91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZseU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseU91dDsgfVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgdXBcIl0ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmx5T3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXRVcDsgfVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgZG93blwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbHlPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogZmx5T3V0RG93bjsgfVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgbGVmdFwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbHlPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmx5T3V0TGVmdDsgfVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgcmlnaHRcIl0ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmx5T3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXRSaWdodDsgfVxuXG4vKiBJbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZseUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5cbkBrZXlmcmFtZXMgZmx5SW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZseUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTUwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDE1MDBweCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIGZseUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTUwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDE1MDBweCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmx5SW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNTAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1MDBweCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG5cbkBrZXlmcmFtZXMgZmx5SW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNTAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1MDBweCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbHlJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1MDBweCwgMCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cblxuQGtleWZyYW1lcyBmbHlJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1MDBweCwgMCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZseUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1MDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUwMHB4LCAwLCAwKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cblxuQGtleWZyYW1lcyBmbHlJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNTAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1MDBweCwgMCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG5cbi8qIE91dCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZseU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpOyB9XG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfSB9XG5cblxuQGtleWZyYW1lcyBmbHlPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTsgfVxuICA1MCUsXG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH0gfVxuXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbHlPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7IH1cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsgfSB9XG5cblxuQGtleWZyYW1lcyBmbHlPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7IH1cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsgfSB9XG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZseU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7IH1cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfSB9XG5cblxuQGtleWZyYW1lcyBmbHlPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOyB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH0gfVxuXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbHlPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIGZseU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH0gfVxuXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbHlPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH0gfVxuXG5cbkBrZXlmcmFtZXMgZmx5T3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9IH1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gKiAgICAgU2xpZGVcbiAqLS0tLS0tLS0tLS0tLS0tICovXG5cbi50cmFuc2l0aW9uLnNsaWRlLmluLFxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgZG93blwiXS5pbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5ZO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7IH1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgdXBcIl0uaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5ZO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyOyB9XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGxlZnRcIl0uaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5YO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0OyB9XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHJpZ2h0XCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblg7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDsgfVxuXG4udHJhbnNpdGlvbi5zbGlkZS5vdXQsXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBkb3duXCJdLm91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0WTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0WTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsgfVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSB1cFwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFk7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7IH1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgbGVmdFwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFg7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7IH1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgcmlnaHRcIl0ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRYO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRYO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0OyB9XG5cbi8qIEluICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTsgfSB9XG5cblxuQGtleWZyYW1lcyBzbGlkZUluWSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpOyB9IH1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblgge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfSB9XG5cblxuQGtleWZyYW1lcyBzbGlkZUluWCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9IH1cblxuXG4vKiBPdXQgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTsgfSB9XG5cblxuQGtleWZyYW1lcyBzbGlkZU91dFkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTsgfSB9XG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0WCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0WCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApOyB9IH1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gKiAgICAgU3dpbmdcbiAqLS0tLS0tLS0tLS0tLS0tICovXG5cbi50cmFuc2l0aW9uLnN3aW5nIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDgwMG1zO1xuICBhbmltYXRpb24tZHVyYXRpb246IDgwMG1zOyB9XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGRvd25cIl0uaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nSW5YO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOyB9XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHVwXCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmdJblg7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjsgfVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyBsZWZ0XCJdLmluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmdJblk7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDsgfVxuXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyByaWdodFwiXS5pbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nSW5ZO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdJblk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGxlZnQ7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGxlZnQ7IH1cblxuLnRyYW5zaXRpb24uc3dpbmcub3V0LFxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgZG93blwiXS5vdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7IH1cblxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgdXBcIl0ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmdPdXRYO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdPdXRYO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyOyB9XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGxlZnRcIl0ub3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmdPdXRZO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdPdXRZO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0OyB9XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHJpZ2h0XCJdLm91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WTtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDsgfVxuXG4vKiBJbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nSW5YIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDE1ZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTcuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTcuNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgwZGVnKTsgfSB9XG5cblxuQGtleWZyYW1lcyBzd2luZ0luWCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgxNWRlZyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC03LjVkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMGRlZyk7IH0gfVxuXG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZ0luWSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC0xNy41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTcuNWRlZyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoNy41ZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIHN3aW5nSW5ZIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTE3LjVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC0xNy41ZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoNy41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSg3LjVkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMGRlZyk7IH0gfVxuXG5cbi8qIE91dCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nT3V0WCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDBkZWcpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTcuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTcuNWRlZyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIHN3aW5nT3V0WCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDBkZWcpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTcuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTcuNWRlZyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmdPdXRZIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMGRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoNy41ZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTBkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cblxuQGtleWZyYW1lcyBzd2luZ091dFkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgwZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoNy41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSg3LjVkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC0xMGRlZyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgU3RhdGljIEFuaW1hdGlvbnNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAqICAgIEVtcGhhc2lzXG4gKi0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZmxhc2gudHJhbnNpdGlvbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDsgfVxuXG4uc2hha2UudHJhbnNpdGlvbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTsgfVxuXG4uYm91bmNlLnRyYW5zaXRpb24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTsgfVxuXG4udGFkYS50cmFuc2l0aW9uIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTsgfVxuXG4ucHVsc2UudHJhbnNpdGlvbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTsgfVxuXG4uamlnZ2xlLnRyYW5zaXRpb24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGppZ2dsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGppZ2dsZTsgfVxuXG4vKiBGbGFzaCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHtcbiAgMCUsXG4gIDUwJSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cblxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIDAlLFxuICA1MCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5cbi8qIFNoYWtlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfSB9XG5cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9IH1cblxuXG4vKiBCb3VuY2UgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICAwJSxcbiAgMjAlLFxuICA1MCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTsgfSB9XG5cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSxcbiAgMjAlLFxuICA1MCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTsgfSB9XG5cblxuLyogVGFkYSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTsgfVxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7IH0gfVxuXG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTsgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOyB9XG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTsgfSB9XG5cblxuLyogUHVsc2UgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5cbi8qIFJ1YmJlcmJhbmQgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBqaWdnbGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOyB9XG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cblxuQGtleWZyYW1lcyBqaWdnbGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOyB9XG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgU2l0ZSBPdmVycmlkZXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4iLCJodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxub2wsIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5ibG9ja3F1b3RlLCBxIHtcbiAgcXVvdGVzOiBub25lOyB9XG5cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsIHE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgY29udGVudDogbm9uZTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cblxuLyogTmltYmxlIEFkZGVkICovXG5cbmlucHV0LCB0ZXh0YXJlYSwgYnV0dG9uLCBhLCB0YWJsZSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHJlc2l6ZTogbm9uZTsgfVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmJvZHksIGEsIGJ1dHRvbiwgaW5wdXQsIHRleHRhcmVhLCBwcmUge1xuICBmb250LWZhbWlseTogbmltYnVzLXNhbnMsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG5wcmUge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cblxuYm9keSB7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDIwMDsgfVxuIiwiJGNvbG9yLWJsdWU6ICM1YWMwZTU7XG4kY29sb3ItYmx1ZS1ob3ZlcjogIzRjYWJjZDtcbiRjb2xvci1ncmVlbi1saWdodDogIzg5ZGNhMDtcbiRjb2xvci1ncmVlbjogIzc2ZDY5MTtcbiRjb2xvci1ncmVlbi1ob3ZlcjogIzVlYzI3YTtcbiRjb2xvci1yZWQtbGlnaHQ6ICNlNTY3NmM7XG4kY29sb3ItcmVkOiAjZTE1MjU4O1xuJGNvbG9yLXJlZC1ob3ZlcjogI2Q5NDQ0YTtcbiRjb2xvci15ZWxsb3c6ICNGOUU5MjE7XG4kY29sb3ItZGFyay1ncmV5OiAjMjAyMDIwO1xuJGNvbG9yLWdyZXk6ICM3Nzg1OTE7XG4kY29sb3ItZ3JleS1saWdodDogIzY4NzQ3ZTsgLy8jODQ5MjlmXG4kY29sb3ItZ3JleS1saWdodGVyOiAjODQ5MjlmOyAvLyM5N2E4YjZcbiRjb2xvci1ncmV5LWxpZ2h0ZXItaG92ZXI6ICM5N2E4YjY7IC8vIzkwYTBhZFxuLy8kY29sb3ItZGFyay1ncmV5OiAjNjg3NDdlXG4kY29sb3ItZ3JleS12ZXJ5LWxpZ2h0OiAjYmJiO1xuXG5cbiRjb2xvci1kYXJrLXR5cGU6ICM0YzU1NWM7XG4kY29sb3ItZGFyay1ncmV5OiAkY29sb3ItZGFyay10eXBlO1xuJGNvbG9yLW1vZGFsLW5hdjogJGNvbG9yLWdyZXktdmVyeS1saWdodDtcblxuXG4vLyRjb2xvci1ncmVlbi1saWdodDogI2Q5ZjllMlxuXG4kY29sb3ItMTogIzMwYTZkMTtcbiRjb2xvci0yOiAjZTMyMjU2O1xuJGNvbG9yLTM6ICNmMzZlM2E7XG4kY29sb3ItNDogIzgzNTdjMTtcbiRjb2xvci01OiAjZWY5NzQ4O1xuJGNvbG9yLTY6ICNlNzNlM2U7XG4kY29sb3ItNzogI2M2YWJlZDtcbiRjb2xvci04OiAjZjU4YjJkO1xuJGNvbG9yLTk6ICNmZmE5NTU7XG4kY29sb3ItMTA6ICM0Nzc1YjE7XG4kY29sb3ItMTE6ICM3NWE3ZTg7XG4kY29sb3ItMTI6ICM5OWRhYjg7XG4kY29sb3ItMTM6ICM1ZWMyN2E7XG4kY29sb3ItMTQ6ICNlMTUyNTg7XG4kY29sb3ItMTU6ICNkOTQ0NGE7XG5cblxuJHBhZGRpbmc6IDEwcHg7XG4kbWFyZ2luOiAxMHB4O1xuXG5cblxuJGZvbnQtc2VyaWY6IFwiZnJlaWdodC10ZXh0LXByb1wiLCBcImRyb2lkLXNlcmlmXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjtcbiRmb250LXNhbnMtc2VyaWY6IFwibmltYnVzLXNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1udXRpbm86IFwiTnVuaXRvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4kdGV4dC1kZWZhdWx0OiAxNnB4O1xuJHRleHQtc21hbGw6ICR0ZXh0LWRlZmF1bHQgLSAyO1xuJHRleHQtc21hbGxlcjogJHRleHQtZGVmYXVsdCAtIDQ7XG4kdGV4dC1zbWFsbGVzdDogJHRleHQtZGVmYXVsdCAtIDY7XG4kdGV4dC1sYXJnZTogJHRleHQtZGVmYXVsdCArIDI7XG4kdGV4dC1sYXJnZXI6ICR0ZXh0LWRlZmF1bHQgKyA0O1xuJHRleHQtbGFyZ2VzdDogJHRleHQtZGVmYXVsdCArIDg7XG5cblxuJHRleHQtY29sb3ItZGVmYXVsdDogJGNvbG9yLWRhcmstdHlwZTsgLy8kY29sb3ItZGFyay1ncmV5IC8vJGNvbG9yLWdyZXlcbiR0ZXh0LWNvbG9yLWRlZmF1bHQtaW52ZXJzZTogIzYwNjc2ZDtcbiR0ZXh0LWNvbG9yLWRhcmtlcjogJGNvbG9yLWRhcmstZ3JleTtcbiR0ZXh0LWNvbG9yLWxpZ2h0OiAkY29sb3ItZ3JleS1saWdodDtcbiR0ZXh0LWNvbG9yLWxpZ2h0ZXI6ICRjb2xvci1ncmV5LWxpZ2h0ZXI7XG4kdGV4dC1jb2xvci1ibHVlOiAkY29sb3ItYmx1ZTtcbiR0ZXh0LWNvbG9yLXJlZDogJGNvbG9yLXJlZDtcbiR0ZXh0LWNvbG9yLWdyZWVuOiAkY29sb3ItZ3JlZW47XG5cbiRib3JkZXItY29sb3I6ICNlZGVmZjA7XG5cbiRiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZmYwO1xuJGJhY2tncm91bmQtY29sb3ItMjogI2Y5ZmFmYTtcbiRiYWNrZ3JvdW5kLWNvbG9yLTM6ICNlMGUwZTA7XG5cblxuJGJhY2tncm91bmQtY29sb3ItaW52ZXJzZTogIzM4NDA0NztcbiRiYWNrZ3JvdW5kLWNvbG9yLWludmVyc2UtMjogIzJjMzYzZjtcblxuJGhlYWRlci1oZWlnaHQ6IDYwcHg7XG5cbiRib3JkZXItcmFkaXVzOiA0cHg7XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLENBQUMsK0RBQUk7QUNBWixBQUFBLElBQUksRUFBRSxBQUFBLElBQUksRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLElBQUksRUFBRSxBQUFBLE1BQU0sRUFBRSxBQUFBLE1BQU0sRUFBRSxBQUFBLE1BQU07QUFDN0MsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxDQUFDLEVBQUUsQUFBQSxVQUFVLEVBQUUsQUFBQSxHQUFHO0FBQzFDLEFBQUEsQ0FBQyxFQUFFLEFBQUEsSUFBSSxFQUFFLEFBQUEsT0FBTyxFQUFFLEFBQUEsT0FBTyxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsSUFBSSxFQUFFLEFBQUEsSUFBSTtBQUMxQyxBQUFBLEdBQUcsRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLEdBQUcsRUFB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 */
