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

@keyframes shake-lr {
  0%,
  100% {
    transform: rotate(0deg);
    transform-origin: 50% 50%; }
  10% {
    transform: rotate(8deg); }
  20%,
  40%,
  60% {
    transform: rotate(-10deg); }
  30%,
  50%,
  70% {
    transform: rotate(10deg); }
  80% {
    transform: rotate(-8deg); }
  90% {
    transform: rotate(8deg); } }

@keyframes go-up {
  0% {
    transform: translateY(-5px); }
  50% {
    transform: translateY(0); }
  100% {
    transform: translateY(-5px); } }

@keyframes heartbeat {
  from {
    transform: scale(1);
    transform-origin: center center;
    animation-timing-function: ease-out; }
  10% {
    transform: scale(0.91);
    animation-timing-function: ease-in; }
  17% {
    transform: scale(0.98);
    animation-timing-function: ease-out; }
  33% {
    transform: scale(0.87);
    animation-timing-function: ease-in; }
  45% {
    transform: scale(1);
    animation-timing-function: ease-out; } }

@keyframes jello-horizontal {
  0% {
    transform: scale3d(1, 1, 1); }
  30% {
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    transform: scale3d(1.05, 0.95, 1); }
  100% {
    transform: scale3d(1, 1, 1); } }

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

button {
  cursor: pointer; }

.empty-btn {
  border: none;
  background: none;
  padding: 0; }
  .empty-btn:focus, .empty-btn:hover {
    outline: none; }

.btn {
  display: inline-block;
  position: relative;
  border-radius: 0;
  border: none;
  padding: 0.5rem 1.5rem;
  color: #000;
  font-size: 0.875rem;
  overflow: hidden;
  background: transparent;
  z-index: 1;
  text-transform: uppercase;
  text-decoration: none;
  font-family: "Open Sans", sans-serif; }
  .btn:before {
    display: block;
    content: "";
    position: absolute;
    width: 100%;
    height: 0;
    left: 0;
    top: 0;
    background: #000;
    transition: 0.2s all ease-in-out;
    z-index: -1; }
  .btn:not([disabled]):focus, .btn:not([disabled]):hover {
    color: white; }
    .btn:not([disabled]):focus:before, .btn:not([disabled]):hover:before {
      height: 100%; }
  .btn:disabled {
    cursor: not-allowed;
    opacity: 0.4; }

.btn-dark {
  display: inline-block;
  position: relative;
  border-radius: 0;
  border: none;
  padding: 0.5rem 1.5rem;
  color: white;
  font-size: 0.875rem;
  overflow: hidden;
  background: #000;
  z-index: 1;
  text-transform: uppercase;
  text-decoration: none;
  font-family: "Open Sans", sans-serif; }
  .btn-dark:before {
    display: block;
    content: "";
    position: absolute;
    width: 100%;
    height: 0;
    left: 0;
    top: 0;
    background: #70a5c3;
    transition: 0.2s all ease-in-out;
    z-index: -1; }
  .btn-dark:not([disabled]):focus, .btn-dark:not([disabled]):hover {
    color: white; }
    .btn-dark:not([disabled]):focus:before, .btn-dark:not([disabled]):hover:before {
      height: 100%; }
  .btn-dark:disabled {
    cursor: not-allowed;
    opacity: 0.4; }

.btn-primary {
  display: inline-block;
  position: relative;
  border-radius: 0;
  border: none;
  padding: 0.5rem 1.5rem;
  color: white;
  font-size: 0.875rem;
  overflow: hidden;
  background: #abc2c6;
  z-index: 1;
  text-transform: uppercase;
  text-decoration: none;
  font-family: "Open Sans", sans-serif; }
  .btn-primary:before {
    display: block;
    content: "";
    position: absolute;
    width: 100%;
    height: 0;
    left: 0;
    top: 0;
    background: #70a5c3;
    transition: 0.2s all ease-in-out;
    z-index: -1; }
  .btn-primary:not([disabled]):focus, .btn-primary:not([disabled]):hover {
    color: white; }
    .btn-primary:not([disabled]):focus:before, .btn-primary:not([disabled]):hover:before {
      height: 100%; }
  .btn-primary:disabled {
    cursor: not-allowed;
    opacity: 0.4; }

.btn-bright {
  display: inline-block;
  position: relative;
  border-radius: 0;
  border: none;
  padding: 0.5rem 1.5rem;
  color: #000;
  font-size: 0.875rem;
  overflow: hidden;
  background: white;
  z-index: 1;
  text-transform: uppercase;
  text-decoration: none;
  font-family: "Open Sans", sans-serif; }
  .btn-bright:before {
    display: block;
    content: "";
    position: absolute;
    width: 100%;
    height: 0;
    left: 0;
    top: 0;
    background: #000;
    transition: 0.2s all ease-in-out;
    z-index: -1; }
  .btn-bright:not([disabled]):focus, .btn-bright:not([disabled]):hover {
    color: white; }
    .btn-bright:not([disabled]):focus:before, .btn-bright:not([disabled]):hover:before {
      height: 100%; }
  .btn-bright:disabled {
    cursor: not-allowed;
    opacity: 0.4; }

table {
  border: 1px solid #dedede;
  border-collapse: separate;
  border-spacing: 0; }
  table td,
  table th {
    padding: 0.75rem; }
    table td.align-left,
    table th.align-left {
      text-align: left; }
    table td.align-center,
    table th.align-center {
      text-align: center; }
    table td.align-right,
    table th.align-right {
      text-align: right; }
  table th {
    border-bottom: 1px solid #dedede; }

.striped-table tbody tr:nth-child(even) td {
  background: #e6ecf0; }

#main-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 333; }

#upper-header {
  position: relative;
  background: #e6ecf0; }
  #upper-header .container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap; }
    @media screen and (min-width: 576px) {
      #upper-header .container {
        justify-content: flex-end; } }
    #upper-header .container > *:not(first-child) {
      margin-left: 1.5rem; }
    #upper-header .container a,
    #upper-header .container #espace-notaire-trigger {
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: nowrap;
      font-size: 0.875rem;
      color: #000; }
      #upper-header .container a svg,
      #upper-header .container #espace-notaire-trigger svg {
        height: 1rem;
        margin-right: 0.25rem; }
      #upper-header .container a span,
      #upper-header .container #espace-notaire-trigger span {
        display: none; }
        @media screen and (min-width: 576px) {
          #upper-header .container a span,
          #upper-header .container #espace-notaire-trigger span {
            display: inline; } }
      #upper-header .container a:hover, #upper-header .container a:focus,
      #upper-header .container #espace-notaire-trigger:hover,
      #upper-header .container #espace-notaire-trigger:focus {
        color: #70a5c3; }
    #upper-header .container a {
      text-decoration: none; }
    #upper-header .container #contact-trigger:hover img,
    #upper-header .container #contact-trigger:focus img {
      animation: shake-lr 0.7s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both; }
    #upper-header .container #search-trigger:hover img,
    #upper-header .container #search-trigger:focus img,
    #upper-header .container #qui-trigger:hover img,
    #upper-header .container #qui-trigger:focus img {
      animation: jello-horizontal 0.9s 0.5s infinite both; }
    #upper-header .container #espace-notaire-trigger {
      background: white;
      padding: 0.5rem 1.5rem; }
      #upper-header .container #espace-notaire-trigger:hover img, #upper-header .container #espace-notaire-trigger:focus img {
        animation: heartbeat 1.5s ease-in-out infinite both; }

#bottom-header {
  background: white; }
  #bottom-header .container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: nowrap; }
    @media screen and (min-width: 992px) {
      #bottom-header .container {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap; } }
  #bottom-header #logo-link {
    margin: 0.5rem 0; }
    #bottom-header #logo-link img#logo-icon {
      display: block;
      height: 1.875rem; }
      @media screen and (min-width: 1200px) {
        #bottom-header #logo-link img#logo-icon {
          display: none; } }
    #bottom-header #logo-link img#logo-small {
      display: none; }
      @media screen and (min-width: 1200px) {
        #bottom-header #logo-link img#logo-small {
          display: block;
          height: 1.875rem; } }
  #bottom-header .sub-container {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap; }

#order-trigger {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  text-decoration: none;
  height: 100%; }
  @media screen and (min-width: 992px) {
    #order-trigger {
      height: inherit;
      margin: 0.75rem 0; } }

#nav-trigger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  margin-left: 1.5rem; }
  @media screen and (min-width: 1200px) {
    #nav-trigger {
      display: none; } }
  #nav-trigger div {
    height: 1.125rem;
    width: 1.5rem;
    transition: 0.2s all ease-in-out; }
    #nav-trigger div span {
      display: block;
      height: 0.125rem;
      width: 1.5rem;
      background: #000;
      margin: 0.188rem 0;
      transition: 0.2s all ease-in-out; }
  #nav-trigger:not(.open):hover div, #nav-trigger:not(.open):focus div {
    height: 1.625rem; }
    #nav-trigger:not(.open):hover div span, #nav-trigger:not(.open):focus div span {
      margin: 0.312rem 0; }
  #nav-trigger.open {
    z-index: 999; }
    #nav-trigger.open div {
      position: relative;
      height: 20px; }
      #nav-trigger.open div span {
        position: absolute; }
        #nav-trigger.open div span:nth-child(1) {
          left: 0;
          top: 0;
          transform: rotate(-45deg) translate(-4px, 4px); }
        #nav-trigger.open div span:nth-child(2) {
          display: none; }
        #nav-trigger.open div span:nth-child(3) {
          left: 0;
          top: 0;
          transform: rotate(45deg) translate(4px, 4px); }

#main-navigation {
  display: none; }
  #main-navigation a {
    text-decoration: none; }
    #main-navigation a:not([class^="btn"]) {
      color: #000; }
  #main-navigation.open {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: white;
    z-index: 666; }
    #main-navigation.open a {
      font-size: 1rem;
      margin-bottom: 1.5rem; }
  @media screen and (min-width: 1200px) {
    #main-navigation {
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: nowrap; }
      #main-navigation a {
        font-size: 0.875rem;
        margin-right: 1.5rem; }
        #main-navigation a:not([class^="btn"]) {
          position: relative;
          padding: 0.5rem 0; }
          #main-navigation a:not([class^="btn"]):after {
            display: block;
            content: "";
            height: 0.25rem;
            width: 2.5rem;
            background: #abc2c6;
            position: absolute;
            left: 50%;
            bottom: 0;
            transform: translateX(-50%);
            opacity: 0;
            transition: 0.4s all ease-in-out; }
          #main-navigation a:not([class^="btn"]):hover:after, #main-navigation a:not([class^="btn"]):focus:after, #main-navigation a:not([class^="btn"]).selected:after {
            opacity: 1;
            bottom: -0.75rem; }
            .scroll #main-navigation a:not([class^="btn"]):hover:after, .scroll #main-navigation a:not([class^="btn"]):focus:after, .scroll #main-navigation a:not([class^="btn"]).selected:after {
              bottom: 0; }
          #main-navigation a:not([class^="btn"]).selected {
            font-weight: 700; } }

#main-footer {
  padding: 1.5rem 0;
  margin-top: 1.5rem;
  margin-bottom: 0;
  border-top: 1px solid #efefef; }
  @media screen and (min-width: 992px) {
    #main-footer {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      flex-wrap: nowrap; } }

.footer-element {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  flex-wrap: nowrap; }
  .footer-element + .footer-element {
    margin-top: 0.5rem; }
    @media screen and (min-width: 992px) {
      .footer-element + .footer-element {
        margin-top: 0; } }
  .footer-element a {
    font-size: 0.875rem;
    color: rgba(0, 0, 0, 0.8);
    text-decoration: none; }
    .footer-element a:hover, .footer-element a:focus {
      color: #70a5c3;
      text-decoration: underline; }
    .footer-element a + a {
      margin-left: 1.5rem;
      position: relative; }
      .footer-element a + a:before {
        display: block;
        content: "";
        width: 0.062rem;
        height: 100%;
        background: #efefef;
        position: absolute;
        left: -0.75rem;
        top: 0; }

* {
  box-sizing: border-box; }

body {
  color: #000;
  font-family: "Open Sans", sans-serif;
  padding: 7.438rem 0 0 0; }
  @media screen and (min-width: 992px) {
    body {
      padding: 8.125rem 0 0 0; } }

.container {
  margin-left: 1.5rem;
  margin-right: 1.5rem; }
  @media screen and (min-width: 1348px) {
    .container {
      max-width: 81.25rem;
      margin: 0 auto; } }

.small-container {
  margin-left: 1.5rem;
  margin-right: 1.5rem; }
  @media screen and (min-width: 1008px) {
    .small-container {
      max-width: 62.5rem;
      margin: 0 auto; } }

#banner-header {
  height: 12.5rem; }
  @media screen and (min-width: 1200px) {
    #banner-header {
      height: 22.5rem; } }
  @media screen and (min-width: 1400px) {
    #banner-header {
      height: 28.75rem; } }

section {
  padding: 3rem 0; }
  section h4 {
    position: relative;
    font-size: 1.125rem;
    line-height: 1.438rem;
    letter-spacing: 0.23em;
    font-weight: 800;
    text-align: center;
    margin-bottom: 3rem;
    text-transform: uppercase;
    padding: 0 0 0.5rem 0; }
    section h4:after {
      display: block;
      content: "";
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%);
      width: 4.375rem;
      height: 0.25rem;
      background: #abc2c6; }

.ventes-explanation .content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  margin: 3rem 0 0 0; }
  @media screen and (min-width: 667px) {
    .ventes-explanation .content {
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      align-items: flex-start;
      flex-wrap: nowrap; } }
  .ventes-explanation .content > img {
    width: 100%; }
    @media screen and (min-width: 667px) {
      .ventes-explanation .content > img {
        max-width: 12.5rem; } }
    @media screen and (min-width: 992px) {
      .ventes-explanation .content > img {
        max-width: 21.875rem; } }
  .ventes-explanation .content > div {
    margin: 1.5rem 0 0 0; }
    @media screen and (min-width: 667px) {
      .ventes-explanation .content > div {
        margin: 0 0 0 1.5rem; } }
    @media screen and (min-width: 992px) {
      .ventes-explanation .content > div {
        margin: 0 0 0 3rem; } }
    @media screen and (min-width: 1200px) {
      .ventes-explanation .content > div {
        margin: 0 0 0 3.75rem; } }

.simple-link {
  color: #abc2c6; }

.intro {
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 400; }

strong {
  font-weight: 700; }

sup {
  vertical-align: super;
  font-size: smaller; }

h5 {
  font-size: 1.375rem;
  line-height: 1.875rem;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 0.5rem 0; }

p {
  font-size: 1rem;
  line-height: 1.5rem; }
  p + p {
    margin-top: 1.5rem; }

#location-services #banner-header {
  background: url(../images/services-page-banner.png) center;
  background-size: cover;
  padding: 5rem 1.5rem 1.5rem 1.5rem;
  height: inherit; }
  @media screen and (min-width: 1400px) {
    #location-services #banner-header {
      height: 28.75rem;
      padding: 5rem 1.5rem 3rem 1.5rem; } }
  @media screen and (min-width: 1200px) {
    #location-services #banner-header .container {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: flex-start;
      flex-wrap: nowrap;
      height: 100%; } }
  #location-services #banner-header h1,
  #location-services #banner-header h2,
  #location-services #banner-header h3 {
    color: white; }
  #location-services #banner-header h2 {
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.062rem; }
  #location-services #banner-header h1 {
    font-size: 3rem;
    line-height: 3rem;
    font-weight: 700;
    margin: 0.5rem 0 0.5rem 0; }
  #location-services #banner-header h3 {
    font-size: 1rem;
    font-weight: 400; }
  #location-services #banner-header .btn-bright {
    margin-top: 1.5rem; }

#location-services section:nth-of-type(even) {
  background: #e6ecf0; }

#location-services section + section.container {
  margin-top: 3rem; }

@media screen and (min-width: 667px) {
  #section-services .container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: nowrap; } }

#section-services .service {
  text-decoration: none;
  transform: scale(1);
  transition: 0.2s all ease-in-out;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap; }
  @media screen and (min-width: 667px) {
    #section-services .service {
      flex: 1 1; } }
  #section-services .service picture {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: nowrap;
    width: 5rem;
    height: 5rem;
    border-radius: 5rem;
    border: 5px solid #e6ecf0; }
    #section-services .service picture img {
      display: block;
      height: 1.875rem;
      margin: auto; }
  #section-services .service h6 {
    font-size: 1.375rem;
    line-height: 1.875rem;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0.25rem 0 0.5rem 0;
    text-align: center;
    color: #000; }
    @media screen and (min-width: 667px) {
      #section-services .service h6 {
        margin: 0.5rem 0 0.75rem 0; } }
  #section-services .service:hover, #section-services .service:focus {
    transform: scale(1.1); }
    #section-services .service:hover .btn-primary:before, #section-services .service:focus .btn-primary:before {
      transform: translateX(0); }
  #section-services .service + .service {
    margin: 3rem 0 0 0; }
    @media screen and (min-width: 667px) {
      #section-services .service + .service {
        margin: 0 0 0 3rem; } }

.sub-section .section-header {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
  flex-wrap: nowrap; }
  .sub-section .section-header .section-number {
    font-size: 3rem;
    line-height: 3rem;
    font-weight: 700;
    margin-right: 1.5rem;
    color: #abc2c6; }
  .sub-section .section-header p {
    color: rgba(0, 0, 0, 0.8);
    line-height: 1.5rem; }

.sub-section .section-footer {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: stretch;
  flex-wrap: nowrap;
  border-bottom: 1px solid #000; }
  .sub-section .section-footer a {
    position: relative;
    bottom: -1px;
    padding: 0 0 0 0.75rem;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    text-decoration: none; }
    .sub-section .section-footer a img {
      display: block;
      height: 0.75rem;
      margin-right: 0.5rem; }
    .sub-section .section-footer a span {
      font-size: 0.75rem;
      line-height: 0.75rem;
      color: #000; }
    .sub-section .section-footer a:hover img, .sub-section .section-footer a:focus img {
      animation: go-up 0.75s infinite linear; }

.sub-section:nth-of-type(even) .section-footer a {
  background: #e6ecf0; }

.sub-section:nth-of-type(odd) .section-footer a {
  background: white; }

.services-list {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: nowrap;
  list-style-type: none;
  margin: 1.5rem -0.5rem -0.5rem -0.5rem; }
  @media screen and (min-width: 667px) {
    .services-list {
      margin: 1.5rem -0.75rem -0.75rem -0.75rem;
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      align-items: stretch;
      flex-wrap: wrap; } }

.services-element {
  position: relative;
  height: 16.875rem;
  margin: 0.5rem; }
  @media screen and (min-width: 667px) {
    .services-element {
      width: calc((100% - 32px) / 2);
      flex: 0 0 auto; } }
  @media screen and (min-width: 1200px) {
    .services-element {
      margin: 0.75rem;
      width: calc((100% - 96px) / 4); } }
  .services-element::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(rgba(255, 255, 255, 0) 50%, #000 100%);
    opacity: 0.8; }
  .services-element a {
    display: block;
    position: relative;
    height: 100%;
    width: 100%;
    color: white;
    text-decoration: none;
    padding: 1.5rem;
    overflow: hidden; }
    .services-element a h6 {
      font-weight: 700;
      font-size: 1.125rem;
      line-height: 1.25rem;
      margin: 0 0 0.25rem 0; }
    .services-element a .hover-indication {
      position: absolute;
      top: 1.25rem;
      right: 1.25rem;
      width: 1.5rem;
      transition: 0.2s all ease-in-out;
      transition-delay: 150ms; }
    .services-element a .content {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: stretch;
      flex-wrap: nowrap;
      position: absolute;
      bottom: 0;
      right: 0;
      left: 0;
      height: 35%;
      padding: 1.5rem;
      background: rgba(171, 194, 198, 0.9);
      transition: 0.2s all ease-in-out; }
      .services-element a .content .sub-container h6 {
        text-transform: uppercase;
        margin: 0; }
      .services-element a .content .sub-container .subtitle {
        font-size: 0.875rem; }
      .services-element a .content .sub-container p {
        display: none; }
      .services-element a .content .command {
        display: none; }
    .services-element a:hover .hover-indication, .services-element a:focus .hover-indication {
      right: -3.75rem; }
    .services-element a:hover .content, .services-element a:focus .content {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: stretch;
      flex-wrap: nowrap;
      height: 100%; }
      .services-element a:hover .content .sub-container p, .services-element a:focus .content .sub-container p {
        display: block;
        font-size: 0.875rem;
        line-height: 1.188rem;
        margin-top: 1.5rem; }
      .services-element a:hover .content .command, .services-element a:focus .content .command {
        position: relative;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: nowrap;
        margin-top: 1.5rem;
        padding-top: 1.5rem;
        font-size: 0.75rem; }
        .services-element a:hover .content .command::before, .services-element a:focus .content .command::before {
          display: block;
          content: "";
          width: 3.125rem;
          height: 0.062rem;
          background: white;
          position: absolute;
          top: 0;
          left: 0%; }
        .services-element a:hover .content .command img, .services-element a:focus .content .command img {
          width: 0.938rem;
          margin-right: 0.5rem; }
        .services-element a:hover .content .command:hover img, .services-element a:focus .content .command:hover img {
          animation: shake-horizontal 1.8s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite both; }

#service-peb {
  background: url(../images/services/service-peb.jpg) center;
  background-size: cover; }

#service-elec {
  background: url(../images/services/service-elec.jpg) center;
  background-size: cover; }

#service-citerne {
  background: url(../images/services/service-citerne.jpg) center;
  background-size: cover; }

#service-gaz {
  background: url(../images/services/service-gaz.jpg) center;
  background-size: cover; }

#service-photo {
  background: url(../images/services/service-photo.jpg) center;
  background-size: cover; }

#service-plans {
  background: url(../images/services/service-plans.jpg) center;
  background-size: cover; }

#service-360 {
  background: url(../images/services/service-360.jpg) center;
  background-size: cover; }

#service-drone {
  background: url(../images/services/service-drone.jpg) center;
  background-size: cover; }

#service-video {
  background: url(../images/services/service-video.jpg) center;
  background-size: cover; }

#service-livret {
  background: url(../images/services/service-livretDescriptif.jpg) center;
  background-size: cover; }

#service-website {
  background: url(../images/services/service-miniSite.jpg) center;
  background-size: cover; }

#service-placement {
  background: url(../images/services/service-placement.jpg) center;
  background-size: cover; }

#service-biddit {
  background: url(../images/services/service-biddit.jpg) center;
  background-size: cover; }

#service-panneau-surmesure {
  background: url(../images/services/service-panneauMesure.jpg) center;
  background-size: cover; }

#service-sms {
  background: url(../images/services/service-sms.jpg) center;
  background-size: cover; }

#service-panneau-personalise {
  background: url(../images/services/service-panneau-personalise.jpg) center;
  background-size: cover; }

#service-location-salle {
  background: url(../images/services/service-location-salle.jpg) center;
  background-size: cover; }

#service-affiches {
  background: url(../images/services/service-affiches.jpg) center;
  background-size: cover; }

#service-visites {
  background: url(../images/services/service-hainaut.jpg) center;
  background-size: cover; }

#service-panneaux {
  background: url(../images/services/service-hainaut.jpg) center;
  background-size: cover; }

#service-papiers-actes {
  background: url(../images/services/service-hainaut.jpg) center;
  background-size: cover; }

#service-publicite-papier {
  background: url(../images/services/service-publicite-papier.jpg) center;
  background-size: cover; }

#slogan {
  margin-top: 3.75rem;
  padding: 5rem 1.5rem;
  background: url(../images/footer-slogan-background.png) center;
  background-size: cover;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 992px) {
    #slogan {
      display: flex;
      flex-direction: row;
      justify-content: flex-start;
      align-items: stretch;
      flex-wrap: nowrap;
      height: 28.125rem; } }
  #slogan:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(#70a5c3 0%, #abc2c6 100%);
    opacity: 0.74;
    z-index: -1; }
  #slogan h2 {
    position: relative;
    font-size: 3rem;
    line-height: 3.75rem;
    font-weight: 700;
    color: white;
    text-align: center;
    max-width: 53.75rem;
    margin: 0 auto;
    z-index: 1; }
    @media screen and (min-width: 992px) {
      #slogan h2 {
        margin: auto; } }

#location-ventes-biddit #banner-header {
  background: url(../images/biddit-banner.png) center;
  background-size: cover; }
  #location-ventes-biddit #banner-header .container {
    height: 100%; }
    #location-ventes-biddit #banner-header .container img {
      display: block;
      height: 12.5rem; }
      @media screen and (min-width: 992px) {
        #location-ventes-biddit #banner-header .container img {
          height: 100%; } }

#location-ventes-biddit .content h5:not(:first-child) {
  margin: 1.5rem 0 0.5rem 0; }

#location-ventes-biddit .content ul {
  margin-left: 1.5rem; }
  #location-ventes-biddit .content ul li + li {
    margin-top: 0.5rem; }

#location-ventes-publiques #banner-header {
  background: url(../images/ventes-publiques-banner.png) center;
  background-size: cover; }

#location-ventes-publiques .content h5:not(:first-child),
#location-ventes-publiques .more-content h5:not(:first-child) {
  margin: 1.5rem 0 0.5rem 0; }

#location-ventes-publiques .content ol,
#location-ventes-publiques .more-content ol {
  margin: 1.5rem 0 0 1.5rem; }
  #location-ventes-publiques .content ol > li ul,
  #location-ventes-publiques .more-content ol > li ul {
    margin: 0 0 0 1.5rem; }
    #location-ventes-publiques .content ol > li ul li,
    #location-ventes-publiques .more-content ol > li ul li {
      margin-top: 0.75rem; }
  #location-ventes-publiques .content ol > li + li,
  #location-ventes-publiques .more-content ol > li + li {
    margin: 1.5rem 0 0 0; }

#location-ventes-publiques .more-content {
  margin: 1.5rem 0 0 0; }

#location-ventes-gre-a-gre #banner-header {
  background: url(../images/ventes-gre-a-gre-banner.png) center;
  background-size: cover; }

#location-ventes-gre-a-gre .content h5:not(:first-child),
#location-ventes-gre-a-gre .more-content h5:not(:first-child) {
  margin: 1.5rem 0 0.5rem 0; }

#location-ventes-gre-a-gre .content ul,
#location-ventes-gre-a-gre .more-content ul {
  margin-left: 1.5rem; }
  #location-ventes-gre-a-gre .content ul li + li,
  #location-ventes-gre-a-gre .more-content ul li + li {
    margin-top: 0.5rem; }

#location-ventes-gre-a-gre .more-content {
  margin: 1.5rem 0 0 0; }

#location-contact #banner-header {
  background: url(../images/contact-page-banner.png) center;
  background-size: cover; }

#contact-content-container {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap; }
  #contact-content-container .intro {
    width: 100%;
    text-align: center; }

#contact-office {
  margin: 0 0 1rem 0; }
  @media screen and (min-width: 992px) {
    #contact-office {
      margin: 0 0 1.5rem 0; } }
  #contact-office .contact-office-element {
    border: 1px solid #dedede;
    border-radius: 0.25rem; }
    #contact-office .contact-office-element h6 {
      padding: 0.75rem;
      border-bottom: 1px solid #dedede; }
    #contact-office .contact-office-element .contact-details {
      padding: 0.75rem; }
      #contact-office .contact-office-element .contact-details p {
        margin: 0 0 0.5rem 0; }
        #contact-office .contact-office-element .contact-details p:last-child {
          margin: 0; }

#contact-form {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: nowrap;
  margin: 1rem 0 0 0;
  width: 100%; }
  @media screen and (min-width: 667px) {
    #contact-form {
      flex-direction: row;
      flex-wrap: wrap;
      margin: 0.5rem -0.5rem -0.5rem -0.5rem; } }
  #contact-form .form-element {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: nowrap;
    margin: 0 0 1rem 0; }
    @media screen and (min-width: 667px) {
      #contact-form .form-element {
        margin: 0.5rem; }
        #contact-form .form-element#contact-firstname, #contact-form .form-element#contact-lastname {
          width: calc((100% - 32px) / 2); }
        #contact-form .form-element#contact-email, #contact-form .form-element#contact-subject, #contact-form .form-element#contact-message {
          width: 100%; } }
    #contact-form .form-element:last-of-type {
      margin: 0; }
      @media screen and (min-width: 667px) {
        #contact-form .form-element:last-of-type {
          margin: 0.5rem; } }
    #contact-form .form-element label {
      margin: 0 0 0.5rem 0; }
    #contact-form .form-element input,
    #contact-form .form-element textarea {
      border: 1px solid #dedede;
      border-radius: 0.25rem;
      padding: 0.5rem;
      width: 100%; }
    #contact-form .form-element textarea {
      min-height: 6.25rem; }
  #contact-form #contact-confirm {
    margin: 1rem 0 0 0; }
    @media screen and (min-width: 667px) {
      #contact-form #contact-confirm {
        margin: 1rem 0 0 0.5rem; } }

#location-qui-sommes-nous #banner-header {
  background: url(../images/contact-page-banner.png) center;
  background-size: cover; }

#location-qui-sommes-nous .content h5:not(:first-child),
#location-qui-sommes-nous .more-content h5:not(:first-child) {
  margin: 1.5rem 0 0.5rem 0; }

#location-qui-sommes-nous .content ul,
#location-qui-sommes-nous .more-content ul {
  margin: 0 0 1.5rem 1.5rem; }
  #location-qui-sommes-nous .content ul li + li,
  #location-qui-sommes-nous .more-content ul li + li {
    margin-top: 0.5rem; }

#location-qui-sommes-nous .more-content {
  margin: 1.5rem 0 0 0; }
  #location-qui-sommes-nous .more-content ul {
    margin-top: 0.5rem; }

#location-conditions-generales h5 {
  margin: 1.5rem 0 0.75rem 0; }
  #location-conditions-generales h5:first-of-type {
    margin: 0 0 0.75rem 0; }

#location-conditions-generales p {
  margin: 0 0 0.75rem 0; }
  #location-conditions-generales p:last-of-type {
    margin: 0; }
  #location-conditions-generales p a {
    color: #70a5c3; }
  #location-conditions-generales p .attention {
    font-size: 1.5rem;
    color: red; }

#location-conditions-generales #revision-date {
  display: block;
  margin: 1.5rem 0 0 0;
  text-align: right;
  font-size: 0.75rem; }

#location-location-salles-details #banner-header {
  background: url(../images/ventes-gre-a-gre-banner.png) center;
  background-size: cover; }

#location-location-salles-details .subsection {
  margin: 3rem 0 0 0; }

#location-location-salles-details #salle-container {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: nowrap; }
  @media screen and (min-width: 667px) {
    #location-location-salles-details #salle-container {
      flex-direction: row;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: center;
      margin: -0.75rem; } }
  @media screen and (min-width: 992px) {
    #location-location-salles-details #salle-container {
      margin: -1.5rem 0; } }

#location-location-salles-details .salle-available {
  border: 1px solid #dedede;
  border-radius: 0.25rem;
  padding: 1rem; }
  @media screen and (min-width: 667px) {
    #location-location-salles-details .salle-available {
      margin: 0.75rem;
      width: calc((100% - 48px) / 2); } }
  @media screen and (min-width: 992px) {
    #location-location-salles-details .salle-available {
      margin: 1.5rem;
      width: 25rem; } }
  @media screen and (min-width: 1200px) {
    #location-location-salles-details .salle-available {
      width: 31.25rem; } }
  #location-location-salles-details .salle-available h5 {
    text-align: center; }
    #location-location-salles-details .salle-available h5 span {
      display: block; }
  #location-location-salles-details .salle-available .visuals-container {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: nowrap;
    margin: 1rem 0;
    padding: 1rem 0;
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede; }
    @media screen and (min-width: 667px) {
      #location-location-salles-details .salle-available .visuals-container {
        flex-direction: row;
        flex-wrap: wrap; } }
    @media screen and (min-width: 667px) {
      #location-location-salles-details .salle-available .visuals-container img {
        width: calc((100% - 16px) / 2); } }
    #location-location-salles-details .salle-available .visuals-container img + img {
      margin: 0.75rem 0 0 0; }
      @media screen and (min-width: 667px) {
        #location-location-salles-details .salle-available .visuals-container img + img {
          margin: 0 0 0 1rem; } }
    #location-location-salles-details .salle-available .visuals-container .visuals-legend {
      font-size: 0.75rem;
      text-align: center;
      margin-bottom: 0; }
      @media screen and (min-width: 667px) {
        #location-location-salles-details .salle-available .visuals-container .visuals-legend {
          flex: 0 0 100%; } }
  #location-location-salles-details .salle-available .options h6 {
    margin: 0 0 0.75rem 0; }
  #location-location-salles-details .salle-available .options p {
    margin: 0; }
  #location-location-salles-details .salle-available + .salle-available {
    margin: 3rem 0 0 0; }
    @media screen and (min-width: 667px) {
      #location-location-salles-details .salle-available + .salle-available {
        margin: 0.75rem; } }
    @media screen and (min-width: 992px) {
      #location-location-salles-details .salle-available + .salle-available {
        margin: 1.5rem; } }

#location-location-salles-details #table-container {
  max-width: 100%;
  overflow-x: auto; }
  #location-location-salles-details #table-container table {
    margin: 0 auto; }

#location-location-salles-details #table-information {
  margin: 1.5rem 0 0 0; }
  #location-location-salles-details #table-information p {
    margin: 0; }

#location-location-salles-details #catering-list {
  padding: 0 1.5rem; }
  #location-location-salles-details #catering-list li + li {
    margin: 0.75rem 0 0 0; }

@media screen and (min-width: 667px) {
  #location-location-salles-details #secretariat-list-container {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap; } }

#location-location-salles-details #secretariat-list-container article {
  margin: 1.5rem 0 0 0; }
  @media screen and (min-width: 667px) {
    #location-location-salles-details #secretariat-list-container article {
      margin: 1rem 3rem; } }
  #location-location-salles-details #secretariat-list-container article ul {
    margin: 0.75rem 0 0 0;
    padding: 0 1.5rem; }
    #location-location-salles-details #secretariat-list-container article ul li + li {
      margin: 0.75rem 0 0 0; }

#location-location-salles-details #action-container {
  text-align: center; }

#location-qui-sommes-nous #team-list {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: nowrap;
  margin: 1rem 0 0 0;
  list-style-type: none; }
  @media screen and (min-width: 992px) {
    #location-qui-sommes-nous #team-list {
      flex-direction: row;
      justify-content: space-between; } }
  #location-qui-sommes-nous #team-list li {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap; }
    @media screen and (min-width: 992px) {
      #location-qui-sommes-nous #team-list li {
        flex-direction: column; } }
    #location-qui-sommes-nous #team-list li + li {
      margin-top: 1.5rem; }
      @media screen and (min-width: 992px) {
        #location-qui-sommes-nous #team-list li + li {
          margin-top: 0; } }
  #location-qui-sommes-nous #team-list picture {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: nowrap;
    height: 6.25rem;
    width: 6.25rem;
    border-radius: 6.25rem;
    flex: 0 0 auto;
    overflow: hidden;
    margin: 0 1rem 0 0; }
    @media screen and (min-width: 992px) {
      #location-qui-sommes-nous #team-list picture {
        margin: 0 0 1rem 0; } }
    #location-qui-sommes-nous #team-list picture img {
      margin: auto;
      width: 100%; }
  #location-qui-sommes-nous #team-list .info {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: nowrap; }
    @media screen and (min-width: 992px) {
      #location-qui-sommes-nous #team-list .info h6,
      #location-qui-sommes-nous #team-list .info p {
        text-align: center; } }
    #location-qui-sommes-nous #team-list .info p {
      margin: 0; }
      #location-qui-sommes-nous #team-list .info p a {
        color: #abc2c6; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2ljcy9fcmVzZXQuc2NzcyIsInV0aWxpdGllcy9fYW5pbWF0aW9ucy5zY3NzIiwiZWxlbWVudHMvX2J1dHRvbnMuc2NzcyIsInV0aWxpdGllcy9fbWl4aW5zLnNjc3MiLCJtZG4tbmFtdXIvX3ZhcmlhYmxlcy5zY3NzIiwiZWxlbWVudHMvX3RhYmxlcy5zY3NzIiwiZWxlbWVudHMvX2hlYWRlci5zY3NzIiwidXRpbGl0aWVzL19yZXNwb25zaXZlLnNjc3MiLCJlbGVtZW50cy9fZm9vdGVyLnNjc3MiLCJjb250ZW50L19tYWluLnNjc3MiLCJjb250ZW50L19jb21tb24uc2NzcyIsImNvbnRlbnQvX3R5cG9ncmFwaHkuc2NzcyIsImNvbnRlbnQvX3NlcnZpY2VzLXBhZ2Uuc2NzcyIsImNvbnRlbnQvX3ZlbnRlcy1iaWRkaXQtcGFnZS5zY3NzIiwiY29udGVudC9fdmVudGVzLXB1YmxpcXVlcy1wYWdlLnNjc3MiLCJjb250ZW50L192ZW50ZXMtZ3JlLWEtZ3JlLXBhZ2Uuc2NzcyIsImNvbnRlbnQvX2NvbnRhY3QtcGFnZS5zY3NzIiwiY29udGVudC9fcXVpLXNvbW1lcy1ub3VzLXBhZ2Uuc2NzcyIsImNvbnRlbnQvX2NvbmRpdGlvbnMtZ2VuZXJhbGVzLnNjc3MiLCJjb250ZW50L19sb2NhdGlvbi1zYWxsZS1kZXRhaWxzLnNjc3MiLCJtZG4tbmFtdXIvX3F1aS1zb21tZXMtbm91cy1wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXFFRSxTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVM7RUFDVCxVQUFVO0VBQ1YsZUFBZTtFQUNmLHdCQUF3QjtFQUN4QixvQ0FBb0MsRUFBQTs7QUMxQ3RDO0VBQ0U7O0lBR0UsdUJBQXVCO0lBRXZCLHlCQUF5QixFQUFBO0VBRTNCO0lBRUUsdUJBQXVCLEVBQUE7RUFFekI7OztJ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RUFBQTtFYlVyQjtJYWJGO01BS0ksbUJBQW1CO01BQ25CLDhCQUE4QixFQUFBLEVBNkNqQztFQW5ERDtJakJrQkUsYUFBYTtJQUNiLG1CQU5lO0lBT2YsMkJBTm9CO0lBT3BCLG1CaUJadUM7SWpCYXZDLGlCQU5hLEVBQUE7SUlIYjtNYWJGO1FBV00sc0JBQXNCLEVBQUEsRUFRekI7SUFuQkg7TUFjTSxrQmpCWG1CLEVBQUE7TUlVdkI7UWFiRjtVQWdCUSxhQUFhLEVBQUEsRUFFaEI7RUFsQkw7SWpCa0JFLGFBQWE7SUFDYixtQkFOZTtJQU9mLDJCQU5vQjtJQU9wQixvQkFOcUI7SUFPckIsaUJBTmE7SWlCTVgsZWpCbkJxQjtJaUJvQnJCLGNqQnBCcUI7SWlCcUJyQixzQmpCckJxQjtJaUJzQnJCLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsa0JBQXdCLEVBQUE7SWJkMUI7TWFiRjtRQTZCTSxrQkFBd0IsRUFBQSxFQU0zQjtJQW5DSDtNQWdDTSxZQUFZO01BQ1osV0FBVyxFQUFBO0VBakNqQjtJakJrQkUsYUFBYTtJQUNiLHNCaUJrQnFDO0lqQmpCckMsMkJBTm9CO0lBT3BCLG9CQU5xQjtJQU9yQixpQkFOYSxFQUFBO0lJSGI7TWFiRjs7UUF5Q1Esa0JBQWtCLEVBQUEsRUFDbkI7SUExQ1A7TUE2Q00sU0FBUyxFQUFBO01BN0NmO1FBK0NRLGNoQjdDUyxFQUFBIiwiZmlsZSI6InN0eWxlLW1kbi1uYW11ci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJodG1sLFxuYm9keSxcbmRpdixcbnNwYW4sXG5vYmplY3QsXG5pZnJhbWUsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wLFxuYmxvY2txdW90ZSxcbnByZSxcbmFiYnIsXG5hZGRyZXNzLFxuY2l0ZSxcbmNvZGUsXG5kZWwsXG5kZm4sXG5lbSxcbmltZyxcbmlucyxcbmtiZCxcbnEsXG5zYW1wLFxuc21hbGwsXG5zdHJvbmcsXG5zdWIsXG5zdXAsXG52YXIsXG5iLFxuaSxcbmRsLFxuZHQsXG5kZCxcbm9sLFxudWwsXG5saSxcbmZpZWxkc2V0LFxuZm9ybSxcbmxhYmVsLFxubGVnZW5kLFxudGFibGUsXG5jYXB0aW9uLFxudGJvZHksXG50Zm9vdCxcbnRoZWFkLFxudHIsXG50aCxcbnRkLFxuYXJ0aWNsZSxcbmFzaWRlLFxuY2FudmFzLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnksXG50aW1lLFxubWFyayxcbmF1ZGlvLFxudmlkZW8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuIiwiQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlLWxyIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cbiAgMTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICB9XG4gIDMwJSxcbiAgNTAlLFxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLThkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC04ZGVnKTtcbiAgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2hha2UtbHIge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuICAxMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7XG4gIH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLThkZWcpO1xuICB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg4ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg4ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGdvLXVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYXJ0YmVhdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgMTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45MSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkxKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICAxNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgMzMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjg3KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaGVhcnRiZWF0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuICAxMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDE3JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuICAzMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjg3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8taG9yaXpvbnRhbCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gIH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGplbGxvLWhvcml6b250YWwge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2UtaG9yaXpvbnRhbCB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7XG4gIH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XG4gIH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2hha2UtaG9yaXpvbnRhbCB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7XG4gIH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbiAgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XG4gIH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7XG4gIH1cbn1cbiIsImJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmVtcHR5LWJ0biB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uKCRiYWNrZ3JvdW5kLCAkY29sb3IsICRiZWZvcmUtYmFja2dyb3VuZCwgJGhvdmVyLXRleHQtY29sb3IpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogJHNwYWNpbmcteHMgJHNwYWNpbmctbTtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oMTRweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICB6LWluZGV4OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6ICRiZWZvcmUtYmFja2dyb3VuZDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMik7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbiAgJjpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsXG4gICY6bm90KFtkaXNhYmxlZF0pOmhvdmVyIHtcbiAgICBjb2xvcjogJGhvdmVyLXRleHQtY29sb3I7XG4gICAgJjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxufVxuXG4uYnRuIHtcbiAgQGluY2x1ZGUgYnV0dG9uKHRyYW5zcGFyZW50LCAkdGV4dC1jb2xvciwgJHRleHQtY29sb3IsIHdoaXRlKTtcbn1cblxuLmJ0bi1kYXJrIHtcbiAgQGluY2x1ZGUgYnV0dG9uKCR0ZXh0LWNvbG9yLCB3aGl0ZSwgJGFjY2VudCwgd2hpdGUpO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICBAaW5jbHVkZSBidXR0b24oJHByaW1hcnksIHdoaXRlLCAkYWNjZW50LCB3aGl0ZSk7XG59XG5cbi5idG4tYnJpZ2h0IHtcbiAgQGluY2x1ZGUgYnV0dG9uKHdoaXRlLCAkdGV4dC1jb2xvciwgJHRleHQtY29sb3IsIHdoaXRlKTtcbn1cbiIsIi8vIFRSQU5TRk9STSBQSVhFTCBUTyBSRU1cbkBmdW5jdGlvbiBjYWxjdWxhdGVSZW0oJHNpemUpIHtcbiAgJHJlbVNpemU6ICRzaXplIC8gMTZweDtcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XG59XG5cbi8vIEJBU0lDIFRSQU5TSVRJT04gVkFMVUVcbkBtaXhpbiB0cmFuc2l0aW9uKCRkdXJlZTogMC40LCAkZWZmZXQ6IGVhc2UtaW4tb3V0KSB7XG4gIHRyYW5zaXRpb246ICRkdXJlZSArIHMgYWxsICRlZmZldDtcbn1cblxuLy8gRkxFWEJPWFxuQG1peGluIGZsZXhib3goXG4gICRkaXJlY3Rpb246IHJvdyxcbiAgJGp1c3RpZnk6IGZsZXgtc3RhcnQsXG4gICRhbGlnbi1pdGVtczogc3RyZXRjaCxcbiAgJHdyYXA6IG5vd3JhcFxuKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xuICBhbGlnbi1pdGVtczogJGFsaWduLWl0ZW1zO1xuICBmbGV4LXdyYXA6ICR3cmFwO1xufVxuIiwiQGltcG9ydCBcIi4uL3V0aWxpdGllcy9taXhpbnNcIjtcblxuJHByaW1hcnk6ICNhYmMyYzY7XG4vLyAkcHJpbWFyeS1kYXJrZW46ICMxNDE0Mzg7XG4kYWNjZW50OiAjNzBhNWMzO1xuLy8gJGFjY2VudC1kYXJrZW46ICM1ZmE0MWM7XG4vLyAkd2FybmluZzogI2VhOWM1Nztcbi8vICR3YXJuaW5nLWRhcmtlbjogI2QzOTA1NTtcblxuLy8gRXhwb3J0IHVzZWZ1bGwgY29sb3JzXG4kdGV4dC1jb2xvcjogIzAwMDtcbiR0ZXh0LWxpZ2h0Y29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiRleHRyYWxpZ2h0LWdyYXk6ICNlZmVmZWY7XG4kYmctY29sb3I6ICNlNmVjZjA7XG4kb3ZlcmxheS1jb2xvcjogcmdiYSgkcHJpbWFyeSwgMC45KTtcbi8vICRsaWdodC1ncmF5OiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuLy8gJG1pZC1ncmF5OiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuLy8gJG92ZXJsYXk6IHJnYmEoMCwgMCwgMCwgMC4zMik7XG5cbi8vIEJvcmRlciByYWRpdXNcbiRiYXNpYy1yYWRpdXM6IGNhbGN1bGF0ZVJlbSg0cHgpO1xuXG4vLyBWYWx1ZVxuJHh4czogY2FsY3VsYXRlUmVtKDRweCk7XG4keHM6IGNhbGN1bGF0ZVJlbSg4cHgpO1xuJHM6IGNhbGN1bGF0ZVJlbSgxMnB4KTtcbiRyOiBjYWxjdWxhdGVSZW0oMTZweCk7XG4kbTogY2FsY3VsYXRlUmVtKDI0cHgpO1xuJGw6IGNhbGN1bGF0ZVJlbSg0OHB4KTtcbiR4bDogY2FsY3VsYXRlUmVtKDYwcHgpO1xuJHh4bDogY2FsY3VsYXRlUmVtKDgwcHgpO1xuXG4vLyBQb3NpdGl2ZSBzcGFjaW5nXG4kc3BhY2luZy14eHM6ICR4eHM7XG4kc3BhY2luZy14czogJHhzO1xuJHNwYWNpbmctczogJHM7XG4kc3BhY2luZy1yOiAkcjtcbiRzcGFjaW5nLW06ICRtO1xuJHNwYWNpbmctbDogJGw7XG4kc3BhY2luZy14bDogJHhsO1xuJHNwYWNpbmcteHhsOiAkeHhsO1xuXG4vLyBOZWdhdGl2ZSBzcGFjaW5nXG4kbmVnLXNwYWNpbmcteHhzOiAtJHh4cztcbiRuZWctc3BhY2luZy14czogLSR4cztcbiRuZWctc3BhY2luZy1zOiAtJHM7XG4kbmVnLXNwYWNpbmctcjogLSRyO1xuJG5lZy1zcGFjaW5nLW06IC0kbTtcbiRuZWctc3BhY2luZy1sOiAtJGw7XG4kbmVnLXNwYWNpbmcteGw6IC0keGw7XG4kbmVnLXNwYWNpbmcteHhsOiAtJHh4bDtcblxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogbm9uZTtcblxuJGJhc2ljLWJvcmRlcjogMXB4IHNvbGlkICNkZWRlZGU7XG4iLCJ0YWJsZSB7XG4gIGJvcmRlcjogJGJhc2ljLWJvcmRlcjtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIHRkLFxuICB0aCB7XG4gICAgcGFkZGluZzogJHNwYWNpbmctcztcbiAgICAmLmFsaWduLWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICB0aCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJhc2ljLWJvcmRlcjtcbiAgfVxufVxuXG4uc3RyaXBlZC10YWJsZSB7XG4gIHRib2R5IHtcbiAgICB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuICAgICAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiI21haW4taGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAzMzM7XG59XG5cbiN1cHBlci1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICRiZy1jb2xvcjtcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleGJveCgkYWxpZ24taXRlbXM6IGNlbnRlciwgJGp1c3RpZnk6IHNwYWNlLWJldHdlZW4pO1xuICAgIEBpbmNsdWRlIGJwLXNtYWxsIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICAgID4gKjpub3QoZmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1tO1xuICAgIH1cbiAgICBhLFxuICAgICNlc3BhY2Utbm90YWlyZS10cmlnZ2VyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXhib3goJGFsaWduLWl0ZW1zOiBjZW50ZXIpO1xuICAgICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oMTRweCk7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICBzdmcge1xuICAgICAgICBoZWlnaHQ6IGNhbGN1bGF0ZVJlbSgxNnB4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy14eHM7XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnAtc21hbGwge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgICNjb250YWN0LXRyaWdnZXIge1xuICAgICAgJjpob3ZlciBpbWcsXG4gICAgICAmOmZvY3VzIGltZyB7XG4gICAgICAgIGFuaW1hdGlvbjogc2hha2UtbHIgMC43cyBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSlcbiAgICAgICAgICBpbmZpbml0ZSBib3RoO1xuICAgICAgfVxuICAgIH1cbiAgICAjc2VhcmNoLXRyaWdnZXIsXG4gICAgI3F1aS10cmlnZ2VyIHtcbiAgICAgICY6aG92ZXIgaW1nLFxuICAgICAgJjpmb2N1cyBpbWcge1xuICAgICAgICBhbmltYXRpb246IGplbGxvLWhvcml6b250YWwgMC45cyAwLjVzIGluZmluaXRlIGJvdGg7XG4gICAgICB9XG4gICAgfVxuICAgICNlc3BhY2Utbm90YWlyZS10cmlnZ2VyIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgcGFkZGluZzogJHNwYWNpbmcteHMgJHNwYWNpbmctbTtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBhbmltYXRpb246IGhlYXJ0YmVhdCAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlIGJvdGg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2JvdHRvbS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleGJveCgkanVzdGlmeTogc3BhY2UtYmV0d2VlbiwgJGFsaWduLWl0ZW1zOiBzdHJldGNoKTtcbiAgICBAaW5jbHVkZSBicC1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgZmxleGJveCgkanVzdGlmeTogc3BhY2UtYmV0d2VlbiwgJGFsaWduLWl0ZW1zOiBjZW50ZXIpO1xuICAgIH1cbiAgfVxuICAjbG9nby1saW5rIHtcbiAgICBtYXJnaW46ICRzcGFjaW5nLXhzIDA7XG4gICAgaW1nIHtcbiAgICAgICYjbG9nby1pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogY2FsY3VsYXRlUmVtKDMwcHgpO1xuICAgICAgICBAaW5jbHVkZSBicC1sYXJnZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJiNsb2dvLXNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnAtbGFyZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogY2FsY3VsYXRlUmVtKDMwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zdWItY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4Ym94KCRhbGlnbi1pdGVtczogY2VudGVyKTtcbiAgfVxufVxuXG4jb3JkZXItdHJpZ2dlciB7XG4gIEBpbmNsdWRlIGZsZXhib3goJGFsaWduLWl0ZW1zOiBjZW50ZXIpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgQGluY2x1ZGUgYnAtbWVkaXVtIHtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAkc3BhY2luZy1zIDA7XG4gIH1cbn1cblxuI25hdi10cmlnZ2VyIHtcbiAgQGluY2x1ZGUgZmxleGJveCgkanVzdGlmeTogY2VudGVyLCAkZGlyZWN0aW9uOiBjb2x1bW4sICRhbGlnbi1pdGVtczogY2VudGVyKTtcbiAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLW07XG4gIEBpbmNsdWRlIGJwLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIGRpdiB7XG4gICAgaGVpZ2h0OiBjYWxjdWxhdGVSZW0oMThweCk7XG4gICAgd2lkdGg6IGNhbGN1bGF0ZVJlbSgyNHB4KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMik7XG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogY2FsY3VsYXRlUmVtKDJweCk7XG4gICAgICB3aWR0aDogY2FsY3VsYXRlUmVtKDI0cHgpO1xuICAgICAgYmFja2dyb3VuZDogJHRleHQtY29sb3I7XG4gICAgICBtYXJnaW46IGNhbGN1bGF0ZVJlbSgzcHgpIDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMik7XG4gICAgfVxuICB9XG4gICY6bm90KC5vcGVuKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGRpdiB7XG4gICAgICAgIGhlaWdodDogY2FsY3VsYXRlUmVtKDI2cHgpO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW46IGNhbGN1bGF0ZVJlbSg1cHgpIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5vcGVuIHtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgZGl2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtNHB4LCA0cHgpO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDRweCwgNHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jbWFpbi1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICY6bm90KFtjbGFzc149XCJidG5cIl0pIHtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5vcGVuIHtcbiAgICBAaW5jbHVkZSBmbGV4Ym94KFxuICAgICAgJGRpcmVjdGlvbjogY29sdW1uLFxuICAgICAgJGp1c3RpZnk6IGNlbnRlcixcbiAgICAgICRhbGlnbi1pdGVtczogY2VudGVyXG4gICAgKTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHotaW5kZXg6IDY2NjtcbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKDE2cHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnAtbGFyZ2Uge1xuICAgIEBpbmNsdWRlIGZsZXhib3goJGFsaWduLWl0ZW1zOiBjZW50ZXIpO1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oMTRweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLW07XG4gICAgICAmOm5vdChbY2xhc3NePVwiYnRuXCJdKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmcteHMgMDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGN1bGF0ZVJlbSg0cHgpO1xuICAgICAgICAgIHdpZHRoOiBjYWxjdWxhdGVSZW0oNDBweCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBib3R0b206ICRuZWctc3BhY2luZy1zO1xuICAgICAgICAgICAgLnNjcm9sbCAmIHtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gYnAtZXh0cmFsYXJnZSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicC1sYXJnZSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicC1tZWRpdW0ge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicC1yZWd1bGFyIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjY3cHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnAtc21hbGwge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIHRvIHNldCBicmVha3BvaW50cyA6XG4vLyBlbGVtZW50IHtcbi8vICAgQGluY2x1ZGUgYnAtc21hbGwge1xuLy8gICB9XG4vLyB9XG4iLCIjbWFpbi1mb290ZXIge1xuICBwYWRkaW5nOiAkc3BhY2luZy1tIDA7XG4gIG1hcmdpbi10b3A6ICRzcGFjaW5nLW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZXh0cmFsaWdodC1ncmF5O1xuICBAaW5jbHVkZSBicC1tZWRpdW0ge1xuICAgIEBpbmNsdWRlIGZsZXhib3goJGp1c3RpZnk6IHNwYWNlLWJldHdlZW4sICRhbGlnbi1pdGVtczogY2VudGVyKTtcbiAgfVxufVxuXG4uZm9vdGVyLWVsZW1lbnQge1xuICBAaW5jbHVkZSBmbGV4Ym94KCRqdXN0aWZ5OiBjZW50ZXIpO1xuICAmICsgLmZvb3Rlci1lbGVtZW50IHtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy14cztcbiAgICBAaW5jbHVkZSBicC1tZWRpdW0ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgYSB7XG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oMTRweCk7XG4gICAgY29sb3I6ICR0ZXh0LWxpZ2h0Y29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFjY2VudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICAmICsgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiBjYWxjdWxhdGVSZW0oMXB4KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZXh0cmFsaWdodC1ncmF5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6ICRuZWctc3BhY2luZy1zO1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keSB7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IGNhbGN1bGF0ZVJlbSgxMTlweCkgMCAwIDA7XG4gIEBpbmNsdWRlIGJwLW1lZGl1bSB7XG4gICAgcGFkZGluZzogY2FsY3VsYXRlUmVtKDEzMHB4KSAwIDAgMDtcbiAgfVxufVxuIiwiLmNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1tO1xuICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLW07XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDhweCkge1xuICAgIG1heC13aWR0aDogY2FsY3VsYXRlUmVtKDEzMDBweCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLnNtYWxsLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1tO1xuICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLW07XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDhweCkge1xuICAgIG1heC13aWR0aDogY2FsY3VsYXRlUmVtKDEwMDBweCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuI2Jhbm5lci1oZWFkZXIge1xuICBoZWlnaHQ6IGNhbGN1bGF0ZVJlbSgyMDBweCk7XG4gIEBpbmNsdWRlIGJwLWxhcmdlIHtcbiAgICBoZWlnaHQ6IGNhbGN1bGF0ZVJlbSgzNjBweCk7XG4gIH1cbiAgQGluY2x1ZGUgYnAtZXh0cmFsYXJnZSB7XG4gICAgaGVpZ2h0OiBjYWxjdWxhdGVSZW0oNDYwcHgpO1xuICB9XG59XG5cbnNlY3Rpb24ge1xuICBwYWRkaW5nOiAkc3BhY2luZy1sIDA7XG4gIGg0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oMThweCk7XG4gICAgbGluZS1oZWlnaHQ6IGNhbGN1bGF0ZVJlbSgyM3B4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yM2VtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAwIDAgJHNwYWNpbmcteHMgMDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHdpZHRoOiBjYWxjdWxhdGVSZW0oNzBweCk7XG4gICAgICBoZWlnaHQ6IGNhbGN1bGF0ZVJlbSg0cHgpO1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgfVxuICB9XG59XG5cbi52ZW50ZXMtZXhwbGFuYXRpb24ge1xuICAuY29udGVudCB7XG4gICAgQGluY2x1ZGUgZmxleGJveCgkZGlyZWN0aW9uOiBjb2x1bW4sICRhbGlnbi1pdGVtczogY2VudGVyKTtcbiAgICBtYXJnaW46ICRzcGFjaW5nLWwgMCAwIDA7XG4gICAgQGluY2x1ZGUgYnAtcmVndWxhciB7XG4gICAgICBAaW5jbHVkZSBmbGV4Ym94KCRkaXJlY3Rpb246IHJvdywgJGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0KTtcbiAgICB9XG4gICAgPiBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBicC1yZWd1bGFyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjdWxhdGVSZW0oMjAwcHgpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnAtbWVkaXVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjdWxhdGVSZW0oMzUwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgICA+IGRpdiB7XG4gICAgICBtYXJnaW46ICRzcGFjaW5nLW0gMCAwIDA7XG4gICAgICBAaW5jbHVkZSBicC1yZWd1bGFyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkc3BhY2luZy1tO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnAtbWVkaXVtIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkc3BhY2luZy1sO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnAtbGFyZ2Uge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRzcGFjaW5nLXhsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2ltcGxlLWxpbmsge1xuICBjb2xvcjogJHByaW1hcnk7XG59XG4iLCIuaW50cm8ge1xuICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgyNHB4KTtcbiAgbGluZS1oZWlnaHQ6IGNhbGN1bGF0ZVJlbSgzNnB4KTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuc3VwIHtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICBmb250LXNpemU6IHNtYWxsZXI7XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oMjJweCk7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjdWxhdGVSZW0oMzBweCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwICRzcGFjaW5nLXhzIDA7XG59XG5cbnAge1xuICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgxNnB4KTtcbiAgbGluZS1oZWlnaHQ6IGNhbGN1bGF0ZVJlbSgyNHB4KTtcbiAgJiArIHAge1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLW07XG4gIH1cbn1cbiIsIiNsb2NhdGlvbi1zZXJ2aWNlcyB7XG4gICNiYW5uZXItaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZpY2VzLXBhZ2UtYmFubmVyLnBuZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgcGFkZGluZzogJHNwYWNpbmcteHhsICRzcGFjaW5nLW0gJHNwYWNpbmctbSAkc3BhY2luZy1tO1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBicC1leHRyYWxhcmdlIHtcbiAgICAgIGhlaWdodDogY2FsY3VsYXRlUmVtKDQ2MHB4KTtcbiAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXh4bCAkc3BhY2luZy1tICRzcGFjaW5nLWwgJHNwYWNpbmctbTtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBicC1sYXJnZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3goXG4gICAgICAgICAgJGRpcmVjdGlvbjogY29sdW1uLFxuICAgICAgICAgICRqdXN0aWZ5OiBmbGV4LWVuZCxcbiAgICAgICAgICAkYWxpZ24taXRlbXM6IGZsZXgtc3RhcnRcbiAgICAgICAgKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKDEycHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBjYWxjdWxhdGVSZW0oMXB4KTtcbiAgICB9XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oNDhweCk7XG4gICAgICBsaW5lLWhlaWdodDogY2FsY3VsYXRlUmVtKDQ4cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbjogJHNwYWNpbmcteHMgMCAkc3BhY2luZy14cyAwO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgxNnB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuICAgIC5idG4tYnJpZ2h0IHtcbiAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLW07XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbiB7XG4gICAgJjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gICAgfVxuICAgICYgKyBzZWN0aW9uLmNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy1sO1xuICAgIH1cbiAgfVxufVxuI3NlY3Rpb24tc2VydmljZXMge1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBicC1yZWd1bGFyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXhib3goJGp1c3RpZnk6IGNlbnRlciwgJGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0KTtcbiAgICB9XG4gIH1cbiAgLnNlcnZpY2Uge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4yKTtcbiAgICBAaW5jbHVkZSBmbGV4Ym94KFxuICAgICAgJGRpcmVjdGlvbjogY29sdW1uLFxuICAgICAgJGFsaWduLWl0ZW1zOiBjZW50ZXIsXG4gICAgICAkanVzdGlmeTogY2VudGVyXG4gICAgKTtcbiAgICBAaW5jbHVkZSBicC1yZWd1bGFyIHtcbiAgICAgIGZsZXg6IDEgMTtcbiAgICB9XG4gICAgcGljdHVyZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgd2lkdGg6IGNhbGN1bGF0ZVJlbSg4MHB4KTtcbiAgICAgIGhlaWdodDogY2FsY3VsYXRlUmVtKDgwcHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogY2FsY3VsYXRlUmVtKDgwcHgpO1xuICAgICAgYm9yZGVyOiA1cHggc29saWQgJGJnLWNvbG9yO1xuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogY2FsY3VsYXRlUmVtKDMwcHgpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIGg2IHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKDIycHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGNhbGN1bGF0ZVJlbSgzMHB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luOiAkc3BhY2luZy14eHMgMCAkc3BhY2luZy14cyAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgQGluY2x1ZGUgYnAtcmVndWxhciB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmcteHMgMCAkc3BhY2luZy1zIDA7XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAuYnRuLXByaW1hcnkge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYgKyAuc2VydmljZSB7XG4gICAgICBtYXJnaW46ICRzcGFjaW5nLWwgMCAwIDA7XG4gICAgICBAaW5jbHVkZSBicC1yZWd1bGFyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkc3BhY2luZy1sO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc3ViLXNlY3Rpb24ge1xuICAuc2VjdGlvbi1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZsZXhib3goJGFsaWduLWl0ZW1zOiBmbGV4LWVuZCk7XG4gICAgLnNlY3Rpb24tbnVtYmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKDQ4cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGNhbGN1bGF0ZVJlbSg0OHB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLW07XG4gICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgfVxuICAgIHAge1xuICAgICAgY29sb3I6ICR0ZXh0LWxpZ2h0Y29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogY2FsY3VsYXRlUmVtKDI0cHgpO1xuICAgIH1cbiAgfVxuICAuc2VjdGlvbi1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLW07XG4gICAgQGluY2x1ZGUgZmxleGJveCgkanVzdGlmeTogZmxleC1lbmQpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGV4dC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwICRzcGFjaW5nLXM7XG4gICAgICBAaW5jbHVkZSBmbGV4Ym94KCRhbGlnbi1pdGVtczogY2VudGVyKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGNhbGN1bGF0ZVJlbSgxMnB4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy14cztcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgxMnB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGN1bGF0ZVJlbSgxMnB4KTtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgfVxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIGFuaW1hdGlvbjogZ28tdXAgMC43NXMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICY6bnRoLW9mLXR5cGUoZXZlbikgLnNlY3Rpb24tZm9vdGVyIGEge1xuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvcjtcbiAgfVxuICAmOm50aC1vZi10eXBlKG9kZCkgLnNlY3Rpb24tZm9vdGVyIGEge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICB9XG59XG5cbi5zZXJ2aWNlcy1saXN0IHtcbiAgQGluY2x1ZGUgZmxleGJveCgkZGlyZWN0aW9uOiBjb2x1bW4pO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogJHNwYWNpbmctbSAkbmVnLXNwYWNpbmcteHMgJG5lZy1zcGFjaW5nLXhzICRuZWctc3BhY2luZy14cztcbiAgQGluY2x1ZGUgYnAtcmVndWxhciB7XG4gICAgbWFyZ2luOiAkc3BhY2luZy1tICRuZWctc3BhY2luZy1zICRuZWctc3BhY2luZy1zICRuZWctc3BhY2luZy1zO1xuICAgIEBpbmNsdWRlIGZsZXhib3goJHdyYXA6IHdyYXApO1xuICB9XG59XG5cbi5zZXJ2aWNlcy1lbGVtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGNhbGN1bGF0ZVJlbSgyNzBweCk7XG4gIG1hcmdpbjogJHNwYWNpbmcteHM7XG4gIEBpbmNsdWRlIGJwLXJlZ3VsYXIge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzJweCkgLyAyKTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAaW5jbHVkZSBicC1sYXJnZSB7XG4gICAgbWFyZ2luOiAkc3BhY2luZy1zO1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gOTZweCkgLyA0KTtcbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA1MCUsICMwMDAgMTAwJSk7XG4gICAgb3BhY2l0eTogMC44O1xuICB9XG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1tO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaDYge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKDE4cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGNhbGN1bGF0ZVJlbSgyMHB4KTtcbiAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLXh4cyAwO1xuICAgIH1cbiAgICAuaG92ZXItaW5kaWNhdGlvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGN1bGF0ZVJlbSgyMHB4KTtcbiAgICAgIHJpZ2h0OiBjYWxjdWxhdGVSZW0oMjBweCk7XG4gICAgICB3aWR0aDogY2FsY3VsYXRlUmVtKDI0cHgpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjIpO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTUwbXM7XG4gICAgfVxuICAgIC5jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGZsZXhib3goJGRpcmVjdGlvbjogY29sdW1uLCAkanVzdGlmeTogY2VudGVyKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMzUlO1xuICAgICAgcGFkZGluZzogJHNwYWNpbmctbTtcbiAgICAgIGJhY2tncm91bmQ6ICRvdmVybGF5LWNvbG9yO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjIpO1xuICAgICAgLnN1Yi1jb250YWluZXIge1xuICAgICAgICBoNiB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgxNHB4KTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29tbWFuZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAuaG92ZXItaW5kaWNhdGlvbiB7XG4gICAgICAgIHJpZ2h0OiBjYWxjdWxhdGVSZW0oLTYwcHgpO1xuICAgICAgfVxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KCRkaXJlY3Rpb246IGNvbHVtbiwgJGp1c3RpZnk6IHNwYWNlLWJldHdlZW4pO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC5zdWItY29udGFpbmVyIHAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKDE0cHgpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjdWxhdGVSZW0oMTlweCk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctbTtcbiAgICAgICAgfVxuICAgICAgICAuY29tbWFuZCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3goJGFsaWduLWl0ZW1zOiBjZW50ZXIpO1xuICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLW07XG4gICAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLW07XG4gICAgICAgICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oMTJweCk7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjdWxhdGVSZW0oNTBweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGN1bGF0ZVJlbSgxcHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjdWxhdGVSZW0oMTVweCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXhzO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIGltZyB7XG4gICAgICAgICAgICBhbmltYXRpb246IHNoYWtlLWhvcml6b250YWwgMS44c1xuICAgICAgICAgICAgICBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSkgaW5maW5pdGUgYm90aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI3NlcnZpY2UtcGViIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2aWNlcy9zZXJ2aWNlLXBlYi5qcGcpIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiNzZXJ2aWNlLWVsZWMge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZpY2VzL3NlcnZpY2UtZWxlYy5qcGcpIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiNzZXJ2aWNlLWNpdGVybmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZpY2VzL3NlcnZpY2UtY2l0ZXJuZS5qcGcpIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiNzZXJ2aWNlLWdheiB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VydmljZXMvc2VydmljZS1nYXouanBnKSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4jc2VydmljZS1waG90byB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VydmljZXMvc2VydmljZS1waG90by5qcGcpIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiNzZXJ2aWNlLXBsYW5zIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2aWNlcy9zZXJ2aWNlLXBsYW5zLmpwZykgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuI3NlcnZpY2UtMzYwIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2aWNlcy9zZXJ2aWNlLTM2MC5qcGcpIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiNzZXJ2aWNlLWRyb25lIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2aWNlcy9zZXJ2aWNlLWRyb25lLmpwZykgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuI3NlcnZpY2UtdmlkZW8ge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZpY2VzL3NlcnZpY2UtdmlkZW8uanBnKSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4jc2VydmljZS1saXZyZXQge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZpY2VzL3NlcnZpY2UtbGl2cmV0RGVzY3JpcHRpZi5qcGcpIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiNzZXJ2aWNlLXdlYnNpdGUge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZpY2VzL3NlcnZpY2UtbWluaVNpdGUuanBnKSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4jc2VydmljZS1wbGFjZW1lbnQge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZpY2VzL3NlcnZpY2UtcGxhY2VtZW50LmpwZykgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuI3NlcnZpY2UtYmlkZGl0IHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2aWNlcy9zZXJ2aWNlLWJpZGRpdC5qcGcpIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiNzZXJ2aWNlLXBhbm5lYXUtc3VybWVzdXJlIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2aWNlcy9zZXJ2aWNlLXBhbm5lYXVNZXN1cmUuanBnKSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4jc2VydmljZS1zbXMge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZpY2VzL3NlcnZpY2Utc21zLmpwZykgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuI3NlcnZpY2UtcGFubmVhdS1wZXJzb25hbGlzZSB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VydmljZXMvc2VydmljZS1wYW5uZWF1LXBlcnNvbmFsaXNlLmpwZykgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuI3NlcnZpY2UtbG9jYXRpb24tc2FsbGUge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZpY2VzL3NlcnZpY2UtbG9jYXRpb24tc2FsbGUuanBnKSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4jc2VydmljZS1hZmZpY2hlcyB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VydmljZXMvc2VydmljZS1hZmZpY2hlcy5qcGcpIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiNzZXJ2aWNlLXZpc2l0ZXMge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZpY2VzL3NlcnZpY2UtaGFpbmF1dC5qcGcpIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiNzZXJ2aWNlLXBhbm5lYXV4IHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2aWNlcy9zZXJ2aWNlLWhhaW5hdXQuanBnKSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4jc2VydmljZS1wYXBpZXJzLWFjdGVzIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2aWNlcy9zZXJ2aWNlLWhhaW5hdXQuanBnKSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4jc2VydmljZS1wdWJsaWNpdGUtcGFwaWVyIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2aWNlcy9zZXJ2aWNlLXB1YmxpY2l0ZS1wYXBpZXIuanBnKSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbiNzbG9nYW4ge1xuICBtYXJnaW4tdG9wOiAkc3BhY2luZy14bDtcbiAgcGFkZGluZzogJHNwYWNpbmcteHhsICRzcGFjaW5nLW07XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZm9vdGVyLXNsb2dhbi1iYWNrZ3JvdW5kLnBuZykgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIEBpbmNsdWRlIGJwLW1lZGl1bSB7XG4gICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICBoZWlnaHQ6IGNhbGN1bGF0ZVJlbSg0NTBweCk7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGFjY2VudCAwJSwgJHByaW1hcnkgMTAwJSk7XG4gICAgb3BhY2l0eTogMC43NDtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICBoMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKDQ4cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjdWxhdGVSZW0oNjBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogY2FsY3VsYXRlUmVtKDg2MHB4KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB6LWluZGV4OiAxO1xuICAgIEBpbmNsdWRlIGJwLW1lZGl1bSB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIjbG9jYXRpb24tdmVudGVzLWJpZGRpdCB7XG4gICNiYW5uZXItaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JpZGRpdC1iYW5uZXIucG5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGNhbGN1bGF0ZVJlbSgyMDBweCk7XG4gICAgICAgIEBpbmNsdWRlIGJwLW1lZGl1bSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb250ZW50IHtcbiAgICBoNSB7XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy1tIDAgJHNwYWNpbmcteHMgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLW07XG4gICAgICBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmcteHM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIjbG9jYXRpb24tdmVudGVzLXB1YmxpcXVlcyB7XG4gICNiYW5uZXItaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3ZlbnRlcy1wdWJsaXF1ZXMtYmFubmVyLnBuZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cbiAgLmNvbnRlbnQsXG4gIC5tb3JlLWNvbnRlbnQge1xuICAgIGg1IHtcbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLW0gMCAkc3BhY2luZy14cyAwO1xuICAgICAgfVxuICAgIH1cbiAgICBvbCB7XG4gICAgICBtYXJnaW46ICRzcGFjaW5nLW0gMCAwICRzcGFjaW5nLW07XG4gICAgICA+IGxpIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAgJHNwYWNpbmctbTtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy1zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmICsgbGkge1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmctbSAwIDAgMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubW9yZS1jb250ZW50IHtcbiAgICBtYXJnaW46ICRzcGFjaW5nLW0gMCAwIDA7XG4gIH1cbn1cbiIsIiNsb2NhdGlvbi12ZW50ZXMtZ3JlLWEtZ3JlIHtcbiAgI2Jhbm5lci1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvdmVudGVzLWdyZS1hLWdyZS1iYW5uZXIucG5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuICAuY29udGVudCxcbiAgLm1vcmUtY29udGVudCB7XG4gICAgaDUge1xuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctbSAwICRzcGFjaW5nLXhzIDA7XG4gICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy1tO1xuICAgICAgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLXhzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubW9yZS1jb250ZW50IHtcbiAgICBtYXJnaW46ICRzcGFjaW5nLW0gMCAwIDA7XG4gIH1cbn1cbiIsIiNsb2NhdGlvbi1jb250YWN0IHtcbiAgI2Jhbm5lci1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY29udGFjdC1wYWdlLWJhbm5lci5wbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG59XG5cbiNjb250YWN0LWNvbnRlbnQtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleGJveCgkZGlyZWN0aW9uOiBjb2x1bW4sICRhbGlnbi1pdGVtczogY2VudGVyKTtcbiAgLmludHJvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuI2NvbnRhY3Qtb2ZmaWNlIHtcbiAgbWFyZ2luOiAwIDAgJHNwYWNpbmctciAwO1xuICBAaW5jbHVkZSBicC1tZWRpdW0ge1xuICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLW0gMDtcbiAgfVxuICAuY29udGFjdC1vZmZpY2UtZWxlbWVudCB7XG4gICAgYm9yZGVyOiAkYmFzaWMtYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYXNpYy1yYWRpdXM7XG5cbiAgICBoNiB7XG4gICAgICBwYWRkaW5nOiAkc3BhY2luZy1zO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGJhc2ljLWJvcmRlcjtcbiAgICB9XG4gICAgLmNvbnRhY3QtZGV0YWlscyB7XG4gICAgICBwYWRkaW5nOiAkc3BhY2luZy1zO1xuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLXhzIDA7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNjb250YWN0LWZvcm0ge1xuICBAaW5jbHVkZSBmbGV4Ym94KCRkaXJlY3Rpb246IGNvbHVtbik7XG4gIG1hcmdpbjogJHNwYWNpbmctciAwIDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGJwLXJlZ3VsYXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogJHNwYWNpbmcteHMgJG5lZy1zcGFjaW5nLXhzICRuZWctc3BhY2luZy14cyAkbmVnLXNwYWNpbmcteHM7XG4gIH1cbiAgLmZvcm0tZWxlbWVudCB7XG4gICAgQGluY2x1ZGUgZmxleGJveCgkZGlyZWN0aW9uOiBjb2x1bW4pO1xuICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLXIgMDtcbiAgICBAaW5jbHVkZSBicC1yZWd1bGFyIHtcbiAgICAgIG1hcmdpbjogJHNwYWNpbmcteHM7XG4gICAgICAmI2NvbnRhY3QtZmlyc3RuYW1lLFxuICAgICAgJiNjb250YWN0LWxhc3RuYW1lIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMnB4KSAvIDIpO1xuICAgICAgfVxuICAgICAgJiNjb250YWN0LWVtYWlsLFxuICAgICAgJiNjb250YWN0LXN1YmplY3QsXG4gICAgICAmI2NvbnRhY3QtbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBAaW5jbHVkZSBicC1yZWd1bGFyIHtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy14cztcbiAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmcteHMgMDtcbiAgICB9XG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEge1xuICAgICAgYm9yZGVyOiAkYmFzaWMtYm9yZGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJhc2ljLXJhZGl1cztcbiAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXhzO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIHRleHRhcmVhIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGN1bGF0ZVJlbSgxMDBweCk7XG4gICAgfVxuICB9XG4gICNjb250YWN0LWNvbmZpcm0ge1xuICAgIG1hcmdpbjogJHNwYWNpbmctciAwIDAgMDtcbiAgICBAaW5jbHVkZSBicC1yZWd1bGFyIHtcbiAgICAgIG1hcmdpbjogJHNwYWNpbmctciAwIDAgJHNwYWNpbmcteHM7XG4gICAgfVxuICB9XG59XG4iLCIjbG9jYXRpb24tcXVpLXNvbW1lcy1ub3VzIHtcbiAgI2Jhbm5lci1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY29udGFjdC1wYWdlLWJhbm5lci5wbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG4gIC5jb250ZW50LFxuICAubW9yZS1jb250ZW50IHtcbiAgICBoNSB7XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy1tIDAgJHNwYWNpbmcteHMgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmctbSAkc3BhY2luZy1tO1xuICAgICAgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLXhzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubW9yZS1jb250ZW50IHtcbiAgICBtYXJnaW46ICRzcGFjaW5nLW0gMCAwIDA7XG4gICAgdWwge1xuICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmcteHM7XG4gICAgfVxuICB9XG59XG4iLCIjbG9jYXRpb24tY29uZGl0aW9ucy1nZW5lcmFsZXMge1xuICBoNSB7XG4gICAgbWFyZ2luOiAkc3BhY2luZy1tIDAgJHNwYWNpbmctcyAwO1xuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW46IDAgMCAkc3BhY2luZy1zIDA7XG4gICAgfVxuICB9XG4gIHAge1xuICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLXMgMDtcbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6ICRhY2NlbnQ7XG4gICAgfVxuICAgIC5hdHRlbnRpb24ge1xuICAgICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oMjRweCk7XG4gICAgICBjb2xvcjogcmVkO1xuICAgIH1cbiAgfVxuICAjcmV2aXNpb24tZGF0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAkc3BhY2luZy1tIDAgMCAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKDEycHgpO1xuICB9XG59XG4iLCIjbG9jYXRpb24tbG9jYXRpb24tc2FsbGVzLWRldGFpbHMge1xuICAjYmFubmVyLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy92ZW50ZXMtZ3JlLWEtZ3JlLWJhbm5lci5wbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG4gIC5zdWJzZWN0aW9uIHtcbiAgICBtYXJnaW46ICRzcGFjaW5nLWwgMCAwIDA7XG4gIH1cbiAgI3NhbGxlLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleGJveCgkZGlyZWN0aW9uOiBjb2x1bW4pO1xuICAgIEBpbmNsdWRlIGJwLXJlZ3VsYXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46ICRuZWctc3BhY2luZy1zO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicC1tZWRpdW0ge1xuICAgICAgbWFyZ2luOiAkbmVnLXNwYWNpbmctbSAwO1xuICAgIH1cbiAgfVxuICAuc2FsbGUtYXZhaWxhYmxlIHtcbiAgICBib3JkZXI6ICRiYXNpYy1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGJhc2ljLXJhZGl1cztcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1yO1xuICAgIEBpbmNsdWRlIGJwLXJlZ3VsYXIge1xuICAgICAgbWFyZ2luOiAkc3BhY2luZy1zO1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA0OHB4KSAvIDIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicC1tZWRpdW0ge1xuICAgICAgbWFyZ2luOiAkc3BhY2luZy1tO1xuICAgICAgd2lkdGg6IGNhbGN1bGF0ZVJlbSg0MDBweCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwLWxhcmdlIHtcbiAgICAgIHdpZHRoOiBjYWxjdWxhdGVSZW0oNTAwcHgpO1xuICAgIH1cbiAgICBoNSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgIC52aXN1YWxzLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmbGV4Ym94KCRkaXJlY3Rpb246IGNvbHVtbik7XG4gICAgICBtYXJnaW46ICRzcGFjaW5nLXIgMDtcbiAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXIgMDtcbiAgICAgIGJvcmRlci10b3A6ICRiYXNpYy1ib3JkZXI7XG4gICAgICBib3JkZXItYm90dG9tOiAkYmFzaWMtYm9yZGVyO1xuICAgICAgQGluY2x1ZGUgYnAtcmVndWxhciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIGJwLXJlZ3VsYXIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTZweCkgLyAyKTtcbiAgICAgICAgfVxuICAgICAgICAmICsgaW1nIHtcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLXMgMCAwIDA7XG4gICAgICAgICAgQGluY2x1ZGUgYnAtcmVndWxhciB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwICRzcGFjaW5nLXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudmlzdWFscy1sZWdlbmQge1xuICAgICAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgxMnB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBicC1yZWd1bGFyIHtcbiAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAub3B0aW9ucyB7XG4gICAgICBoNiB7XG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLXMgMDtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICAgICYgKyAuc2FsbGUtYXZhaWxhYmxlIHtcbiAgICAgIG1hcmdpbjogJHNwYWNpbmctbCAwIDAgMDtcbiAgICAgIEBpbmNsdWRlIGJwLXJlZ3VsYXIge1xuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLXM7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicC1tZWRpdW0ge1xuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gICN0YWJsZS1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHRhYmxlIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuICAjdGFibGUtaW5mb3JtYXRpb24ge1xuICAgIG1hcmdpbjogJHNwYWNpbmctbSAwIDAgMDtcbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgI2NhdGVyaW5nLWxpc3Qge1xuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctbTtcbiAgICBsaSArIGxpIHtcbiAgICAgIG1hcmdpbjogJHNwYWNpbmctcyAwIDAgMDtcbiAgICB9XG4gIH1cbiAgI3NlY3JldGFyaWF0LWxpc3QtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBicC1yZWd1bGFyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXhib3goJGRpcmVjdGlvbjogcm93LCAkd3JhcDogd3JhcCk7XG4gICAgfVxuICAgIGFydGljbGUge1xuICAgICAgbWFyZ2luOiAkc3BhY2luZy1tIDAgMCAwO1xuICAgICAgQGluY2x1ZGUgYnAtcmVndWxhciB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctciAkc3BhY2luZy1sO1xuICAgICAgfVxuICAgICAgdWwge1xuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLXMgMCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctbTtcbiAgICAgICAgbGkgKyBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZy1zIDAgMCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICNhY3Rpb24tY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbiIsIiNsb2NhdGlvbi1xdWktc29tbWVzLW5vdXMgI3RlYW0tbGlzdCB7XG4gIEBpbmNsdWRlIGZsZXhib3goJGRpcmVjdGlvbjogY29sdW1uKTtcbiAgbWFyZ2luOiAkc3BhY2luZy1yIDAgMCAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIEBpbmNsdWRlIGJwLW1lZGl1bSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgbGkge1xuICAgIEBpbmNsdWRlIGZsZXhib3goJGFsaWduLWl0ZW1zOiBjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGJwLW1lZGl1bSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAmICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctbTtcbiAgICAgIEBpbmNsdWRlIGJwLW1lZGl1bSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHBpY3R1cmUge1xuICAgIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgICBoZWlnaHQ6IGNhbGN1bGF0ZVJlbSgxMDBweCk7XG4gICAgd2lkdGg6IGNhbGN1bGF0ZVJlbSgxMDBweCk7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsY3VsYXRlUmVtKDEwMHB4KTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCAkc3BhY2luZy1yIDAgMDtcbiAgICBAaW5jbHVkZSBicC1tZWRpdW0ge1xuICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmctciAwO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5pbmZvIHtcbiAgICBAaW5jbHVkZSBmbGV4Ym94KCRkaXJlY3Rpb246IGNvbHVtbik7XG4gICAgQGluY2x1ZGUgYnAtbWVkaXVtIHtcbiAgICAgIGg2LFxuICAgICAgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19 */
