@import url(https://fonts.googleapis.com/css?family=Josefin+Sans:400,300,700);
@import url(../fonts/font-awesome/font-awesome.min.css);
html {
    box-sizing: border-box
}

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

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

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

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden],
template {
    display: none
}

a {
    background-color: transparent
}

a:active,
a:hover {
    outline: 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b,
strong,
.content dfn,
.article dfn {
    font-weight: bold
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: 0.67em 0
}

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -0.5em
}

sub {
    bottom: -0.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled],
html input[disabled] {
    cursor: default
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

input {
    line-height: normal
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto
}

input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: content-box
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em
}

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: bold
}

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

td,
th {
    padding: 0
}

:focus {
    outline: none
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0px
}

img {
    display: block
}

ul,
ol,
li {
    list-style: none
}

figure {
    margin: 0px
}

fieldset {
    border: 0px;
    margin: 0px;
    padding: 0px
}

* {
    margin: 0px;
    padding: 0px
}

html,
body {
    font-size: 16px
}

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

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

a {
    text-decoration: none;
    color: #55ada2
}

a:link,
a:visited,
a:active {
    text-decoration: none;
    color: #000
}

a:hover {
    text-decoration: underline;
    color: #000
}

.clear::after {
    clear: both;
    content: "";
    display: table
}

.delete {
    width: 15px;
    height: 19px;
    text-indent: -9999px;
    display: inline-block;
    background-image: url(../../img/delete.png);
    background-position: left center;
    background-repeat: no-repeat
}

.parallax {
    height: 790px;
    overflow: hidden;
    position: relative
}

.parallax section {
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center top;
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px
}

@media screen and (max-width: 1024px) {
    .parallax {
		display:none;
    }
}

@media screen and (max-width: 992px) {
    .parallax {
		display:none;
    }
}

@media screen and (max-width: 767px) {
    .parallax {
        display: none
    }
}

.centered {
    padding-left: calc((100% - 1255px) / 2);
    padding-right: calc((100% - 1255px) / 2)
}

.center {
    width: 100%;
    max-width: 1255px;
    margin: 0px auto;
    position: relative
}

.center::after {
    clear: both;
    content: "";
    display: table
}

@media screen and (max-width: 1295px) {
    .center {
        padding-right: 20px;
        padding-left: 20px
    }
}

@media screen and (max-width: 992px) {
    .center {
        padding-right: 10px;
        padding-left: 10px
    }
}

@media screen and (max-width: 767px) {
    .center {
        padding-right: 10px;
        padding-left: 10px
    }
}

.columns {
    margin: 0px -15px
}

.columns::after {
    clear: both;
    content: "";
    display: table
}

.columns .col2 {
    width: 50%;
    float: left;
    margin: 20px 0px;
    padding: 0px 15px
}

@media screen and (max-width: 992px) {
    .columns .col2 {
        width: 100%
    }
}

.columns .col2 .col2 {
    margin: 0px
}

.lang_sel_list_horizontal {
    padding: 15px 0px;
    position: absolute;
    left: 90%;
    bottom: 95%;
    width: 60px;
}

.lang_sel_list_horizontal ul::after {
    clear: both;
    content: "";
    display: table
}

.lang_sel_list_horizontal ul li {
    float: left;
    padding-top: 2px;
    margin-right: 5px;
    padding-right: 5px;
    border-right: 1px solid #fff
}

.lang_sel_list_horizontal ul li a {
    color: #fff;
    display: block;
    font-weight: 700;
    line-height: 17px;
    font-size: 1rem
}

.lang_sel_list_horizontal ul li a:hover {
    text-decoration: none
}

.lang_sel_list_horizontal ul li:last-child {
    margin-right: 0px;
    border-right: 0px;
    padding-right: 0px
}

@media screen and (max-width: 1295px) {
    .lang_sel_list_horizontal {
        padding-left: 0px
    }
}

@media screen and (max-width: 992px) {
    .lang_sel_list_horizontal {
        padding-left: 10px
    }
}

@media screen and (max-width: 992px) {
    .lang_sel_list_horizontal {
        display: none
    }
}

.button,
.button:link,
.button:visited {
    height: 45px;
    line-height: 23px;
    display: inline-block;
    cursor: pointer;
    text-align: center;
    vertical-align: middle;
    font-family: "Josefin Sans", Arial, sans-serif;
    font-weight: 700;
    color: #fff;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    white-space: nowrap;
    text-transform: uppercase;
    border: 1px solid #ba1517;
    border-radius: 0px;
    background: #cd1719;
    margin-bottom: 0px;
    padding: 10px 15px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-size: 1.125rem
}

.button.button--success,
.button:link.button--success,
.button:visited.button--success {
    border-color: #4cae4c;
    background: #5cb85c
}

.button.button--success:hover,
.button.button--success[type='submit']:hover,
.button.button--success[type='reset']:hover,
.button.button--success[type='button']:hover,
.button.button--success:focus,
.button.button--success.focus,
.button:link.button--success:hover,
.button:link.button--success[type='submit']:hover,
.button:link.button--success[type='reset']:hover,
.button:link.button--success[type='button']:hover,
.button:link.button--success:focus,
.button:link.button--success.focus,
.button:visited.button--success:hover,
.button:visited.button--success[type='submit']:hover,
.button:visited.button--success[type='reset']:hover,
.button:visited.button--success[type='button']:hover,
.button:visited.button--success:focus,
.button:visited.button--success.focus {
    border-color: #4cae4c;
    background-color: #4cae4c
}

.button.button--white,
.button:link.button--white,
.button:visited.button--white {
    color: #3a6964;
    border-color: #fff;
    background-color: #fff
}

.button.button--white:hover,
.button.button--white[type='submit']:hover,
.button.button--white[type='reset']:hover,
.button.button--white[type='button']:hover,
.button.button--white:focus,
.button.button--white.focus,
.button:link.button--white:hover,
.button:link.button--white[type='submit']:hover,
.button:link.button--white[type='reset']:hover,
.button:link.button--white[type='button']:hover,
.button:link.button--white:focus,
.button:link.button--white.focus,
.button:visited.button--white:hover,
.button:visited.button--white[type='submit']:hover,
.button:visited.button--white[type='reset']:hover,
.button:visited.button--white[type='button']:hover,
.button:visited.button--white:focus,
.button:visited.button--white.focus {
    color: #3a6964;
    border-color: #fff;
    background-color: #fff
}

.button.button--gray,
.button:link.button--gray,
.button:visited.button--gray {
    color: #fff;
    border-color: #55ada2;
    background-color: #55ada2
}

.button.button--gray:hover,
.button.button--gray[type='submit']:hover,
.button.button--gray[type='reset']:hover,
.button.button--gray[type='button']:hover,
.button.button--gray:focus,
.button.button--gray.focus,
.button:link.button--gray:hover,
.button:link.button--gray[type='submit']:hover,
.button:link.button--gray[type='reset']:hover,
.button:link.button--gray[type='button']:hover,
.button:link.button--gray:focus,
.button:link.button--gray.focus,
.button:visited.button--gray:hover,
.button:visited.button--gray[type='submit']:hover,
.button:visited.button--gray[type='reset']:hover,
.button:visited.button--gray[type='button']:hover,
.button:visited.button--gray:focus,
.button:visited.button--gray.focus {
    color: #fff;
    border-color: #55ada2;
    background-color: #55ada2
}

.button.button--big,
.button:link.button--big,
.button:visited.button--big {
    height: auto;
    line-height: normal;
    padding-top: 14px;
    padding-bottom: 8px;
    font-size: 2.25rem
}

.button.button--block,
.button:link.button--block,
.button:visited.button--block {
    display: block
}

.button:hover,
.button[type='submit']:hover,
.button[type='reset']:hover,
.button[type='button']:hover,
.button:focus,
.button.focus,
.button:link:hover,
.button:link[type='submit']:hover,
.button:link[type='reset']:hover,
.button:link[type='button']:hover,
.button:link:focus,
.button:link.focus,
.button:visited:hover,
.button:visited[type='submit']:hover,
.button:visited[type='reset']:hover,
.button:visited[type='button']:hover,
.button:visited:focus,
.button:visited.focus {
    color: #fff;
    text-decoration: none;
    border-color: #ba1517;
    background-color: #ba1517
}

.button:active,
.button.active,
.button:link:active,
.button:link.active,
.button:visited:active,
.button:visited.active {
    background-image: none
}

.button:disabled,
.button.disabled,
.button:link:disabled,
.button:link.disabled,
.button:visited:disabled,
.button:visited.disabled {
    color: #999;
    background-color: #efefef
}

.content,
.article {
    font-family: "Josefin Sans", Arial, sans-serif;
    line-height: 1.3;
    color: #393939;
    font-size: 1.125rem
}

.content::after,
.article::after {
    clear: both;
    content: "";
    display: table
}

.content address,
.article address {
    margin: 0 0 20px;
    display: block;
    font-style: italic
}

.content address>*:last-child,
.article address>*:last-child {
    margin-bottom: 0px
}

.content .align-none,
.article .align-none,
.content .alignnone,
.article .alignnone {
    display: inline
}

.content .align-center,
.article .align-center,
.content .aligncenter,
.article .aligncenter {
    text-align: center;
    margin: 0px auto
}

.content .align-left,
.article .align-left,
.content .alignleft,
.article .alignleft {
    float: left;
    margin: 0px 20px 20px 0px
}

.content .align-right,
.article .align-right,
.content .alignright,
.article .alignright {
    float: right;
    margin: 0px 0px 20px 20px
}

.content .wp-caption,
.article .wp-caption,
.content figure,
.article figure {
    margin: 0px 0px 20px
}

.content .wp-caption .wp-caption-text,
.article .wp-caption .wp-caption-text,
.content .wp-caption figcaption,
.article .wp-caption figcaption,
.content figure .wp-caption-text,
.article figure .wp-caption-text,
.content figure figcaption,
.article figure figcaption {
    font-style: italic;
    margin: 5px
}

.content blockquote,
.article blockquote {
    font-style: italic;
    border: 1px solid #dddddd;
    border-radius: 5px;
    margin: 0px 0px 20px;
    padding: 20px
}

.content blockquote>*:last-child,
.article blockquote>*:last-child {
    margin-bottom: 0px
}

.content pre,
.article pre,
.content code,
.article code {
    white-space: pre;
    font: 100% 'andale mono', 'lucida console', monospace;
    line-height: 1.5;
    margin: 20px 0px
}

.content pre>*:last-child,
.article pre>*:last-child,
.content code>*:last-child,
.article code>*:last-child {
    margin-bottom: 0px
}

.content ul,
.article ul,
.content ol,
.article ol {
    margin: 0px 20px 20px
}

.content li ul,
.article li ul,
.content li ol,
.article li ol {
    margin: 0px 20px
}

.content ul,
.article ul,
.content ul li,
.article ul li {
    list-style-type: disc
}

.content ol,
.article ol,
.content ol li,
.article ol li {
    list-style-type: decimal
}

.content dl,
.article dl {
    margin: 0px 0px 20px
}

.content dl dt,
.article dl dt {
    font-weight: bold
}

.content dl dd,
.article dl dd {
    margin-left: 20px
}

.content table,
.article table {
    width: 100%;
    margin: 0px 0px 20px
}

.content table caption,
.article table caption {
    color: #000;
    border-bottom: 1px solid #ccc;
    background: #fff;
    padding: 10px;
    font-size: 1.6875rem
}

.content table th,
.article table th,
.content table td,
.article table td {
    border-bottom: 1px solid #ccc;
    background: #fff;
    padding: 10px
}

.content table th,
.article table th {
    text-align: left;
    font-weight: bold
}

.content table thead th,
.article table thead th {
    background: #efefef
}

.content table tfoot,
.article table tfoot {
    font-style: italic
}

.content h1,
.article h1,
.content h2,
.article h2,
.content h3,
.article h3,
.content h4,
.article h4,
.content h5,
.article h5,
.content h6,
.article h6 {
    font-family: inherit;
    font-weight: 400;
    line-height: 1.1;
    margin: 0px 0px 10px
}

.content h1,
.article h1 {
    text-align: right;
    padding-bottom: 15px;
    border-bottom: 2px solid #fff;
    font-size: 3.625rem
}

.content h1 span,
.article h1 span {
    font-size: 1.25rem
}

.content h2,
.article h2 {
    font-size: 2.5rem
}

.content h3,
.article h3 {
    font-size: 1.5rem
}

.content h4,
.article h4 {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.125rem
}

.content h5,
.article h5 {
    margin-bottom: 5px;
    font-size: 1rem
}

.content h6,
.article h6 {
    margin-bottom: 0px;
    font-size: 0.875rem
}

.content p,
.article p {
    margin: 0px 0px 20px
}

.content strong,
.article strong,
.content dfn,
.article dfn {
    font-weight: bold
}

.content em,
.article em,
.content dfn,
.article dfn {
    font-style: italic
}

.content sup,
.article sup,
.content sub,
.article sub {
    line-height: 0
}

@media screen and (max-width: 767px) {
    .content img.align-left,
    .article img.align-left,
    .content img.alignleft,
    .article img.alignleft,
    .content img.align-right,
    .article img.align-right,
    .content img.alignright,
    .article img.alignright {
        max-width: 50%
    }
}

fieldset {
    border: 1px solid #ccc;
    border-radius: 0px;
    margin-bottom: 20px;
    padding: 20px
}

fieldset>*:last-child {
    margin-bottom: 0px
}

fieldset>p {
    margin-bottom: 20px
}

fieldset>p::after {
    clear: both;
    content: "";
    display: table
}

legend {
    color: #666;
    border: 1px solid #ccc;
    border-radius: 0px;
    background: #fff;
    padding: 5px 10px
}

label:not(.radio):not(.checkbox):not(.error) {
    display: block;
    font-weight: 600;
    color: #393939;
    margin-bottom: 5px;
    font-size: 1.125rem
}

label.radio {
    display: inline-block;
    height: 35px;
    line-height: 35px;
    margin: 0 10px 0 1px
}

label.checkbox {
    display: inline-block;
    height: 35px;
    line-height: 35px;
    margin: 0 10px
}

.error {
    display: block;
    text-align: center;
    color: #fff;
    background: red;
    margin-top: 10px;
    padding: 6px 10px 4px;
    position: relative;
    font-size: 1rem
}

.error:before {
    display: block;
    content: '';
    width: 0;
    height: 0;
    margin-left: -3px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid red;
    position: absolute;
    top: -6px;
    left: 50%
}

button,
input,
select,
textarea {
    display: block;
    width: 100%;
    height: 35px;
    font-family: "Josefin Sans", Arial, sans-serif;
    color: #333;
    border: 1px solid #bebebe;
    border-radius: 0px;
    background: #fff;
    padding: 5px 10px;
    font-size: 1rem
}

button::-webkit-input-placeholder,
input::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: #8e8e8e
}

button::-moz-placeholder,
input::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
    color: #8e8e8e
}

button:-moz-placeholder,
input:-moz-placeholder,
select:-moz-placeholder,
textarea:-moz-placeholder {
    color: #8e8e8e
}

button:-ms-input-placeholder,
input:-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: #8e8e8e
}

button:focus:not(:-moz-read-only):not([type='submit']):not([type='reset']):not([type='button']),
input:focus:not(:-moz-read-only):not([type='submit']):not([type='reset']):not([type='button']),
select:focus:not(:-moz-read-only):not([type='submit']):not([type='reset']):not([type='button']),
textarea:focus:not(:-moz-read-only):not([type='submit']):not([type='reset']):not([type='button']) {
    border-color: #337ab7
}

button:focus:not(:read-only):not([type='submit']):not([type='reset']):not([type='button']),
input:focus:not(:read-only):not([type='submit']):not([type='reset']):not([type='button']),
select:focus:not(:read-only):not([type='submit']):not([type='reset']):not([type='button']),
textarea:focus:not(:read-only):not([type='submit']):not([type='reset']):not([type='button']) {
    border-color: #337ab7
}

button.error,
input.error,
.wpcf7 input.wpcf7-not-valid,
select.error,
.wpcf7 select.wpcf7-not-valid,
textarea.error,
.wpcf7 textarea.wpcf7-not-valid {
    border-color: #d9534f
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
    color: #999;
    background-color: #efefef
}

button[type='radio'],
button[type='checkbox'],
input[type='radio'],
input[type='checkbox'],
select[type='radio'],
select[type='checkbox'],
textarea[type='radio'],
textarea[type='checkbox'] {
    display: inline-block;
    height: auto;
    margin-right: 10px;
    padding: 0
}

button[type='radio'],
button[type='checkbox'],
button[type='submit'],
button[type='reset'],
button[type='button'],
input[type='radio'],
input[type='checkbox'],
input[type='submit'],
input[type='reset'],
input[type='button'],
select[type='radio'],
select[type='checkbox'],
select[type='submit'],
select[type='reset'],
select[type='button'],
textarea[type='radio'],
textarea[type='checkbox'],
textarea[type='submit'],
textarea[type='reset'],
textarea[type='button'] {
    display: inline-block;
    width: auto
}

button {
    display: inline-block;
    width: auto
}

button,
input[type='submit'],
input[type='reset'],
input[type='button'] {
    color: #333;
    background-color: #efefef
}

button:hover,
input[type='submit']:hover,
input[type='reset']:hover,
input[type='button']:hover {
    color: #333;
    background-color: #efefef
}

select {
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: auto 5px;
    background-image: url(data:image/png;base64,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);
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none
}

textarea {
    width: 100%;
    height: 200px
}

.ratio,
audio,
embed,
iframe,
object,
video {
    margin-bottom: 20px
}

.ratio {
    display: block;
    overflow: hidden;
    height: 0;
    padding: 0px;
    position: relative
}

.ratio embed,
.ratio iframe,
.ratio object,
.ratio video {
    height: 100%;
    width: 100%;
    border: 0;
    position: absolute;
    top: 0px;
    left: 0px
}

.ratio--16x9 {
    padding-bottom: 56.25%
}

.ratio--4x3 {
    padding-bottom: 75%
}

.wrapper {
    width: 100%;
    overflow: hidden
}

.wrapper::after {
    clear: both;
    content: "";
    display: table
}

.wrapper.wrapper--page {
    font-family: "Josefin Sans", Arial, sans-serif;
    line-height: 1.3;
    color: #393939;
    background-color: #fff;
    font-size: 1.125rem
}

@media screen and (max-width: 767px) {
    .wrapper.wrapper--home .sidebar {
        display: none
    }
}

.wrapper.wrapper--home .features__sidebar nav>ul>li:nth-child(1) ul {
    display: block
}

.wrapper.wrapper--home .smartway__sidebar nav>ul>li:nth-child(2) ul {
    display: block
}

.wrapper.wrapper--home .benefits__sidebar nav>ul>li:nth-child(3) ul {
    display: block
}

.wrapper.wrapper--home .webshop__sidebar nav>ul>li:nth-child(4) ul {
    display: block
}

.sidebar {
    z-index: 12;
    float: left;
    width: 238px;
    position: relative;
    padding-bottom: 50px
}

.sidebar ol {
    padding: 17px
}

.sidebar ol::after {
    clear: both;
    content: "";
    display: table
}

.sidebar ol li {
    float: left;
    padding: 3px
}

.sidebar ol li a {
    display: block
}

.sidebar ol li a img {
    display: block
}

@media screen and (max-width: 767px) {
    .sidebar ol li {
        padding: 3px 2px
    }
}

@media screen and (max-width: 767px) {
    .sidebar ol {
        float: right;
        padding: 14px 0px
    }
}

.sidebar nav>ul>li {
    padding: 10px 15px;
    border-bottom: 2px solid #fff
}

.sidebar nav>ul>li a {
    color: #fff;
    display: block;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.5rem
}

.sidebar nav>ul>li a:hover {
    text-decoration: none
}

.sidebar nav>ul>li ul {
    display: none
}

.sidebar nav>ul>li ul li {
    margin-top: 10px
}

.sidebar nav>ul>li ul li a {
    font-weight: 400;
    font-size: 0.9375rem
}

.sidebar nav>ul>li.current-menu-item ul,
.sidebar nav>ul>li.current_page_parent ul {
    display: block
}

@media screen and (max-width: 992px) {
    .sidebar nav>ul>li {
        padding-left: 0px;
        padding-right: 0px
    }
}

@media screen and (max-width: 767px) {
    .sidebar nav>ul>li {
        border-bottom: 0px
    }
}

@media screen and (max-width: 767px) {
    .sidebar nav {
        display: none;
        padding: 0px 10px;
        background-color: #fff;
        position: absolute;
        top: 55px;
        right: 0px;
        left: 0px
    }
}

@media screen and (min-width: 768px) {
    .sidebar nav {
        display: block !important;
        background: none !important
    }
}

.sidebar aside {
    float: right;
    display: none;
    padding: 17px 0px;
    margin-left: 14px
}

.sidebar aside a {
    width: 25px;
    display: block;
    border-top: 4px solid #fff;
    border-bottom: 4px solid #fff
}

.sidebar aside a:after {
    height: 4px;
    content: " ";
    display: block;
    margin: 4px 0px;
    background-color: #fff
}

@media screen and (max-width: 767px) {
    .sidebar aside {
        display: block;
        margin-left: 10px
    }
}

.sidebar hgroup {
    overflow: hidden;
    margin-bottom: 5px
}

.sidebar hgroup a {
    display: block
}

.sidebar hgroup a img {
    width: 100%;
    height: auto;
    display: block
}

@media screen and (max-width: 767px) {
    .sidebar hgroup a {
        margin-top: -20px
    }
}

@media screen and (max-width: 767px) {
    .sidebar hgroup {
        float: left;
        width: 100px;
        margin-bottom: 0px
    }
}

.sidebar.sidebar--dark nav>ul>li {
    border-bottom-color: #393939
}

.sidebar.sidebar--dark nav>ul>li>a {
    color: #393939
}

.sidebar.sidebar--dark nav>ul>li ul li a {
    color: #393939
}

.sidebar.sidebar--dark aside a {
    border-top-color: #393939;
    border-bottom-color: #393939
}

.sidebar.sidebar--dark aside a:after {
    background-color: #393939
}

.sidebar.sidebar--dark .lang_sel_list_horizontal ul li {
    border-right-color: #393939
}

.sidebar.sidebar--dark .lang_sel_list_horizontal ul li a {
    color: #393939
}

.sidebar .lang_sel_list_horizontal {
    float: right;
    display: none;
    position: static;
    padding: 18px 5px
}

@media screen and (max-width: 767px) {
    .sidebar .lang_sel_list_horizontal {
        display: block
    }
}

@media screen and (max-width: 992px) {
    .sidebar {
        width: 200px
    }
}

@media screen and (max-width: 767px) {
    .sidebar {
        width: 100%;
        padding: 0px 10px;
        min-height: 0px !important;
        background-color: #fff;
        box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.1);
        -webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.1);
        position: fixed;
        top: 0px;
        right: 0px;
        left: 0px
    }
    .sidebar nav {
        box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.1);
        -webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.1)
    }
}

.article {
    padding-top: 120px;
    margin-left: 238px;
    padding-left: 25px
}

@media screen and (max-width: 992px) {
    .article {
        margin-left: 200px
    }
}

@media screen and (max-width: 767px) {
    .article {
        margin-left: 0px;
        padding-left: 0px
    }
}

.homepage {
    position: relative
}

.homepage section {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px
}

.homepage .homepage__text {
    padding: 50px 0px;
    text-align: center;
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
    background: #fff;
    background: linear-gradient(to bottom, #fff 0%, #e6e7e7 100%);
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e7e7', GradientType=0);
    font-size: 2.625rem
}

@media screen and (max-width: 1255px) {
    .homepage .homepage__text {
        font-size: 2.25rem
    }
}

@media screen and (max-width: 992px) {
    .homepage .homepage__text {
        padding: 30px 0px;
        font-size: 2rem
    }
}

@media screen and (max-width: 767px) {
    .homepage .homepage__text {
        padding: 20px 0px;
        font-size: 1.375rem
    }
}

.homepage .homepage__slider {
    z-index: 1;
    position: relative
}

.homepage .homepage__slider .hermes .tp-bullet {
    box-shadow: inset 0 0 0 2px #252626
}

.homepage .homepage__slider .hermes .tp-bullet:after {
    background-color: #252626
}

.homepage .homepage__slider .lang_sel_list_horizontal {
    left: 50%;
    margin-left: 0px
}

.homepage .homepage__slider .lang_sel_list_horizontal ul li {
    border-right-color: #393939
}

.homepage .homepage__slider .lang_sel_list_horizontal ul li a {
    color: #393939
}

@media screen and (max-width: 1295px) {
    .homepage .homepage__slider .lang_sel_list_horizontal {
        left: 0px;
        margin-left: 0px
    }
}

@media screen and (max-width: 767px) {
    .homepage .homepage__slider {
        position: relative
    }
}

.homepage .homepage__sidebar {
    display: block !important
}

.homepage .homepage__sidebar nav ul li {
    border-bottom-color: #393939
}

.homepage .homepage__sidebar nav ul li a {
    color: #393939
}

.homepage .homepage__sidebar aside a {
    border-top-color: #1d1d1b;
    border-bottom-color: #1d1d1b
}

.homepage .homepage__sidebar aside a:after {
    background-color: #1d1d1b
}

.homepage .homepage__sidebar hgroup a {
    background-color: #fff
}

.homepage .homepage__sidebar .lang_sel_list_horizontal ul li {
    border-right-color: #393939
}

.homepage .homepage__sidebar .lang_sel_list_horizontal ul li a {
    color: #393939
}

.features {
    background-color: #d4aa29
}

.features .features__sidebar hgroup a {
    background-color: #94771d
}
.testaanvraag_hidemobile {
	display: block;
	}
@media screen and (max-width: 767px) {
    .features .features__sidebar {
        background-color: #94771d
    }
    .features .features__sidebar nav {
        background-color: #94771d
    }
	.testaanvraag_hidemobile {
	display: none;
	}
}

.features .features__content {
    color: #fff
}

.features .features__content article {
    position: relative;
    border-bottom: 2px solid #fff
}

.features .features__content article::after {
    clear: both;
    content: "";
    display: table
}

.features .features__content article>ul {
    width: 26%;
    margin: 0px;
    float: right;
    padding-top: 25px;
    position: relative;
    font-size: 1.1875rem
}

.features .features__content article>ul>li {
    display: none;
    list-style: none
}

.features .features__content article>ul>li h4 {
    text-align: center;
    margin-bottom: 10px;
    padding-bottom: 15px;
    border-bottom: 2px solid #fff
}

.features .features__content article>ul>li figure {
    text-align: center;
    padding-bottom: 25px;
    background-image: url(../../img/icon-shadow.png);
    background-position: center bottom;
    background-repeat: no-repeat
}

.features .features__content article>ul>li figure img {
    height: auto;
    max-width: 58%;
    display: inline-block
}

.features .features__content article>ul>li:first-child {
    display: block
}

@media screen and (max-width: 1255px) {
    .features .features__content article>ul {
        font-size: 1.125rem
    }
}

@media screen and (max-width: 992px) {
    .features .features__content article>ul {
        font-size: 1.0625rem
    }
}

@media screen and (max-width: 767px) {
.sector .sector__content article ul li span{
	display:none !important;
}
    .features .features__content article>ul {
        width: 100%;
        font-size: 1.5rem
    }
}

.features .features__content article>figure {
    float: left;
    width: 71.3%;
    position: relative
}

.features .features__content article>figure ol {
    margin: 0px;
    padding: 0px;
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px
}

.features .features__content article>figure ol li {
    list-style: none;
    position: absolute;
    top: 0px
}

.features .features__content article>figure ol li a {
    width: 50px;
    height: 50px;
    display: block;
    text-indent: -9999px;
    border-radius: 50%;
    -webkit-border-radius: 50%
}

.features .features__content article>figure ol li.point1 {
    top: 0px;
    left: 57%
}

.features .features__content article>figure ol li.point2 {
    top: 27%;
    left: 87.1%
}

.features .features__content article>figure ol li.point3 {
    top: 36%;
    left: -5px
}

.features .features__content article>figure ol li.point4 {
    top: 6%;
    left: 31.3%
}

.features .features__content article>figure ol li.point5 {
    top: 54.3%;
    right: -5px
}

.features .features__content article>figure img {
    width: 100%;
    height: auto
}

@media screen and (max-width: 767px) {
    .features .features__content article>figure {
        width: 100%
    }
}

.features .features__content article aside {
    z-index: 3;
    max-width: 200px;
    padding: 15px 0px;
    text-align: center;
    position: absolute;
    top: 0px;
    left: 0px
}

.features .features__content article aside a {
    color: #fff;
    display: block;
    padding-top: 70px;
    font-size: 1rem;
    background-image: url(../../img/play-icon.png);
    background-position: center top;
    background-repeat: no-repeat
}

.features .features__content article aside a:hover {
    text-decoration: none
}

.features .features__content article aside a p span {
    display: block;
    text-transform: uppercase;
    font-size: 1.5rem
}

@media screen and (max-width: 1255px) {
    .features .features__content article aside a p span {
        font-size: 1.25rem
    }
}

@media screen and (max-width: 992px) {
    .features .features__content article aside a p span {
        font-size: 1.125rem
    }
}

.features .features__content article aside a p cite {
    font-style: normal
}

@media screen and (max-width: 1255px) {
    .features .features__content article aside a p cite {
        display: none
    }
}

.features .features__content article section {
    z-index: 10;
    display: none;
    background-color: #fff;
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px
}

.features .features__content article section a {
    color: #000;
    display: block;
    padding: 2px 10px;
    background-color: #fff;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    position: absolute;
    top: 10px;
    right: 10px
}

.features .features__content article section a:hover {
    text-decoration: none
}

.features .features__content article section iframe {
    width: 100%;
    height: 100%
}

.features .features__content>section {
    padding: 15px 0px;
    margin: 0px -15px;
    position: relative
}

.features .features__content>section::after {
    clear: both;
    content: "";
    display: table
}

.features .features__content>section h3 {
    cursor: pointer;
    position: absolute;
    top: -54px;
    left: 22%
}

.features .features__content>section h3 span {
    color: #94771d;
    position: relative;
    display: inline-block;
    background-color: #fff;
    padding: 3px 5px 2px 5px;
    font-size: 1.125rem
}

.features .features__content>section h3 span:after {
    top: 100%;
    right: 0px;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 12px;
    margin-top: 1px
}

@media screen and (max-width: 767px) {
    .features .features__content>section h3 {
        display: none;
    }
       
}

.features .features__content>section aside {
    display: block;
}

.features .features__content>section aside::after {
    clear: both;
    content: "";
    display: table
}

.features .features__content>section aside h4 {
    padding: 0px 15px
}

.features .features__content>section aside ul {
    width: 50%;
    float: left;
    margin: 10px 0px;
    padding: 0px 15px
}

.features .features__content>section aside ul li {
    margin: 2px 0px;
    list-style: none;
    position: relative;
    padding-left: 150px;
    font-size: 0.9375rem
}

.features .features__content>section aside ul li p {
    margin: 0px
}

.features .features__content>section aside ul li span {
    display: block;
    position: absolute;
    top: 0px;
    left: 0px
}

@media screen and (max-width: 767px) {
    .features .features__content>section aside ul {
        width: 100%
    }
}

.smartway {
    background-color: #598edd
}

.smartway .smartway__sidebar hgroup a {
    background-color: #3e639a
}

@media screen and (max-width: 767px) {
    .smartway .smartway__sidebar {
        background-color: #3e639a
    }
    .smartway .smartway__sidebar nav {
        background-color: #3e639a
    }
}

.smartway .smartway__content {
    color: #fff
}

.smartway .smartway__content article {
    position: relative;
    padding-bottom: 50px
}

.smartway .smartway__content article ul {
    margin: 0px -8px;
    position: relative
}

.smartway .smartway__content article ul::after {
    clear: both;
    content: "";
    display: table
}

.smartway .smartway__content article ul li {
    width: 50%;
    float: left;
    padding: 8px;
    list-style: none
}

.smartway .smartway__content article ul li a {
    color: #333;
    display: block;
    position: relative
}

.smartway .smartway__content article ul li a img {
    width: 100%;
    display: block
}

.smartway .smartway__content article ul li a span {
    display: none;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px
}

.smartway .smartway__content article ul li a span cite {
    display: block;
    max-width: 320px;
    font-style: normal;
    vertical-align: middle;
    margin: 20% auto 0px auto;
    font-size: 3.625rem
}

@media screen and (max-width: 992px) {
    .smartway .smartway__content article ul li a span cite {
        max-width: 230px;
        font-size: 2.625rem
    }
}

.smartway .smartway__content article ul li a:hover span {
    display: block
}

@media screen and (max-width: 467px) {
    .smartway .smartway__content article ul li {
        width: 100%
    }
}

.smartpage {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center
}

.smartpage article {
    padding: 45px 0px;
    position: relative
}

.smartpage article::after {
    clear: both;
    content: "";
    display: table
}

.smartpage article p {
    font-size: 1.5rem
}

.smartpage article h2 {
    margin-bottom: 35px;
    text-transform: lowercase;
    font-size: 3.625rem
}

@media screen and (max-width: 992px) {
    .smartpage article h2 {
        font-size: 2.5rem
    }
}

@media screen and (max-width: 767px) {
    .smartpage article {
        padding: 20px 0px
    }
    .smartpage article h2 {
        margin-bottom: 20px
    }
}

.smartpage article figure img {
    height: auto;
    max-width: 100%
}

.smartpage .smartpage__design1 h1 {
    border-bottom-color: #393939
}

.smartpage .smartpage__design1 aside {
    float: left;
    max-width: 630px
}

@media screen and (max-width: 1255px) {
    .smartpage .smartpage__design1 aside {
        max-width: 530px
    }
}

@media screen and (max-width: 992px) {
    .smartpage .smartpage__design1 aside {
        float: none;
        max-width: none
    }
}

@media screen and (max-width: 767px) {
    .smartpage .smartpage__design1 aside {
        float: none;
        max-width: none
    }
}

.smartpage .smartpage__design1 figure {
    float: left;
    margin: 100px 15px 0px 110px
}

@media screen and (max-width: 1255px) {
    .smartpage .smartpage__design1 figure {
        margin-left: 50px
    }
}

@media screen and (max-width: 992px) {
    .smartpage .smartpage__design1 figure {
        margin-left: 0px;
        margin-top: 0px
    }
}

@media screen and (max-width: 767px) {
    .smartpage .smartpage__design1 figure {
        max-width: 50px;
        margin: 0px 10px 10px 0px
    }
}

.smartpage .smartpage__design2 {
    color: #fff
}

.smartpage .smartpage__design2 aside {
    float: left;
    max-width: 600px
}

@media screen and (max-width: 1255px) {
    .smartpage .smartpage__design2 aside {
        max-width: 500px
    }
}

@media screen and (max-width: 767px) {
    .smartpage .smartpage__design2 aside {
        float: none;
        max-width: none
    }
}

.smartpage .smartpage__design2 figure {
    float: left;
    margin: 0px 40px 0px 190px
}

@media screen and (max-width: 1255px) {
    .smartpage .smartpage__design2 figure {
        margin: 0px 20px 0px 100px
    }
}

@media screen and (max-width: 992px) {
    .smartpage .smartpage__design2 figure {
        margin: 0px 20px 0px 0px
    }
}

@media screen and (max-width: 767px) {
    .smartpage .smartpage__design2 figure {
        max-width: 50px;
        margin: 0px 10px 10px 0px
    }
}

.smartpage .smartpage__design3 {
    color: #fff
}

.smartpage .smartpage__design3 aside {
    max-width: 480px;
    margin-left: 110px;
    padding-bottom: 200px
}

.smartpage .smartpage__design3 aside p {
    margin-right: 105px
}

@media screen and (max-width: 767px) {
    .smartpage .smartpage__design3 aside {
        max-width: none;
        margin-left: 0px
    }
    .smartpage .smartpage__design3 aside p {
        margin-right: 0px
    }
}

.smartpage .smartpage__design3 figure {
    position: absolute;
    bottom: 50px;
    left: 110px
}

@media screen and (max-width: 767px) {
    .smartpage .smartpage__design3 figure {
        position: static;
        margin: 0px 20px 10px 0px
    }
}

.smartpage .smartpage__design4 {
    color: #fff
}

.smartpage .smartpage__design4 aside {
    max-width: 380px;
    margin-left: 110px;
    padding-bottom: 200px
}

@media screen and (max-width: 767px) {
    .smartpage .smartpage__design4 aside {
        max-width: none;
        margin-left: 0px
    }
}

.smartpage .smartpage__design4 figure {
    position: absolute;
    bottom: 50px;
    left: 110px
}

@media screen and (max-width: 767px) {
    .smartpage .smartpage__design4 figure {
        position: static;
        margin: 0px 20px 10px 0px
    }
}

.smartpage .smartpage__design5 h1 {
    border-bottom-color: #393939
}

.smartpage .smartpage__design5 aside {
    float: left;
    max-width: 256px
}

@media screen and (max-width: 767px) {
    .smartpage .smartpage__design5 aside {
        float: none;
        max-width: none
    }
}

.smartpage .smartpage__design5 figure {
    float: left;
    margin: 0px 15px 0px 110px
}

@media screen and (max-width: 767px) {
    .smartpage .smartpage__design5 figure {
        max-width: 50px;
        margin: 0px 10px 10px 0px
    }
}

.smartpage .smartpage__design6 {
    color: #fff
}

.smartpage .smartpage__design6 aside {
    max-width: 415px;
    margin-left: 110px
}

.smartpage .smartpage__design6 aside p {
    margin-right: 105px
}

@media screen and (max-width: 767px) {
    .smartpage .smartpage__design6 aside {
        max-width: none;
        margin-left: 0px
    }
    .smartpage .smartpage__design6 aside p {
        margin-right: 0px
    }
}

.smartpage .smartpage__design6 figure {
    position: absolute;
    top: 125px;
    left: 500px
}

@media screen and (max-width: 767px) {
    .smartpage .smartpage__design6 figure {
        float: left;
        max-width: 50px;
        position: static;
        margin: 0px 20px 10px 0px
    }
}

@media screen and (min-width: 768px) {
    .smartpage .smartpage__sidebar {
        background: none !important
    }
}

.benefits {
    background-color: #2c3a40
}

.benefits .benefits__sidebar hgroup a {
    background-color: #1f282d
}

@media screen and (max-width: 767px) {
    .benefits .benefits__sidebar {
        background-color: #1f282d
    }
    .benefits .benefits__sidebar nav {
        background-color: #1f282d
    }
}

.benefits .benefits__content {
    color: #fff
}

.benefits .benefits__content article {
    position: relative;
    padding-bottom: 50px
}

.benefits .benefits__content article ul {
    margin: 40px -8px;
    position: relative
}

.benefits .benefits__content article ul::after {
    clear: both;
    content: "";
    display: table
}

.benefits .benefits__content article ul li {
    width: 50%;
    float: left;
    padding: 8px;
    opacity: 0.40;
    list-style: none;
    text-align: center;
    position: relative
}

.benefits .benefits__content article ul li a {
    display: block;
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px
}

.benefits .benefits__content article ul li h2 {
    max-width: 320px;
    margin: 0px auto;
    margin-bottom: 20px;
    border-bottom: 1px solid #fff;
    font-size: 3.625rem
}

@media screen and (max-width: 467px) {
    .benefits .benefits__content article ul li h2 {
        font-size: 2.5rem
    }
}

.benefits .benefits__content article ul li aside {
    margin-bottom: 35px
}

.benefits .benefits__content article ul li aside img {
    width: 7%;
    margin: 4px;
    display: inline-block
}

@media screen and (max-width: 992px) {
    .benefits .benefits__content article ul li aside img {
        width: 8%;
        margin: 3px
    }
}

@media screen and (max-width: 767px) {
    .benefits .benefits__content article ul li aside img {
        width: 9%;
        margin: 2px
    }
}

@media screen and (max-width: 467px) {
    .benefits .benefits__content article ul li aside img {
        width: 10%;
        margin: 1px
    }
}

.benefits .benefits__content article ul li figure img {
    height: auto;
    max-width: 100%;
    display: inline-block
}

.benefits .benefits__content article ul li:hover {
    opacity: 1.0
}

.sector {
    background-color: #2c3a40
}

.sector .sector__sidebar hgroup a {
    background-color: #1f282d
}

@media screen and (max-width: 767px) {
    .sector .sector__sidebar {
        background-color: #1f282d
    }
    .sector .sector__sidebar nav {
        background-color: #1f282d
    }
}

.sector .sector__content {
    color: #fff
}

.sector .sector__content article {
    position: relative;
    padding-bottom: 20px
}

.sector .sector__content article ul {
    width: 98%;
    margin: 0px auto;
    text-align: center;
    padding: 40px 0px
}

.sector .sector__content article ul li {
    width: 13%;
    padding: 5px 10px;
    list-style: none;
    display: inline-block;
    vertical-align: top
}

.sector .sector__content article ul li img {
    height: auto;
    max-width: 100%;
    margin: 0px auto
}

.sector .sector__content article ul li span {
    display: block;
    padding-top: 10px;
    font-size: 1rem
}

@media screen and (max-width: 992px) {
    .sector .sector__content article ul li {
        padding: 5px
    }
}

@media screen and (max-width: 767px) {
    .sector .sector__content article ul li {
        padding: 2px
    }
}

@media screen and (max-width: 992px) {
    .sector .sector__content article ul {
        width: 100%
    }
}

@media screen and (max-width: 992px) {
    .sector .sector__content article ul {
        padding: 10px 0px
    }
}

.sector .sector__content article section {
    max-width: 500px;
    margin: 0px auto;
    padding: 20px 0px
}

.webshop {
    background-color: #53978f
}

.webshop .webshop__sidebar hgroup a {
    background-color: #3a6964
}

@media screen and (max-width: 767px) {
    .webshop .webshop__sidebar {
        background-color: #3a6964
    }
    .webshop .webshop__sidebar nav {
        background-color: #3a6964
    }
}

.webshop .webshop__content {
    color: #fff
}

.webshop .webshop__content article {
    position: relative;
    margin-bottom: 20px
}

.webshop .webshop__content article ul {
    position: relative;
    margin: 20px 0px 0px 50px;
    position: absolute;
    top: 0px;
    left: 0px
}

.webshop .webshop__content article ul li {
    cursor: pointer;
    margin: 5px 0px;
    list-style: none;
    position: relative;
    padding-left: 135px;
    font-size: 1.1875rem
}

.webshop .webshop__content article ul li span {
    display: block;
    padding-left: 30px;
    position: absolute;
    top: 0px;
    left: 0px
}

.webshop .webshop__content article ul li span cite {
    width: 18px;
    height: 18px;
    display: block;
    border-radius: 50%;
    border: 2px solid transparent;
    -webkit-border-radius: 50%;
    position: absolute;
    top: 1px;
    left: 0px
}

@media screen and (max-width: 992px) {
    .webshop .webshop__content article ul li span cite {
        top: 2px;
        width: 14px;
        height: 14px
    }
}

@media screen and (max-width: 767px) {
    .webshop .webshop__content article ul li span cite {
        top: 4px;
        width: 8px;
        height: 8px
    }
}

@media screen and (max-width: 767px) {
    .webshop .webshop__content article ul li span {
        padding-left: 15px
    }
}

.webshop .webshop__content article ul li.active span cite {
    border-color: #fff
}

.webshop .webshop__content article ul li:first-child.active span cite,
.webshop .webshop__content article ul li:last-child.active span cite {
    border-color: #393939
}

@media screen and (max-width: 767px) {
    .webshop .webshop__content article ul li {
        margin: 2px 0px;
        padding-left: 100px
    }
}

@media screen and (max-width: 992px) {
    .webshop .webshop__content article ul {
        margin: 10px 0px 0px 10px
    }
}

@media screen and (max-width: 767px) {
    .webshop .webshop__content article ul {
        margin: 20px
    }
}

.webshop .webshop__content article figure {
    margin: 0px
}

.webshop .webshop__content article figure img {
    width: 100%;
    height: auto;
    display: block
}

@media screen and (max-width: 767px) {
    .webshop .webshop__content article figure {
        padding-top: 80px
    }
}

.webshop .webshop__content section {
    margin: 30px -7px;
    padding-bottom: 20px
}

.webshop .webshop__content section::after {
    clear: both;
    content: "";
    display: table
}

.webshop .webshop__content section ul {
    margin: 0px -7px
}

.webshop .webshop__content section ul::after {
    clear: both;
    content: "";
    display: table
}

.webshop .webshop__content section ul li {
    width: 50%;
    float: left;
    list-style: none;
    padding: 0px 7px;
    margin-bottom: 5px
}

.webshop .webshop__content section ul li .button {
    width: 100%
}

.webshop .webshop__content section aside {
    width: 50%;
    float: left;
    padding: 0px 7px;
    font-size: 0.875rem
}

.webshop .webshop__content section aside:before {
    height: 2px;
    content: " ";
    display: block;
    margin-bottom: 20px;
    background-color: #fff
}

@media screen and (max-width: 767px) {
    .webshop .webshop__content section aside {
        width: 100%
    }
}

.webshop.webshop--white {
    background-color: #fff
}

.webshop.webshop--white .webshop__content {
    color: #393939
}

.webshop.webshop--white .webshop__content h1 {
    border-bottom-color: #393939
}

.webshop.webshop--white .webshop__content .button.button--white {
    color: #fff;
    background-color: #393939
}

.webshop.webshop--white .webshop__sidebar ol li a.fb {
    background-image: url(../../img/facebook-black.png);
    background-position: left center;
    background-repeat: no-repeat
}

.webshop.webshop--white .webshop__sidebar ol li a.tw {
    background-image: url(../../img/twitter-black.png);
    background-position: left center;
    background-repeat: no-repeat
}

.webshop.webshop--white .webshop__sidebar ol li a.in {
    background-image: url(../../img/instagram-black.png);
    background-position: left center;
    background-repeat: no-repeat
}
.webshop.webshop--white .webshop__sidebar ol li a.ma {
    background-image: url(../../img/contact-black.png);
    background-position: left center;
    background-repeat: no-repeat
}

.webshop.webshop--white .webshop__sidebar ol li a.vm {
    background-image: url(../../img/vimeo-black.png);
    background-position: left center;
    background-repeat: no-repeat
}

.webshop.webshop--white .webshop__sidebar ol li a img {
    opacity: 0.0
}

.webshop.webshop--white .webshop__sidebar hgroup a {
    background-color: #fff;
    background-image: url(../../img/red-logo.png);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100% auto
}

.webshop.webshop--white .webshop__sidebar hgroup a img {
    opacity: 0.0
}

.webshop.webshop--white .webshop__sidebar aside a {
    border-color: #393939
}

.webshop.webshop--white .webshop__sidebar aside a:after {
    background-color: #393939
}

.webshop.webshop--white .webshop__sidebar nav ul li {
    border-bottom-color: #393939
}

.webshop.webshop--white .webshop__sidebar nav ul li a {
    color: #393939
}

@media screen and (max-width: 767px) {
    .webshop.webshop--white .webshop__sidebar nav {
        background-color: #eee
    }
}

@media screen and (max-width: 767px) {
    .webshop.webshop--white .webshop__sidebar {
        background-color: #eee
    }
}

.webshop.webshop--white .lang_sel_list_horizontal ul li {
    border-right-color: #393939
}

.webshop.webshop--white .lang_sel_list_horizontal ul li a {
    color: #393939
}

.webshop.webshop--red {
    background-color: #d22729
}

.webshop.webshop--red .webshop__sidebar hgroup a {
    background-color: #931b1d
}

@media screen and (max-width: 767px) {
    .webshop.webshop--red .webshop__sidebar nav {
        background-color: #931b1d
    }
}

@media screen and (max-width: 767px) {
    .webshop.webshop--red .webshop__sidebar {
        background-color: #931b1d
    }
}

.webshop.webshop--black {
    background-color: #262626
}

.webshop.webshop--black .webshop__sidebar hgroup a {
    background-color: #1b1b1b
}

@media screen and (max-width: 767px) {
    .webshop.webshop--black .webshop__sidebar nav {
        background-color: #1b1b1b
    }
}

@media screen and (max-width: 767px) {
    .webshop.webshop--black .webshop__sidebar {
        background-color: #1b1b1b
    }
}

.product {
    background-color: #393939
}

.product .product__sidebar hgroup a {
    background-color: #282828
}

@media screen and (max-width: 767px) {
    .product .product__sidebar {
        background-color: #282828
    }
    .product .product__sidebar nav {
        background-color: #282828
    }
}

.product .product__content {
    color: #fff
}

.product .product__content article {
    float: left;
    width: calc(100% - 255px)
}

@media screen and (max-width: 992px) {
    .product .product__content article {
        width: 100%
    }
}

.product .product__content aside {
    width: 240px;
    float: right;
    margin-left: 15px
}

.product .product__content aside section div {
    padding: 15px;
    color: #393939;
    background-color: #fff
}

.product .product__content aside section div h3 {
    line-height: 1.0;
    margin: 15px 0px;
    padding: 10px 0px;
    border-top: 1px solid #393939;
    border-bottom: 1px solid #393939
}

.product .product__content aside section div h3 span {
    color: #55ada2;
    display: block;
    text-align: right;
    font-size: 1rem
}

.product .product__content aside section div h3 strong,
.product .product__content aside section div h3 .content dfn,
.content .product .product__content aside section div h3 dfn,
.product .product__content aside section div h3 .article dfn,
.article .product .product__content aside section div h3 dfn {
    display: block;
    font-weight: 700;
    font-size: 2.875rem
}

.product .product__content aside section div ul {
    margin: 0px;
    font-size: 1rem
}

.product .product__content aside section div ul li {
    margin: 2px 0px;
    list-style: none;
    position: relative
}

.product .product__content aside section div ul li cite {
    color: #55ada2;
    font-style: normal;
    position: absolute;
    top: 0px;
    right: 0px
}

.product .product__content aside section div .button.button--big {
    font-size: 1.75rem
}

@media screen and (max-width: 992px) {
    .product .product__content aside {
        width: 100%;
        margin-left: 0px;
        padding-bottom: 30px
    }
}

.product .product__extra {
    margin: 30px 0px
}

.product .product__extra ul {
    margin: 0px
}

.product .product__extra ul li {
    cursor: pointer;
    list-style: none
}

.product .product__extra ul li::after {
    clear: both;
    content: "";
    display: table
}

.product .product__extra ul li p {
    margin-left: 380px;
    font-size: 1rem
}

@media screen and (max-width: 767px) {
    .product .product__extra ul li p {
        margin-left: 0px
    }
}

.product .product__extra ul li figure {
    float: left;
    width: 365px;
    opacity: 0.50;
    padding: 20px 15px;
    background-color: #fff
}

.product .product__extra ul li figure h4 {
    padding: 20px 0px;
    margin-left: 150px;
    color: #393939;
    text-transform: uppercase;
    font-size: 1rem
}

.product .product__extra ul li figure h4 i {
    display: block;
    padding-top: 10px;
    font-style: normal;
    text-transform: uppercase
}

.product .product__extra ul li figure h4 cite {
    display: block;
    margin-top: 10px;
    font-weight: 700;
    font-style: normal;
    font-size: 1.5rem
}

.product .product__extra ul li figure h4 span {
    font-weight: 300;
    padding-bottom: 5px;
    text-transform: none;
    display: inline-block;
    border-bottom: 2px solid #393939
}

.product .product__extra ul li figure img {
    float: left
}

@media screen and (max-width: 767px) {
    .product .product__extra ul li figure {
        width: 100%
    }
}

.product .product__extra ul li:hover figure,
.product .product__extra ul li.active figure {
    opacity: 1.0;
    box-shadow: inset 0 0 0 4px #5ca39a;
    -webkit-box-shadow: inset 0 0 0 4px #5ca39a
}

.summary {
    background-color: #393939
}

.summary .summary__sidebar hgroup a {
    background-color: #282828
}

@media screen and (max-width: 767px) {
    .summary .summary__sidebar {
        background-color: #282828
    }
    .summary .summary__sidebar nav {
        background-color: #282828
    }
}

.summary .summary__content {
    color: #fff
}

.summary .summary__content article {
    padding: 20px;
    margin-bottom: 40px;
    color: #393939;
    background-color: #fff
}

.summary .summary__content article ul {
    margin: 0px;
    width: 100%;
    display: table;
    margin-bottom: 24px
}

.summary .summary__content article ul li {
    padding: 10px;
    display: table-cell;
    vertical-align: middle;
    border-right: 1px solid #393939
}

.summary .summary__content article ul li p {
    font-size: 1rem
}

.summary .summary__content article ul li img {
    height: auto;
    max-width: 100%
}

.summary .summary__content article ul li figure {
    margin: 0px;
    padding: 20px
}

@media screen and (max-width: 767px) {
    .summary .summary__content article ul li figure {
        padding: 0px
    }
}

.summary .summary__content article ul li:nth-child(1) {
    width: 220px
}

@media screen and (max-width: 992px) {
    .summary .summary__content article ul li:nth-child(1) {
        width: 180px
    }
}

@media screen and (max-width: 767px) {
    .summary .summary__content article ul li:nth-child(1) {
        width: 80px
    }
}

.summary .summary__content article ul li:nth-child(2) {
    width: 20%
}

@media screen and (max-width: 1255px) {
    .summary .summary__content article ul li:nth-child(2) {
        width: auto
    }
}

@media screen and (max-width: 1255px) {
    .summary .summary__content article ul li:nth-child(3) {
        display: none
    }
}

.summary .summary__content article ul li:nth-child(4) {
    width: 115px;
    color: #55ada2;
    text-align: right
}

@media screen and (max-width: 992px) {
    .summary .summary__content article ul li:nth-child(4) {
        width: 100px
    }
}

@media screen and (max-width: 767px) {
    .summary .summary__content article ul li:nth-child(4) {
        width: 70px
    }
}

.summary .summary__content article ul li:nth-child(5) {
    width: 115px;
    text-align: center;
    border-right: 0px
}

@media screen and (max-width: 992px) {
    .summary .summary__content article ul li:nth-child(5) {
        width: 100px
    }
}

@media screen and (max-width: 767px) {
    .summary .summary__content article ul li:nth-child(5) {
        width: 40px
    }
}

.summary .summary__content article aside {
    padding-top: 24px;
    border-top: 1px solid #393939
}

.summary .summary__content article aside::after {
    clear: both;
    content: "";
    display: table
}

.summary .summary__content article aside h3 {
    float: right;
    width: 211px;
    text-align: right;
    border-left: 1px solid #393939
}

.summary .summary__content article aside h3 span {
    color: #55ada2;
    display: block;
    text-align: right;
    font-size: 1rem
}

.summary .summary__content article aside h3 strong,
.summary .summary__content article aside h3 .content dfn,
.content .summary .summary__content article aside h3 dfn,
.summary .summary__content article aside h3 .article dfn,
.article .summary .summary__content article aside h3 dfn {
    display: block;
    font-weight: 700;
    letter-spacing: 1px;
    font-size: 3rem
}

@media screen and (max-width: 767px) {
    .summary .summary__content article {
        padding: 10px
    }
}

.summary .summary__content section {
    padding-bottom: 40px
}

.summary .summary__content section aside {
    padding: 16px;
    margin-bottom: 20px;
    background-color: #fff;
    color: #393939;
    font-size: 1rem
}

.summary .summary__content section aside .border {
    padding-bottom: 18px;
    border-bottom: 2px solid #393939
}

.summary .summary__content section aside .term {
    position: relative;
    padding-left: 40px;
    max-width: 320px
}

.summary .summary__content section aside .term input {
    position: absolute;
    top: 0px;
    left: 0px
}

.summary .summary__content section aside .term label {
    font-weight: 400;
    font-size: 1rem
}

.summary .summary__content section .button.button--big {
    font-size: 1.75rem
}

@media screen and (max-width: 1255px) {
    .summary .summary__content section h1 {
        font-size: 3rem
    }
}

.social {
    background-color: #d22729
}

.social .social__sidebar hgroup a {
    background-color: #931b1d
}

@media screen and (max-width: 767px) {
    .social .social__sidebar {
        background-color: #931b1d
    }
    .social .social__sidebar nav {
        background-color: #931b1d
    }
}

.social .social__content {
    color: #fff
}

.social .social__content section {
    margin: 0px -8px;
    padding-bottom: 50px
}

.social .social__content section::after {
    clear: both;
    content: "";
    display: table
}

.social .social__content section aside {
    width: 25%;
    float: left;
    padding: 8px
}

.social .social__content section aside article {
    padding: 16px;
    background-color: #fff;
    color: #393939;
    font-size: 0.875rem
}

.social .social__content section aside article img {
    width: 100%;
    height: auto;
    margin-bottom: 15px
}

.social .social__content section aside.big {
    width: 50%
}

.social .social__content #bricks nav {
    display: none
}

.social .social__content #bricks .bricks-content .brick {
    border: 0px;
    border-radius: 0;
    margin: 0 0 16px 0;
    box-shadow: 0 0 0 0 transparent
}

.social .social__content #bricks .bricks-content .brick header {
    padding: 16px;
    padding-bottom: 0px
}

.social .social__content #bricks .bricks-content .brick section {
    margin: 0px;
    padding: 16px;
    color: #393939;
    font-size: 0.875rem
}

.social .social__content #bricks .bricks-content .brick .share-panel,
.social .social__content #bricks .bricks-content .brick .panel,
.social .social__content #bricks .bricks-content .brick footer,
.social .social__content #bricks .bricks-content .brick .counts {
    display: none
}

.pages {
    background-color: #fff
}

.pages .pages__sidebar hgroup a {
    background-color: #fff
}

.pages .pages__sidebar .lang_sel_list_horizontal ul li {
    border-right-color: #393939
}

.pages .pages__sidebar .lang_sel_list_horizontal ul li a {
    color: #393939
}

@media screen and (max-width: 767px) {
    .pages .pages__sidebar {
        background-color: #f6f6f6
    }
    .pages .pages__sidebar nav {
        background-color: #f6f6f6
    }
}

.pages .pages__content {
    overflow: hidden
}

.pages .pages__content h1 {
    border-bottom-color: #393939
}

.pages .pages__content article {
    margin: 0px auto;
    max-width: 100%;
    padding: 30px 0px;
    position: relative
}

.pages .pages__content article::after {
    clear: both;
    content: "";
    display: table
}

.pages .pages__content article h4 {
    margin-bottom: 0px;
    margin-left: -20px;
    text-transform: none
}

@media screen and (max-width: 992px) {
    .pages .pages__content article h4 {
        margin-left: 0px
    }
}

.pages .pages__content article aside:first-child {
    width: 144px;
    float: left
}

@media screen and (max-width: 767px) {
    .pages .pages__content article aside:first-child {
        width: auto;
        float: none
    }
}

.pages .pages__content article aside:last-child {
    margin-left: 150px
}

@media screen and (max-width: 767px) {
    .pages .pages__content article aside:last-child {
        margin-left: 0px
    }
}

.footer {
    padding-top: 30px;
    background-color: #fff
}

.footer aside {
    padding-bottom: 15px
}

.footer aside.footer__logo {
    float: left;
    padding-bottom: 0px
}

.footer aside.footer__logo a {
    display: block
}

.footer aside.footer__logo a img {
    display: block
}

@media screen and (max-width: 992px) {
    .footer aside.footer__logo {
        display: none
    }
}

.footer aside.footer__address {
    float: left;
    width: 250px;
    margin-left: 15px;
    font-size: 1rem
}

.footer aside.footer__address a {
    color: #393939
}

.footer aside.footer__address p {
    margin-bottom: 15px
}

.footer aside.footer__address p:last-child {
    margin-bottom: 0px
}

@media screen and (max-width: 767px) {
    .footer aside.footer__address {
        float: none;
        width: auto;
        text-align: center
    }
}

.footer aside.footer__menu {
    overflow: hidden;
    margin: 0px 215px 0px 525px
}

.footer aside.footer__menu nav::after {
    clear: both;
    content: "";
    display: table
}

.footer aside.footer__menu nav ul {
    width: 50%;
    float: left
}

.footer aside.footer__menu nav ul li {
    font-weight: 700;
    margin-bottom: 10px
}

.footer aside.footer__menu nav ul li a {
    color: #393939;
    font-size: 1.5rem
}

.footer aside.footer__menu nav ul li:last-child {
    margin-bottom: 0px
}

@media screen and (max-width: 767px) {
    .footer aside.footer__menu nav ul li {
        display: inline-block;
        margin: 2px
    }
}

@media screen and (max-width: 767px) {
    .footer aside.footer__menu nav ul {
        width: auto;
        float: none;
        display: inline-block
    }
}

@media screen and (max-width: 992px) {
    .footer aside.footer__menu {
        margin-left: 115px
    }
}

@media screen and (max-width: 767px) {
    .footer aside.footer__menu {
        margin: 0px;
        text-align: center
    }
}

.footer aside.footer__social {
    position: absolute;
    top: 0px;
    right: 15px
}

.footer aside.footer__social ol {
    float: left
}

.footer aside.footer__social ol li {
    float: left;
    margin-left: 15px
}

.footer aside.footer__social ol li:first-child {
    margin-left: 0px
}

@media screen and (max-width: 767px) {
    .footer aside.footer__social ol li {
        float: none;
        display: inline-block
    }
}

@media screen and (max-width: 767px) {
    .footer aside.footer__social ol {
        float: none;
        text-align: center
    }
}

@media screen and (max-width: 767px) {
    .footer aside.footer__social {
        position: static
    }
}

.footer .footer__copyright {
    padding: 15px 0px;
    font-size: 1rem;
    position: absolute;
    right: 15px;
    bottom: 0px
}

@media screen and (max-width: 767px) {
    .footer .footer__copyright {
        position: static;
        text-align: center
    }
}

.maps {
    z-index: 10;
    width: 100%;
    height: 460px;
    position: relative
}

.maps .maps__infobox {
    width: 250px;
    border-radius: 5px;
    background: #fff;
    padding: 30px;
    position: relative
}

.maps .maps__infobox:before {
    display: block;
    width: 0;
    height: 0;
    content: '';
    border: 5px solid transparent;
    border-top-color: #fff;
    position: absolute;
    bottom: -10px;
    left: 20px
}

.wpcf7 .wpcf7-display-none,
.wpcf7 .screen-reader-response {
    display: none
}

.wpcf7 .ajax-loader {
    display: inline-block;
    margin: 9.5px 0px 0px 10px
}

.wpcf7 .wpcf7-response-output {
    color: #ffffff;
    border-radius: 5px;
    background: #5bc0de;
    margin: 20px 0px;
    padding: 10px
}

.wpcf7 .wpcf7-response-output.wpcf7-validation-errors {
    background: #d9534f
}

.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok {
    background: #5cb85c
}

@font-face {
    font-family: 'flexslider-icon';
    src: url("fonts/flexslider-icon.eot");
    src: url("fonts/flexslider-icon.eot?#iefix") format("embedded-opentype"), url("fonts/flexslider-icon.woff") format("woff"), url("fonts/flexslider-icon.ttf") format("truetype"), url("fonts/flexslider-icon.svg#flexslider-icon") format("svg");
    font-weight: normal;
    font-style: normal
}

.flex-container a:hover,
.flex-slider a:hover {
    outline: none
}

.slides,
.slides>li,
.flex-control-nav,
.flex-direction-nav {
    margin: 0;
    padding: 0;
    list-style: none
}

.flex-pauseplay span {
    text-transform: capitalize
}

.flexslider {
    margin: 0;
    padding: 0
}

.flexslider .slides>li {
    display: none;
    -webkit-backface-visibility: hidden
}

.flexslider .slides img {
    width: 100%;
    display: block
}

.flexslider .slides:after {
    content: "\0020";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0
}

html[xmlns] .flexslider .slides {
    display: block
}

* html .flexslider .slides {
    height: 1%
}

.no-js .flexslider .slides>li:first-child {
    display: block
}

.flexslider {
    margin: 0 0 60px;
    background: #ffffff;
    border: 4px solid #ffffff;
    position: relative;
    zoom: 1;
    border-radius: 4px;
    -o-box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2);
    box-shadow: "" 0 1px 4px rgba(0, 0, 0, 0.2)
}

.flexslider .slides {
    zoom: 1
}

.flexslider .slides img {
    height: auto;
    -moz-user-select: none
}

.flex-viewport {
    max-height: 2000px;
    transition: all 1s ease
}

.loading .flex-viewport {
    max-height: 300px
}

.carousel li {
    margin-right: 5px
}

.flex-direction-nav {
    *height: 0
}

.flex-direction-nav a {
    text-decoration: none;
    display: block;
    width: 40px;
    height: 40px;
    margin: -20px 0 0;
    position: absolute;
    top: 50%;
    z-index: 10;
    overflow: hidden;
    opacity: 0;
    cursor: pointer;
    color: rgba(0, 0, 0, 0.8);
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease-in-out
}

.flex-direction-nav a:before {
    font-family: "flexslider-icon";
    font-size: 40px;
    display: inline-block;
    content: '\f001';
    color: rgba(0, 0, 0, 0.8);
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3)
}

.flex-direction-nav a.flex-next:before {
    content: '\f002'
}

.flex-direction-nav .flex-prev {
    left: -50px
}

.flex-direction-nav .flex-next {
    right: -50px;
    text-align: right
}

.flexslider:hover .flex-direction-nav .flex-prev {
    opacity: 0.7;
    left: 10px
}

.flexslider:hover .flex-direction-nav .flex-prev:hover {
    opacity: 1
}

.flexslider:hover .flex-direction-nav .flex-next {
    opacity: 0.7;
    right: 10px
}

.flexslider:hover .flex-direction-nav .flex-next:hover {
    opacity: 1
}

.flex-direction-nav .flex-disabled {
    opacity: 0 !important;
    filter: alpha(opacity=0);
    cursor: default;
    z-index: -1
}

.flex-pauseplay a {
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: 5px;
    left: 10px;
    opacity: 0.8;
    z-index: 10;
    overflow: hidden;
    cursor: pointer;
    color: #000
}

.flex-pauseplay a:before {
    font-family: "flexslider-icon";
    font-size: 20px;
    display: inline-block;
    content: '\f004'
}

.flex-pauseplay a:hover {
    opacity: 1
}

.flex-pauseplay a.flex-play:before {
    content: '\f003'
}

.flex-control-nav {
    width: 100%;
    position: absolute;
    bottom: -40px;
    text-align: center
}

.flex-control-nav li {
    margin: 0 6px;
    display: inline-block;
    zoom: 1;
    *display: inline
}

.flex-control-paging li a {
    width: 11px;
    height: 11px;
    display: block;
    background: #666;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
    text-indent: -9999px;
    -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
    box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
    border-radius: 20px
}

.flex-control-paging li a:hover {
    background: #333;
    background: rgba(0, 0, 0, 0.7)
}

.flex-control-paging li a.flex-active {
    background: #000;
    background: rgba(0, 0, 0, 0.9);
    cursor: default
}

.flex-control-thumbs {
    margin: 5px 0 0;
    position: static;
    overflow: hidden
}

.flex-control-thumbs li {
    width: 25%;
    float: left;
    margin: 0
}

.flex-control-thumbs img {
    width: 100%;
    height: auto;
    display: block;
    opacity: .7;
    cursor: pointer;
    -moz-user-select: none;
    transition: all 1s ease
}

.flex-control-thumbs img:hover {
    opacity: 1
}

.flex-control-thumbs .flex-active {
    opacity: 1;
    cursor: default
}

@media screen and (max-width: 860px) {
    .flex-direction-nav .flex-prev {
        opacity: 1;
        left: 10px
    }
    .flex-direction-nav .flex-next {
        opacity: 1;
        right: 10px
    }
}

.flexslider {
    border: 0px;
    margin: 0 0 15px;
    background: none;
    border-radius: 0px;
    box-shadow: 0 0 0 transparent;
    -o-box-shadow: 0 0 0 transparent
}

.flexslider .slides {
    margin: 0px
}

.flexslider .slides>li {
    list-style: none
}

.flexslider .slides>li p {
    margin-top: 10px;
    position: relative
}

.flexslider .slides>li p span {
    display: block;
    padding-left: 30px
}

.flexslider .slides>li p span cite {
    width: 16px;
    height: 16px;
    display: block;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    position: absolute;
    top: 3px;
    left: 0px
}

@media screen and (max-width: 992px) {
    .flexslider .slides>li p span cite {
        width: 12px;
        height: 12px
    }
}

@media screen and (max-width: 767px) {
    .flexslider .slides>li p span cite {
        top: 4px;
        width: 8px;
        height: 8px
    }
}

@media screen and (max-width: 992px) {
    .flexslider .slides>li p span {
        padding-left: 15px
    }
}

.flexslider .slides>li figure {
    position: relative
}

.flexslider .slides>li figure img {
    display: block
}

.flexslider .slides>li figure span {
    color: #fff;
    display: block;
    padding: 5px 10px;
    background: rgba(85, 173, 162, 0.8);
    font-size: 1.0625rem;
    position: absolute;
    right: 0px;
    bottom: 0px;
    left: 0px
}

.flexslider.product__thumbs li a {
    color: #fff;
    display: block;
    text-decoration: none
}

.flexslider.product__thumbs li a img {
    opacity: 0.25
}

.flexslider.product__thumbs li.flex-active-slide a img {
    opacity: 1.0
}
.homepage .homepage__slider .lang_sel_list_horizontal {
    padding: 15px 0px;
    position: absolute;
    left: 80%;
    bottom: 92%;
    width: 60px;
}


/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvX2Jhc2Uuc2NzcyIsIm1haW4uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX2JveC1zaXppbmcuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3MvX25vcm1hbGl6ZS5zY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fbWVkaWEuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsInRvb2xzL19taXhpbnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2NhbGMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJiYXNlL19idXR0b25zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJiYXNlL19jb250ZW50LnNjc3MiLCJ0b29scy9fYWRkcmVzc2VzLnNjc3MiLCJ0b29scy9fYWxpZ25tZW50LnNjc3MiLCJ0b29scy9fYmxvY2txdW90ZXMuc2NzcyIsInRvb2xzL19jb2Rlcy5zY3NzIiwidG9vbHMvX2xpc3RzLnNjc3MiLCJ0b29scy9fdGFibGVzLnNjc3MiLCJ0b29scy9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fZm9ybXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3BsYWNlaG9sZGVyLnNjc3MiLCJiYXNlL19tZWRpYS5zY3NzIiwiYmFzZS9fd3JhcHBlci5zY3NzIiwiYmFzZS9fc2lkZWJhci5zY3NzIiwiYmFzZS9fYXJ0aWNsZS5zY3NzIiwiY29tcG9uZW50cy9faG9tZXBhZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmVzLnNjc3MiLCJjb21wb25lbnRzL19zbWFydHdheS5zY3NzIiwiY29tcG9uZW50cy9fc21hcnRwYWdlLnNjc3MiLCJjb21wb25lbnRzL19iZW5lZml0cy5zY3NzIiwiY29tcG9uZW50cy9fc2VjdG9yLnNjc3MiLCJjb21wb25lbnRzL193ZWJzaG9wLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LnNjc3MiLCJjb21wb25lbnRzL19zdW1tYXJ5LnNjc3MiLCJjb21wb25lbnRzL19zb2NpYWwuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2VzLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsInBsdWdpbnMvX21hcHMuc2NzcyIsInBsdWdpbnMvX2NvbnRhY3Rmb3JtNy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mbGV4c2xpZGVyL2ZsZXhzbGlkZXIuY3NzIiwidmVuZG9yL2ZsZXhzbGlkZXIvX2ZsZXhzbGlkZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSw4RUNrR0Esd0RDNUdFLEtBQ0UscUJBQXVCLENBQ3hCLHFCQU1HLGtCQUFvQixDQUNyQixLQ1dILHVCQUNBLDBCQUNBLDZCQUErQixDQUloQyxLQU9DLFFBQVUsQ0FDWCwyRkF5QkMsYUFBZSxDQUNoQiw0QkFXQyxxQkFDQSx1QkFBeUIsQ0FL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ckIsa0ViZ0V3QixpQklQSyxDQUM3QixzRFUvREEsZ0JBQ0EscURBQ0EsZ0JkMEVFLGVjekU4QixDQUVoQywwR2RnRXdCLGlCSVBLLENBQzdCLGdESmFFLG9CQzlEYyxDY2JoQiw0RGYyRUUsZUM5RGMsQ2NSaEIsc0RBSUEsb0JBQXNCLENBQ3RCLHNEQUlBLHVCQUF5QixDQUN6Qix3QmY0REUsbUJDOURjLENjZ0JoQiw4QkFQQyxnQkFBa0IsQ0FDbEIsOEJmaUR1QixnQkMzRFIsQ2NjZiw4QkNaRCxXaEI0REUsbUJDOURjLENlaUNoQiw4Q0EzQkMsV0FDQSw2QkFDQSxnQmhCc0RDLGFJckJILG1CRzNEZ0IsQ1M2QmQsd0VBSUEsNkJBQ0EsZ0JoQjhDQyxZZ0I3RThCLENBaUMvQixvQ0FHQSxnQkFDQSxnQkFBa0IsQ0FDbEIsZ0RBR0Esa0JBckN5QixDQXNDekIsMENBR0EsaUJBQW1CLENBQ25CLGdKQ3pDRCxvQkFDQSxnQkFDQSxnQmpCc0VFLG1CaUJyRTBCLENBQzVCLHdCQUdBLGlCQUNBLG9CQUNBLDZCYjBDRCxrQkczRGdCLENVc0JmLGtDYnFDRCxpQkczRGdCLENVcUJkLHdCYnNDRixnQkczRGdCLENVMEJmLHdCYmlDRCxnQkczRGdCLENVOEJmLHdCQUdBLGdCQUNBLHlCYnlCRCxrQkczRGdCLENVb0NmLHdCakJxQ3dCLGtCSWR6QixjRzNEZ0IsQ1V5Q2Ysd0JqQmdDd0Isa0JJZHpCLGtCRzNEZ0IsQ1U4Q2Ysc0JqQmtDRSxtQkM5RGMsQ2dCZ0NoQiwwREFHQSxnQkFBa0IsQ0FDbEIsa0RBR0EsaUJBQW1CLENBQ25CLG9EQVNBLGFBQWUsQ2ZNYixxQ1F6RUosZ01BcUJJLGFBQWUsQ0FDZixDUThCSixTQUVDLHNCQUNBLGtCbEJrQnlCLG1CQU90QixZa0I5QzRCLENBa0JoQyxzQmxCcUIwQixpQklQSyxDQUM3QixXSk13QixrQkN2RFIsQ2lCa0NsQixrQmY3Q0ksV0FDQSxXQUNBLGFBQWUsQ0FDaEIsT2UwREYsV0FDQSxzQkFDQSxrQkFDQSxnQmxCU0csZ0JrQlJzQixDQUN6Qiw2Q0FHQSxjQUNB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QVlPLGdCQUNBLGlCQUFtQixDQWIxQiw4QkFlSyxjQUNBLGlCQUFtQixDQWhCeEIsbUNBa0JNLFdBQ0EsWUFDQSxjQUNBLGtCQUNBLDBCbENKSixrQkFJSSxRQUFBLFFrQ0M2QyxDckN5Qy9DLHFDcUNoRUosbUNBeUJPLFdBQ0EsV0FBYSxDQU9kLENyQytCRixxQ3FDaEVKLG1DQTZCTyxRQUNBLFVBQ0EsVUFBWSxDQUViLENyQytCRixxQ3FDaEVKLDhCQW1DTSxpQkFBbUIsQ0FFcEIsQ0FyQ0wsOEJBd0NPLGlCQUFtQixDQXhDMUIsa0NBMENRLGFBQWUsQ0ExQ3ZCLG1DQTZDUSxXQUNBLGNBQ0EsaUJBQ0EsZ0NuQ0VQLG9CQ2hDQyxrQkFJSSxVQUFBLFdBQUEsUWtDNEIrQyxDQWxEckQsaUNBMERPLFdBQ0EsY0FDQSxvQkFBc0IsQ0E1RDdCLHFDQThEUSxZQUFjLENBOUR0Qix1REFvRVMsV0FBYSxDQUNiIiwiZmlsZSI6Im1haW4ubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Sm9zZWZpbitTYW5zOjQwMCwzMDAsNzAwKTtcblxuKiB7XG5cdEBpbmNsdWRlIG1hcmdpbigwcHgpO1xuXHRAaW5jbHVkZSBwYWRkaW5nKDBweCk7XG59XG5cbmh0bWwsXG5ib2R5IHtcblx0Zm9udC1zaXplOiAkZW0tYmFzZTtcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtdGFibGV0KSB7XG5cdFx0Zm9udC1zaXplOiBjZWlsKCRlbS1iYXNlICogMC44NSk7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRmb250LXNpemU6IGNlaWwoJGVtLWJhc2UgKiAwLjY1KTtcblx0fVxufVxuXG5hIHtcblxuXHR0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb24tYmFzZTtcblx0Y29sb3I6ICRsaW5rLWNvbG9yLWJhc2U7XG5cblx0JjpsaW5rLFxuXHQmOnZpc2l0ZWQsXG5cdCY6YWN0aXZlIHtcblx0XHR0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb24tYmFzZTtcblx0XHRjb2xvcjogJGxpbmstY29sb3ItYmFzZTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbi1iYXNlO1xuXHRcdGNvbG9yOiAkbGluay1ob3Zlci1jb2xvci1iYXNlO1xuXHR9XG5cbn1cblxuLmNsZWFyIHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5kZWxldGUge1xuXHR3aWR0aDogMTVweDtcblx0aGVpZ2h0OiAxOXB4O1xuXHR0ZXh0LWluZGVudDogLTk5OTlweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlICgnZGVsZXRlJyk7XG59XG4ucGFyYWxsYXgge1xuXHRoZWlnaHQ6IDc5MHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHNlY3Rpb24ge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG5cdFx0QGluY2x1ZGUgcG9zaXRpb24gKGFic29sdXRlLCAwcHgpO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LWRlc2spIHtcblx0XHRoZWlnaHQ6IDY5MHB4O1xuXHRcdGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdGhlaWdodDogNTkwcHg7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5jZW50ZXJlZCB7XG5cdEBpbmNsdWRlIGNhbGMocGFkZGluZy1sZWZ0LCAnKDEwMCUgLSAjeyR3aWR0aC1iYXNlfSkgLyAyJyk7XG5cdEBpbmNsdWRlIGNhbGMocGFkZGluZy1yaWdodCwgJygxMDAlIC0gI3skd2lkdGgtYmFzZX0pIC8gMicpO1xufVxuXG4uY2VudGVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogJHdpZHRoLWJhc2U7XG5cdEBpbmNsdWRlIG1hcmdpbigwcHggYXV0byk7XG5cdEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAoJHdpZHRoLWJhc2UgKyAoICRndXR0ZXItc2lkZSAqIDIgKSkpIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgJGd1dHRlci1zaWRlKTtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC10YWJsZXQpIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgJGd1dHRlci1zaWRlLXRhYmxldCk7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgJGd1dHRlci1zaWRlLXBob25lKTtcblx0fVxufVxuXG4uY29sdW1ucyB7XG5cdG1hcmdpbjogMHB4IC0xNXB4O1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0LmNvbDIge1xuXHRcdHdpZHRoOiA1MCU7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luOiAyMHB4IDBweDtcblx0XHRwYWRkaW5nOiAwcHggMTVweDtcblx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC10YWJsZXQpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHQuY29sMiB7XG5cdFx0XHRtYXJnaW46IDBweDtcblx0XHR9XG5cdH1cbn1cblxuLmxhbmdfc2VsX2xpc3RfaG9yaXpvbnRhbCB7XG5cblx0cGFkZGluZzogMTVweCAwcHg7XG5cdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMHB4IDBweCk7XG5cblx0dWwge1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdGxpIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0cGFkZGluZy10b3A6IDJweDtcblx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogNXB4O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjtcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxN3B4O1xuXHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUgKDE2cHgpO1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMHB4O1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDBweDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAoJHdpZHRoLWJhc2UgKyAoICRndXR0ZXItc2lkZSAqIDIgKSkpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtdGFibGV0KSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBXZWxjb21lXG4vLyAjIFNldHRpbmdzXG4vLyAjIEZyYW1ld29ya3Ncbi8vICMgVG9vbHNcbi8vICMgR2VuZXJpY1xuLy8gIyBCYXNlXG4vLyAjIENvbXBvbmVudHNcbi8vICMgT2JqZWN0c1xuLy8gIyBGb250c1xuLy8gIyBWZW5kb3JzXG4vL1xuLy9cbi8vICMgV2VsY29tZVxuLy8gICBUaGlzIGZpbGUgaXMgdXNlZCB0byBjZW50cmFsaXplIHRoZSBpbXBvcnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy9cbi8vIE1vc3Qgb2YgdGhlIGZvbGxvd2luZyBndWlkZWxpbmVzIHVzZWQgdG8gd3JpdGUgY3NzOlxuLy8gaHR0cDovL2Nzc2d1aWRlbGluLmVzXG4vL1xuLy8gQm93ZXIgaXMgdXNlZCBmb3Iga2VlcGluZyB0aGUgdXNlZCBsaWJyYXJpZXMgdXAgdG8gZGF0ZVxuLy8gbW9yZSBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgYXQgaHR0cDovL2Jvd2VyLmlvXG4vL1xuLy8gSW1wb3J0IHRoaXMgZmlsZSB1c2luZyB0aGUgZm9sbG93aW5nIEhUTUwgb3IgZXF1aXZhbGVudDpcbi8vIDxsaW5rIGhyZWY9XCJkaXN0L2Nzcy9tYWluLm1pbi5jc3NcIiBtZWRpYT1cImFsbFwiIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiAvPlxuLy9cbi8vXG4vLyAjIFNldHRpbmdzXG4vLyAgIEdsb2JhbGx5LWF2YWlsYWJsZSB2YXJpYWJsZXMgYW5kIGNvbmZpZ3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vL1xuQGltcG9ydCAndmFyaWFibGVzJztcbi8vXG4vL1xuLy8gIyBGcmFtZXdvcmtzXG4vLyAgIEJvdXJib24sIG5lYXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vL1xuQGltcG9ydCAnLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYm91cmJvbic7XG5AaW1wb3J0ICcuLi8uLi9ib3dlcl9jb21wb25lbnRzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9uZWF0Jztcbi8vXG4vL1xuLy8gIyBUb29sc1xuLy8gICBVc2VmdWwgbWl4aW5zIC8gZnVuY3Rpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy9cbkBpbXBvcnQgJ3Rvb2xzL2FkZHJlc3Nlcyc7XG5AaW1wb3J0ICd0b29scy9hbGlnbm1lbnQnO1xuQGltcG9ydCAndG9vbHMvYmxvY2txdW90ZXMnO1xuQGltcG9ydCAndG9vbHMvY29kZXMnO1xuQGltcG9ydCAndG9vbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJ3Rvb2xzL2xpc3RzJztcbkBpbXBvcnQgJ3Rvb2xzL21peGlucyc7XG5AaW1wb3J0ICd0b29scy90YWJsZXMnO1xuQGltcG9ydCAndG9vbHMvdHlwb2dyYXBoeSc7XG4vL1xuLy9cbi8vICMgR2VuZXJpY1xuLy8gICBOb3JtYWxpemUgc3R5bGUgYWNyb3NzIGJyb3dzZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy9cbkBpbXBvcnQgJy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3MvX25vcm1hbGl6ZSc7XG4vL1xuLy9cbi8vICMgQmFzZVxuLy8gUmVzZXRzLCBncmlkcywgd3JhcHBlcnMsIGJvZHksIHR5cG9ncmFwaHkgYW5kIGZvcm1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy9cbkBpbXBvcnQgJ2Jhc2UvcmVzZXQnO1xuQGltcG9ydCAnYmFzZS9iYXNlJztcbkBpbXBvcnQgJ2Jhc2UvYnV0dG9ucyc7XG5AaW1wb3J0ICdiYXNlL2NvbnRlbnQnO1xuQGltcG9ydCAnYmFzZS9mb3Jtcyc7XG5AaW1wb3J0ICdiYXNlL21lZGlhJztcbkBpbXBvcnQgJ2Jhc2Uvd3JhcHBlcic7XG5AaW1wb3J0ICdiYXNlL3NpZGViYXInO1xuQGltcG9ydCAnYmFzZS9hcnRpY2xlJztcblxuLy9cbi8vXG4vLyAjIENvbXBvbmVudHNcbi8vICAgSGVhZGVyLCBmb290ZXIsIHNpZGViYXJzIGV0Y1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vXG5AaW1wb3J0ICdjb21wb25lbnRzL2hvbWVwYWdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmVhdHVyZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbWFydHdheSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NtYXJ0cGFnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JlbmVmaXRzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VjdG9yJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvd2Vic2hvcCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2R1Y3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdW1tYXJ5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc29jaWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXInO1xuLy9cbi8vXG4vLyAjIFBsdWdpbnNcbi8vICAgQXBwbHkgdGhlbWUgc3R5bGluZyB0byBwbHVnaW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy9cbkBpbXBvcnQgJ3BsdWdpbnMvbWFwcyc7XG5AaW1wb3J0ICdwbHVnaW5zL2NvbnRhY3Rmb3JtNyc7XG4vL1xuLy9cbi8vICMgRm9udHNcbi8vICAgTGlicmFyaWVzIHVzZWQgaW4gdGhlIHRoZW1lXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy9cbkBpbXBvcnQgJy4uL2ZvbnRzL2ZvbnQtYXdlc29tZS9mb250LWF3ZXNvbWUubWluLmNzcyc7XG4vL1xuLy9cbi8vICMgVmVuZG9yc1xuLy8gICBWZW5kb3IgaW5jbHVkZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vL1xuQGltcG9ydCAndmVuZG9yL2ZsZXhzbGlkZXIvZmxleHNsaWRlcic7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IHRydWUge1xuICBodG1sIHsgLy8gaHR0cDovL2JpdC5seS8xcWsydFZSXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICoge1xuICAgICYsXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTm9ybWFsaXplLnNjc3Mgc2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEluY2x1ZGVzIGxlZ2FjeSBicm93c2VyIHN1cHBvcnQgSUU2LzdcbiAqXG4gKiBTZXQgdG8gZmFsc2UgaWYgeW91IHdhbnQgdG8gZHJvcCBzdXBwb3J0IGZvciBJRTYgYW5kIElFN1xuICovXG5cbiRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0OiBmYWxzZSAhZGVmYXVsdDtcblxuLyogQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAqIDMuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUUgNi83IHdoZW4gYm9keSBgZm9udC1zaXplYCBpcyBzZXQgdXNpbmdcbiAqICBgZW1gIHVuaXRzLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqZm9udC1zaXplOiAxMDAlOyAvKiAzICovXG4gIH1cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICAgICp6b29tOiAxO1xuICB9XG59XG5cbi8qKlxuICogUHJldmVudHMgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cblxuYSB7XG4gICY6YWN0aXZlLCAmOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9O1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBtYXJnaW46IDAuODNlbSAwO1xuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4xN2VtO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbWFyZ2luOiAxLjMzZW0gMDtcbiAgfVxuXG4gIGg1IHtcbiAgICBmb250LXNpemU6IDAuODNlbTtcbiAgICBtYXJnaW46IDEuNjdlbSAwO1xuICB9XG5cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMC42N2VtO1xuICAgIG1hcmdpbjogMi4zM2VtIDA7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgKi9cblxuICBwLFxuICBwcmUge1xuICAgICptYXJnaW46IDFlbSAwO1xuICB9XG5cbiAgLypcbiAgICogQWRkcmVzc2VzIENTUyBxdW90ZXMgbm90IHN1cHBvcnRlZCBpbiBJRSA2LzcuXG4gICAqL1xuXG4gIHEge1xuICAgICpxdW90ZXM6IG5vbmU7XG4gIH1cblxuICAvKlxuICAgKiBBZGRyZXNzZXMgYHF1b3Rlc2AgcHJvcGVydHkgbm90IHN1cHBvcnRlZCBpbiBTYWZhcmkgNC5cbiAgICovXG5cbiAgcTpiZWZvcmUsXG4gIHE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgIExpc3RzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLypcbiAgICogQWRkcmVzc2VzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAgICovXG5cbiAgZGwsXG4gIG1lbnUsXG4gIG9sLFxuICB1bCB7XG4gICAgKm1hcmdpbjogMWVtIDA7XG4gIH1cblxuICBkZCB7XG4gICAgKm1hcmdpbjogMCAwIDAgNDBweDtcbiAgfVxuXG4gIC8qXG4gICAqIEFkZHJlc3NlcyBwYWRkaW5ncyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgKi9cblxuICBtZW51LFxuICBvbCxcbiAgdWwge1xuICAgICpwYWRkaW5nOiAwIDAgMCA0MHB4O1xuICB9XG5cbiAgLypcbiAgICogQ29ycmVjdHMgbGlzdCBpbWFnZXMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRSA3LlxuICAgKi9cblxuICBuYXYgdWwsXG4gIG5hdiBvbCB7XG4gICAgKmxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgKmxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gIH1cblxufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xuICB9XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiBDb3JyZWN0IGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBJRSA2LCBTYWZhcmkgNC81LCBhbmQgQ2hyb21lLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgIF9mb250LWZhbWlseTogJ2NvdXJpZXIgbmV3JywgbW9ub3NwYWNlO1xuICB9XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICogNC4gSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAzICovXG4gICAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDMgKi9cbiAgfVxufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZXMgaW5uZXIgc3BhY2luZyBpbiBJRSA3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAgLyogNCAqL1xuICB9XG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgICpoZWlnaHQ6IDEzcHg7IC8qIDMgKi9cbiAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cbiAgfVxufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICogMy4gQ29ycmVjdHMgdGV4dCBub3Qgd3JhcHBpbmcgaW4gRmlyZWZveCAzLlxuICogNC4gQ29ycmVjdHMgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAzICovXG4gICAgKm1hcmdpbi1sZWZ0OiAtN3B4OyAvKiA0ICovXG4gIH1cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn0iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcblx0QGluY2x1ZGUgbWFyZ2luKDBweCBudWxsIG51bGwpO1xufVxuXG5pbWcge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxudWwsXG5vbCxcbmxpIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuZmlndXJlIHtcblx0QGluY2x1ZGUgbWFyZ2luKDBweCk7XG59XG5cbmZpZWxkc2V0IHtcblx0Ym9yZGVyOiAwcHg7XG5cdEBpbmNsdWRlIG1hcmdpbigwcHgpO1xuXHRAaW5jbHVkZSBwYWRkaW5nKDBweCk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHMgZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcbi8vL1xuLy8vIEBpZ25vcmUgWW91IGNhbiBhbHNvIHVzZSBgZmFsc2VgIGluc3RlYWQgb2YgYG51bGxgLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIDEwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG5cbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcbiAgJG91dHB1dDogbnVsbDtcblxuICAkYTogbnRoKCR2YWxzLCAxKTtcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XG4gICRjOiBpZihsZW5ndGgoJHZhbHMpIDwgMywgJGEsIG50aCgkdmFscywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcbi8vLyAgIFByZWZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxuLy8vICAgU3VmZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbGxhcHNlLWRpcmVjdGlvbmFsc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cbn1cbiIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIEdlbmVyYWxcbi8vICMgVHlwb2dyYXBoeSAqL1xuXG4vLyAjIEdlbmVyYWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIFByb3BlciBSRU0gY2FsY3VsYXRpb25cbiRlbS1iYXNlOiAxNnB4OyAvLyBEbyBub3QgY2hhbmdlIHRoaXMgdW5sZXNzIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZ1xuXG4vLyBJbWFnZSBQYXRoXG4kaW1hZ2UtcGF0aDogJy4uLy4uL2ltZycgIWRlZmF1bHQ7XG5cbi8vIFJldGluYSBzdWZmaXhcbiRyZXRpbmE6IGZhbHNlICFkZWZhdWx0O1xuJHJldGluYS1zdWZmaXg6ICdAMngnICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50c1xuJGJyZWFrcG9pbnQtZGVzazogbWF4LXdpZHRoIDEwMjRweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LXRhYmxldDogbWF4LXdpZHRoIDk5MnB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtcGhvbmU6IG1heC13aWR0aCA3NjdweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsOiBtYXgtd2lkdGggNDY3cHggIWRlZmF1bHQ7XG5cbi8vIFBhZ2VcbiRwYWdlLWJnOiAjZmZmZmZmICFkZWZhdWx0O1xuXG4vLyBXaWR0aFxuJHdpZHRoLWJhc2U6IDEyNTVweCAhZGVmYXVsdDsgLy8gTWFpbmx5IHVzZWQgZm9yIGNlbnRlcmluZ1xuXG4vLyBHdXR0ZXJzXG4kZ3V0dGVyLWJhc2U6IDIwcHggIWRlZmF1bHQ7XG4kZ3V0dGVyLXRvcDogMHB4ICFkZWZhdWx0O1xuJGd1dHRlci1yaWdodDogJGd1dHRlci1iYXNlICFkZWZhdWx0O1xuJGd1dHRlci1ib3R0b206ICRndXR0ZXItYmFzZSAhZGVmYXVsdDtcbiRndXR0ZXItbGVmdDogJGd1dHRlci1iYXNlICFkZWZhdWx0O1xuJGd1dHRlci1zaWRlOiAkZ3V0dGVyLWJhc2UgIWRlZmF1bHQ7IC8vIFVzZWQgd2hlbiBiYXNlIHdpZHRoIGlzIHJlYWNoZWRcbiRndXR0ZXItc2lkZS10YWJsZXQ6ICgkZ3V0dGVyLWJhc2UgLyAyKSAhZGVmYXVsdDsgLy8gVXNlZCB3aGVuIGJhc2Ugd2lkdGggaXMgcmVhY2hlZFxuJGd1dHRlci1zaWRlLXBob25lOiAoJGd1dHRlci1iYXNlIC8gMikgIWRlZmF1bHQ7IC8vIFVzZWQgd2hlbiBiYXNlIHdpZHRoIGlzIHJlYWNoZWRcblxuLy8gQ29sb3JzXG4kY29sb3ItZXJyb3I6ICNkOTUzNGYgIWRlZmF1bHQ7XG4kY29sb3Itc3VjY2VzczogIzVjYjg1YyAhZGVmYXVsdDtcbiRjb2xvci1pbmZvOiAjNWJjMGRlICFkZWZhdWx0O1xuXG4vLyAjIFR5cG9ncmFwaHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiR0ZXh0LWNvbG9yLWJhc2U6ICMzOTM5MzkgIWRlZmF1bHQ7XG5cbiRsaW5rLWNvbG9yLWJhc2U6ICM1NWFkYTIgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uLWJhc2U6IG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvci1iYXNlOiBkYXJrZW4oJGxpbmstY29sb3ItYmFzZSwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb24tYmFzZTogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4kZm9udC1mYW1pbHktYmFzZTogJ0pvc2VmaW4gU2FucycsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAxOHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMTogNThweCAhZGVmYXVsdDtcbiRmb250LXNpemUtaDI6IDQwcHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWgzOiAyNHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNDogMThweCAhZGVmYXVsdDtcbiRmb250LXNpemUtaDU6IDE2cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAxNHB4ICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogMS4zICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpKSAhZGVmYXVsdDtcblxuJGhlYWRpbmctZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZy1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gT3V0cHV0cyBhIG1lZGlhLXF1ZXJ5IGJsb2NrIHdpdGggYW4gb3B0aW9uYWwgZ3JpZCBjb250ZXh0ICh0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZCkuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMsIHdoZXJlIGVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy8gICBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGAkdmFsdWVgIGluIGAkcXVlcnlgLCBgJGRlZmF1bHQtZmVhdHVyZWAgaXMgZ29pbmcgdG8gYmUgdXNlZC5cbi8vL1xuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS5cbi8vL1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKDc2OXB4KSB7XG4vLy8gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDMyMHB4IG1heC13aWR0aCA0ODBweCwgNikge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG5cbkBtaXhpbiBtZWRpYSgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgJG1lZGlhLXF1ZXJ5OiBcInNjcmVlbiBhbmQgXCI7XG4gICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG5cbiAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAkbG9vcC10bykgIWdsb2JhbDtcbiAgICAgICRsb29wLXRvOiAkbG9vcC10byAtIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcbiAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCIoXCIgKyBudGgoJHF1ZXJ5LCAkaSkgKyBcIjogXCIgKyBudGgoJHF1ZXJ5LCAkaSArIDEpICsgXCIpIFwiO1xuXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiYW5kIFwiO1xuICAgICAgfVxuXG4gICAgICAkaTogJGkgKyAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpYS1xdWVyeX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vY3NzbW9qby5jb20vbGF0ZXN0X25ld19jbGVhcmZpeF9zb19mYXIvXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG4iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgTWl4aW5zICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgTWl4aW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gYXJyb3coICRzaXplOiAxMHB4LCAkZGlyZWN0aW9uOiBkb3duLCAkY29sb3I6IGluaGVyaXQgKSB7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDA7XG5cdGNvbnRlbnQ6ICcnO1xuXHRib3JkZXI6ICgkc2l6ZSAvIDIpIHNvbGlkIHRyYW5zcGFyZW50O1xuXG5cdEBpZiAoJGRpcmVjdGlvbiA9PSBkb3duKSB7XG5cblx0XHQkZGlyZWN0aW9uOiAndG9wJztcblxuXHR9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwKSB7XG5cblx0XHQkZGlyZWN0aW9uOiAnYm90dG9tJztcblxuXHR9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGxlZnQpIHtcblxuXHRcdCRkaXJlY3Rpb246ICdyaWdodCc7XG5cblx0fSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSByaWdodCkge1xuXG5cdFx0JGRpcmVjdGlvbjogJ2xlZnQnO1xuXG5cdH0gQGVsc2Uge1xuXG5cdFx0QHdhcm4gJ1tAaW5jbHVkZSBhcnJvd1stKl0odmFycyldICRkaXJlY3Rpb24gY2FuIG9ubHkgYWNjZXB0IHRoZSBmb2xsb3dpbmcgdmFsdWVzOiB1cCwgZG93biwgbGVmdCwgcmlnaHQuIEZhbGxpbmcgYmFjayB0byBkZWZhdWx0IChkb3duKSc7XG5cdFx0JGRpcmVjdGlvbjogJ3RvcCc7XG5cblx0fVxuXG5cdGJvcmRlci0jeyRkaXJlY3Rpb259LWNvbG9yOiAkY29sb3I7XG5cbn1cblxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoICRuYW1lLCAkZXh0ZW5zaW9uOiAncG5nJywgJHBvc2l0aW9uOiBsZWZ0IGNlbnRlciwgJHJlcGVhdDogbm8tcmVwZWF0LCAkc2l6ZTogZmFsc2UgKSB7XG5cblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGltYWdlLXBhdGh9LyN7JG5hbWV9LiN7JGV4dGVuc2lvbn0pO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcG9zaXRpb247XG5cdGJhY2tncm91bmQtcmVwZWF0OiAkcmVwZWF0O1xuXG5cdEBpZiAoJHNpemUpIHtcblxuXHRcdGJhY2tncm91bmQtc2l6ZTogJHNpemU7XG5cblx0fVxuXG5cdEBpZiAoJHJldGluYSkge1xuXG5cdFx0QGluY2x1ZGUgaGlkcGkge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGltYWdlLXBhdGh9LyN7JG5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufSk7XG5cdFx0fVxuXG5cdH1cblxufVxuXG5AbWl4aW4gZm9udC1zaXplKCAkdmFsdWUgKSB7XG5cblx0Zm9udC1zaXplOiByZW0oJHZhbHVlKTtcblxufVxuXG5AbWl4aW4gbm8tZ3V0dGVyLWxhc3QtY2hpbGQge1xuXG5cdCYgPiAqOmxhc3QtY2hpbGQge1xuXHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgMHB4KTtcblx0fVxuXG59XG5cbkBtaXhpbiBvbWVnYS1yZXNldCggJG50aCwgJGNvbnRleHQ6IG51bGwgKSB7XG5cblx0QGlmICgkY29udGV4dCA9PSBudWxsKSB7XG5cblx0XHQmOm50aC1jaGlsZCgjeyRudGh9KSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBmbGV4LWd1dHRlcigpIG51bGwgbnVsbCk7XG5cdFx0fVxuXG5cdH0gQGVsc2Uge1xuXG5cdFx0JjpudGgtY2hpbGQoI3skbnRofSkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgZmxleC1ndXR0ZXIoJGNvbnRleHQpIG51bGwgbnVsbCk7XG5cdFx0fVxuXG5cdH1cblxuXHQmOm50aC1jaGlsZCgjeyRudGh9KzEpIHtcblx0XHRjbGVhcjogbm9uZTtcblx0fVxuXG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHNldHRpbmcgYW4gZWxlbWVudOKAmXMgcG9zaXRpb24uIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7UG9zaXRpb259ICRwb3NpdGlvbiBbcmVsYXRpdmVdXG4vLy8gICBBIENTUyBwb3NpdGlvbiB2YWx1ZVxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkY29vcmRpbmF0ZXMgW251bGwgbnVsbCBudWxsIG51bGxdXG4vLy8gICBMaXN0IG9mIHZhbHVlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4IGZvciB0aGUgZWRnZXMgb2YgYSBib3hcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGxlZnQ6IDEwZW07XG4vLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IHVucGFja1xuXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJG9mZnNldHM6IChcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxuICAgIHJpZ2h0OiAgbnRoKCRjb29yZGluYXRlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKSxcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGJ1dHRvbi1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG5cbiRidXR0b24taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKCAkYnV0dG9uLXBhZGRpbmctdmVydGljYWwgKiAyICkgKyAyKSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2UgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuXG4kYnV0dG9uLWNvbG9yOiAjZmZmZmZmICFkZWZhdWx0O1xuJGJ1dHRvbi1jb2xvci1ob3ZlcjogI2ZmZmZmZiAhZGVmYXVsdDtcbiRidXR0b24tY29sb3ItZGlzYWJsZWQ6ICM5OTk5OTkgIWRlZmF1bHQ7XG5cbiRidXR0b24tYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLWNvbG9yOiAjYmExNTE3ICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6ICNiYTE1MTcgIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci1jb2xvci1kaXNhYmxlZDogIzY2NjY2NiAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMHB4ICFkZWZhdWx0O1xuXG4kYnV0dG9uLWJnOiAjY2QxNzE5ICFkZWZhdWx0O1xuJGJ1dHRvbi1iZy1ob3ZlcjogI2JhMTUxNyAhZGVmYXVsdDtcbiRidXR0b24tYmctZGlzYWJsZWQ6ICNlZmVmZWYgIWRlZmF1bHQ7XG5cbi8vICMgRWxlbWVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5idXR0b24sXG4uYnV0dG9uOmxpbmssXG4uYnV0dG9uOnZpc2l0ZWQge1xuXG5cdGhlaWdodDogJGJ1dHRvbi1oZWlnaHQ7XG5cdGxpbmUtaGVpZ2h0OiAoJGJ1dHRvbi1oZWlnaHQgLSAoICRidXR0b24tcGFkZGluZy12ZXJ0aWNhbCAqIDIgKSAtICggJGJ1dHRvbi1ib3JkZXItc2l6ZSAqIDIgKSk7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXHRmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcblx0Y29sb3I6ICRidXR0b24tY29sb3I7XG5cdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRib3JkZXI6ICRidXR0b24tYm9yZGVyLXNpemUgJGJ1dHRvbi1ib3JkZXItc3R5bGUgJGJ1dHRvbi1ib3JkZXItY29sb3I7XG5cdGJvcmRlci1yYWRpdXM6ICRidXR0b24tYm9yZGVyLXJhZGl1cztcblx0YmFja2dyb3VuZDogJGJ1dHRvbi1iZztcblx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAwcHgpO1xuXHRAaW5jbHVkZSBwYWRkaW5nKCRidXR0b24tcGFkZGluZy12ZXJ0aWNhbCAkYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbCk7XG5cdEBpbmNsdWRlIHVzZXItc2VsZWN0KG5vbmUpO1xuXHRAaW5jbHVkZSBmb250LXNpemUoJGJ1dHRvbi1mb250LXNpemUpO1xuXG5cdCYuYnV0dG9uLS1zdWNjZXNzIHtcblxuXHRcdGJvcmRlci1jb2xvcjogIzRjYWU0Yztcblx0XHRiYWNrZ3JvdW5kOiAjNWNiODVjO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmW3R5cGU9J3N1Ym1pdCddOmhvdmVyLFxuXHRcdCZbdHlwZT0ncmVzZXQnXTpob3Zlcixcblx0XHQmW3R5cGU9J2J1dHRvbiddOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0Ji5mb2N1cyB7XG5cdFx0XHRib3JkZXItY29sb3I6ICM0Y2FlNGM7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZTRjO1xuXHRcdH1cblxuXHR9XG5cdFxuXHQmLmJ1dHRvbi0td2hpdGUge1xuXHRcdGNvbG9yOiAjM2E2OTY0O1xuXHRcdGJvcmRlci1jb2xvcjogI2ZmZjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1x0XG5cdFx0Jjpob3Zlcixcblx0XHQmW3R5cGU9J3N1Ym1pdCddOmhvdmVyLFxuXHRcdCZbdHlwZT0ncmVzZXQnXTpob3Zlcixcblx0XHQmW3R5cGU9J2J1dHRvbiddOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0Ji5mb2N1cyB7XG5cdFx0XHRjb2xvcjogIzNhNjk2NDtcblx0XHRcdGJvcmRlci1jb2xvcjogI2ZmZjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0fVx0XHRcdFxuXHR9XG5cblx0Ji5idXR0b24tLWdyYXkge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGJvcmRlci1jb2xvcjogIzU1YWRhMjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNTVhZGEyO1x0XG5cdFx0Jjpob3Zlcixcblx0XHQmW3R5cGU9J3N1Ym1pdCddOmhvdmVyLFxuXHRcdCZbdHlwZT0ncmVzZXQnXTpob3Zlcixcblx0XHQmW3R5cGU9J2J1dHRvbiddOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0Ji5mb2N1cyB7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdGJvcmRlci1jb2xvcjogIzU1YWRhMjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM1NWFkYTI7XG5cdFx0fVx0XHRcdFxuXHR9XG5cdFxuXHQmLmJ1dHRvbi0tYmlnIHtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRwYWRkaW5nLXRvcDogMTRweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogOHB4O1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoMzZweCk7XG5cdH1cblx0XG5cdCYuYnV0dG9uLS1ibG9jayB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0XG5cdCY6aG92ZXIsXG5cdCZbdHlwZT0nc3VibWl0J106aG92ZXIsXG5cdCZbdHlwZT0ncmVzZXQnXTpob3Zlcixcblx0Jlt0eXBlPSdidXR0b24nXTpob3Zlcixcblx0Jjpmb2N1cyxcblx0Ji5mb2N1cyB7XG5cdFx0Y29sb3I6ICRidXR0b24tY29sb3ItaG92ZXI7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGJvcmRlci1jb2xvcjogJGJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iZy1ob3Zlcjtcblx0fVxuXG5cdCY6YWN0aXZlLFxuXHQmLmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0fVxuXG5cdCY6ZGlzYWJsZWQsXG5cdCYuZGlzYWJsZWQge1xuXHRcdGNvbG9yOiAkYnV0dG9uLWNvbG9yLWRpc2FibGVkO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYmctZGlzYWJsZWQ7XG5cdH1cblxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY29udGVudCB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuXHRjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcblx0QGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRAaW5jbHVkZSBiYXNlLWFkZHJlc3Nlcztcblx0QGluY2x1ZGUgYmFzZS1hbGlnbm1lbnQ7XG5cdEBpbmNsdWRlIGJhc2UtYmxvY2txdW90ZXM7XG5cdEBpbmNsdWRlIGJhc2UtY29kZXM7XG5cdEBpbmNsdWRlIGJhc2UtbGlzdHM7XG5cdEBpbmNsdWRlIGJhc2UtdGFibGVzO1xuXHRAaW5jbHVkZSBiYXNlLXR5cG9ncmFwaHk7XG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cblx0XHRpbWcge1xuXG5cdFx0XHQmLmFsaWduLWxlZnQsXG5cdFx0XHQmLmFsaWdubGVmdCxcblx0XHRcdCYuYWxpZ24tcmlnaHQsXG5cdFx0XHQmLmFsaWducmlnaHQge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG59IiwiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIE1peGlucyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIE1peGluc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIGJhc2UtYWRkcmVzc2VzIHtcblxuXHRhZGRyZXNzIHtcblx0XHRtYXJnaW46IDAgMCAkZ3V0dGVyLWJvdHRvbTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0QGluY2x1ZGUgbm8tZ3V0dGVyLWxhc3QtY2hpbGQ7XG5cdH1cblxufSIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBNaXhpbnMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBiYXNlLWFsaWdubWVudCB7XG5cblx0LmFsaWduLW5vbmUsXG5cdC5hbGlnbm5vbmUge1xuXHRcdGRpc3BsYXk6IGlubGluZTtcblx0fVxuXG5cdC5hbGlnbi1jZW50ZXIsXG5cdC5hbGlnbmNlbnRlciB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdEBpbmNsdWRlIG1hcmdpbigwcHggYXV0byk7XG5cdH1cblxuXHQuYWxpZ24tbGVmdCxcblx0LmFsaWdubGVmdCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKDBweCAkZ3V0dGVyLWJhc2UgJGd1dHRlci1ib3R0b20gMHB4KTtcblx0fVxuXG5cdC5hbGlnbi1yaWdodCxcblx0LmFsaWducmlnaHQge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRAaW5jbHVkZSBtYXJnaW4oMHB4IDBweCAkZ3V0dGVyLWJvdHRvbSAkZ3V0dGVyLWJhc2UpO1xuXHR9XG5cblx0LndwLWNhcHRpb24sXG5cdGZpZ3VyZSB7XG5cblx0XHRAaW5jbHVkZSBtYXJnaW4oMHB4IDBweCAkZ3V0dGVyLWJvdHRvbSk7XG5cblx0XHQud3AtY2FwdGlvbi10ZXh0LFxuXHRcdGZpZ2NhcHRpb24ge1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKDVweCk7XG5cdFx0fVxuXG5cdH1cblxufSIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBNaXhpbnMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBiYXNlLWJsb2NrcXVvdGVzIHtcblxuXHRibG9ja3F1b3RlIHtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcblx0XHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKDBweCAwcHggJGd1dHRlci1ib3R0b20pO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoMjBweCk7XG5cdFx0QGluY2x1ZGUgbm8tZ3V0dGVyLWxhc3QtY2hpbGQ7XG5cdH1cblxufSIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBNaXhpbnMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBiYXNlLWNvZGVzIHtcblxuXHRwcmUsXG5cdGNvZGUge1xuXHRcdHdoaXRlLXNwYWNlOiBwcmU7XG5cdFx0Zm9udDogMTAwJSAnYW5kYWxlIG1vbm8nLCAnbHVjaWRhIGNvbnNvbGUnLCBtb25vc3BhY2U7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRAaW5jbHVkZSBtYXJnaW4oJGd1dHRlci1iYXNlIDBweCk7XG5cdFx0QGluY2x1ZGUgbm8tZ3V0dGVyLWxhc3QtY2hpbGQ7XG5cdH1cblxufSIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBNaXhpbnMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBiYXNlLWxpc3RzIHtcblxuXHR1bCxcblx0b2wge1xuXHRcdEBpbmNsdWRlIG1hcmdpbigwcHggJGd1dHRlci1iYXNlICRndXR0ZXItYm90dG9tKTtcblx0fVxuXG5cdGxpIHVsLFxuXHRsaSBvbCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKDBweCAkZ3V0dGVyLWJhc2UpO1xuXHR9XG5cblx0dWwsXG5cdHVsIGxpIHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG5cdH1cblxuXHRvbCxcblx0b2wgbGkge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcblx0fVxuXG5cdGRsIHtcblxuXHRcdEBpbmNsdWRlIG1hcmdpbigwcHggMHB4ICRndXR0ZXItYm90dG9tKTtcblxuXHRcdGR0IHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblxuXHRcdGRkIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgbnVsbCAkZ3V0dGVyLWJhc2UpO1xuXHRcdH1cblxuXHR9XG5cbn0iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgTWl4aW5zICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kdGFibGUtY2FwdGlvbi1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tY29sb3I6ICMwMDAwMDAgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWJvcmRlci1jb2xvcjogI2NjY2NjYyAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWJnOiAjZmZmZmZmICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC1iZzogI2ZmZmZmZiAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLWJnLWhlYWQ6ICNlZmVmZWYgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtYm9yZGVyLWNvbG9yOiAjY2NjY2NjICFkZWZhdWx0O1xuXG4vLyAjIE1peGluc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIGJhc2UtdGFibGVzIHtcblxuXHR0YWJsZSB7XG5cblx0XHR3aWR0aDogMTAwJTtcblx0XHRAaW5jbHVkZSBtYXJnaW4oMHB4IDBweCAkZ3V0dGVyLWJvdHRvbSk7XG5cblx0XHRjYXB0aW9uIHtcblx0XHRcdGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcblx0XHRcdGJvcmRlci1ib3R0b206ICR0YWJsZS1jYXB0aW9uLWJvcmRlci1zaXplICR0YWJsZS1jYXB0aW9uLWJvcmRlci1zdHlsZSAkdGFibGUtY2FwdGlvbi1ib3JkZXItY29sb3I7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkdGFibGUtY2FwdGlvbi1iZztcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoJHRhYmxlLWNhcHRpb24tcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2FwdGlvbi1wYWRkaW5nLWhvcml6b250YWwpO1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKTtcblx0XHR9XG5cblx0XHR0aCxcblx0XHR0ZCB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAkdGFibGUtY2VsbC1ib3JkZXItc2l6ZSAkdGFibGUtY2VsbC1ib3JkZXItc3R5bGUgJHRhYmxlLWNlbGwtYm9yZGVyLWNvbG9yO1xuXHRcdFx0YmFja2dyb3VuZDogJHRhYmxlLWNlbGwtYmc7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsKTtcblx0XHR9XG5cblx0XHR0aCB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0fVxuXG5cdFx0dGhlYWQgdGgge1xuXHRcdFx0YmFja2dyb3VuZDogJHRhYmxlLWNlbGwtYmctaGVhZDtcblx0XHR9XG5cblx0XHR0Zm9vdCB7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0fVxuXG5cdH1cblxufSIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBNaXhpbnMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBiYXNlLXR5cG9ncmFwaHkge1xuXG5cdGgxLFxuXHRoMixcblx0aDMsXG5cdGg0LFxuXHRoNSxcblx0aDYge1xuXHRcdGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcblx0XHRmb250LXdlaWdodDogJGhlYWRpbmctZm9udC13ZWlnaHQ7XG5cdFx0bGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtaGVpZ2h0O1xuXHRcdEBpbmNsdWRlIG1hcmdpbigwcHggMHB4IDEwcHgpO1xuXHR9XG5cblx0aDEge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xuXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmO1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWgxKTtcblx0XHRzcGFuIHtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoIDIwcHggKTtcblx0XHR9XG5cdH1cblxuXHRoMiB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtaDIpO1xuXHR9XG5cblx0aDMge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWgzKTtcblx0fVxuXG5cdGg0IHtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtaDQpO1xuXHR9XG5cblx0aDUge1xuXHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgNXB4KTtcblx0XHRAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1oNSk7XG5cdH1cblxuXHRoNiB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAwcHgpO1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWg2KTtcblx0fVxuXG5cdHAge1xuXHRcdEBpbmNsdWRlIG1hcmdpbigwcHggMHB4ICRndXR0ZXItYm90dG9tKTtcblx0fVxuXG5cdHN0cm9uZyB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cblxuXHRlbSB7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR9XG5cblx0ZGZuIHtcblx0XHRAZXh0ZW5kIHN0cm9uZztcblx0XHRAZXh0ZW5kIGVtO1xuXHR9XG5cblx0c3VwLFxuXHRzdWIge1xuXHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHR9XG5cbn0iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiA1cHggIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRsYWJlbC10ZXh0LWNvbG9yOiAkdGV4dC1jb2xvci1iYXNlICFkZWZhdWx0O1xuJGxhYmVsLXRleHQtY29sb3ItZXJyb3I6ICNmZmZmZmYgIWRlZmF1bHQ7XG4kbGFiZWwtYmFja2dyb3VuZC1lcnJvcjogI2ZmMDAwMCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG5cbiRpbnB1dC13aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRpbnB1dC13aWR0aC10ZXh0YXJlYTogMTAwJSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICggJGlucHV0LXBhZGRpbmctdmVydGljYWwgKiAyICkgKyAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtdGV4dGFyZWE6IDIwMHB4ICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAjMzMzMzMzICFkZWZhdWx0O1xuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAjOGU4ZThlICFkZWZhdWx0O1xuJGlucHV0LWNvbG9yLWRpc2FibGVkOiAjOTk5OTk5ICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogI2JlYmViZSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3ItZm9jdXM6ICMzMzdhYjcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yLWVycm9yOiAkY29sb3ItZXJyb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1czogMHB4ICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICNmZmZmZmYgIWRlZmF1bHQ7XG4kaW5wdXQtYmctZGlzYWJsZWQ6ICNlZmVmZWYgIWRlZmF1bHQ7XG5cbiRpbnB1dC1zdWJtaXQtY29sb3I6ICMzMzMzMzMgIWRlZmF1bHQ7XG4kaW5wdXQtc3VibWl0LWNvbG9yLWhvdmVyOiAjMzMzMzMzICFkZWZhdWx0O1xuXG4kaW5wdXQtc3VibWl0LWJnOiAjZWZlZmVmICFkZWZhdWx0O1xuJGlucHV0LXN1Ym1pdC1iZy1ob3ZlcjogI2VmZWZlZiAhZGVmYXVsdDtcblxuJGZpZWxkc2V0LXBhZGRpbmctdmVydGljYWw6IDIwcHggIWRlZmF1bHQ7XG4kZmllbGRzZXQtcGFkZGluZy1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuXG4kZmllbGRzZXQtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGZpZWxkc2V0LWJvcmRlci1jb2xvcjogI2NjY2NjYyAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItcmFkaXVzOiAwcHg7XG5cbiRsZWdlbmQtY29sb3I6ICM2NjY2NjYgIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1jb2xvcjogI2NjY2NjYyAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLXJhZGl1czogMHB4ICFkZWZhdWx0O1xuJGxlZ2VuZC1iYWNrZ3JvdW5kOiAjZmZmZmZmICFkZWZhdWx0O1xuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5maWVsZHNldCB7XG5cblx0Ym9yZGVyOiAkZmllbGRzZXQtYm9yZGVyLXNpemUgJGZpZWxkc2V0LWJvcmRlci1zdHlsZSAkZmllbGRzZXQtYm9yZGVyLWNvbG9yO1xuXHRib3JkZXItcmFkaXVzOiAkZmllbGRzZXQtYm9yZGVyLXJhZGl1cztcblx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAkZ3V0dGVyLWJvdHRvbSk7XG5cdEBpbmNsdWRlIHBhZGRpbmcoJGZpZWxkc2V0LXBhZGRpbmctdmVydGljYWwgJGZpZWxkc2V0LXBhZGRpbmctaG9yaXpvbnRhbCk7XG5cdEBpbmNsdWRlIG5vLWd1dHRlci1sYXN0LWNoaWxkO1xuXG5cdD4gcCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAkZ3V0dGVyLWJvdHRvbSk7XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdH1cblxufVxuXG5sZWdlbmQge1xuXHRjb2xvcjogJGxlZ2VuZC1jb2xvcjtcblx0Ym9yZGVyOiAkbGVnZW5kLWJvcmRlci1zaXplICRsZWdlbmQtYm9yZGVyLXN0eWxlICRsZWdlbmQtYm9yZGVyLWNvbG9yO1xuXHRib3JkZXItcmFkaXVzOiAkbGVnZW5kLWJvcmRlci1yYWRpdXM7XG5cdGJhY2tncm91bmQ6ICRsZWdlbmQtYmFja2dyb3VuZDtcblx0QGluY2x1ZGUgcGFkZGluZyg1cHggMTBweCk7XG59XG5cbmxhYmVsOm5vdCggLnJhZGlvICk6bm90KCAuY2hlY2tib3ggKTpub3QoIC5lcnJvciApIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtd2VpZ2h0OiAkbGFiZWwtZm9udC13ZWlnaHQ7XG5cdGNvbG9yOiAkbGFiZWwtdGV4dC1jb2xvcjtcblx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAkbGFiZWwtbWFyZ2luLWJvdHRvbSk7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGFiZWwtZm9udC1zaXplKTtcbn1cblxubGFiZWwucmFkaW8ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGhlaWdodDogJGlucHV0LWhlaWdodDtcblx0bGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG5cdEBpbmNsdWRlIG1hcmdpbigwIDEwcHggMCAxcHgpO1xufVxuXG5sYWJlbC5jaGVja2JveCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0aGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuXHRsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcblx0QGluY2x1ZGUgbWFyZ2luKDAgMTBweCAwKTtcbn1cblxuLmVycm9yIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6ICRsYWJlbC10ZXh0LWNvbG9yLWVycm9yO1xuXHRiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZC1lcnJvcjtcblx0QGluY2x1ZGUgbWFyZ2luKDEwcHggbnVsbCBudWxsKTtcblx0QGluY2x1ZGUgcGFkZGluZyg2cHggMTBweCA0cHggMTBweCk7XG5cdEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcblx0QGluY2x1ZGUgZm9udC1zaXplICggMTZweCApO1xufVxuXG4uZXJyb3I6YmVmb3JlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNvbnRlbnQ6ICcnO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRtYXJnaW4tbGVmdDogLTNweDtcblx0Ym9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkbGFiZWwtYmFja2dyb3VuZC1lcnJvcjtcblx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC02cHggbnVsbCBudWxsIDUwJSk7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogJGlucHV0LXdpZHRoO1xuXHRoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG5cdGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG5cdGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cdGJvcmRlcjogJGlucHV0LWJvcmRlci1zaXplICRpbnB1dC1ib3JkZXItc3R5bGUgJGlucHV0LWJvcmRlci1jb2xvcjtcblx0Ym9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG5cdGJhY2tncm91bmQ6ICRpbnB1dC1iZztcblx0QGluY2x1ZGUgcGFkZGluZygkaW5wdXQtcGFkZGluZy12ZXJ0aWNhbCAkaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsKTtcblx0QGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuXHRAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjtcblx0fVxuXG5cdCY6Zm9jdXM6bm90KCA6cmVhZC1vbmx5ICk6bm90KCBbdHlwZT0nc3VibWl0J10gKTpub3QoIFt0eXBlPSdyZXNldCddICk6bm90KCBbdHlwZT0nYnV0dG9uJ10gKSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yLWZvY3VzO1xuXHR9XG5cblx0Ji5lcnJvciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yLWVycm9yO1xuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0Y29sb3I6ICRpbnB1dC1jb2xvci1kaXNhYmxlZDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZGlzYWJsZWQ7XG5cdH1cblxuXHQmW3R5cGU9J3JhZGlvJ10sXG5cdCZbdHlwZT0nY2hlY2tib3gnXSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCAxMHB4IG51bGwgbnVsbCk7XG5cdFx0QGluY2x1ZGUgcGFkZGluZygwKTtcblx0fVxuXG5cdCZbdHlwZT0ncmFkaW8nXSxcblx0Jlt0eXBlPSdjaGVja2JveCddLFxuXHQmW3R5cGU9J3N1Ym1pdCddLFxuXHQmW3R5cGU9J3Jlc2V0J10sXG5cdCZbdHlwZT0nYnV0dG9uJ10ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogYXV0bztcblx0fVxuXG59XG5cbmJ1dHRvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IGF1dG87XG59XG5cbmJ1dHRvbixcbmlucHV0W3R5cGU9J3N1Ym1pdCddLFxuaW5wdXRbdHlwZT0ncmVzZXQnXSxcbmlucHV0W3R5cGU9J2J1dHRvbiddIHtcblxuXHRjb2xvcjogJGlucHV0LXN1Ym1pdC1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJGlucHV0LXN1Ym1pdC1iZztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogJGlucHV0LXN1Ym1pdC1jb2xvci1ob3Zlcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtc3VibWl0LWJnLWhvdmVyO1xuXHR9XG5cbn1cblxuc2VsZWN0IHtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbCBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogYXV0byA1cHg7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJvQUFBQU5DQVlBQUFDM21YN3RBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1QybERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk5uVkZQcEZqMzMzdlJDUzRpQWxFdHZVaFVJSUZKQ2k0QVVrU1lxSVFrUVNvZ2hvZGtWVWNFUlJVVUVHOGlnaUFPT2pvQ01GVkVzRElvSzJBZmtJYUtPZzZPSWlzcjc0WHVqYTlhODkrYk4vclhYUHVlczg1Mnp6d2ZBQ0F5V1NETlJOWUFNcVVJZUVlQ0R4OFRHNGVRdVFJRUtKSEFBRUFpelpDRnovU01CQVBoK1BEd3JJc0FIdmdBQmVOTUxDQURBVFp2QU1CeUgvdy9xUXBsY0FZQ0VBY0Iwa1RoTENJQVVBRUI2amtLbUFFQkdBWUNkbUNaVEFLQUVBR0RMWTJMakFGQXRBR0FuZitiVEFJQ2QrSmw3QVFCYmxDRVZBYUNSQUNBVFpZaEVBR2c3QUt6UFZvcEZBRmd3QUJSbVM4UTVBTmd0QURCSlYyWklBTEMzQU1ET0VBdXlBQWdNQURCUmlJVXBBQVI3QUdESUl5TjRBSVNaQUJSRzhsYzg4U3V1RU9jcUFBQjRtYkk4dVNRNVJZRmJDQzF4QjFkWExoNG96a2tYS3hRMllRSmhta0F1d25tWkdUS0JOQS9nODh3QUFLQ1JGUkhnZy9QOWVNNE9yczdPTm82MkRsOHQ2cjhHL3lKaVl1UCs1YytyY0VBQUFPRjBmdEgrTEMrekdvQTdCb0J0L3FJbDdnUm9YZ3VnZGZlTFpySVBRTFVBb09uYVYvTncrSDQ4UEVXaGtMbloyZVhrNU5oS3hFSmJZY3BYZmY1bndsL0FWLzFzK1g0OC9QZjE0TDdpSklFeVhZRkhCUGpnd3N6MFRLVWN6NUlKaEdMYzVvOUgvTGNMLy93ZDB5TEVTV0s1V0NvVTQxRVNjWTVFbW96ek1xVWlpVUtTS2NVbDB2OWs0dDhzK3dNKzN6VUFzR28rQVh1UkxhaGRZd1AyU3ljUVdIVEE0dmNBQVBLN2I4SFVLQWdEZ0dpRDRjOTMvKzgvL1VlZ0pRQ0Faa21TY1FBQVhrUWtMbFRLc3ovSENBQUFSS0NCS3JCQkcvVEJHQ3pBQmh6QkJkekJDL3hnTm9SQ0pNVENRaEJDQ21TQUhISmdLYXlDUWlpR3piQWRLbUF2MUVBZE5NQlJhSWFUY0E0dXdsVzREajF3RC9waENKN0JLTHlCQ1FSQnlBZ1RZU0hhaUFGaWlsZ2pqZ2dYbVlYNEljRklCQktMSkNESmlCUlJJa3VSTlVneFVvcFVJRlZJSGZJOWNnSTVoMXhHdXBFN3lBQXlndnlHdkVjeGxJR3lVVDNVRExWRHVhZzNHb1JHb2d2UVpIUXhtbzhXb0p2UWNyUWFQWXcyb2VmUXEyZ1AybzgrUThjd3dPZ1lCelBFYkRBdXhzTkNzVGdzQ1pOank3RWlyQXlyeGhxd1Zxd0R1NG4xWTgreGR3UVNnVVhBQ1RZRWQwSWdZUjVCU0ZoTVdFN1lTS2dnSENRMEVkb0pOd2tEaEZIQ0p5S1RxRXUwSnJvUitjUVlZakl4aDFoSUxDUFdFbzhUTHhCN2lFUEVOeVFTaVVNeUo3bVFBa214cEZUU0V0SkcwbTVTSStrc3FaczBTQm9qazhuYVpHdXlCem1VTENBcnlJWGtuZVRENURQa0crUWg4bHNLbldKQWNhVDRVK0lvVXNwcVNobmxFT1UwNVFabG1ESkJWYU9hVXQyb29WUVJOWTlhUXEyaHRsS3ZVWWVvRXpSMW1qbk5neFpKUzZXdG9wWFRHbWdYYVBkcHIraDB1aEhkbFI1T2w5Qlgwc3ZwUitpWDZBUDBkd3dOaGhXRHg0aG5LQm1iR0FjWVp4bDNHSytZVEtZWjA0c1p4MVF3TnpIcm1PZVpENWx2VlZncXRpcDhGWkhLQ3BWS2xTYVZHeW92VkttcXBxcmVxZ3RWODFYTFZJK3BYbE45cmtaVk0xUGpxUW5VbHF0VnFwMVE2MU1iVTJlcE82aUhxbWVvYjFRL3BINVovWWtHV2NOTXcwOURwRkdnc1YvanZNWWdDMk1aczNnc0lXc05xNFoxZ1RYRUpySE4yWHgyS3J1WS9SMjdpejJxcWFFNVF6TktNMWV6VXZPVVpqOEg0NWh4K0p4MFRnbm5LS2VYODM2SzNoVHZLZUlwRzZZMFRMa3haVnhycXBhWGxsaXJTS3RScTBmcnZUYXU3YWVkcHIxRnUxbjdnUTVCeDBvblhDZEhaNC9PQlozblU5bFQzYWNLcHhaTlBUcjFyaTZxYTZVYm9idEVkNzl1cCs2WW5yNWVnSjVNYjZmZWViM24raHg5TC8xVS9XMzZwL1ZIREZnR3N3d2tCdHNNemhnOHhUVnhiendkTDhmYjhWRkRYY05BUTZWaGxXR1g0WVNSdWRFOG85VkdqVVlQakduR1hPTWs0MjNHYmNhakpnWW1JU1pMVGVwTjdwcFNUYm1tS2FZN1REdE14ODNNemFMTjFwazFtejB4MXpMbm0rZWIxNXZmdDJCYWVGb3N0cWkydUdWSnN1UmFwbG51dHJ4dWhWbzVXYVZZVlZwZHMwYXRuYTBsMXJ1dHU2Y1JwN2xPazA2cm50Wm53N0R4dHNtMnFiY1pzT1hZQnR1dXRtMjJmV0ZuWWhkbnQ4V3V3KzZUdlpOOXVuMk4vVDBIRFlmWkRxc2RXaDErYzdSeUZEcFdPdDZhenB6dVAzM0Y5SmJwTDJkWXp4RFAyRFBqdGhQTEtjUnBuVk9iMDBkbkYyZTVjNFB6aUl1SlM0TExMcGMrTHBzYnh0M0l2ZVJLZFBWeFhlRjYwdldkbTdPYnd1Mm8yNi91TnU1cDdvZmNuOHcwbnltZVdUTnowTVBJUStCUjVkRS9DNStWTUd2ZnJINVBRMCtCWjdYbkl5OWpMNUZYcmRld3Q2VjNxdmRoN3hjKzlqNXluK00rNHp3MzNqTGVXVi9NTjhDM3lMZkxUOE52bmwrRjMwTi9JLzlrLzNyLzBRQ25nQ1VCWndPSmdVR0JXd0w3K0hwOEliK09QenJiWmZheTJlMUJqS0M1UVJWQmo0S3RndVhCclNGb3lPeVFyU0gzNTVqT2tjNXBEb1ZRZnVqVzBBZGg1bUdMdzM0TUo0V0hoVmVHUDQ1d2lGZ2EwVEdYTlhmUjNFTnozMFQ2UkpaRTNwdG5NVTg1cnkxS05TbytxaTVxUE5vM3VqUzZQOFl1WmxuTTFWaWRXRWxzU3h3NUxpcXVObTVzdnQvODdmT0g0cDNpQytON0Y1Z3Z5RjF3ZWFIT3d2U0ZweGFwTGhJc09wWkFUSWhPT0pUd1FSQXFxQmFNSmZJVGR5V09Dbm5DSGNKbklpL1JOdEdJMkVOY0toNU84a2dxVFhxUzdKRzhOWGtreFRPbExPVzVoQ2Vwa0x4TURVemRtenFlRnBwMklHMHlQVHE5TVlPU2taQnhRcW9oVFpPMlorcG41bVoyeTZ4bGhiTCt4VzZMdHk4ZWxRZkphN09RckFWWkxRcTJRcWJvVkZvbzF5b0hzbWRsVjJhL3pZbktPWmFybml2TjdjeXp5dHVRTjV6dm4vL3RFc0lTNFpLMnBZWkxWeTBkV09hOXJHbzVzanh4ZWRzSzR4VUZLNFpXQnF3OHVJcTJLbTNWVDZ2dFY1ZXVmcjBtZWsxcmdWN0J5b0xCdFFGcjZ3dFZDdVdGZmV2YzErMWRUMWd2V2QrMVlmcUduUnMrRlltS3JoVGJGNWNWZjlnbzNIamxHNGR2eXIrWjNKUzBxYXZFdVdUUFp0Sm02ZWJlTFo1YkRwYXFsK2FYRG00TjJkcTBEZDlXdE8zMTlrWGJMNWZOS051N2c3WkR1YU8vUExpOFphZkp6czA3UDFTa1ZQUlUrbFEyN3RMZHRXSFgrRzdSN2h0N3ZQWTA3TlhiVzd6My9UN0p2dHRWQVZWTjFXYlZaZnRKKzdQM1A2NkpxdW40bHZ0dFhhMU9iWEh0eHdQU0EvMEhJdzYyMTduVTFSM1NQVlJTajlZcjYwY094eCsrL3AzdmR5ME5OZzFWalp6RzRpTndSSG5rNmZjSjMvY2VEVHJhZG94N3JPRUgweDkySFdjZEwycENtdkthUnB0VG12dGJZbHU2VDh3KzBkYnEzbnI4UjlzZkQ1dzBQRmw1U3ZOVXlXbmE2WUxUazJmeXo0eWRsWjE5Zmk3NTNHRGJvclo3NTJQTzMyb1BiKys2RUhUaDBrWC9pK2M3dkR2T1hQSzRkUEt5MitVVFY3aFhtcTg2WDIzcWRPbzgvcFBUVDhlN25MdWFycmxjYTdudWVyMjFlMmIzNlJ1ZU44N2Q5TDE1OFJiLzF0V2VPVDNkdmZONmIvZkY5L1hmRnQxK2NpZjl6c3U3MlhjbjdxMjhUN3hmOUVEdFFkbEQzWWZWUDF2KzNOanYzSDlxd0hlZzg5SGNSL2NHaFlQUC9wSDFqdzlEQlkrWmo4dUdEWWJybmpnK09UbmlQM0w5NmZ5blE4OWt6eWFlRi82aS9zdXVGeFl2ZnZqVjY5Zk8wWmpSb1pmeWw1Ty9iWHlsL2VyQTZ4bXYyOGJDeGg2K3lYZ3pNVjcwVnZ2dHdYZmNkeDN2bzk4UFQrUjhJSDhvLzJqNXNmVlQwS2Y3a3htVGsvOEVBNWp6L0dNekxkc0FBQUFnWTBoU1RRQUFlaVVBQUlDREFBRDUvd0FBZ09rQUFIVXdBQURxWUFBQU9wZ0FBQmR2a2wvRlJnQUFBVXRKUkVGVWVOcTgwODlLQWxFVXgvSHZhSVJDSWJSeUNzTHhDY1lab2tjSW5Xa1JDQ0hNU2duNjh4UXVlb0EyUlJDMGtkb0lGY3hvUFVHclVaZXVySld0b3pLSjRMVEpFTTEvcEozbFBkejd1VC91UFVvK2Z5ajhRd1ZVTlRwelJGV2pCQnduazlXMDJNd1FUWXVKNDJTT0ZCRUpBSnV1VzdxdVZHcFRSUXhERjl0TzVRQlBFUkVGRUdERGRVdTMwOElNUThlMlUxbmdISmdMZFBYdWJEdTFiaGg2YTBySS9qY0M4Tm1kcUZOcnJsdTZyMVJxd1Q4aUo5M3J2MEZCNE16M3E5dWVWdzVQZ2xoV0V0Tk03QUtudlQxRlpPQVlMZnArOWRIenlrc1RJSDFKZnVZSWlBelkrMkthaVZYTFNyNk9pUndNUWpyUSs1QXoza3d6b1Z0VzhtTUVzZ2NjRDd1TUlpTGhFUmlBMW1nODFJdkZxL2wydXcxQUtCUWluZDVxeCtOYURyZ1lsVm9Sa1Fqd1BNWXpyRFNiVC9WQzRYSUJ3SEV5cmVWbGRRZTRBVm85SDZxdnZnWUFkN1IxNU92cGZIRUFBQUFBU1VWT1JLNUNZSUk9KTtcblx0QGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbn1cblxudGV4dGFyZWEge1xuXHR3aWR0aDogJGlucHV0LXdpZHRoLXRleHRhcmVhO1xuXHRoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtdGV4dGFyZWE7XG59IiwiQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJHBsYWNlaG9sZGVyczogXCI6LXdlYmtpdC1pbnB1dFwiIFwiOi1tb3pcIiBcIi1tb3pcIiBcIi1tcy1pbnB1dFwiO1xuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnJhdGlvLFxuYXVkaW8sXG5lbWJlZCxcbmlmcmFtZSxcbm9iamVjdCxcbnZpZGVvIHtcblx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAkZ3V0dGVyLWJvdHRvbSk7XG59XG5cbi5yYXRpbyB7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGhlaWdodDogMDtcblx0QGluY2x1ZGUgcGFkZGluZygwcHgpO1xuXHRAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSk7XG5cblx0ZW1iZWQsXG5cdGlmcmFtZSxcblx0b2JqZWN0LFxuXHR2aWRlbyB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJvcmRlcjogMDtcblx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMHB4IG51bGwgbnVsbCAwcHgpO1xuXHR9XG5cbn1cblxuLnJhdGlvLS0xNng5IHtcblx0QGluY2x1ZGUgcGFkZGluZyhudWxsIG51bGwgNTYuMjUlKTtcbn1cblxuLnJhdGlvLS00eDMge1xuXHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgbnVsbCA3NSUpO1xufSIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ud3JhcHBlciB7XG5cblx0d2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXG5cdCYud3JhcHBlci0tcGFnZSB7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuXHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0XHRjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZS1iZztcblx0XHRAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcblx0fVxuXG5cdCYud3JhcHBlci0taG9tZSB7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0LnNpZGViYXIge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5mZWF0dXJlc19fc2lkZWJhciB7XG5cdFx0XHRuYXYge1xuXHRcdFx0XHQ+IHVsIHtcblx0XHRcdFx0XHQ+IGxpIHtcblx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdFx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNtYXJ0d2F5X19zaWRlYmFyIHtcblx0XHRcdG5hdiB7XG5cdFx0XHRcdD4gdWwge1xuXHRcdFx0XHRcdD4gbGkge1xuXHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRcdFx0XHR1bCB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYmVuZWZpdHNfX3NpZGViYXIge1xuXHRcdFx0bmF2IHtcblx0XHRcdFx0PiB1bCB7XG5cdFx0XHRcdFx0PiBsaSB7XG5cdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgzKSB7XG5cdFx0XHRcdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC53ZWJzaG9wX19zaWRlYmFyIHtcblx0XHRcdG5hdiB7XG5cdFx0XHRcdD4gdWwge1xuXHRcdFx0XHRcdD4gbGkge1xuXHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoNCkge1xuXHRcdFx0XHRcdFx0XHR1bCB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG59IiwiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIEVsZW1lbnRzICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgRWxlbWVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zaWRlYmFyIHtcblx0ei1pbmRleDogMTI7XG5cdGZsb2F0OiBsZWZ0O1xuXHR3aWR0aDogMjM4cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1ib3R0b206IDUwcHg7XG5cdG9sIHtcblx0XHRwYWRkaW5nOiAxN3B4O1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdGxpIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0cGFkZGluZzogM3B4O1xuXHRcdFx0YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRwYWRkaW5nOiAzcHggMnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0cGFkZGluZzogMTRweCAwcHg7XG5cdFx0fVxuXHR9XG5cdG5hdiB7XG5cdFx0PiB1bCB7XG5cdFx0XHQ+IGxpIHtcblx0XHRcdFx0cGFkZGluZzogMTBweCAxNXB4O1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoMjRweCk7XG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICgxNXB4KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSwgJi5jdXJyZW50X3BhZ2VfcGFyZW50IHtcblx0XHRcdFx0XHR1bCB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtdGFibGV0KSB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwcHg7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0cGFkZGluZzogMHB4IDEwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24gKGFic29sdXRlLCA1NXB4IDBweCBudWxsIDBweCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCAoNzY4cHgpKSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXHRhc2lkZSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0cGFkZGluZzogMTdweCAwcHg7XG5cdFx0bWFyZ2luLWxlZnQ6IDE0cHg7XG5cdFx0YSB7XG5cdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkICNmZmY7XG5cdFx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQgI2ZmZjtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRoZWlnaHQ6IDRweDtcblx0XHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW46IDRweCAwcHg7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdH1cblx0fVxuXHRoZ3JvdXAge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IC0yMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR3aWR0aDogMTAwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdFx0fVxuXHR9XG5cdCYuc2lkZWJhci0tZGFyayB7XG5cblx0XHRuYXYge1xuXHRcdFx0PiB1bCB7XG5cdFx0XHRcdD4gbGkge1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR1bCB7XG5cdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YXNpZGUge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQubGFuZ19zZWxfbGlzdF9ob3Jpem9udGFsIHtcblx0XHRcdHVsIHtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogJHRleHQtY29sb3ItYmFzZTtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cdC5sYW5nX3NlbF9saXN0X2hvcml6b250YWwge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0cGFkZGluZzogMThweCA1cHg7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC10YWJsZXQpIHtcblx0XHR3aWR0aDogMjAwcHg7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwcHggMTBweDtcblx0XHRtaW4taGVpZ2h0OiAwcHggIWltcG9ydGFudDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdGJveC1zaGFkb3c6IDAgNXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0XHQtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0XHRAaW5jbHVkZSBwb3NpdGlvbiAoZml4ZWQsIDBweCAwcHggbnVsbCAwcHgpO1xuXHRcdG5hdiB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDVweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdFx0XHQtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0XHR9XG5cdH1cbn0iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFydGljbGUge1xuXHRwYWRkaW5nLXRvcDogODBweDtcblx0bWFyZ2luLWxlZnQ6IDIzOHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDE3cHg7XG5cdEBleHRlbmQgLmNvbnRlbnQ7XG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdG1hcmdpbi1sZWZ0OiAyMDBweDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdG1hcmdpbi1sZWZ0OiAwcHg7XG5cdFx0cGFkZGluZy1sZWZ0OiAwcHg7XG5cdH1cbn0iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhvbWVwYWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRzZWN0aW9uIHtcblx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMHB4KTtcblx0fVxuXHQuaG9tZXBhZ2VfX3RleHQge1xuXHRcdHBhZGRpbmc6IDUwcHggMHB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1saW5lLWhlaWdodDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDAlLCAjZTZlN2U3IDEwMCUpO1xuXHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiAwJSwgI2U2ZTdlNyAxMDAlKTtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmIDAlLCAjZTZlN2U3IDEwMCUpO1xuXHRcdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNmZmZmZmYnLCBlbmRDb2xvcnN0cj0nI2U2ZTdlNycsIEdyYWRpZW50VHlwZT0wKTtcblx0XHRAaW5jbHVkZSBmb250LXNpemUgKDQycHgpO1xuXHRcdEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAkd2lkdGgtYmFzZSkge1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICgzNnB4KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtdGFibGV0KSB7XG5cdFx0XHRwYWRkaW5nOiAzMHB4IDBweDtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoMzJweCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDBweDtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoMjJweCk7XG5cdFx0fVxuXHR9XG5cdC5ob21lcGFnZV9fc2xpZGVyIHtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQuaGVybWVzIHtcblx0XHRcdC50cC1idWxsZXQge1xuXHRcdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggcmdiKDM3LCAzOCwgMzgpO1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyNjI2O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5sYW5nX3NlbF9saXN0X2hvcml6b250YWwge1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0oICR3aWR0aC1iYXNlIC8gMiApO1xuXHRcdFx0dWwge1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGggKCR3aWR0aC1iYXNlICsgKCAkZ3V0dGVyLXNpZGUgKiAyICkpKSB7XG5cdFx0XHRcdGxlZnQ6IDBweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cdH1cblx0LmhvbWVwYWdlX19zaWRlYmFyIHtcblx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdG5hdiB7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YXNpZGUge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICMxZDFkMWI7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICMxZDFkMWI7XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMxZDFkMWI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRoZ3JvdXAge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lmxhbmdfc2VsX2xpc3RfaG9yaXpvbnRhbCB7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQtY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0fVxufSIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmVhdHVyZXMge1x0XG5cdGJhY2tncm91bmQtY29sb3I6ICNkNGFhMjk7XG5cdC5mZWF0dXJlc19fc2lkZWJhciB7XG5cdFx0aGdyb3VwIHtcblx0XHRcdGEge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjOTQ3NzFkO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzk0NzcxZDtcblx0XHRcdG5hdiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5NDc3MWQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5mZWF0dXJlc19fY29udGVudCB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0YXJ0aWNsZSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdFx0PiB1bCB7XG5cdFx0XHRcdHdpZHRoOiAyNiU7XG5cdFx0XHRcdG1hcmdpbjogMHB4O1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XHRcdFx0XHRcblx0XHRcdFx0cGFkZGluZy10b3A6IDI1cHg7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICgxOXB4KTtcblx0XHRcdFx0PiBsaSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRsaXN0LXN0eWxlOiBub25lO1x0XHRcdFx0XHRcblx0XHRcdFx0XHRoNCB7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ZmlndXJlIHtcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAyNXB4O1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZSAoJ2ljb24tc2hhZG93JywgJ3BuZycsIGNlbnRlciBib3R0b20pO1xuXHRcdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDU4JTtcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQgeyBkaXNwbGF5OiBibG9jazsgfVxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAkd2lkdGgtYmFzZSkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoMThweCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtdGFibGV0KSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICgxN3B4KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoMTZweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdD4gZmlndXJlIHtcdFx0XHRcdFxuXHRcdFx0XHRmbG9hdDogbGVmdDtcdFx0XHRcdFxuXHRcdFx0XHR3aWR0aDogNzEuMyU7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0b2wge1xuXHRcdFx0XHRcdG1hcmdpbjogMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDBweDtcblx0XHRcdFx0XHRAaW5jbHVkZSBwb3NpdGlvbiAoYWJzb2x1dGUsIDBweCk7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uIChhYnNvbHV0ZSwgMHB4IG51bGwgbnVsbCBudWxsKTtcblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogNTBweDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmLnBvaW50MSB7XG5cdFx0XHRcdFx0XHRcdHRvcDogMHB4O1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiA1NyU7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LWRlc2spIHtcblx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5wb2ludDIge1xuXHRcdFx0XHRcdFx0XHR0b3A6IDI3JTtcblx0XHRcdFx0XHRcdFx0bGVmdDogODcuMSU7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LWRlc2spIHtcblx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5wb2ludDMge1xuXHRcdFx0XHRcdFx0XHR0b3A6IDM2JTtcblx0XHRcdFx0XHRcdFx0bGVmdDogLTVweDtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtZGVzaykge1xuXHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmLnBvaW50NCB7XG5cdFx0XHRcdFx0XHRcdHRvcDogNiU7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDMxLjMlO1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1kZXNrKSB7XG5cdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYucG9pbnQ1IHtcblx0XHRcdFx0XHRcdFx0dG9wOiA1NC4zJTtcblx0XHRcdFx0XHRcdFx0cmlnaHQ6IC01cHg7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LWRlc2spIHtcblx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0YXNpZGUge1x0XHRcdFx0XG5cdFx0XHRcdHotaW5kZXg6IDM7XG5cdFx0XHRcdG1heC13aWR0aDogMjAwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDE1cHggMHB4O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHRcdFx0XHRcblx0XHRcdFx0QGluY2x1ZGUgcG9zaXRpb24gKGFic29sdXRlLCAwcHggbnVsbCBudWxsIDBweCk7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA3MHB4O1xuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcblx0XHRcdFx0XHRAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlICgncGxheS1pY29uJywgJ3BuZycsIGNlbnRlciB0b3ApO1xuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDI0cHgpO1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGggJHdpZHRoLWJhc2UpIHtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUoMjBweCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtdGFibGV0KSB7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDE4cHgpO1xuXHRcdFx0XHRcdFx0XHR9XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdH1cdFxuXHRcdFx0XHRcdFx0Y2l0ZSB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoICR3aWR0aC1iYXNlKSB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdFx0fVx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHNlY3Rpb24ge1xuXHRcdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcdFx0XHRcdFxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRAaW5jbHVkZSBwb3NpdGlvbiAoYWJzb2x1dGUsIDBweCk7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGNvbG9yOiAjMDAwO1x0XHRcdFx0XHRcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcdFx0XHRcdFx0XG5cdFx0XHRcdFx0cGFkZGluZzogMnB4IDEwcHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcdFx0XHRcdFx0XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uIChhYnNvbHV0ZSwgMTBweCAxMHB4IG51bGwgbnVsbCk7XHRcblx0XHRcdFx0XHQmOmhvdmVyIHsgXG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRpZnJhbWUge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQ+IHNlY3Rpb24ge1x0XHRcdFxuXHRcdFx0cGFkZGluZzogMTVweCAwcHg7XG5cdFx0XHRtYXJnaW46IDBweCAtMTVweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdFx0aDMge1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uIChhYnNvbHV0ZSwgLTU0cHggbnVsbCBudWxsIDIyJSk7XG5cdFx0XHRcdHNwYW4ge1x0XHRcdFx0XHRcblx0XHRcdFx0XHRjb2xvcjogIzk0NzcxZDtcdFx0XHRcdFxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcdFxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDNweCA1cHggMnB4IDVweDtcblx0XHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUgKCAxOHB4ICk7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRcdFx0XHRyaWdodDogMHB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcblx0XHRcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDEycHg7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0YXNpZGUge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0XHRcdFx0aDQge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDBweCAxNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdHVsIHtcblx0XHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdG1hcmdpbjogMTBweCAwcHg7XG5cdFx0XHRcdFx0cGFkZGluZzogMHB4IDE1cHg7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAycHggMHB4O1xuXHRcdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMTUwcHg7XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICggMTVweCApO1xuXHRcdFx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBwb3NpdGlvbiAoYWJzb2x1dGUsIDBweCBudWxsIG51bGwgMHB4KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIEVsZW1lbnRzICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgRWxlbWVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zbWFydHdheSB7XHRcblx0YmFja2dyb3VuZC1jb2xvcjogIzU5OGVkZDtcblx0LnNtYXJ0d2F5X19zaWRlYmFyIHtcblx0XHRoZ3JvdXAge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMzZTYzOWE7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjM2U2MzlhO1xuXHRcdFx0bmF2IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzNlNjM5YTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnNtYXJ0d2F5X19jb250ZW50IHtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRhcnRpY2xlIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiA1MHB4O1xuXHRcdFx0dWwge1xuXHRcdFx0XHRtYXJnaW46IDBweCAtOHB4O1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0XHRwYWRkaW5nOiA4cHg7XG5cdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMzMzO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgcG9zaXRpb24gKGFic29sdXRlLCAwcHgpO1xuXHRcdFx0XHRcdFx0XHRjaXRlIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDMyMHB4O1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDIwJSBhdXRvIDBweCBhdXRvO1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoNThweCk7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtdGFibGV0KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDIzMHB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICg0MnB4KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1zbWFsbCkge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIEVsZW1lbnRzICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgRWxlbWVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zbWFydHBhZ2Uge1x0XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHRcblx0YXJ0aWNsZSB7XG5cdFx0cGFkZGluZzogNDVweCAwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdHAge1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICggMjRweCApO1xuXHRcdH1cblx0XHRoMiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzNXB4O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoICRmb250LXNpemUtaDEgKVxuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC10YWJsZXQpIHtcblx0XHRcdGgyIHtcblx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICggJGZvbnQtc2l6ZS1oMiApXHRcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdGgyIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdH1cblx0XHRcdHBhZGRpbmc6IDIwcHggMHB4O1xuXHRcdH1cblx0XHRmaWd1cmUge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zbWFydHBhZ2VfX2Rlc2lnbjEge1xuXHRcdGgxIHtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0fVxuXHRcdGFzaWRlIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWF4LXdpZHRoOiA2MzBweDtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAoJHdpZHRoLWJhc2UgKSkge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDUzMHB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtdGFibGV0KSB7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRmaWd1cmUge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW46IDEwMHB4IDE1cHggMHB4IDExMHB4O1x0XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGggKCR3aWR0aC1iYXNlICkpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDUwcHg7XG5cdFx0XHR9XHRcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDUwcHg7XG5cdFx0XHRcdG1hcmdpbjogMHB4IDEwcHggMTBweCAwcHg7XG5cdFx0XHR9XHRcdFxuXHRcdH1cblx0fVxuXHQuc21hcnRwYWdlX19kZXNpZ24yIHtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRhc2lkZSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1heC13aWR0aDogNjAwcHg7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGggKCR3aWR0aC1iYXNlICkpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiA1MDBweDtcdFxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0ZmlndXJlIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luOiAwcHggNDBweCAwcHggMTkwcHg7XHRcdFxuXHRcdFx0QGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoICgkd2lkdGgtYmFzZSApKSB7XG5cdFx0XHRcdG1hcmdpbjogMHB4IDIwcHggMHB4IDEwMHB4O1xuXHRcdFx0fVx0XHRcdFx0XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC10YWJsZXQpIHtcblx0XHRcdFx0bWFyZ2luOiAwcHggMjBweCAwcHggMHB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiA1MHB4O1xuXHRcdFx0XHRtYXJnaW46IDBweCAxMHB4IDEwcHggMHB4O1xuXHRcdFx0fVx0XHRcblx0XHR9XG5cdH1cblx0LnNtYXJ0cGFnZV9fZGVzaWduMyB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0YXNpZGUge1x0XHRcdFxuXHRcdFx0bWF4LXdpZHRoOiA0ODBweDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMTBweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAyMDBweDtcblx0XHRcdHAge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwNXB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRmaWd1cmUge1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24gKCBhYnNvbHV0ZSwgbnVsbCBudWxsIDUwcHggMTEwcHggKTtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0XHRcdG1hcmdpbjogMHB4IDIwcHggMTBweCAwcHg7XG5cdFx0XHR9XHRcdFxuXHRcdH1cblx0fVxuXHQuc21hcnRwYWdlX19kZXNpZ240IHtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRhc2lkZSB7XHRcdFx0XG5cdFx0XHRtYXgtd2lkdGg6IDM4MHB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDExMHB4O1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDIwMHB4O1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRmaWd1cmUge1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24gKCBhYnNvbHV0ZSwgbnVsbCBudWxsIDUwcHggMTEwcHggKTtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0XHRcdG1hcmdpbjogMHB4IDIwcHggMTBweCAwcHg7XG5cdFx0XHR9XHRcdFxuXHRcdH1cblx0fVx0XG5cdC5zbWFydHBhZ2VfX2Rlc2lnbjUge1xuXHRcdGgxIHtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0fVxuXHRcdGFzaWRlIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWF4LXdpZHRoOiAyNTZweDtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGZpZ3VyZSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbjogMHB4IDE1cHggMHB4IDExMHB4O1x0XHRcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdG1heC13aWR0aDogNTBweDtcblx0XHRcdFx0bWFyZ2luOiAwcHggMTBweCAxMHB4IDBweDtcblx0XHRcdH1cdFx0XG5cdFx0fVxuXHR9XG5cdC5zbWFydHBhZ2VfX2Rlc2lnbjYge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGFzaWRlIHtcdFx0XHRcblx0XHRcdG1heC13aWR0aDogNDE1cHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTEwcHg7XG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMDVweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBweDtcblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0ZmlndXJlIHtcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uICggYWJzb2x1dGUsIDEyNXB4IG51bGwgbnVsbCA1MDBweCApO1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdG1heC13aWR0aDogNTBweDtcblx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0bWFyZ2luOiAwcHggMjBweCAxMHB4IDBweDtcblx0XHRcdH1cdFx0XG5cdFx0fVxuXHR9XG5cdC5zbWFydHBhZ2VfX3NpZGViYXIge1xuXHRcdEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCAoNzY4cHgpKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59IiwiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIEVsZW1lbnRzICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgRWxlbWVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5iZW5lZml0cyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMyYzNhNDA7XG5cdC5iZW5lZml0c19fc2lkZWJhciB7XG5cdFx0aGdyb3VwIHtcblx0XHRcdGEge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMWYyODJkO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzFmMjgyZDtcblx0XHRcdG5hdiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMxZjI4MmQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5iZW5lZml0c19fY29udGVudCB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0YXJ0aWNsZSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNTBweDtcblx0XHRcdHVsIHtcblx0XHRcdFx0bWFyZ2luOiA0MHB4IC04cHg7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDhweDtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjQwO1xuXHRcdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsMHB4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aDIge1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAzMjBweDtcblx0XHRcdFx0XHRcdG1hcmdpbjogMHB4IGF1dG87XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUgKCAkZm9udC1zaXplLWgxIClcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXNtYWxsKSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoICRmb250LXNpemUtaDIgKVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRhc2lkZSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzNXB4O1xuXHRcdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDclO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDRweDtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC10YWJsZXQpIHtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogOCU7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAzcHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogOSU7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAycHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtc21hbGwpIHtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTAlO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMXB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGZpZ3VyZSB7XG5cdFx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDEuMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNlY3RvciB7XHRcblx0YmFja2dyb3VuZC1jb2xvcjogIzJjM2E0MDtcblx0LnNlY3Rvcl9fc2lkZWJhciB7XG5cdFx0aGdyb3VwIHtcblx0XHRcdGEge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMWYyODJkO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzFmMjgyZDtcblx0XHRcdG5hdiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMxZjI4MmQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zZWN0b3JfX2NvbnRlbnQge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGFydGljbGUge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdHdpZHRoOiA5OCU7XHRcdFx0XHRcblx0XHRcdFx0bWFyZ2luOiAwcHggYXV0bztcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRwYWRkaW5nOiA0MHB4IDBweDtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdHdpZHRoOiAxMyU7XG5cdFx0XHRcdFx0cGFkZGluZzogNXB4IDEwcHg7XG5cdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwcHggYXV0bztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAxMHB4O1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICggMTZweCApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC10YWJsZXQpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtdGFibGV0KSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtdGFibGV0KSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMTBweCAwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHNlY3Rpb24ge1x0XHRcdFx0XG5cdFx0XHRcdG1heC13aWR0aDogNTAwcHg7XG5cdFx0XHRcdG1hcmdpbjogMHB4IGF1dG87XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ud2Vic2hvcCB7XHRcblx0YmFja2dyb3VuZC1jb2xvcjogIzUzOTc4Zjtcblx0LndlYnNob3BfX3NpZGViYXIge1xuXHRcdGhncm91cCB7XG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzNhNjk2NDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMzYTY5NjQ7XG5cdFx0XHRuYXYge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjM2E2OTY0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQud2Vic2hvcF9fY29udGVudCB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0YXJ0aWNsZSB7XHRcdFx0XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0dWwge1x0XHRcdFx0XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0bWFyZ2luOiAyMHB4IDBweCAwcHggNTBweDtcblx0XHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDBweCBudWxsIG51bGwgMHB4KTtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRtYXJnaW46IDVweCAwcHg7XG5cdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcdFx0XHRcdFx0XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMTM1cHg7XHRcdFx0XHRcdFxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoIDE5cHggKTtcblx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDBweCBudWxsIG51bGwgMHB4KTtcdFx0XG5cdFx0XHRcdFx0XHRjaXRlIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDE4cHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMThweDtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxcHggbnVsbCBudWxsIDBweCk7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdFx0XHRcdFx0XHRcdHRvcDogMnB4O1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxNHB4O1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMTRweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRcdFx0XHRcdHRvcDogNHB4O1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiA4cHg7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA4cHg7XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRjaXRlIHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCwgJjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0Y2l0ZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XHRcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0XHRcdG1hcmdpbjogMnB4IDBweDtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMTAwcHg7XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdFx0XHRcdG1hcmdpbjogMTBweCAwcHggMHB4IDEwcHg7XHRcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRcdG1hcmdpbjogMHB4O1x0XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGZpZ3VyZSB7XG5cdFx0XHRcdG1hcmdpbjogMHB4O1xuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA4MHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHNlY3Rpb24ge1xuXHRcdFx0bWFyZ2luOiAzMHB4IC03cHg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdFx0dWwge1xuXHRcdFx0XHRtYXJnaW46IDBweCAtN3B4O1xuXHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0XHRwYWRkaW5nOiAwcHggN3B4O1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcdFx0XHRcdFx0XG5cdFx0XHRcdFx0LmJ1dHRvbiB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cdFxuXHRcdFx0fVxuXHRcdFx0YXNpZGUge1xuXHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0cGFkZGluZzogMHB4IDdweDtcblx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICggMTRweCApO1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAycHg7XG5cdFx0XHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHRcdFx0XHRcdFxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYud2Vic2hvcC0td2hpdGUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHRcdFxuXHRcdC53ZWJzaG9wX19jb250ZW50IHtcblx0XHRcdGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1x0XG5cdFx0XHRoMSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHR9XG5cdFx0XHQuYnV0dG9uIHtcblx0XHRcdFx0Ji5idXR0b24tLXdoaXRlIHtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC53ZWJzaG9wX19zaWRlYmFyIHtcblx0XHRcdG9sIHtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0Ji5mYiB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UgKCdmYWNlYm9vay1ibGFjaycpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji50dyB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UgKCd0d2l0dGVyLWJsYWNrJyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmLmluIHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZSAoJ2luc3RhZ3JhbS1ibGFjaycpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji52bSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UgKCd2aW1lby1ibGFjaycpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMC4wO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aGdyb3VwIHtcblx0XHRcdFx0YSB7XHRcdFx0XHRcdFxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZSAoJ3JlZC1sb2dvJywgJ3BuZycsIGNlbnRlciBib3R0b20sIG5vLXJlcGVhdCwgMTAwJSBhdXRvKTtcblx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC4wO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVx0XG5cdFx0XHRhc2lkZSBhIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XHRcdFxuXHRcdFx0bmF2IHtcblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XHRcblx0XHRcdFx0XHRcdH1cdFx0XHRcdFx0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjojZWVlO1xuXHRcdFx0XHR9XHRcdFx0XHRcblx0XHRcdH1cdFxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2VlZTtcblx0XHRcdH1cblx0XHR9XHRcblx0XHQubGFuZ19zZWxfbGlzdF9ob3Jpem9udGFsIHtcblx0XHRcdHVsIHtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogJHRleHQtY29sb3ItYmFzZTtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cdFx0XHRcblx0fVxuXHQmLndlYnNob3AtLXJlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2QyMjcyOTtcdFx0XG5cdFx0LndlYnNob3BfX3NpZGViYXIge1xuXHRcdFx0aGdyb3VwIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzkzMWIxZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0bmF2IHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjOTMxYjFkO1xuXHRcdFx0XHR9XHRcdFx0XHRcdFx0XHRcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5MzFiMWQ7XG5cdFx0XHR9XHRcdFx0XG5cdFx0fVx0XHRcdFxuXHR9XG5cdCYud2Vic2hvcC0tYmxhY2sge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjY7XHRcblx0XHQud2Vic2hvcF9fc2lkZWJhciB7XG5cdFx0XHRoZ3JvdXAge1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYjFiO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRuYXYge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMxYjFiMWI7XG5cdFx0XHRcdH1cdFx0XHRcdFx0XHRcdFxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzFiMWIxYjtcblx0XHRcdH1cdFx0XHRcblx0XHR9XHRcblx0fVxufSIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvZHVjdCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMzOTM5Mzk7XG5cdC5wcm9kdWN0X19zaWRlYmFyIHtcblx0XHRoZ3JvdXAge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMyODI4Mjg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMjgyODI4O1xuXHRcdFx0bmF2IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzI4MjgyODtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnByb2R1Y3RfX2NvbnRlbnQge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGFydGljbGUge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRAaW5jbHVkZSBjYWxjKHdpZHRoLCBcIjEwMCUgLSAyNTVweFwiKTtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdFx0YXNpZGUge1xuXHRcdFx0d2lkdGg6IDI0MHB4O1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XG5cdFx0XHRzZWN0aW9uIHtcblx0XHRcdFx0ZGl2IHtcblx0XHRcdFx0XHRwYWRkaW5nOiAxNXB4O1xuXHRcdFx0XHRcdGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMDtcblx0XHRcdFx0XHRcdG1hcmdpbjogMTVweCAwcHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4IDBweDtcblx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICM1NWFkYTI7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICggMTZweCApO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0c3Ryb25nIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoIDQ2cHggKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwcHg7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUgKCAxNnB4ICk7XG5cdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMnB4IDBweDtcblx0XHRcdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHRjaXRlIHtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzU1YWRhMjtcblx0XHRcdFx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDBweCAwcHggbnVsbCBudWxsKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuYnV0dG9uIHtcblx0XHRcdFx0XHRcdCYuYnV0dG9uLS1iaWcge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUgKDI4cHgpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtdGFibGV0KSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnByb2R1Y3RfX2V4dHJhIHtcblx0XHRtYXJnaW46IDMwcHggMHB4O1xuXHRcdHVsIHtcblx0XHRcdG1hcmdpbjogMHB4O1xuXHRcdFx0bGkge1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMzgwcHg7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICggMTZweCApO1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRmaWd1cmUge1xuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdHdpZHRoOiAzNjVweDtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjUwO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDIwcHggMTVweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdGg0IHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDIwcHggMHB4O1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE1MHB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICggMTZweCApO1xuXHRcdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMTBweDtcblx0XHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Y2l0ZSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoIDI0cHggKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNXB4O1xuXHRcdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJHRleHQtY29sb3ItYmFzZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCY6aG92ZXIsICYuYWN0aXZlIHtcblx0XHRcdFx0XHRmaWd1cmUge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMS4wO1xuXHRcdFx0XHRcdFx0Ym94LXNoYWRvdzppbnNldCAwIDAgMCA0cHggIzVjYTM5YTtcblx0XHRcdFx0XHRcdC13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCA0cHggIzVjYTM5YTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnN1bW1hcnkge1x0XG5cdGJhY2tncm91bmQtY29sb3I6ICMzOTM5Mzk7XG5cdC5zdW1tYXJ5X19zaWRlYmFyIHtcblx0XHRoZ3JvdXAge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMyODI4Mjg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMjgyODI4O1xuXHRcdFx0bmF2IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzI4MjgyODtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnN1bW1hcnlfX2NvbnRlbnQge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGFydGljbGUge1xuXHRcdFx0cGFkZGluZzogMjBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0XHRjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdG1hcmdpbjogMHB4O1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0ZGlzcGxheTogdGFibGU7XHRcdFx0XHRcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjRweDtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUgKCAxNnB4ICk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGZpZ3VyZSB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDBweDtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwcHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAyMjBweDtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTgwcHg7XHRcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA4MHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjAlO1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoICgkd2lkdGgtYmFzZSkpIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDMpIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAoJHdpZHRoLWJhc2UpKSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDQpIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMTVweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjNTVhZGEyO1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC10YWJsZXQpIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDcwcHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDUpIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMTVweDtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMHB4O1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtdGFibGV0KSB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDBweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0YXNpZGUge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMjRweDtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRcdHdpZHRoOiAyMTFweDtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzU1YWRhMjtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUgKCAxNnB4ICk7XHRcdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHN0cm9uZyB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1x0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICggNDhweCApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0cGFkZGluZzogMTBweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0c2VjdGlvbiB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNDBweDtcblx0XHRcdGFzaWRlIHtcdFx0XHRcdFxuXHRcdFx0XHRwYWRkaW5nOiAxNnB4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcblx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICgxNnB4KTtcblx0XHRcdFx0LmJvcmRlciB7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDE4cHg7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdH1cblx0XHRcdFx0LnRlcm0ge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAzMjBweDtcblx0XHRcdFx0XHRpbnB1dCB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBwb3NpdGlvbiAoIGFic29sdXRlLCAwcHggbnVsbCBudWxsIDBweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUgKDE2cHgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LmJ1dHRvbiB7XG5cdFx0XHRcdCYuYnV0dG9uLS1iaWcge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoIDI4cHggKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoICgkd2lkdGgtYmFzZSkpIHtcblx0XHRcdFx0aDEge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoNDhweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNvY2lhbCB7XHRcblx0YmFja2dyb3VuZC1jb2xvcjogI2QyMjcyOTtcblx0LnNvY2lhbF9fc2lkZWJhciB7XG5cdFx0aGdyb3VwIHtcblx0XHRcdGEge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjOTMxYjFkO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzkzMWIxZDtcblx0XHRcdG5hdiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5MzFiMWQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zb2NpYWxfX2NvbnRlbnQge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdHNlY3Rpb24ge1xuXHRcdFx0bWFyZ2luOiAwcHggLThweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiA1MHB4O1xuXHRcdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdFx0XHRhc2lkZSB7XG5cdFx0XHRcdHdpZHRoOiAyNSU7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1x0XHRcdFx0XG5cdFx0XHRcdHBhZGRpbmc6IDhweDtcblx0XHRcdFx0YXJ0aWNsZSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMTZweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoIDE0cHggKTtcblx0XHRcdFx0XHRpbWcge1x0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmLmJpZyB7XG5cdFx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQjYnJpY2tzIHtcblx0XHRcdG5hdiB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHQuYnJpY2tzLWNvbnRlbnQge1xuXHRcdFx0XHQuYnJpY2sge1xuXHRcdFx0XHRcdGJvcmRlcjogMHB4O1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDAgMTZweCAwO1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjApO1xuXHRcdFx0XHRcdGhlYWRlciB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxNnB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0c2VjdGlvbiB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDBweDtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDE2cHg7XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRjb2xvcjogICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250LXNpemUgKCAxNHB4ICk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5zaGFyZS1wYW5lbCwgLnBhbmVsLCBmb290ZXIsIC5jb3VudHMge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnBhZ2VzIHtcdFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHQucGFnZXNfX3NpZGViYXIge1xuXHRcdGhncm91cCB7XG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lmxhbmdfc2VsX2xpc3RfaG9yaXpvbnRhbCB7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQtY29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XHRcblx0XHRcdH1cblx0XHR9XHRcdFx0XHRcblx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcblx0XHRcdG5hdiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5wYWdlc19fY29udGVudCB7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRoMSB7XG5cdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdH1cblx0XHRhcnRpY2xlIHtcdFx0XHRcblx0XHRcdG1hcmdpbjogMHB4IGF1dG87XG5cdFx0XHRtYXgtd2lkdGg6IDUwMHB4O1xuXHRcdFx0cGFkZGluZzogMzBweCAwcHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHRcdFx0XG5cdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0XHRcdGg0IHtcdFx0XHRcdFxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMjBweDtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGFzaWRlIHtcblx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0d2lkdGg6IDE0NHB4O1xuXHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1x0XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE1MHB4O1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZm9vdGVyIHsgXG5cdHBhZGRpbmctdG9wOiAzMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1x0XG5cdGFzaWRlIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMTVweDtcblx0XHQmLmZvb3Rlcl9fbG9nbyB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwcHg7XG5cdFx0XHRhIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmZvb3Rlcl9fYWRkcmVzcyB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHdpZHRoOiAyNTBweDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplICgxNnB4KTtcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcblx0XHRcdH1cblx0XHRcdHAge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuZm9vdGVyX19tZW51IHtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRtYXJnaW46IDBweCAyMTVweCAwcHggNTI1cHg7XHRcdFx0XG5cdFx0XHRuYXYge1xuXHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSAoMjRweCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMnB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMTE1cHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0XHRtYXJnaW46IDBweDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmZvb3Rlcl9fc29jaWFsIHtcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uIChhYnNvbHV0ZSwgMHB4IDE1cHggbnVsbCBudWxsKTtcblx0XHRcdG9sIHtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5mb290ZXJfX2NvcHlyaWdodCB7XG5cdFx0cGFkZGluZzogMTVweCAwcHg7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplICgxNnB4KTtcblx0XHRAaW5jbHVkZSBwb3NpdGlvbiAoYWJzb2x1dGUsIG51bGwgMTVweCAwcHggbnVsbCk7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHR9XHRcbn0iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRtYXBzLXotaW5kZXg6IDEwICFkZWZhdWx0O1xuJG1hcHMtaGVpZ2h0OiA0NjBweCAhZGVmYXVsdDtcblxuJG1hcHMtaW5mb2JveC1wYWRkaW5nOiAzMHB4ICFkZWZhdWx0O1xuJG1hcHMtaW5mb2JveC13aWR0aDogMjUwcHggIWRlZmF1bHQ7XG4kbWFwcy1pbmZvYm94LWJvcmRlci1yYWRpdXM6IDVweCAhZGVmYXVsdDtcbiRtYXBzLWluZm9ib3gtYmFja2dyb3VuZDogI2ZmZmZmZiAhZGVmYXVsdDtcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1hcHMge1xuXG5cdHotaW5kZXg6ICRtYXBzLXotaW5kZXg7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6ICRtYXBzLWhlaWdodDtcblx0QGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUpO1xuXG5cdC5tYXBzX19pbmZvYm94IHtcblxuXHRcdHdpZHRoOiAkbWFwcy1pbmZvYm94LXdpZHRoO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRtYXBzLWluZm9ib3gtYm9yZGVyLXJhZGl1cztcblx0XHRiYWNrZ3JvdW5kOiAkbWFwcy1pbmZvYm94LWJhY2tncm91bmQ7XG5cdFx0QGluY2x1ZGUgcGFkZGluZygkbWFwcy1pbmZvYm94LXBhZGRpbmcpO1xuXHRcdEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdEBpbmNsdWRlIGFycm93KDEwcHgsIGRvd24sICRtYXBzLWluZm9ib3gtYmFja2dyb3VuZCk7XG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIC0xMHB4IDIwcHgpO1xuXHRcdH1cblxuXHR9XG5cbn0iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLndwY2Y3IHtcblxuXHQud3BjZjctZGlzcGxheS1ub25lLFxuXHQuc2NyZWVuLXJlYWRlci1yZXNwb25zZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5hamF4LWxvYWRlciB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdEBpbmNsdWRlIG1hcmdpbigoKCAkaW5wdXQtaGVpZ2h0IC0gMTZweCApIC8gMikgMHB4IDBweCAxMHB4KTtcblx0fVxuXG5cdC53cGNmNy1ub3QtdmFsaWQtdGlwIHtcblx0XHRAZXh0ZW5kIGxhYmVsLmVycm9yO1xuXHR9XG5cblx0LndwY2Y3LW5vdC12YWxpZC10aXA6YmVmb3JlIHtcblx0XHRAZXh0ZW5kIGxhYmVsLmVycm9yOmJlZm9yZTtcblx0fVxuXG5cdGlucHV0LndwY2Y3LW5vdC12YWxpZCB7XG5cdFx0QGV4dGVuZCBpbnB1dC5lcnJvcjtcblx0fVxuXG5cdHNlbGVjdC53cGNmNy1ub3QtdmFsaWQge1xuXHRcdEBleHRlbmQgc2VsZWN0LmVycm9yO1xuXHR9XG5cblx0dGV4dGFyZWEud3BjZjctbm90LXZhbGlkIHtcblx0XHRAZXh0ZW5kIHRleHRhcmVhLmVycm9yO1xuXHR9XG5cblx0LndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG5cblx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLWluZm87XG5cdFx0QGluY2x1ZGUgbWFyZ2luKCRndXR0ZXItYmFzZSAwcHgpO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoMTBweCk7XG5cblx0XHQmLndwY2Y3LXZhbGlkYXRpb24tZXJyb3JzIHtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1lcnJvcjtcblx0XHR9XG5cblx0XHQmLndwY2Y3LW1haWwtc2VudC1vayB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3Itc3VjY2Vzcztcblx0XHR9XG5cblx0fVxuXG59IiwiLypcbiAqIGpRdWVyeSBGbGV4U2xpZGVyIHYyLjYuMFxuICogaHR0cDovL3d3dy53b290aGVtZXMuY29tL2ZsZXhzbGlkZXIvXG4gKlxuICogQ29weXJpZ2h0IDIwMTIgV29vVGhlbWVzXG4gKiBGcmVlIHRvIHVzZSB1bmRlciB0aGUgR1BMdjIgYW5kIGxhdGVyIGxpY2Vuc2UuXG4gKiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXG4gKlxuICogQ29udHJpYnV0aW5nIGF1dGhvcjogVHlsZXIgU21pdGggKEBtYm11ZmZmaW4pXG4gKlxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRk9OVC1GQUNFXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdmbGV4c2xpZGVyLWljb24nO1xuICBzcmM6IHVybCgnZm9udHMvZmxleHNsaWRlci1pY29uLmVvdCcpO1xuICBzcmM6IHVybCgnZm9udHMvZmxleHNsaWRlci1pY29uLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnZm9udHMvZmxleHNsaWRlci1pY29uLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCdmb250cy9mbGV4c2xpZGVyLWljb24udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJ2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi5zdmcjZmxleHNsaWRlci1pY29uJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJFU0VUU1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmZsZXgtY29udGFpbmVyIGE6aG92ZXIsXG4uZmxleC1zbGlkZXIgYTpob3ZlciB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uc2xpZGVzLFxuLnNsaWRlcyA+IGxpLFxuLmZsZXgtY29udHJvbC1uYXYsXG4uZmxleC1kaXJlY3Rpb24tbmF2IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLmZsZXgtcGF1c2VwbGF5IHNwYW4ge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCQVNFIFNUWUxFU1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmZsZXhzbGlkZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uZmxleHNsaWRlciAuc2xpZGVzID4gbGkge1xuICBkaXNwbGF5OiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5mbGV4c2xpZGVyIC5zbGlkZXMgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmZsZXhzbGlkZXIgLnNsaWRlczphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMDtcbiAgaGVpZ2h0OiAwO1xufVxuaHRtbFt4bWxuc10gLmZsZXhzbGlkZXIgLnNsaWRlcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuKiBodG1sIC5mbGV4c2xpZGVyIC5zbGlkZXMge1xuICBoZWlnaHQ6IDElO1xufVxuLm5vLWpzIC5mbGV4c2xpZGVyIC5zbGlkZXMgPiBsaTpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIERFRkFVTFQgVEhFTUVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5mbGV4c2xpZGVyIHtcbiAgbWFyZ2luOiAwIDAgNjBweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiA0cHggc29saWQgI2ZmZmZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6b29tOiAxO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAnJyAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAtbW96LWJveC1zaGFkb3c6ICcnIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC1vLWJveC1zaGFkb3c6ICcnIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJveC1zaGFkb3c6ICcnIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4uZmxleHNsaWRlciAuc2xpZGVzIHtcbiAgem9vbTogMTtcbn1cbi5mbGV4c2xpZGVyIC5zbGlkZXMgaW1nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xufVxuLmZsZXgtdmlld3BvcnQge1xuICBtYXgtaGVpZ2h0OiAyMDAwcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xufVxuLmxvYWRpbmcgLmZsZXgtdmlld3BvcnQge1xuICBtYXgtaGVpZ2h0OiAzMDBweDtcbn1cbi5jYXJvdXNlbCBsaSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuLmZsZXgtZGlyZWN0aW9uLW5hdiB7XG4gICpoZWlnaHQ6IDA7XG59XG4uZmxleC1kaXJlY3Rpb24tbmF2IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW46IC0yMHB4IDAgMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgei1pbmRleDogMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLmZsZXgtZGlyZWN0aW9uLW5hdiBhOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZsZXhzbGlkZXItaWNvblwiO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29udGVudDogJ1xcZjAwMSc7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xufVxuLmZsZXgtZGlyZWN0aW9uLW5hdiBhLmZsZXgtbmV4dDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDAyJztcbn1cbi5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtcHJldiB7XG4gIGxlZnQ6IC01MHB4O1xufVxuLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0IHtcbiAgcmlnaHQ6IC01MHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5mbGV4c2xpZGVyOmhvdmVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtcHJldiB7XG4gIG9wYWNpdHk6IDAuNztcbiAgbGVmdDogMTBweDtcbn1cbi5mbGV4c2xpZGVyOmhvdmVyIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtcHJldjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4uZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQge1xuICBvcGFjaXR5OiAwLjc7XG4gIHJpZ2h0OiAxMHB4O1xufVxuLmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0OmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwIWltcG9ydGFudDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHotaW5kZXg6IC0xO1xufVxuLmZsZXgtcGF1c2VwbGF5IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDVweDtcbiAgbGVmdDogMTBweDtcbiAgb3BhY2l0eTogMC44O1xuICB6LWluZGV4OiAxMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzAwMDtcbn1cbi5mbGV4LXBhdXNlcGxheSBhOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZsZXhzbGlkZXItaWNvblwiO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29udGVudDogJ1xcZjAwNCc7XG59XG4uZmxleC1wYXVzZXBsYXkgYTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4uZmxleC1wYXVzZXBsYXkgYS5mbGV4LXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwMyc7XG59XG4uZmxleC1jb250cm9sLW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mbGV4LWNvbnRyb2wtbmF2IGxpIHtcbiAgbWFyZ2luOiAwIDZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB6b29tOiAxO1xuICAqZGlzcGxheTogaW5saW5lO1xufVxuLmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYSB7XG4gIHdpZHRoOiAxMXB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjNjY2O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIC1vLWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG59XG4uZmxleC1jb250cm9sLXBhZ2luZyBsaSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xufVxuLmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYS5mbGV4LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLmZsZXgtY29udHJvbC10aHVtYnMge1xuICBtYXJnaW46IDVweCAwIDA7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZmxleC1jb250cm9sLXRodW1icyBsaSB7XG4gIHdpZHRoOiAyNSU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDA7XG59XG4uZmxleC1jb250cm9sLXRodW1icyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogLjc7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG59XG4uZmxleC1jb250cm9sLXRodW1icyBpbWc6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLmZsZXgtY29udHJvbC10aHVtYnMgLmZsZXgtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJFU1BPTlNJVkVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtcHJldiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBsZWZ0OiAxMHB4O1xuICB9XG4gIC5mbGV4LWRpcmVjdGlvbi1uYXYgLmZsZXgtbmV4dCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICByaWdodDogMTBweDtcbiAgfVxufVxuIiwiLy9cbi8vIEZsZXhzbGlkZXJcbi8vXG4vLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgSW1wb3J0c1xuLy8gIyBPdmVycmlkZXMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBJbXBvcnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0ICcuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZsZXhzbGlkZXIvZmxleHNsaWRlcic7XG5cbi8vICMgT3ZlcnJpZGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmxleHNsaWRlciB7XG5cdGJvcmRlcjogMHB4O1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgICAgXG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwwLDAsMC4wKTtcbiAgICAtby1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsMCwwLDAuMCk7ICAgIFxuICAgIC5zbGlkZXMge1xuXHQgICAgbWFyZ2luOiAwcHg7XG5cdCAgICA+IGxpIHtcblx0XHQgICAgbGlzdC1zdHlsZTogbm9uZTtcblx0XHQgICAgcCB7XG5cdFx0XHQgICAgbWFyZ2luLXRvcDogMTBweDtcblx0XHRcdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMzBweDtcblx0XHRcdFx0XHRjaXRlIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDNweCBudWxsIG51bGwgMHB4KTtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTJweDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMnB4O1x0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXBob25lKSB7XG5cdFx0XHRcdFx0XHRcdHRvcDogNHB4O1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogOHB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDhweDtcdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVx0XHQgICAgXG5cdFx0XHR9XG5cdFx0ICAgIGZpZ3VyZSB7XG5cdFx0XHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ICAgIGltZyB7XG5cdFx0XHRcdCAgICBkaXNwbGF5OiBibG9jaztcblx0XHRcdCAgICB9XG5cdFx0XHQgICAgc3BhbiB7XG5cdFx0XHRcdCAgICBjb2xvcjogI2ZmZjtcblx0XHRcdFx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHQgICAgcGFkZGluZzogNXB4IDEwcHg7XG5cdFx0XHRcdCAgICBiYWNrZ3JvdW5kOiByZ2JhKDg1LCAxNzMsIDE2MiwgMC44MCk7XG5cdFx0XHRcdCAgICBAaW5jbHVkZSBmb250LXNpemUgKCAxN3B4ICk7XG5cdFx0XHRcdCAgICBAaW5jbHVkZSBwb3NpdGlvbiAoYWJzb2x1dGUsIG51bGwgMHB4IDBweCAwcHgpO1xuXHRcdFx0ICAgIH1cblx0XHQgICAgfVxuXHQgICAgfVxuICAgIH1cbiAgICAmLnByb2R1Y3RfX3RodW1icyB7XG5cdCAgICBsaSB7XG5cdFx0ICAgIGEge1xuXHRcdFx0ICAgIGNvbG9yOiAjZmZmO1xuXHRcdFx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdCAgICBpbWcge1xuXHRcdFx0XHQgICAgb3BhY2l0eTogMC4yNTtcblx0XHRcdCAgICB9XG5cdFx0ICAgIH1cblx0XHQgICAgJi5mbGV4LWFjdGl2ZS1zbGlkZSB7XG5cdFx0XHQgICAgYSB7XHRcdFx0XHQgICAgXG5cdFx0XHRcdCAgICBpbWcge1xuXHRcdFx0XHRcdCAgICBvcGFjaXR5OiAxLjA7XG5cdFx0XHRcdCAgICB9XG5cdFx0XHQgICAgfVxuXHRcdCAgICB9XG5cdCAgICB9XG4gICAgfVxufSAgICAiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */