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

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

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

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

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

h1 {
    font-size: 2.25rem;
    font-weight: 300;
    letter-spacing: 0.5px;
    margin-bottom: 2.5rem
}

h2 {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase
}

h3 {
    font-size: 1.5rem
}

h4 {
    font-size: 1.1rem;
    letter-spacing: 0.5px
}

h5 {
    font-size: 0.75rem;
    text-transform: uppercase
}

p,
.p {
    font-size: 1rem
}

strong {
    font-weight: 500
}

@media screen and (max-width: 640px) {
    h1 {
        font-size: 1.75rem
    }
    h4 {
        font-size: 1.5rem
    }
}

html,
body {
    background-color: #fff;
    color: #222;
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    font-weight: 300;
    height: 100%;
    line-height: 1.5;
    position: relative
}

a,
a:hover {
    color: inherit;
    text-decoration: none
}

img {
    max-width: 100%
}

.h3,
.main-empresas h3,
.main-hacemos h3,
.main-contacto h3 {
    display: block;
    position: relative;
    color: #333;
    font-size: 1.75rem;
    text-transform: uppercase;
    font-weight: 300
}

.h3 strong,
.main-empresas h3 strong,
.main-hacemos h3 strong,
.main-contacto h3 strong {
    font-weight: 700
}

.h3:before,
.main-empresas h3:before,
.main-hacemos h3:before,
.main-contacto h3:before,
.h3:after,
.main-empresas h3:after,
.main-hacemos h3:after,
.main-contacto h3:after {
    height: 2px;
    background-color: #e2e2e2;
    display: block;
    position: absolute;
    content: '';
    top: 20px;
    width: 15%
}

.h3:before,
.main-empresas h3:before,
.main-hacemos h3:before,
.main-contacto h3:before {
    right: 0
}

.h3:after,
.main-empresas h3:after,
.main-hacemos h3:after,
.main-contacto h3:after {
    left: 0
}

@media screen and (max-width: 480px) {
    .h3:before,
    .main-empresas h3:before,
    .main-hacemos h3:before,
    .main-contacto h3:before,
    .h3:after,
    .main-empresas h3:after,
    .main-hacemos h3:after,
    .main-contacto h3:after {
        top: 14px;
        width: 20%
    }
}

.main-header-social {
    position: absolute;
    left: 0;
    right: 0;
    top: 28px;
    z-index: 20
}

.main-header-social ul>li a {
    color: #fff
}

.main-header {
    position: absolute;
    left: 0;
    right: 0;
    top: 70px;
    z-index: 30;
    -webkit-transition: background .5s ease-in-out;
    -webkit-transition: background 0.5s ease-in-out;
    transition: background 0.5s ease-in-out
}

.main-header .logo-alt {
    display: none;
    margin-top: 20px
}

@media screen and (max-width: 1024px) {
    .main-header .menu-header {
        margin-top: 20px;
        display: block
    }
}

.main-header .menu-header>ul {
    display: inline-block;
    vertical-align: middle
}

@media screen and (max-width: 1024px) {
    .main-header .menu-header>ul {
        display: none
    }
}

.main-header .menu-header>ul>li {
    margin-left: 10px
}

.main-header .menu-header>ul>li>a {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #fff;
    line-height: 91px;
    text-transform: uppercase;
    text-decoration: none
}

.main-header .menu-header>ul>li>a:hover {
    color: #da162b
}

.main-header .menu-header>ul>li.active>a {
    color: #da162b
}

.main-header .primary-nav-trigger {
    display: none;
    float: right;
    margin-top: 10px;
    margin-right: 10px
}

@media screen and (max-width: 1024px) {
    .main-header .primary-nav-trigger {
        display: inline-block
    }
}

.main-header .primary-nav-trigger .burger-icon {
    position: relative;
    margin-top: 8px;
    margin-bottom: 8px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.main-header .primary-nav-trigger .burger-icon,
.main-header .primary-nav-trigger .burger-icon::before,
.main-header .primary-nav-trigger .burger-icon::after {
    display: block;
    width: 25px;
    height: 3px;
    background-color: #c5c5c4;
    -webkit-transition-property: background-color, -webkit-transform;
    transition-property: background-color, -webkit-transform;
    transition-property: background-color, transform;
    transition-property: background-color, transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.main-header .primary-nav-trigger .burger-icon::before,
.main-header .primary-nav-trigger .burger-icon::after {
    position: absolute;
    content: ""
}

.main-header .primary-nav-trigger .burger-icon::before {
    top: -8px
}

.main-header .primary-nav-trigger .burger-icon::after {
    top: 8px
}

.main-header .primary-nav-trigger.is-clicked .burger-icon {
    background-color: transparent
}

.main-header .primary-nav-trigger.is-clicked .burger-icon::before {
    -webkit-transform: translateY(8px) rotate(45deg);
    transform: translateY(8px) rotate(45deg)
}

.main-header .primary-nav-trigger.is-clicked .burger-icon::after {
    -webkit-transform: translateY(-8px) rotate(-45deg);
    transform: translateY(-8px) rotate(-45deg)
}

.main-header .dropdown-lang-menu {
    position: relative;
    width: 70px;
    height: 40px;
    vertical-align: middle;
    background-color: transparent;
    cursor: pointer;
    outline: none;
    display: inline-block;
    z-index: 10;
    line-height: 30px;
    padding: 5px 15px;
    top: -2px;
    text-align: left
}

.main-header .dropdown-lang-menu>span {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none
}

.main-header .dropdown-lang-menu:after {
    content: "\f0d7";
    display: block;
    position: absolute;
    right: 15px;
    top: 50%;
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: .5;
    color: #fff;
    font-size: 16px;
    font-family: 'FontAwesome';
    margin-top: -14px
}

.main-header .dropdown-lang-menu .dropdown-lang {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 30px 15px 0px;
    border-radius: inherit;
    border: 1px solid #e6e8ea;
    font-weight: normal;
    -webkit-transition: all .5s ease-in;
    -webkit-transition: all 0.5s ease-in;
    transition: all 0.5s ease-in;
    list-style: none;
    opacity: 0;
    pointer-events: none;
    width: 70px;
    background-color: #fff;
    border-radius: 15px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    z-index: -1
}

.main-header .dropdown-lang-menu .dropdown-lang li {
    margin: 0;
    padding: 0
}

.main-header .dropdown-lang-menu .dropdown-lang li a {
    line-height: 36px;
    color: #666;
    -webkit-transition: all .3s ease-out;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    text-align: left;
    text-decoration: none;
    font-size: 0.8125rem;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: none
}

.main-header .dropdown-lang-menu .dropdown-lang li:hover a {
    color: #da162b
}

.main-header .dropdown-lang-menu .dropdown-lang li:active a {
    color: #da162b
}

.main-header .dropdown-lang-menu.active span {
    color: #666
}

.main-header .dropdown-lang-menu.active:after {
    color: #666
}

.main-header .dropdown-lang-menu.active .dropdown-lang {
    opacity: 1;
    pointer-events: auto
}

.main-header.sticky,
.main-header.menu-is-open {
    position: fixed;
    background-color: #fff;
    box-shadow: 0 4px 0 rgba(10, 10, 10, 0.2);
    top: 0;
    z-index: 70;
    height: 80px
}

.main-header.sticky .logo,
.main-header.menu-is-open .logo {
    display: none
}

.main-header.sticky .logo-alt,
.main-header.menu-is-open .logo-alt {
    display: block
}

.main-header.sticky .menu-header>ul>li>a,
.main-header.menu-is-open .menu-header>ul>li>a {
    color: #bbb
}

.main-header.sticky .menu-header>ul>li>a:hover,
.main-header.menu-is-open .menu-header>ul>li>a:hover {
    color: #da162b
}

.main-header.sticky .menu-header>ul>li.active>a,
.main-header.menu-is-open .menu-header>ul>li.active>a {
    color: #da162b
}

.main-header.sticky .dropdown-lang-menu span,
.main-header.menu-is-open .dropdown-lang-menu span {
    color: #bbb
}

.main-header.sticky .dropdown-lang-menu:after,
.main-header.menu-is-open .dropdown-lang-menu:after {
    color: #bbb
}

.main-hero {
    position: relative;
    z-index: 10;
    height: 100%;
    display: block
}

.main-hero #slider {
    height: 100%
}

.main-hero #slider .item-slider {
    display: block;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 100%;
    width: 100%;
    display: table;
    position: relative
}

.main-hero #slider .item-slider:before {
    content: '';
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    z-index: 2
}

.main-hero #slider .item-slider .item-inner {
    vertical-align: middle;
    display: table-cell;
    position: relative;
    z-index: 10
}

.main-hero #slider .item-slider h2 {
    font-size: 3.875rem;
    font-weight: 700;
    color: #fff;
    text-align: left
}

.main-hero #slider .item-slider p {
    font-size: 1.1875rem;
    font-weight: 300;
    color: #fff
}

.main-hero #slider .item-slider p strong {
    font-size: 0.9375rem
}

.main-hero .bx-viewport,
.main-hero .bx-wrapper {
    position: relative;
    width: 100%;
    height: 100% !important;
    top: 0;
    left: 0
}

.main-hero .bxslider,
.main-hero .bxslider li {
    height: 100% !important
}

.main-hero .bx-controls .bx-prev,
.main-hero .bx-controls .bx-next {
    position: absolute;
    top: 50%;
    bottom: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 50;
    width: 27px;
    height: 50px;
    font-size: 0
}

.main-hero .bx-controls .bx-prev {
    left: 10px;
    background-image: url("../img/img_arrow_left.png")
}

.main-hero .bx-controls .bx-next {
    right: 10px;
    background-image: url("../img/img_arrow_right.png")
}

@media screen and (max-width: 640px) {
    .main-hero .bx-controls {
        display: none
    }
}

.main-nosotros .block-module-nosotros {
    background-repeat: no-repeat;
    background-position: center top;
    background-image: url("../img/bkg_mapa.jpg");
    padding: 150px 0 45px;
}

.main-nosotros .block-module-nosotros h2 {
    color: #333;
    font-size: 3.875rem;
    font-weight: 700
}

.main-nosotros .block-module-nosotros h2 small {
    color: #999;
    font-size: 1.625rem;
    font-weight: 300
}

@media screen and (max-width: 640px) {
    .main-nosotros .block-module-nosotros h2 {
        font-size: 2.25rem
    }
}

.main-nosotros .block-module-nosotros p.lead {
    font-size: 1.313rem;
    margin-top: 50px
}

.main-nosotros .block-module-nosotros p.info {
    font-size: 0.8125rem;
    font-weight: 600;
    margin-top: 40px
}

.main-nosotros .block-module-quienes {
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("../img/bkg_quienes.jpg");
    padding: 70px 0
}

.main-nosotros .block-module-quienes h3 {
    color: #333;
    font-size: 1.5625rem;
    font-weight: 700
}

.main-nosotros .block-module-quienes p {
    color: #999;
    font-size: 1.0625rem
}

.main-nosotros .block-module-quienes p strong {
    color: #666;
    font-weight: 600;
    line-height: 24px
}

.main-empresas {
    background-color: #f6f8f9;
    padding: 80px 0
}

.main-empresas .block-info-hacemos {
    margin-top: 40px
}

.main-empresas .block-info-hacemos figure {
    margin: 0;
    padding: 0;
    height: 100px
}

.main-empresas .block-info-hacemos h5 {
    color: #333;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 20px
}

.main-empresas .block-info-hacemos p {
    color: #999;
    font-size: 1rem;
    font-weight: 400;
    line-height: 23px
}

.main-hacemos {
    padding: 80px 0 100px;
    display: block;
    background-repeat: no-repeat;
    background-position: center top;
    background-image: url("../img/bkg_clientes.jpg")
}
.main-empresas {
    padding: 80px 0 100px;
    display: block;
    background-repeat: no-repeat;
    background-position: center top;
}
.main-hacemos h3 , .main-empresas h3 {
    margin-bottom: 100px
}

.main-hacemos h2, .main-empresas h2  {
    color: #333;
    font-size: 3.125rem;
    text-transform: uppercase;
    font-weight: 300
}

.main-hacemos h2 strong, .main-empresas h2 strong{
    font-weight: 700
}

@media screen and (max-width: 640px) {
    .main-hacemos h2 , .main-empresas h2 {
        font-size: 1.875rem
    }
}

.main-hacemos .block-que-hacemos {
    display: block;
    margin-top: 200px
}
.main-emnpresas .block-que-hacemos {
    display: block;
    margin-top: 200px
}

@media screen and (max-width: 640px) {
    .main-hacemos .block-que-hacemos, .main-empresas .block-que-hacemos {
        margin-top: 100px
    }
}

.main-hacemos .block-que-hacemos .block-inner-hacemos{
    height: 305px;
    border: 2px solid #d7d7d7;
    max-width: 336px;
    width: 100%;
    padding: 85px 22px 10px;
    text-align: center;
    margin: 0 auto 85px;
    position: relative
}
 .main-empresas .block-que-hacemos .block-inner-hacemos {
    background-color: white;
    border: 2px solid #d7d7d7;
    width: 100%;
    text-align: center;
    margin: 0 auto 85px;
    position: relative
}
.main-hacemos .block-que-hacemos .block-inner-hacemos figure, .main-empresas .block-que-hacemos .block-inner-hacemos figure{
    content: '';
    width: 88px;
    height: 88px;
    top: -44px;
    display: block;
    background-color: #fff;
    position: absolute;
    line-height: 88px;
    left: 50%;
    right: auto;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.main-hacemos .block-que-hacemos .block-inner-hacemos h4, .main-empresas .block-que-hacemos .block-inner-hacemos h4 {
    color: #333;
    font-size: 1.375rem;
    text-transform: uppercase;
    font-weight: 300;
    margin-bottom: 10px
}

.main-hacemos .block-que-hacemos .block-inner-hacemos h4 strong, .main-empresas .block-que-hacemos .block-inner-hacemos h4 strong {
    font-weight: 700
}

.main-hacemos .block-que-hacemos .block-inner-hacemos p, .main-empresas .block-que-hacemos .block-inner-hacemos p {
    font-size: 0.875rem;
    line-height: 23px;
    color: #999;
    margin-bottom: 20px
}

.main-hacemos .block-que-hacemos .block-inner-hacemos a, .main-empresas .block-que-hacemos .block-inner-hacemos a {
    color: #da162b;
    font-size: 0.875rem;
    text-decoration: underline
}

.main-empresas .block-inner-hacemos-info {
    padding: 20px 0 0 10px;
    display: block
}
.main-hacemos .block-inner-hacemos-info{
	padding: 0px 0 0 10px;
}
.main-empresas .block-inner-hacemos-info p  {
    font-size: 2.875rem;
    line-height: 60px;
    text-transform: uppercase;
    color: #666;
    font-weight: 300
}
.main-hacemos .block-inner-hacemos-info p {
	font-size: 40px;
}


@media screen and (max-width: 640px) {
    .main-hacemos .block-inner-hacemos-info p, .main-empresas .block-inner-hacemos-info p {
        font-size: 1.875rem !important;
        line-height: normal
    }
}
@media screen and (max-width: 1024px) {
    .main-hacemos .block-inner-hacemos-info p, .main-empresas .block-inner-hacemos-info p {
        font-size: 1.875rem !important;
        line-height: normal
    }
}
img.img-empresas {

}
img.img-empresas.logo-identya {

}
.empresa-p {
    position: absolute;
    width: 100%;
    text-align: center;
    bottom: -10px;
}
.main-hacemos .block-inner-hacemos-info p strong, .main-empresas .block-inner-hacemos-info p strong {
    color: #333;
    font-weight: 700
}

.main-contacto {
    padding: 90px 0;
    background-color: white;
    display: block
}

.main-contacto h3 {
    margin-bottom: 100px
}

.main-contacto form label {
    color: #999;
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase
}

.main-contacto form .form-control {
    background-color: #f2f3f4;
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    box-shadow: none;
    resize: none
}

.main-contacto form button {
    border: none;
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 700;
    text-transform: uppercase;
    width: 182px;
    height: 46px;
    background-color: #e72e43;
    margin: 30px auto;
    line-height: 46px;
    display: block;
    outline: none;
    border-radius: 42px
}

.main-contacto .block-contact-info p {
    color: #999;
    font-size: 0.875rem;
    font-weight: 400;
    margin-bottom: 20px
}

.main-contacto .block-contact-info p strong {
    font-size: 1.1875rem;
    color: #333;
    font-weight: 700
}

.main-info {
    padding: 80px 0 50px;
    background-color: #333;
    display: block
}

.main-info h5 {
    color: #999;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 18px;
    text-transform: uppercase
}

.main-info hr {
    border-top-width: 3px;
    border-color: #292929;
    margin-top: 10px;
    margin-bottom: 10px
}

.main-info p {
    color: #999;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 18px
}

.main-info form .form-control {
    background-color: #383838;
    border: 3px solid #292929;
    border-radius: 0;
    box-shadow: none;
    resize: none;
    height: 56px
}

.main-info form button {
    width: 140px;
    height: 54px;
    background-color: #e72e43;
    line-height: 54px;
    display: block;
    outline: none;
    text-align: center;
    text-transform: uppercase;
    border: none;
    color: #f6f8f9;
    font-size: 0.625rem;
    font-weight: 600
}

@media screen and (max-width: 480px) {
    .main-info form button {
        width: 100%
    }
}

.main-footer {
    background-color: #292929;
    padding: 20px 0
}

.main-footer p {
    color: rgba(255, 255, 255, 0.28);
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 18px
}

.main-footer .menu-footer ul>li:after {
    width: 3px;
    height: 3px;
    background-color: #e72e43;
    border-radius: 3px;
    display: inline-block;
    content: '';
    vertical-align: middle;
    margin: 0 0 0 8px
}
span.accept-newsletter-input {
    /* width: 20px; */
    float: left;
    margin-right: 10px;
}



.accept-newsletter-text {
    float: left;
    /* width: 14%; */
    margin-top: 4px;
    font-size: 12px;
    color: #999999;
}

.cont_row {
    /* width: 1040px; */
    height: 30px;
    display: block;
    margin: 10px 0;
}
input#mce-EMAIL {
    color: white;
}
.main-footer .menu-footer ul>li:last-of-type:after {
    display: none
}

.main-footer .menu-footer ul>li>a {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 12px;
    text-transform: uppercase;
    text-decoration: none;
    color: #666
}

.main-footer .menu-footer ul>li>a:hover {
    color: #da162b
}

.main-footer .menu-footer ul>li.active>a {
    color: #da162b
}

.menu-mobile {
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 60;
    padding: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, 0.5);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .4s;
    transition-duration: .4s
}

.menu-mobile>ul {
    margin-top: 78px;
    background-color: #fff;
    list-style: none;
    padding: 0
}

.menu-mobile>ul>li {
    font-weight: 300;
    margin: .2em 0;
    text-transform: capitalize
}

.menu-mobile>ul>li>a:not(.btn-social) {
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: .5;
    color: #333;
    font-size: 14px;
    font-weight: 300;
    text-transform: uppercase;
    border-bottom: 1px solid transparent;
    padding-top: 20px;
    padding-bottom: 20px;
    text-decoration: none;
    margin: 0 20px;
    display: block;
    border-bottom: 1px solid rgba(51, 51, 51, 0.1)
}

.menu-mobile>ul>li.active>a:not(.btn-social) {
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    color: #00a59a;
    background-color: transparent
}
input#mc-embedded-subscribe[disabled] {
    background: gray;
    cursor: not-allowed;
}
.menu-mobile.is-visible {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}
.mailchimp-input-custom {
    background-color: #383838;
    border: 3px solid #292929;
    border-radius: 0;
    box-shadow: none;
    height: 56px;
    resize: none;
    width: 100%;
}

.mailchimp-button-custom {
    background-color: #e72e43;
    border: medium none;
    color: #f6f8f9;
    font-size: 0.625rem;
    font-weight: 600;
    height: 54px;
    line-height: 54px;
    outline: medium none;
    text-align: center;
    text-transform: uppercase;
    width: 140px;
}
i.fa.fa-mobile {
    font-size: 42px;
}
i.fa.fa-comments-o {
    font-size: 42px;
}
#recipient-img {
    margin-left: auto;
    margin-right: auto;
    width: 240px;
    display: block;
}
.modal-title{
	text-align: center;
	display: none;

}
.modal-header{
	display: none;
}
#recipient-desc{
	text-align: justify;
	padding: 0 15px;
}
img.img-empresas {
    cursor: pointer;
}
.tooltip-link {
    text-align: center;
    background: #ec1f2d;
    border: 1px solid white;
    margin-left: auto;
    margin-right: auto;
    width: 140px;
    display: block;
    margin: 0 auto;
}
iframe.video_bit {
    width: 560px;
    display: block;
    margin: 0 auto;
    margin-top: 30px;
    height: 326px;
}

@media screen and (min-width: 1921px) {
    html,
    body {
        font-size: 20px
    }
}

@media screen and (max-width: 1920px) {
    html,
    body {
        font-size: 18px
    }
}

@media screen and (max-width: 1440px) {
    html,
    body {
        font-size: 16px
    }
}

@media screen and (max-width: 1024px) {
    html,
    body {
        font-size: 15px
    }
}

@media screen and (min-width: 641px) {
    .mobile-only {
        display: none
    }
}

@media screen and (max-width: 640px) {
    html,
    body {
        font-size: 14px
    }
    .hide-mobile {
        display: none
    }
}
@media screen and (max-width: 768px) {
	iframe.video_bit {
    width: 90%;
    }
   }
@media screen and (max-width: 480px) {
    html,
    body {
        font-size: 12px
    }
    .cont_row {
	    /* width: 1040px; */
	    height: 30px;
	    display: block;
	    margin: 10px 0 20px 0;
	}
	.accept-newsletter-text {
	    float: none;
	    /* width: 14%; */
	    margin-bottom: 14px;
	    margin-top: 4px;
	    font-size: 12px;
	    color: #999999;
	}
}
@media screen and (max-width: 320px) {
    html,
    body {
        font-size: 7px
    }

	.cont_row {
	    /* width: 1040px; */
	    height: 30px;
	    display: block;
	    margin: 10px 0 37px 0;
	}
}
@media screen and (max-width: 319px) {
    html,
    body {
        font-size: 7px
    }
}

@media screen and (max-width: 240px) {
    html,
    body {
        font-size: 5px
    }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl90eXBvZ3JhcGh5LnNjc3MiLCJsaWIvcmVzZXQubWluLnNjc3MiLCJfYmFzZS5zY3NzIiwiX2xheW91dC5zY3NzIiwiX2NvbG9ycy5zY3NzIiwibGliL2NvbXBhc3MvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwibGliL19idXJnZXIuc2NzcyIsImxpYi9jb21wYXNzL2NzczMvX29wYWNpdHkuc2NzcyIsImxpYi9jb21wYXNzL2NzczMvX3NoYXJlZC5zY3NzIiwiX21peGlucy5zY3NzIiwiX3Jlc3BvbnNpdmUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4RUNFQSwyWkFBMlosU0FBVSxVQUFXLFNBQVUsZUFBZ0IsYUFBYyx1QkFBd0IsQ0FBQyw4RUFBOEUsYUFBYyxDQUFDLEtBQUssYUFBYyxDQUFDLE1BQU0sZUFBZ0IsQ0FBQyxhQUFhLFdBQVksQ0FBQyxvREFBb0QsV0FBWSxZQUFhLENBQUMsTUFBTSx5QkFBMEIsZ0JBQWlCLENBQUUsR0RTbHhCLGtCQUNBLGdCQUNBLHFCQUNBLG9CQUFzQixDQUN2QixHQUdDLGVBQ0EsZ0JBQ0EsY0FDQSx3QkFBMEIsQ0FDM0IsR0FHQyxnQkFBa0IsQ0FDbkIsR0FJQyxpQkFDQSxvQkFBc0IsQ0FDdkIsR0FHQyxrQkFDQSx3QkFBMEIsQ0FDM0IsS0FHQyxjQUFnQixDQUNqQixPQUdDLGVBeENVLENBeUNYLHFDQUdDLEdBQ0UsaUJBQW1CLENBQ3BCLEdBR0MsZ0JBQWtCLENBQ25CLENFdERILFVBQ0Usc0JBQ0EsV0FDQSxpQ0FDQSxlQUNBLGdCQUNBLFlBQ0EsZ0JBQ0EsaUJBQW1CLENBQ3BCLFVBR0MsY0FDQSxvQkFBc0IsQ0FDdkIsSUFHQyxjQUFnQixDQUNqQix5RENoQkEsY0FDQSxrQkFDQSxXQUNBLGtCQUNBLHlCQUNBLGVIRFUsQ0dMWCxxRkFRRSxlSE5RLENHRlYsc0tBWUUsV0FDQSx5QkFDQSxjQUNBLGtCQUNBLFdBQ0EsU0FDQSxTQUFXLENBbEJiLHFGQXFCRSxPQUFTLENBckJYLGlGQXlC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LFlBQWMsQ0FDZixDQUdILHFDQUNFLFVBQ0UsY0FBZ0IsQ0FDakIsQ0FHSCxxQ0FDRSxVQUNFLGFBQWUsQ0FDaEIsQ0FHSCxxQ0FDRSxVQUNFLGFBQWUsQ0FDaEIsQ0FBQSIsImZpbGUiOiJzdHlsZS5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVBvcHBpbnM6MzAwLDQwMCw1MDAsNjAwLDcwMCc7XG4vLyBGb250IHdlaWdodHNcbiRleHRyYS1ib2xkOiA4MDA7XG4kYm9sZDogNzAwO1xuJG1lZGl1bTogNTAwO1xuJHJlZ3VsYXI6IDQwMDtcbiRsaWdodDogMzAwO1xuXG4kc2FuczogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuXG5oMSwgJWgxIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtO1xuICBmb250LXdlaWdodDogJGxpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuaDIsICVoMiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6ICRtZWRpdW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oMywgJWgzIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG5cblxuaDQsICVoNCB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbmg1LCAlaDUge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbnAsIC5wIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJG1lZGl1bTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lLWxhbmRzY2FwZS1tYXgpIHtcbiAgaDEsICVoMSB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICB9XG5cbiAgaDQsICVoNCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cbiIsIiAvKiBFcmljIE1leWVyJ3MgUmVzZXQgQ1NTIHYyLjAgKGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sLGJvZHksZGl2LHNwYW4sYXBwbGV0LG9iamVjdCxpZnJhbWUsaDEsaDIsaDMsaDQsaDUsaDYscCxibG9ja3F1b3RlLHByZSxhLGFiYnIsYWNyb255bSxhZGRyZXNzLGJpZyxjaXRlLGNvZGUsZGVsLGRmbixlbSxpbWcsaW5zLGtiZCxxLHMsc2FtcCxzbWFsbCxzdHJpa2Usc3Ryb25nLHN1YixzdXAsdHQsdmFyLGIsdSxpLGNlbnRlcixkbCxkdCxkZCxvbCx1bCxsaSxmaWVsZHNldCxmb3JtLGxhYmVsLGxlZ2VuZCx0YWJsZSxjYXB0aW9uLHRib2R5LHRmb290LHRoZWFkLHRyLHRoLHRkLGFydGljbGUsYXNpZGUsY2FudmFzLGRldGFpbHMsZW1iZWQsZmlndXJlLGZpZ2NhcHRpb24sZm9vdGVyLGhlYWRlcixoZ3JvdXAsbWVudSxuYXYsb3V0cHV0LHJ1Ynksc2VjdGlvbixzdW1tYXJ5LHRpbWUsbWFyayxhdWRpbyx2aWRlb3ttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7Zm9udC1zaXplOjEwMCU7Zm9udDppbmhlcml0O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfWFydGljbGUsYXNpZGUsZGV0YWlscyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLGhncm91cCxtZW51LG5hdixzZWN0aW9ue2Rpc3BsYXk6YmxvY2t9Ym9keXtsaW5lLWhlaWdodDoxfW9sLHVse2xpc3Qtc3R5bGU6bm9uZX1ibG9ja3F1b3RlLHF7cXVvdGVzOm5vbmV9YmxvY2txdW90ZTpiZWZvcmUsYmxvY2txdW90ZTphZnRlcixxOmJlZm9yZSxxOmFmdGVye2NvbnRlbnQ6Jyc7Y29udGVudDpub25lfXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowfSIsImh0bWwsIGJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGZvbnQtZmFtaWx5OiAkc2FucztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogJGxpZ2h0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuYSwgYTpob3ZlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCJcbi5oM3tcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y29sb3I6ICMzMzM7XG5cdGZvbnQtc2l6ZToxLjc1cmVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogJGxpZ2h0O1xuXHRzdHJvbmd7XG5cdFx0Zm9udC13ZWlnaHQ6ICRib2xkO1xuXHR9XG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVye1xuXHRcdGhlaWdodDogMnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHRvcDogMjBweDtcblx0XHR3aWR0aDogMzUlO1xuXHR9XG5cdCY6YmVmb3Jle1xuXHRcdHJpZ2h0OiAwO1xuXHR9XG5cblx0JjphZnRlcntcblx0XHRsZWZ0OiAwO1xuXHR9XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lLXBvcnRyYWl0LW1heCkge1xuXHRcdCY6YmVmb3JlLFxuXHRcdCY6YWZ0ZXJ7XG5cdFx0XHR0b3A6IDE0cHg7XG5cdFx0XHR3aWR0aDogMjAlO1xuXHRcdH1cblx0fVxufVxuXG5cbi5tYWluLWhlYWRlci1zb2NpYWwge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDI4cHg7XG5cdHotaW5kZXg6IDIwO1xuXHR1bHtcblx0XHQ+IGxpe1xuXHRcdFx0YXtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXG59XG5cblxuLm1haW4taGVhZGVye1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDcwcHg7XG5cdHotaW5kZXg6IDMwO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgLjVzIGVhc2UtaW4tb3V0KTtcblx0LmxvZ28tYWx0e1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0fVxuXHQubWVudS1oZWFkZXJ7XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1sYW5kc2NhcGUtbWF4KSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0PiB1bHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0LWxhbmRzY2FwZS1tYXgpIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRcdD4gbGkge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcblx0XHRcdFx0PiBhe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTowLjgxMjVyZW07XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRtZWRpdW07XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogOTFweDtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCYuYWN0aXZle1xuXHRcdFx0XHRcdD4gYXtcblx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHR9XG5cdC8qIERyb3Bkb3duICovXG5cblxuXHQucHJpbWFyeS1uYXYtdHJpZ2dlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1sYW5kc2NhcGUtbWF4KSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXHRcdC5idXJnZXItaWNvbiB7XG5cdFx0XHRAaW5jbHVkZSBidXJnZXIoMjVweCwgM3B4LCA1cHgsICNjNWM1YzQpO1xuXHRcdH1cblx0XHQmLmlzLWNsaWNrZWR7XG5cdFx0XHQuYnVyZ2VyLWljb257XG5cdFx0XHRcdEBpbmNsdWRlIGJ1cmdlci10by1jcm9zcztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZHJvcGRvd24tbGFuZy1tZW51IHtcblx0XHQvKiBTaXplIGFuZCBwb3NpdGlvbiAqL1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aWR0aDogNzBweDtcblx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ei1pbmRleDogMTA7XG5cdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdFx0cGFkZGluZzogNXB4IDE1cHg7XG5cdFx0dG9wOiAtMnB4O1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0PiBzcGFue1xuXHRcdFx0Zm9udC1zaXplOjAuODEyNXJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkbWVkaXVtO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXG5cdFx0JjphZnRlcntcblx0XHRcdGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHJpZ2h0OiAxNXB4O1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRAaW5jbHVkZSBvcGFjaXR5KDAuNSk7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0Zm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMTRweDtcblx0XHR9XG5cblx0XHQuZHJvcGRvd24tbGFuZ3tcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHBhZGRpbmc6IDMwcHggMTVweCAwcHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2U2ZThlYTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjVzIGVhc2UtaW4pO1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdHdpZHRoOiA3MHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxNXB4KTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHRsaXtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRhe1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzNnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjNjY2O1xuXHRcdFx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1vdXQpO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246bGVmdDtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOjAuODEyNXJlbTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogJG1lZGl1bTtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRcdCY6aG92ZXJ7XG5cdFx0XHRcdFx0YXtcblx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmOmFjdGl2ZXtcblx0XHRcdFx0XHRhe1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5hY3RpdmV7XG5cdFx0XHRzcGFue1xuXHRcdFx0XHRjb2xvcjogIzY2Njtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGNvbG9yOiAjNjY2O1xuXHRcdFx0fVxuXHRcdFx0LmRyb3Bkb3duLWxhbmd7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblxuXG5cdFxuXHR9XG5cdCYuc3RpY2t5LFxuXHQmLm1lbnUtaXMtb3Blbntcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdGJveC1zaGFkb3c6IDAgNHB4IDAgcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuXHRcdHRvcDogMDtcblx0XHR6LWluZGV4OiA3MDtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0LmxvZ297XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC5sb2dvLWFsdHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdC5tZW51LWhlYWRlcntcblx0XHRcdD4gdWx7XG5cdFx0XHRcdD4gbGkge1xuXHRcdFx0XHRcdD4gYXtcblx0XHRcdFx0XHRcdGNvbG9yOiAjYmJiO1xuXHRcdFx0XHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5hY3RpdmV7XG5cdFx0XHRcdFx0XHQ+IGF7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5kcm9wZG93bi1sYW5nLW1lbnV7XG5cdFx0XHRzcGFue1xuXHRcdFx0XHRjb2xvcjogI2JiYjtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGNvbG9yOiAjYmJiO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cblxuLm1haW4taGVyb3tcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHQjc2xpZGVye1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHQuaXRlbS1zbGlkZXJ7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0QGluY2x1ZGUgYmFja2dyb3VuZC1zaXplKGNvdmVyKTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0fVxuXG5cdFx0XHQuaXRlbS1pbm5lcntcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdH1cblx0XHRcdGgye1xuXHRcdFx0XHRmb250LXNpemU6IDMuODc1cmVtO1xuXHRcdFx0XHRmb250LXdlaWdodDogJGJvbGQ7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHR9XG5cblx0XHRcdHB7XG5cdFx0XHRcdGZvbnQtc2l6ZToxLjE4NzVyZW07XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkbGlnaHQ7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHN0cm9uZ3tcblx0XHRcdFx0XHRmb250LXNpemU6MC45Mzc1cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmJ4LXZpZXdwb3J0LCBcblx0LmJ4LXdyYXBwZXJ7XG5cdCAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcblx0ICAgIHdpZHRoOjEwMCU7XG5cdCAgICBoZWlnaHQ6MTAwJSAhaW1wb3J0YW50O1xuXHQgICAgdG9wOjA7XG5cdCAgICBsZWZ0OjA7XG5cdH1cblx0LmJ4c2xpZGVyLCBcblx0LmJ4c2xpZGVyIGxpe1xuXHQgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7O1xuXHR9XG5cblx0LmJ4LWNvbnRyb2xze1xuXHRcdC5ieC1wcmV2LFxuXHRcdC5ieC1uZXh0e1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0QGluY2x1ZGUgY2VudGVyKHkpO1xuXHRcdFx0ei1pbmRleDogNTA7XG5cdFx0XHR3aWR0aDogMjdweDtcblx0XHRcdGhlaWdodDogNTBweDtcblx0XHRcdGZvbnQtc2l6ZTogMDtcblx0XHR9XG5cdFx0LmJ4LXByZXZ7XG5cdFx0XHRsZWZ0OiAxMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaW1nX2Fycm93X2xlZnQucG5nJyk7XG5cdFx0fVxuXHRcdC5ieC1uZXh0e1xuXHRcdFx0cmlnaHQ6IDEwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pbWdfYXJyb3dfcmlnaHQucG5nJyk7XG5cdFx0fVxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZS1sYW5kc2NhcGUtbWF4KSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG59XG5cbi8qIE5vc290cm9zICovXG4ubWFpbi1ub3NvdHJvc3tcblx0LmJsb2NrLW1vZHVsZS1ub3NvdHJvc3tcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYmtnX21hcGEuanBnJyk7XG5cdFx0cGFkZGluZzogMTUwcHggMDtcblx0XHRoMntcblx0XHRcdGNvbG9yOiAjMzMzO1xuXHRcdFx0Zm9udC1zaXplOiAzLjg3NXJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkYm9sZDtcblx0XHRcdHNtYWxse1xuXHRcdFx0XHRjb2xvcjogIzk5OTtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjYyNXJlbTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRsaWdodDtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZS1sYW5kc2NhcGUtbWF4KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMi4yNXJlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRwe1xuXHRcdFx0Ji5sZWFke1xuXHRcdFx0XHRmb250LXNpemU6IDEuMzEzcmVtO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA1MHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmLmluZm97XG5cdFx0XHRcdGZvbnQtc2l6ZTogIDAuODEyNXJlbTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0bWFyZ2luLXRvcDogNDBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cblx0LmJsb2NrLW1vZHVsZS1xdWllbmVze1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9ia2dfcXVpZW5lcy5qcGcnKTtcblxuXHRcdHBhZGRpbmc6IDcwcHggMDtcblx0XHRoM3tcblx0XHRcdGNvbG9yOiAjMzMzO1xuXHRcdFx0Zm9udC1zaXplOiAxLjU2MjVyZW07XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdH1cblxuXHRcdHB7XG5cdFx0XHRjb2xvcjogIzk5OTtcblx0XHRcdGZvbnQtc2l6ZToxLjA2MjVyZW07XG5cdFx0XHRzdHJvbmd7XG5cdFx0XHRcdGNvbG9yOiAjNjY2O1xuXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiBtYWluIGVtcHJlc2FzICovXG4ubWFpbi1lbXByZXNhc3tcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y2ZjhmOTtcblx0cGFkZGluZzogODBweCAwO1xuXHRcblx0aDN7XG5cdFx0QGV4dGVuZCAuaDM7XG5cdH1cblxuXHQuYmxvY2staW5mby1oYWNlbW9ze1xuXHRcdG1hcmdpbi10b3A6IDQwcHg7XG5cdFx0ZmlndXJle1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGhlaWdodDogMTAwcHg7XG5cdFx0fVxuXHRcdGg1e1xuXHRcdFx0Y29sb3I6ICMzMzM7XG5cdFx0XHRmb250LXNpemU6MS4xMjVyZW07XG5cdFx0XHRmb250LXdlaWdodDogJGJvbGQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdH1cblxuXHRcdHB7XG5cdFx0XHRjb2xvcjogIzk5OTtcblx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMjNweDtcblx0XHR9XG5cdH1cbn1cblxuLyogTWFpbiBDbGllbnRlcyAqL1xuLm1haW4taGFjZW1vc3tcblx0cGFkZGluZzogODBweCAwIDEwMHB4O1xuXHRkaXNwbGF5OiBibG9jaztcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYmtnX2NsaWVudGVzLmpwZycpO1xuXG5cdGgze1xuXHRcdEBleHRlbmQgLmgzO1xuXHRcdG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXHR9XG5cblx0aDJ7XG5cdFx0Y29sb3I6ICMzMzM7XG5cdFx0Zm9udC1zaXplOiAzLjEyNXJlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtd2VpZ2h0OiAkbGlnaHQ7XG5cdFx0c3Ryb25ne1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRib2xkO1xuXHRcdH1cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUtbGFuZHNjYXBlLW1heCkge1xuXHRcdFx0Zm9udC1zaXplOiAxLjg3NXJlbTtcblx0XHR9XG5cblx0fVxuXG5cdC5ibG9jay1xdWUtaGFjZW1vc3tcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tdG9wOiAyMDBweDtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUtbGFuZHNjYXBlLW1heCkge1xuXHRcdFx0bWFyZ2luLXRvcDogMTAwcHg7XG5cdFx0fVxuXG5cdFx0LmJsb2NrLWlubmVyLWhhY2Vtb3N7XG5cdFx0XHRoZWlnaHQ6IDMwNXB4O1xuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgI2Q3ZDdkNztcblx0XHRcdG1heC13aWR0aDogMzM2cHg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IDg1cHggMjJweCAxMHB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG8gODVweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG5cdFx0XHRmaWd1cmV7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHR3aWR0aDogODhweDtcblx0XHRcdFx0aGVpZ2h0OiA4OHB4O1xuXHRcdFx0XHR0b3A6IC00NHB4O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA4OHB4O1xuXHRcdFx0XHRAaW5jbHVkZSBjZW50ZXIoeCk7XG5cdFx0XHR9XG5cdFx0XHRoNHtcblx0XHRcdFx0Y29sb3I6ICMzMzM7XG5cdFx0XHRcdGZvbnQtc2l6ZToxLjM3NXJlbTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRsaWdodDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdFx0c3Ryb25ne1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAkYm9sZDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdH1cblxuXHRcdFx0cHtcblx0XHRcdFx0Zm9udC1zaXplOjAuODc1cmVtO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjNweDtcblx0XHRcdFx0Y29sb3I6ICM5OTk7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdGF7XG5cdFx0XHRcdGNvbG9yOiAjZGExNjJiO1xuXHRcdFx0XHRmb250LXNpemU6MC44NzVyZW07XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0fVxuXG5cdC5ibG9jay1pbm5lci1oYWNlbW9zLWluZm97XG5cdFx0cGFkZGluZzogMjBweCAwIDAgMTBweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwe1xuXHRcdFx0Zm9udC1zaXplOiAyLjg3NXJlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiA2MHB4O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGNvbG9yOiAjNjY2O1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRsaWdodDtcblxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lLWxhbmRzY2FwZS1tYXgpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjg3NXJlbTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRcdH1cblx0XHRcdHN0cm9uZ3tcblx0XHRcdFx0Y29sb3I6ICMzMzM7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkYm9sZDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdH1cblx0fVxufVxuXG5cbi8qIE1haW4gQ29udGFjdCAqL1xuLm1haW4tY29udGFjdG97XG5cdHBhZGRpbmc6IDkwcHggMDtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y2ZjhmOTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGgze1xuXHRcdEBleHRlbmQgLmgzO1xuXHRcdG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXHR9XG5cblx0Zm9ybXtcblx0XHRsYWJlbHtcblx0XHRcdGNvbG9yOiAjOTk5O1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0fVxuXHRcdC5mb3JtLWNvbnRyb2x7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmM2Y0O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcblx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoOHB4KTtcblx0XHRcdEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG5cdFx0XHRyZXNpemU6IG5vbmU7XG5cdFx0fVxuXG5cdFx0YnV0dG9ue1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdGZvbnQtc2l6ZTowLjkzNzVyZW07XG5cdFx0XHRmb250LXdlaWdodDogJGJvbGQ7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0d2lkdGg6IDE4MnB4O1xuXHRcdFx0aGVpZ2h0OiA0NnB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2U3MmU0Mztcblx0XHRcdG1hcmdpbjogMzBweCBhdXRvO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDQ2cHg7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDQycHgpO1xuXHRcdH1cblx0fVxuXG5cdC5ibG9jay1jb250YWN0LWluZm97XG5cdFx0cHtcblx0XHRcdGNvbG9yOiAjOTk5O1xuXHRcdFx0Zm9udC1zaXplOjAuODc1cmVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRyZWd1bGFyO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdHN0cm9uZ3tcblx0XHRcdFx0Zm9udC1zaXplOjEuMTg3NXJlbTtcblx0XHRcdFx0Y29sb3I6ICMzMzM7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkYm9sZDtcblx0XHRcdH1cblx0XHR9XG5cdH1cdFxufVxuXG5cbi8qIE1haW4gSW5mbyAqL1xuLm1haW4taW5mb3tcblx0cGFkZGluZzogODBweCAwIDUwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdGg1e1xuXHRcdGNvbG9yOiAjOTk5O1xuXHRcdGZvbnQtc2l6ZTowLjkzNzVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6ICRib2xkO1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdH1cblxuXHRocntcblx0XHRib3JkZXItdG9wLXdpZHRoOiAzcHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjMjkyOTI5O1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0fVxuXG5cdHB7XG5cdFx0Y29sb3I6ICM5OTk7XG5cdFx0Zm9udC1zaXplOjAuNzVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6ICRyZWd1bGFyO1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHR9XG5cblx0Zm9ybXtcblx0XHQuZm9ybS1jb250cm9se1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzM4MzgzODtcblx0XHRcdGJvcmRlcjogM3B4IHNvbGlkICMyOTI5Mjk7XG5cdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXHRcdFx0QGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcblx0XHRcdHJlc2l6ZTogbm9uZTtcblx0XHRcdGhlaWdodDogNTZweDtcblx0XHR9XG5cblx0XHRidXR0b257XG5cdFx0XHR3aWR0aDogMTQwcHg7XG5cdFx0XHRoZWlnaHQ6IDU0cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZTcyZTQzO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDU0cHg7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0Y29sb3I6ICNmNmY4Zjk7XG5cdFx0XHRmb250LXNpemU6MC42MjVyZW07XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lLXBvcnRyYWl0LW1heCkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogTWFpbiBGb290ZXIgKi9cbi5tYWluLWZvb3Rlcntcblx0YmFja2dyb3VuZC1jb2xvcjogIzI5MjkyOTtcblx0cGFkZGluZzogMjBweCAwO1xuXHRwe1xuXHRcdGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjgpO1xuXHRcdGZvbnQtc2l6ZTowLjc1cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cdH1cblxuXHQubWVudS1mb290ZXJ7XG5cdFx0dWx7XG5cblx0XHRcdD4gbGkge1xuXHRcdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRcdHdpZHRoOiAzcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAzcHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2U3MmU0Mztcblx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDNweCk7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDAgMCA4cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpsYXN0LW9mLXR5cGV7XG5cdFx0XHRcdFx0JjphZnRlcntcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdD4gYXtcblx0XHRcdFx0XHRmb250LXNpemU6MC43NXJlbTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogJG1lZGl1bTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTJweDtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRjb2xvcjogIzY2Njtcblx0XHRcblx0XHRcdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCYuYWN0aXZle1xuXHRcdFx0XHRcdD4gYXtcblx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qIE1lbnUgTW9iaWxlICovXG5cbi5tZW51LW1vYmlsZSB7XG5cdC8qIGJ5IGRlZmF1bHQgaXQncyBoaWRkZW4gLSBvbiB0b3Agb2YgdGhlIHZpZXdwb3J0ICovXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiA2MDtcblx0cGFkZGluZzogIDA7XG5cdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsIDAuNSk7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHQvKiB0aGlzIGZpeGVzIHRoZSBidWdneSBzY3JvbGxpbmcgb24gd2Via2l0IGJyb3dzZXJzIC0gbW9iaWxlIGRldmljZXMgb25seSAtIHdoZW4gb3ZlcmZsb3cgcHJvcGVydHkgaXMgYXBwbGllZCAqL1xuXHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cblx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTEwMCUpKTtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSh0cmFuc2Zvcm0pO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKC40cyk7XG5cdFxuXHQ+IHVse1xuXHRcdG1hcmdpbi10b3A6IDc4cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0cGFkZGluZzogMDtcblx0XHQ+IGxpIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRtYXJnaW46IC4yZW0gMDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdFx0PiBhOm5vdCguYnRuLXNvY2lhbCkge1xuXHRcdFx0XHRAaW5jbHVkZSBvcGFjaXR5KDAuNSk7XG5cdFx0XHRcdGNvbG9yOiAjMzMzO1xuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0cGFkZGluZy10b3A6IDIwcHg7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogMCAyMHB4O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNTEsIDUxLCA1MSwgMC4xKTtcblx0XHRcdH1cblxuXHRcdFx0Ji5hY3RpdmV7XG5cdFx0XHRcdD4gYTpub3QoLmJ0bi1zb2NpYWwpe1xuXHRcdFx0XHRcdEBpbmNsdWRlIG9wYWNpdHkoMSk7XG5cdFx0XHRcdFx0Y29sb3I6ICMwMGE1OWE7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdFxuXHRcdH1cblx0fVxuXHRcblxuXG5cdCYuaXMtdmlzaWJsZSB7XG5cdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuXHR9XG5cblx0XG59XG5cblxuIiwiJGJsYWNrOiAjMjIyMjIyO1xuJHdoaXRlOiAjRkZGRkZGO1xuJHJlZDpcdCNkYTE2MmI7XG4kdHJhbnNwYXJlbnQ6IHJnYmEoMCwgMCwgMCwgMCk7XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENTUyBUcmFuc2l0aW9uc1xuLy8gQ3VycmVudGx5IG9ubHkgd29ya3MgaW4gV2Via2l0LlxuLy9cbi8vICogZXhwZWN0ZWQgaW4gQ1NTMywgRmlyZUZveCAzLjYvNyBhbmQgT3BlcmEgUHJlc3RvIDIuM1xuLy8gKiBXZSdsbCBiZSBwcmVwYXJlZC5cbi8vXG4vLyBJbmNsdWRpbmcgdGhpcyBzdWJtb2R1bGUgc2V0cyBmb2xsb3dpbmcgZGVmYXVsdHMgZm9yIHRoZSBtaXhpbnM6XG4vL1xuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHkgOiBhbGxcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uIDogMXNcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uIDogZmFsc2Vcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5ICAgIDogZmFsc2Vcbi8vXG4vLyBPdmVycmlkZSB0aGVtIGlmIHlvdSBsaWtlLiBUaW1pbmctZnVuY3Rpb24gYW5kIGRlbGF5IGFyZSBzZXQgdG8gZmFsc2UgZm9yIGJyb3dzZXIgZGVmYXVsdHMgKGVhc2UsIDBzKS5cblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxcyAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXk6IGZhbHNlICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzOiB0cmFuc2Zvcm0sIHRyYW5zZm9ybS1vcmlnaW4gIWRlZmF1bHQ7XG5cbi8vIE9uZSBvciBtb3JlIHByb3BlcnRpZXMgdG8gdHJhbnNpdGlvblxuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiBhbHNvIGFjY2VwdHMgXCJhbGxcIiBvciBcIm5vbmVcIlxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydHktMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSxcbiAgJHByb3BlcnR5LTIgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTMgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTQgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTUgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTYgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTcgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTggOiBmYWxzZSxcbiAgJHByb3BlcnR5LTkgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRwcm9wZXJ0eS0xKSA9PSBzdHJpbmcgeyAkcHJvcGVydHktMTogdW5xdW90ZSgkcHJvcGVydHktMSk7IH1cbiAgJHByb3BlcnRpZXM6IGNvbXBhY3QoJHByb3BlcnR5LTEsICRwcm9wZXJ0eS0yLCAkcHJvcGVydHktMywgJHByb3BlcnR5LTQsICRwcm9wZXJ0eS01LCAkcHJvcGVydHktNiwgJHByb3BlcnR5LTcsICRwcm9wZXJ0eS04LCAkcHJvcGVydHktOSwgJHByb3BlcnR5LTEwKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLXdlYmtpdCwgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC1tb3osICAgICRwcm9wZXJ0aWVzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtbywgICAgICAkcHJvcGVydGllcyk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5IDogJHByb3BlcnRpZXM7XG59XG5cbi8vIE9uZSBvciBtb3JlIGR1cmF0aW9ucyBpbiBzZWNvbmRzXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIHRoZXNlIGR1cmF0aW9ucyB3aWxsIGFmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAkZHVyYXRpb24tMiA6IGZhbHNlLFxuICAkZHVyYXRpb24tMyA6IGZhbHNlLFxuICAkZHVyYXRpb24tNCA6IGZhbHNlLFxuICAkZHVyYXRpb24tNSA6IGZhbHNlLFxuICAkZHVyYXRpb24tNiA6IGZhbHNlLFxuICAkZHVyYXRpb24tNyA6IGZhbHNlLFxuICAkZHVyYXRpb24tOCA6IGZhbHNlLFxuICAkZHVyYXRpb24tOSA6IGZhbHNlLFxuICAkZHVyYXRpb24tMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJGR1cmF0aW9uLTEpID09IHN0cmluZyB7ICRkdXJhdGlvbi0xOiB1bnF1b3RlKCRkdXJhdGlvbi0xKTsgfVxuICAkZHVyYXRpb25zOiBjb21wYWN0KCRkdXJhdGlvbi0xLCAkZHVyYXRpb24tMiwgJGR1cmF0aW9uLTMsICRkdXJhdGlvbi00LCAkZHVyYXRpb24tNSwgJGR1cmF0aW9uLTYsICRkdXJhdGlvbi03LCAkZHVyYXRpb24tOCwgJGR1cmF0aW9uLTksICRkdXJhdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLWR1cmF0aW9uLCAkZHVyYXRpb25zLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE9uZSBvciBtb3JlIHRpbWluZyBmdW5jdGlvbnNcbi8vXG4vLyAqIFsgZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKHgxLCB5MSwgeDIsIHkyKV1cbi8vICogRm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiBUaGVzZSBmdW5jdGlvbnMgd2lsbCBlZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJGZ1bmN0aW9uLTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24sXG4gICRmdW5jdGlvbi0yIDogZmFsc2UsXG4gICRmdW5jdGlvbi0zIDogZmFsc2UsXG4gICRmdW5jdGlvbi00IDogZmFsc2UsXG4gICRmdW5jdGlvbi01IDogZmFsc2UsXG4gICRmdW5jdGlvbi02IDogZmFsc2UsXG4gICRmdW5jdGlvbi03IDogZmFsc2UsXG4gICRmdW5jdGlvbi04IDogZmFsc2UsXG4gICRmdW5jdGlvbi05IDogZmFsc2UsXG4gICRmdW5jdGlvbi0xMDogZmFsc2Vcbikge1xuICAkZnVuY3Rpb24tMTogdW5xdW90ZSgkZnVuY3Rpb24tMSk7XG4gICRmdW5jdGlvbnM6IGNvbXBhY3QoJGZ1bmN0aW9uLTEsICRmdW5jdGlvbi0yLCAkZnVuY3Rpb24tMywgJGZ1bmN0aW9uLTQsICRmdW5jdGlvbi01LCAkZnVuY3Rpb24tNiwgJGZ1bmN0aW9uLTcsICRmdW5jdGlvbi04LCAkZnVuY3Rpb24tOSwgJGZ1bmN0aW9uLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkZnVuY3Rpb25zLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE9uZSBvciBtb3JlIHRyYW5zaXRpb24tZGVsYXlzIGluIHNlY29uZHNcbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogdGhlc2UgZGVsYXlzIHdpbGwgZWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJGRlbGF5LTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXksXG4gICRkZWxheS0yIDogZmFsc2UsXG4gICRkZWxheS0zIDogZmFsc2UsXG4gICRkZWxheS00IDogZmFsc2UsXG4gICRkZWxheS01IDogZmFsc2UsXG4gICRkZWxheS02IDogZmFsc2UsXG4gICRkZWxheS03IDogZmFsc2UsXG4gICRkZWxheS04IDogZmFsc2UsXG4gICRkZWxheS05IDogZmFsc2UsXG4gICRkZWxheS0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkZGVsYXktMSkgPT0gc3RyaW5nIHsgJGRlbGF5LTE6IHVucXVvdGUoJGRlbGF5LTEpOyB9XG4gICRkZWxheXM6IGNvbXBhY3QoJGRlbGF5LTEsICRkZWxheS0yLCAkZGVsYXktMywgJGRlbGF5LTQsICRkZWxheS01LCAkZGVsYXktNiwgJGRlbGF5LTcsICRkZWxheS04LCAkZGVsYXktOSwgJGRlbGF5LTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tZGVsYXksICRkZWxheXMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gVHJhbnNpdGlvbiBhbGwtaW4tb25lIHNob3J0aGFuZFxuXG5AbWl4aW4gc2luZ2xlLXRyYW5zaXRpb24oXG4gICRwcm9wZXJ0eTogJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSxcbiAgJGR1cmF0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAkZnVuY3Rpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24sXG4gICRkZWxheTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheVxuKSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oY29tcGFjdCgkcHJvcGVydHkgJGR1cmF0aW9uICRmdW5jdGlvbiAkZGVsYXkpKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24oXG4gICR0cmFuc2l0aW9uLTEgOiBkZWZhdWx0LFxuICAkdHJhbnNpdGlvbi0yIDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTMgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNCA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi01IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTYgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNyA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi04IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTkgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tMTA6IGZhbHNlXG4pIHtcbiAgQGlmICR0cmFuc2l0aW9uLTEgPT0gZGVmYXVsdCB7XG4gICAgJHRyYW5zaXRpb24tMSA6IGNvbXBhY3QoJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24gJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSk7XG4gIH1cbiAgJHRyYW5zaXRpb25zOiBmYWxzZTtcbiAgQGlmIHR5cGUtb2YoJHRyYW5zaXRpb24tMSkgPT0gbGlzdCBhbmQgdHlwZS1vZihudGgoJHRyYW5zaXRpb24tMSwxKSkgPT0gbGlzdCB7XG4gICAgJHRyYW5zaXRpb25zOiBqb2luKCR0cmFuc2l0aW9uLTEsIGNvbXBhY3QoJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApLCBjb21tYSk7XG4gIH0gQGVsc2Uge1xuICAgICR0cmFuc2l0aW9ucyA6IGNvbXBhY3QoJHRyYW5zaXRpb24tMSwgJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApO1xuICB9XG4gICRkZWxheXM6IGNvbW1hLWxpc3QoKTtcbiAgJGhhcy1kZWxheXM6IGZhbHNlO1xuICAkd2Via2l0LXZhbHVlOiBjb21tYS1saXN0KCk7XG4gICRtb3otdmFsdWU6IGNvbW1hLWxpc3QoKTtcbiAgJG8tdmFsdWU6IGNvbW1hLWxpc3QoKTtcblxuICAvLyBUaGlzIGJsb2NrIGNhbiBiZSBtYWRlIGNvbnNpZGVyYWJseSBzaW1wbGVyIGF0IHRoZSBwb2ludCBpbiB0aW1lIHRoYXRcbiAgLy8gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gZGVhbCB3aXRoIHRoZSBkaWZmZXJlbmNlcyBpbiBob3cgZGVsYXlzIGFyZSB0cmVhdGVkLlxuICBAZWFjaCAkdHJhbnNpdGlvbiBpbiAkdHJhbnNpdGlvbnMge1xuICAgIC8vIEV4dHJhY3QgdGhlIHZhbHVlcyBmcm9tIHRoZSBsaXN0XG4gICAgLy8gKHRoaXMgd291bGQgYmUgY2xlYW5lciBpZiBudGggdG9vayBhIDNyZCBhcmd1bWVudCB0byBwcm92aWRlIGEgZGVmYXVsdCB2YWx1ZSkuXG4gICAgJHByb3BlcnR5OiBudGgoJHRyYW5zaXRpb24sIDEpO1xuICAgICRkdXJhdGlvbjogZmFsc2U7XG4gICAgJHRpbWluZy1mdW5jdGlvbjogZmFsc2U7XG4gICAgJGRlbGF5OiBmYWxzZTtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEgeyAkZHVyYXRpb246ICAgICAgICBudGgoJHRyYW5zaXRpb24sIDIpOyB9XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAyIHsgJHRpbWluZy1mdW5jdGlvbjogbnRoKCR0cmFuc2l0aW9uLCAzKTsgfVxuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMyB7ICRkZWxheTogICAgICAgICAgIG50aCgkdHJhbnNpdGlvbiwgNCk7ICRoYXMtZGVsYXlzOiB0cnVlOyB9XG5cbiAgICAvLyBJZiBhIGRlbGF5IGlzIHByb3ZpZGVkIHdpdGhvdXQgYSB0aW1pbmcgZnVuY3Rpb25cbiAgICBAaWYgaXMtdGltZSgkdGltaW5nLWZ1bmN0aW9uKSBhbmQgbm90KCRkZWxheSkgeyAkZGVsYXk6ICR0aW1pbmctZnVuY3Rpb247ICR0aW1pbmctZnVuY3Rpb246IGZhbHNlOyAkaGFzLWRlbGF5czogdHJ1ZTsgfVxuXG4gICAgLy8gS2VlcCBhIGxpc3Qgb2YgZGVsYXlzIGluIGNhc2Ugb25lIGlzIHNwZWNpZmllZFxuICAgICRkZWxheXM6IGFwcGVuZCgkZGVsYXlzLCBpZigkZGVsYXksICRkZWxheSwgMHMpKTtcblxuICAgICR3ZWJraXQtdmFsdWU6IGFwcGVuZCgkd2Via2l0LXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtd2Via2l0LCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uKS4uLikpO1xuICAgICAgICRtb3otdmFsdWU6IGFwcGVuZCggICAkbW96LXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAtbW96LCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkuLi4pKTtcbiAgICAgICAgICRvLXZhbHVlOiBhcHBlbmQoICAgICAkby12YWx1ZSwgY29tcGFjdCgocHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oICAgICAtbywgJHByb3BlcnR5KSAkZHVyYXRpb24gJHRpbWluZy1mdW5jdGlvbiAkZGVsYXkpLi4uKSk7XG4gIH1cblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24gOiAkd2Via2l0LXZhbHVlO1xuICAgIC8vIG9sZCB3ZWJraXQgZG9lc24ndCBzdXBwb3J0IHRoZSBkZWxheSBwYXJhbWV0ZXIgaW4gdGhlIHNob3J0aGFuZCBzbyB3ZSBwcm9ncmVzc2l2ZWx5IGVuaGFuY2UgaXQuXG4gICAgQGlmICRoYXMtZGVsYXlzICAgICAgICAgICAgICAgICAgICAgICB7IC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheSA6ICRkZWxheXM7ICAgICAgIH0gfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAgICAgICAtbW96LXRyYW5zaXRpb24gOiAkbW96LXZhbHVlOyAgICB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbiA6ICRvLXZhbHVlOyAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uIDogJHRyYW5zaXRpb25zO1xufVxuXG4vLyBjb2VyY2UgYSBsaXN0IHRvIGJlIGNvbW1hIGRlbGltaXRlZCBvciBtYWtlIGEgbmV3LCBlbXB0eSBjb21tYSBkZWxpbWl0ZWQgbGlzdC5cbkBmdW5jdGlvbiBjb21tYS1saXN0KCRsaXN0OiAoKSkge1xuICBAcmV0dXJuIGpvaW4oKCksICRsaXN0LCBjb21tYSk7XG59XG5cbi8vIFJldHVybnMgYCRwcm9wZXJ0eWAgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4IGlmIGl0IGlzIGZvdW5kIGluIGAkdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzYC5cbkBmdW5jdGlvbiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkcHJvcGVydHkpIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5KSA9PSBsaXN0IHtcbiAgICAkbmV3LWxpc3Q6IGNvbW1hLWxpc3QoKTtcbiAgICBAZWFjaCAkdiBpbiAkcHJvcGVydHkge1xuICAgICAgJG5ldy1saXN0OiBhcHBlbmQoJG5ldy1saXN0LCBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkdikpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXctbGlzdDtcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGluZGV4KCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXMsICRwcm9wZXJ0eSkge1xuICAgICAgQHJldHVybiAjeyRwcmVmaXh9LSN7JHByb3BlcnR5fTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJHByb3BlcnR5O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVja3MgaWYgdGhlIHZhbHVlIGdpdmVuIGlzIGEgdW5pdCBvZiB0aW1lLlxuQGZ1bmN0aW9uIGlzLXRpbWUoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICBAcmV0dXJuIG5vdChub3QoaW5kZXgocyBtcywgdW5pdCgkdmFsdWUpKSkpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCIvLyBCdXJnZXIgcGFydHNcbi8vXG4vLyAoLS0tKSB0b3AgICAgLT4gJjo6YmVmb3JlXG4vLyBbLS0tXSBtaWRkbGUgLT4gJlxuLy8gKC0tLSkgYm90dG9tIC0+ICY6OmFmdGVyXG5cblxuLy8gVmVuZG9yIHByZWZpeGVzXG4kc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQnVyZ2VyXG5AbWl4aW4gYnVyZ2VyKCR3aWR0aDogMzBweCwgJGhlaWdodDogNXB4LCAkZ3V0dGVyOiAzcHgsICRjb2xvcjogIzAwMCwgJGJvcmRlci1yYWRpdXM6IDAsICR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuM3MpIHtcbiAgICAkYnVyZ2VyLWhlaWdodDogJGhlaWdodCAhZ2xvYmFsO1xuICAgICRidXJnZXItZ3V0dGVyOiAkZ3V0dGVyICFnbG9iYWw7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogJGhlaWdodCArICRndXR0ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGhlaWdodCArICRndXR0ZXI7XG5cbiAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgJiwgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgQGlmICRib3JkZXItcmFkaXVzICE9IDAge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgLW1vei10cmFuc2Zvcm07XG4gICAgICAgICAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCAtby10cmFuc2Zvcm07XG4gICAgICAgIH1cbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuXG4gICAgICAgIEBpZiAkc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlcyB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICB9XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtKCRoZWlnaHQgKyAkZ3V0dGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogJGhlaWdodCArICRndXR0ZXI7XG4gICAgfVxufVxuXG5cbi8vIFNlbGVjdCBwYXJ0cyBvZiB0aGUgYnVyZ2VyXG5AbWl4aW4gYnVyZ2VyLXBhcnRzIHtcbiAgICAmLCAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYnVyZ2VyLXRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYnVyZ2VyLW1pZGRsZSB7XG4gICAgJiB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGJ1cmdlci1ib3R0b20ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5cbi8vIEJ1cmdlciBhbmltYXRpb25zXG5AbWl4aW4gYnVyZ2VyLXRvLWNyb3NzKCRjb2xvcjogYXV0bykge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGlmICgkY29sb3IgIT0gYXV0bykge1xuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBDU1Mgb3BhY2l0eS4gVGFrZXMgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxIGFzIHRoZSBhcmd1bWVudCwgZS5nLiAwLjUgZm9yIDUwJSBvcGFjaXR5LlxuLy9cbi8vICAgICBAcGFyYW0gJG9wYWNpdHlcbi8vICAgICAgICAgQSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLCB3aGVyZSAwIGlzIHRyYW5zcGFyZW50IGFuZCAxIGlzIG9wYXF1ZS5cblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4IHtcbiAgICBmaWx0ZXI6IHVucXVvdGUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0je3JvdW5kKCRvcGFjaXR5ICogMTAwKX0pXCIpO1xuICB9XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xufVxuXG4vLyBNYWtlIGFuIGVsZW1lbnQgY29tcGxldGVseSB0cmFuc3BhcmVudC5cbkBtaXhpbiB0cmFuc3BhcmVudCB7IEBpbmNsdWRlIG9wYWNpdHkoMCk7IH1cblxuLy8gTWFrZSBhbiBlbGVtZW50IGNvbXBsZXRlbHkgb3BhcXVlLlxuQG1peGluIG9wYXF1ZSB7IEBpbmNsdWRlIG9wYWNpdHkoMSk7IH1cbiIsIkBpbXBvcnQgXCIuLi9zdXBwb3J0XCI7XG5cbi8vIFRoaXMgbWl4aW4gcHJvdmlkZXMgYmFzaWMgc3VwcG9ydCBmb3IgQ1NTMyBwcm9wZXJ0aWVzIGFuZFxuLy8gdGhlaXIgY29ycmVzcG9uZGluZyBleHBlcmltZW50YWwgQ1NTMiBwcm9wZXJ0aWVzIHdoZW5cbi8vIHRoZSBpbXBsZW1lbnRhdGlvbnMgYXJlIGlkZW50aWNhbCBleGNlcHQgZm9yIHRoZSBwcm9wZXJ0eVxuLy8gcHJlZml4LlxuQG1peGluIGV4cGVyaW1lbnRhbCgkcHJvcGVydHksICR2YWx1ZSxcbiAgJG1veiAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLFxuICAkd2Via2l0ICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCxcbiAgJG8gICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSxcbiAgJG1zICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsXG4gICRraHRtbCAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwsXG4gICRvZmZpY2lhbCA6IHRydWVcbikge1xuICBAaWYgJHdlYmtpdCAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgLXdlYmtpdC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRraHRtbCAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sICAgICB7ICAta2h0bWwtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbW96ICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAtbW96LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG1zICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0IHsgICAgIC1tcy0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvICAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgLW8tI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkb2ZmaWNpYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAgICAgICAgICN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxufVxuXG4vLyBTYW1lIGFzIGV4cGVyaW1lbnRhbCgpLCBidXQgZm9yIGNhc2VzIHdoZW4gdGhlIHByb3BlcnR5IGlzIHRoZSBzYW1lIGFuZCB0aGUgdmFsdWUgaXMgdmVuZG9yaXplZFxuQG1peGluIGV4cGVyaW1lbnRhbC12YWx1ZSgkcHJvcGVydHksICR2YWx1ZSxcbiAgJG1veiAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLFxuICAkd2Via2l0ICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCxcbiAgJG8gICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSxcbiAgJG1zICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsXG4gICRraHRtbCAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwsXG4gICRvZmZpY2lhbCA6IHRydWVcbikge1xuICBAaWYgJHdlYmtpdCAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgI3skcHJvcGVydHl9IDogLXdlYmtpdC0jeyR2YWx1ZX07IH1cbiAgQGlmICRraHRtbCAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sICAgICB7ICN7JHByb3BlcnR5fSA6ICAta2h0bWwtI3skdmFsdWV9OyB9XG4gIEBpZiAkbW96ICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAtbW96LSN7JHZhbHVlfTsgfVxuICBAaWYgJG1zICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0IHsgI3skcHJvcGVydHl9IDogICAgIC1tcy0jeyR2YWx1ZX07IH1cbiAgQGlmICRvICAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgLW8tI3skdmFsdWV9OyB9XG4gIEBpZiAkb2ZmaWNpYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAgICAgICN7JHZhbHVlfTsgfVxufVxuIiwiLyogXG4gKiBNaXhpbnMgLy8gQ3JlZGl0IHRvIEhhcnJ5IFJvYmVydHMgJiBpbnVpdC5jc3MgZm9yIHRoZXNlIHNpbXBsZSBNaXhpbnNcbiAqXG5cbi8qXG4gKiBWZW5kb3JcbiAqL1xuQG1peGluIHZlbmRvcigkcHJvcGVydHksICR2YWx1ZS4uLil7XG4gICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06JHZhbHVlO1xuICAgICAgIC1tb3otI3skcHJvcGVydHl9OiR2YWx1ZTtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTokdmFsdWU7XG4gICAgICAgICAtby0jeyRwcm9wZXJ0eX06JHZhbHVlO1xuICAgICAgICAgICAgI3skcHJvcGVydHl9OiR2YWx1ZTtcbn1cblxuXG4vKlxuICogQ2FsY1xuICovXG5AbWl4aW4gY2FsYygkcHJvcGVydHksICRleHByZXNzaW9uKSB7XG4gICAgI3skcHJvcGVydHl9OiAtbW96LWNhbGMoI3skZXhwcmVzc2lvbn0pO1xuICAgICN7JHByb3BlcnR5fTogLXdlYmtpdC1jYWxjKCN7JGV4cHJlc3Npb259KTtcbiAgICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skZXhwcmVzc2lvbn0pO1xufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5AbWl4aW4gc3RyaXBlZC1iZygkYmctY29sb3I6ICRiYXNlLWNvbG9yLXdoaXRlLCAkZGFya2VuLWFtb3VudDogNSUsICRzdHJpcGUtY29sb3I6IGRhcmtlbigkYmctY29sb3IsICRkYXJrZW4tYW1vdW50KSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICRzdHJpcGUtY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJHN0cmlwZS1jb2xvciA1MCUsICRzdHJpcGUtY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDE0cHg7XG59XG5cbi8qXG4gKiBDbGVhcmZpeFxuICovXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cblxuXG5cbi8qXG4gKiBFbGxpcHNpcyB0aXRsZVxuICpcbiAqIEV4YW1wbGUgb2YgdXNhZ2U6XG4gKiBAaW5jbHVkZSBlbGxpcHNpcygyZW0sIDIpO1xuICpcbiAqL1xuXG5AbWl4aW4gZWxsaXBzaXMgKCRtYXgtaGVpZ2h0LCAkbGluZXM6IDIpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogJG1heC1oZWlnaHQ7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6ICRsaW5lczsgIFxuICB0ZXh0LW92ZXJmbG93OiAtby1lbGxpcHNpcy1sYXN0bGluZTtcbn1cblxuXG4vKlxuICogIFRyYW5zcGFyZW50IE1peGluXG4gKi9cblxuQG1peGluIHRyYW5zcGFyZW50KCRjb2xvciwgJGFscGhhKSB7XG4gICRyZ2JhOiByZ2JhKCRjb2xvciwgJGFscGhhKTtcbiAgJGllLWhleC1zdHI6IGllLWhleC1zdHIoJHJnYmEpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJnYmE7XG4gIGZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jeyRpZS1oZXgtc3RyfSxlbmRDb2xvcnN0cj0jeyRpZS1oZXgtc3RyfSk7XG4gIHpvb206IDE7XG59XG5cblxuLypcbiAqICBDbGVhcmZpeFxuICovXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5cblxuXG5AbWl4aW4gbWFzaygkdmFsKSB7XG4gIC13ZWJraXQtbWFzazogJHZhbDtcbiAgLW1vei1tYXNrOiAkdmFsO1xuICAtbXMtbWFzazogJHZhbDtcbiAgLW8tbWFzazogJHZhbDtcbiAgbWFzazogJHZhbDtcbn1cblxuXG5cbi8vIGFudGlhbGlhc2luZyBtb2RlIGZvbnQgcmVuZGVyaW5nXG5cbkBtaXhpbiBmb250LXNtb290aGluZyB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyBzdXBlciBsaWdodCBncmlkIC0gaXQgd29ya3Mgd2l0aCB0aGUgLmNkLWNvbnRhaW5lciBjbGFzcyBpbnNpZGUgc3R5bGUuc2Nzc1xuQG1peGluIGNvbHVtbigkcGVyY2VudGFnZSwgJGZsb2F0LWRpcmVjdGlvbjpsZWZ0KSB7XG4gIHdpZHRoOiAxMDAlICogJHBlcmNlbnRhZ2U7XG4gIGZsb2F0OiAkZmxvYXQtZGlyZWN0aW9uO1xufVxuXG5cblxuLyogY29tbWVudCAqL1xuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xuICAkcmVtU2l6ZTogJHNpemUgLyAxNnB4O1xuICBAcmV0dXJuICRyZW1TaXplICogMXJlbTtcbn1cblxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xuICBmb250LXNpemU6ICRzaXplO1xuICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XG59XG5cbi8vIGNlbnRlciB2ZXJ0aWNhbGx5IGFuZC9vciBob3Jpem9udGFsbHkgYW4gYWJzb2x1dGUgcG9zaXRpb25lZCBlbGVtZW50XG5cbkBtaXhpbiBjZW50ZXIoJHh5Onh5KSB7XG4gIEBpZiAkeHkgPT0geHkge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSk7XG4gIH1cbiAgQGVsc2UgaWYgJHh5ID09IHgge1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gIH1cbiAgQGVsc2UgaWYgJHh5ID09IHkge1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gIH1cbn1cbiIsIkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4eGwtZGVza3RvcC1taW4pIHtcbiAgaHRtbCwgYm9keSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR4bC1kZXNrdG9wLW1heCkge1xuICBodG1sLCBib2R5IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRlc2t0b3AtbWF4KSB7XG4gIGh0bWwsIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0LWxhbmRzY2FwZS1tYXgpIHtcbiAgaHRtbCwgYm9keSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gIC5tb2JpbGUtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUtbGFuZHNjYXBlLW1heCkge1xuICBodG1sLCBib2R5IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICAuaGlkZS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBob25lLXBvcnRyYWl0LW1heCkge1xuICBodG1sLCBib2R5IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGZsaXAtcGhvbmUtbWF4KSB7XG4gIGh0bWwsIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogN3B4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzdXBlci11bHRyYS10aW55LWZsaXAtcGhvbmUtbWF4KSB7XG4gIGh0bWwsIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogNXB4O1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */