@font-face {
  font-family: 'Sharp Sans No1';
  src: url(fonts/SharpSansNo1-Bold.eot);
  src: url(fonts/SharpSansNo1-Bold.eot) format("embedded-opentype"), url(fonts/SharpSansNo1-Bold.woff2) format("woff2"), url(fonts/SharpSansNo1-Bold.woff) format("woff"), url(fonts/SharpSansNo1-Bold.ttf) format("truetype");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'Sharp Sans No1';
  src: url(fonts/SharpSansNo1-Medium.eot);
  src: url(fonts/SharpSansNo1-Medium.eot) format("embedded-opentype"), url(fonts/SharpSansNo1-Medium.woff2) format("woff2"), url(fonts/SharpSansNo1-Medium.woff) format("woff"), url(fonts/SharpSansNo1-Medium.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Playfair Display';
  src: url(fonts/PlayfairDisplay-Regular.eot);
  src: url(fonts/PlayfairDisplay-Regular.eot) format("embedded-opentype"), url(fonts/PlayfairDisplay-Regular.woff2) format("woff2"), url(fonts/PlayfairDisplay-Regular.woff) format("woff"), url(fonts/PlayfairDisplay-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Proxima Nova Lt';
  src: url(fonts/ProximaNova-Semibold.eot);
  src: url(fonts/ProximaNova-Semibold.eot) format("embedded-opentype"), url(fonts/ProximaNova-Semibold.woff2) format("woff2"), url(fonts/ProximaNova-Semibold.woff) format("woff"), url(fonts/ProximaNova-Semibold.ttf) format("truetype");
  font-weight: 600;
  font-style: normal;
}

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

html {
  font-size: 10px;
}

html,
body {
  font-family: 'Sharp Sans No1', sans-serif;
  padding: 0;
  margin: 0;
  color: #333333;
  background: #F9F9F9;
}

body {
  -webkit-transition: -webkit-transform 1s;
  transition: -webkit-transform 1s;
  transition: transform 1s;
  transition: transform 1s, -webkit-transform 1s;
  font-size: 18px;
  line-height: 1.2;
}

body.show-menu {
  overflow: hidden;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  max-width: 100%;
}

figure {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  font-family: 'Sharp Sans No1', sans-serif;
}

a {
  color: #00C993;
}

a:hover {
  color: #00966e;
}

h1 {
  font-size: 4.2rem;
}

h2 {
  font-size: 3.6rem;
}

h3 {
  font-size: 3.2rem;
}

h4 {
  font-size: 2.8rem;
}

h5 {
  font-size: 2.1rem;
}

h6 {
  font-size: 1.8rem;
}

p {
  margin: 0 0 2rem;
  line-height: 1.4;
  font-size: 1.8rem;
}

@media only screen and (max-width: 900px) {
  p {
    font-size: 1.8rem;
    margin-bottom: 0 0 1.5rem;
  }
}

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

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

.container {
  max-width: 120rem;
  margin: auto;
  padding: 4rem 8rem;
}

@media only screen and (max-width: 900px) {
  .container {
    padding: 2rem;
  }
}

.center {
  text-align: center;
}

.left {
  float: left;
}

.right {
  float: right;
}

.clear {
  clear: both;
}

.nobr {
  white-space: nowrap;
}

.bold {
  font-weight: bold;
}

li {
  font-size: 1.8rem;
  line-height: 1.4;
  margin: 0 0 1rem;
}

@media only screen and (max-width: 900px) {
  li {
    font-size: 1.8rem;
  }
}

.fp-tableCell {
  height: auto !important;
}

a.btn,
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 0.2rem solid transparent;
  white-space: nowrap;
  padding: 0.75rem 2rem;
  font-size: 1.2rem;
  line-height: 1;
  border-radius: 2rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  text-decoration: none;
  color: #025B42;
  text-transform: uppercase;
  font-weight: bold;
  background-color: #00C993;
  -webkit-transition: background-color 0.3s linear, color 0.3s linear;
  transition: background-color 0.3s linear, color 0.3s linear;
  border: none;
}

a.btn:hover,
.btn:hover {
  background: #006348;
}

a.btn:focus,
.btn:focus {
  outline: 0;
}

.input {
  width: 100%;
  margin: 10px 0;
}

.input label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  font-size: 1.6rem;
  line-height: 1.2;
  margin-bottom: 1rem;
}

.input .error-msg {
  display: none;
  font-size: 1.4rem;
  margin-top: 0.5rem;
}

.input.has-error .error-msg {
  display: block;
  text-transform: uppercase;
}

.input input[type="email"],
.input input[type="text"],
.input input[type="password"],
.input textarea {
  width: 100%;
  border: none;
  font-size: 1.8rem;
  padding: 1rem;
  -webkit-transition: background 0.2s linear;
  transition: background 0.2s linear;
  background: #f7f7f7;
}

.input input[type="email"]:focus,
.input input[type="text"]:focus,
.input input[type="password"]:focus,
.input textarea:focus {
  outline: none;
}

.input input[type="email"]:disabled,
.input input[type="text"]:disabled,
.input input[type="password"]:disabled,
.input textarea:disabled {
  cursor: not-allowed;
}

.input input[type="email"]::-webkit-input-placeholder,
.input input[type="text"]::-webkit-input-placeholder,
.input input[type="password"]::-webkit-input-placeholder,
.input textarea::-webkit-input-placeholder {
  font-size: 1.8rem;
  color: #c0c0c0;
}

.form-buttons {
  margin-top: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.card {
  padding: 4rem;
  background: #fff;
  height: 100%;
  text-align: center;
}

.card .card-image {
  text-align: center;
  padding: 2rem;
}

.card .card-image svg {
  max-height: 10rem;
  max-width: 100%;
}

.card p {
  text-align: center;
  font-size: 1.4rem;
}

#fullpage {
  margin-left: 20rem;
}

@media only screen and (max-width: 900px) {
  #fullpage {
    margin-left: 0;
  }
}

.section {
  min-height: 100vh;
}

.section h2 {
  font-family: 'Sharp Sans No1', sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 2rem;
  margin-bottom: 3rem;
  letter-spacing: 0.15ch;
}

.animate {
  -webkit-transition: 0.375s ease-in-out;
  transition: 0.375s ease-in-out;
}

@media only screen and (max-width: 900px) {
  .animate {
    -webkit-transition: none;
    transition: none;
  }
}

.animate.animate-scale {
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

@media only screen and (max-width: 900px) {
  .animate.animate-scale {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.animate.animate-opacity {
  opacity: 0;
}

@media only screen and (max-width: 900px) {
  .animate.animate-opacity {
    opacity: 1;
  }
}

.animate.animate-slide {
  -webkit-transform: translateY(-10%);
          transform: translateY(-10%);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

@media only screen and (max-width: 900px) {
  .animate.animate-slide {
    -webkit-transform: none;
            transform: none;
  }
}

.animate.animate-delay-1 {
  -webkit-transition-delay: 0.05s;
          transition-delay: 0.05s;
}

.animate.animate-delay-2 {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

.animate.animate-delay-3 {
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}

.animate.animate-delay-4 {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.animate.animate-delay-5 {
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}

.animate.animate-delay-6 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.animate.animate-delay-7 {
  -webkit-transition-delay: 0.35s;
          transition-delay: 0.35s;
}

.animate.animate-delay-8 {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.animate.animate-delay-9 {
  -webkit-transition-delay: 0.45s;
          transition-delay: 0.45s;
}

.animate.animate-delay-10 {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.fp-completely .animate.animate-scale {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.fp-completely .animate.animate-opacity {
  opacity: 1;
}

.fp-completely .animate.animate-slide {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.logo {
  position: fixed;
  top: 3rem;
  right: 3rem;
  z-index: 10;
}

.logo svg {
  width: 5rem;
}

@media only screen and (max-width: 900px) {
  .logo {
    top: 1.5rem;
    right: 2rem;
    z-index: 1000;
  }

  .logo svg {
    width: 4rem;
  }
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 20rem;
  height: 100vh;
  z-index: 101;
  background: #00C993;
  text-align: center;
  overflow: hidden;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 2rem 0;
}

#header nav {
  margin-right: 2rem;
}

#header .site-logo {
  margin-right: auto;
}

#header use.header-logo {
  color: #333333;
  fill: #00C993;
}

#header h2 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 7.2rem;
  width: 20rem;
  color: #025B42;
  margin: 0;
  font-weight: normal;
  -webkit-transition: 0.2s linear opacity;
  transition: 0.2s linear opacity;
}

.show-menu #header h2 {
  opacity: 0;
}

#header h2.transition .page-title {
  opacity: 0;
}

#header h2.up .page-title {
  -webkit-transform: translate3d(0, 8rem, 0) rotate(-90deg);
          transform: translate3d(0, 8rem, 0) rotate(-90deg);
}

#header h2.down .page-title {
  -webkit-transform: translate3d(0, -8rem, 0) rotate(-90deg);
          transform: translate3d(0, -8rem, 0) rotate(-90deg);
}

#header h2.no-transition .page-title {
  -webkit-transition: 0s ease-in-out;
  transition: 0s ease-in-out;
}

#header h2 .page-title {
  display: inline-block;
  white-space: nowrap;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transition: 0.35s ease-in-out opacity, 0.35s ease-out transform;
  transition: 0.35s ease-in-out opacity, 0.35s ease-out transform;
  opacity: 1;
  line-height: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  letter-spacing: -0.05ch;
  -ms-flex-pack: unset;
  -ms-flex-align: stretch;
  position: relative;
  left: -1rem;
}

#header h2 .page-title span {
  -ms-transform: translateX(-25%);
}

#header #section-up {
  position: relative;
  display: block;
  padding: 2rem;
  -webkit-transition: 0.2s linear opacity;
  transition: 0.2s linear opacity;
}

.show-menu #header #section-up {
  opacity: 0;
}

#header #section-up svg {
  width: 3.2rem;
  height: 3.2rem;
}

#header #menu-trigger {
  position: relative;
  z-index: 101;
  display: block;
  padding: 2rem;
}

#header #menu-trigger svg {
  width: 3.2rem;
  height: 3.2rem;
}

#header #menu-trigger .bar:nth-of-type(2) {
  opacity: 1;
  -webkit-transition: opacity 0.2s ease-in-out, -webkit-transform 0.4s ease-in-out;
  transition: opacity 0.2s ease-in-out, -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out, opacity 0.2s ease-in-out;
  transition: transform 0.4s ease-in-out, opacity 0.2s ease-in-out, -webkit-transform 0.4s ease-in-out;
}

.show-menu #header #menu-trigger .bar:nth-of-type(2) {
  opacity: 0;
}

@media only screen and (max-width: 900px) {
  #header {
    width: 100%;
    height: 7rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }

  #header #menu-trigger {
    padding: 1.3rem 2rem 1rem;
  }

  #header h2 {
    font-size: 3.2rem;
    width: auto;
    font-weight: normal;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }

  #header h2.transition .page-title {
    opacity: 1;
  }

  #header h2.up .page-title {
    -webkit-transform: none;
            transform: none;
  }

  #header h2.down .page-title {
    -webkit-transform: none;
            transform: none;
  }

  #header h2.no-transition .page-title {
    -webkit-transition: 0s ease-in-out;
    transition: 0s ease-in-out;
  }

  #header h2 .page-title {
    display: inline-block;
    white-space: nowrap;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: 0.35s ease-in-out opacity;
    transition: 0.35s ease-in-out opacity;
    opacity: 1;
    position: static;
    margin: 0 8rem 0 0;
    vertical-align: center;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }

  #header h2 .page-title span {
    -ms-transform: none;
  }

  #header #section-up {
    display: none;
  }
}

#menu {
  position: fixed;
  overflow: auto;
  background: #00C993;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 100;
  padding: 2rem;
  width: 100vw;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: 0.2s ease-in-out opacity;
  transition: 0.2s ease-in-out opacity;
  pointer-events: none;
}

@media only screen and (max-width: 900px) {
  #menu {
    -webkit-transform: none;
            transform: none;
  }
}

.show-menu #menu {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
  pointer-events: visible;
}

.show-menu #menu ul li {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.show-menu #menu ul li:nth-child(1) {
  -webkit-transition-delay: 0.05s;
          transition-delay: 0.05s;
}

.show-menu #menu ul li:nth-child(2) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

.show-menu #menu ul li:nth-child(3) {
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}

.show-menu #menu ul li:nth-child(4) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.show-menu #menu ul li:nth-child(5) {
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}

.show-menu #menu ul li:nth-child(6) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.show-menu #menu ul li:nth-child(7) {
  -webkit-transition-delay: 0.35s;
          transition-delay: 0.35s;
}

.show-menu #menu ul li:nth-child(8) {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.show-menu #menu ul li:nth-child(9) {
  -webkit-transition-delay: 0.45s;
          transition-delay: 0.45s;
}

.show-menu #menu ul li:nth-child(10) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

#menu ul {
  list-style: none;
  padding: 0 0 0 20rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}

@media only screen and (max-width: 900px) {
  #menu ul {
    padding: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

#menu ul a {
  color: rgba(249, 249, 249, 0.7);
  text-decoration: none;
  font-size: 7.2rem;
  line-height: 1;
  -webkit-transition: 0.2s linear color;
  transition: 0.2s linear color;
}

#menu ul a:hover {
  color: #025b42;
}

@media only screen and (max-width: 900px) {
  #menu ul a {
    font-size: 3.6rem;
  }
}

#menu ul .active a {
  color: #025b42;
}

#menu ul li {
  opacity: 0;
  -webkit-transform: translateX(-5%);
          transform: translateX(-5%);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transition: 0.375s ease-in-out;
  transition: 0.375s ease-in-out;
  margin-bottom: 1.5rem;
}

#menu ul li:last-child {
  margin-bottom: none;
}

#menu .close {
  position: absolute;
  top: 2rem;
  left: 0rem;
  width: 20rem;
  text-align: center;
}

#menu .close svg {
  height: 5rem;
}

.section-intro {
  background: url(images/hero-bg.png) 0 100% no-repeat;
  background-size: contain;
}

.section-intro h1 {
  color: #00C993;
  font-size: 7.2rem;
  letter-spacing: -0.05ch;
  margin-bottom: 2rem;
  font-weight: normal;
}

.section-intro p {
  margin: 0.5rem;
  font-size: 2.5rem;
}

@media only screen and (max-width: 900px) {
  .section-intro h1 {
    font-size: 4.8rem;
  }

  .section-intro p {
    margin: 0.5rem;
    font-size: 2rem;
  }
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 4rem -4rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.row .col {
  padding: 0 4rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media only screen and (max-width: 900px) {
  .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 2rem -2rem;
  }

  .row .col {
    padding: 0 2rem;
    margin-bottom: 2rem;
  }
}

.section-creative-story .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 100%;
}

.section-creative-story .content {
  padding-right: 6rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -ms-flex-negative: 0;
}

.section-creative-story .image {
  width: 272px;
  -ms-flex-preferred-size: 272px;
      flex-basis: 272px;
}

.section-creative-story .image img {
  width: 272px;
}

@media only screen and (max-width: 900px) {
  .section-creative-story .content {
    padding-right: 0;
  }

  .section-creative-story .image {
    display: none;
  }
}

.section-offerings .row {
  margin: 4rem -2rem;
}

.section-offerings .row .col {
  padding: 0 1rem;
}

.section-offerings .card {
  padding: 2rem 1rem;
}

.section-offerings .card .card-header svg {
  max-height: 5rem;
  max-width: 100%;
}

.section-offerings .card .btn {
  margin-top: 2rem;
}

.section-case-studies {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.section-case-studies .container {
  width: 100%;
}

.section-case-studies .col:last-child {
  width: 30%;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.section-case-studies .col:last-child .image svg {
  width: 100%;
  max-width: 40rem;
  margin-bottom: 2rem;
}

.section-case-studies .fp-slides {
  margin: 0 -1rem;
}

.section-case-studies .cs.slide {
  padding: 0 1rem;
}

.section-case-studies .smaller p {
  font-size: 1.4rem;
  line-height: 1.6;
}

.section-case-studies .smaller strong {
  letter-spacing: 0.15ch;
}

@media only screen and (max-width: 900px) {
  .section-case-studies .col:last-child {
    width: 100%;
  }

  .section-case-studies .image {
    display: none;
  }
}

.pagination-next,
.next-slide {
  color: #333333;
  text-transform: uppercase;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
  letter-spacing: 0.15ch;
}

.pagination-dots {
  margin: 1rem -1rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.pagination-dots .dot {
  height: 1.4rem;
  width: 1.4rem;
  margin: 1rem;
  background: #e5e5e5;
  display: block;
  border-radius: 50%;
  -webkit-transition: 0.2s linear background-color;
  transition: 0.2s linear background-color;
  cursor: pointer;
}

.pagination-dots .dot.active {
  cursor: default;
  background: #cbcbcb;
}

.pagination-dots .dot:hover {
  background: #d5d5d5;
}

.section-team .avatar {
  margin-bottom: 2rem;
  border-radius: 50%;
  overflow: hidden;
  display: block;
  max-width: 18rem;
}

.section-team .avatar img {
  display: block;
}

.section-team p {
  font-size: 1.4rem;
  line-height: 1.6;
}

@media only screen and (max-width: 900px) {
  .section-team .avatar {
    width: 6rem;
    height: 6rem;
    min-width: 6rem;
    margin-right: 2rem;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }

  .section-team .col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .section-team h2 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}

.section-beliefs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.section-beliefs h1 {
  color: #00C993;
  font-size: 6.4rem;
  letter-spacing: -0.05ch;
  max-width: 70rem;
  font-weight: normal;
  text-transform: lowercase;
}

.section-beliefs p {
  max-width: 70rem;
}

@media only screen and (max-width: 900px) {
  .section-beliefs h1 {
    font-size: 3.6rem;
  }
}

.section-numbers .row {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: space-between;
      -ms-flex-align: space-between;
          align-items: space-between;
  margin: -2rem;
}

.section-numbers .row .col {
  width: 33%;
  max-width: 30rem;
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  padding: 1rem 2rem;
}

.section-numbers .row .col p {
  margin: 0 auto;
  max-width: 18rem;
}

.section-numbers .stronger {
  color: #00C993;
}

.section-numbers .data-image {
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1rem;
}

.section-numbers .data-image svg {
  max-width: 8rem;
  height: 8rem;
}

.section-numbers .data-image span {
  font-weight: bold;
  font-size: 4rem;
  line-height: 3.2rem;
  position: relative;
  left: -2rem;
  color: #00C993;
}

@media only screen and (max-width: 900px) {
  .section-numbers .card {
    padding: 1rem 2rem;
  }

  .section-numbers .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }

  .section-numbers .row .col {
    width: 48%;
    padding: 1rem;
  }

  .section-numbers .data-image {
    display: block;
    text-align: center;
  }

  .section-numbers .data-image span {
    position: static;
    display: block;
  }
}

.section-book .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.section-book .container .book-img {
  margin-left: -4rem;
  max-width: 35%;
  padding: 2rem;
}

.section-book .container .book-img img {
  max-width: 100%;
  width: 18rem;
  margin: auto;
  display: block;
}

.section-book .container div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.section-book .container div .buy-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.section-book .container div .buy-buttons p {
  font-weight: 300;
  color: #999;
}

.section-book .container div .h2 {
  font-family: 'Sharp Sans No1', sans-serif;
  font-weight: bold;
  letter-spacing: 0.2rem;
  font-size: 3.2rem;
  margin-bottom: 1rem;
}

.section-book .container div .h2 a {
  color: #333333;
  text-transform: uppercase;
}

.section-book .container div .edd-add-to-cart,
.section-book .container div .add-to-cart {
  font-family: 'Sharp Sans No1', sans-serif;
  font-weight: bold;
  letter-spacing: 0.2rem;
  font-size: 3.2rem;
  margin-bottom: 1rem;
  text-decoration: underline;
  border: none;
  padding: 0;
  display: inline-block;
  line-height: 1.428571429;
}

.section-book .container div h4 {
  font-size: 3.2rem;
  font-weight: normal;
}

@media only screen and (max-width: 1100px) {
  .section-book .container div .buy-buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media only screen and (max-width: 900px) {
  .section-book .container {
    display: block;
    text-align: center;
  }

  .section-book .container .book-img {
    margin: auto;
  }

  .section-book .container div .buy-buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }

  .section-book .container div .h2 {
    font-size: 2.4rem;
  }
}

.section-contact {
  background: url(images/hero-bg.png) 0 100% no-repeat;
  background-size: contain;
}

.section-contact .row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 8rem;
}

.section-contact p {
  font-size: 2.4rem;
}

.section-contact svg {
  width: 100%;
  max-width: 40rem;
}

.section-contact a {
  color: #000;
}

.section-contact ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.section-contact li {
  margin-bottom: 1rem;
  font-size: 2.4rem;
}

.section-contact li p {
  margin: 0;
}

@media only screen and (max-width: 900px) {
  .section-contact p,
  .section-contact li {
    font-size: 1.8rem;
    text-align: center;
  }
}

.section-contact-form label {
  display: none;
}

.section-contact-form .row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.section-contact-form p {
  font-size: 3.2rem;
}

.section-contact-form svg {
  width: 100%;
  max-width: 40rem;
}

.section-contact-form a {
  display: block;
}

@media only screen and (max-width: 900px) {
  .section-contact-form p {
    font-size: 1.8rem;
    text-align: center;
  }
}

.edd-page {
  background: #00C993;
}

.edd-page #main {
  padding: 4rem;
}

.edd-page .page {
  background: #fff;
  margin: auto;
  max-width: 64rem;
  padding: 4rem;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tbGF1cHJldC9TaXRlcy9ldGNoLXZhZ3JhbnQvd29yZHByZXNzL3dwLWNvbnRlbnQvdGhlbWVzL2V0Y2gvc3JjL3N0eWxlL3N0eWxlLnNjc3MiLCIvVXNlcnMvbWxhdXByZXQvU2l0ZXMvZXRjaC12YWdyYW50L3dvcmRwcmVzcy93cC1jb250ZW50L3RoZW1lcy9ldGNoL25vZGVfbW9kdWxlcy9ub3JtYWxpemUtc2Nzcy9zYXNzL19ub3JtYWxpemUuc2NzcyIsIi9Vc2Vycy9tbGF1cHJldC9TaXRlcy9ldGNoLXZhZ3JhbnQvd29yZHByZXNzL3dwLWNvbnRlbnQvdGhlbWVzL2V0Y2gvbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi9Vc2Vycy9tbGF1cHJldC9TaXRlcy9ldGNoLXZhZ3JhbnQvd29yZHByZXNzL3dwLWNvbnRlbnQvdGhlbWVzL2V0Y2gvbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi9Vc2Vycy9tbGF1cHJldC9TaXRlcy9ldGNoLXZhZ3JhbnQvd29yZHByZXNzL3dwLWNvbnRlbnQvdGhlbWVzL2V0Y2gvbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi9Vc2Vycy9tbGF1cHJldC9TaXRlcy9ldGNoLXZhZ3JhbnQvd29yZHByZXNzL3dwLWNvbnRlbnQvdGhlbWVzL2V0Y2gvc3JjL3N0eWxlL3NldHVwL19mb250cy5zY3NzIiwiL1VzZXJzL21sYXVwcmV0L1NpdGVzL2V0Y2gtdmFncmFudC93b3JkcHJlc3Mvd3AtY29udGVudC90aGVtZXMvZXRjaC9zcmMvc3R5bGUvc2V0dXAvX21peGlucy5zY3NzIiwiL1VzZXJzL21sYXVwcmV0L1NpdGVzL2V0Y2gtdmFncmFudC93b3JkcHJlc3Mvd3AtY29udGVudC90aGVtZXMvZXRjaC9zcmMvc3R5bGUvc2V0dXAvX3ZhcmlhYmxlcy5zY3NzIiwiL1VzZXJzL21sYXVwcmV0L1NpdGVzL2V0Y2gtdmFncmFudC93b3JkcHJlc3Mvd3AtY29udGVudC90aGVtZXMvZXRjaC9zcmMvc3R5bGUvc2V0dXAvX2dsb2JhbC5zY3NzIiwiL1VzZXJzL21sYXVwcmV0L1NpdGVzL2V0Y2gtdmFncmFudC93b3JkcHJlc3Mvd3AtY29udGVudC90aGVtZXMvZXRjaC9zcmMvc3R5bGUvc2V0dXAvX2Zvcm1zLnNjc3MiLCIvVXNlcnMvbWxhdXByZXQvU2l0ZXMvZXRjaC12YWdyYW50L3dvcmRwcmVzcy93cC1jb250ZW50L3RoZW1lcy9ldGNoL3NyYy9zdHlsZS9zZXR1cC9fY2FyZC5zY3NzIiwiL1VzZXJzL21sYXVwcmV0L1NpdGVzL2V0Y2gtdmFncmFudC93b3JkcHJlc3Mvd3AtY29udGVudC90aGVtZXMvZXRjaC9zcmMvc3R5bGUvc2V0dXAvX3NlY3Rpb25zLnNjc3MiLCIvVXNlcnMvbWxhdXByZXQvU2l0ZXMvZXRjaC12YWdyYW50L3dvcmRwcmVzcy93cC1jb250ZW50L3RoZW1lcy9ldGNoL3NyYy9zdHlsZS9tb2R1bGVzL19oZWFkZXIuc2NzcyIsIi9Vc2Vycy9tbGF1cHJldC9TaXRlcy9ldGNoLXZhZ3JhbnQvd29yZHByZXNzL3dwLWNvbnRlbnQvdGhlbWVzL2V0Y2gvc3JjL3N0eWxlL21vZHVsZXMvX2hlcm8uc2NzcyIsIi9Vc2Vycy9tbGF1cHJldC9TaXRlcy9ldGNoLXZhZ3JhbnQvd29yZHByZXNzL3dwLWNvbnRlbnQvdGhlbWVzL2V0Y2gvc3JjL3N0eWxlL21vZHVsZXMvX3doby1hcmUtd2Uuc2NzcyIsIi9Vc2Vycy9tbGF1cHJldC9TaXRlcy9ldGNoLXZhZ3JhbnQvd29yZHByZXNzL3dwLWNvbnRlbnQvdGhlbWVzL2V0Y2gvc3JjL3N0eWxlL21vZHVsZXMvX2NyZWF0aXZlLXN0b3J5LnNjc3MiLCIvVXNlcnMvbWxhdXByZXQvU2l0ZXMvZXRjaC12YWdyYW50L3dvcmRwcmVzcy93cC1jb250ZW50L3RoZW1lcy9ldGNoL3NyYy9zdHlsZS9tb2R1bGVzL19vZmZlcmluZ3Muc2NzcyIsIi9Vc2Vycy9tbGF1cHJldC9TaXRlcy9ldGNoLXZhZ3JhbnQvd29yZHByZXNzL3dwLWNvbnRlbnQvdGhlbWVzL2V0Y2gvc3JjL3N0eWxlL21vZHVsZXMvX2Nhc2Utc3R1ZGllcy5zY3NzIiwiL1VzZXJzL21sYXVwcmV0L1NpdGVzL2V0Y2gtdmFncmFudC93b3JkcHJlc3Mvd3AtY29udGVudC90aGVtZXMvZXRjaC9zcmMvc3R5bGUvbW9kdWxlcy9fdGVhbS5zY3NzIiwiL1VzZXJzL21sYXVwcmV0L1NpdGVzL2V0Y2gtdmFncmFudC93b3JkcHJlc3Mvd3AtY29udGVudC90aGVtZXMvZXRjaC9zcmMvc3R5bGUvbW9kdWxlcy9fYmVsaWVmcy5zY3NzIiwiL1VzZXJzL21sYXVwcmV0L1NpdGVzL2V0Y2gtdmFncmFudC93b3JkcHJlc3Mvd3AtY29udGVudC90aGVtZXMvZXRjaC9zcmMvc3R5bGUvbW9kdWxlcy9fbnVtYmVycy5zY3NzIiwiL1VzZXJzL21sYXVwcmV0L1NpdGVzL2V0Y2gtdmFncmFudC93b3JkcHJlc3Mvd3AtY29udGVudC90aGVtZXMvZXRjaC9zcmMvc3R5bGUvbW9kdWxlcy9fYm9vay5zY3NzIiwiL1VzZXJzL21sYXVwcmV0L1NpdGVzL2V0Y2gtdmFncmFudC93b3JkcHJlc3Mvd3AtY29udGVudC90aGVtZXMvZXRjaC9zcmMvc3R5bGUvbW9kdWxlcy9fY29udGFjdC5zY3NzIiwiL1VzZXJzL21sYXVwcmV0L1NpdGVzL2V0Y2gtdmFncmFudC93b3JkcHJlc3Mvd3AtY29udGVudC90aGVtZXMvZXRjaC9zcmMvc3R5bGUvbW9kdWxlcy9fZWRkLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIm5vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplXCI7XG5cbkBpbXBvcnQgXCJzZXR1cC9mb250c1wiO1xuQGltcG9ydCBcInNldHVwL21peGluc1wiO1xuQGltcG9ydCBcInNldHVwL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcInNldHVwL2dsb2JhbFwiO1xuQGltcG9ydCBcInNldHVwL2Zvcm1zXCI7XG5AaW1wb3J0IFwic2V0dXAvY2FyZFwiO1xuQGltcG9ydCBcInNldHVwL3NlY3Rpb25zXCI7XG5cblxuQGltcG9ydCBcIm1vZHVsZXMvaGVhZGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9oZXJvXCI7XG5AaW1wb3J0IFwibW9kdWxlcy93aG8tYXJlLXdlXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jcmVhdGl2ZS1zdG9yeVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvb2ZmZXJpbmdzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jYXNlLXN0dWRpZXNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3RlYW1cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2JlbGllZnNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL251bWJlcnNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Jvb2tcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2NvbnRhY3RcIjtcblxuQGltcG9ydCBcIm1vZHVsZXMvZWRkXCI7IiwiQGltcG9ydCAnbm9ybWFsaXplL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdub3JtYWxpemUvdmVydGljYWwtcmh5dGhtJztcbkBpbXBvcnQgJ25vcm1hbGl6ZS9ub3JtYWxpemUtbWl4aW4nO1xuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBAaWYgJGJhc2UtZm9udC1mYW1pbHkge1xuICAgICAgICAvKiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuICovXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgIH1cbiAgICAgIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweCBvciAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICB9XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6IGlmKCRiYXNlLWZvbnQtZmFtaWx5LCAkYmFzZS1mb250LWZhbWlseSwgc2Fucy1zZXJpZik7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdTaGFycCBTYW5zIE5vMSc7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL1NoYXJwU2Fuc05vMS1Cb2xkLmVvdCcpO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9TaGFycFNhbnNObzEtQm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgdXJsKCcuLy4uL2ZvbnRzL1NoYXJwU2Fuc05vMS1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgdXJsKCcuLy4uL2ZvbnRzL1NoYXJwU2Fuc05vMS1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgIHVybCgnLi8uLi9mb250cy9TaGFycFNhbnNObzEtQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1NoYXJwIFNhbnMgTm8xJztcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvU2hhcnBTYW5zTm8xLU1lZGl1bS5lb3QnKTtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvU2hhcnBTYW5zTm8xLU1lZGl1bS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgdXJsKCcuLy4uL2ZvbnRzL1NoYXJwU2Fuc05vMS1NZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICB1cmwoJy4vLi4vZm9udHMvU2hhcnBTYW5zTm8xLU1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICB1cmwoJy4vLi4vZm9udHMvU2hhcnBTYW5zTm8xLU1lZGl1bS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheSc7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL1BsYXlmYWlyRGlzcGxheS1SZWd1bGFyLmVvdCcpO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9QbGF5ZmFpckRpc3BsYXktUmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgdXJsKCcuLy4uL2ZvbnRzL1BsYXlmYWlyRGlzcGxheS1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgdXJsKCcuLy4uL2ZvbnRzL1BsYXlmYWlyRGlzcGxheS1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgIHVybCgnLi8uLi9mb250cy9QbGF5ZmFpckRpc3BsYXktUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUHJveGltYSBOb3ZhIEx0JztcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvUHJveGltYU5vdmEtU2VtaWJvbGQuZW90Jyk7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL1Byb3hpbWFOb3ZhLVNlbWlib2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICB1cmwoJy4vLi4vZm9udHMvUHJveGltYU5vdmEtU2VtaWJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICB1cmwoJy4vLi4vZm9udHMvUHJveGltYU5vdmEtU2VtaWJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgdXJsKCcuLy4uL2ZvbnRzL1Byb3hpbWFOb3ZhLVNlbWlib2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cbkBtaXhpbiBzaGFycCB7XG4gIGZvbnQtZmFtaWx5OiAnU2hhcnAgU2FucyBObzEnLCBzYW5zLXNlcmlmO1xufVxuQG1peGluIHBsYXlmYWlyIHtcbiAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbkBtaXhpbiBwcm94aW1hIHtcbiAgZm9udC1mYW1pbHk6ICdQcm94aW1hIE5vdmEgTHQnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuIiwiLy8gcmVtIGZhbGxiYWNrIC0gY3JlZGl0czogaHR0cDovL3plcm9zaXh0aHJlZS5zZS9cbkBmdW5jdGlvbiBjYWxjdWxhdGVSZW0oJHNpemUpIHtcbiAgJHJlbVNpemU6ICRzaXplIC8gMTBweDtcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XG59XG5cbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcbiAgZm9udC1zaXplOiAkc2l6ZTtcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xufVxuXG4vLyBhbnRpYWxpYXNpbmcgbW9kZSBmb250IHJlbmRlcmluZ1xuXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbkBtaXhpbiB0cmFuc2Zvcm0oJHZhbCkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHZhbDtcbiAgLW1vei10cmFuc2Zvcm06ICR2YWw7XG4gIC1tcy10cmFuc2Zvcm06ICR2YWw7XG4gIC1vLXRyYW5zZm9ybTogJHZhbDtcbiAgdHJhbnNmb3JtOiAkdmFsO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbigkYXJncy4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICRhcmdzO1xuICAtbW96LXRyYW5zaXRpb246ICRhcmdzO1xuICAtbXMtdHJhbnNpdGlvbjogJGFyZ3M7XG4gIC1vLXRyYW5zaXRpb246ICRhcmdzO1xuICB0cmFuc2l0aW9uOiAkYXJncztcbn1cblxuQG1peGluIHJvdGF0ZSggJHZhbDogLTJkZWcgKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJHZhbCk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoJHZhbCk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkdmFsKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoJHZhbCk7XG59XG5cbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5AbWl4aW4gaW5saW5lLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5AbWl4aW4gdGV4dC1vdmVyZmxvdyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWl4aW4gYWxwaGEtYmFja2dyb3VuZC1jb2xvcigkY29sb3IsICRiYWNrZ3JvdW5kKSB7XG4gICRwZXJjZW50OiBhbHBoYSgkY29sb3IpICogMTAwJTtcbiAgJG9wYXF1ZTogb3BhY2lmeSgkY29sb3IsIDEpO1xuICAkc29saWQtY29sb3I6IG1peCgkb3BhcXVlLCAkYmFja2dyb3VuZCwgJHBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzb2xpZC1jb2xvcjtcbn1cblxuXG4vLyBTbWFsbCBkZXZpY2VzXG5AbWl4aW4gc20ge1xuICBAbWVkaWEgKG1heC13aWR0aDogI3skc2NyZWVuLXNtLW1pbiAtIDF9KSB7XG4gICAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpdW0gZGV2aWNlc1xuQG1peGluIG1kIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHNjcmVlbi1tZC1taW4gLSAxfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTGFyZ2UgZGV2aWNlc1xuQG1peGluIGxnIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JHNjcmVlbi1sZy1taW4gLSAxfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBsZy1taW4ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogI3skc2NyZWVuLWxnLW1pbn0pIHtcbiAgICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV4dHJhIGxhcmdlIGRldmljZXNcbkBtaXhpbiB4bCB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRzY3JlZW4teGwtbWluIC0gMX0pIHtcbiAgICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4geGwtbWluIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHNjcmVlbi14bC1taW59KSB7XG4gICAgICBAY29udGVudDtcbiAgfVxufSIsIi8vICRjb2xvci0xOiAjNkVDQjk4O1xuLy8gJGNvbG9yLTI6ICM2RUNCOTg7XG4vLyAkY29sb3ItMzogIzZFQ0I5ODtcbi8vICRjb2xvci00OiAjNkVDQjk4O1xuXG4kYmxhY2s6ICMzMzMzMzM7XG4kcHJpbWFyeS1jb2xvcjogIzAwQzk5MztcbiRzZWNvbmRhcnktY29sb3I6ICMwMjVCNDI7XG4kdGV4dC1jb2xvcjogJGJsYWNrO1xuJGNvbnRyYXN0LWNvbG9yOiAjZmZmO1xuXG4kdHJhbnNpdGlvbjogMC4zNzVzIGVhc2UtaW4tb3V0O1xuXG5cbi8vIFNtYWxsIHRhYmxldHMgYW5kIGxhcmdlIHNtYXJ0cGhvbmVzIChsYW5kc2NhcGUgdmlldylcbiRzY3JlZW4tc20tbWluOiA1NzZweDtcblxuLy8gU21hbGwgdGFibGV0cyAocG9ydHJhaXQgdmlldylcbiRzY3JlZW4tbWQtbWluOiA3NjhweDtcblxuLy8gVGFibGV0cyBhbmQgc21hbGwgZGVza3RvcHNcbiRzY3JlZW4tbGctbWluOiA5OTJweDtcblxuLy8gTGFyZ2UgdGFibGV0cyBhbmQgZGVza3RvcHNcbiRzY3JlZW4teGwtbWluOiAxMjAwcHg7IiwiaHRtbCxcbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogMTAwJTtcbn1cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgQGluY2x1ZGUgc2hhcnA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAjRjlGOUY5O1xufVxuXG5ib2R5IHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICYuc2hvdy1tZW51IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgLy8gJjpmaXJzdC1jaGlsZCB7XG4gIC8vICAgbWFyZ2luLXRvcDogMDtcbiAgLy8gfVxuICBAaW5jbHVkZSBzaGFycDtcbn1cblxuYSB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwgMTAlKTtcbiAgfVxufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogNC4ycmVtO1xufVxuaDIge1xuICBmb250LXNpemU6IDMuNnJlbTtcbn1cbmgzIHtcbiAgZm9udC1zaXplOiAzLjJyZW07XG59XG5oNCB7XG4gIGZvbnQtc2l6ZTogMi44cmVtO1xufVxuaDUge1xuICBmb250LXNpemU6IDIuMXJlbTtcbn1cbmg2IHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG59XG5cbnAge1xuICBtYXJnaW46IDAgMCAycmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAgMCAxLjVyZW07XG4gIH1cbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGhlaWdodDogMDtcbiAgfVxufVxuXG4uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMjByZW07XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogNHJlbSA4cmVtO1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgfVxufVxuLmNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4ubm9iciB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5saSB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gIH1cbn1cblxuLmZwLXRhYmxlQ2VsbCB7XG4gIGhlaWdodDogYXV0byFpbXBvcnRhbnQ7XG59IiwiYS5idG4sXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogMC43NXJlbSAycmVtO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDI1QjQyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBsaW5lYXIsIGNvbG9yIDAuM3MgbGluZWFyO1xuICBib3JkZXI6IG5vbmU7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwgMjAlKTtcbiAgfVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIElucHV0c1xuLmlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTBweCAwO1xuICAvLyBjb2xvcjogJGRhcmstZ3JlZW47XG5cbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgLmVycm9yLW1zZyB7XG4gICAgLy8gc2s6IEknbSBndWVzc2luZyBkZXNpZ25lcnMgd2lsbCB1c3VhbGx5IHdhbnQgdGhpcyA7KVxuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIC8vIGNvbG9yOiAkZXJyb3ItcmVkO1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgfVxuXG4gICYuaGFzLWVycm9yIHtcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIHRleHRhcmVhIHtcbiAgICAgIC8vIGJvcmRlci1jb2xvcjogJGVycm9yLXJlZDtcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAvLyBib3JkZXItY29sb3I6ICRlcnJvci1yZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVycm9yLW1zZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtd2FybmluZyB7XG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICAvLyBib3JkZXItY29sb3I6ICR3YXJuaW5nLXllbGxvdztcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAvLyBib3JkZXItY29sb3I6ICR3YXJuaW5nLXllbGxvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmhhcy1zdWNjZXNzIHtcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCB0ZXh0YXJlYSB7XG4gICAgICAvLyBib3JkZXItY29sb3I6ICRzdWNjZXNzLWdyZWVuO1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIC8vIGJvcmRlci1jb2xvcjogJHN1Y2Nlc3MtZ3JlZW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc2s6IHNob3VsZCB0aGVzZSBiZSB0aGUgc2FtZSBvciBicm9rZW4gb3V0P1xuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBsaW5lYXI7XG4gICAgLy8gYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBib3JkZXItY29sb3I6ICRnb2xkO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9nO1xuICAgICAgLy8gYm9yZGVyOiAuMnJlbSBzb2xpZCAkZ3JleTtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgY29sb3I6ICNjMGMwYzA7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWJ1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IDZyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgLy8gYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59IiwiLmNhcmQge1xuICBwYWRkaW5nOiA0cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBzdmcge1xuICAgICAgbWF4LWhlaWdodDogMTByZW07XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cbiAgcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG59XG4iLCIjZnVsbHBhZ2Uge1xuICBtYXJnaW4tbGVmdDogMjByZW07XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuLnNlY3Rpb24ge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgaDIge1xuICAgIEBpbmNsdWRlIHNoYXJwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTVjaDtcbiAgfVxufVxuLmFuaW1hdGUge1xuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgJi5hbmltYXRlLXNjYWxlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgfVxuICAmLmFuaW1hdGUtb3BhY2l0eSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuICAmLmFuaW1hdGUtc2xpZGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XG4gICAgJi5hbmltYXRlLWRlbGF5LSN7JGl9IHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICN7MC4wNSAqICRpfXM7ICAgICAgICAgICBcbiAgICB9XG4gIH1cblxuICAuZnAtY29tcGxldGVseSAmIHtcbiAgICAmLmFuaW1hdGUtc2NhbGUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgJi5hbmltYXRlLW9wYWNpdHkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgJi5hbmltYXRlLXNsaWRlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gIH1cbn1cblxuIiwiLmxvZ28ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogM3JlbTtcbiAgcmlnaHQ6IDNyZW07XG4gIHotaW5kZXg6IDEwO1xuICBzdmcge1xuICAgIHdpZHRoOiA1cmVtO1xuICB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICB0b3A6IDEuNXJlbTtcbiAgICByaWdodDogMnJlbTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogNHJlbTtcbiAgICB9XG4gIH1cbn1cbiNoZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDIwcmVtO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB6LWluZGV4OiAxMDE7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDJyZW0gMDtcbiAgbmF2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gIH1cbiAgLnNpdGUtbG9nbyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIHVzZS5oZWFkZXItbG9nbyB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG4gIGgyIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDcuMnJlbTtcbiAgICB3aWR0aDogMjByZW07XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBsaW5lYXIgb3BhY2l0eTtcbiAgICAuc2hvdy1tZW51ICYge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgJi50cmFuc2l0aW9uIC5wYWdlLXRpdGxlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgICYudXAgLnBhZ2UtdGl0bGUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA4cmVtLCAwKSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gICAgJi5kb3duIC5wYWdlLXRpdGxlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLThyZW0sIDApIHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbiAgICAmLm5vLXRyYW5zaXRpb24gLnBhZ2UtdGl0bGUge1xuICAgICAgdHJhbnNpdGlvbjogMHMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIHRyYW5zaXRpb246IDAuMzVzIGVhc2UtaW4tb3V0IG9wYWNpdHksIDAuMzVzIGVhc2Utb3V0IHRyYW5zZm9ybTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDVjaDtcbiAgICAgIC1tcy1mbGV4LXBhY2s6IHVuc2V0O1xuICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAtMXJlbTtcbiAgICAgIHNwYW4ge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzZWN0aW9uLXVwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGxpbmVhciBvcGFjaXR5O1xuICAgIC5zaG93LW1lbnUgJiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgIGhlaWdodDogMy4ycmVtO1xuICAgIH1cbiAgfVxuXG4gICNtZW51LXRyaWdnZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgIGhlaWdodDogMy4ycmVtO1xuICAgIH1cbiAgICAuYmFyOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICAgIC5iYXI6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogMjhweCA2cHg7XG4gICAgfVxuICAgIC5iYXI6bnRoLW9mLXR5cGUoMykge1xuICAgICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogMjhweCAxNHB4O1xuICAgIH1cbiAgICAuc2hvdy1tZW51ICYge1xuICAgICAgLmJhcjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB9XG4gICAgICAuYmFyOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICAgIC5iYXI6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAvLyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDdyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAjbWVudS10cmlnZ2VyIHtcbiAgICAgIHBhZGRpbmc6IDEuM3JlbSAycmVtIDFyZW07ICAgICAgXG4gICAgfVxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICYudHJhbnNpdGlvbiAucGFnZS10aXRsZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgICAmLnVwIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgICAgJi5kb3duIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgICAgJi5uby10cmFuc2l0aW9uIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMHMgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG4gICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjM1cyBlYXNlLWluLW91dCBvcGFjaXR5O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBtYXJnaW46IDAgOHJlbSAwIDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI3NlY3Rpb24tdXAge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuI21lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIHBhZGRpbmc6IDJyZW07XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dCBvcGFjaXR5O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAuc2hvdy1tZW51ICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogdmlzaWJsZTtcbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XG4gICAgICAgICAgJjpudGgtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICN7MC4wNSAqICRpfXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMCAwIDIwcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogcmdiYSgjZjlmOWY5LCAwLjcpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC1zaXplOiA3LjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgbGluZWFyIGNvbG9yO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDI1YjQyO1xuICAgICAgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBmb250LXNpemU6IDMuNnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFjdGl2ZSB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICMwMjViNDI7XG4gICAgICB9XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnJlbTtcbiAgICBsZWZ0OiAwcmVtO1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogNXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zZWN0aW9uLWludHJvIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi8uLi8uLi9pbWFnZXMvaGVyby1iZy5wbmdcIikgMCAxMDAlIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gIGgxIHtcbiAgICBjb2xvcjogIzAwQzk5MztcbiAgICBmb250LXNpemU6IDcuMnJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDVjaDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW46IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDQuOHJlbTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG4gIH0gIFxufVxuIiwiLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogNHJlbSAtNHJlbTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAuY29sIHtcbiAgICBwYWRkaW5nOiAwIDRyZW07XG4gICAgZmxleDogMTtcbiAgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDJyZW0gLTJyZW07XG4gICAgLmNvbCB7XG4gICAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgfVxufVxuXG4iLCJcbi5zZWN0aW9uLWNyZWF0aXZlLXN0b3J5IHtcbiAgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICBmbGV4OiAxO1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICB9XG4gIC5pbWFnZSB7XG4gICAgd2lkdGg6IDI3MnB4O1xuICAgIGZsZXgtYmFzaXM6IDI3MnB4O1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMjcycHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAuaW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn0iLCIuc2VjdGlvbi1vZmZlcmluZ3Mge1xuICAucm93IHtcbiAgICBtYXJnaW46IDRyZW0gLTJyZW07XG4gICAgLmNvbCB7XG4gICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgfVxuICB9XG4gIC5jYXJkIHtcbiAgICBwYWRkaW5nOiAycmVtIDFyZW07XG4gICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDVyZW07XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLnNlY3Rpb24tY2FzZS1zdHVkaWVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMzAlO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC5pbWFnZSBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gIH1cbiAgLmZwLXNsaWRlcyB7XG4gICAgbWFyZ2luOiAwIC0xcmVtO1xuICB9XG4gIC5jcy5zbGlkZSB7XG4gICAgcGFkZGluZzogMCAxcmVtOyAgIFxuICB9XG4gIC5zbWFsbGVyIHtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB9XG4gICAgc3Ryb25nIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjE1Y2g7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuY29sOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ucGFnaW5hdGlvbi1uZXh0LFxuLm5leHQtc2xpZGUge1xuICBjb2xvcjogJGJsYWNrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE1Y2g7XG59XG5cbi5wYWdpbmF0aW9uLWRvdHMge1xuICBtYXJnaW46IDFyZW0gLTFyZW0gMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAuZG90IHtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIG1hcmdpbjogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGxpbmVhciBiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjY2JjYmNiO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkNWQ1ZDU7XG4gICAgfVxuICB9XG59XG4iLCIuc2VjdGlvbi10ZWFtIHtcbiAgLmF2YXRhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDE4cmVtO1xuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgICAgXG4gIH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5hdmF0YXIge1xuICAgICAgd2lkdGg6IDZyZW07XG4gICAgICBoZWlnaHQ6IDZyZW07XG4gICAgICBtaW4td2lkdGg6IDZyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gICAgLmNvbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuICB9ICBcbn0iLCIuc2VjdGlvbi1iZWxpZWZzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaDEge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBmb250LXNpemU6IDYuNHJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDVjaDtcbiAgICAvLyBsZXR0ZXItc3BhY2luZzogMC4ycmVtO1xuICAgIG1heC13aWR0aDogNzByZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICB9XG4gIHAge1xuICAgIG1heC13aWR0aDogNzByZW07XG4gIH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMy42cmVtO1xuICAgIH1cbiAgfVxuXG59XG5cblxuXG5cbiIsIi5zZWN0aW9uLW51bWJlcnMge1xuICAucm93IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAtMnJlbTtcbiAgICAuY29sIHtcbiAgICAgIHdpZHRoOiAzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMwcmVtO1xuICAgICAgZmxleDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxOHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnN0cm9uZ2VyIHtcbiAgICBjb2xvcjogIzAwQzk5MztcbiAgfVxuICAuZGF0YS1pbWFnZSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHN2ZyB7XG4gICAgICBtYXgtd2lkdGg6IDhyZW07XG4gICAgICBoZWlnaHQ6IDhyZW07XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDRyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy4ycmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogLTJyZW07XG4gICAgICBjb2xvcjogIzAwQzk5MztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmNhcmQge1xuICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgIH1cbiAgICAucm93IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAuY29sIHtcbiAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgfVxuICAgIH1cbiAgICAuZGF0YS1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5zZWN0aW9uLWJvb2sge1xuICAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLmJvb2staW1nIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHJlbTtcbiAgICAgIG1heC13aWR0aDogMzUlO1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDE4cmVtO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgICBkaXYge1xuICAgICAgZmxleDogMTtcbiAgICAgIC5idXktYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmgyIHtcbiAgICAgICAgQGluY2x1ZGUgc2hhcnA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4ycmVtO1xuICAgICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZWRkLWFkZC10by1jYXJ0LCAuYWRkLXRvLWNhcnQsIHtcbiAgICAgICAgQGluY2x1ZGUgc2hhcnA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4ycmVtO1xuICAgICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7XG4gICAgICB9XG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgZGl2IHtcbiAgICAgICAgLmJ1eS1idXR0b25zIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC5ib29rLWltZyB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cbiAgICAgIGRpdiB7XG4gICAgICAgIC5idXktYnV0dG9ucyB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICAgICAgLmgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNlY3Rpb24tY29udGFjdCB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4vLi4vLi4vaW1hZ2VzL2hlcm8tYmcucG5nXCIpIDAgMTAwJSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgLnJvdyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcbiAgfVxuICBwIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfVxuICBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDByZW07XG4gIH1cbiAgYSB7XG4gICAgLy8gZGlzcGxheTogYmxvY2s7XG4gICAgLy8gfVxuICAgIC8vIGEge1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgcCxcbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLnNlY3Rpb24tY29udGFjdC1mb3JtIHtcbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnJvdyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBwIHtcbiAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgfVxuICBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDByZW07XG4gIH1cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG4iLCIuZWRkLXBhZ2Uge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgI21haW4ge1xuICAgIHBhZGRpbmc6IDRyZW07XG4gIH1cbiAgLnBhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1heC13aWR0aDogNjRyZW07XG4gICAgcGFkZGluZzogNHJlbTtcbiAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUtBQSxVQUFVO0VBQ1IsV0FBVyxFQUFFLGdCQUFnQjtFQUM3QixHQUFHLEVBQUUsdUNBQXVDO0VBQzVDLEdBQUcsRUFBRSw4Q0FBOEMsQ0FBQywyQkFBMkIsRUFDM0UseUNBQXlDLENBQUMsZUFBZSxFQUN6RCx3Q0FBd0MsQ0FBQyxjQUFjLEVBQ3ZELHVDQUF1QyxDQUFDLGtCQUFrQjtFQUM5RCxXQUFXLEVBQUUsSUFBSTtFQUNqQixVQUFVLEVBQUUsTUFBTTs7QUFHcEIsVUFBVTtFQUNSLFdBQVcsRUFBRSxnQkFBZ0I7RUFDN0IsR0FBRyxFQUFFLHlDQUF5QztFQUM5QyxHQUFHLEVBQUUsZ0RBQWdELENBQUMsMkJBQTJCLEVBQzdFLDJDQUEyQyxDQUFDLGVBQWUsRUFDM0QsMENBQTBDLENBQUMsY0FBYyxFQUN6RCx5Q0FBeUMsQ0FBQyxrQkFBa0I7RUFDaEUsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFQUFFLE1BQU07O0FBR3BCLFVBQVU7RUFDUixXQUFXLEVBQUUsa0JBQWtCO0VBQy9CLEdBQUcsRUFBRSw2Q0FBNkM7RUFDbEQsR0FBRyxFQUFFLG9EQUFvRCxDQUFDLDJCQUEyQixFQUNqRiwrQ0FBK0MsQ0FBQyxlQUFlLEVBQy9ELDhDQUE4QyxDQUFDLGNBQWMsRUFDN0QsNkNBQTZDLENBQUMsa0JBQWtCO0VBQ3BFLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFVBQVUsRUFBRSxNQUFNOztBQUdw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 *//*!
 * fullPage 2.9.5
 * https://github.com/alvarotrigo/fullPage.js
 * MIT licensed
 *
 * Copyright (C) 2013 alvarotrigo.com - A project by Alvaro Trigo
 */

html.fp-enabled,
.fp-enabled body {
  margin: 0;
  padding: 0;
  overflow: hidden;
  /*Avoid flicker on slides transitions for mobile phones #336 */
  -webkit-tap-highlight-color: transparent;
}

.fp-section {
  position: relative;
  -webkit-box-sizing: border-box;
  /* Safari<=5 Android<=3 */
  -moz-box-sizing: border-box;
  /* <=28 */
  box-sizing: border-box;
}

.fp-slide {
  float: left;
}

.fp-slide,
.fp-slidesContainer {
  height: 100%;
  display: block;
}

.fp-slides {
  z-index: 1;
  height: 100%;
  overflow: hidden;
  position: relative;
  -webkit-transition: all 0.3s ease-out;
  /* Safari<=6 Android<=4.3 */
  transition: all 0.3s ease-out;
}

.fp-section.fp-table,
.fp-slide.fp-table {
  display: table;
  table-layout: fixed;
  width: 100%;
}

.fp-tableCell {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  height: 100%;
}

.fp-slidesContainer {
  float: left;
  position: relative;
}

.fp-controlArrow {
  -webkit-user-select: none;
  /* webkit (safari, chrome) browsers */
  -moz-user-select: none;
  /* mozilla browsers */
  -khtml-user-select: none;
  /* webkit (konqueror) browsers */
  -ms-user-select: none;
  /* IE10+ */
  position: absolute;
  z-index: 4;
  top: 50%;
  cursor: pointer;
  width: 0;
  height: 0;
  border-style: solid;
  margin-top: -38px;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.fp-controlArrow.fp-prev {
  left: 15px;
  width: 0;
  border-width: 38.5px 34px 38.5px 0;
  border-color: transparent #fff transparent transparent;
}

.fp-controlArrow.fp-next {
  right: 15px;
  border-width: 38.5px 0 38.5px 34px;
  border-color: transparent transparent transparent #fff;
}

.fp-scrollable {
  overflow: hidden;
  position: relative;
}

.fp-scroller {
  overflow: hidden;
}

.iScrollIndicator {
  border: 0 !important;
}

.fp-notransition {
  -webkit-transition: none !important;
  transition: none !important;
}

#fp-nav {
  position: fixed;
  z-index: 100;
  margin-top: -32px;
  top: 50%;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
}

#fp-nav.right {
  right: 17px;
}

#fp-nav.left {
  left: 17px;
}

.fp-slidesNav {
  position: absolute;
  z-index: 4;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  left: 0 !important;
  right: 0;
  margin: 0 auto !important;
}

.fp-slidesNav.bottom {
  bottom: 17px;
}

.fp-slidesNav.top {
  top: 17px;
}

#fp-nav ul,
.fp-slidesNav ul {
  margin: 0;
  padding: 0;
}

#fp-nav ul li,
.fp-slidesNav ul li {
  display: block;
  width: 14px;
  height: 13px;
  margin: 7px;
  position: relative;
}

.fp-slidesNav ul li {
  display: inline-block;
}

#fp-nav ul li a,
.fp-slidesNav ul li a {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
}

#fp-nav ul li a.active span,
.fp-slidesNav ul li a.active span,
#fp-nav ul li:hover a.active span,
.fp-slidesNav ul li:hover a.active span {
  height: 12px;
  width: 12px;
  margin: -6px 0 0 -6px;
  border-radius: 100%;
}

#fp-nav ul li a span,
.fp-slidesNav ul li a span {
  border-radius: 50%;
  position: absolute;
  z-index: 1;
  height: 4px;
  width: 4px;
  border: 0;
  background: #333;
  left: 50%;
  top: 50%;
  margin: -2px 0 0 -2px;
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}

#fp-nav ul li:hover a span,
.fp-slidesNav ul li:hover a span {
  width: 10px;
  height: 10px;
  margin: -5px 0px 0px -5px;
}

#fp-nav ul li .fp-tooltip {
  position: absolute;
  top: -2px;
  color: #fff;
  font-size: 14px;
  font-family: arial, helvetica, sans-serif;
  white-space: nowrap;
  max-width: 220px;
  overflow: hidden;
  display: block;
  opacity: 0;
  width: 0;
  cursor: pointer;
}

#fp-nav ul li:hover .fp-tooltip,
#fp-nav.fp-show-active a.active + .fp-tooltip {
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
  width: auto;
  opacity: 1;
}

#fp-nav ul li .fp-tooltip.right {
  right: 20px;
}

#fp-nav ul li .fp-tooltip.left {
  left: 20px;
}

.fp-auto-height.fp-section,
.fp-auto-height .fp-slide,
.fp-auto-height .fp-tableCell {
  height: auto !important;
}

.fp-responsive .fp-auto-height-responsive.fp-section,
.fp-responsive .fp-auto-height-responsive .fp-slide,
.fp-responsive .fp-auto-height-responsive .fp-tableCell {
  height: auto !important;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9tbGF1cHJldC9TaXRlcy9ldGNoLXZhZ3JhbnQvd29yZHByZXNzL3dwLWNvbnRlbnQvdGhlbWVzL2V0Y2gvbm9kZV9tb2R1bGVzL2Z1bGxwYWdlLmpzL2Rpc3QvanF1ZXJ5LmZ1bGxQYWdlLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcclxuICogZnVsbFBhZ2UgMi45LjVcclxuICogaHR0cHM6Ly9naXRodWIuY29tL2FsdmFyb3RyaWdvL2Z1bGxQYWdlLmpzXHJcbiAqIE1JVCBsaWNlbnNlZFxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTMgYWx2YXJvdHJpZ28uY29tIC0gQSBwcm9qZWN0IGJ5IEFsdmFybyBUcmlnb1xyXG4gKi9cclxuaHRtbC5mcC1lbmFibGVkLFxyXG4uZnAtZW5hYmxlZCBib2R5IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcblxyXG4gICAgLypBdm9pZCBmbGlja2VyIG9uIHNsaWRlcyB0cmFuc2l0aW9ucyBmb3IgbW9iaWxlIHBob25lcyAjMzM2ICovXHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XHJcbn1cclxuLmZwLXNlY3Rpb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBTYWZhcmk8PTUgQW5kcm9pZDw9MyAqL1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiA8PTI4ICovXHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbi5mcC1zbGlkZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG4uZnAtc2xpZGUsIC5mcC1zbGlkZXNDb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLmZwLXNsaWRlcyB7XHJcbiAgICB6LWluZGV4OjE7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDsgLyogU2FmYXJpPD02IEFuZHJvaWQ8PTQuMyAqL1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XHJcbn1cclxuLmZwLXNlY3Rpb24uZnAtdGFibGUsIC5mcC1zbGlkZS5mcC10YWJsZSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHRhYmxlLWxheW91dDpmaXhlZDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5mcC10YWJsZUNlbGwge1xyXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG4uZnAtc2xpZGVzQ29udGFpbmVyIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5mcC1jb250cm9sQXJyb3cge1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogd2Via2l0IChzYWZhcmksIGNocm9tZSkgYnJvd3NlcnMgKi9cclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7IC8qIG1vemlsbGEgYnJvd3NlcnMgKi9cclxuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsgLyogd2Via2l0IChrb25xdWVyb3IpIGJyb3dzZXJzICovXHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFMTArICovXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiA0O1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBtYXJnaW4tdG9wOiAtMzhweDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxufVxyXG4uZnAtY29udHJvbEFycm93LmZwLXByZXYge1xyXG4gICAgbGVmdDogMTVweDtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAzOC41cHggMzRweCAzOC41cHggMDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxufVxyXG4uZnAtY29udHJvbEFycm93LmZwLW5leHQge1xyXG4gICAgcmlnaHQ6IDE1cHg7XHJcbiAgICBib3JkZXItd2lkdGg6IDM4LjVweCAwIDM4LjVweCAzNHB4O1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmO1xyXG59XHJcbi5mcC1zY3JvbGxhYmxlIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLmZwLXNjcm9sbGVye1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4uaVNjcm9sbEluZGljYXRvcntcclxuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5mcC1ub3RyYW5zaXRpb24ge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuI2ZwLW5hdiB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICBtYXJnaW4tdG9wOiAtMzJweDtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbn1cclxuI2ZwLW5hdi5yaWdodCB7XHJcbiAgICByaWdodDogMTdweDtcclxufVxyXG4jZnAtbmF2LmxlZnQge1xyXG4gICAgbGVmdDogMTdweDtcclxufVxyXG4uZnAtc2xpZGVzTmF2e1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogNDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XHJcbn1cclxuLmZwLXNsaWRlc05hdi5ib3R0b20ge1xyXG4gICAgYm90dG9tOiAxN3B4O1xyXG59XHJcbi5mcC1zbGlkZXNOYXYudG9wIHtcclxuICAgIHRvcDogMTdweDtcclxufVxyXG4jZnAtbmF2IHVsLFxyXG4uZnAtc2xpZGVzTmF2IHVsIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG4jZnAtbmF2IHVsIGxpLFxyXG4uZnAtc2xpZGVzTmF2IHVsIGxpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbiAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICBtYXJnaW46IDdweDtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG59XHJcbi5mcC1zbGlkZXNOYXYgdWwgbGkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcbiNmcC1uYXYgdWwgbGkgYSxcclxuLmZwLXNsaWRlc05hdiB1bCBsaSBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbiNmcC1uYXYgdWwgbGkgYS5hY3RpdmUgc3BhbixcclxuLmZwLXNsaWRlc05hdiB1bCBsaSBhLmFjdGl2ZSBzcGFuLFxyXG4jZnAtbmF2IHVsIGxpOmhvdmVyIGEuYWN0aXZlIHNwYW4sXHJcbi5mcC1zbGlkZXNOYXYgdWwgbGk6aG92ZXIgYS5hY3RpdmUgc3BhbntcclxuICAgIGhlaWdodDogMTJweDtcclxuICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgbWFyZ2luOiAtNnB4IDAgMCAtNnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuIH1cclxuI2ZwLW5hdiB1bCBsaSBhIHNwYW4sXHJcbi5mcC1zbGlkZXNOYXYgdWwgbGkgYSBzcGFuIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBoZWlnaHQ6IDRweDtcclxuICAgIHdpZHRoOiA0cHg7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBtYXJnaW46IC0ycHggMCAwIC0ycHg7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcclxuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuI2ZwLW5hdiB1bCBsaTpob3ZlciBhIHNwYW4sXHJcbi5mcC1zbGlkZXNOYXYgdWwgbGk6aG92ZXIgYSBzcGFue1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW46IC01cHggMHB4IDBweCAtNXB4O1xyXG59XHJcbiNmcC1uYXYgdWwgbGkgLmZwLXRvb2x0aXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMnB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LWZhbWlseTogYXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbiNmcC1uYXYgdWwgbGk6aG92ZXIgLmZwLXRvb2x0aXAsXHJcbiNmcC1uYXYuZnAtc2hvdy1hY3RpdmUgYS5hY3RpdmUgKyAuZnAtdG9vbHRpcCB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW47XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuI2ZwLW5hdiB1bCBsaSAuZnAtdG9vbHRpcC5yaWdodCB7XHJcbiAgICByaWdodDogMjBweDtcclxufVxyXG4jZnAtbmF2IHVsIGxpIC5mcC10b29sdGlwLmxlZnQge1xyXG4gICAgbGVmdDogMjBweDtcclxufVxyXG4uZnAtYXV0by1oZWlnaHQuZnAtc2VjdGlvbixcclxuLmZwLWF1dG8taGVpZ2h0IC5mcC1zbGlkZSxcclxuLmZwLWF1dG8taGVpZ2h0IC5mcC10YWJsZUNlbGx7XHJcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZwLXJlc3BvbnNpdmUgLmZwLWF1dG8taGVpZ2h0LXJlc3BvbnNpdmUuZnAtc2VjdGlvbixcclxuLmZwLXJlc3BvbnNpdmUgLmZwLWF1dG8taGVpZ2h0LXJlc3BvbnNpdmUgLmZwLXNsaWRlLFxyXG4uZnAtcmVzcG9uc2l2ZSAuZnAtYXV0by1oZWlnaHQtcmVzcG9uc2l2ZSAuZnAtdGFibGVDZWxsIHtcclxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILEFBQUEsSUFBSSxBQUFBLFdBQVc7QUFDZixBQUFZLFdBQUQsQ0FBQyxJQUFJLENBQUM7RUFDYixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFDLE1BQU07RUFFZiwrREFBK0Q7RUFDL0QsMkJBQTJCLEVBQUUsV0FBYSxHQUM3Qzs7QUFDRCxBQUFBLFdBQVcsQ0FBQztFQUNSLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGtCQUFrQixFQUFFLFVBQVU7RUFBRywwQkFBMEI7RUFDM0QsZUFBZSxFQUFFLFVBQVU7RUFBRyxVQUFVO0VBQ3hDLFVBQVUsRUFBRSxVQUFVLEdBQ3pCOztBQUNELEFBQUEsU0FBUyxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUksR0FDZDs7QUFDRCxBQUFBLFNBQVMsRUFBRSxBQUFBLG1CQUFtQixDQUFDO0VBQzNCLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLEtBQUssR0FDakI7O0FBQ0QsQUFBQSxVQUFVLENBQUM7RUFDUCxPQUFPLEVBQUMsQ0FBQztFQUNULE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLE1BQU07RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsa0JBQWtCLEVBQUUsaUJBQWlCO0VBQUcsNEJBQTRCO0VBQ3BFLFVBQVUsRUFBRSxpQkFBaUIsR0FDaEM7O0FBQ0QsQUFBQSxXQUFXLEFBQUEsU0FBUyxFQUFFLEFBQUEsU0FBUyxBQUFBLFNBQVMsQ0FBQztFQUNyQyxPQUFPLEVBQUUsS0FBSztFQUNkLFlBQVksRUFBQyxLQUFLO0VBQ2xCLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBQ0QsQUFBQSxhQUFhLENBQUM7RUFDVixPQUFPLEVBQUUsVUFBVTtFQUNuQixjQUFjLEVBQUUsTUFBTTtFQUN0QixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBQ0QsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLFFBQVEsRUFBRSxRQUFRLEdBQ3JCOztBQUNELEFBQUEsZ0JBQWdCLENBQUM7RUFDYixtQkFBbUIsRUFBRSxJQUFJO0VBQUcsc0NBQXNDO0VBQ2xFLGdCQUFnQixFQUFFLElBQUk7RUFBRyxzQkFBc0I7RUFDL0Msa0JBQWtCLEVBQUUsSUFBSTtFQUFHLGlDQUFpQztFQUM1RCxlQUFlLEVBQUUsSUFBSTtFQUFHLFdBQVc7RUFDbkMsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixHQUFHLEVBQUUsR0FBRztFQUNSLE1BQU0sRUFBRSxPQUFPO0VBQ2YsS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUNULFlBQVksRUFBRSxLQUFLO0VBQ25CLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLGlCQUFpQixFQUFFLG9CQUFrQjtFQUNyQyxhQUFhLEVBQUUsb0JBQWtCO0VBQ2pDLFNBQVMsRUFBRSxvQkFBa0IsR0FDaEM7O0FBQ0QsQUFBQSxnQkFBZ0IsQUFBQSxRQUFRLENBQUM7RUFDckIsSUFBSSxFQUFFLElBQUk7RUFDVixLQUFLLEVBQUUsQ0FBQztFQUNSLFlBQVksRUFBRSxvQkFBb0I7RUFDbEMsWUFBWSxFQUFFLHdDQUF3QyxHQUN6RDs7QUFDRCxBQUFBLGdCQUFnQixBQUFBLFFBQVEsQ0FBQztFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLFlBQVksRUFBRSxvQkFBb0I7RUFDbEMsWUFBWSxFQUFFLHdDQUF3QyxHQUN6RDs7QUFDRCxBQUFBLGNBQWMsQ0FBQztFQUNYLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFFBQVEsRUFBRSxRQUFRLEdBQ3JCOztBQUNELEFBQUEsWUFBWSxDQUFBO0VBQ1IsUUFBUSxFQUFFLE1BQU0sR0FDbkI7O0FBQ0QsQUFBQSxpQkFBaUIsQ0FBQTtFQUNiLE1BQU0sRUFBRSxZQUFZLEdBQ3ZCOztBQUNELEFBQUEsZ0JBQWdCLENBQUM7RUFDYixrQkFBa0IsRUFBRSxlQUFlO0VBQ25DLFVBQVUsRUFBRSxlQUFlLEdBQzlCOztBQUNELEFBQUEsT0FBTyxDQUFDO0VBQ0osUUFBUSxFQUFFLEtBQUs7RUFDZixPQUFPLEVBQUUsR0FBRztFQUNaLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsT0FBTyxFQUFFLENBQUM7RUFDVixpQkFBaUIsRUFBRSxvQkFBa0IsR0FDeEM7O0FBQ0QsQUFBQSxPQUFPLEFBQUEsTUFBTSxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFDRCxBQUFBLE9BQU8sQUFBQSxLQUFLLENBQUM7RUFDVCxJQUFJLEVBQUUsSUFBSSxHQUNiOztBQUNELEFBQUEsYUFBYSxDQUFBO0VBQ1QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsQ0FBQztFQUNWLGlCQUFpQixFQUFFLG9CQUFrQjtFQUNyQyxhQUFhLEVBQUUsb0JBQWtCO0VBQ2pDLFNBQVMsRUFBRSxvQkFBa0I7RUFDN0IsSUFBSSxFQUFFLFlBQVk7RUFDbEIsS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsaUJBQWlCLEdBQzVCOztBQUNELEFBQUEsYUFBYSxBQUFBLE9BQU8sQ0FBQztFQUNqQixNQUFNLEVBQUUsSUFBSSxHQUNmOztBQUNELEFBQUEsYUFBYSxBQUFBLElBQUksQ0FBQztFQUNkLEdBQUcsRUFBRSxJQUFJLEdBQ1o7O0FBQ0QsQUFBUSxPQUFELENBQUMsRUFBRTtBQUNWLEFBQWMsYUFBRCxDQUFDLEVBQUUsQ0FBQztFQUNmLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFDRCxBQUFXLE9BQUosQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUNiLEFBQWlCLGFBQUosQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0VBQ2hCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxHQUFHO0VBQ1gsUUFBUSxFQUFDLFFBQVEsR0FDcEI7O0FBQ0QsQUFBaUIsYUFBSixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7RUFDaEIsT0FBTyxFQUFFLFlBQVksR0FDeEI7O0FBQ0QsQUFBYyxPQUFQLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2YsQUFBb0IsYUFBUCxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLE9BQU87RUFDZixlQUFlLEVBQUUsSUFBSSxHQUN4Qjs7QUFDRCxBQUF1QixPQUFoQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxBQUFBLE9BQU8sQ0FBQyxJQUFJO0FBQzNCLEFBQTZCLGFBQWhCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEFBQUEsT0FBTyxDQUFDLElBQUk7QUFDakMsQUFBNkIsT0FBdEIsQ0FBQyxFQUFFLENBQUMsRUFBRSxBQUFBLE1BQU0sQ0FBQyxDQUFDLEFBQUEsT0FBTyxDQUFDLElBQUk7QUFDakMsQUFBbUMsYUFBdEIsQ0FBQyxFQUFFLENBQUMsRUFBRSxBQUFBLE1BQU0sQ0FBQyxDQUFDLEFBQUEsT0FBTyxDQUFDLElBQUksQ0FBQTtFQUNuQyxNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLGFBQWE7RUFDckIsYUFBYSxFQUFFLElBQUksR0FDckI7O0FBQ0YsQUFBZ0IsT0FBVCxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDcEIsQUFBc0IsYUFBVCxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztFQUN2QixhQUFhLEVBQUUsR0FBRztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxHQUFHO0VBQ1gsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxJQUFJO0VBQ2hCLElBQUksRUFBRSxHQUFHO0VBQ1QsR0FBRyxFQUFFLEdBQUc7RUFDUixNQUFNLEVBQUUsYUFBYTtFQUNyQixrQkFBa0IsRUFBRSxvQkFBb0I7RUFDeEMsZUFBZSxFQUFFLG9CQUFvQjtFQUNyQyxhQUFhLEVBQUUsb0JBQW9CO0VBQ25DLFVBQVUsRUFBRSxvQkFBb0IsR0FDbkM7O0FBQ0QsQUFBc0IsT0FBZixDQUFDLEVBQUUsQ0FBQyxFQUFFLEFBQUEsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJO0FBQzFCLEFBQTRCLGFBQWYsQ0FBQyxFQUFFLENBQUMsRUFBRSxBQUFBLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0VBQzVCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsaUJBQWlCLEdBQzVCOztBQUNELEFBQWMsT0FBUCxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO0VBQ3RCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSw0QkFBNEI7RUFDekMsV0FBVyxFQUFFLE1BQU07RUFDbkIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxPQUFPLEVBQUUsQ0FBQztFQUNWLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLE9BQU8sR0FDbEI7O0FBQ0QsQUFBb0IsT0FBYixDQUFDLEVBQUUsQ0FBQyxFQUFFLEFBQUEsTUFBTSxDQUFDLFdBQVc7QUFDL0IsQUFBa0MsT0FBM0IsQUFBQSxlQUFlLENBQUMsQ0FBQyxBQUFBLE9BQU8sR0FBRyxXQUFXLENBQUM7RUFDMUMsa0JBQWtCLEVBQUUsb0JBQW9CO0VBQ3hDLFVBQVUsRUFBRSxvQkFBb0I7RUFDaEMsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsQ0FBQyxHQUNiOztBQUNELEFBQWMsT0FBUCxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxBQUFBLE1BQU0sQ0FBQztFQUM1QixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUNELEFBQWMsT0FBUCxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxBQUFBLEtBQUssQ0FBQztFQUMzQixJQUFJLEVBQUUsSUFBSSxHQUNiOztBQUNELEFBQUEsZUFBZSxBQUFBLFdBQVc7QUFDMUIsQUFBZ0IsZUFBRCxDQUFDLFNBQVM7QUFDekIsQUFBZ0IsZUFBRCxDQUFDLGFBQWEsQ0FBQTtFQUN6QixNQUFNLEVBQUUsZUFBZSxHQUMxQjs7QUFFRCxBQUFlLGNBQUQsQ0FBQywwQkFBMEIsQUFBQSxXQUFXO0FBQ3BELEFBQTBDLGNBQTVCLENBQUMsMEJBQTBCLENBQUMsU0FBUztBQUNuRCxBQUEwQyxjQUE1QixDQUFDLDBCQUEwQixDQUFDLGFBQWEsQ0FBQztFQUNwRCxNQUFNLEVBQUUsZUFBZSxHQUMxQiJ9 */