/*
@import "https://ifkn.org/themes/custom/cires_bootstrap/css/menu-color";
$bodyHeight: 54px;
$subTitle: block;
$brand: 5px;
$search: 0px;
*/
.sub-title {
  background-color: #FFF;
  display: none;
  clear: both; }

.navbar-btn {
  margin-top: 0px;
  margin-bottom: 0px; }

.navbar-brand {
  margin-top: 0px;
  padding-right: 10px; }

.navbar .logo {
  padding-right: 0px !important; }

.button.navbar-toggle {
  color: #16a085; }

.navbar-default .navbar-toggle {
  background-color: #FFF;
  color: #ECF0F1; }

.navbar-nav {
  padding-top: 10px; }

#navbar {
  height: 100px;
  padding: 15px;
  background-color: #FFF;
  -webkit-box-shadow: -1px 3px 18px -9px #a3a3a3;
  box-shadow: -1px 3px 18px -9px #a3a3a3; }
  #navbar .navbar-toggle .icon-bar {
    color: #16a085 !important; }
  #navbar a {
    color: #5a5a5a; }
    #navbar a:hover {
      background-color: #FFF;
      color: #16a085; }
    #navbar a .is-active {
      background-color: #FFF;
      color: #16a085; }
  #navbar a.dropdown-toggle a.is-active {
    background-color: #1ccdaa; }
  #navbar a.is-active {
    background-color: #FFF;
    color: #16a085; }
  #navbar .navbar-collapse {
    background-color: #FFF; }
  #navbar .dropdown-menu {
    margin-top: 15px;
    background-color: #FFF;
    opacity: .9;
    border: none;
    -webkit-box-shadow: -1px 3px 18px -9px #a3a3a3;
    box-shadow: -1px 3px 18px -9px #a3a3a3; }
    #navbar .dropdown-menu a:hover {
      background-color: #1ccdaa;
      color: #FFF; }
  #navbar .input-group {
    max-width: 200px;
    padding-top: 10px; }

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active,
.navbar-default .navbar-nav > .active {
  background-color: #FFF;
  color: #16a085; }

.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #FFF;
  color: #16a085; }

.navbar-default .navbar-text {
  color: #FFF !important;
  font-size: 24px; }

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2017 Daniel Eden
 */
.animated {
  -webkit-animation-duration: 1s;
       -o-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
       -o-animation-fill-mode: both;
          animation-fill-mode: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
            transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
            transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
            transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
            transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@-o-keyframes headShake {
  0% {
    -o-transform: translateX(0);
       transform: translateX(0); }
  6.5% {
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -o-transform: translateX(0);
       transform: translateX(0); } }

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
         -o-transform: translateX(0);
            transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
            transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
            transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
            transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
            transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
         -o-transform: translateX(0);
            transform: translateX(0); } }

.headShake {
  -webkit-animation-timing-function: ease-in-out;
       -o-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
       -o-animation-name: headShake;
          animation-name: headShake; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
            transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-o-keyframes jackInTheBox {
  from {
    opacity: 0;
    -o-transform: scale(0.1) rotate(30deg);
       transform: scale(0.1) rotate(30deg);
    -o-transform-origin: center bottom;
       transform-origin: center bottom; }
  50% {
    -o-transform: rotate(-10deg);
       transform: rotate(-10deg); }
  70% {
    -o-transform: rotate(3deg);
       transform: rotate(3deg); }
  to {
    opacity: 1;
    -o-transform: scale(1);
       transform: scale(1); } }

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
         -o-transform: scale(0.1) rotate(30deg);
            transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
         -o-transform-origin: center bottom;
            transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
         -o-transform: rotate(-10deg);
            transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
         -o-transform: rotate(3deg);
            transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
         -o-transform: scale(1);
            transform: scale(1); } }

.jackInTheBox {
  -webkit-animation-name: jackInTheBox;
       -o-animation-name: jackInTheBox;
          animation-name: jackInTheBox; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#pgraph {
  padding: 10px;
  border: 1px solid #379683;
  border-radius: 6px;
  margin: 10px 0px;
  background-color: #16a085;
  color: #FFF; }

.p-tip .fontawesome-icons {
  font-size: 3em;
  padding: 20px;
  border-radius: 50px;
  background-color: #16a085; }

.p-tip .field--name-field-tip-title {
  font-size: 2em;
  font-weight: bold; }

.p-tip .field--name-field-tip-body p {
  color: #FFF; }

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  color: #16a085; }

#turnkey-credit {
  display: none; }

@media (min-width: 1200px) {
  .auto-clear .col-lg-1:nth-child(12n+1) {
    clear: left; }
  .auto-clear .col-lg-2:nth-child(6n+1) {
    clear: left; }
  .auto-clear .col-lg-3:nth-child(4n+1) {
    clear: left; }
  .auto-clear .col-lg-4:nth-child(3n+1) {
    clear: left; }
  .auto-clear .col-lg-6:nth-child(odd) {
    clear: left; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .auto-clear .col-md-1:nth-child(12n+1) {
    clear: left; }
  .auto-clear .col-md-2:nth-child(6n+1) {
    clear: left; }
  .auto-clear .col-md-3:nth-child(4n+1) {
    clear: left; }
  .auto-clear .col-md-4:nth-child(3n+1) {
    clear: left; }
  .auto-clear .col-md-6:nth-child(odd) {
    clear: left; } }

@media (min-width: 768px) and (max-width: 991px) {
  .auto-clear .col-sm-1:nth-child(12n+1) {
    clear: left; }
  .auto-clear .col-sm-2:nth-child(6n+1) {
    clear: left; }
  .auto-clear .col-sm-3:nth-child(4n+1) {
    clear: left; }
  .auto-clear .col-sm-4:nth-child(3n+1) {
    clear: left; }
  .auto-clear .col-sm-6:nth-child(odd) {
    clear: left; }
  .horz-row-front .news-thumb {
    display: none; } }

@media (max-width: 767px) {
  .auto-clear .col-xs-1:nth-child(12n+1) {
    clear: left; }
  .auto-clear .col-xs-2:nth-child(6n+1) {
    clear: left; }
  .auto-clear .col-xs-3:nth-child(4n+1) {
    clear: left; }
  .auto-clear .col-xs-4:nth-child(3n+1) {
    clear: left; }
  .auto-clear .col-xs-6:nth-child(odd) {
    clear: left; } }

.block-views-blockduplicate-of-front-categories-block-1 {
  margin-top: 4%; }

@media only screen and (max-width: 768px) {
  .grid {
    height: auto; }
  .sub-title {
    display: none !important; }
  .category-block .img-responsive {
    max-width: 65%; }
  .slide .carousel-caption {
    height: auto; }
    .slide .carousel-caption p {
      font-size: 1em !important; }
    .slide .carousel-caption h2 {
      font-size: 2em !important;
      font-weight: bold; }
  .highlighted {
    margin-top: 8px; }
    .highlighted .img-responsive {
      height: 400px;
      -o-object-fit: cover;
         object-fit: cover; }
  ul.header-options {
    display: none; }
  .bar-default .navbar-text {
    display: none; }
  .navbar-is-fixed-top {
    margin-top: 100px !important; }
  .region-content-front-left .img-responsive {
    display: none; }
  .page-node-type-page .region-content {
    padding: 0px; } }

.video-responsive {
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  height: 0; }

.video-responsive iframe {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute; }

@media only screen and (min-width: 769px) and (max-width: 992px) {
  .grid {
    height: auto; }
  .navbar-default .navbar-text {
    display: none; }
  #block-cires-bootstrap-search {
    display: none; }
  ul.header-options {
    display: none; }
  .slide .carousel-caption {
    height: auto; }
    .slide .carousel-caption p {
      font-size: 1em !important; }
    .slide .carousel-caption h2 {
      font-size: 2em !important;
      font-weight: bold; } }

@media only screen and (min-width: 993px) {
  .grid {
    height: 300px; }
  .navbar-default .navbar-text {
    display: none; }
  #matt-search .form-search.form-control {
    width: 100%;
    color: #FFF !important; } }

#primary-holder {
  background-color: #16a085;
  color: #FFF;
  margin-bottom: 3%;
  border-bottom: 2px solid #107360; }
  #primary-holder h1 {
    color: #FFF;
    font-size: 2.5em;
    margin-bottom: 0px;
    margin-top: 0px;
    padding: 10px 0px;
    text-align: center; }

.center-content {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.path-frontpage h1.page-header {
  display: none; }

.page-header {
  display: none; }

.fa {
  padding: 10px; }
  .fa:hover {
    background-color: #ECF0F1;
    padding: 10px;
    border-radius: 25px; }
  .fa:active {
    -webkit-transform: scale(0.95);
         -o-transform: scale(0.95);
            transform: scale(0.95); }

.footer i.fa:hover {
  background-color: none;
  padding: 10px;
  border-radius: 25px; }

.fa-tag {
  padding-right: 3px; }

.fa.fa-tag:hover {
  background-color: none; }

.tooltip-arrow,
+ .tooltip > .tooltip-inner {
  background-color: #16a085; }

.tooltip-inner {
  background-color: #16a085;
  color: #fff; }

.tooltip.top .tooltip-arrow {
  border-top-color: #16a085; }

.tooltip.right .tooltip-arrow {
  border-right-color: #16a085; }

.tooltip.bottom .tooltip-arrow {
  border-bottom-color: #16a085; }

.tooltip.left .tooltip-arrow {
  border-left-color: #16a085; }

h1.page-header {
  font-size: 4rem;
  margin-left: 0px;
  margin-top: 20px; }

.page-header {
  border-bottom: none; }

.path-frontpage .region-content {
  padding: 0px !important; }

.fatfont {
  color: #777777;
  font-size: 2rem; }

.category-tag {
  -webkit-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  min-height: 140px;
  padding: 20px;
  border-radius: 6px; }
  .category-tag .h4 {
    font-weight: bold; }
  .category-tag p {
    font-size: 12px; }
  .category-tag:hover {
    background-color: #ECF0F1; }

.region-content .field--name-body a:link, .region-content .field--name-body a:visited, .region-content .field--name-body p a:link {
  color: #676767;
  -webkit-box-shadow: inset 0 -1px 0 #16a085;
          box-shadow: inset 0 -1px 0 #16a085;
  padding: 0px 2px 0px 2px; }

.region-content .field--name-body .btn-primary {
  color: #FFF;
  background-color: #16a085;
  border: none; }
  .region-content .field--name-body .btn-primary:hover {
    background-color: #1ccdaa; }

img.desk-img {
  width: 50%; }

p {
  color: #676767;
  font-size: 26px;
  font-size: 1.625rem; }

a:link, a:visited {
  color: #16a085;
  font-weight: 350;
  text-decoration: none !important; }

a:hover {
  font-weight: 350; }

.date-stamp, .date-stamp p, time {
  font-size: 1.2rem;
  color: #5e7980;
  text-transform: uppercase;
  font-weight: bold; }

h1 {
  font-size: 96px;
  font-size: 6rem; }

.page-intro {
  margin-bottom: 5%;
  margin-left: 2%;
  font-size: 32px;
  font-size: 2rem;
  color: #77939a;
  font-weight: 300; }

h1 {
  font-weight: 300; }

.read-more {
  -webkit-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  border-bottom: none; }

.read-more:after {
  content: "\00279E";
  color: #16a085;
  padding-left: 5px;
  -webkit-transition: all .4s .4s;
  -o-transition: all .4s .4s;
  transition: all .4s .4s;
  position: relative;
  -webkit-transition: all .256s ease-in-out;
  -o-transition: all .256s ease-in-out;
  transition: all .256s ease-in-out;
  border-bottom: none; }

.read-more:hover:after {
  right: -2px;
  border-bottom: none; }

.slide .carousel-caption {
  padding-bottom: 60px; }
  .slide .carousel-caption h2 {
    color: #FFF;
    font-size: 70px;
    font-size: 4.375rem;
    text-shadow: 0px 0px 12px rgba(0, 0, 0, 0.8); }
  .slide .carousel-caption p {
    color: #FFF;
    text-shadow: 0px 0px 12px rgba(0, 0, 0, 0.8); }

.slide .slide-button {
  padding: 8px 20px 8px 20px;
  border-radius: 20px;
  border: 1px solid #FFF;
  color: #FFF;
  background-color: none;
  margin-top: 5px;
  display: inline-block; }
  .slide .slide-button:hover {
    background-color: #FFF;
    color: #16a085;
    text-decoration: none; }
  .slide .slide-button a {
    color: #FFF; }

.slide-credit {
  position: absolute;
  left: 15px;
  bottom: 25px;
  font-style: italic;
  font-size: .95em;
  color: #fff; }

.sub-title {
  background-color: #107360;
  display: none;
  clear: both; }
  .sub-title p {
    color: #FFF;
    padding: 4px;
    margin-top: 4px;
    font-size: 22px;
    font-size: 1.375rem; }

.navbar-brand {
  margin-top: 0px;
  display: none; }

header#navbar.navbar.navbar-default.navbar-static-top {
  margin-bottom: 0px;
  margin: 0px; }

.header-options {
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
  list-style: none;
  float: right;
  padding-bottom: 3px;
  margin-top: 10px; }
  .header-options li {
    display: inline-block;
    text-align: center;
    margin: 0px auto;
    padding-right: 5px; }
  .header-options fa {
    background-color: #ECF0F1; }
    .header-options fa:hover {
      background-color: white !important; }
  .header-options:hover {
    background-color: #ECF0F1;
    border-radius: 12px; }

.header-options:active .fa {
  -webkit-transform: scale(0.9, 0.9);
       -o-transform: scale(0.9, 0.9);
          transform: scale(0.9, 0.9); }

.modal {
  text-align: center;
  padding: 0 !important; }

.modal:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -4px;
  /* Adjusts for spacing */ }

.modal-dialog {
  display: inline-block;
  text-align: left;
  vertical-align: middle; }

#edit-keys--2, #edit-keys {
  background: none;
  border-radius: 0px;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  height: 65px;
  font-size: 4rem;
  font-weight: 200;
  overflow: visible;
  width: 100%; }

div.input-group {
  width: 100%; }

.toggle-search-close .glyphicon {
  cursor: pointer; }

.toggle-search-close .glyphicon span:hover {
  color: #16a085;
  cursor: pointer; }

#mission-block {
  background-color: #efefef;
  padding: 5%;
  overflow: auto;
  position: relative;
  top: -40px; }
  #mission-block p {
    color: #474747; }
  #mission-block h2 {
    color: #474747; }

#cta-block {
  background-color: #d6d6d6;
  overflow: auto;
  margin-bottom: 3%;
  margin-bottom: 30px;
  border-bottom: 2px solid #c9c9c9;
  position: relative;
  top: -40px;
  padding-bottom: 30px; }
  #cta-block .region-cta {
    text-align: center;
    margin-top: 40px; }
    #cta-block .region-cta h3 {
      margin-top: 0px; }

.foot-one {
  color: #474747;
  background-color: #efefef;
  height: auto;
  margin: 0px auto;
  text-align: center;
  padding: 3%;
  border-top: 2px solid #d6d6d6; }
  .foot-one p {
    color: #474747; }

.front-category {
  min-height: 120px;
  margin-bottom: 30px; }

.front-spacer {
  margin: 2% 0px 2% 0px; }

.main-container {
  background-color: #FFF;
  padding-bottom: 10%; }

.region-content .not-front {
  padding-bottom: 10%; }

body p, body h1, body h2, body h3 {
  color: #7b7b7b; }

body img.align-center {
  width: 100%;
  height: auto; }

body.navbar-is-fixed-top {
  margin-top: 100px; }

a.logo.navbar-btn.pull-left img {
  width: 100px; }
  a.logo.navbar-btn.pull-left img:hover {
    fill: #16a085; }

.made-with {
  color: #107863;
  font-size: .95rem;
  -webkit-transition: all 5s;
  -o-transition: all 5s;
  transition: all 5s; }
  .made-with:hover {
    color: #FFF; }
  .made-with:hover > .fa-heart {
    color: red !important;
    background-color: #16a085;
    border-radius: none !important;
    padding: none;
    -webkit-transition: all 5s;
    -o-transition: all 5s;
    transition: all 5s; }
  .made-with .fa-heart {
    padding: 0px !important;
    color: #107863 !important; }

.copyright {
  color: #FFF;
  font-size: 1rem; }

#Layer_0 img {
  fill: #379683; }

.container.foot {
  background: #16a085; }

.footer {
  background: #16a085;
  bottom: 0px;
  text-align: center;
  border: none;
  border-bottom: none;
  border-top: 2px solid #107360; }
  .footer .nav {
    margin-bottom: 20px;
    padding-bottom: 20px; }
  .footer .nav > li > a {
    padding: 10px;
    margin: 5px;
    position: relative;
    display: inline; }
    .footer .nav > li > a:hover {
      background-color: none;
      border-radius: 6px;
      color: #16a085; }
  .footer .col-md-12 {
    margin-bottom: 30px; }
  .footer h3 {
    color: #FFF;
    padding-bottom: 5px; }
  .footer .social-icons {
    text-align: center; }
    .footer .social-icons li {
      display: inline-block;
      list-style: none;
      padding: 10px; }
      .footer .social-icons li:hover {
        border-radius: 6px;
        background-color: #16a085; }
    .footer .social-icons a {
      text-decoration: underline;
      margin: 10px; }
      .footer .social-icons a:hover {
        border-radius: 6px;
        background-color: #16a085; }
  .footer ul {
    margin: 0px auto !important;
    padding: 0px; }
  .footer .fa {
    color: #FFF; }
  .footer a {
    color: #FFF;
    text-decoration: none; }
  .footer p {
    color: #FFF; }
  .footer h2 {
    color: #FFF; }

.footer {
  margin-top: 0px; }

.footer.footer.container {
  background: #16a085;
  width: 100%; }

.indented {
  margin-left: 10px;
  border-left: 3px solid #379683; }
  .indented .comment-box {
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px; }

.comment-box {
  background-color: #f9f9f9;
  border-radius: 6px;
  border: 1px solid #ECF0F1;
  padding: 10px;
  margin-bottom: 10px; }
  .comment-box h3 {
    color: #000;
    border-bottom: 1px solid #ECF0F1; }
  .comment-box:hover {
    background-color: #ededed; }
  .comment-box ul.links.list-inline {
    border-top: 1px solid #ECF0F1;
    padding-top: 15px; }
  .comment-box .comment__author {
    float: right; }
  .comment-box .data-comment-timestamp {
    color: red; }

.context-event {
  margin: 20px 0px 20px 0px;
  border-top: #ECF0F1 solid 1px;
  text-align: center; }

#cal-day {
  padding: 10px;
  border-radius: 6px;
  border: 1px solid #ECF0F1;
  overflow: hidden;
  display: block;
  background-color: #16a085;
  border-bottom: #138a72;
  color: #FFF;
  text-align: center;
  font-size: 2rem; }
  #cal-day .field {
    background-color: none !important;
    border-bottom: none; }
    #cal-day .field:hover {
      background-color: none !important;
      border-bottom: none; }
  #cal-day .month {
    background-color: #16a085;
    border-bottom: #138a72;
    color: #FFF;
    width: 120%;
    position: relative;
    right: 10%;
    top: -10px;
    text-align: center; }
    #cal-day .month p {
      left: 10px; }
    #cal-day .month:hover {
      background-color: #16a085; }
  #cal-day .day {
    color: #16a085;
    text-align: center;
    font-size: 4rem;
    padding-top: 20px; }

.sidebar {
  color: darken #ECF0F1, 5%;
  font-size: 22px;
  font-size: 1.375rem; }
  .sidebar .field {
    padding: 10px 0px 10px 0px;
    border-bottom: 1px solid #ECF0F1; }
  .sidebar .field:hover {
    background-color: #fbfcfc; }
  .sidebar p {
    margin-left: 10px; }
  .sidebar .field--name-field-tag {
    border-bottom: none; }

.full-profile-pill {
  border-radius: 6px;
  padding: 5px;
  background-color: #eff2f3;
  float: right; }
  .full-profile-pill:hover {
    background-color: #f5f7f7; }

.explode-row {
  margin-bottom: 40px;
  padding-bottom: 40px; }

.member-info {
  padding: 20px;
  font-weight: bold;
  background-color: #FFF; }

.projects-views-row {
  margin-bottom: 20px;
  padding-bottom: 20px; }

.image-round-300 {
  border-radius: 150px;
  margin: 0px auto;
  text-align: center; }
  .image-round-300 img {
    border-radius: 150px;
    margin: 0px auto; }
  .image-round-300:active {
    -webkit-transform: scale(0.98);
         -o-transform: scale(0.98);
            transform: scale(0.98); }

.image-round-150 {
  border-radius: 75px;
  margin: 0px auto;
  text-align: center; }
  .image-round-150 .field:hover {
    background-color: none; }
  .image-round-150 img {
    border-radius: 75px;
    margin: 0px auto; }
  .image-round-150:active {
    -webkit-transform: scale(0.98);
         -o-transform: scale(0.98);
            transform: scale(0.98); }

.image-round-100 {
  border-radius: 50px;
  margin: 0px auto;
  text-align: center; }
  .image-round-100 .field:hover {
    background-color: none; }
  .image-round-100 img {
    border-radius: 75px;
    margin: 0px auto; }
  .image-round-100:active {
    -webkit-transform: scale(0.98);
         -o-transform: scale(0.98);
            transform: scale(0.98); }

.chu-row {
  text-align: center; }

.horz-row {
  border-bottom: 1px solid #ECF0F1;
  padding: 2.5% 0 2.5% 0;
  margin-top: 1%; }
  .horz-row .info-bar {
    background-color: #ECF0F1;
    border-radius: 6px;
    padding: 6px; }
  .horz-row .date-stamp {
    font-size: 45px;
    font-size: 2.8125rem;
    padding-top: 20px !important; }
  .horz-row .title {
    font-size: 3rem;
    padding-bottom: 10px; }
    .horz-row .title a:link {
      color: #16a085; }
  .horz-row a:link {
    color: #16a085; }
  .horz-row .news-thumb img {
    padding: 0px;
    border-radius: 16px; }
    .horz-row .news-thumb img:hover {
      padding: 1px;
      background-color: #FFF; }
    .horz-row .news-thumb img:active {
      -webkit-transform: scale(0.98);
           -o-transform: scale(0.98);
              transform: scale(0.98); }
  .horz-row .fatfont {
    font-size: 38px;
    font-size: 2.375rem;
    color: #495d62; }

.news-thumb img {
  padding: 0px;
  border-radius: 16px; }
  .news-thumb img:hover {
    padding: 1px;
    background-color: #16a085; }

.rounded-corner img {
  padding: 0px;
  border-radius: 16px; }

.news-thumb-front img {
  padding: 0px;
  border-radius: 16px;
  width: 75%;
  height: auto; }
  .news-thumb-front img:hover {
    background-color: #16a085; }

.vid-thumb img {
  padding: 0px;
  border-radius: 6px;
  overflow: hidden; }
  .vid-thumb img:hover {
    background-color: #FFF;
    cursor: pointer; }
  .vid-thumb img:active {
    -webkit-transform: scale(0.98);
         -o-transform: scale(0.98);
            transform: scale(0.98); }

.horz-row-sm {
  border-bottom: 1px solid #ECF0F1;
  padding: 1% 0 1% 0;
  clear: both;
  display: block;
  margin-bottom: 10px; }
  .horz-row-sm:hover {
    background-color: white; }
  .horz-row-sm h3 {
    border-bottom: none !important;
    padding: 0px !important; }

.grid {
  width: 100%;
  margin: 4%;
  padding: 20px;
  background-color: none; }
  .grid:hover {
    border-radius: 6px;
    background-color: #f8f9fa; }
  .grid .grid-image .img-responsive {
    width: 100%;
    border-radius: 6px; }
  .grid .grid-info {
    height: 100%;
    padding: 10px; }
  .grid .grid-title {
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 500;
    color: #636363; }
  .grid .grid-tag {
    width: 100%;
    display: block;
    color: #16a085;
    border-top: 1px solid #ECF0F1;
    margin-top: 5px; }
  .grid a:hover {
    text-decoration: none; }
  .grid a:visited, .grid a:link {
    color: #16a085; }

.member-grid {
  padding-top: 20px;
  padding-bottom: 20px;
  text-align: center; }
  .member-grid:hover {
    background-color: #f8f9fa; }
  .member-grid .mem-title {
    font-size: 1.1em; }
  .member-grid .mem-info {
    font-size: .9em;
    color: #c0cdd1;
    display: block;
    height: 30px; }
  .member-grid img {
    max-width: 100px;
    height: auto;
    padding: 10px; }

.grid-clean {
  width: 100%;
  margin: 2%;
  overflow: hidden;
  background-color: none;
  min-height: 280px;
  padding-top: 10px;
  border-radius: 6px;
  vertical-align: middle; }
  .grid-clean:hover {
    background-color: #f8f9fa; }
  .grid-clean .grid-info {
    padding: 10px;
    top: 5%;
    margin: 0px auto;
    text-align: center;
    min-height: 70px;
    padding: 0 5% 0 5%; }
  .grid-clean .grid-title {
    font-size: 34px;
    font-size: 2.125rem;
    overflow: hidden;
    width: 100%; }
    .grid-clean .grid-title a {
      color: #495d62 !important; }
  .grid-clean .grid-email {
    font-size: 20px;
    font-size: 1.25rem;
    text-transform: uppercase;
    color: #77939a !important; }
  .grid-clean .grid-tag {
    width: 100%;
    display: block;
    color: #16a085;
    border-top: 1px solid #ECF0F1;
    margin-top: 5px; }
  .grid-clean a:hover {
    text-decoration: none; }
  .grid-clean a:visited, .grid-clean a:link {
    color: #16a085; }

.view-content h3 {
  width: 100%;
  display: block;
  font-size: 60px;
  font-size: 3.75rem;
  border-bottom: 1px solid #ECF0F1;
  float: left;
  margin: 20px 0 20px 0;
  font-weight: 300;
  color: #686868; }

.committee {
  font-size: 26px;
  font-size: 1.625rem; }

.view-content h3 {
  padding: 15px; }

.highlighted-interior .slide-credit {
  position: absolute;
  left: 15px;
  top: 150px;
  font-style: italic;
  font-size: .95em;
  color: #fff; }

.highlighted-interior img.img-responsive {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 202px; }

.highlighted {
  margin-right: auto;
  margin-left: auto; }
  .highlighted img.img-responsive {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    max-height: 350px; }

.owl-pagination {
  position: relative;
  top: -50px; }

.chimp .campaign {
  border-bottom: 1px solid #ECF0F1;
  padding: 25px 10px 25px 10px;
  min-height: 100px;
  overflow: hidden; }
  .chimp .campaign:last-child {
    border-bottom: none; }
  .chimp .campaign:hover {
    background-color: #fbfcfc;
    border-radius: 6px; }

.horz-row-front {
  border-bottom: 1px solid #ECF0F1;
  padding: 25px 10px 25px 10px;
  min-height: 100px;
  overflow: hidden; }
  .horz-row-front:last-child {
    border-bottom: none; }
  .horz-row-front:hover {
    background-color: #f5f7f7;
    border-radius: 6px; }
  .horz-row-front .title {
    font-weight: 300;
    font-size: 1.5em;
    clear: right; }

.tag ul, .tag {
  list-style: none;
  margin-top: 5px;
  margin-bottom: 5px;
  margin-left: 0px;
  padding-left: 0px; }
  .tag ul li, .tag ul .field--item, .tag li, .tag .field--item {
    border: 1px solid #474747;
    color: #474747;
    padding: 5px;
    font-size: .8em;
    border-radius: 12px;
    padding-right: 5px;
    float: left;
    margin-right: 5px; }

.label {
  border: 1px solid #474747;
  color: #474747;
  padding: 5px;
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: .9em;
  border-radius: 12px; }

.front-block {
  margin-top: 10px;
  padding-bottom: 10px; }
  .front-block h2 {
    text-align: left;
    font-weight: 250;
    font-size: 40px;
    font-size: 2.5rem; }
  .front-block .date-stamp {
    font-size: .9em;
    color: #474747;
    text-transform: uppercase; }

.front-block-right {
  margin-top: 10px;
  padding-bottom: 10px; }
  .front-block-right a {
    color: #16a085; }
  .front-block-right .label {
    background-color: #379683;
    color: #FFF; }

a.btn.btn-primary {
  color: #FFF;
  background-color: #16a085;
  border: none; }
  a.btn.btn-primary:hover {
    background-color: #1ccdaa; }

a.btn.btn-primary.pull-right {
  color: #FFF; }

a.btn.btn-primary {
  color: #FFF; }

.slide-responsive {
  width: 100%;
  height: auto; }

.partner-img {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 6px;
  -webkit-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  text-align: center;
  color: #474747;
  margin: 0px auto;
  margin: 0px auto; }
  .partner-img img {
    padding: 30px; }
  .partner-img .views-field-title {
    padding-top: 15px; }
  .partner-img:hover {
    background-color: #ECF0F1; }

.event-block {
  overflow: hidden;
  width: 100%;
  height: auto; }
  .event-block img {
    width: 100%;
    height: auto; }
  .event-block .event-block-overlay {
    position: relative;
    top: -50px;
    background-color: #16a085;
    height: 50px; }

.flex-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.card {
  border-radius: 6px;
  background-color: #16a085;
  overflow: hidden;
  text-align: center;
  -webkit-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  color: #FFF;
  margin-top: 3%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .card a {
    color: #FFF; }
  .card .card-img-top {
    height: 200px;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
    .card .card-img-top img {
      width: 100%; }
  .card .card-icon {
    text-align: center;
    font-size: 2em;
    color: #16a085;
    border-radius: 75px;
    border: 1px solid #16a085;
    background-color: #FFF;
    width: 75px;
    height: 75px;
    margin: 0px auto;
    margin-top: 20px;
    margin-bottom: 10px;
    -webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
    top: 150px;
    position: absolute; }
    .card .card-icon .fontawesome-icon {
      padding-top: 15px; }
  .card .card-block {
    padding: 10px;
    padding-top: 40px;
    min-height: 200px; }
  .card .card-title {
    color: #FFF;
    font-size: 2em;
    font-weight: bold; }
  .card .card-text p {
    color: #FFF;
    padding-top: 10px; }
  .card .card-action {
    border-top: 1px solid #138a72;
    padding-top: 5px;
    margin-top: 5px;
    background-color: #107360;
    -webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    min-height: 50px;
    padding-top: 5px;
    display: block;
    width: 100%; }
    .card .card-action a {
      display: block;
      margin-top: 5px;
      font-size: 1.5em;
      font-weight: bold;
      -webkit-align-self: center;
          -ms-flex-item-align: center;
              align-self: center; }
    .card .card-action:hover {
      background-color: #0a463a; }

.category-block {
  margin: 0px auto;
  text-align: center;
  overflow: hidden !important; }
  .category-block .cat-img-bg {
    position: absolute; }
  .category-block .cat-icon {
    text-align: center;
    font-size: 2em;
    color: #16a085;
    border-radius: 75px;
    border: 1px solid #16a085;
    background-color: #FFF;
    width: 75px;
    height: 75px;
    margin: 0px auto;
    margin-top: 20px;
    margin-bottom: 10px;
    -webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out; }
  .category-block .fontawesome-icon {
    padding-top: 5px; }
  .category-block .category-block-text {
    padding: 5px;
    border: 1px solid #16a085;
    border-radius: 6px;
    background-color: #379683;
    padding: 10px;
    margin-top: 30px;
    color: #fff;
    min-height: 200px;
    overflow: hidden; }
    .category-block .category-block-text a {
      color: #FFF;
      font-size: 1.5em; }
    .category-block .category-block-text:hover {
      background-color: #16a085;
      color: #FFF; }
      .category-block .category-block-text:hover h3 {
        color: #FFF; }
      .category-block .category-block-text:hover .fontawesome-icon {
        -webkit-transition: all .5s ease-in-out;
        -o-transition: all .5s ease-in-out;
        transition: all .5s ease-in-out;
        -webkit-transform: scale(1.1, 1.1);
             -o-transform: scale(1.1, 1.1);
                transform: scale(1.1, 1.1); }
      .category-block .category-block-text:hover .cat-icon {
        -webkit-transition: all .5s ease-in-out;
        -o-transition: all .5s ease-in-out;
        transition: all .5s ease-in-out;
        -webkit-box-shadow: 0px 2px 18px 0px rgba(0, 0, 0, 0.75);
        box-shadow: 0px 2px 18px 0px rgba(0, 0, 0, 0.75); }
  .category-block h3 {
    border: none;
    border-bottom: none;
    margin-bottom: 0px;
    margin-top: 0px;
    color: #FFF; }
    .category-block h3 a {
      color: #FFF;
      border-bottom: none;
      font-weight: 500; }

.front-news {
  background-color: #379683;
  margin: 10px 0px 20px 0px;
  height: 400px;
  color: #FFF;
  padding: 20px 20px 20px 20px;
  overflow: hidden; }
  .front-news p {
    color: #FFF;
    padding-top: 5px; }
  .front-news img {
    padding-top: 30px;
    width: 100%;
    height: auto; }
  .front-news h2 {
    font-size: 72px;
    font-size: 4.5rem;
    padding-top: 30px; }

@media only screen and (max-width: 992px) {
  .front-news {
    text-align: center;
    height: 600px; }
    .front-news img {
      margin: 0px auto;
      width: 80%; }
    .front-news h2 {
      padding-top: 0px; } }

.event-type {
  font-size: 1.25rem;
  color: #38e4c2; }

ul.sponsor-list {
  text-align: center; }
  ul.sponsor-list li {
    list-style: none;
    display: inline-block; }
    ul.sponsor-list li:hover {
      border-radius: 6px;
      background-color: #16a085; }
  ul.sponsor-list img {
    margin: 10px;
    text-align: center; }

::-webkit-input-placeholder {
  color: red; }

:-moz-placeholder {
  /* Firefox 18- */
  color: red; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: red; }

:-ms-input-placeholder {
  color: red; }

h2 {
  font-weight: 300; }

@media screen and (max-width: 995px) {
  .toggle-search-close .glyphicon {
    float: right;
    cursor: pointer;
    top: -60px; } }

#toggle-search {
  text-align: center; }
  #toggle-search .glyphicon {
    padding: 15px;
    color: #16a085;
    cursor: pointer;
    text-align: center; }

#matt-search {
  background-color: #19b698;
  -webkit-box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.1);
  color: #FFF !important;
  position: absolute;
  left: 0px;
  width: 100%;
  height: 100px;
  top: -190px;
  z-index: 99999;
  margin: 0px;
  padding-top: 10px;
  -webkit-transition: all 600ms;
  -o-transition: all 600ms;
  transition: all 600ms; }
  #matt-search glyphicon {
    color: #000; }
  #matt-search .form-search.form-control {
    width: 100%;
    width: 600px;
    color: #FFF !important;
    overflow-x: hidden; }
  #matt-search span.input-group-btn {
    display: none; }

#edit-keys--2, #edit-keys {
  background: none;
  border-radius: 0px;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  height: 65px;
  font-size: 4rem;
  font-weight: 200;
  overflow: visible;
  width: 100%; }

div.input-group {
  width: 100%; }

.toggle-search-close .glyphicon {
  float: right;
  margin-top: 8px;
  cursor: pointer; }

.toggle-search-close .glyphicon span:hover {
  color: #16a085;
  cursor: pointer; }

.dropdown-submenu {
  position: relative; }

.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  padding: 0px; }

.dropdown-submenu:hover > .dropdown-menu {
  display: block; }

.dropdown-submenu > a:after {
  content: "\e080";
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-size: 10px;
  float: right;
  margin-top: 5px; }

.dropdown-submenu:hover > a:after {
  border-left-color: #fff; }

.dropdown-submenu.pull-left {
  float: none; }

.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
  border-radius: 6px 0 6px 6px; }

.navbar-nav li:last-child > .dropdown-menu {
  left: auto;
  right: 0px; }

.navbar-nav li:last-child > .dropdown-menu .dropdown-submenu > a:after {
  float: left;
  content: "\e079"; }

.navbar-nav li:last-child > .dropdown-menu .dropdown-submenu > .dropdown-menu {
  left: -100%; }

#player {
  border-radius: 6px; }

.media-grid {
  display: block;
  margin: 10px 0 10px 0; }

#off-white {
  background-color: #efefef;
  color: #474747; }

#stream {
  overflow: hidden; }
  #stream h2 {
    padding-left: 10px; }
  #stream .stream-row {
    overflow: hidden;
    border-radius: 6px;
    min-height: 300px;
    padding: 20px;
    margin: 10px;
    vertical-align: middle;
    -webkit-box-shadow: -1px 2px 10px 2px #d4d4d4;
    box-shadow: -1px 2px 10px 2px #d4d4d4;
    background-color: #FFF; }
  #stream img {
    position: static;
    -webkit-transform: scale(1.25);
         -o-transform: scale(1.25);
            transform: scale(1.25);
    overflow: hidden; }
  #stream .stream-title {
    font-size: 2.25rem; }

#publications-list {
  width: 100%;
  margin-bottom: 20px; }
  #publications-list ul {
    padding: 0;
    list-style-type: none; }
  #publications-list li {
    border-bottom: 1px solid #ECF0F1;
    padding: 10px;
    min-height: 75px;
    overflow-x: hidden;
    width: 100%;
    padding-left: 10px;
    padding-right: 10px; }
  #publications-list li:nth-child(even) {
    background-color: white; }
  #publications-list::before {
    display: none; }
  #publications-list::after {
    display: none; }
  #publications-list a {
    font-weight: bold;
    text-decoration: underline; }
  #publications-list .panel-body::before {
    display: none; }
  #publications-list .panel-body::after {
    display: none; }

#publications-list li:hover {
  background-color: white; }

.resource-card {
  overflow: hidden;
  border-radius: 6px;
  min-height: 200px;
  padding: 20px;
  margin: 10px;
  vertical-align: middle;
  -webkit-box-shadow: -1px 2px 10px 2px #d4d4d4;
  box-shadow: -1px 2px 10px 2px #d4d4d4;
  background-color: #FFF; }
  .resource-card .tags {
    margin-top: 5px;
    padding-left: 0px; }
    .resource-card .tags ul {
      padding-left: 0em;
      list-style: none; }
      .resource-card .tags ul li {
        font-size: .75em;
        border: 1px solid #16a085;
        color: #16a085;
        padding: 5px;
        border-radius: 6px;
        width: -webkit-fit-content;
        float: left;
        margin-right: 5px; }

/* ACCORDIONS 





#accordion .panel-heading { padding: 0;}
#accordion .panel-title > a {
	display: block;
	padding: 0.4em 0.6em;
    outline: none;
    font-weight:bold;
    text-decoration: none;
}

#views-bootstrap-accordion .panel-title > a.accordion-toggle::after, #views-bootstrap-accordion a[data-toggle="collapse"]::after  {
    content:"\e113";
    float: right;
    font-family: 'Glyphicons Halflings';
	margin-right :1em;
	
	&:active {
		background-color: $color-gray;
		padding: 10px;
		border-radius: 6px;
	}
	
}

#views-bootstrap-accordion panel-title > a.accordion-toggle.collapsed::after, #views-bootstrap-accordion a.collapsed[data-toggle="collapse"]::after  {
    content:"\e114";
}


#accordion .panel-title > a.accordion-toggle::after, #accordion a[data-toggle="collapse"]::after  {
    content:"\e113";
    float: right;
    font-family: 'Glyphicons Halflings';
	margin-right :1em;
	
	&:active {
		background-color: $color-gray;
		padding: 10px;
		border-radius: 6px;
	}
	
}
#accordion .panel-title > a.accordion-toggle.collapsed::after, #accordion a.collapsed[data-toggle="collapse"]::after  {
    content:"\e114";
      -moz-transform:rotate(180deg)!important;
    -webkit-transform:rotate(180deg)!important;
    transform:rotate(180deg)!important;
}

#accordion {
	padding: 10px 5px 10px 5px;
	border-bottom: 1px solid $color-gray;
	
	div.accordion-heading {
		font-size: 1.5rem;
	}
	
	.accordion-inner {
		padding: 10px 0px;
	}
	
}


.panel-group {
	
	border-color: #FFF !important;
	transition: all .4s transform ease-in-out;
	padding: 10px 5px 10px 8px;
	&:hover {
		//background-color: #f4f4f4;
	}
	
	
	.panel-heading {
		background-color: #FFF !important;
		
	}
	
	
	.panel {
		border-radius: none !important;	
	}
	
	.panel-default{
		border-color: #FFF !important;
	}
	
	h4.panel-title {
		font-size: 1.5rem;
		font-weight: 250;
		border-color: #FFF !important;
		border-bottom: none !important;
		padding: 2% 0% 2% 0;
	}
	
}

.accordion-toggle {
	transition: all .4s transform ease-in-out;
	 -moz-transition: all 2s linear;
    -webkit-transition: all 2s linear;
    transition: all .4s transform ease-in-out;

}

.accordion-toggle:after {
    font-family: 'FontAwesome';
    content: "\f063";    
    float: right;
    font-weight: 200;
 }

.accordion-opened .accordion-toggle {
	transition: all .4s transform ease-in-out;
}

.accordion-opened .accordion-toggle:after {    
    content: "\f063" !important;   
    font-weight: 200;
    -moz-transform:rotate(180deg)!important;
    -webkit-transform:rotate(180deg)!important;
    transform:rotate(180deg)!important;
}

*/
.doc-row {
  border: 1px solid #ECF0F1;
  padding: 20px;
  margin-top: 30px;
  border-radius: 6px;
  text-align: center;
  width: 400px; }
  .doc-row a {
    color: #474747;
    text-decoration: none; }
  .doc-row .h3 a {
    text-decoration: none; }
  .doc-row .fa-file {
    font-size: 2.5em;
    margin-top: 10px; }

.photo-gallery
.img-responsive {
  max-width: 250px;
  float: left;
  padding: 20px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJzdHlsZS5jc3MiLCJfbWVudS13aGl0ZS5zY3NzIiwiX2FuaW1hdGUuc2NzcyIsIl9wYXJhZ3JhcGhzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUJBOzs7Ozs7Q0NYQztBQ0hEO0VBQ0ksc0JBQXNCO0VBQ3RCLGFBQWE7RUFDYixXQUFXLEVBQUE7O0FBR2Y7RUFDSSxlQUFlO0VBQ2Ysa0JBQWtCLEVBQUE7O0FBR3RCO0VBQ0ksZUFBZTtFQUNmLG1CQUFtQixFQUFBOztBQUl2QjtFQUNJLDZCQUE2QixFQUFBOztBQUdqQztFQUNJLGNGdEJtQixFQUFBOztBRXlCdkI7RUFDSSxzQkFBc0I7RUFDdEIsY0Z6QmdCLEVBQUE7O0FFa0NwQjtFQUNJLGlCQUFpQixFQUFBOztBQUdyQjtFQUNJLGFBQWE7RUFDYixhQUFhO0VBQ2Isc0JBQXNCO0VBRXRCLDhDQUE2RDtFQUU3RCxzQ0FBcUQsRUFBQTtFQVB6RDtJQWFRLHlCQUFnQyxFQUFBO0VBYnhDO0lBZ0JRLGNBQWMsRUFBQTtJQWhCdEI7TUFvQlksc0JBQXNCO01BQ3RCLGNGN0RXLEVBQUE7SUV3Q3ZCO01Bd0JZLHNCQUFzQjtNQUN0QixjRmpFVyxFQUFBO0VFd0N2QjtJQTZCUSx5QkFBOEMsRUFBQTtFQTdCdEQ7SUFtQ1Esc0JBQXNCO0lBQ3RCLGNGNUVlLEVBQUE7RUV3Q3ZCO0lBdUNRLHNCQUFzQixFQUFBO0VBdkM5QjtJQTBDUSxnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLFdBQVc7SUFDWCxZQUFZO0lBQ1osOENBQTZEO0lBRTdELHNDQUFxRCxFQUFBO0lBaEQ3RDtNQW1EZ0IseUJBQThDO01BQzlDLFdBQVcsRUFBQTtFQXBEM0I7SUF5RFEsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFBOztBQUt6Qjs7O0VBSUksc0JBQXNCO0VBQ3RCLGNGNUdtQixFQUFBOztBRW1IdkI7OztFQUlJLHNCQUFzQjtFQUN0QixjRnhIbUIsRUFBQTs7QUU2SHZCO0VBQ0ksc0JBQXNCO0VB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NDd0ZDO0FEOENEO0VBQ0MseUJBN3FGbUI7RUE4cUZuQixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsWUFBWSxFQUFBO0VBTmI7SUFTRSxjQWxyRnNCO0lBbXJGdEIscUJBQXFCLEVBQUE7RUFWdkI7SUFlQyxxQkFBcUIsRUFBQTtFQWZ0QjtJQW9CRSxnQkFBZ0I7SUFDaEIsZ0JBQWdCLEVBQUE7O0FBT2xCOztFQUdFLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsYUFBYSxFQUFBIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8jIyMjIFZBUklBQkxFUyAjIyMjLy9cblxuJGNvbG9yLXByaW1hcnk6ICMxNmEwODU7XG4kY29sb3Itc2Vjb25kYXJ5OiAjMzc5NjgzO1xuJGNvbG9yLWdyYXk6ICNFQ0YwRjE7IC8vIGNsb3Vkc1xuJGNvbG9yLWljZTogI0Y1RjdGQTsgLy8gaWNlXG4kY29sb3Itb2Zmd2hpdGU6ICNlZmVmZWY7IC8vIG9mZiB3aGl0ZVxuJGNvbG9yLWRhcmtncmF5OiAjNDc0NzQ3OyBcblxuXG4vLyAjIyMjIE1FTlUgVFlQRSAjIyMjLy9cblxuLy8gVGhpcyB0ZW1wbGF0ZSByZXF1aXJlcyBvbmUgb3IgdGhlIG90aGVyIHRvIGJlIGVuYWJsZWQuIElmIHRoZSBDb2xvciB2YXJpYW50IGlzIGNob3NlbiB0aGUgcHJpbWFyeSBjb2xvciB2YXJpYWJsZSB3aWxsIGJlIHV0aWxpemVkLiAvLyAgXG5cbi8vIENPTE9SIC8vXG5cbi8qXG5AaW1wb3J0IFwibWVudS1jb2xvclwiO1xuJGJvZHlIZWlnaHQ6IDU0cHg7XG4kc3ViVGl0bGU6IGJsb2NrO1xuJGJyYW5kOiA1cHg7XG4kc2VhcmNoOiAwcHg7XG4qL1xuXG5cbi8vIFdISVRFIC8gVEhJQ0sgQkFSIC8vXG4vLyBOb3RlczogYm9keWhlaWdodDogNzlweDsgc3ViVGl0bGU6IG5vbmU7XG5AaW1wb3J0IFwibWVudS13aGl0ZVwiO1xuJGJvZHlIZWlnaHQ6IDEwMHB4O1xuJHN1YlRpdGxlOiBub25lO1xuJGJyYW5kOiAwcHg7XG4kc2VhcmNoOiAwcHg7XG5cbkBpbXBvcnQgXCJhbmltYXRlXCI7XG5AaW1wb3J0IFwicGFyYWdyYXBoc1wiO1xuXG5oMSxoMixoMyxoNCxoNSxoNntcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0fVxuXG5cbiN0dXJua2V5LWNyZWRpdCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cblxuXG4vLyMjIyMgQ0xFQVJGSVggRk9SIEJPT1RTVFJBUCAzIENPTFMgIyMjIy8vXG5cbkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7XG4gICAgLmF1dG8tY2xlYXIgLmNvbC1sZy0xOm50aC1jaGlsZCgxMm4rMSl7Y2xlYXI6bGVmdDt9XG4gICAgLmF1dG8tY2xlYXIgLmNvbC1sZy0yOm50aC1jaGlsZCg2bisxKXtjbGVhcjpsZWZ0O31cbiAgICAuYXV0by1jbGVhciAuY29sLWxnLTM6bnRoLWNoaWxkKDRuKzEpe2NsZWFyOmxlZnQ7fVxuICAgIC5hdXRvLWNsZWFyIC5jb2wtbGctNDpudGgtY2hpbGQoM24rMSl7Y2xlYXI6bGVmdDt9XG4gICAgLmF1dG8tY2xlYXIgLmNvbC1sZy02Om50aC1jaGlsZChvZGQpe2NsZWFyOmxlZnQ7fVxufVxuQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIGFuZCAobWF4LXdpZHRoOjExOTlweCl7XG4gICAgLmF1dG8tY2xlYXIgLmNvbC1tZC0xOm50aC1jaGlsZCgxMm4rMSl7Y2xlYXI6bGVmdDt9XG4gICAgLmF1dG8tY2xlYXIgLmNvbC1tZC0yOm50aC1jaGlsZCg2bisxKXtjbGVhcjpsZWZ0O31cbiAgICAuYXV0by1jbGVhciAuY29sLW1kLTM6bnRoLWNoaWxkKDRuKzEpe2NsZWFyOmxlZnQ7fVxuICAgIC5hdXRvLWNsZWFyIC5jb2wtbWQtNDpudGgtY2hpbGQoM24rMSl7Y2xlYXI6bGVmdDt9XG4gICAgLmF1dG8tY2xlYXIgLmNvbC1tZC02Om50aC1jaGlsZChvZGQpe2NsZWFyOmxlZnQ7fVxufVxuQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIGFuZCAobWF4LXdpZHRoOjk5MXB4KXtcbiAgICAuYXV0by1jbGVhciAuY29sLXNtLTE6bnRoLWNoaWxkKDEybisxKXtjbGVhcjpsZWZ0O31cbiAgICAuYXV0by1jbGVhciAuY29sLXNtLTI6bnRoLWNoaWxkKDZuKzEpe2NsZWFyOmxlZnQ7fVxuICAgIC5hdXRvLWNsZWFyIC5jb2wtc20tMzpudGgtY2hpbGQoNG4rMSl7Y2xlYXI6bGVmdDt9XG4gICAgLmF1dG8tY2xlYXIgLmNvbC1zbS00Om50aC1jaGlsZCgzbisxKXtjbGVhcjpsZWZ0O31cbiAgICAuYXV0by1jbGVhciAuY29sLXNtLTY6bnRoLWNoaWxkKG9kZCl7Y2xlYXI6bGVmdDt9XG4gICAgXG4gICAgXG4gICAgLmhvcnotcm93LWZyb250IC5uZXdzLXRodW1iIHsgLy8gSElERSBCTE9HIElNQUdFUyAvIE5FV1MgSU1BR0VTIE9OIE1PQklMRVxuXHQgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG59XG5AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7XG4gICAgLmF1dG8tY2xlYXIgLmNvbC14cy0xOm50aC1jaGlsZCgxMm4rMSl7Y2xlYXI6bGVmdDt9XG4gICAgLmF1dG8tY2xlYXIgLmNvbC14cy0yOm50aC1jaGlsZCg2bisxKXtjbGVhcjpsZWZ0O31cbiAgICAuYXV0by1jbGVhciAuY29sLXhzLTM6bnRoLWNoaWxkKDRuKzEpe2NsZWFyOmxlZnQ7fVxuICAgIC5hdXRvLWNsZWFyIC5jb2wteHMtNDpudGgtY2hpbGQoM24rMSl7Y2xlYXI6bGVmdDt9XG4gICAgLmF1dG8tY2xlYXIgLmNvbC14cy02Om50aC1jaGlsZChvZGQpe2NsZWFyOmxlZnQ7fVxufVxuXG5cblxuLmJsb2NrLXZpZXdzLWJsb2NrZHVwbGljYXRlLW9mLWZyb250LWNhdGVnb3JpZXMtYmxvY2stMSB7XG5cdG1hcmdpbi10b3A6IDQlO1xufVxuXG5cbi8vIyMjIyBSRU0gRlVOQ1RJT04gIyMjIy9cblxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xuICAkcmVtU2l6ZTogJHNpemUgLyAxNnB4O1xuICBAcmV0dXJuICN7JHJlbVNpemV9cmVtO1xufVxuXG4vLyBNSVhJTiBGT1IgQUJPVkUgRlVOQ1RJT04gLy9cblxuQG1peGluIGZvbnRTaXplKCRzaXplKSB7XG4gIGZvbnQtc2l6ZTogJHNpemU7IC8vRmFsbGJhY2sgaW4gcHhcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xufVxuXG4vLyBzZXQgZm9udCBzaXplIC0+IEBpbmNsdWRlIGZvbnRTaXplKHB4KTsgPC1cblxuXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAvL1xuXG5cbi8vIFJFU1BPTlNJVkUgLy9cblxuLy8gU01BTEwgREVWSUNFUyBUYWJsZXRzLCA3NjhweCAmIHVwIC8vIFxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgXG4gICAgLmdyaWQge1xuXHQgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAuc3ViLXRpdGxlIHtcblx0ICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICBcbiAgIC5jYXRlZ29yeS1ibG9jayB7XG5cdCAgIFxuXHQgICAuaW1nLXJlc3BvbnNpdmUge1xuXHRcdCAgIG1heC13aWR0aDogNjUlO1xuXHQgICB9XG4gICB9XG4gICAgXG4gICAgXG4gICAgIC5zbGlkZSAuY2Fyb3VzZWwtY2FwdGlvbiB7XG5cdCAgICBcblx0ICAgaGVpZ2h0OiBhdXRvO1xuXHQgICAgXG5cdCAgICBwIHtcblx0XHQgIGZvbnQtc2l6ZTogIDFlbSAhaW1wb3J0YW50O1xuXHQgICAgfVxuXHQgICAgXG5cdCAgIGgyIHtcblx0ICAgIGZvbnQtc2l6ZTogMmVtICFpbXBvcnRhbnQ7XG5cdCAgICBmb250LXdlaWdodDogYm9sZDtcblx0ICAgIH1cbiAgICB9ICAgIFxuICAgICNlZGl0LWtleXMtLTIsICNlZGl0LWtleXMge1xuXHRcblx0Ly93aWR0aDogNjAlICFpbXBvcnRhbnQ7XG5cdH1cbiAgICBcbiAgICAuaGlnaGxpZ2h0ZWR7XG5cdCAgICBtYXJnaW4tdG9wOiA4cHg7XG5cdCAgICBcblx0ICAgIC5pbWctcmVzcG9uc2l2ZSAge1xuXHRcdCAgICBoZWlnaHQ6IDQwMHB4O1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdCAgICB9XG4gICAgfVxuICAgIFxuICAgIFxuICAgICB1bC5oZWFkZXItb3B0aW9ucyB7XG5cdCAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgfVxuICAgIFxuICAgIC5iYXItZGVmYXVsdCAubmF2YmFyLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAubmF2YmFyLWlzLWZpeGVkLXRvcCB7XG5cdCAgICBtYXJnaW4tdG9wOiAkYm9keUhlaWdodCAhaW1wb3J0YW50OyBcbiAgICB9XG4gICAgXG4gICAgLy8uZnJvbnQtYmxvY2sge1xuXHQvL2JvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuXHQvL1x0Jjo6bGFzdC1jaGlsZCB7XG5cdC8vXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdC8vXHR9XG4gICAgLy99XG4gICAgXG4gICAgYS5sb2dvLm5hdmJhci1idG4ucHVsbC1sZWZ0IHtcblx0Ly9tYXJnaW4tbGVmdDogMjBweDtcblx0fVxuXHRcblx0XG5cdC5yZWdpb24tY29udGVudC1mcm9udC1sZWZ0IHtcblx0XHRcblx0XHQuaW1nLXJlc3BvbnNpdmUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblx0XG5cdC5wYWdlLW5vZGUtdHlwZS1wYWdlIC5yZWdpb24tY29udGVudCB7XG5cdHBhZGRpbmc6IDBweDtcblx0fVxuICAgIFxufVxuXG5cbi52aWRlby1yZXNwb25zaXZle1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgaGVpZ2h0OjA7XG59XG4udmlkZW8tcmVzcG9uc2l2ZSBpZnJhbWV7XG4gICAgbGVmdDowO1xuICAgIHRvcDowO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG59XG5cblxuLy8gTUVESVVNIERFVklDRVMgXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjlweCkgYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdFxuXHQuZ3JpZCB7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cdFxuXHQubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10ZXh0IHtcblx0XHQgZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblx0I2Jsb2NrLWNpcmVzLWJvb3RzdHJhcC1zZWFyY2gge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0XG5cdC5yZWdpb24tbmF2aWdhdGlvbiBpbWd7XG5cdFx0Ly93aWR0aDogNTBweDtcblx0XHQvL2hlaWdodDogNTBweDtcblx0fVxuXHRcblx0IHVsLmhlYWRlci1vcHRpb25zIHtcblx0ICAgICBkaXNwbGF5OiBub25lO1xuICAgICB9XG4gICAgIFxuICAgICAuc2xpZGUgLmNhcm91c2VsLWNhcHRpb24ge1xuXHQgICAgXG5cdCAgIGhlaWdodDogYXV0bztcblx0ICAgIFxuXHQgICAgcCB7XG5cdFx0ICBmb250LXNpemU6ICAxZW0gIWltcG9ydGFudDtcblx0ICAgIH1cblx0ICAgIFxuXHQgICBoMiB7XG5cdCAgICBmb250LXNpemU6IDJlbSAhaW1wb3J0YW50O1xuXHQgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cdCAgICB9XG4gICAgfVxuXG5cdFxuXHRcbn1cblxuLy8gREVTS1RPUCAtIEZVTExcblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjk5M3B4KSB7XG5cdFxuXHQuZ3JpZCB7XG5cdFx0aGVpZ2h0OiAzMDBweDtcblx0fVxuXHRcblx0Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdGV4dCB7XG5cdFx0IGRpc3BsYXk6IG5vbmU7XG5cdCB9XG5cdCBcblx0I21hdHQtc2VhcmNoIC5mb3JtLXNlYXJjaC5mb3JtLWNvbnRyb2wge1xuXHR3aWR0aDogMTAwJTtcblx0Y29sb3I6ICNGRkYgIWltcG9ydGFudDtcblx0fSBcblx0IFxuXHRcbn1cblxuXG5cbi52aWV3LW11bHRpbWVkaWEgLnZpZXdzLWxhYmVsLWZpZWxkLXRhZyB7XG5cdFxuXHRcbn1cblxuXG4vLyoqIEdMT0JBTCAqKi8vXG5cbiNwcmltYXJ5LWhvbGRlciB7IC8vIE5FVyBQQUdFIFRJVExFIFNFQ1RJT05cblx0XG5cdFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0Y29sb3I6ICNGRkY7XG5cdG1hcmdpbi1ib3R0b206IDMlO1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgZGFya2VuKCRjb2xvci1wcmltYXJ5LCAxMCUpO1xuXHRoMSB7XG5cdFx0Y29sb3I6ICNGRkY7XG5cdFx0Zm9udC1zaXplOiAyLjVlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdFx0bWFyZ2luLXRvcDogMHB4O1xuXHRcdHBhZGRpbmc6IDEwcHggMHB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuXG5cblxuXG5cbi5jZW50ZXItY29udGVudCB7XG5cdFx0IGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cblxuLnBhdGgtZnJvbnRwYWdlIGgxLnBhZ2UtaGVhZGVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2UtaGVhZGVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmZhIHtcblx0cGFkZGluZzogMTBweDtcblx0XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5O1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMjVweDtcblx0XHRcblx0fVxuXHRcblx0JjphY3RpdmUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoLjk1KTtcblx0fVxuXHRcbn1cblxuLmZvb3RlciBpLmZhIHtcblx0XG5cdCY6aG92ZXIge1x0XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDI1cHg7XG5cdH1cbn1cblxuXG4uZmEtdGFnIHtcblx0cGFkZGluZy1yaWdodDogM3B4O1xufVxuXG4uZmEuZmEtdGFnOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbn1cblxuXG4udG9vbHRpcC1hcnJvdyxcbiArIC50b29sdGlwID4gLnRvb2x0aXAtaW5uZXIge1xuXHRcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cblxuLy8gVE9PTFRJUCAvL1xuXG4udG9vbHRpcC1pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi50b29sdGlwLnRvcCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cbi50b29sdGlwLnJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4udG9vbHRpcC5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4udG9vbHRpcC5sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cblxuXG5oMS5wYWdlLWhlYWRlciB7XG5cdGZvbnQtc2l6ZTogNHJlbTtcblx0bWFyZ2luLWxlZnQ6IDBweDtcblx0bWFyZ2luLXRvcDogMjBweDtcbn1cblxuLnBhZ2UtaGVhZGVyIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnBhdGgtZnJvbnRwYWdlIC5yZWdpb24tY29udGVudCB7XG5cdHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1ub2RlLXR5cGUtcGFnZSAucmVnaW9uLWNvbnRlbnQge1xuXHQvL3BhZGRpbmc6IDBweCAxNSUgMHB4IDE1JTtcbn1cblxuXG4uZmF0Zm9udCB7XG5cdGNvbG9yOiAjNzc3Nzc3O1xuXHRmb250LXNpemU6IDJyZW07XG5cdFxufVxuXG5cbi5jYXRlZ29yeS10YWcge1xuXHRcdHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQ7XG5cdFx0bWluLWhlaWdodDogMTQwcHg7XG5cdFx0cGFkZGluZzogMjBweDtcblx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdFx0XG5cdFx0Lmg0IHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblx0XHRcblx0XHRwIHtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHR9XG5cdFxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheTtcblxuXHR9XG59XG5cblxuXG5cbi8vIFdJUkVEIFNUWUxFIExJTksgJiBIT1ZFUiBPTkxZIFdJVEhJTiBCT0RZIEZJRUxEIElOIE5PREVTIC8vXG5cbi5yZWdpb24tY29udGVudCAuZmllbGQtLW5hbWUtYm9keSB7XG5cblx0YTpsaW5rLCBhOnZpc2l0ZWQsIHAgYTpsaW5rIHtcblx0Y29sb3I6ICM2NzY3Njc7XG5cdC8vYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuXHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCAkY29sb3ItcHJpbWFyeTtcblx0cGFkZGluZzogMHB4IDJweCAwcHggMnB4O1xuXHQvLy13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2Utb3V0O1xuLy8tbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLW91dDtcbi8vLW1zLXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLW91dDtcbi8vLW8tdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2Utb3V0O1xuLy90cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1vdXQ7XG5cdH1cblxuXHRhOmhvdmVyIHtcblx0Ly9ib3JkZXItYm90dG9tOiAycHggc29saWQgbGlnaHRlbigkY29sb3ItcHJpbWFyeSwzMCUpO1xuXHRcblx0Ly9ib3JkZXItcmFkaXVzOiA2cHg7XG5cdH1cblx0XG5cdC5idG4tcHJpbWFyeSB7XG5cdGNvbG9yOiAjRkZGO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0Ym9yZGVyOm5vbmU7XG5cdFxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1wcmltYXJ5LCAxMCUpO1xuXHR9XG5cdFxufVxuXG59XG5cblxuaW1nLmRlc2staW1nIHtcblx0d2lkdGg6IDUwJTsgXG59XG5cbnAge1xuXHRjb2xvcjogIzY3Njc2Nztcblx0QGluY2x1ZGUgZm9udFNpemUoMjZweCk7XG59XG5cblxuYTpsaW5rLCBhOnZpc2l0ZWQge1xuXHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdGZvbnQtd2VpZ2h0OiAzNTA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5hOmhvdmVyIHtcblx0Zm9udC13ZWlnaHQ6IDM1MDtcblx0Ly9jb2xvcjogI0ZGRjtcbn1cblxuXG4uZGF0ZS1zdGFtcCwgLmRhdGUtc3RhbXAgcCwgdGltZSB7XG5cdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHRjb2xvcjogZGFya2VuKCRjb2xvci1ncmF5LCA1MCUpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuaDEge1xuXHRAaW5jbHVkZSBmb250U2l6ZSg5NnB4KTtcbn1cblxuXG4ucGFnZS1pbnRybyB7XG5cdFxuXHRtYXJnaW4tYm90dG9tOiA1JTtcblx0bWFyZ2luLWxlZnQ6IDIlO1xuXHRcblx0QGluY2x1ZGUgZm9udFNpemUoMzJweCk7XG5cdGNvbG9yOiBkYXJrZW4oJGNvbG9yLWdyYXksNDAlKTtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XG59XG5cblxuaDEge1xuICAgLy8gIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cblxuLnJlYWQtbW9yZXtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICBcdC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgXHR0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gIFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcbiAgXHRcbn1cblxuLnJlYWQtbW9yZTphZnRlcntcblx0Y29udGVudDogXCJcXDAwMjc5RVwiO1xuXHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdHBhZGRpbmctbGVmdDogNXB4O1xuXHR0cmFuc2l0aW9uOiBhbGwgLjRzIC40cztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMjU2cyBlYXNlLWluLW91dDtcblx0LW1vei10cmFuc2l0aW9uOiBhbGwgLjI1NnMgZWFzZS1pbi1vdXQ7XG5cdC1vLXRyYW5zaXRpb246IGFsbCAuMjU2cyBlYXNlLWluLW91dDtcblx0dHJhbnNpdGlvbjogYWxsIC4yNTZzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ucmVhZC1tb3JlOmhvdmVyOmFmdGVyIHtcblx0cmlnaHQ6IC0ycHg7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cblxuLy8jIyMjIFJFR0lPTlMgIyMjIyAvL1xuXG4vLyMjIyMgU0xJREUgIyMjIyAvL1xuXG4uc2xpZGUge1xuXHRcblx0XG5cdC5jYXJvdXNlbC1jYXB0aW9uIHtcblx0XHRcblx0XHRwYWRkaW5nLWJvdHRvbTogNjBweDtcblx0XHRcblx0XHRoMiB7XG5cdFx0XHRjb2xvcjogI0ZGRjtcblx0XHRcdEBpbmNsdWRlIGZvbnRTaXplKDcwcHgpO1xuXHRcdFx0dGV4dC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDAsIDAsIDAsIDAuOCk7XG5cdFx0fVxuXHRcdFxuXHRcdHAge1xuXHRcdFx0Y29sb3I6ICNGRkY7XG5cdFx0XHR0ZXh0LXNoYWRvdzogMHB4IDBweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC44KTtcblx0XHR9XG5cdFx0XG5cdH1cblx0XG5cdC5zbGlkZS1idXR0b24ge1xuXHRcdFxuXHRcdHBhZGRpbmc6IDhweCAyMHB4IDhweCAyMHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI0ZGRjtcblx0XHRjb2xvcjogI0ZGRjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuXHRcdG1hcmdpbi10b3A6NXB4O1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcblx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFxuXHRcdGEge1xuXHRcdFx0XHRjb2xvcjogI0ZGRjtcdFxuXHRcdFx0fVxuXHRcdH1cbn1cblxuLnNsaWRlLWNyZWRpdCB7XG5cdFxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDE1cHg7XG5cdGJvdHRvbTogMjVweDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRmb250LXNpemU6IC45NWVtO1xuXHRjb2xvcjogI2ZmZjtcbn1cblxuXG5cbi8vIyMjIyBIRUFERVIgIyMjIyAvL1xuXG5cbi8vIFNVQlRJVExFIC8vXG5cbi5zdWItdGl0bGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDEwJSk7XG5cdGRpc3BsYXk6ICRzdWJUaXRsZTtcblx0Y2xlYXI6IGJvdGg7XG5cdFxuXHRwIHtcblx0XHRjb2xvcjogI0ZGRjtcblx0XHRwYWRkaW5nOiA0cHg7XG5cdFx0bWFyZ2luLXRvcDogNHB4O1xuXHRcdEBpbmNsdWRlIGZvbnRTaXplKDIycHgpO1xuXHR9XG59XG5cblxuLm5hdmJhci1icmFuZCB7XG5cdG1hcmdpbi10b3A6ICRicmFuZDtcblx0Ly9wYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5cblxuXG4vLyBObyBNb3JlIFdoaXRlc3BhY2UgLy9cblxuaGVhZGVyI25hdmJhci5uYXZiYXIubmF2YmFyLWRlZmF1bHQubmF2YmFyLXN0YXRpYy10b3Age1xuXHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdG1hcmdpbjogMHB4O1xufVxuXG5cbi8vIyMjIyBIRUFERVIgIyMjIyAvL1xuXG5cblxuLmhlYWRlci1vcHRpb25zIHtcblx0dHJhbnNpdGlvbjogYWxsIDFzO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHQvL3dpZHRoOiAxMDBweDtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHQvL2Rpc3BsYXk6IGJsb2NrO1xuXHQvL3BhZGRpbmc6NXB4O1xuXHQvL21hcmdpbi10b3A6IDRweDtcblx0Ly90ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmctYm90dG9tOiAzcHg7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdFxuXHRsaSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW46IDBweCBhdXRvO1xuXHRcdHBhZGRpbmctcmlnaHQ6NXB4O1xuXHR9XG5cdFxuXHRmYSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXk7IFxuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblx0XHRcdC8vYm9yZGVyLXJhZGl1czogMzBweDtcblx0XHRcdC8vdHJhbnNmb3JtOiAgc2NhbGUoMS4xLDEuMSk7IFxuXHRcdH1cblx0fVxuXHRcblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTJweDtcblx0fVxuXHRcblx0XG59XG5cblxuXG4uaGVhZGVyLW9wdGlvbnM6YWN0aXZlIC5mYSB7XG5cdHRyYW5zZm9ybTogc2NhbGUoLjksLjkpOyBcbn1cblxuLy8gTU9EQUwgVVBEQVRFUyAvL1xuXG4ubW9kYWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAhaW1wb3J0YW50O1xufVxuXG4ubW9kYWw6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IC00cHg7IC8qIEFkanVzdHMgZm9yIHNwYWNpbmcgKi9cbn1cblxuLm1vZGFsLWRpYWxvZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4jZWRpdC1rZXlzLS0yLCAjZWRpdC1rZXlzIHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ly9jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiAwcHg7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0aGVpZ2h0OiA2NXB4O1xuXHRmb250LXNpemU6IDRyZW07XG5cdGZvbnQtd2VpZ2h0OiAyMDA7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuZGl2LmlucHV0LWdyb3VwIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG4udG9nZ2xlLXNlYXJjaC1jbG9zZSAuZ2x5cGhpY29uIHtcblx0Ly9mbG9hdDogcmlnaHQ7XG5cdC8vbWFyZ2luLXRvcDo4cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRvZ2dsZS1zZWFyY2gtY2xvc2UgLmdseXBoaWNvbiBzcGFuOmhvdmVye1xuXHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuLy8gTUlTU0lPTiBCTE9DSyAvL1xuXG4jbWlzc2lvbi1ibG9jayB7XG5cblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb2Zmd2hpdGU7XG5cdHBhZGRpbmc6IDUlO1xuXHRvdmVyZmxvdzogYXV0bztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IC00MHB4O1xuXHRcblx0XG5cdHAge1xuXHRcdGNvbG9yOiAkY29sb3ItZGFya2dyYXk7XG5cdH1cblx0XG5cdGgyIHtcblx0XHRcblx0XHRjb2xvcjogJGNvbG9yLWRhcmtncmF5O1xuXHRcdFxuXHR9XG5cdFxuXHRcblx0XG59XG5cblxuXG4vLyBDVEEgQkxPQ0sgLy9cblxuXG5cbiNjdGEtYmxvY2sge1xuXG5cdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3Itb2Zmd2hpdGUsIDEwJSk7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRtYXJnaW4tYm90dG9tOiAzJTtcdFxuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgZGFya2VuKCRjb2xvci1vZmZ3aGl0ZSwgMTUlKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6LTQwcHg7XG5cdHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXHRcblx0Jjpob3ZlciB7XHRcblx0fVxuXG5cblx0LnJlZ2lvbi1jdGEge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW4tdG9wOiA0MHB4O1xuXHRcblx0aDMge1xuXHRcdG1hcmdpbi10b3A6IDBweDtcblx0fVx0XG5cdFx0XG5cdFx0XG5cdFx0LmJ0bi1jdGEge1xuXG5cdFx0fVxuXHRcblx0fVxuXG59XG5cbi5mb290LW9uZSB7XG5cdGNvbG9yOiAkY29sb3ItZGFya2dyYXk7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1vZmZ3aGl0ZTtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXJnaW46IDBweCBhdXRvO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDMlO1xuXHRib3JkZXItdG9wOiAycHggc29saWQgZGFya2VuKCRjb2xvci1vZmZ3aGl0ZSwgMTAlKTtcblxuXHRwIHtcblx0XHRjb2xvcjogJGNvbG9yLWRhcmtncmF5O1xuXHR9XG59XG5cbi5mcm9udC1jYXRlZ29yeSB7XG4vLy13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMHB4IC0yOXB4IDMwcHggLTIycHggcmdiYSgyMTksMjE5LDIxOSwxKTtcbi8vLW1vei1ib3gtc2hhZG93OiBpbnNldCAwcHggLTI5cHggMzBweCAtMjJweCByZ2JhKDIxOSwyMTksMjE5LDEpO1xuLy9ib3gtc2hhZG93OiBpbnNldCAwcHggLTI5cHggMzBweCAtMjJweCByZ2JhKDIxOSwyMTksMjE5LDEpO1xubWluLWhlaWdodDogMTIwcHg7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cblxuXG4vLyBDT05URU5UIC8vXG5cbi5mcm9udC1zcGFjZXJ7XG5cdG1hcmdpbjogMiUgMHB4IDIlIDBweDtcbn1cblxuI21haW4tY29udGVudCB7XG5cbn1cblxuXG4ubWFpbi1jb250YWluZXIge1xuXHQvL21pbi1oZWlnaHQ6IDc1MHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHQvL21hcmdpbi10b3A6IDBweDtcblx0Ly9wYWRkaW5nOiAxMHB4IDE1cHggMTBweCAxNXB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMTAlO1xuXHRcblx0XG59XG5cbi51c2VyLWxvZ2dlZC1pbiAubWFpbi1jb250YWluZXIge1xuXHQvL21hcmdpbi10b3A6IDYwcHg7XG59XG5cbi5wYXRoLWZyb250cGFnZSAubWFpbi1jb250YWluZXIge1xuXHQvL3BhZGRpbmc6IDEwcHggMHB4IDEwcHggMHB4O1xuXHQvL21hcmdpbi10b3A6IDQwcHg7XG59XG5cblxuLnJlZ2lvbi1jb250ZW50IC5ub3QtZnJvbnQge1xuXHQvL3BhZGRpbmc6IDIwcHg7XG5cdFx0XG5cdHBhZGRpbmctYm90dG9tOiAxMCU7XG5cdFxufVxuXG5cbmh0bWwsIGJvZHkgeyAvLyBGSVggRk9SIFhweCBvZiBQQURERElORyBPTiBSSUdIVCBTSURFIE9GIE1PQklMRSAvL1xuIC8vIG92ZXJmbG93LXg6aGlkZGVuIFxufSBcblxuXG5ib2R5IHtcblx0XG5cdC8vYmFja2dyb3VuZDogI0Y1RjdGQTtcblx0Ly9tYXJnaW4tdG9wOiAxMDVweCAhaW1wb3J0YW50O1xuXHRcblx0cCwgaDEsIGgyLCBoMywgIHtcbi8vXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0Y29sb3I6ICM3YjdiN2I7XG5cdH1cblx0XG5cdGltZy5hbGlnbi1jZW50ZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxuXHRcblx0Lm5hdmJhci1pcy1maXhlZC10b3Age1xuXHRcdC8vbWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50O1xuXHR9XG5cdFxufVxuXG5ib2R5Lm5hdmJhci1pcy1maXhlZC10b3Age1xuXHRtYXJnaW4tdG9wOiAkYm9keUhlaWdodDtcbn1cblxuXG5hLmxvZ28ubmF2YmFyLWJ0bi5wdWxsLWxlZnQge1xuXHQvL3BhZGRpbmctdG9wOiAxcHg7XG5cdC8vbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHQvL2Rpc3BsYXk6IG5vbmU7XG5cdFxuXHRpbWcgeyAvLyBzaXppbmcgdGhlIFNWRyBMb2dvXG5cdFx0d2lkdGg6IDEwMHB4O1xuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdGZpbGw6ICRjb2xvci1wcmltYXJ5O1xuXHRcdH1cblx0XHRcblx0fVxuXHRcblx0XG5cdFxuXHRcbn1cblxuLy8jIyMgRk9PVEVSICMjIy8vXG5cbi5tYWRlLXdpdGgge1xuXHRjb2xvcjogZGFya2VuKCRjb2xvci1wcmltYXJ5LCA5JSk7XG5cdGZvbnQtc2l6ZTogLjk1cmVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgNXM7XG5cdFxuXHRcblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICNGRkY7XG5cdH1cblx0XG5cdCY6aG92ZXIgPiAuZmEtaGVhcnQge1xuXHRcdGNvbG9yOiByZWQgIWltcG9ydGFudDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0cGFkZGluZzogbm9uZTtcblx0XHRcdHRyYW5zaXRpb246IGFsbCA1cztcblx0fVxuXG5cdC5mYS1oZWFydCB7XG5cdHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1x0XG5cdGNvbG9yOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDklKSAhaW1wb3J0YW50O1xuXHR9XG59XG5cblxuLmNvcHlyaWdodCB7XG5cdGNvbG9yOiAjRkZGO1xuXHRmb250LXNpemU6IDFyZW07XG59XG5cblxuI0xheWVyXzAgaW1nIHtcblx0ZmlsbDogJGNvbG9yLXNlY29uZGFyeTtcbn1cblxuXG5cblxuLmNvbnRhaW5lci5mb290IHtcbmJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xufVxuXG5cblxuXG4uZm9vdGVyIHtcblx0XG5iYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcblx0Ym90dG9tOiAwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDEwJSk7XG5cdFxuXHQubmF2IHtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHR9XG5cdFxuXHQubmF2ID4gbGkgPiBhIHtcblx0XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRtYXJnaW46IDVweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdFx0XHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdFx0fVx0XG5cdH1cblx0XG5cdFxuXHQuY29sLW1kLTEyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHR9XG5cdFxuXHRoMyB7XG5cdFx0Y29sb3I6ICNGRkY7XG5cdFx0cGFkZGluZy1ib3R0b206IDVweDtcblx0fVxuXHRcblx0LnNvY2lhbC1pY29ucyB7XG5cdFx0XG5cdFx0XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFxuXHRcdGxpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFxuXHRcdCAmOmhvdmVyIHtcblx0XHRcdCBib3JkZXItcmFkaXVzOiA2cHg7XG5cdFx0XHQgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdFx0IFx0fVxuXHRcdH1cblx0XHRcblx0XHRcblx0XHRcblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0bWFyZ2luOiAxMHB4O1xuXHRcdFxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdFx0XHRcdH1cdFx0XG5cdFx0XG5cdFx0fVxuXHRcdFxuXHRcdFxuXHRcdFxuXHR9XG5cdFxuXHR1bCB7XG5cdFx0bWFyZ2luOiAwcHggYXV0byAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmc6IDBweDtcblx0fVxuXHRcblx0LmZhIHtcblx0XHRjb2xvcjogI0ZGRjtcblx0fVxuXHRcblx0XG5cdGF7XG5cdFx0Y29sb3I6ICNGRkY7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cdHAge1xuXHRcdGNvbG9yOiAjRkZGO1xuXHR9XG5cdGgyIHtcblx0XHRjb2xvcjogI0ZGRjtcblx0fVxufVxuXG4uZm9vdGVyIHtcblx0bWFyZ2luLXRvcDogMHB4O1xufVxuXG4uZm9vdGVyLmZvb3Rlci5jb250YWluZXIge1xuXG5cdGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuXHR3aWR0aDogMTAwJTtcblxufVxuXG4vLyMjIyAhISFFTkQgRk9PVEVSISEhICMjIy8vXG5cblxuXG4vLyMjIyBDT01NRU5UUyAjIyMvL1xuXG4uaW5kZW50ZWQge1xuXHRtYXJnaW4tbGVmdDogMTBweDtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCAkY29sb3Itc2Vjb25kYXJ5O1xuXHRcblx0LmNvbW1lbnQtYm94IHtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG5cdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xuXHR9XG59XG5cbi5jb21tZW50LWJveCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXk7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFxuXHRoMyB7XG5cdFx0Y29sb3I6ICMwMDA7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuXHR9XG5cdFxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuXHR9XG5cdFxuXHR1bC5saW5rcy5saXN0LWlubGluZXtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyYXk7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdH1cblx0XG5cdC8vIFVTRVIgSVRFTVMgLy9cblx0XG5cdC5jb21tZW50X19hdXRob3Ige1xuXHRcdGZsb2F0OiByaWdodDtcblx0fVxuXHRcblx0LmRhdGEtY29tbWVudC10aW1lc3RhbXAge1xuXHRcdGNvbG9yOiByZWQ7XG5cdH1cblx0XG5cdFxufVxuXG4vLyMjIyAhISFFTkQgQ09NTUVOVFMhISEgIyMjLy9cblxuXG4uY29udGV4dC1ldmVudCB7XG5cdG1hcmdpbjogMjBweCAwcHggMjBweCAwcHg7XG5cdGJvcmRlci10b3A6ICRjb2xvci1ncmF5IHNvbGlkIDFweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbiNjYWwtZGF5IHtcblx0XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdC8vaGVpZ2h0OiA1MHB4O1xuXHQvL21heC13aWR0aDogMjAwcHg7XG5cdC8vbWFyZ2luLWJvdHRvbTogMjBweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdGJvcmRlci1ib3R0b206IGRhcmtlbigkY29sb3ItcHJpbWFyeSwgNSUpO1xuXHRcdGNvbG9yOiAjRkZGO1xuXHRcdC8vd2lkdGg6IDEyMCU7XG5cdFx0Ly9wb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ly9yaWdodDogMTAlO1xuXHRcdC8vdG9wOiAtMjBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMnJlbTtcblx0XG5cdFxuXHQuZmllbGQge1xuXHRcdFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiBub25lICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFxuXHQmOmhvdmVyIHtcblx0XHRcblx0YmFja2dyb3VuZC1jb2xvcjogbm9uZSAhaW1wb3J0YW50O1xuXHRib3JkZXItYm90dG9tOiBub25lO1x0XG5cdH1cblx0XG5cdH1cblx0XG5cdFxuXG5cdFxuXHQubW9udGh7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdFx0Ym9yZGVyLWJvdHRvbTogZGFya2VuKCRjb2xvci1wcmltYXJ5LCA1JSk7XG5cdFx0Y29sb3I6ICNGRkY7XG5cdFx0d2lkdGg6IDEyMCU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHJpZ2h0OiAxMCU7XG5cdFx0dG9wOiAtMTBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XG5cdFx0cCB7XG5cdFx0XHRsZWZ0OiAxMHB4O1xuXHRcdH1cblx0XHRcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdH1cblx0XHRcblx0fVxuXHRcblx0LmRheSB7XG5cdFx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXNpemU6IDRyZW07XG5cdFx0cGFkZGluZy10b3A6IDIwcHg7XG5cdH1cblx0XG59XG5cblxuXG5cbi8vIFNJREVCQVIgLy9cblxuLnNpZGViYXIge1xuXHRcblx0Y29sb3I6IGRhcmtlbiAoJGNvbG9yLWdyYXksIDUlKTtcblx0QGluY2x1ZGUgZm9udFNpemUoMjJweCk7XG5cdFxuXHQuZmllbGQge1xuXHRcdHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMHB4O1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcblx0fVxuXHRcblx0LmZpZWxkOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1ncmF5LCA1JSk7XG5cdH1cblx0XG5cdHAge1xuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHR9XG5cdFxuXHQuZmllbGQtLW5hbWUtZmllbGQtdGFnIHtcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHR9XG5cdFxufVxuXG4vLyBQRU9QTEUgLy9cblxuLy8gZXhwbG9kZSByb3cgKCBmdWxsIGRlZmF1bHQgbm9kZSByb3cgdHlwZXMgZm9yIHZpZXcgKSAvL1xuXG5cbi5mdWxsLXByb2ZpbGUtcGlsbCB7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1ncmF5LDElKTtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRcblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItZ3JheSwgMyUpO1xuXHR9XG5cdFxufVxuXG4uZXhwbG9kZS1yb3cge1xuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLm1lbWJlci1pbmZvIHtcblx0cGFkZGluZzogMjBweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG5cbi5wcm9qZWN0cy12aWV3cy1yb3cge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuXG4uaW1hZ2Utcm91bmQtMzAwIHtcblx0Ym9yZGVyLXJhZGl1czogMTUwcHg7XG5cdG1hcmdpbjogMHB4IGF1dG87XG5cdFxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFxuXHRpbWcge1xuXHRib3JkZXItcmFkaXVzOiAxNTBweDtcblx0bWFyZ2luOiAwcHggYXV0bztcblx0fVxuXHRcblx0JjphY3RpdmUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoLjk4KTtcblx0fVxufVxuXG5cbi5pbWFnZS1yb3VuZC0xNTAgIHtcblx0XG5cdGJvcmRlci1yYWRpdXM6IDc1cHg7XG5cdG1hcmdpbjogMHB4IGF1dG87XG5cdFxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFxuXHQuZmllbGQ6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG5cdH1cblx0XG5cdGltZyB7XG5cdGJvcmRlci1yYWRpdXM6IDc1cHg7XG5cdG1hcmdpbjogMHB4IGF1dG87XG5cdH1cblx0XG5cdCY6YWN0aXZlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKC45OCk7XG5cdH1cbn1cblxuLmltYWdlLXJvdW5kLTEwMCB7XG5cdFxuXHRib3JkZXItcmFkaXVzOiA1MHB4O1xuXHRtYXJnaW46IDBweCBhdXRvO1xuXHRcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcblx0LmZpZWxkOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuXHR9XG5cdFxuXHRpbWcge1xuXHRib3JkZXItcmFkaXVzOiA3NXB4O1xuXHRtYXJnaW46IDBweCBhdXRvO1xuXHR9XG5cdFxuXHQmOmFjdGl2ZSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSguOTgpO1xuXHR9XG59XG5cblxuXG5cbi8vIFJPV1MgLy9cblxuXG4uY2h1LXJvdyB7XG5cdFxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFxuXHRcbn1cblxuLmhvcnotcm93IHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuXHRwYWRkaW5nOiAyLjUlIDAgMi41JSAwO1xuXHRtYXJnaW4tdG9wOiAxJTtcblxuXHRcblx0LmluZm8tYmFyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheTtcblx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdFx0cGFkZGluZzogNnB4O1xuXHR9XG5cdFxuXHRcblx0LmRhdGUtc3RhbXAge1xuXHRcdEBpbmNsdWRlIGZvbnRTaXplKDQ1cHgpO1xuXHRcdHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG5cdH1cblx0XG5cdFxuXHRcblx0LnRpdGxlIHtcblx0XHRmb250LXNpemU6IDNyZW07XG5cdFx0cGFkZGluZy1ib3R0b206IDEwcHg7XG5cdFx0XG5cdFx0YTpsaW5rIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0XHR9XG5cdH1cblx0XG5cdFxuXHRcblx0YTpsaW5rIHtcblx0XHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdH1cblx0XG5cdGE6aG92ZXIge1xuXHRcdC8vYm9yZGVyLXJhZGl1czogNnB4O1xuXHRcdC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXk7XG5cdH1cblx0XG5cdC5uZXdzLXRodW1iIGltZ3tcblx0cGFkZGluZzogMHB4O1xuXHRib3JkZXItcmFkaXVzOiAxNnB4O1xuXHRcblx0Jjpob3ZlciB7XG5cdHBhZGRpbmc6MXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHRcdH1cblx0XHRcblx0JjphY3RpdmUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoLjk4KTtcblx0fVx0XG5cdFx0XG5cdH1cblx0XG5cdC5mYXRmb250IHtcblx0XHRAaW5jbHVkZSBmb250U2l6ZSgzOHB4KTtcblx0XHRjb2xvcjogZGFya2VuKCRjb2xvci1ncmF5LCA2MCUpO1xuXG5cdH1cbn1cblx0XG4ubmV3cy10aHVtYiBpbWd7XG5cdHBhZGRpbmc6IDBweDtcblx0Ym9yZGVyLXJhZGl1czogMTZweDtcblx0XG5cdCY6aG92ZXIge1xuXHRwYWRkaW5nOjFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdFx0fVxufVxuXG4ucm91bmRlZC1jb3JuZXIgaW1nIHtcblx0cGFkZGluZzogMHB4O1xuXHRib3JkZXItcmFkaXVzOiAxNnB4O1xuXHRcbn1cblxuXG4ubmV3cy10aHVtYi1mcm9udCBpbWd7XG5cdHBhZGRpbmc6IDBweDtcblx0Ym9yZGVyLXJhZGl1czogMTZweDtcblx0d2lkdGg6IDc1JTtcblx0aGVpZ2h0OiBhdXRvO1xuXHRcblx0Jjpob3ZlciB7XG5cdC8vcGFkZGluZzoxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdH1cbn1cblxuXG4udmlkLXRodW1iIGltZ3tcblx0cGFkZGluZzogMHB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdFxuXHQmOmhvdmVyIHtcblx0Ly9wYWRkaW5nOjFweDtcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblx0XG5cdCY6YWN0aXZlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKC45OCk7XG5cdH1cblx0XHRcblx0XHRcblx0fVxuXG5cblxuLmhvcnotcm93LXNtIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuXHRwYWRkaW5nOiAxJSAwIDElIDA7XG5cdGNsZWFyOiBib3RoO1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLWdyYXksIDEwJSk7XG5cdH1cblx0XG5cdGgzIHtcblx0XHRib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG5cdH1cblx0XG59XG5cblxuLy8gR1JJRCAvL1xuXG4uZ3JpZCB7XG5cdHdpZHRoOiAxMDAlO1xuLy9cdC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA1MHB4IC0yMHB4IHJnYmEoMCwwLDAsMC42OSk7XG4vL1x0LW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDUwcHggLTIwcHggcmdiYSgwLDAsMCwwLjY5KTtcbi8vXHRib3gtc2hhZG93OiAwcHggMHB4IDUwcHggLTIwcHggcmdiYSgwLDAsMCwwLjY5KTtcblx0bWFyZ2luOiA0JTtcblx0cGFkZGluZzogMjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcblx0XG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IDZweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1ncmF5LCA0JSk7XG5cdH1cblx0XG5cdC5ncmlkLWltYWdlIC5pbWctcmVzcG9uc2l2ZXtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdH1cblx0XG5cdC5ncmlkLWluZm8ge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0fVxuXHRcblx0LmdyaWQtdGl0bGUge1xuXHRcdEBpbmNsdWRlIGZvbnRTaXplKDI4cHgpO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Y29sb3I6ICM2MzYzNjM7XG5cdH1cblx0XG5cdC5ncmlkLXRhZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcblx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdH1cblx0XG5cdGE6aG92ZXIge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXHRhOnZpc2l0ZWQsIGE6bGluayB7XG5cdFx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHR9XG59XG5cblxuLy8gR1JJRCBDTEVBTiB8IE5PIFNIQURPV1MgT1IgQ0FSRCAvL1xuXG5cbi5tZW1iZXItZ3JpZCB7XG5cdFxuXHRwYWRkaW5nLXRvcDogMjBweDtcblx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLWdyYXksIDQlKTtcblx0fVxuXHRcblx0Lm1lbS10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAxLjFlbTtcblx0fVxuXHRcblx0Lm1lbS1pbmZvIHtcblx0XHRmb250LXNpemU6IC45ZW07XG5cdFx0Y29sb3I6IGRhcmtlbigkY29sb3ItZ3JheSwgMTUlKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDMwcHg7XG5cdH1cblx0XG5cdGltZyB7XG5cdFxuXHRtYXgtd2lkdGg6IDEwMHB4O1xuXHRoZWlnaHQ6IGF1dG87XG5cdHBhZGRpbmc6MTBweDtcblx0XG5cdH1cblx0XG59XG5cblxuXG4uZ3JpZC1jbGVhbiB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW46IDIlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuXHRtaW4taGVpZ2h0OiAyODBweDtcblx0cGFkZGluZy10b3A6IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLWdyYXksIDQlKTtcblx0fVxuXHRcblx0LmdyaWQtaW1hZ2UgLmltZy1yZXNwb25zaXZle31cblx0XG5cdC5ncmlkLWluZm8ge1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0dG9wOiA1JTtcblx0XHRtYXJnaW46IDBweCBhdXRvO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtaW4taGVpZ2h0OiA3MHB4O1xuXHRcdHBhZGRpbmc6IDAgNSUgMCA1JTtcblx0fVxuXHRcblx0LmdyaWQtdGl0bGUge1xuXHRcdEBpbmNsdWRlIGZvbnRTaXplKDM0cHgpO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0XG5cdFx0YSB7XG5cdFx0Y29sb3I6IGRhcmtlbigkY29sb3ItZ3JheSwgNjAlKSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXHRcblx0LmdyaWQtZW1haWwge1xuXHRcdEBpbmNsdWRlIGZvbnRTaXplKDIwcHgpO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IGRhcmtlbigkY29sb3ItZ3JheSwgNDAlKSAhaW1wb3J0YW50O1xuXHR9XG5cdFxuXHRcblx0LmdyaWQtdGFnIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuXHRcdG1hcmdpbi10b3A6IDVweDtcblx0fVxuXHRcblx0YTpob3ZlciB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cdGE6dmlzaXRlZCwgYTpsaW5rIHtcblx0XHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdH1cblx0XG5cdCY6aG92ZXIge31cbn1cblxuXG4vLyBWSUVXUyAvL1xuXG4udmlldy1jb250ZW50IHtcblx0XG5cdGgzIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRAaW5jbHVkZSBmb250U2l6ZSg2MHB4KTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXk7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luOiAyMHB4IDAgMjBweCAwO1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0Y29sb3I6ICM2ODY4Njg7XG5cdH1cblx0XG59XG5cbi8vIEFDVElWSVRZIC8vXG5cbi5jb21taXR0ZWUge1xuXHRAaW5jbHVkZSBmb250U2l6ZSgyNnB4KTtcbn1cblxuLnZpZXctY29udGVudCBoMyB7XG5cdHBhZGRpbmc6IDE1cHg7XG59XG5cbi8vIFNMSURFUiAvL1xuXG5cbi8vIEhJR0hMSUdIVEVEIC8vXG5cblxuXG4uaGlnaGxpZ2h0ZWQtaW50ZXJpb3Ige1xuXHQvL1x0aGVpZ2h0OiAyMDBweCA7XG5cdC8vXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFxuXHRcblx0LnNsaWRlLWNyZWRpdCB7XG5cdFxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAxNXB4O1xuXHRcdHRvcDogMTUwcHg7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdGZvbnQtc2l6ZTogLjk1ZW07XG5cdFx0Y29sb3I6ICNmZmY7XG5cdH1cblx0XG5cdGltZy5pbWctcmVzcG9uc2l2ZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdC8vXHRoZWlnaHQ6IGF1dG87XG5cdFx0b2JqZWN0LWZpdDpjb3Zlcjtcblx0XHRtYXgtaGVpZ2h0OiAyMDJweDtcblx0fVxufVxuXG5cbi5oaWdobGlnaHRlZCB7XG5tYXJnaW4tcmlnaHQ6IGF1dG87XG5tYXJnaW4tbGVmdDogYXV0bztcblx0XG5cdFxuXHRpbWcuaW1nLXJlc3BvbnNpdmUge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHQvL1x0aGVpZ2h0OiBhdXRvO1xuXHRvYmplY3QtZml0OmNvdmVyO1xuXHRtYXgtaGVpZ2h0OiAzNTBweDtcblx0XG5cdH1cblx0XG59XG5cbi5vd2wtcGFnaW5hdGlvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiAtNTBweDtcbn1cblxuXG5cbi8vIEZST05UIEJMT0NLIC8vXG5cblxuLmNoaW1wIC5jYW1wYWlnbiB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcblx0XHRwYWRkaW5nOiAyNXB4IDEwcHggMjVweCAxMHB4O1xuXHRcdG1pbi1oZWlnaHQ6IDEwMHB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItZ3JheSw1JSk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdFx0fVxufVxuXG4uaG9yei1yb3ctZnJvbnQge1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcblx0XHRwYWRkaW5nOiAyNXB4IDEwcHggMjVweCAxMHB4O1xuXHRcdG1pbi1oZWlnaHQ6IDEwMHB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItZ3JheSwzJSk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdFx0fVxuXHRcdFxuXHRcdFxuXHRcdC50aXRsZSB7XG5cdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0Zm9udC1zaXplOiAxLjVlbTtcblx0XHRcdGNsZWFyOiByaWdodDtcblx0XHR9XG5cdFx0XG59XG5cblxuLnRhZyB1bCwgLnRhZyB7XG5cdFxuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW4tdG9wOjVweDtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRtYXJnaW4tbGVmdDogMHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDBweDtcblx0XG5cdGxpLCAuZmllbGQtLWl0ZW0ge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1kYXJrZ3JheTtcblx0XHRcdGNvbG9yOiAkY29sb3ItZGFya2dyYXk7XG5cdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRmb250LXNpemU6IC44ZW07XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1x0XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OjVweDtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OjVweDtcdFxuXHR9XG5cdFxuXHRcblx0XG59XG5cblxuXG5cblxuXG4ubGFiZWwge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1kYXJrZ3JheTtcblx0XHRcdGNvbG9yOiAkY29sb3ItZGFya2dyYXk7XG5cdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHRmb250LXNpemU6IC45ZW07XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1x0XG5cdFx0XHRcblx0fVxuXG5cbi5mcm9udC1ibG9jayB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXHRcblx0aDIge1xuXHRcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdGZvbnQtd2VpZ2h0OiAyNTA7XG5cdFx0QGluY2x1ZGUgZm9udFNpemUoNDBweCk7XG5cdH1cblx0XG5cdFxuXHRcblx0LmRhdGUtc3RhbXAge1xuXHRcdGZvbnQtc2l6ZTogLjllbTtcblx0XHRjb2xvcjogJGNvbG9yLWRhcmtncmF5O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdH1cblx0XG59XG5cbi5mcm9udC1ibG9jay1yaWdodCB7XG5cdFx0XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZy1ib3R0b206IDEwcHg7XG5cdFx0XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdFx0fVxuXHRcdFxuXHRcdGgyIHtcblx0XHR9XG5cdFx0XG5cdFx0LmxhYmVsIHtcblx0XHQvL2Zsb2F0OiByaWdodDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG5cdFx0XHRjb2xvcjogI0ZGRjtcblx0XHR9XG5cdFx0XG5cdFx0Lmhvcnotcm93LWZyb250OmhvdmVye1xuXHRcdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuXHRcdH1cblx0XHRcblx0XHRcblx0fVxuXHRcbi8vIGJ1dHRvbiAvL1xuXG5hLmJ0bi5idG4tcHJpbWFyeSB7XG5cdGNvbG9yOiAjRkZGO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0Ym9yZGVyOm5vbmU7XG5cdFxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1wcmltYXJ5LCAxMCUpO1xuXHR9XG5cdFxufVxuXG5cbmEuYnRuLmJ0bi1wcmltYXJ5LnB1bGwtcmlnaHQge1xuXHRcdGNvbG9yOiAjRkZGO1xufVx0XG5cbmEuYnRuLmJ0bi1wcmltYXJ5IHtcblx0Y29sb3I6ICNGRkY7XG59XG5cdFxuXHRcblx0XG4uc2xpZGUtcmVzcG9uc2l2ZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG59XHRcblxuLy8gcGFydG5lcnMgLy9cblxuLnBhcnRuZXItaW1nIHtcblx0XG5cdFxuXHRcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHR0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiAkY29sb3ItZGFya2dyYXk7XG5cdG1hcmdpbjogMHB4IGF1dG87XG5cdG1hcmdpbjogMHB4IGF1dG87XG5cdFxuXHRpbWcge1xuXHRcdHBhZGRpbmc6MzBweDtcblx0fVxuXHRcblx0LnZpZXdzLWZpZWxkLXRpdGxlIHtcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0fVxuXHRcblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXk7XG5cdFx0XG5cdH1cblx0XG59XG5cblxuXG4vLyBFVkVOVCBCTE9DSyAvL1xuXG4uZXZlbnQtYmxvY2sge1xuXHRcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcblx0XG5cdFxuXHRpbWcge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxuXHRcblx0LmV2ZW50LWJsb2NrLW92ZXJsYXkge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IC01MHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdGhlaWdodDogNTBweDtcblx0fVxuXHRcbn1cblxuXG4vLyBmbGV4IC8vXG5cbi5mbGV4LWNvbnRhaW5lciB7XG5cdFxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXHRcblx0LmZsZXgtaXRlbSB7XG5cdC8vbWFyZ2luOiBhdXRvO1x0XG5cdH1cbn1cblxuXG5cbi8vIGNhcmQgLy9cblxuLmNhcmQge1xuXHRcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0Ly9ib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJGNvbG9yLXByaW1hcnksMTAlKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xuXHRjb2xvcjogI0ZGRjtcblx0bWFyZ2luLXRvcDogMyU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFxuXHRcblx0YSB7XG5cdFx0Y29sb3I6ICNGRkY7XG5cdH1cblx0XG5cdC5jYXJkLWltZy10b3Age1xuXHRcdFxuXHRcdGhlaWdodDogMjAwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0Ly9oZWlnaHQ6IGF1dG87XG5cdFx0XHRcblx0XHR9XG5cdFx0XG5cdH1cblx0XG5cdC5jYXJkLWljb24ge1xuXHRcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Zm9udC1zaXplOiAyZW07XG5cdFx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdGJvcmRlci1yYWRpdXM6IDc1cHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcblx0XHR3aWR0aDogNzVweDtcblx0XHRoZWlnaHQ6IDc1cHg7XG5cdFx0bWFyZ2luOiAwcHggYXV0bztcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0dHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDtcblx0XHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cdFx0dG9wOiAxNTBweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XG5cdFx0LmZvbnRhd2Vzb21lLWljb257XG5cdFx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0XHR9XG5cdFx0XG5cdH1cblx0XG5cdC5jYXJkLWJsb2NrIHtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdHBhZGRpbmctdG9wOiA0MHB4O1xuXHRcdG1pbi1oZWlnaHQ6IDIwMHB4O1xuXHR9XG5cdFxuXHQuY2FyZC10aXRsZSB7XG5cdGNvbG9yOiAjRkZGO1x0XG5cdGZvbnQtc2l6ZTogMmVtO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0fVxuXHRcblx0LmNhcmQtdGV4dCAge1xuXHRcdFxuXHRcdFxuXHRcdHAge1xuXHRcdFx0Y29sb3I6ICNGRkY7XG5cdFx0XHRwYWRkaW5nLXRvcDogMTBweDtcblx0XHR9XG5cdFx0XG5cdH1cblx0XG5cdC5jYXJkLWFjdGlvbiB7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtlbigkY29sb3ItcHJpbWFyeSw1JSk7XG5cdFx0cGFkZGluZy10b3A6NXB4O1xuXHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksMTAlKTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xuXHRcdG1pbi1oZWlnaHQ6IDUwcHg7XG5cdFx0cGFkZGluZy10b3A6IDVweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRcblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLXRvcDogNXB4O1xuXHRcdFx0Zm9udC1zaXplOiAxLjVlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRcdH1cblx0XHRcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItcHJpbWFyeSwyMCUpO1xuXHRcdH1cblx0fVxuXHRcbn1cblxuXG5cbi8vIENPTlRFTlQgKCBDQVRFR09SWSApIEJMT0NLIC8vXG5cblxuXG5cbi5jYXRlZ29yeS1ibG9jayB7XG5cdG1hcmdpbjogMHB4IGF1dG87XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Ly9tYXgtaGVpZ2h0OiAyNTBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXHRcblx0LmNhdC1pbWctYmcge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxuXHRcblx0XG5cdC5jYXQtaWNvbiAge1xuXHRcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Zm9udC1zaXplOiAyZW07XG5cdFx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdGJvcmRlci1yYWRpdXM6IDc1cHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcblx0XHR3aWR0aDogNzVweDtcblx0XHRoZWlnaHQ6IDc1cHg7XG5cdFx0bWFyZ2luOiAwcHggYXV0bztcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0dHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDtcblx0XG5cdH1cblx0XG5cdFxuXHRcblx0LmZvbnRhd2Vzb21lLWljb24ge1xuXHRcdHBhZGRpbmctdG9wOiA1cHg7XG5cdFx0XG5cdH1cblx0XG5cblx0LmNhdGVnb3J5LWJsb2NrLXRleHQge1xuXHRcdHBhZGRpbmc6IDVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcblx0cGFkZGluZzogMTBweDtcblx0bWFyZ2luLXRvcDozMHB4O1xuXHRjb2xvcjogI2ZmZjtcblx0bWluLWhlaWdodDogMjAwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogI0ZGRjtcblx0XHRcdGZvbnQtc2l6ZTogMS41ZW07XG5cdFx0fVxuXHRcdFxuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdGNvbG9yOiAjRkZGO1xuXHRcdFxuXHRcdGgzIHtcblx0XHRcdGNvbG9yOiAjRkZGO1xuXHRcdH1cblx0XHRcblx0XHQuZm9udGF3ZXNvbWUtaWNvbiB7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEsMS4xKTtcblx0XHRcdFxuXHRcdH1cblx0XHRcblx0XHQuY2F0LWljb24ge1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDtcblx0XHRcdC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDJweCAxOHB4IDBweCByZ2JhKDAsMCwwLDAuNzUpO1xuXHRcdFx0LW1vei1ib3gtc2hhZG93OiAwcHggMnB4IDE4cHggMHB4IHJnYmEoMCwwLDAsMC43NSk7XG5cdFx0XHRib3gtc2hhZG93OiAwcHggMnB4IDE4cHggMHB4IHJnYmEoMCwwLDAsMC43NSk7XG5cdFx0fVxuXHRcdFxuXHR9XG5cdFx0XG5cdH1cblxuXHRcblx0aDMge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0XHRtYXJnaW4tdG9wOiAwcHg7XG5cdFx0Y29sb3I6ICNGRkY7XG5cdFx0XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogI0ZGRjtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdH1cblx0fVxufVxuXG4vLyBGRUFUVVJFRCBORVdTIEZST05UIC8vXG5cbi5mcm9udC1uZXdzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcblx0bWFyZ2luOiAxMHB4IDBweCAyMHB4IDBweDtcblx0aGVpZ2h0OiA0MDBweDtcblx0Y29sb3I6ICNGRkY7XG5cdHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDIwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdFxuXHRwIHtcblx0XHRjb2xvcjogI0ZGRjtcblx0XHRwYWRkaW5nLXRvcDogNXB4O1xuXHR9XG5cdFxuXHRpbWcge1xuXHRcdHBhZGRpbmctdG9wOiAzMHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxuXHRcblx0aDIge1xuXHRcdEBpbmNsdWRlIGZvbnRTaXplKDcycHgpO1xuXHRcdHBhZGRpbmctdG9wOiAzMHB4O1xuXHR9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuXHRcblx0LmZyb250LW5ld3Mge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRoZWlnaHQ6IDYwMHB4O1xuXHRcdFxuXHRcdGltZyB7XG5cdFx0bWFyZ2luOiAwcHggYXV0bztcblx0XHR3aWR0aDogODAlO1xuXHRcdFx0XG5cdFx0fVxuXHRcdFxuXHRcdGgyIHtcblx0XHRwYWRkaW5nLXRvcDogMHB4O1xuXHR9XG5cdFx0XG5cdH1cbn1cblxuXG4ubmV3cy10cmlwIHtcblxufVxuXG5cbi8vIEVWRU5UUyAvL1xuXG4uZXZlbnQtdHlwZSB7XG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0Y29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXByaW1hcnksIDIwJSk7XG59XG5cblxuXG5cbi8vIFNFQVJDSCAvL1xuXG4uc2VhcmNoLWJsb2NrLWZvcm0ge1xuXHQvL2Zsb2F0OiByaWdodDtcblx0Ly9tYXJnaW4tdG9wOiAxNXB4O1xuXHRcblx0LmZvcm0tY29udHJvbCB7XG5cdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0XHRcblx0fVxufVxuXG5cbi5zZWFyY2gtYmxvY2stZm9ybSB7XG4vL1x0Y29sb3I6ICNGRkY7XG59XG5cbnVsLnNwb25zb3ItbGlzdCB7XG50ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFxuXHRsaSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XG5cdFx0ICY6aG92ZXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IDZweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0XHR9XHRcblx0fVxuXHRcbiAgICBpbWcge1xuXHRcdG1hcmdpbjogMTBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHRcdFxuXHR9XG59XG5cblxuLy8gU0VBUkNIIC8vXG5cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgIGNvbG9yOiByZWQ7XG59XG5cbjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cbiAgIGNvbG9yOiByZWQ7ICBcbn1cblxuOjotbW96LXBsYWNlaG9sZGVyIHsgIC8qIEZpcmVmb3ggMTkrICovXG4gICBjb2xvcjogcmVkOyAgXG59XG5cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAgXG4gICBjb2xvcjogcmVkOyAgXG59XG5cblxuaDIge1xuXHRmb250LXdlaWdodDogMzAwO1xufVxuXG5cbi8vIERFU0tUT1AgU0VBUkNIIEJBUlxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTk1cHgpIHtcblx0XG5cdC50b2dnbGUtc2VhcmNoLWNsb3NlIC5nbHlwaGljb24ge1xuXHRmbG9hdDogcmlnaHQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dG9wOiAtNjBweDtcblx0fVxufVxuXG4jdG9nZ2xlLXNlYXJjaHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHQuZ2x5cGhpY29uIHtcblx0cGFkZGluZzoxNXB4O1xuXHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG59XG5cbiNtYXR0LXNlYXJjaCB7XG5cdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXByaW1hcnksIDUlKTtcblx0Ym94LXNoYWRvdzogMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogJHNlYXJjaDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwcHg7XG5cdHRvcDotMTkwcHg7XG5cdHotaW5kZXg6IDk5OTk5O1xuXHRtYXJnaW46IDBweDtcblx0cGFkZGluZy10b3A6IDEwcHg7XG5cdCAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA2MDBtcyA7XG5cdCB0cmFuc2l0aW9uOiAgICAgICAgIGFsbCA2MDBtcyA7XG5cdFxuXHRnbHlwaGljb24ge1xuXHRcdGNvbG9yOiAjMDAwO1xuXHR9XG5cdFxuXHQuZm9ybS1zZWFyY2guZm9ybS1jb250cm9sIHtcblx0d2lkdGg6IDEwMCU7XG5cdHdpZHRoOiA2MDBweDtcblx0Y29sb3I6ICNGRkYgIWltcG9ydGFudDtcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHR9XG5cdFxuXHRzcGFuLmlucHV0LWdyb3VwLWJ0biB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblx0XG5cbn1cblxuXG4jZWRpdC1rZXlzLS0yLCAjZWRpdC1rZXlzIHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ly9jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiAwcHg7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0aGVpZ2h0OiA2NXB4O1xuXHRmb250LXNpemU6IDRyZW07XG5cdGZvbnQtd2VpZ2h0OiAyMDA7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuZGl2LmlucHV0LWdyb3VwIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG4udG9nZ2xlLXNlYXJjaC1jbG9zZSAuZ2x5cGhpY29uIHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRtYXJnaW4tdG9wOjhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4udG9nZ2xlLXNlYXJjaC1jbG9zZSAuZ2x5cGhpY29uIHNwYW46aG92ZXJ7XG5cdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5cblxuLy8gU1VCIE1FTlUgRklYIC8vXG5cbi5kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi1zdWJtZW51ID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDBweDtcbn1cblxuLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXIgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5kcm9wZG93bi1zdWJtZW51ID4gYTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgwXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXIgPiBhOmFmdGVyIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZjtcbn1cblxuLmRyb3Bkb3duLXN1Ym1lbnUucHVsbC1sZWZ0IHtcbiAgICBmbG9hdDogbm9uZTtcbn1cblxuLmRyb3Bkb3duLXN1Ym1lbnUucHVsbC1sZWZ0ID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4IDAgNnB4IDZweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDZweCAwIDZweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4IDAgNnB4IDZweDtcbn1cbi5uYXZiYXItbmF2IGxpOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tbWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwcHg7XG59XG4ubmF2YmFyLW5hdiBsaTpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLW1lbnUgYSB7XG4gIC8vdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5uYXZiYXItbmF2IGxpOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24tc3VibWVudSA+IGE6YWZ0ZXIge1xuICBmbG9hdDogbGVmdDtcbiAgY29udGVudDogXCJcXGUwNzlcIjtcbn1cbi5uYXZiYXItbmF2IGxpOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24tc3VibWVudSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbGVmdDogLTEwMCU7XG59XG5cblxuLy8gTUVESUEgLy9cblxuI3BsYXllciB7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLm1lZGlhLWdyaWQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAxMHB4IDAgMTBweCAwO1xuXHRcblx0Lm1lZGlhLWJvZHkge1xuXHQvL1x0aGVpZ2h0OiA1MHB4O1xuXHR9XG59XG5cbi8vIFNUUkVBTSAvL1xuXG4jb2ZmLXdoaXRlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW9mZndoaXRlO1xuXHRjb2xvcjogJGNvbG9yLWRhcmtncmF5O1xufVxuXG5cbiNzdHJlYW0ge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHQvL2JhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG5cdFxuXHRcblx0aDIge1xuXHRcdHBhZGRpbmctbGVmdDogMTBweDtcblx0fVxuXHRcblx0LnN0cmVhbS1yb3d7XG5cdFx0XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ly9ib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRtaW4taGVpZ2h0OiAzMDBweDtcblx0Ly90ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdG1hcmdpbjogMTBweDtcblx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IC0xcHggMnB4IDEwcHggMnB4IHJnYmEoMjEyLDIxMiwyMTIsMSk7XG4tbW96LWJveC1zaGFkb3c6IC0xcHggMnB4IDEwcHggMnB4IHJnYmEoMjEyLDIxMiwyMTIsMSk7XG5ib3gtc2hhZG93OiAtMXB4IDJweCAxMHB4IDJweCByZ2JhKDIxMiwyMTIsMjEyLDEpO1xuYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcblx0fVxuXHRcblx0aW1ne1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC8vei1pbmRleDogLTE7XG5cdH1cblx0XG5cdC5zdHJlYW0tdGl0bGV7XG5cdFx0Zm9udC1zaXplOiAyLjI1cmVtO1xuXHRcdFxuXHR9XG5cdFxuXHQuc3RyZWFtLW1vcmUge1xuXHRcdFx0XG5cdFx0Ly9wb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ly9yaWdodDogMTBweDtcblx0XHQvL2JvdHRvbTogMTBweDtcblx0XHRcdFx0XG5cdFx0YSB7XG5cdFx0XHQvL3BhZGRpbmc6IDZweDtcblx0XHQvL2JvcmRlci1yYWRpdXM6IDEycHg7XG5cdFx0XG5cdFx0Ly9ib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcblx0XHRcblx0XHQvL292ZXJmbG93OiBoaWRkZW47XG5cdFx0Ly93aWR0aDogNDAwcHg7XG5cdFx0XHRcblx0XHR9XG5cdH1cblx0XG59XG5cblxuLy8vLyBQVUJMSUNBVElPTiBMSVNUIE9OIENVUkwgUFVCUyAvLy8vXG5cbiNwdWJsaWNhdGlvbnMtbGlzdHtcbndpZHRoOiAxMDAlO1xubWFyZ2luLWJvdHRvbTogMjBweDtcblxuXHRcblx0XG5cdHVse1xuXHRcdCBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcblx0fVxuXG5cdGxpIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXk7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRtaW4taGVpZ2h0OiA3NXB4O1xuXHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0fVxuXHRcblx0bGk6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1ncmF5LCAxMi41JSk7XHRcblx0fVxuXHRcblx0Jjo6YmVmb3JlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdFxuXHQmOjphZnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblx0YSB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cdFxuXHRcblx0LnBhbmVsLWJvZHk6OmJlZm9yZXtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdFxuXHQucGFuZWwtYm9keTo6YWZ0ZXJ7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblx0XG59XG5cblxuI3B1YmxpY2F0aW9ucy1saXN0IGxpOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItZ3JheSwgMTAlKTtcbn1cblxuXG4vLyBSRVNPVVJDRSBDQVJEIC8vXG5cbi5yZXNvdXJjZS1jYXJkIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ly9ib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRtaW4taGVpZ2h0OiAyMDBweDtcblx0Ly90ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdG1hcmdpbjogMTBweDtcblx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IC0xcHggMnB4IDEwcHggMnB4IHJnYmEoMjEyLDIxMiwyMTIsMSk7XG4tbW96LWJveC1zaGFkb3c6IC0xcHggMnB4IDEwcHggMnB4IHJnYmEoMjEyLDIxMiwyMTIsMSk7XG5ib3gtc2hhZG93OiAtMXB4IDJweCAxMHB4IDJweCByZ2JhKDIxMiwyMTIsMjEyLDEpO1xuYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcblxuXHQudGFncyB7XG5cdFxuXHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDBweDtcblxuXHRcdHVsIHtcblx0XHRcdFxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwZW07XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IC43NWVtO1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRcdFx0XHRcdHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdFxuXHR9XG5cblxuXG59XG5cblxuLyogQUNDT1JESU9OUyBcblxuXG5cblxuXG4jYWNjb3JkaW9uIC5wYW5lbC1oZWFkaW5nIHsgcGFkZGluZzogMDt9XG4jYWNjb3JkaW9uIC5wYW5lbC10aXRsZSA+IGEge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogMC40ZW0gMC42ZW07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuI3ZpZXdzLWJvb3RzdHJhcC1hY2NvcmRpb24gLnBhbmVsLXRpdGxlID4gYS5hY2NvcmRpb24tdG9nZ2xlOjphZnRlciwgI3ZpZXdzLWJvb3RzdHJhcC1hY2NvcmRpb24gYVtkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdOjphZnRlciAge1xuICAgIGNvbnRlbnQ6XCJcXGUxMTNcIjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG5cdG1hcmdpbi1yaWdodCA6MWVtO1xuXHRcblx0JjphY3RpdmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5O1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHR9XG5cdFxufVxuXG4jdmlld3MtYm9vdHN0cmFwLWFjY29yZGlvbiBwYW5lbC10aXRsZSA+IGEuYWNjb3JkaW9uLXRvZ2dsZS5jb2xsYXBzZWQ6OmFmdGVyLCAjdmlld3MtYm9vdHN0cmFwLWFjY29yZGlvbiBhLmNvbGxhcHNlZFtkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdOjphZnRlciAge1xuICAgIGNvbnRlbnQ6XCJcXGUxMTRcIjtcbn1cblxuXG4jYWNjb3JkaW9uIC5wYW5lbC10aXRsZSA+IGEuYWNjb3JkaW9uLXRvZ2dsZTo6YWZ0ZXIsICNhY2NvcmRpb24gYVtkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdOjphZnRlciAge1xuICAgIGNvbnRlbnQ6XCJcXGUxMTNcIjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG5cdG1hcmdpbi1yaWdodCA6MWVtO1xuXHRcblx0JjphY3RpdmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5O1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHR9XG5cdFxufVxuI2FjY29yZGlvbiAucGFuZWwtdGl0bGUgPiBhLmFjY29yZGlvbi10b2dnbGUuY29sbGFwc2VkOjphZnRlciwgI2FjY29yZGlvbiBhLmNvbGxhcHNlZFtkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJdOjphZnRlciAge1xuICAgIGNvbnRlbnQ6XCJcXGUxMTRcIjtcbiAgICAgIC1tb3otdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKSFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIWltcG9ydGFudDtcbn1cblxuI2FjY29yZGlvbiB7XG5cdHBhZGRpbmc6IDEwcHggNXB4IDEwcHggNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXk7XG5cdFxuXHRkaXYuYWNjb3JkaW9uLWhlYWRpbmcge1xuXHRcdGZvbnQtc2l6ZTogMS41cmVtO1xuXHR9XG5cdFxuXHQuYWNjb3JkaW9uLWlubmVyIHtcblx0XHRwYWRkaW5nOiAxMHB4IDBweDtcblx0fVxuXHRcbn1cblxuXG4ucGFuZWwtZ3JvdXAge1xuXHRcblx0Ym9yZGVyLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG5cdHRyYW5zaXRpb246IGFsbCAuNHMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xuXHRwYWRkaW5nOiAxMHB4IDVweCAxMHB4IDhweDtcblx0Jjpob3ZlciB7XG5cdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuXHR9XG5cdFxuXHRcblx0LnBhbmVsLWhlYWRpbmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkYgIWltcG9ydGFudDtcblx0XHRcblx0fVxuXHRcblx0XG5cdC5wYW5lbCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbm9uZSAhaW1wb3J0YW50O1x0XG5cdH1cblx0XG5cdC5wYW5lbC1kZWZhdWx0e1xuXHRcdGJvcmRlci1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuXHR9XG5cdFxuXHRoNC5wYW5lbC10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDI1MDtcblx0XHRib3JkZXItY29sb3I6ICNGRkYgIWltcG9ydGFudDtcblx0XHRib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZzogMiUgMCUgMiUgMDtcblx0fVxuXHRcbn1cblxuLmFjY29yZGlvbi10b2dnbGUge1xuXHR0cmFuc2l0aW9uOiBhbGwgLjRzIHRyYW5zZm9ybSBlYXNlLWluLW91dDtcblx0IC1tb3otdHJhbnNpdGlvbjogYWxsIDJzIGxpbmVhcjtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAycyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIC40cyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7XG5cbn1cblxuLmFjY29yZGlvbi10b2dnbGU6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIGNvbnRlbnQ6IFwiXFxmMDYzXCI7ICAgIFxuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogMjAwO1xuIH1cblxuLmFjY29yZGlvbi1vcGVuZWQgLmFjY29yZGlvbi10b2dnbGUge1xuXHR0cmFuc2l0aW9uOiBhbGwgLjRzIHRyYW5zZm9ybSBlYXNlLWluLW91dDtcbn1cblxuLmFjY29yZGlvbi1vcGVuZWQgLmFjY29yZGlvbi10b2dnbGU6YWZ0ZXIgeyAgICBcbiAgICBjb250ZW50OiBcIlxcZjA2M1wiICFpbXBvcnRhbnQ7ICAgXG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAtbW96LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKSFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZykhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKSFpbXBvcnRhbnQ7XG59XG5cbiovXG5cblxuXG4uZG9jLXJvdyB7XG5cdGJvcmRlcjoxcHggc29saWQgJGNvbG9yLWdyYXk7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdG1hcmdpbi10b3A6IDMwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aWR0aDogNDAwcHg7XG5cdFxuXHRhIHtcblx0XHRjb2xvcjogJGNvbG9yLWRhcmtncmF5O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXHRcblx0LmgzIGEge1xuXHRcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcblx0fVxuXHRcblx0LmZhLWZpbGUge1xuXHRcdGZvbnQtc2l6ZTogMi41ZW07XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0fVxuXHRcblx0XG59XG5cblxuLnBob3RvLWdhbGxlcnkgXG5cblx0LmltZy1yZXNwb25zaXZlIHtcblx0XHRtYXgtd2lkdGg6IDI1MHB4O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cdH1cblxuIiwiLypcbkBpbXBvcnQgXCJtZW51LWNvbG9yXCI7XG4kYm9keUhlaWdodDogNTRweDtcbiRzdWJUaXRsZTogYmxvY2s7XG4kYnJhbmQ6IDVweDtcbiRzZWFyY2g6IDBweDtcbiovXG4uc3ViLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgZGlzcGxheTogbm9uZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm5hdmJhci1idG4ge1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG5cbi5uYXZiYXIgLmxvZ28ge1xuICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDsgfVxuXG4uYnV0dG9uLm5hdmJhci10b2dnbGUge1xuICBjb2xvcjogIzE2YTA4NTsgfVxuXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICBjb2xvcjogI0VDRjBGMTsgfVxuXG4ubmF2YmFyLW5hdiB7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG5cbiNuYXZiYXIge1xuICBoZWlnaHQ6IDEwMHB4O1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IC0xcHggM3B4IDE4cHggLTlweCAjYTNhM2EzO1xuICAtbW96LWJveC1zaGFkb3c6IC0xcHggM3B4IDE4cHggLTlweCAjYTNhM2EzO1xuICBib3gtc2hhZG93OiAtMXB4IDNweCAxOHB4IC05cHggI2EzYTNhMzsgfVxuICAjbmF2YmFyIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gICAgY29sb3I6ICMxNmEwODUgIWltcG9ydGFudDsgfVxuICAjbmF2YmFyIGEge1xuICAgIGNvbG9yOiAjNWE1YTVhOyB9XG4gICAgI25hdmJhciBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICBjb2xvcjogIzE2YTA4NTsgfVxuICAgICNuYXZiYXIgYSAuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICBjb2xvcjogIzE2YTA4NTsgfVxuICAjbmF2YmFyIGEuZHJvcGRvd24tdG9nZ2xlIGEuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNjZGFhOyB9XG4gICNuYXZiYXIgYS5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgY29sb3I6ICMxNmEwODU7IH1cbiAgI25hdmJhciAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9XG4gICNuYXZiYXIgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBvcGFjaXR5OiAuOTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMXB4IDNweCAxOHB4IC05cHggI2EzYTNhMztcbiAgICAtbW96LWJveC1zaGFkb3c6IC0xcHggM3B4IDE4cHggLTlweCAjYTNhM2EzO1xuICAgIGJveC1zaGFkb3c6IC0xcHggM3B4IDE4cHggLTlweCAjYTNhM2EzOyB9XG4gICAgI25hdmJhciAuZHJvcGRvd24tbWVudSBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxY2NkYWE7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuICAjbmF2YmFyIC5pbnB1dC1ncm91cCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYSxcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgY29sb3I6ICMxNmEwODU7IH1cblxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhOmhvdmVyLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgY29sb3I6ICMxNmEwODU7IH1cblxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMjRweDsgfVxuXG4vKiFcbiAqIGFuaW1hdGUuY3NzIC1odHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlXG4gKiBWZXJzaW9uIC0gMy41LjJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcgRGFuaWVsIEVkZW5cbiAqL1xuLmFuaW1hdGVkIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4uYW5pbWF0ZWQuaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uYW5pbWF0ZWQuaGluZ2Uge1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzOyB9XG5cbi5hbmltYXRlZC5mbGlwT3V0WCxcbi5hbmltYXRlZC5mbGlwT3V0WSxcbi5hbmltYXRlZC5ib3VuY2VJbixcbi5hbmltYXRlZC5ib3VuY2VPdXQge1xuICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7IH1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLCAyMCUsIDUzJSwgODAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICA0MCUsIDQzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7IH1cbiAgNzAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCk7IH0gfVxuXG4uYm91bmNlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSwgNTAlLCB0byB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5mbGFzaCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDsgfVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi5wdWxzZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTsgfVxuXG5Aa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7IH1cbiAgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi5ydWJiZXJCYW5kIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7IH1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20sIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsgfVxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7IH0gfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2U7IH1cblxuQGtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDYuNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTsgfVxuICAxOC41JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTsgfVxuICAzMS41JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpOyB9XG4gIDQzLjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmhlYWRTaGFrZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlOyB9XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpOyB9IH1cblxuLnN3aW5nIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nOyB9XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAxMCUsIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsgfVxuICA0MCUsIDYwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG4udGFkYSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhOyB9XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgMTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsgfVxuICA0NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpOyB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLndvYmJsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7IH1cblxuQGtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sIDExLjElLCB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG4gIDIyLjIlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7IH1cbiAgMzMuMyUge1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7IH1cbiAgNDQuNCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOyB9XG4gIDU1LjUlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTsgfVxuICA2Ni42JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpOyB9XG4gIDc3LjclIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjJkZWcpIHNrZXdZKDAuMzkwNjJkZWcpOyB9XG4gIDg4LjglIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxZGVnKSBza2V3WSgtMC4xOTUzMWRlZyk7IH0gfVxuXG4uamVsbG8ge1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsgfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuLmJvdW5jZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOyB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLmJvdW5jZUluRG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247IH1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uYm91bmNlSW5MZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsgfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApOyB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5ib3VuY2VJblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7IH1cblxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmJvdW5jZUluVXAge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsgfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpOyB9XG4gIDUwJSwgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH0gfVxuXG4uYm91bmNlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsgfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7IH1cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOyB9IH1cblxuLmJvdW5jZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjsgfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9IH1cblxuLmJvdW5jZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsgfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5ib3VuY2VPdXRSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsgfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsgfVxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH0gfVxuXG4uYm91bmNlT3V0VXAge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7IH1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmZhZGVJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uZmFkZUluRG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uZmFkZUluRG93bkJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLmZhZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLmZhZGVJbkxlZnRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZzsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5mYWRlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLmZhZGVJblJpZ2h0QmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLmZhZGVJblVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uZmFkZUluVXBCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5mYWRlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbi5mYWRlT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7IH0gfVxuXG4uZmFkZU91dERvd25CaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH0gfVxuXG4uZmFkZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5mYWRlT3V0TGVmdEJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZzsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfSB9XG5cbi5mYWRlT3V0UmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0OyB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH0gfVxuXG4uZmFkZU91dFJpZ2h0QmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG4uZmFkZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfSB9XG5cbi5mYWRlT3V0VXBCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnOyB9XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH0gfVxuXG4uYW5pbWF0ZWQuZmxpcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7IH1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfSB9XG5cbi5mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7IH1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfSB9XG5cbi5mbGlwSW5ZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7IH1cblxuQGtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5mbGlwT3V0WCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZOyB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ubGlnaHRTcGVlZEluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5saWdodFNwZWVkT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjsgfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ucm90YXRlSW5Eb3duTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0OyB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluRG93blJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0OyB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJblVwTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsgfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnJvdGF0ZU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ucm90YXRlT3V0RG93bkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnJvdGF0ZU91dERvd25SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXRVcExlZnQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0OyB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXRVcFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7IH1cblxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICAyMCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgNDAlLCA4MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uaGluZ2Uge1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7IH1cblxuQGtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5qYWNrSW5UaGVCb3gge1xuICBhbmltYXRpb24tbmFtZTogamFja0luVGhlQm94OyB9XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5yb2xsSW4ge1xuICBhbmltYXRpb24tbmFtZTogcm9sbEluOyB9XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7IH0gfVxuXG4ucm9sbE91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0OyB9XG5cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnpvb21JbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47IH1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi56b29tSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247IH1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi56b29tSW5MZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7IH1cblxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uem9vbUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7IH1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uem9vbUluVXAge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7IH1cblxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnpvb21PdXQge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDsgfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi56b29tT3V0RG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjsgfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7IH0gfVxuXG4uem9vbU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7IH1cblxuQGtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7IH0gfVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDsgfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uem9vbU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDsgfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5zbGlkZUluRG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjsgfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5zbGlkZUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDsgfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5zbGlkZUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0OyB9XG5cbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLnNsaWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7IH1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbi5zbGlkZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duOyB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9IH1cblxuLnNsaWRlT3V0TGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7IH1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxuXG4uc2xpZGVPdXRSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0OyB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbi5zbGlkZU91dFVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7IH1cblxuI3BncmFwaCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzNzk2ODM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgbWFyZ2luOiAxMHB4IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2YTA4NTtcbiAgY29sb3I6ICNGRkY7IH1cblxuLnAtdGlwIC5mb250YXdlc29tZS1pY29ucyB7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhMDg1OyB9XG5cbi5wLXRpcCAuZmllbGQtLW5hbWUtZmllbGQtdGlwLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5wLXRpcCAuZmllbGQtLW5hbWUtZmllbGQtdGlwLWJvZHkgcCB7XG4gIGNvbG9yOiAjRkZGOyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMxNmEwODU7IH1cblxuI3R1cm5rZXktY3JlZGl0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5hdXRvLWNsZWFyIC5jb2wtbGctMTpudGgtY2hpbGQoMTJuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuYXV0by1jbGVhciAuY29sLWxnLTI6bnRoLWNoaWxkKDZuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuYXV0by1jbGVhciAuY29sLWxnLTM6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuYXV0by1jbGVhciAuY29sLWxnLTQ6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuYXV0by1jbGVhciAuY29sLWxnLTY6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5hdXRvLWNsZWFyIC5jb2wtbWQtMTpudGgtY2hpbGQoMTJuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuYXV0by1jbGVhciAuY29sLW1kLTI6bnRoLWNoaWxkKDZuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuYXV0by1jbGVhciAuY29sLW1kLTM6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuYXV0by1jbGVhciAuY29sLW1kLTQ6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuYXV0by1jbGVhciAuY29sLW1kLTY6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmF1dG8tY2xlYXIgLmNvbC1zbS0xOm50aC1jaGlsZCgxMm4rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtc20tMjpudGgtY2hpbGQoNm4rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtc20tMzpudGgtY2hpbGQoNG4rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtc20tNDpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG4gIC5hdXRvLWNsZWFyIC5jb2wtc20tNjpudGgtY2hpbGQob2RkKSB7XG4gICAgY2xlYXI6IGxlZnQ7IH1cbiAgLmhvcnotcm93LWZyb250IC5uZXdzLXRodW1iIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hdXRvLWNsZWFyIC5jb2wteHMtMTpudGgtY2hpbGQoMTJuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuYXV0by1jbGVhciAuY29sLXhzLTI6bnRoLWNoaWxkKDZuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuYXV0by1jbGVhciAuY29sLXhzLTM6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuYXV0by1jbGVhciAuY29sLXhzLTQ6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICAuYXV0by1jbGVhciAuY29sLXhzLTY6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0OyB9IH1cblxuLmJsb2NrLXZpZXdzLWJsb2NrZHVwbGljYXRlLW9mLWZyb250LWNhdGVnb3JpZXMtYmxvY2stMSB7XG4gIG1hcmdpbi10b3A6IDQlOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmdyaWQge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuc3ViLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNhdGVnb3J5LWJsb2NrIC5pbWctcmVzcG9uc2l2ZSB7XG4gICAgbWF4LXdpZHRoOiA2NSU7IH1cbiAgLnNsaWRlIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuc2xpZGUgLmNhcm91c2VsLWNhcHRpb24gcCB7XG4gICAgICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50OyB9XG4gICAgLnNsaWRlIC5jYXJvdXNlbC1jYXB0aW9uIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMmVtICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuaGlnaGxpZ2h0ZWQge1xuICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAgIC5oaWdobGlnaHRlZCAuaW1nLXJlc3BvbnNpdmUge1xuICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gIHVsLmhlYWRlci1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5iYXItZGVmYXVsdCAubmF2YmFyLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5hdmJhci1pcy1maXhlZC10b3Age1xuICAgIG1hcmdpbi10b3A6IDEwMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnJlZ2lvbi1jb250ZW50LWZyb250LWxlZnQgLmltZy1yZXNwb25zaXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLW5vZGUtdHlwZS1wYWdlIC5yZWdpb24tY29udGVudCB7XG4gICAgcGFkZGluZzogMHB4OyB9IH1cblxuLnZpZGVvLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgfVxuXG4udmlkZW8tcmVzcG9uc2l2ZSBpZnJhbWUge1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLmdyaWQge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNibG9jay1jaXJlcy1ib290c3RyYXAtc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHVsLmhlYWRlci1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGlkZSAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLnNsaWRlIC5jYXJvdXNlbC1jYXB0aW9uIHAge1xuICAgICAgZm9udC1zaXplOiAxZW0gIWltcG9ydGFudDsgfVxuICAgIC5zbGlkZSAuY2Fyb3VzZWwtY2FwdGlvbiBoMiB7XG4gICAgICBmb250LXNpemU6IDJlbSAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5M3B4KSB7XG4gIC5ncmlkIHtcbiAgICBoZWlnaHQ6IDMwMHB4OyB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI21hdHQtc2VhcmNoIC5mb3JtLXNlYXJjaC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7IH0gfVxuXG4jcHJpbWFyeS1ob2xkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhMDg1O1xuICBjb2xvcjogI0ZGRjtcbiAgbWFyZ2luLWJvdHRvbTogMyU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMTA3MzYwOyB9XG4gICNwcmltYXJ5LWhvbGRlciBoMSB7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2VudGVyLWNvbnRlbnQge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnBhdGgtZnJvbnRwYWdlIGgxLnBhZ2UtaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFnZS1oZWFkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYSB7XG4gIHBhZGRpbmc6IDEwcHg7IH1cbiAgLmZhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGMEYxO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDsgfVxuICAuZmE6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOyB9XG5cbi5mb290ZXIgaS5mYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7IH1cblxuLmZhLXRhZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNweDsgfVxuXG4uZmEuZmEtdGFnOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTsgfVxuXG4udG9vbHRpcC1hcnJvdyxcbisgLnRvb2x0aXAgPiAudG9vbHRpcC1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNmEwODU7IH1cblxuLnRvb2x0aXAtaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhMDg1O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4udG9vbHRpcC50b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMTZhMDg1OyB9XG5cbi50b29sdGlwLnJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMTZhMDg1OyB9XG5cbi50b29sdGlwLmJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMxNmEwODU7IH1cblxuLnRvb2x0aXAubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMTZhMDg1OyB9XG5cbmgxLnBhZ2UtaGVhZGVyIHtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5wYWdlLWhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLnBhdGgtZnJvbnRwYWdlIC5yZWdpb24tY29udGVudCB7XG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50OyB9XG5cbi5mYXRmb250IHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuXG4uY2F0ZWdvcnktdGFnIHtcbiAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDtcbiAgbWluLWhlaWdodDogMTQwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAuY2F0ZWdvcnktdGFnIC5oNCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmNhdGVnb3J5LXRhZyBwIHtcbiAgICBmb250LXNpemU6IDEycHg7IH1cbiAgLmNhdGVnb3J5LXRhZzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjBGMTsgfVxuXG4ucmVnaW9uLWNvbnRlbnQgLmZpZWxkLS1uYW1lLWJvZHkgYTpsaW5rLCAucmVnaW9uLWNvbnRlbnQgLmZpZWxkLS1uYW1lLWJvZHkgYTp2aXNpdGVkLCAucmVnaW9uLWNvbnRlbnQgLmZpZWxkLS1uYW1lLWJvZHkgcCBhOmxpbmsge1xuICBjb2xvcjogIzY3Njc2NztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgIzE2YTA4NTtcbiAgcGFkZGluZzogMHB4IDJweCAwcHggMnB4OyB9XG5cbi5yZWdpb24tY29udGVudCAuZmllbGQtLW5hbWUtYm9keSAuYnRuLXByaW1hcnkge1xuICBjb2xvcjogI0ZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2YTA4NTtcbiAgYm9yZGVyOiBub25lOyB9XG4gIC5yZWdpb24tY29udGVudCAuZmllbGQtLW5hbWUtYm9keSAuYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxY2NkYWE7IH1cblxuaW1nLmRlc2staW1nIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG5wIHtcbiAgY29sb3I6ICM2NzY3Njc7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuXG5hOmxpbmssIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMTZhMDg1O1xuICBmb250LXdlaWdodDogMzUwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG5hOmhvdmVyIHtcbiAgZm9udC13ZWlnaHQ6IDM1MDsgfVxuXG4uZGF0ZS1zdGFtcCwgLmRhdGUtc3RhbXAgcCwgdGltZSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBjb2xvcjogIzVlNzk4MDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuaDEge1xuICBmb250LXNpemU6IDk2cHg7XG4gIGZvbnQtc2l6ZTogNnJlbTsgfVxuXG4ucGFnZS1pbnRybyB7XG4gIG1hcmdpbi1ib3R0b206IDUlO1xuICBtYXJnaW4tbGVmdDogMiU7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBjb2xvcjogIzc3OTM5YTtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG5oMSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnJlYWQtbW9yZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLnJlYWQtbW9yZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwwMDI3OUVcIjtcbiAgY29sb3I6ICMxNmEwODU7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgLjRzIC40cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMjU2cyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjI1NnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAuMjU2cyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIC4yNTZzIGVhc2UtaW4tb3V0O1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5yZWFkLW1vcmU6aG92ZXI6YWZ0ZXIge1xuICByaWdodDogLTJweDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4uc2xpZGUgLmNhcm91c2VsLWNhcHRpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuICAuc2xpZGUgLmNhcm91c2VsLWNhcHRpb24gaDIge1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICBmb250LXNpemU6IDQuMzc1cmVtO1xuICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG4gIC5zbGlkZSAuY2Fyb3VzZWwtY2FwdGlvbiBwIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4uc2xpZGUgLnNsaWRlLWJ1dHRvbiB7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGO1xuICBjb2xvcjogI0ZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnNsaWRlIC5zbGlkZS1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgY29sb3I6ICMxNmEwODU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5zbGlkZSAuc2xpZGUtYnV0dG9uIGEge1xuICAgIGNvbG9yOiAjRkZGOyB9XG5cbi5zbGlkZS1jcmVkaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE1cHg7XG4gIGJvdHRvbTogMjVweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IC45NWVtO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uc3ViLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEwNzM2MDtcbiAgZGlzcGxheTogbm9uZTtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLnN1Yi10aXRsZSBwIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG5cbi5uYXZiYXItYnJhbmQge1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaGVhZGVyI25hdmJhci5uYXZiYXIubmF2YmFyLWRlZmF1bHQubmF2YmFyLXN0YXRpYy10b3Age1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIG1hcmdpbjogMHB4OyB9XG5cbi5oZWFkZXItb3B0aW9ucyB7XG4gIHRyYW5zaXRpb246IGFsbCAxcztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5oZWFkZXItb3B0aW9ucyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuICAuaGVhZGVyLW9wdGlvbnMgZmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0YwRjE7IH1cbiAgICAuaGVhZGVyLW9wdGlvbnMgZmE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuICAuaGVhZGVyLW9wdGlvbnM6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0YwRjE7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDsgfVxuXG4uaGVhZGVyLW9wdGlvbnM6YWN0aXZlIC5mYSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45LCAwLjkpOyB9XG5cbi5tb2RhbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi5tb2RhbDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogLTRweDtcbiAgLyogQWRqdXN0cyBmb3Igc3BhY2luZyAqLyB9XG5cbi5tb2RhbC1kaWFsb2cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuI2VkaXQta2V5cy0tMiwgI2VkaXQta2V5cyB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBoZWlnaHQ6IDY1cHg7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmRpdi5pbnB1dC1ncm91cCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi50b2dnbGUtc2VhcmNoLWNsb3NlIC5nbHlwaGljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnRvZ2dsZS1zZWFyY2gtY2xvc2UgLmdseXBoaWNvbiBzcGFuOmhvdmVyIHtcbiAgY29sb3I6ICMxNmEwODU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4jbWlzc2lvbi1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIHBhZGRpbmc6IDUlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC00MHB4OyB9XG4gICNtaXNzaW9uLWJsb2NrIHAge1xuICAgIGNvbG9yOiAjNDc0NzQ3OyB9XG4gICNtaXNzaW9uLWJsb2NrIGgyIHtcbiAgICBjb2xvcjogIzQ3NDc0NzsgfVxuXG4jY3RhLWJsb2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDZkNjtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDMlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2M5YzljOTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC00MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAjY3RhLWJsb2NrIC5yZWdpb24tY3RhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgICNjdGEtYmxvY2sgLnJlZ2lvbi1jdGEgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMHB4OyB9XG5cbi5mb290LW9uZSB7XG4gIGNvbG9yOiAjNDc0NzQ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMyU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZDZkNmQ2OyB9XG4gIC5mb290LW9uZSBwIHtcbiAgICBjb2xvcjogIzQ3NDc0NzsgfVxuXG4uZnJvbnQtY2F0ZWdvcnkge1xuICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uZnJvbnQtc3BhY2VyIHtcbiAgbWFyZ2luOiAyJSAwcHggMiUgMHB4OyB9XG5cbi5tYWluLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIHBhZGRpbmctYm90dG9tOiAxMCU7IH1cblxuLnJlZ2lvbi1jb250ZW50IC5ub3QtZnJvbnQge1xuICBwYWRkaW5nLWJvdHRvbTogMTAlOyB9XG5cbmJvZHkgcCwgYm9keSBoMSwgYm9keSBoMiwgYm9keSBoMyB7XG4gIGNvbG9yOiAjN2I3YjdiOyB9XG5cbmJvZHkgaW1nLmFsaWduLWNlbnRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuYm9keS5uYXZiYXItaXMtZml4ZWQtdG9wIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7IH1cblxuYS5sb2dvLm5hdmJhci1idG4ucHVsbC1sZWZ0IGltZyB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICBhLmxvZ28ubmF2YmFyLWJ0bi5wdWxsLWxlZnQgaW1nOmhvdmVyIHtcbiAgICBmaWxsOiAjMTZhMDg1OyB9XG5cbi5tYWRlLXdpdGgge1xuICBjb2xvcjogIzEwNzg2MztcbiAgZm9udC1zaXplOiAuOTVyZW07XG4gIHRyYW5zaXRpb246IGFsbCA1czsgfVxuICAubWFkZS13aXRoOmhvdmVyIHtcbiAgICBjb2xvcjogI0ZGRjsgfVxuICAubWFkZS13aXRoOmhvdmVyID4gLmZhLWhlYXJ0IHtcbiAgICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE2YTA4NTtcbiAgICBib3JkZXItcmFkaXVzOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNXM7IH1cbiAgLm1hZGUtd2l0aCAuZmEtaGVhcnQge1xuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMTA3ODYzICFpbXBvcnRhbnQ7IH1cblxuLmNvcHlyaWdodCB7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuI0xheWVyXzAgaW1nIHtcbiAgZmlsbDogIzM3OTY4MzsgfVxuXG4uY29udGFpbmVyLmZvb3Qge1xuICBiYWNrZ3JvdW5kOiAjMTZhMDg1OyB9XG5cbi5mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTZhMDg1O1xuICBib3R0b206IDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMTA3MzYwOyB9XG4gIC5mb290ZXIgLm5hdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAuZm9vdGVyIC5uYXYgPiBsaSA+IGEge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luOiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5mb290ZXIgLm5hdiA+IGxpID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgY29sb3I6ICMxNmEwODU7IH1cbiAgLmZvb3RlciAuY29sLW1kLTEyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5mb290ZXIgaDMge1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7IH1cbiAgLmZvb3RlciAuc29jaWFsLWljb25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZm9vdGVyIC5zb2NpYWwtaWNvbnMgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAgIC5mb290ZXIgLnNvY2lhbC1pY29ucyBsaTpob3ZlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2YTA4NTsgfVxuICAgIC5mb290ZXIgLnNvY2lhbC1pY29ucyBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgbWFyZ2luOiAxMHB4OyB9XG4gICAgICAuZm9vdGVyIC5zb2NpYWwtaWNvbnMgYTpob3ZlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2YTA4NTsgfVxuICAuZm9vdGVyIHVsIHtcbiAgICBtYXJnaW46IDBweCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMHB4OyB9XG4gIC5mb290ZXIgLmZhIHtcbiAgICBjb2xvcjogI0ZGRjsgfVxuICAuZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuZm9vdGVyIHAge1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5mb290ZXIgaDIge1xuICAgIGNvbG9yOiAjRkZGOyB9XG5cbi5mb290ZXIge1xuICBtYXJnaW4tdG9wOiAwcHg7IH1cblxuLmZvb3Rlci5mb290ZXIuY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogIzE2YTA4NTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmluZGVudGVkIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzM3OTY4MzsgfVxuICAuaW5kZW50ZWQgLmNvbW1lbnQtYm94IHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4OyB9XG5cbi5jb21tZW50LWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0VDRjBGMTtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuY29tbWVudC1ib3ggaDMge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUNGMEYxOyB9XG4gIC5jb21tZW50LWJveDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuICAuY29tbWVudC1ib3ggdWwubGlua3MubGlzdC1pbmxpbmUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUNGMEYxO1xuICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIC5jb21tZW50LWJveCAuY29tbWVudF9fYXV0aG9yIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbW1lbnQtYm94IC5kYXRhLWNvbW1lbnQtdGltZXN0YW1wIHtcbiAgICBjb2xvcjogcmVkOyB9XG5cbi5jb250ZXh0LWV2ZW50IHtcbiAgbWFyZ2luOiAyMHB4IDBweCAyMHB4IDBweDtcbiAgYm9yZGVyLXRvcDogI0VDRjBGMSBzb2xpZCAxcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jY2FsLWRheSB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0VDRjBGMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNmEwODU7XG4gIGJvcmRlci1ib3R0b206ICMxMzhhNzI7XG4gIGNvbG9yOiAjRkZGO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAjY2FsLWRheSAuZmllbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgI2NhbC1kYXkgLmZpZWxkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgI2NhbC1kYXkgLm1vbnRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhMDg1O1xuICAgIGJvcmRlci1ib3R0b206ICMxMzhhNzI7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgd2lkdGg6IDEyMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAxMCU7XG4gICAgdG9wOiAtMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjY2FsLWRheSAubW9udGggcCB7XG4gICAgICBsZWZ0OiAxMHB4OyB9XG4gICAgI2NhbC1kYXkgLm1vbnRoOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNmEwODU7IH1cbiAgI2NhbC1kYXkgLmRheSB7XG4gICAgY29sb3I6ICMxNmEwODU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuXG4uc2lkZWJhciB7XG4gIGNvbG9yOiBkYXJrZW4gI0VDRjBGMSwgNSU7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICAuc2lkZWJhciAuZmllbGQge1xuICAgIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUNGMEYxOyB9XG4gIC5zaWRlYmFyIC5maWVsZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmNmYzsgfVxuICAuc2lkZWJhciBwIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAuc2lkZWJhciAuZmllbGQtLW5hbWUtZmllbGQtdGFnIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5mdWxsLXByb2ZpbGUtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmMmYzO1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLmZ1bGwtcHJvZmlsZS1waWxsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3OyB9XG5cbi5leHBsb2RlLXJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG5cbi5tZW1iZXItaW5mbyB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9XG5cbi5wcm9qZWN0cy12aWV3cy1yb3cge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG4uaW1hZ2Utcm91bmQtMzAwIHtcbiAgYm9yZGVyLXJhZGl1czogMTUwcHg7XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaW1hZ2Utcm91bmQtMzAwIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogMTUwcHg7XG4gICAgbWFyZ2luOiAwcHggYXV0bzsgfVxuICAuaW1hZ2Utcm91bmQtMzAwOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsgfVxuXG4uaW1hZ2Utcm91bmQtMTUwIHtcbiAgYm9yZGVyLXJhZGl1czogNzVweDtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pbWFnZS1yb3VuZC0xNTAgLmZpZWxkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lOyB9XG4gIC5pbWFnZS1yb3VuZC0xNTAgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA3NXB4O1xuICAgIG1hcmdpbjogMHB4IGF1dG87IH1cbiAgLmltYWdlLXJvdW5kLTE1MDphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7IH1cblxuLmltYWdlLXJvdW5kLTEwMCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaW1hZ2Utcm91bmQtMTAwIC5maWVsZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTsgfVxuICAuaW1hZ2Utcm91bmQtMTAwIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNzVweDtcbiAgICBtYXJnaW46IDBweCBhdXRvOyB9XG4gIC5pbWFnZS1yb3VuZC0xMDA6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpOyB9XG5cbi5jaHUtcm93IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ob3J6LXJvdyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUNGMEYxO1xuICBwYWRkaW5nOiAyLjUlIDAgMi41JSAwO1xuICBtYXJnaW4tdG9wOiAxJTsgfVxuICAuaG9yei1yb3cgLmluZm8tYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGMEYxO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBwYWRkaW5nOiA2cHg7IH1cbiAgLmhvcnotcm93IC5kYXRlLXN0YW1wIHtcbiAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgZm9udC1zaXplOiAyLjgxMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDsgfVxuICAuaG9yei1yb3cgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgICAuaG9yei1yb3cgLnRpdGxlIGE6bGluayB7XG4gICAgICBjb2xvcjogIzE2YTA4NTsgfVxuICAuaG9yei1yb3cgYTpsaW5rIHtcbiAgICBjb2xvcjogIzE2YTA4NTsgfVxuICAuaG9yei1yb3cgLm5ld3MtdGh1bWIgaW1nIHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDsgfVxuICAgIC5ob3J6LXJvdyAubmV3cy10aHVtYiBpbWc6aG92ZXIge1xuICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgfVxuICAgIC5ob3J6LXJvdyAubmV3cy10aHVtYiBpbWc6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7IH1cbiAgLmhvcnotcm93IC5mYXRmb250IHtcbiAgICBmb250LXNpemU6IDM4cHg7XG4gICAgZm9udC1zaXplOiAyLjM3NXJlbTtcbiAgICBjb2xvcjogIzQ5NWQ2MjsgfVxuXG4ubmV3cy10aHVtYiBpbWcge1xuICBwYWRkaW5nOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7IH1cbiAgLm5ld3MtdGh1bWIgaW1nOmhvdmVyIHtcbiAgICBwYWRkaW5nOiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE2YTA4NTsgfVxuXG4ucm91bmRlZC1jb3JuZXIgaW1nIHtcbiAgcGFkZGluZzogMHB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4OyB9XG5cbi5uZXdzLXRodW1iLWZyb250IGltZyB7XG4gIHBhZGRpbmc6IDBweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgd2lkdGg6IDc1JTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5uZXdzLXRodW1iLWZyb250IGltZzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE2YTA4NTsgfVxuXG4udmlkLXRodW1iIGltZyB7XG4gIHBhZGRpbmc6IDBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC52aWQtdGh1bWIgaW1nOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudmlkLXRodW1iIGltZzphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7IH1cblxuLmhvcnotcm93LXNtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFQ0YwRjE7XG4gIHBhZGRpbmc6IDElIDAgMSUgMDtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5ob3J6LXJvdy1zbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgLmhvcnotcm93LXNtIGgzIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmdyaWQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA0JTtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTsgfVxuICAuZ3JpZDpob3ZlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7IH1cbiAgLmdyaWQgLmdyaWQtaW1hZ2UgLmltZy1yZXNwb25zaXZlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgLmdyaWQgLmdyaWQtaW5mbyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgLmdyaWQgLmdyaWQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzYzNjM2MzsgfVxuICAuZ3JpZCAuZ3JpZC10YWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjMTZhMDg1O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUNGMEYxO1xuICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAuZ3JpZCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmdyaWQgYTp2aXNpdGVkLCAuZ3JpZCBhOmxpbmsge1xuICAgIGNvbG9yOiAjMTZhMDg1OyB9XG5cbi5tZW1iZXItZ3JpZCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW1iZXItZ3JpZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTsgfVxuICAubWVtYmVyLWdyaWQgLm1lbS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjFlbTsgfVxuICAubWVtYmVyLWdyaWQgLm1lbS1pbmZvIHtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgY29sb3I6ICNjMGNkZDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAzMHB4OyB9XG4gIC5tZW1iZXItZ3JpZCBpbWcge1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cblxuLmdyaWQtY2xlYW4ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAyJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgbWluLWhlaWdodDogMjgwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmdyaWQtY2xlYW46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7IH1cbiAgLmdyaWQtY2xlYW4gLmdyaWQtaW5mbyB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB0b3A6IDUlO1xuICAgIG1hcmdpbjogMHB4IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDcwcHg7XG4gICAgcGFkZGluZzogMCA1JSAwIDUlOyB9XG4gIC5ncmlkLWNsZWFuIC5ncmlkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDM0cHg7XG4gICAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmdyaWQtY2xlYW4gLmdyaWQtdGl0bGUgYSB7XG4gICAgICBjb2xvcjogIzQ5NWQ2MiAhaW1wb3J0YW50OyB9XG4gIC5ncmlkLWNsZWFuIC5ncmlkLWVtYWlsIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM3NzkzOWEgIWltcG9ydGFudDsgfVxuICAuZ3JpZC1jbGVhbiAuZ3JpZC10YWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjMTZhMDg1O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUNGMEYxO1xuICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAuZ3JpZC1jbGVhbiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmdyaWQtY2xlYW4gYTp2aXNpdGVkLCAuZ3JpZC1jbGVhbiBhOmxpbmsge1xuICAgIGNvbG9yOiAjMTZhMDg1OyB9XG5cbi52aWV3LWNvbnRlbnQgaDMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgZm9udC1zaXplOiAzLjc1cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VDRjBGMTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMjBweCAwIDIwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICM2ODY4Njg7IH1cblxuLmNvbW1pdHRlZSB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuXG4udmlldy1jb250ZW50IGgzIHtcbiAgcGFkZGluZzogMTVweDsgfVxuXG4uaGlnaGxpZ2h0ZWQtaW50ZXJpb3IgLnNsaWRlLWNyZWRpdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTVweDtcbiAgdG9wOiAxNTBweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IC45NWVtO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uaGlnaGxpZ2h0ZWQtaW50ZXJpb3IgaW1nLmltZy1yZXNwb25zaXZlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBtYXgtaGVpZ2h0OiAyMDJweDsgfVxuXG4uaGlnaGxpZ2h0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5oaWdobGlnaHRlZCBpbWcuaW1nLXJlc3BvbnNpdmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG1heC1oZWlnaHQ6IDM1MHB4OyB9XG5cbi5vd2wtcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtNTBweDsgfVxuXG4uY2hpbXAgLmNhbXBhaWduIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFQ0YwRjE7XG4gIHBhZGRpbmc6IDI1cHggMTBweCAyNXB4IDEwcHg7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jaGltcCAuY2FtcGFpZ246bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAuY2hpbXAgLmNhbXBhaWduOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmY2ZjO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuXG4uaG9yei1yb3ctZnJvbnQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VDRjBGMTtcbiAgcGFkZGluZzogMjVweCAxMHB4IDI1cHggMTBweDtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmhvcnotcm93LWZyb250Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgLmhvcnotcm93LWZyb250OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAuaG9yei1yb3ctZnJvbnQgLnRpdGxlIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgY2xlYXI6IHJpZ2h0OyB9XG5cbi50YWcgdWwsIC50YWcge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7IH1cbiAgLnRhZyB1bCBsaSwgLnRhZyB1bCAuZmllbGQtLWl0ZW0sIC50YWcgbGksIC50YWcgLmZpZWxkLS1pdGVtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDc0NzQ3O1xuICAgIGNvbG9yOiAjNDc0NzQ3O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBmb250LXNpemU6IC44ZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLmxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ3NDc0NztcbiAgY29sb3I6ICM0NzQ3NDc7XG4gIHBhZGRpbmc6IDVweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtc2l6ZTogLjllbTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDsgfVxuXG4uZnJvbnQtYmxvY2sge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAuZnJvbnQtYmxvY2sgaDIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IDI1MDtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgLmZyb250LWJsb2NrIC5kYXRlLXN0YW1wIHtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgY29sb3I6ICM0NzQ3NDc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uZnJvbnQtYmxvY2stcmlnaHQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAuZnJvbnQtYmxvY2stcmlnaHQgYSB7XG4gICAgY29sb3I6ICMxNmEwODU7IH1cbiAgLmZyb250LWJsb2NrLXJpZ2h0IC5sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM3OTY4MztcbiAgICBjb2xvcjogI0ZGRjsgfVxuXG5hLmJ0bi5idG4tcHJpbWFyeSB7XG4gIGNvbG9yOiAjRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhMDg1O1xuICBib3JkZXI6IG5vbmU7IH1cbiAgYS5idG4uYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxY2NkYWE7IH1cblxuYS5idG4uYnRuLXByaW1hcnkucHVsbC1yaWdodCB7XG4gIGNvbG9yOiAjRkZGOyB9XG5cbmEuYnRuLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNGRkY7IH1cblxuLnNsaWRlLXJlc3BvbnNpdmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5wYXJ0bmVyLWltZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzQ3NDc0NztcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgbWFyZ2luOiAwcHggYXV0bzsgfVxuICAucGFydG5lci1pbWcgaW1nIHtcbiAgICBwYWRkaW5nOiAzMHB4OyB9XG4gIC5wYXJ0bmVyLWltZyAudmlld3MtZmllbGQtdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIC5wYXJ0bmVyLWltZzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjBGMTsgfVxuXG4uZXZlbnQtYmxvY2sge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ldmVudC1ibG9jayBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZXZlbnQtYmxvY2sgLmV2ZW50LWJsb2NrLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC01MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNmEwODU7XG4gICAgaGVpZ2h0OiA1MHB4OyB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmNhcmQge1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNmEwODU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDtcbiAgY29sb3I6ICNGRkY7XG4gIG1hcmdpbi10b3A6IDMlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5jYXJkIGEge1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5jYXJkIC5jYXJkLWltZy10b3Age1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7IH1cbiAgICAuY2FyZCAuY2FyZC1pbWctdG9wIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuY2FyZCAuY2FyZC1pY29uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgY29sb3I6ICMxNmEwODU7XG4gICAgYm9yZGVyLXJhZGl1czogNzVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTZhMDg1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgd2lkdGg6IDc1cHg7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIG1hcmdpbjogMHB4IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIHRvcDogMTUwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLmNhcmQgLmNhcmQtaWNvbiAuZm9udGF3ZXNvbWUtaWNvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAuY2FyZCAuY2FyZC1ibG9jayB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBtaW4taGVpZ2h0OiAyMDBweDsgfVxuICAuY2FyZCAuY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmNhcmQgLmNhcmQtdGV4dCBwIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAuY2FyZCAuY2FyZC1hY3Rpb24ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMTM4YTcyO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMDczNjA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY2FyZCAuY2FyZC1hY3Rpb24gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAgIC5jYXJkIC5jYXJkLWFjdGlvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGE0NjNhOyB9XG5cbi5jYXRlZ29yeS1ibG9jayB7XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG4gIC5jYXRlZ29yeS1ibG9jayAuY2F0LWltZy1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5jYXRlZ29yeS1ibG9jayAuY2F0LWljb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBjb2xvcjogIzE2YTA4NTtcbiAgICBib3JkZXItcmFkaXVzOiA3NXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNmEwODU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICB3aWR0aDogNzVweDtcbiAgICBoZWlnaHQ6IDc1cHg7XG4gICAgbWFyZ2luOiAwcHggYXV0bztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDsgfVxuICAuY2F0ZWdvcnktYmxvY2sgLmZvbnRhd2Vzb21lLWljb24ge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgLmNhdGVnb3J5LWJsb2NrIC5jYXRlZ29yeS1ibG9jay10ZXh0IHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzE2YTA4NTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM3OTY4MztcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jYXRlZ29yeS1ibG9jayAuY2F0ZWdvcnktYmxvY2stdGV4dCBhIHtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgZm9udC1zaXplOiAxLjVlbTsgfVxuICAgIC5jYXRlZ29yeS1ibG9jayAuY2F0ZWdvcnktYmxvY2stdGV4dDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhMDg1O1xuICAgICAgY29sb3I6ICNGRkY7IH1cbiAgICAgIC5jYXRlZ29yeS1ibG9jayAuY2F0ZWdvcnktYmxvY2stdGV4dDpob3ZlciBoMyB7XG4gICAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgICAuY2F0ZWdvcnktYmxvY2sgLmNhdGVnb3J5LWJsb2NrLXRleHQ6aG92ZXIgLmZvbnRhd2Vzb21lLWljb24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKTsgfVxuICAgICAgLmNhdGVnb3J5LWJsb2NrIC5jYXRlZ29yeS1ibG9jay10ZXh0OmhvdmVyIC5jYXQtaWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDJweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDBweCAycHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG4gIC5jYXRlZ29yeS1ibG9jayBoMyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBjb2xvcjogI0ZGRjsgfVxuICAgIC5jYXRlZ29yeS1ibG9jayBoMyBhIHtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmZyb250LW5ld3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc5NjgzO1xuICBtYXJnaW46IDEwcHggMHB4IDIwcHggMHB4O1xuICBoZWlnaHQ6IDQwMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZnJvbnQtbmV3cyBwIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG4gIC5mcm9udC1uZXdzIGltZyB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5mcm9udC1uZXdzIGgyIHtcbiAgICBmb250LXNpemU6IDcycHg7XG4gICAgZm9udC1zaXplOiA0LjVyZW07XG4gICAgcGFkZGluZy10b3A6IDMwcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuZnJvbnQtbmV3cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogNjAwcHg7IH1cbiAgICAuZnJvbnQtbmV3cyBpbWcge1xuICAgICAgbWFyZ2luOiAwcHggYXV0bztcbiAgICAgIHdpZHRoOiA4MCU7IH1cbiAgICAuZnJvbnQtbmV3cyBoMiB7XG4gICAgICBwYWRkaW5nLXRvcDogMHB4OyB9IH1cblxuLmV2ZW50LXR5cGUge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGNvbG9yOiAjMzhlNGMyOyB9XG5cbnVsLnNwb25zb3ItbGlzdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICB1bC5zcG9uc29yLWxpc3QgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgdWwuc3BvbnNvci1saXN0IGxpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNmEwODU7IH1cbiAgdWwuc3BvbnNvci1saXN0IGltZyB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmVkOyB9XG5cbjotbW96LXBsYWNlaG9sZGVyIHtcbiAgLyogRmlyZWZveCAxOC0gKi9cbiAgY29sb3I6IHJlZDsgfVxuXG46Oi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE5KyAqL1xuICBjb2xvcjogcmVkOyB9XG5cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmVkOyB9XG5cbmgyIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTVweCkge1xuICAudG9nZ2xlLXNlYXJjaC1jbG9zZSAuZ2x5cGhpY29uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRvcDogLTYwcHg7IH0gfVxuXG4jdG9nZ2xlLXNlYXJjaCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjdG9nZ2xlLXNlYXJjaCAuZ2x5cGhpY29uIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGNvbG9yOiAjMTZhMDg1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuI21hdHQtc2VhcmNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5YjY5ODtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgdG9wOiAtMTkwcHg7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDYwMG1zO1xuICB0cmFuc2l0aW9uOiBhbGwgNjAwbXM7IH1cbiAgI21hdHQtc2VhcmNoIGdseXBoaWNvbiB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgI21hdHQtc2VhcmNoIC5mb3JtLXNlYXJjaC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBjb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuICAjbWF0dC1zZWFyY2ggc3Bhbi5pbnB1dC1ncm91cC1idG4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI2VkaXQta2V5cy0tMiwgI2VkaXQta2V5cyB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBoZWlnaHQ6IDY1cHg7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmRpdi5pbnB1dC1ncm91cCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi50b2dnbGUtc2VhcmNoLWNsb3NlIC5nbHlwaGljb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi50b2dnbGUtc2VhcmNoLWNsb3NlIC5nbHlwaGljb24gc3Bhbjpob3ZlciB7XG4gIGNvbG9yOiAjMTZhMDg1O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmRyb3Bkb3duLXN1Ym1lbnUgPiAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgcGFkZGluZzogMHB4OyB9XG5cbi5kcm9wZG93bi1zdWJtZW51OmhvdmVyID4gLmRyb3Bkb3duLW1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd24tc3VibWVudSA+IGE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTA4MFwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiA1cHg7IH1cblxuLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXIgPiBhOmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7IH1cblxuLmRyb3Bkb3duLXN1Ym1lbnUucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLmRyb3Bkb3duLXN1Ym1lbnUucHVsbC1sZWZ0ID4gLmRyb3Bkb3duLW1lbnUge1xuICBsZWZ0OiAtMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4IDAgNnB4IDZweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA2cHggMCA2cHggNnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHggMCA2cHggNnB4OyB9XG5cbi5uYXZiYXItbmF2IGxpOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tbWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwcHg7IH1cblxuLm5hdmJhci1uYXYgbGk6bGFzdC1jaGlsZCA+IC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1zdWJtZW51ID4gYTphZnRlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIlxcZTA3OVwiOyB9XG5cbi5uYXZiYXItbmF2IGxpOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24tc3VibWVudSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbGVmdDogLTEwMCU7IH1cblxuI3BsYXllciB7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuXG4ubWVkaWEtZ3JpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEwcHggMCAxMHB4IDA7IH1cblxuI29mZi13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIGNvbG9yOiAjNDc0NzQ3OyB9XG5cbiNzdHJlYW0ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICNzdHJlYW0gaDIge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAjc3RyZWFtIC5zdHJlYW0tcm93IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIG1hcmdpbjogMTBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAycHggMTBweCAycHggI2Q0ZDRkNDtcbiAgICAtbW96LWJveC1zaGFkb3c6IC0xcHggMnB4IDEwcHggMnB4ICNkNGQ0ZDQ7XG4gICAgYm94LXNoYWRvdzogLTFweCAycHggMTBweCAycHggI2Q0ZDRkNDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9XG4gICNzdHJlYW0gaW1nIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjc3RyZWFtIC5zdHJlYW0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuXG4jcHVibGljYXRpb25zLWxpc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAjcHVibGljYXRpb25zLWxpc3QgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICNwdWJsaWNhdGlvbnMtbGlzdCBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFQ0YwRjE7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtaW4taGVpZ2h0OiA3NXB4O1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAjcHVibGljYXRpb25zLWxpc3QgbGk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAjcHVibGljYXRpb25zLWxpc3Q6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAjcHVibGljYXRpb25zLWxpc3Q6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNwdWJsaWNhdGlvbnMtbGlzdCBhIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAjcHVibGljYXRpb25zLWxpc3QgLnBhbmVsLWJvZHk6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAjcHVibGljYXRpb25zLWxpc3QgLnBhbmVsLWJvZHk6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiNwdWJsaWNhdGlvbnMtbGlzdCBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5yZXNvdXJjZS1jYXJkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiAxMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IC0xcHggMnB4IDEwcHggMnB4ICNkNGQ0ZDQ7XG4gIC1tb3otYm94LXNoYWRvdzogLTFweCAycHggMTBweCAycHggI2Q0ZDRkNDtcbiAgYm94LXNoYWRvdzogLTFweCAycHggMTBweCAycHggI2Q0ZDRkNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgfVxuICAucmVzb3VyY2UtY2FyZCAudGFncyB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMHB4OyB9XG4gICAgLnJlc291cmNlLWNhcmQgLnRhZ3MgdWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAucmVzb3VyY2UtY2FyZCAudGFncyB1bCBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNmEwODU7XG4gICAgICAgIGNvbG9yOiAjMTZhMDg1O1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgd2lkdGg6IC13ZWJraXQtZml0LWNvbnRlbnQ7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4vKiBBQ0NPUkRJT05TIFxuXG5cblxuXG5cbiNhY2NvcmRpb24gLnBhbmVsLWhlYWRpbmcgeyBwYWRkaW5nOiAwO31cbiNhY2NvcmRpb24gLnBhbmVsLXRpdGxlID4gYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiAwLjRlbSAwLjZlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jdmlld3MtYm9vdHN0cmFwLWFjY29yZGlvbiAucGFuZWwtdGl0bGUgPiBhLmFjY29yZGlvbi10b2dnbGU6OmFmdGVyLCAjdmlld3MtYm9vdHN0cmFwLWFjY29yZGlvbiBhW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl06OmFmdGVyICB7XG4gICAgY29udGVudDpcIlxcZTExM1wiO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcblx0bWFyZ2luLXJpZ2h0IDoxZW07XG5cdFxuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXk7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdH1cblx0XG59XG5cbiN2aWV3cy1ib290c3RyYXAtYWNjb3JkaW9uIHBhbmVsLXRpdGxlID4gYS5hY2NvcmRpb24tdG9nZ2xlLmNvbGxhcHNlZDo6YWZ0ZXIsICN2aWV3cy1ib290c3RyYXAtYWNjb3JkaW9uIGEuY29sbGFwc2VkW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl06OmFmdGVyICB7XG4gICAgY29udGVudDpcIlxcZTExNFwiO1xufVxuXG5cbiNhY2NvcmRpb24gLnBhbmVsLXRpdGxlID4gYS5hY2NvcmRpb24tdG9nZ2xlOjphZnRlciwgI2FjY29yZGlvbiBhW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl06OmFmdGVyICB7XG4gICAgY29udGVudDpcIlxcZTExM1wiO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcblx0bWFyZ2luLXJpZ2h0IDoxZW07XG5cdFxuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXk7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdH1cblx0XG59XG4jYWNjb3JkaW9uIC5wYW5lbC10aXRsZSA+IGEuYWNjb3JkaW9uLXRvZ2dsZS5jb2xsYXBzZWQ6OmFmdGVyLCAjYWNjb3JkaW9uIGEuY29sbGFwc2VkW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl06OmFmdGVyICB7XG4gICAgY29udGVudDpcIlxcZTExNFwiO1xuICAgICAgLW1vei10cmFuc2Zvcm06cm90YXRlKDE4MGRlZykhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06cm90YXRlKDE4MGRlZykhaW1wb3J0YW50O1xufVxuXG4jYWNjb3JkaW9uIHtcblx0cGFkZGluZzogMTBweCA1cHggMTBweCA1cHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcblx0XG5cdGRpdi5hY2NvcmRpb24taGVhZGluZyB7XG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdH1cblx0XG5cdC5hY2NvcmRpb24taW5uZXIge1xuXHRcdHBhZGRpbmc6IDEwcHggMHB4O1xuXHR9XG5cdFxufVxuXG5cbi5wYW5lbC1ncm91cCB7XG5cdFxuXHRib3JkZXItY29sb3I6ICNGRkYgIWltcG9ydGFudDtcblx0dHJhbnNpdGlvbjogYWxsIC40cyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7XG5cdHBhZGRpbmc6IDEwcHggNXB4IDEwcHggOHB4O1xuXHQmOmhvdmVyIHtcblx0XHQvL2JhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG5cdH1cblx0XG5cdFxuXHQucGFuZWwtaGVhZGluZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuXHRcdFxuXHR9XG5cdFxuXHRcblx0LnBhbmVsIHtcblx0XHRib3JkZXItcmFkaXVzOiBub25lICFpbXBvcnRhbnQ7XHRcblx0fVxuXHRcblx0LnBhbmVsLWRlZmF1bHR7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG5cdH1cblx0XG5cdGg0LnBhbmVsLXRpdGxlIHtcblx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0XHRmb250LXdlaWdodDogMjUwO1xuXHRcdGJvcmRlci1jb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nOiAyJSAwJSAyJSAwO1xuXHR9XG5cdFxufVxuXG4uYWNjb3JkaW9uLXRvZ2dsZSB7XG5cdHRyYW5zaXRpb246IGFsbCAuNHMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xuXHQgLW1vei10cmFuc2l0aW9uOiBhbGwgMnMgbGluZWFyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDJzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIHRyYW5zZm9ybSBlYXNlLWluLW91dDtcblxufVxuXG4uYWNjb3JkaW9uLXRvZ2dsZTphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgY29udGVudDogXCJcXGYwNjNcIjsgICAgXG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gfVxuXG4uYWNjb3JkaW9uLW9wZW5lZCAuYWNjb3JkaW9uLXRvZ2dsZSB7XG5cdHRyYW5zaXRpb246IGFsbCAuNHMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xufVxuXG4uYWNjb3JkaW9uLW9wZW5lZCAuYWNjb3JkaW9uLXRvZ2dsZTphZnRlciB7ICAgIFxuICAgIGNvbnRlbnQ6IFwiXFxmMDYzXCIgIWltcG9ydGFudDsgICBcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIC1tb3otdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKSFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIWltcG9ydGFudDtcbn1cblxuKi9cbi5kb2Mtcm93IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0VDRjBGMTtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA0MDBweDsgfVxuICAuZG9jLXJvdyBhIHtcbiAgICBjb2xvcjogIzQ3NDc0NztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmRvYy1yb3cgLmgzIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuZG9jLXJvdyAuZmEtZmlsZSB7XG4gICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5waG90by1nYWxsZXJ5XG4uaW1nLXJlc3BvbnNpdmUge1xuICBtYXgtd2lkdGg6IDI1MHB4O1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMjBweDsgfVxuIiwiLy8jIyMjIFZBUklBQkxFUyAjIyMjL1xuLy8gVEVTVCBXSElURSBCQUNLR1JPVU5EIFdJVEggUFJJTUFSSUVTIFxuLy8gU1VCVElUTEUgLy9cbi5zdWItdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLm5hdmJhci1idG4ge1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi5uYXZiYXItYnJhbmQge1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIC8vZGlzcGxheTogbm9uZTtcbn1cblxuLm5hdmJhciAubG9nbyB7XG4gICAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24ubmF2YmFyLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgY29sb3I6ICRjb2xvci1ncmF5O1xuICAgIC5pY29uLWJhciB7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgfVxufVxuXG4ubmF2YmFyLW5hdiB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbiNuYXZiYXIge1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAzcHggMThweCAtOXB4IHJnYmEoMTYzLCAxNjMsIDE2MywgMSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAtMXB4IDNweCAxOHB4IC05cHggcmdiYSgxNjMsIDE2MywgMTYzLCAxKTtcbiAgICBib3gtc2hhZG93OiAtMXB4IDNweCAxOHB4IC05cHggcmdiYSgxNjMsIDE2MywgMTYzLCAxKTtcbiAgICAuZHJvcGRvd24tdG9nZ2xlOmhvdmVyIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDUlKTtcbiAgICAgICAgLy9ib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgfVxuICAgIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICM1YTVhNWE7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksIDUlKSAxcHggc29saWQ7XG4gICAgICAgICAgICAvL2JvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgICAgLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxuICAgIGEuZHJvcGRvd24tdG9nZ2xlIGEuaXMtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItcHJpbWFyeSwgMTAlKTtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIH1cbiAgICBhLmlzLWFjdGl2ZSB7XG4gICAgICAgIC8vYm9yZGVyLWJvdHRvbTogZGFya2VuKCRjb2xvci1wcmltYXJ5LCAxMCUpIDFweCBzb2xpZDtcbiAgICAgICAgLy9ib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICB9XG4gICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgfVxuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICAgICAgb3BhY2l0eTogLjk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMXB4IDNweCAxOHB4IC05cHggcmdiYSgxNjMsIDE2MywgMTYzLCAxKTtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiAtMXB4IDNweCAxOHB4IC05cHggcmdiYSgxNjMsIDE2MywgMTYzLCAxKTtcbiAgICAgICAgYm94LXNoYWRvdzogLTFweCAzcHggMThweCAtOXB4IHJnYmEoMTYzLCAxNjMsIDE2MywgMSk7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItcHJpbWFyeSwgMTAlKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB9XG59XG5cbi8vIGFjdGl2ZSBwYXJlbnQgdG9nZ2xlIGl0ZW1cbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlPmEsXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmFjdGl2ZSxcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlIHtcbiAgICAvL2JvcmRlci1ib3R0b206IGxpZ2h0ZW4oJGNvbG9yLXByaW1hcnksIDEwJSkgMXB4IHNvbGlkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICY6aG92ZXIge1xuICAgICAgICAvL2JvcmRlci1ib3R0b206IGxpZ2h0ZW4oJGNvbG9yLXByaW1hcnksIDEwJSk7XG4gICAgfVxufVxuXG4vLyBhY3RpdmF0ZWQgdG9nZ2xlXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+Lm9wZW4+YSxcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4ub3Blbj5hOmhvdmVyLFxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5vcGVuPmE6Zm9jdXMge1xuICAgIC8vYm9yZGVyLWJvdHRvbTogZGFya2VuKCRjb2xvci1wcmltYXJ5LCAxNSUpIDFweCBzb2xpZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAvL2NvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAvL2JvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICNGRkYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDI0cHg7XG59XG5cbi8vIEVORCBPRiBXSElURSBOQVYiLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8qIVxuICogYW5pbWF0ZS5jc3MgLWh0dHA6Ly9kYW5lZGVuLm1lL2FuaW1hdGVcbiAqIFZlcnNpb24gLSAzLjUuMlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxNyBEYW5pZWwgRWRlblxuICovXG5cbi5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5hbmltYXRlZC5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4uYW5pbWF0ZWQuaGluZ2Uge1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xufVxuXG4uYW5pbWF0ZWQuZmxpcE91dFgsXG4uYW5pbWF0ZWQuZmxpcE91dFksXG4uYW5pbWF0ZWQuYm91bmNlSW4sXG4uYW5pbWF0ZWQuYm91bmNlT3V0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sIDIwJSwgNTMlLCA4MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG5cbiAgNDAlLCA0MyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cblxuICA3MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICB9XG59XG5cbi5ib3VuY2Uge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSwgNTAlLCB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGFzaCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnB1bHNlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuXG5Aa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnJ1YmJlckJhbmQge1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20sIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLCA0MCUsIDYwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cblxuQGtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgNi41JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICB9XG5cbiAgMTguNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gIH1cblxuICAzMS41JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG5cbiAgNDMuNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uaGVhZFNoYWtlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG59XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cblxuLnN3aW5nIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnRhZGEge1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4ud29iYmxlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbn1cblxuQGtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sIDExLjElLCB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICB9XG5cbiAgNDQuNCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG4uamVsbG8ge1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sIDIwJSwgNDAlLCA2MCUsIDgwJSwgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi5ib3VuY2VJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmJvdW5jZUluRG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5ib3VuY2VJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluVXAge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDUwJSwgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZhZGVJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0QmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5VcEJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mYWRlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0RG93bkJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dExlZnQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dExlZnRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0QmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcEJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG59XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG4uYW5pbWF0ZWQuZmxpcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG4uZmxpcEluWCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRYIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXQge1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93bkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93bkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsIDgwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5oaW5nZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbn1cblxuQGtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4uamFja0luVGhlQm94IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4ucm9sbEluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cblxuLnJvbGxPdXQge1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDtcbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uem9vbUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21Jbjtcbn1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG59XG5cbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbn1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluVXAge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnpvb21PdXQge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cblxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dERvd24ge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuLnpvb21PdXRMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gIH1cbn1cblxuLnpvb21PdXRSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tT3V0VXAge1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluRG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXREb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRMZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRSaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRVcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xufSIsIi8vIFBBUkFHUkFQSCBTVFlMRVNcblxuXG5cbiNwZ3JhcGgge1xuXHRcblx0cGFkZGluZzogMTBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXNlY29uZGFyeTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRtYXJnaW46IDEwcHggMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0Y29sb3I6ICNGRkY7XG59XG5cdFxuLnAtdGlwIHtcblx0XHRcblx0XHQuZm9udGF3ZXNvbWUtaWNvbnMge1xuXHRcdFx0Zm9udC1zaXplOiAzZW07XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTBweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXG5cdFx0fVxuXHRcdFxuXHRcdC5maWVsZC0tbmFtZS1maWVsZC10aXAtdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAyZW07XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR9XG5cdFx0XG5cdFx0LmZpZWxkLS1uYW1lLWZpZWxkLXRpcC1ib2R5IHAge1xuXHRcdFx0Y29sb3I6ICNGRkY7XG5cdFx0XHRcblx0XHR9XG5cdFxufVxuXHRcblx0XG5cbiJdfQ== */