@import url("https://fonts.googleapis.com/css?family=Montserrat:400,500,600,700|Work+Sans:400,700|Lato:400,900");
:focus { outline: none; }

input, textarea, select { border-radius: 0; }

select::-ms-expand { display: none; }

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

img { display: block; }

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

figure { margin: 0; }

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

* { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; padding: 0; }

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

html, body { color: #000E2B; font-size: 18px; background-color: #0157FF; font-family: "Work Sans", sans-serif; line-height: 1.5; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; }

html h1, html h2, html h3, html h4, html h5, html h6, body h1, body h2, body h3, body h4, body h5, body h6 { font-family: "Montserrat", sans-serif; font-weight: 700; line-height: 1.1; color: inherit; margin-bottom: 10px; }

html h1, body h1 { font-size: 34px; }

@media only screen and (max-width: 991px) { html h1, body h1 { font-size: 30px; } }

@media only screen and (max-width: 767px) { html h1, body h1 { font-size: 20px; } }

html h2, body h2 { font-size: 30px; }

@media only screen and (max-width: 767px) { html h2, body h2 { font-size: 20px; } }

html h3, body h3 { font-size: 20px; }

@media only screen and (max-width: 991px) { html h3, body h3 { font-size: 18px; } }

html h4, body h4 { font-size: 20px; }

html h5, body h5 { font-size: 18px; }

html h6, body h6 { font-size: 16px; }

html p, body p { margin: 0 0 20px; }

html strong, html dfn, body strong, body dfn { font-weight: bold; }

html em, html dfn, body em, body dfn { font-style: italic; }

html sup, html sub, body sup, body sub { line-height: 0; }

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

a { color: #000; text-decoration: underline; -webkit-transition: color 0.35s ease-in-out, border-color 0.35s ease-in-out, background-color 0.35s ease-in-out; transition: color 0.35s ease-in-out, border-color 0.35s ease-in-out, background-color 0.35s ease-in-out; }

a:hover { color: #0157FF; text-decoration: none; }

img { height: auto; max-width: 100%; }

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

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

@media only screen and (max-width: 1180px) { .centered { padding-right: 20px; padding-left: 20px; } }

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

@media only screen and (max-width: 1045px) { .centered--sm { padding-right: 20px; padding-left: 20px; } }

.button, .wpcf7 button[type="submit"] { line-height: 1; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; text-align: center; white-space: nowrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; color: #fff; text-decoration: none; height: 52px; background: #0157FF; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-touch-action: manipulation; touch-action: manipulation; font-size: 20px; font-family: "Montserrat", sans-serif; font-weight: 600; border-radius: 0; border: 0 solid #2e6da4; -webkit-transition: color 0.35s ease-in-out, border-color 0.35s ease-in-out, background-color 0.35s ease-in-out; transition: color 0.35s ease-in-out, border-color 0.35s ease-in-out, background-color 0.35s ease-in-out; margin-bottom: 0; padding: 5px 19px; }

@media only screen and (max-width: 767px) { .button, .wpcf7 button[type="submit"] { height: 47px; font-size: 16px; } }

.button:hover, .wpcf7 button:hover[type="submit"], .button[type='submit']:hover, .wpcf7 button[type='submit']:hover[type="submit"], .button[type='reset']:hover, .wpcf7 button[type='reset']:hover[type="submit"], .button[type='button']:hover, .wpcf7 button[type='button']:hover[type="submit"], .button:focus, .wpcf7 button:focus[type="submit"], .button.is-focused, .wpcf7 button.is-focused[type="submit"] { color: #0157FF; text-decoration: none; -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.1); box-shadow: 0 0 15px rgba(0, 0, 0, 0.1); border-color: #286090; background-color: #fff; }

.button:active, .wpcf7 button:active[type="submit"], .button.is-active, .wpcf7 button.is-active[type="submit"] { background-image: none; }

.button:disabled, .wpcf7 button:disabled[type="submit"], .button.is-disabled, .wpcf7 button.is-disabled[type="submit"] { color: #999; background-color: #efefef; }

.button--link { border: 0; height: auto; font-weight: 600; line-height: normal; color: #000; background: transparent; padding: 0; }

.button--link:hover, .button--link[type='submit']:hover, .button--link[type='reset']:hover, .button--link[type='button']:hover, .button--link:focus, .button--link.is-focused { -webkit-box-shadow: none; box-shadow: none; background: transparent; color: #0157FF; }

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

.wpcf7 fieldset > *:last-child { margin-bottom: 0; }

.wpcf7 fieldset > p { margin-bottom: 20px; }

.wpcf7 fieldset > p::after { clear: both; content: ""; display: block; }

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

.wpcf7 label { display: block; font-size: inherit; font-weight: 400; color: #000E2B; margin-bottom: 10px; }

.wpcf7 label.is-radio, .wpcf7 label.is-checkbox { display: inline-block; height: 47px; line-height: 47px; font-size: 18px; font-weight: normal; margin: 0 10px 0 1px; }

.wpcf7 label.is-checkbox { margin: 0 10px; }

.wpcf7 label.is-error, .wpcf7 .wpcf7-not-valid-tip { clear: both; display: inline-block; font-weight: normal; font-size: 18px; color: #fff; border-radius: 3px; background: #d9534f; margin-top: 10px; padding: 5px 10px; position: relative; }

.wpcf7 label.is-error:before, .wpcf7 .wpcf7-not-valid-tip:before { display: block; content: ''; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 5px solid #d9534f; position: absolute; top: -5px; left: 10px; }

.wpcf7 input, .wpcf7 select, .wpcf7 textarea { display: block; width: 100%; max-width: 100%; height: 47px; font-family: "Work Sans", sans-serif; font-size: inherit; color: #000E2B; border: 2px solid #7F8694; border-radius: 0; background: #fff; padding: 5px 10px; }

@media only screen and (max-width: 767px) { .wpcf7 input, .wpcf7 select, .wpcf7 textarea { height: 40px; } }

.wpcf7 input::-webkit-input-placeholder, .wpcf7 select::-webkit-input-placeholder, .wpcf7 textarea::-webkit-input-placeholder { color: rgba(0, 14, 43, 0.5); }

.wpcf7 input::-ms-input-placeholder, .wpcf7 select::-ms-input-placeholder, .wpcf7 textarea::-ms-input-placeholder { color: rgba(0, 14, 43, 0.5); }

.wpcf7 input::placeholder, .wpcf7 select::placeholder, .wpcf7 textarea::placeholder { color: rgba(0, 14, 43, 0.5); }

.wpcf7 input:focus:not(:-moz-read-only):not([type='submit']):not([type='reset']):not([type='button']), .wpcf7 input .is-focused, .wpcf7 select:focus:not(:-moz-read-only):not([type='submit']):not([type='reset']):not([type='button']), .wpcf7 select .is-focused, .wpcf7 textarea:focus:not(:-moz-read-only):not([type='submit']):not([type='reset']):not([type='button']), .wpcf7 textarea .is-focused { border-color: #0157FF; }

.wpcf7 input:focus:not(:read-only):not([type='submit']):not([type='reset']):not([type='button']), .wpcf7 input .is-focused, .wpcf7 select:focus:not(:read-only):not([type='submit']):not([type='reset']):not([type='button']), .wpcf7 select .is-focused, .wpcf7 textarea:focus:not(:read-only):not([type='submit']):not([type='reset']):not([type='button']), .wpcf7 textarea .is-focused { border-color: #0157FF; }

.wpcf7 input.is-error, .wpcf7 input.wpcf7-not-valid, .wpcf7 select.is-error, .wpcf7 select.wpcf7-not-valid, .wpcf7 textarea.is-error, .wpcf7 textarea.wpcf7-not-valid { border-color: #D0021B; }

.wpcf7 input.wpcf7-not-valid, .wpcf7 select.wpcf7-not-valid, .wpcf7 textarea.wpcf7-not-valid { border-color: #D0021B; padding-right: 30px; background-image: url(../img/close.svg); background-position: calc(100% - 10px); background-repeat: no-repeat; background-size: 14px 14px; }

.wpcf7 input.is-success, .wpcf7 select.is-success, .wpcf7 textarea.is-success { background-image: url(../img/check.svg); background-position: calc(100% - 10px); background-repeat: no-repeat; background-size: 21px 20px; }

.wpcf7 input:disabled, .wpcf7 input.is-disabled, .wpcf7 select:disabled, .wpcf7 select.is-disabled, .wpcf7 textarea:disabled, .wpcf7 textarea.is-disabled { color: #999; background-color: #efefef; }

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

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

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

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

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

.wpcf7 textarea { resize: none; width: 100%; height: 150px; }

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

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

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

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

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

.wrapper { width: 100%; overflow: hidden; background-color: #fdfdfd !important; }

.projects ul li a, .websites ul li a { width: 100%; display: block; text-align: left; text-decoration: none; color: #000E2B; background: #fff; border-radius: 2px 2px 0 0; border-bottom: 2px solid #0157FF; margin-bottom: 30px; padding-right: 19px; padding-bottom: 37px; padding-left: 19px; position: relative; }

@media only screen and (max-width: 991px) { .projects ul li a, .websites ul li a { font-size: 16px; padding-right: 15px; padding-bottom: 30px; padding-left: 15px; } }

@media only screen and (max-width: 767px) { .projects ul li a, .websites ul li a { border-bottom: 0; -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.1); box-shadow: 0 0 15px rgba(0, 0, 0, 0.1); } }

.projects ul li a:after, .websites ul li a:after { content: ''; width: 40px; height: 40px; display: block; border-radius: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); background-color: #0157FF; position: absolute; top: calc(100% + 2px); right: 20px; background-image: url(../img/arrow.svg); background-position: center; background-repeat: no-repeat; background-size: 7px 10px; }

@media only screen and (max-width: 767px) { .projects ul li a:after, .websites ul li a:after { top: 100%; } }

.projects ul li a figure, .websites ul li a figure { margin-right: -19px; margin-bottom: 12px; margin-left: -19px; }

@media only screen and (max-width: 991px) { .projects ul li a figure, .websites ul li a figure { margin-right: -15px; margin-left: -15px; } }

.projects ul li a figure img, .websites ul li a figure img { width: 100%; border-radius: 2px 2px 0 0; }

.projects ul li a h3, .websites ul li a h3 { word-break: break-all; }

.projects ul li a p, .websites ul li a p { margin-bottom: 0; }

.content { padding-top: 78px; padding-bottom: 24px; position: relative; }

@media only screen and (max-width: 991px) { .content { padding-top: 30px; } }

@media only screen and (max-width: 767px) { .content { padding-top: 20px; padding-bottom: 10px; } }

.content:after { z-index: 1; content: ''; width: 66px; height: 146px; display: block; position: absolute; top: 65px; right: 7px; background-image: url(../img/blue-dots.svg); background-position: center; background-repeat: no-repeat; background-size: 100% 100%; }

@media only screen and (max-width: 1199px) { .content:after { display: none; } }

.content h1 { margin-bottom: 22px; }

@media only screen and (max-width: 767px) { .content h1 { margin-bottom: 10px; } }

.content article { max-width: 560px; }

.content form { margin-bottom: 30px; }

.content figure { padding-top: 34px; padding-bottom: 50px; }

@media only screen and (max-width: 991px) { .content figure { padding-top: 10px; padding-bottom: 10px; } }

@media only screen and (max-width: 767px) { .content figure { padding-top: 0; } }

.over-ons .content:after { display: none; }

.footer { width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background: #0157FF; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding-top: 28px; padding-bottom: 28px; }

@media only screen and (max-width: 575px) { .footer { padding-top: 15px; padding-bottom: 15px; } }

.footer__logo { width: 100%; display: block; max-width: 200px; text-decoration: none; }

@media only screen and (max-width: 767px) { .footer__logo { max-width: 100px; } }

@media only screen and (max-width: 575px) { .footer__logo { margin-right: auto; margin-left: auto; } }

.footer__logo img { width: 100%; }

@media only screen and (max-width: 575px) { .footer ul { width: 100%; text-align: center; padding-top: 5px; } }

.footer ul li { font-weight: 900; display: inline-block; color: #fff; font-family: "Lato", sans-serif; }

.footer ul li a { text-decoration: none; color: #fff; }

.footer ul li a:hover { color: #000E2B; }

.footer ul li + li:before { content: '- '; }

.header { z-index: 1; width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; font-family: "Montserrat", sans-serif; padding-top: 27px; padding-bottom: 27px; }

@media only screen and (max-width: 991px) { .header { padding-top: 15px; padding-bottom: 15px; } }

.header__logo { width: 100%; display: block; max-width: 200px; text-decoration: none; }

@media only screen and (max-width: 767px) { .header__logo { max-width: 100px; } }

.header__logo img { width: 100%; }

.header__logo img:last-of-type { display: none; }

.header__logo img:first-of-type { display: block; }

@media only screen and (min-width: 992px) { .home .header__logo img:last-of-type { display: block; } }

@media only screen and (min-width: 992px) { .home .header__logo img:first-of-type { display: none; } }

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

.header__menu > nav > ul > li { margin-right: 34px; margin-left: 6px; }

@media only screen and (max-width: 1199px) { .header__menu > nav > ul > li { margin-right: 0; margin-left: 30px; } }

.header__menu > nav > ul > li > a { font-size: 20px; font-weight: 500; text-decoration: none; color: #000; }

.header__menu > nav > ul > li.is-active > a, .header__menu > nav > ul > li:hover > a { color: #0157FF; }

.header__toggle { width: 23px; height: 16px; float: right; display: none; cursor: pointer; position: relative; }

@media only screen and (max-width: 767px) { .header__toggle { display: block; } }

.header__toggle span { width: 100%; height: 2.5px; display: block; text-indent: -9999px; background: #0157FF; -webkit-transform: translateY(-50%); transform: translateY(-50%); -webkit-transition: background 0.35s ease-in-out; transition: background 0.35s ease-in-out; position: absolute; top: 50%; left: 0; }

.header__toggle span:before, .header__toggle span:after { width: 100%; height: 2.5px; content: ''; display: block; background: #0157FF; -webkit-transition: background 0.35s ease-in-out; transition: background 0.35s ease-in-out; position: absolute; left: 0; }

.header__toggle span:before { top: -7px; }

.header__toggle span:after { bottom: -7px; }

.mm-opened .header__toggle span { background: none; }

.mm-opened .header__toggle span:before { top: 0; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

.mm-opened .header__toggle span:after { bottom: 0; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

.header ul li { display: inline-block; }

.home .header { width: 100%; position: absolute; top: 0; left: 0; }

@media only screen and (max-width: 991px) { .home .header { position: static; } }

.intro { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; position: relative; }

@media only screen and (max-width: 991px) { .intro { padding-right: 20px; padding-left: 20px; } }

.intro:before { z-index: 1; content: ''; width: 66px; height: 146px; display: block; position: absolute; top: 295px; left: 7px; background-image: url(../img/white-dots.svg); background-position: center; background-repeat: no-repeat; background-size: 100% 100%; }

@media only screen and (max-width: 991px) { .intro:before { display: none; } }

.intro:after { z-index: 1; content: ''; width: 66px; height: 146px; display: block; position: absolute; top: 97px; right: 7px; background-image: url(../img/blue-dots.svg); background-position: center; background-repeat: no-repeat; background-size: 100% 100%; }

@media only screen and (max-width: 1199px) { .intro:after { display: none; } }

.intro figure { width: 50%; background-size: cover; background-repeat: no-repeat; background-position: center center; position: relative; }

@media only screen and (max-width: 991px) { .intro figure { width: calc(100% + 40px); margin-right: -20px; margin-left: -20px; } }

.intro figure:after { z-index: 1; content: ''; width: 146px; height: 146px; display: block; position: absolute; bottom: 42px; left: calc(100% - 95px); background-image: url(../img/white-blue-dots.svg); background-position: center; background-repeat: no-repeat; background-size: 100% 100%; }

@media only screen and (max-width: 991px) { .intro figure:after { display: none; } }

.intro figure:before { content: ''; display: block; mix-blend-mode: hard-light; background: #0157FF; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }

@media all and (-ms-high-contrast: none) { .intro figure:before { opacity: 0.8; } }

@supports (-ms-ime-align: auto) { .intro figure:before { opacity: 0.8; } }

.intro figure img { opacity: 0; }

@media only screen and (max-width: 991px) { .intro figure img { max-height: 400px; } }

@media only screen and (max-width: 767px) { .intro figure img { max-height: 300px; } }

.intro article { width: 50%; -ms-flex-item-align: center; align-self: center; position: relative; padding: 93px calc((100% - 1080px) / 2) 50px 82px; }

@media only screen and (max-width: 1220px) { .intro article { padding-right: 20px; } }

@media only screen and (max-width: 991px) { .intro article { width: 100%; background: #FDFDFD; padding: 20px; margin-top: -80px; } }

@media only screen and (max-width: 767px) { .intro article { padding-right: 15px; padding-left: 15px; margin-top: -55px; } }

.intro article h1 { margin-bottom: 42px; }

@media only screen and (max-width: 991px) { .intro article h1 { margin-bottom: 20px; } }

@media only screen and (max-width: 767px) { .intro article h1 { margin-bottom: 10px; } }

.intro article p { margin-bottom: 44px; }

@media only screen and (max-width: 767px) { .intro article p { margin-bottom: 20px; } }

@media only screen and (max-width: 991px) { .intro article p:last-of-type { margin-bottom: 10px; } }

.project { padding-top: 75px; padding-bottom: 50px; }

@media only screen and (max-width: 991px) { .project { padding-top: 30px; padding-bottom: 20px; } }

@media only screen and (max-width: 767px) { .project { padding-top: 0; } }

.project__detail { z-index: 1; max-width: 517px; color: #fff; background: #0157FF; padding: 40px 30px 35px; margin-top: -112px; position: relative; }

@media only screen and (max-width: 767px) { .project__detail { margin-top: -50px; } }

@media only screen and (max-width: 575px) { .project__detail { max-width: 100%; padding: 20px; margin-top: 0; } }

.project__detail h2 { margin-bottom: 22px; }

@media only screen and (max-width: 575px) { .project__detail h2 { margin-bottom: 10px; } }

.project__detail p { margin-bottom: 0; }

.project__content { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.project__content article { width: 51.5%; padding-top: 178px; padding-right: 30px; }

@media only screen and (max-width: 991px) { .project__content article { padding-top: 100px; padding-right: 25px; } }

@media only screen and (max-width: 767px) { .project__content article { width: 100%; padding-top: 20px; padding-right: 0; } }

.project__content article p { margin-bottom: 42px; }

@media only screen and (max-width: 767px) { .project__content article p { margin-bottom: 20px; } }

.project__content article p:last-of-type { margin-bottom: 20px; }

.project__content figure { width: 48.5%; position: relative; }

@media only screen and (max-width: 767px) { .project__content figure { width: 100%; padding-top: 20px; } }

.project__content figure:after { z-index: 1; content: ''; width: 55px; height: 146px; display: block; position: absolute; bottom: 53px; left: 100%; background-image: url(../img/blue-dots.svg); background-position: right; background-repeat: no-repeat; background-size: 66px 100%; }

@media only screen and (max-width: 1199px) { .project__content figure:after { display: none; } }

.projects { padding-bottom: 60px; }

@media only screen and (max-width: 767px) { .projects { padding-bottom: 20px; } }

.projects ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-right: -15px; margin-left: -15px; }

@media only screen and (max-width: 991px) { .projects ul { margin-right: -10px; margin-left: -10px; } }

.projects ul li { width: 33.3%; display: -webkit-box; display: -ms-flexbox; display: flex; padding-right: 15px; padding-left: 15px; margin-bottom: 10px; }

@media only screen and (max-width: 991px) { .projects ul li { padding-right: 10px; padding-left: 10px; } }

@media only screen and (max-width: 767px) { .projects ul li { width: 50%; } }

@media only screen and (max-width: 575px) { .projects ul li { width: 100%; } }

.stats { padding-top: 38px; padding-bottom: 102px; }

@media only screen and (max-width: 991px) { .stats { padding-top: 38px; padding-bottom: 38px; } }

@media only screen and (max-width: 575px) { .stats { padding-top: 10px; padding-bottom: 20px; } }

.stats ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-right: -15px; margin-left: -34px; }

@media only screen and (max-width: 991px) { .stats ul { margin-right: -15px; margin-left: -15px; } }

.stats ul li { width: 33.3%; text-align: center; padding: 15px; }

@media only screen and (max-width: 575px) { .stats ul li { width: 100%; } }

.stats ul li h3 { margin-bottom: 20px; }

@media only screen and (max-width: 575px) { .stats ul li h3 { margin-bottom: 10px; } }

.stats ul li p { line-height: 1; font-size: 80px; font-weight: 700; color: #0157FF; font-family: "Montserrat", sans-serif; }

@media only screen and (max-width: 991px) { .stats ul li p { font-size: 60px; } }

@media only screen and (max-width: 767px) { .stats ul li p { font-size: 40px; } }

@media only screen and (max-width: 575px) { .stats ul li p { margin-bottom: 0; } }

.websites { text-align: center; padding-top: 102px; padding-bottom: 145px; }

@media only screen and (max-width: 991px) { .websites { padding-top: 50px; padding-bottom: 50px; } }

.websites h2 { margin-bottom: 22px; }

@media only screen and (max-width: 767px) { .websites h2 { margin-bottom: 10px; } }

.websites article { max-width: 560px; text-align: left; margin-bottom: 50px; }

@media only screen and (max-width: 767px) { .websites article { margin-bottom: 10px; } }

.websites ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-right: -15px; margin-left: -15px; }

@media only screen and (max-width: 991px) { .websites ul { margin-right: -10px; margin-left: -10px; } }

.websites ul li { width: 33.3%; display: -webkit-box; display: -ms-flexbox; display: flex; padding-right: 15px; padding-left: 15px; margin-bottom: 60px; }

@media only screen and (max-width: 991px) { .websites ul li { padding-right: 10px; padding-left: 10px; } }

@media only screen and (max-width: 767px) { .websites ul li { width: 50%; margin-bottom: 20px; } }

@media only screen and (max-width: 575px) { .websites ul li { width: 100%; } }

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

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

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

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

.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok { background: #74ad58; }

/* jQuery.mmenu oncanvas CSS */
.mm-hidden { display: none !important; }

.mm-wrapper { overflow-x: hidden; position: relative; }

.mm-menu { -webkit-box-sizing: border-box; box-sizing: border-box; background: inherit; display: block; padding: 0; margin: 0; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 0; }

.mm-panels, .mm-panels > .mm-panel { background: inherit; border-color: inherit; -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 0; }

.mm-panels { overflow: hidden; }

.mm-panel { -webkit-transform: translate(100%, 0); transform: translate(100%, 0); -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); -webkit-transition: -webkit-transform 0.4s ease; transition: -webkit-transform 0.4s ease; transition: transform 0.4s ease; transition: transform 0.4s ease, -webkit-transform 0.4s ease; -webkit-transform-origin: top left; transform-origin: top left; }

.mm-panel.mm-opened { -webkit-transform: translate(0%, 0); transform: translate(0%, 0); -webkit-transform: translate3d(0%, 0, 0); transform: translate3d(0%, 0, 0); }

.mm-panel.mm-subopened { -webkit-transform: translate(-30%, 0); transform: translate(-30%, 0); -webkit-transform: translate3d(-30%, 0, 0); transform: translate3d(-30%, 0, 0); }

.mm-panel.mm-highest { z-index: 1; }

.mm-panel.mm-noanimation { -webkit-transition: none !important; transition: none !important; }

.mm-panel.mm-noanimation.mm-subopened { -webkit-transform: translate(0, 0); transform: translate(0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.mm-panels > .mm-panel { -webkit-overflow-scrolling: touch; overflow: scroll; overflow-x: hidden; overflow-y: auto; padding: 0 20px; }

.mm-panels > .mm-panel.mm-hasnavbar { padding-top: 40px; }

.mm-panels > .mm-panel:not(.mm-hidden) { display: block; }

.mm-panels > .mm-panel:before, .mm-panels > .mm-panel:after { content: ''; display: block; height: 20px; }

.mm-vertical .mm-panel { -webkit-transform: none !important; transform: none !important; }

.mm-vertical .mm-listview .mm-panel, .mm-listview .mm-vertical .mm-panel { display: none; padding: 10px 0 10px 10px; }

.mm-vertical .mm-listview .mm-panel .mm-listview > li:last-child:after, .mm-listview .mm-vertical .mm-panel .mm-listview > li:last-child:after { border-color: transparent; }

.mm-vertical li.mm-opened > .mm-panel, li.mm-vertical.mm-opened > .mm-panel { display: block; }

.mm-vertical .mm-listview > li > .mm-next, .mm-listview > li.mm-vertical > .mm-next { -webkit-box-sizing: border-box; box-sizing: border-box; height: 40px; bottom: auto; }

.mm-vertical .mm-listview > li.mm-opened > .mm-next:after, .mm-listview > li.mm-vertical.mm-opened > .mm-next:after { -webkit-transform: rotate(225deg); transform: rotate(225deg); right: 19px; }

.mm-btn { -webkit-box-sizing: border-box; box-sizing: border-box; width: 40px; height: 40px; position: absolute; top: 0; z-index: 1; }

.mm-clear:before, .mm-clear:after, .mm-close:before, .mm-close:after { content: ''; border: 2px solid transparent; display: block; width: 5px; height: 5px; margin: auto; position: absolute; top: 0; bottom: 0; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

.mm-clear:before, .mm-close:before { border-right: none; border-bottom: none; right: 18px; }

.mm-clear:after, .mm-close:after { border-left: none; border-top: none; right: 25px; }

.mm-prev:before, .mm-next:after { content: ''; border-top: 2px solid transparent; border-left: 2px solid transparent; display: block; width: 8px; height: 8px; margin: auto; position: absolute; top: 0; bottom: 0; }

.mm-prev:before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); left: 23px; right: auto; }

.mm-next:after { -webkit-transform: rotate(135deg); transform: rotate(135deg); right: 23px; left: auto; }

.mm-navbar { border-bottom: 1px solid; border-color: inherit; text-align: center; line-height: 20px; height: 40px; padding: 0 40px; margin: 0; position: absolute; top: 0; left: 0; right: 0; }

.mm-navbar > * { display: block; padding: 10px 0; }

.mm-navbar a, .mm-navbar a:hover { text-decoration: none; }

.mm-navbar .mm-title { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }

.mm-navbar .mm-btn:first-child { left: 0; }

.mm-navbar .mm-btn:last-child { text-align: right; right: 0; }

.mm-panel .mm-navbar { display: none; }

.mm-panel.mm-hasnavbar .mm-navbar { display: block; }

.mm-listview, .mm-listview > li { list-style: none; display: block; padding: 0; margin: 0; }

.mm-listview { font: inherit; font-size: 16px; line-height: 20px; }

.mm-listview a, .mm-listview a:hover { text-decoration: none; }

.mm-listview > li { position: relative; }

.mm-listview > li, .mm-listview > li:after, .mm-listview > li .mm-next, .mm-listview > li .mm-next:before { border-color: inherit; }

.mm-listview > li > a, .mm-listview > li > span { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; color: inherit; display: block; padding: 10px 10px 10px 20px; margin: 0; }

.mm-listview > li:not(.mm-divider):after { content: ''; border-bottom-width: 1px; border-bottom-style: solid; display: block; position: absolute; left: 0; right: 0; bottom: 0; }

.mm-listview > li:not(.mm-divider):after { left: 20px; }

.mm-listview .mm-next { background: rgba(3, 2, 1, 0); width: 50px; padding: 0; position: absolute; right: 0; top: 0; bottom: 0; z-index: 2; }

.mm-listview .mm-next:before { content: ''; border-left-width: 1px; border-left-style: solid; display: block; position: absolute; top: 0; bottom: 0; left: 0; }

.mm-listview .mm-next + a, .mm-listview .mm-next + span { margin-right: 50px; }

.mm-listview .mm-next.mm-fullsubopen { width: 100%; }

.mm-listview .mm-next.mm-fullsubopen:before { border-left: none; }

.mm-listview .mm-next.mm-fullsubopen + a, .mm-listview .mm-next.mm-fullsubopen + span { padding-right: 50px; margin-right: 0; }

.mm-panels > .mm-panel > .mm-listview { margin: 20px -20px; }

.mm-panels > .mm-panel > .mm-listview:first-child, .mm-panels > .mm-panel > .mm-navbar + .mm-listview { margin-top: -20px; }

.mm-menu { background: #004bdc; border-color: rgba(255, 255, 255, 0.4); color: rgba(255, 255, 255, 0.99); }

.mm-menu .mm-navbar > *, .mm-menu .mm-navbar a { color: rgba(0, 0, 0, 0.3); }

.mm-menu .mm-btn:before, .mm-menu .mm-btn:after { border-color: rgba(0, 0, 0, 0.3); }

.mm-menu .mm-listview { border-color: rgba(255, 255, 255, 0.4); }

.mm-menu .mm-listview > li .mm-next:after { border-color: rgba(255, 255, 255, 0.3); }

.mm-menu .mm-listview > li a:not(.mm-next) { -webkit-tap-highlight-color: rgba(255, 255, 255, 0.5); tap-highlight-color: rgba(255, 255, 255, 0.5); }

.mm-menu .mm-listview > li.mm-selected > a:not(.mm-next), .mm-menu .mm-listview > li.mm-selected > span { background: rgba(255, 255, 255, 0.5); }

.mm-menu.mm-vertical .mm-listview > li.mm-opened > a.mm-next, .mm-menu.mm-vertical .mm-listview > li.mm-opened > .mm-panel, .mm-menu .mm-listview > li.mm-opened.mm-vertical > a.mm-next, .mm-menu .mm-listview > li.mm-opened.mm-vertical > .mm-panel { background: rgba(255, 255, 255, 0.05); }

.mm-menu .mm-divider { background: rgba(255, 255, 255, 0.05); }

/* jQuery.mmenu offCanvas addon CSS */
.mm-page { -webkit-box-sizing: border-box; box-sizing: border-box; position: relative; }

.mm-slideout { -webkit-transition: -webkit-transform 0.4s ease; transition: -webkit-transform 0.4s ease; transition: transform 0.4s ease; transition: transform 0.4s ease, -webkit-transform 0.4s ease; z-index: 1; }

html.mm-opened { overflow-x: hidden; position: relative; }

html.mm-blocking { overflow: hidden; }

html.mm-blocking body { overflow: hidden; }

html.mm-background .mm-page { background: inherit; }

#mm-blocker { background: rgba(3, 2, 1, 0); display: none; width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 2; }

html.mm-blocking #mm-blocker { display: block; }

.mm-menu.mm-offcanvas { z-index: 0; display: none; position: fixed; }

.mm-menu.mm-offcanvas.mm-opened { display: block; }

.mm-menu.mm-offcanvas.mm-no-csstransforms.mm-opened { z-index: 10; }

.mm-menu.mm-offcanvas { width: 80%; min-width: 140px; max-width: 440px; }

html.mm-opening .mm-menu.mm-opened ~ .mm-slideout { -webkit-transform: translate(80%, 0); transform: translate(80%, 0); -webkit-transform: translate3d(80%, 0, 0); transform: translate3d(80%, 0, 0); }

@media all and (max-width: 175px) { html.mm-opening .mm-menu.mm-opened ~ .mm-slideout { -webkit-transform: translate(140px, 0); transform: translate(140px, 0); -webkit-transform: translate3d(140px, 0, 0); transform: translate3d(140px, 0, 0); } }

@media all and (min-width: 550px) { html.mm-opening .mm-menu.mm-opened ~ .mm-slideout { -webkit-transform: translate(440px, 0); transform: translate(440px, 0); -webkit-transform: translate3d(440px, 0, 0); transform: translate3d(440px, 0, 0); } }

/* jQuery.mmenu effects extension CSS */
.mm-menu.mm-fx-menu-zoom { -webkit-transition: -webkit-transform 0.4s ease; transition: -webkit-transform 0.4s ease; transition: transform 0.4s ease; transition: transform 0.4s ease, -webkit-transform 0.4s ease; }

html.mm-opened .mm-menu.mm-fx-menu-zoom { -webkit-transform: scale(0.7, 0.7) translate3d(-30%, 0, 0); transform: scale(0.7, 0.7) translate3d(-30%, 0, 0); -webkit-transform-origin: left center; transform-origin: left center; }

html.mm-opening .mm-menu.mm-fx-menu-zoom { -webkit-transform: scale(1, 1) translate3d(0%, 0, 0); transform: scale(1, 1) translate3d(0%, 0, 0); }

html.mm-right.mm-opened .mm-menu.mm-fx-menu-zoom { -webkit-transform: scale(0.7, 0.7) translate3d(30%, 0, 0); transform: scale(0.7, 0.7) translate3d(30%, 0, 0); -webkit-transform-origin: right center; transform-origin: right center; }

html.mm-right.mm-opening .mm-menu.mm-fx-menu-zoom { -webkit-transform: scale(1, 1) translate3d(0%, 0, 0); transform: scale(1, 1) translate3d(0%, 0, 0); }

.mm-menu.mm-fx-menu-slide { -webkit-transition: -webkit-transform 0.4s ease; transition: -webkit-transform 0.4s ease; transition: transform 0.4s ease; transition: transform 0.4s ease, -webkit-transform 0.4s ease; }

html.mm-opened .mm-menu.mm-fx-menu-slide { -webkit-transform: translate(-30%, 0); transform: translate(-30%, 0); -webkit-transform: translate3d(-30%, 0, 0); transform: translate3d(-30%, 0, 0); }

html.mm-opening .mm-menu.mm-fx-menu-slide { -webkit-transform: translate(0%, 0); transform: translate(0%, 0); -webkit-transform: translate3d(0%, 0, 0); transform: translate3d(0%, 0, 0); }

html.mm-right.mm-opened .mm-menu.mm-fx-menu-slide { -webkit-transform: translate(30%, 0); transform: translate(30%, 0); -webkit-transform: translate3d(30%, 0, 0); transform: translate3d(30%, 0, 0); }

html.mm-right.mm-opening .mm-menu.mm-fx-menu-slide { -webkit-transform: translate(0%, 0); transform: translate(0%, 0); -webkit-transform: translate3d(0%, 0, 0); transform: translate3d(0%, 0, 0); }

.mm-menu.mm-fx-menu-fade { opacity: 0; -webkit-transition: opacity 0.4s ease; transition: opacity 0.4s ease; }

html.mm-opening .mm-menu.mm-fx-menu-fade { opacity: 1; }

.mm-menu.mm-fx-panels-none .mm-panel, .mm-menu .mm-fx-panels-none.mm-panel { -webkit-transition-property: none; transition-property: none; }

.mm-menu.mm-fx-panels-none .mm-panel.mm-subopened, .mm-menu .mm-fx-panels-none.mm-panel.mm-subopened { -webkit-transform: translate(0, 0); transform: translate(0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.mm-menu.mm-fx-panels-zoom .mm-panel, .mm-menu .mm-fx-panels-zoom.mm-panel { -webkit-transform-origin: left center; transform-origin: left center; -webkit-transform: scale(1.5, 1.5) translate3d(100%, 0, 0); transform: scale(1.5, 1.5) translate3d(100%, 0, 0); }

.mm-menu.mm-fx-panels-zoom .mm-panel.mm-opened, .mm-menu .mm-fx-panels-zoom.mm-panel.mm-opened { -webkit-transform: scale(1, 1) translate3d(0%, 0, 0); transform: scale(1, 1) translate3d(0%, 0, 0); }

.mm-menu.mm-fx-panels-zoom .mm-panel.mm-subopened, .mm-menu .mm-fx-panels-zoom.mm-panel.mm-subopened { -webkit-transform: scale(0.7, 0.7) translate3d(-30%, 0, 0); transform: scale(0.7, 0.7) translate3d(-30%, 0, 0); }

.mm-menu.mm-fx-panels-slide-0 .mm-panel.mm-subopened, .mm-menu .mm-fx-panels-slide-0.mm-panel.mm-subopened { -webkit-transform: translate(0, 0); transform: translate(0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.mm-menu.mm-fx-panels-slide-100 .mm-panel.mm-subopened, .mm-menu .mm-fx-panels-slide-100.mm-panel.mm-subopened { -webkit-transform: translate(-100%, 0); transform: translate(-100%, 0); -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }

.mm-menu.mm-fx-panels-slide-up .mm-panel, .mm-menu .mm-fx-panels-slide-up.mm-panel { -webkit-transform: translate(0, 100%); transform: translate(0, 100%); -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); }

.mm-menu.mm-fx-panels-slide-up .mm-panel.mm-opened, .mm-menu .mm-fx-panels-slide-up.mm-panel.mm-opened { -webkit-transform: translate(0, 0); transform: translate(0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.mm-menu.mm-fx-panels-slide-up .mm-panel.mm-subopened, .mm-menu .mm-fx-panels-slide-up.mm-panel.mm-subopened { -webkit-transform: translate(0, 0%); transform: translate(0, 0%); -webkit-transform: translate3d(0, 0%, 0); transform: translate3d(0, 0%, 0); }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li { -webkit-transition: none 0.4s ease; transition: none 0.4s ease; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(1) { -webkit-transition-delay: 50ms; transition-delay: 50ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(2) { -webkit-transition-delay: 100ms; transition-delay: 100ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(3) { -webkit-transition-delay: 150ms; transition-delay: 150ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(4) { -webkit-transition-delay: 200ms; transition-delay: 200ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(5) { -webkit-transition-delay: 250ms; transition-delay: 250ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(6) { -webkit-transition-delay: 300ms; transition-delay: 300ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(7) { -webkit-transition-delay: 350ms; transition-delay: 350ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(8) { -webkit-transition-delay: 400ms; transition-delay: 400ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(9) { -webkit-transition-delay: 450ms; transition-delay: 450ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(10) { -webkit-transition-delay: 500ms; transition-delay: 500ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(11) { -webkit-transition-delay: 550ms; transition-delay: 550ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(12) { -webkit-transition-delay: 600ms; transition-delay: 600ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(13) { -webkit-transition-delay: 650ms; transition-delay: 650ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(14) { -webkit-transition-delay: 700ms; transition-delay: 700ms; }

.mm-menu[class*="mm-fx-listitems-"] .mm-listview > li:nth-child(15) { -webkit-transition-delay: 750ms; transition-delay: 750ms; }

.mm-menu.mm-fx-listitems-slide .mm-listview > li { -webkit-transition-property: opacity, -webkit-transform; transition-property: opacity, -webkit-transform; transition-property: transform, opacity; transition-property: transform, opacity, -webkit-transform; -webkit-transform: translate(50%, 0); transform: translate(50%, 0); -webkit-transform: translate3d(50%, 0, 0); transform: translate3d(50%, 0, 0); opacity: 0; }

html.mm-opening .mm-menu.mm-fx-listitems-slide .mm-panel.mm-opened .mm-listview > li { -webkit-transform: translate(0, 0); transform: translate(0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); opacity: 1; }

.mm-menu.mm-fx-listitems-fade .mm-listview > li { -webkit-transition-property: opacity; transition-property: opacity; opacity: 0; }

html.mm-opening .mm-menu.mm-fx-listitems-fade .mm-panel.mm-opened .mm-listview > li { opacity: 1; }

.mm-menu.mm-fx-listitems-drop .mm-listview > li { -webkit-transition-property: opacity, top; transition-property: opacity, top; opacity: 0; top: -25%; }

html.mm-opening .mm-menu.mm-fx-listitems-drop .mm-panel.mm-opened .mm-listview > li { opacity: 1; top: 0; }

/* jQuery.mmenu position extension CSS */
.mm-menu.mm-offcanvas.mm-right { left: auto; }

html.mm-right.mm-opening .mm-menu.mm-opened ~ .mm-slideout { -webkit-transform: translate(-80%, 0); transform: translate(-80%, 0); -webkit-transform: translate3d(-80%, 0, 0); transform: translate3d(-80%, 0, 0); }

@media all and (max-width: 175px) { html.mm-right.mm-opening .mm-menu.mm-opened ~ .mm-slideout { -webkit-transform: translate(-140px, 0); transform: translate(-140px, 0); -webkit-transform: translate3d(-140px, 0, 0); transform: translate3d(-140px, 0, 0); } }

@media all and (min-width: 550px) { html.mm-right.mm-opening .mm-menu.mm-opened ~ .mm-slideout { -webkit-transform: translate(-440px, 0); transform: translate(-440px, 0); -webkit-transform: translate3d(-440px, 0, 0); transform: translate3d(-440px, 0, 0); } }

/* jQuery.mmenu z-position extension CSS */
html.mm-front .mm-slideout { -webkit-transform: none !important; transform: none !important; z-index: 0; }

html.mm-front #mm-blocker { z-index: 1; }

html.mm-front .mm-menu.mm-offcanvas { z-index: 2; }

.mm-menu.mm-offcanvas.mm-front, .mm-menu.mm-offcanvas.mm-next { -webkit-transition: -webkit-transform 0.4s ease; transition: -webkit-transform 0.4s ease; transition: transform 0.4s ease; transition: transform 0.4s ease, -webkit-transform 0.4s ease; -webkit-transform: translate(-100%, 0); transform: translate(-100%, 0); -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }

.mm-menu.mm-offcanvas.mm-front.mm-right, .mm-menu.mm-offcanvas.mm-next.mm-right { -webkit-transform: translate(100%, 0); transform: translate(100%, 0); -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }

.mm-menu.mm-offcanvas.mm-top { -webkit-transform: translate(0, -100%); transform: translate(0, -100%); -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); }

.mm-menu.mm-offcanvas.mm-bottom { -webkit-transform: translate(0, 100%); transform: translate(0, 100%); -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); }

.mm-menu.mm-offcanvas.mm-top, .mm-menu.mm-offcanvas.mm-bottom { width: 100%; min-width: 100%; max-width: 100%; }

.mm-menu.mm-offcanvas.mm-bottom { top: auto; }

html.mm-opening .mm-menu.mm-offcanvas.mm-front, html.mm-opening .mm-menu.mm-offcanvas.mm-next { -webkit-transform: translate(0, 0); transform: translate(0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.mm-menu.mm-offcanvas.mm-top, .mm-menu.mm-offcanvas.mm-bottom { height: 80%; min-height: 140px; max-height: 880px; }

.mm-menu .mm-navbar > a, .mm-menu .mm-navbar > * { color: #fff; }

.mm-menu .mm-sronly { display: none; }

.mm-menu .mm-btn:before { border-color: rgba(255, 255, 255, 0.4); }

.mm-menu .mm-listview li.is-active, .mm-menu .mm-listview li.mm-selected, .mm-menu .mm-listview li.current-menu-ancestor, .mm-menu .mm-listview li.current-menu-item { background: #000; }

.mm-menu .mm-listview li.is-active a, .mm-menu .mm-listview li.mm-selected a, .mm-menu .mm-listview li.current-menu-ancestor a, .mm-menu .mm-listview li.current-menu-item a { background: #000 !important; }

.mm-menu .mm-listview li.is-active:after, .mm-menu .mm-listview li.mm-selected:after, .mm-menu .mm-listview li.current-menu-ancestor:after, .mm-menu .mm-listview li.current-menu-item:after { border-color: #000; }



/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vdXRpbGl0aWVzL19kaXJlY3Rpb25hbC1wcm9wZXJ0eS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vY29yZS9ib3VyYm9uL3V0aWxpdGllcy9fY29tcGFjdC1zaG9ydGhhbmQuc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsImhlbHBlcnMvX3R5cG9ncmFwaHkuc2NzcyIsIm1peGlucy9fbWVkaWEuc2NzcyIsIm1peGlucy9fY2xlYXJmaXguc2NzcyIsImJhc2UvX2J1dHRvbnMuc2NzcyIsImJhc2UvX2Zvcm0uc2NzcyIsIm1peGlucy9fbm8tZ3V0dGVyLWxhc3QtY2hpbGQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2NvcmUvYm91cmJvbi9saWJyYXJ5L19wb3NpdGlvbi5zY3NzIiwibWl4aW5zL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCJiYXNlL19tZWRpYS5zY3NzIiwiYmFzZS9fd3JhcHBlci5zY3NzIiwiY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2ludHJvLnNjc3MiLCJjb21wb25lbnRzL19wcm9qZWN0LnNjc3MiLCJjb21wb25lbnRzL19wcm9qZWN0cy5zY3NzIiwiY29tcG9uZW50cy9fc3RhdHMuc2NzcyIsImNvbXBvbmVudHMvX3dlYnNpdGVzLnNjc3MiLCJwbHVnaW5zL19jb250YWN0Zm9ybTcuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnkubW1lbnUvc3JjL2NvcmUvb25jYW52YXMvanF1ZXJ5Lm1tZW51Lm9uY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvanF1ZXJ5Lm1tZW51L3NyYy9jb3JlL29uY2FudmFzL19tZW51LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvanF1ZXJ5Lm1tZW51L3NyYy9jb3JlL29uY2FudmFzL19wYW5lbHMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnkubW1lbnUvc3JjL3Njc3MvX21peGluc19nZW5lcmFsLnNjc3MiLCJ2ZW5kb3IvbW1lbnUvbW1lbnUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnkubW1lbnUvc3JjL2NvcmUvb25jYW52YXMvX3ZlcnRpY2FsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvanF1ZXJ5Lm1tZW51L3NyYy9jb3JlL29uY2FudmFzL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvanF1ZXJ5Lm1tZW51L3NyYy9zY3NzL19taXhpbnNfYnV0dG9ucy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2pxdWVyeS5tbWVudS9zcmMvY29yZS9vbmNhbnZhcy9fbmF2YmFycy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2pxdWVyeS5tbWVudS9zcmMvY29yZS9vbmNhbnZhcy9fbGlzdHZpZXdzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvanF1ZXJ5Lm1tZW51L3NyYy9zY3NzL19taXhpbnNfY29sb3JzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvanF1ZXJ5Lm1tZW51L3NyYy9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnkubW1lbnUvc3JjL2NvcmUvb2ZmY2FudmFzL2pxdWVyeS5tbWVudS5vZmZjYW52YXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnkubW1lbnUvc3JjL3Njc3MvX21peGluc19zaXppbmcuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnkubW1lbnUvc3JjL2V4dGVuc2lvbnMvZWZmZWN0cy9qcXVlcnkubW1lbnUuZWZmZWN0cy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2pxdWVyeS5tbWVudS9zcmMvZXh0ZW5zaW9ucy9wb3NpdGlvbmluZy9qcXVlcnkubW1lbnUucG9zaXRpb25pbmcuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzR0EsaUhBQVk7QUMxRlosU0FDQyxjQUFhLEVBQ2I7O0FBRUQsMEJBR0MsaUJBQWdCLEVBQ2hCOztBQUVELHFCQUNDLGNBQWEsRUFDYjs7QUFFRCx5QkNzQjBCLGNDckJMLEVGTXBCOztBQUVELE1BQ0MsZUFBYyxFQUNkOztBQUVELGFBR0MsaUJBQWdCLEVBQ2hCOztBQUVELFNDc0JJLFVDeENpQixFRm9CcEI7O0FBRUQsV0FDQyxVQUFTLENDaUJOLFVDeENpQixDRHdDakIsV0N4Q2lCLEVGMEJwQjs7QUd6Q0QsSUFDQywrQkFBc0IsQ0FBdEIsdUJBQXNCLENGc0RuQixVQ3hDaUIsQ0R3Q2pCLFdDeENpQixFQ0pwQjs7QUFYRCxvQkFPRSwrQkFBc0IsQ0FBdEIsdUJBQXNCLENGZ0RwQixVQ3hDaUIsQ0R3Q2pCLFdDeENpQixFQ0xuQjs7QUFHRixhQUVDLGVDb0N3QixDRG5DeEIsZ0JDZ0RvQixDRC9DcEIsMEJDUmdCLENEU2hCLHFDQzJDeUMsQ0QxQ3pDLGlCQ3FEcUIsQ0RwRHJCLG1DQUFrQyxDQUNsQyxvQ0FBbUMsRUFLbkM7O0FFekJBLDZHQU1DLHNDRHVENEMsQ0N0RDVDLGlCRG1FdUIsQ0NsRXZCLGlCRG1FdUIsQ0NsRXZCLGVEbUVxQixDSDdCSyxvQklyQ0ksRUFDOUI7O0FBRUQsbUJBQ0MsZ0JEa0RpQixFQzNDakI7O0FDTEQsNENESEEsbUJBR0UsZ0JBQTRCLEVBSzdCLEVBQUE7O0FDTEQsNENESEEsbUJBTUUsZ0JBQTZCLEVBRTlCLEVBQUE7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dkNELENKZ0N6QixtQkkvQnlCLEVBNkMxQjs7QVR2Q0EsNENTakJELHVDQWFFLGdCQUFlLENkNEJXLG9CYzNCQSxDZGtDQSxxQmNsQ0ssQ2RtQ0wsbUJjbkNBLEVBMEMzQixFQUFBOztBVHZDQSw0Q1NqQkQsdUNBaUJFLGlCQUFnQixDQUNoQixnRFhlZ0IsQ1dmaEIsd0NYZWdCLEVXdUJqQixFQUFBOztBQW5DQSxtREFDQyxZQUFXLENBQ1gsWUFBVyxDQUNYLGFBQVksQ0FDWixlQUFjLENBQ2QsbUJBQWtCLENBQ2xCLG9DQUEyQixDQUEzQiw0QkFBMkIsQ0FDM0IsMEJYQ3FCLENPYXJCLG1CSWIwQixDSmlCdEIsc0JJakJ3QyxDSmlCeEMsWUlqQjZDLENINUJsRCx3Q0FBdUIsQ0FDdkIsNEJHNEI2QyxDSDNCN0MsNkJHMkJ3RCxDSHhCdkQsMEJHd0JpRSxFQUlqRTs7QVRqQkQsNENTSUEsbURBV0UsVUFBUyxFQUVWLEVBQUE7O0FBRUQscURkSzJCLG9CY0pBLENkV0Esb0JjWEssQ2RZTCxtQmNaQSxFQVUxQjs7QVQ5QkQsNENTbUJBLHFEZEsyQixvQmNGQyxDZE9ELG1CY1BDLEVBUTNCLEVBQUE7O0FBSkEsNkRBQ0MsWUFBVyxDQUNYLDJCQUEwQixFQUMxQjs7QUFHRiw2Q0FDQyxzQkFBcUIsRUFDckI7O0FBRUQsMkNkTDJCLGlCQy9CUCxFYXNDbkI7O0FDdkRGLFdmb0MwQixrQmVuQ0osQ2YrQ00scUJlL0NJLENMeUM5QixtQkt4Q3lCLEVBbUQxQjs7QVZwQ0EsNENVakJELFdmb0MwQixrQmVoQ0gsRUFpRHRCLEVBQUE7O0FWcENBLDRDVWpCRCxXZm9DMEIsa0JlN0JILENmeUNLLHFCZXpDSyxFQThDaEMsRUFBQTs7QUFyREQsaUJBV0UsV0FBVSxDQUNWLFlBQVcsQ0FDWCxZQUFXLENBQ1gsY0FBYSxDQUNiLGVBQWMsQ0wyQmQsbUJLMUIwQixDTDhCdEIsVUs5QjRCLENMOEI1QixXSzlCZ0MsQ0pmckMsNENBQXVCLENBQ3ZCLDRCSWVpRCxDSmRqRCw2QkljNEQsQ0pYM0QsMkJJV3NFLEVBSXRFOztB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Q1IzQ2xCLG1CUTRDMEIsQ2xCL0J4QixrRGtCZ0NvRSxFQXFDdEU7O0FiM0dELDZDYWpCRCxpQmxCeUM0QixvQmtCZ0RDLEVBbUMzQixFQUFBOztBYjNHRCw0Q2FqQkQsaUJBNEZHLFlBQVcsQ0FDWCxvQmY3RHNCLENIdUJyQixja0J1Q29CLENsQjFERSxrQmtCMkRGLEVBNkJ0QixFQUFBOztBYjNHRCw0Q2FqQkQsaUJsQnlDNEIsb0JrQnlEQyxDbEJwREQsbUJrQm9EQyxDbEI5REgsa0JrQitERixFQXlCdEIsRUFBQTs7QUE1SEYsb0JsQmdENEIsb0JrQnVESyxFQU85Qjs7QWI3RkYsNENhakJELG9CbEJnRDRCLG9Ca0J5RE0sRUFLL0IsRUFBQTs7QWI3RkYsNENhakJELG9CbEJnRDRCLG9Ca0I0RE0sRUFFL0IsRUFBQTs7QUE5R0gsbUJsQmdENEIsb0JrQmlFSyxFQVU5Qjs7QWIxR0YsNENhakJELG1CbEJnRDRCLG9Ca0JtRU0sRUFRL0IsRUFBQTs7QWIxR0YsNENhakJELGdDbEJnRDRCLG9Ca0J3RU8sRUFFL0IsRUFBQTs7QUMxSEosV25Cb0MwQixrQm1CbkNKLENuQitDTSxxQm1CL0NJLEVBdUYvQjs7QWR2RUEsNENjakJELFduQm9DMEIsa0JtQmpDSCxDbkI2Q0sscUJtQjdDSyxFQXFGaEMsRUFBQTs7QWR2RUEsNENjakJELFduQm9DMEIsZUNyQkwsRWtCeUVwQixFQUFBOztBQS9FQSxtQkFDQyxXQUFVLENBQ1YsaUJBQWdCLENBQ2hCLFloQnlDcUIsQ2dCeENyQixvQmhCZ0JxQixDSDBCbkIsd0JtQnpDNkIsQ25Cc0JQLG1CbUJyQkYsQ1QyQnRCLG1CUzFCMEIsRUFvQjFCOztBZG5CRCw0Q2NSQSxtQm5CMkJ5QixrQm1CbEJGLEVBa0J0QixFQUFBOztBZG5CRCw0Q2NSQSxtQkFZRSxnQkFBZSxDbkJrQ2QsY21CakNvQixDbkJjRSxjQ3JCTCxFa0JxQm5CLEVBQUE7O0FBM0JBLHNCbkJ1QzBCLG9CbUJyQkssRUFJOUI7O0FkZEYsNENjUkMsc0JuQnVDMEIsb0JtQm5CTSxFQUUvQixFQUFBOztB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Qm9CcEI7O0FBTEgsc0JBU0UsY0FBYSxFQUNiOztBQVZGLDBCQWNHLHVDekJuRGUsRXlCb0RmOztBQWZILHVLQXdCSSxpQnpCM0RjLEV5Qm9FZDs7QUFqQ0osK0tBMkJLLDRCQUFrQyxFQUNsQzs7QUE1QkwsK0xBK0JLLG1CekJsRWEsRXlCbUViIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgV2VsY29tZVxuLy8gIyBTZXR0aW5nc1xuLy8gIyBGcmFtZXdvcmtzXG4vLyAjIFRvb2xzXG4vLyAjIEdlbmVyaWNcbi8vICMgQmFzZVxuLy8gIyBDb21wb25lbnRzXG4vLyAjIFZpc3VhbCBDb21wb3NlclxuLy8gIyBQbHVnaW5zXG4vLyAjIEZvbnRzXG4vLyAjIFZlbmRvcnNcbi8vXG4vLyAjIFdlbGNvbWVcbi8vICAgVGhpcyBmaWxlIGlzIHVzZWQgdG8gY2VudHJhbGl6ZSB0aGUgaW1wb3J0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vXG4vLyBNb3N0IG9mIHRoZSBmb2xsb3dpbmcgZ3VpZGVsaW5lcyB1c2VkIHRvIHdyaXRlIGNzczpcbi8vIGh0dHA6Ly9jc3NndWlkZWxpbi5lc1xuLy9cbi8vIEJvd2VyIGlzIHVzZWQgZm9yIGtlZXBpbmcgdGhlIHVzZWQgbGlicmFyaWVzIHVwIHRvIGRhdGVcbi8vIG1vcmUgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGF0IGh0dHA6Ly9ib3dlci5pb1xuLy9cbi8vIEltcG9ydCB0aGlzIGZpbGUgdXNpbmcgdGhlIGZvbGxvd2luZyBIVE1MIG9yIGVxdWl2YWxlbnQ6XG4vLyA8bGluayBocmVmPVwiZGlzdC9jc3MvbWFpbi5jc3NcIiBtZWRpYT1cImFsbFwiIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiAvPlxuLy9cbi8vICMgU2V0dGluZ3Ncbi8vICAgR2xvYmFsbHktYXZhaWxhYmxlIHZhcmlhYmxlcyBhbmQgY29uZmlnc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG4vL1xuLy8gIyBGcmFtZXdvcmtzXG4vLyAgIEJvdXJib24sIG5lYXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0ICcuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24nO1xuQGltcG9ydCAnLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9jb3JlL25lYXQnO1xuLy9cbi8vICMgSGVscGVyc1xuLy8gICBVc2VmdWwgbWl4aW5zLGZ1bmN0aW9ucyBhbmQgaGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzLzIwMTkwMTA2LTI5NS93cC1jb250ZW50L3RoZW1lcy91cGxpbmUvc3JjL3Njc3MvZnVuY3Rpb25zL19zdHJpcC11bml0LnNjc3NcIjtcblxuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvMjAxOTAxMDYtMjk1L3dwLWNvbnRlbnQvdGhlbWVzL3VwbGluZS9zcmMvc2Nzcy9taXhpbnMvX2Fycm93LnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzLzIwMTkwMTA2LTI5NS93cC1jb250ZW50L3RoZW1lcy91cGxpbmUvc3JjL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLWltYWdlLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzLzIwMTkwMTA2LTI5NS93cC1jb250ZW50L3RoZW1lcy91cGxpbmUvc3JjL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy8yMDE5MDEwNi0yOTUvd3AtY29udGVudC90aGVtZXMvdXBsaW5lL3NyYy9zY3NzL21peGlucy9fbWVkaWEuc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvMjAxOTAxMDYtMjk1L3dwLWNvbnRlbnQvdGhlbWVzL3VwbGluZS9zcmMvc2Nzcy9taXhpbnMvX25vLWd1dHRlci1sYXN0LWNoaWxkLnNjc3NcIjtcblxuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvMjAxOTAxMDYtMjk1L3dwLWNvbnRlbnQvdGhlbWVzL3VwbGluZS9zcmMvc2Nzcy9oZWxwZXJzL19hZGRyZXNzZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvMjAxOTAxMDYtMjk1L3dwLWNvbnRlbnQvdGhlbWVzL3VwbGluZS9zcmMvc2Nzcy9oZWxwZXJzL19hbGlnbm1lbnQuc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvMjAxOTAxMDYtMjk1L3dwLWNvbnRlbnQvdGhlbWVzL3VwbGluZS9zcmMvc2Nzcy9oZWxwZXJzL19ibG9ja3F1b3Rlcy5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy8yMDE5MDEwNi0yOTUvd3AtY29udGVudC90aGVtZXMvdXBsaW5lL3NyYy9zY3NzL2hlbHBlcnMvX2NvZGVzLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzLzIwMTkwMTA2LTI5NS93cC1jb250ZW50L3RoZW1lcy91cGxpbmUvc3JjL3Njc3MvaGVscGVycy9fbGlzdHMuc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvMjAxOTAxMDYtMjk1L3dwLWNvbnRlbnQvdGhlbWVzL3VwbGluZS9zcmMvc2Nzcy9oZWxwZXJzL190YWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvMjAxOTAxMDYtMjk1L3dwLWNvbnRlbnQvdGhlbWVzL3VwbGluZS9zcmMvc2Nzcy9oZWxwZXJzL190eXBvZ3JhcGh5LnNjc3NcIjtcblxuLy9cbi8vICMgR2VuZXJpY1xuLy8gICBOb3JtYWxpemUgc3R5bGUgYWNyb3NzIGJyb3dzZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCAnLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS1zY3NzL3Nhc3MvX25vcm1hbGl6ZSc7XG4vL1xuLy8gIyBCYXNlXG4vLyBSZXNldHMsIGdyaWRzLCB3cmFwcGVycywgYm9keSwgdHlwb2dyYXBoeSBhbmQgZm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0ICdiYXNlL3Jlc2V0JztcbkBpbXBvcnQgJ2Jhc2UvYmFzZSc7XG5AaW1wb3J0ICdiYXNlL2J1dHRvbnMnO1xuQGltcG9ydCAnYmFzZS9jb250ZW50JztcbkBpbXBvcnQgJ2Jhc2UvZm9ybSc7XG5AaW1wb3J0ICdiYXNlL21lZGlhJztcbkBpbXBvcnQgJ2Jhc2Uvd3JhcHBlcic7XG4vL1xuLy8gICBIZWFkZXIsIGZvb3Rlciwgc2lkZWJhcnMgZXRjXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvMjAxOTAxMDYtMjk1L3dwLWNvbnRlbnQvdGhlbWVzL3VwbGluZS9zcmMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzLzIwMTkwMTA2LTI5NS93cC1jb250ZW50L3RoZW1lcy91cGxpbmUvc3JjL3Njc3MvY29tcG9uZW50cy9fY29udGVudC5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy8yMDE5MDEwNi0yOTUvd3AtY29udGVudC90aGVtZXMvdXBsaW5lL3NyYy9zY3NzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy8yMDE5MDEwNi0yOTUvd3AtY29udGVudC90aGVtZXMvdXBsaW5lL3NyYy9zY3NzL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy8yMDE5MDEwNi0yOTUvd3AtY29udGVudC90aGVtZXMvdXBsaW5lL3NyYy9zY3NzL2NvbXBvbmVudHMvX2ludHJvLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzLzIwMTkwMTA2LTI5NS93cC1jb250ZW50L3RoZW1lcy91cGxpbmUvc3JjL3Njc3MvY29tcG9uZW50cy9fcHJvamVjdC5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy8yMDE5MDEwNi0yOTUvd3AtY29udGVudC90aGVtZXMvdXBsaW5lL3NyYy9zY3NzL2NvbXBvbmVudHMvX3Byb2plY3RzLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzLzIwMTkwMTA2LTI5NS93cC1jb250ZW50L3RoZW1lcy91cGxpbmUvc3JjL3Njc3MvY29tcG9uZW50cy9fc3RhdHMuc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvMjAxOTAxMDYtMjk1L3dwLWNvbnRlbnQvdGhlbWVzL3VwbGluZS9zcmMvc2Nzcy9jb21wb25lbnRzL193ZWJzaXRlcy5zY3NzXCI7XG5cbi8vXG4vLyAjIFZpc3VhbCBDb21wb3NlclxuLy8gICBMb2FkIHBsdWdpbiBjb21wb25lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vL1xuLy8gIyBQbHVnaW5zXG4vLyAgIEFwcGx5IHRoZW1lIHN0eWxpbmcgdG8gcGx1Z2luc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzLzIwMTkwMTA2LTI5NS93cC1jb250ZW50L3RoZW1lcy91cGxpbmUvc3JjL3Njc3MvcGx1Z2lucy9fY29udGFjdGZvcm03LnNjc3NcIjtcblxuLy9cbi8vICMgRm9udHNcbi8vICAgTGlicmFyaWVzIHVzZWQgaW4gdGhlIHRoZW1lXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gQGltcG9ydCAnLi4vZm9udHMvZm9udC1hd2Vzb21lL2ZvbnQtYXdlc29tZS5jc3MnO1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Nb250c2VycmF0OjQwMCw1MDAsNjAwLDcwMHxXb3JrK1NhbnM6NDAwLDcwMHxMYXRvOjQwMCw5MDAnKTtcbi8vXG4vLyAjIFZlbmRvcnNcbi8vICAgVmVuZG9yIGluY2x1ZGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvMjAxOTAxMDYtMjk1L3dwLWNvbnRlbnQvdGhlbWVzL3VwbGluZS9zcmMvc2Nzcy92ZW5kb3IvbW1lbnUvbW1lbnUuc2Nzc1wiO1xuXG4iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgRWxlbWVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuXHRib3JkZXItcmFkaXVzOiAwO1xufVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRAaW5jbHVkZSBtYXJnaW4oMCBudWxsIG51bGwpO1xufVxuXG5pbWcge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxudWwsXG5vbCxcbmxpIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuZmlndXJlIHtcblx0QGluY2x1ZGUgbWFyZ2luKDApO1xufVxuXG5maWVsZHNldCB7XG5cdGJvcmRlcjogMDtcblx0QGluY2x1ZGUgbWFyZ2luKDApO1xuXHRAaW5jbHVkZSBwYWRkaW5nKDApO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG5cbi8vLyBCdWlsZHMgZGlyZWN0aW9uYWwgcHJvcGVydGllcyBieSBwYXJzaW5nIENTUyBzaG9ydGhhbmQgdmFsdWVzLiBGb3IgZXhhbXBsZSxcbi8vLyBhIHZhbHVlIG9mIGAxMHB4IG51bGxgIHdpbGwgb3V0cHV0IHRvcCBhbmQgYm90dG9tIGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsXG4vLy8gYnV0IHRoZSBgbnVsbGAgc2tpcHMgbGVmdCBhbmQgcmlnaHQgZnJvbSBiZWluZyBvdXRwdXQuXG4vLy9cbi8vLyBAYXJndW1lbnQge3N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBCYXNlIHByb3BlcnR5LlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtzdHJpbmd9ICRzdWZmaXhcbi8vLyAgIFN1ZmZpeCB0byBhcHBlbmQuIFVzZSBgbnVsbGAgdG8gb21pdC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bGlzdH0gJHZhbHVlc1xuLy8vICAgTGlzdCBvZiB2YWx1ZXMgdG8gc2V0IGZvciB0aGUgcHJvcGVydHkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIF9kaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCBudWxsIDVweCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiA1cHg7XG4vLy8gICAgIGJvcmRlci1sZWZ0LXdpZHRoOiA1cHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9jb21wYWN0LXNob3J0aGFuZFxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBfY29udGFpbnMtZmFsc3lcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2RpcmVjdGlvbmFsLXByb3BlcnR5KFxuICAkcHJvcGVydHksXG4gICRzdWZmaXgsXG4gICR2YWx1ZXNcbikge1xuICAkdG9wOiAgICAkcHJvcGVydHkgKyBcIi10b3BcIiAgICArIGlmKCRzdWZmaXgsIFwiLSN7JHN1ZmZpeH1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcm9wZXJ0eSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZmZpeCwgXCItI3skc3VmZml4fVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByb3BlcnR5ICsgXCItbGVmdFwiICAgKyBpZigkc3VmZml4LCBcIi0jeyRzdWZmaXh9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJvcGVydHkgKyBcIi1yaWdodFwiICArIGlmKCRzdWZmaXgsIFwiLSN7JHN1ZmZpeH1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcm9wZXJ0eSArICAgICAgICAgICAgIGlmKCRzdWZmaXgsIFwiLSN7JHN1ZmZpeH1cIiwgXCJcIik7XG5cbiAgJHZhbHVlczogX2NvbXBhY3Qtc2hvcnRoYW5kKCR2YWx1ZXMpO1xuXG4gIEBpZiBfY29udGFpbnMtZmFsc3koJHZhbHVlcykge1xuICAgIEBpZiBudGgoJHZhbHVlcywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHVlcywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWx1ZXMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHVlcywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHVlcywgMikgeyAjeyRyaWdodH06IG50aCgkdmFsdWVzLCAyKTsgfVxuICAgIH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWx1ZXMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWx1ZXMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWx1ZXMsIDIpIHsgI3skbGVmdH06IG50aCgkdmFsdWVzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFsdWVzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFsdWVzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFsdWVzLCAyKSB7ICN7JGxlZnR9OiBudGgoJHZhbHVlcywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFsdWVzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHVlcywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHVlcywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHVlcywgNCkgeyAjeyRsZWZ0fTogbnRoKCR2YWx1ZXMsIDQpOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFsdWVzO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIEVsc2VQbGFjZW1lbnRcblxuLy8vIFRyYW5zZm9ybXMgc2hvcnRoYW5kIHRvIGl0cyBzaG9ydGVzdCBwb3NzaWJsZSBmb3JtLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkdmFsdWVzXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICR2YWx1ZXM6IF9jb21wYWN0LXNob3J0aGFuZCgxMHB4IDIwcHggMTBweCAyMHB4KTtcbi8vL1xuLy8vICAgLy8gT3V0cHV0XG4vLy8gICAkdmFsdWVzOiAxMHB4IDIwcHg7XG4vLy9cbi8vLyBAcmV0dXJuIHtsaXN0fVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfY29tcGFjdC1zaG9ydGhhbmQoJHZhbHVlcykge1xuICAkb3V0cHV0OiBudWxsO1xuXG4gICRhOiBudGgoJHZhbHVlcywgMSk7XG4gICRiOiBpZihsZW5ndGgoJHZhbHVlcykgPCAyLCAkYSwgbnRoKCR2YWx1ZXMsIDIpKTtcbiAgJGM6IGlmKGxlbmd0aCgkdmFsdWVzKSA8IDMsICRhLCBudGgoJHZhbHVlcywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWx1ZXMpIDwgMiwgJGEsIG50aCgkdmFsdWVzLCBpZihsZW5ndGgoJHZhbHVlcykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuIiwiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIEVsZW1lbnRzICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4qIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0QGluY2x1ZGUgbWFyZ2luKDApO1xuXHRAaW5jbHVkZSBwYWRkaW5nKDApO1xuXG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdEBpbmNsdWRlIG1hcmdpbigwKTtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKDApO1xuXHR9XG59XG5cbmh0bWwsXG5ib2R5IHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWJhc2U7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRAaW5jbHVkZSBiYXNlLXR5cG9ncmFwaHk7XG5cdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtcGhvbmUpe1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlIC0gMnB4O1xuXHR9XG59XG5cbmEge1xuXHRjb2xvcjogJGxpbmstY29sb3ItYmFzZTtcblx0dGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uLWJhc2U7XG5cdHRyYW5zaXRpb246IGNvbG9yICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZywgYm9yZGVyLWNvbG9yICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZyxcblx0YmFja2dyb3VuZC1jb2xvciAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yLWJhc2U7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uLWJhc2U7XG5cdH1cbn1cblxuaW1nIHtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jbGVhciB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uY2VudGVyZWQge1xuXHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgY2FsYygoMTAwJSAtICN7JHdpZHRoLWJhc2V9KSAvIDIpKTtcblx0QGluY2x1ZGUgbWF4LXNjcmVlbigkd2lkdGgtYmFzZSArIDQwcHgpe1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcobnVsbCAyMHB4KTtcblx0fVxuXG5cdCYtLXNtIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgY2FsYygoMTAwJSAtICN7JHdpZHRoLWJhc2Utc219KSAvIDIpKTtcblx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCR3aWR0aC1iYXNlLXNtICsgNDBweCl7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgMjBweCk7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBHZW5lcmFsXG4vLyAjIEdyaWRcbi8vICMgVHlwb2dyYXBoeSAqL1xuXG4vLyAjIEdlbmVyYWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIFByb3BlciBSRU0gY2FsY3VsYXRpb25cbiRlbS1iYXNlOiAxNnB4OyAvLyBEbyBub3QgY2hhbmdlIHRoaXMgdW5sZXNzIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZ1xuXG4vLyBJbWFnZSBQYXRoXG4kaW1hZ2UtcGF0aDogJy4uL2ltZyc7XG5cbi8vIFJldGluYSBzdWZmaXhcbiRyZXRpbmE6IGZhbHNlO1xuJHJldGluYS1zdWZmaXg6ICdAMngnO1xuXG4vLyBQYWdlXG4kcGFnZS1iZzogI2ZkZmRmZDtcbiRib2R5LWJnOiAjMDE1N0ZGO1xuXG4vLyBXaWR0aFxuJHdpZHRoLWJhc2U6IDExNDBweDsgLy8gTWFpbmx5IHVzZWQgZm9yIGNlbnRlcmluZ1xuJHdpZHRoLWJhc2Utc206IDEwMDVweDsgLy8gTWFpbmx5IHVzZWQgZm9yIGNlbnRlcmluZ1xuXG4vLyBHdXR0ZXJzXG4kZ3V0dGVyLWJhc2U6IDIwcHg7XG4kZ3V0dGVyLXRvcDogMDtcbiRndXR0ZXItcmlnaHQ6ICRndXR0ZXItYmFzZTtcbiRndXR0ZXItYm90dG9tOiAkZ3V0dGVyLWJhc2U7XG4kZ3V0dGVyLWxlZnQ6ICRndXR0ZXItYmFzZTtcbiRndXR0ZXItc2lkZTogMjBweDsgLy8gVXNlZCB3aGVuIGJhc2Ugd2lkdGggaXMgcmVhY2hlZFxuJGd1dHRlci1zaWRlLXRhYmxldDogMjBweDsgLy8gVXNlZCB3aGVuIGJhc2Ugd2lkdGggaXMgcmVhY2hlZFxuJGd1dHRlci1zaWRlLXBob25lOiAyMHB4OyAvLyBVc2VkIHdoZW4gYmFzZSB3aWR0aCBpcyByZWFjaGVkXG5cbi8vIENvbG9yc1xuJGNvbG9yLWVycm9yOiAjRDAwMjFCO1xuJGNvbG9yLXN1Y2Nlc3M6ICM3NGFkNTg7XG4kY29sb3ItaW5mbzogIzViYzBkZTtcbiRjb2xvci1wcmltYXJ5OiAjMDE1N0ZGO1xuJGNvbG9yLWRhcms6ICMwMDBFMkI7XG4kY29sb3Itd2hpdGU6ICNmZmY7XG4kY29sb3Itd2hpdGUtYWx0OiAjRkRGREZEO1xuJGNvbG9yLWJsYWNrOiAjMDAwO1xuJGNvbG9yLWdyYXk6ICNlZWU7XG5cbi8vIEJyZWFrcG9pbnRzXG4kYnJlYWtwb2ludC1zbWFsbDogNTc1cHg7XG4kYnJlYWtwb2ludC1waG9uZTogNzY3cHg7XG4kYnJlYWtwb2ludC10YWJsZXQ6IDk5MXB4O1xuJGJyZWFrcG9pbnQtZGVza3RvcDogMTE5OXB4O1xuXG4vLyAjIEFuaW1hdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRiYXNlLWR1cmF0aW9uOiAwLjM1cztcbiRiYXNlLXRpbWluZzogZWFzZS1pbi1vdXQ7XG5cbi8vICMgVHlwb2dyYXBoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJHRleHQtY29sb3ItYmFzZTogIzAwMEUyQjtcbiR0ZXh0LWNvbG9yLXByaW1hcnk6ICMwMTU3RkY7XG4kdGV4dC1jb2xvci13aGl0ZTogI2ZmZjtcbiR0ZXh0LWNvbG9yLWJsYWNrOiAjMDAwO1xuXG4kbGluay1jb2xvci1iYXNlOiAkdGV4dC1jb2xvci1ibGFjaztcbiRsaW5rLWRlY29yYXRpb24tYmFzZTogdW5kZXJsaW5lO1xuJGxpbmstaG92ZXItY29sb3ItYmFzZTogJHRleHQtY29sb3ItcHJpbWFyeTtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb24tYmFzZTogbm9uZTtcblxuJGZvbnQtZmFtaWx5LWJhc2U6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXByaW1hcnk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zZWNvbmRhcnk6ICdMYXRvJywgc2Fucy1zZXJpZjtcbiRmb250LXNpemUtYmFzZTogMThweDtcbiRmb250LXNpemUtaDE6IDM0cHg7XG4kZm9udC1zaXplLWgyOiAzMHB4O1xuJGZvbnQtc2l6ZS1oMzogMjBweDtcbiRmb250LXNpemUtaDQ6IDIwcHg7XG4kZm9udC1zaXplLWg1OiAxOHB4O1xuJGZvbnQtc2l6ZS1oNjogMTZweDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNTsgLy8gQWx3YXlzIHVzZSBpbnRlZ2VyIG5vIHB4IG9yIHJlbSB2YWx1ZXNcblxuJGhlYWRpbmctZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5O1xuJGhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMDtcbiRoZWFkaW5nLWxpbmUtaGVpZ2h0OiAxLjE7XG4kaGVhZGluZy1jb2xvcjogaW5oZXJpdDtcbiIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBNaXhpbnMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgTWl4aW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gYmFzZS10eXBvZ3JhcGh5IHtcblx0aDEsXG5cdGgyLFxuXHRoMyxcblx0aDQsXG5cdGg1LFxuXHRoNiB7XG5cdFx0Zm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xuXHRcdGZvbnQtd2VpZ2h0OiAkaGVhZGluZy1mb250LXdlaWdodDtcblx0XHRsaW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1oZWlnaHQ7XG5cdFx0Y29sb3I6ICRoZWFkaW5nLWNvbG9yO1xuXHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgMTBweCk7XG5cdH1cblxuXHRoMSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWgxO1xuXHRcdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtdGFibGV0KXtcblx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMSAtIDQ7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtcGhvbmUpe1xuXHRcdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWgxIC0gMTQ7XG5cdFx0fVxuXHR9XG5cblx0aDIge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjtcblx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMiAtIDEwO1xuXHRcdH1cblx0fVxuXG5cdGgzIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtaDM7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpe1xuXHRcdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWgzIC0gMjtcblx0XHR9XG5cdH1cblxuXHRoNCB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWg0O1xuXHR9XG5cblx0aDUge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTtcblx0fVxuXG5cdGg2IHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtaDY7XG5cdH1cblxuXHRwIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4oMCAwIDIwcHgpO1xuXHR9XG5cblx0c3Ryb25nIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxuXG5cdGVtIHtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdH1cblxuXHRkZm4ge1xuXHRcdEBleHRlbmQgc3Ryb25nO1xuXHRcdEBleHRlbmQgZW07XG5cdH1cblxuXHRzdXAsXG5cdHN1YiB7XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdH1cbn1cbiIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBNaXhpbnMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgTWl4aW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gbXEoJGFyZ3MuLi4pIHtcblx0JG1lZGlhLXR5cGU6ICdvbmx5IHNjcmVlbic7XG5cdCRtZWRpYS10eXBlLWtleTogJ21lZGlhLXR5cGUnO1xuXHQkYXJnczoga2V5d29yZHMoJGFyZ3MpO1xuXHQkZXhwcjogJyc7XG5cblx0QGlmIG1hcC1oYXMta2V5KCRhcmdzLCAkbWVkaWEtdHlwZS1rZXkpIHtcblx0XHQkbWVkaWEtdHlwZTogbWFwLWdldCgkYXJncywgJG1lZGlhLXR5cGUta2V5KTtcblx0XHQkYXJnczogbWFwLXJlbW92ZSgkYXJncywgJG1lZGlhLXR5cGUta2V5KTtcblx0fVxuXG5cdEBlYWNoICRrZXksICR2YWx1ZSBpbiAkYXJncyB7XG5cdFx0QGlmICR2YWx1ZSB7XG5cdFx0XHQkZXhwcjogXCIjeyRleHByfSBhbmQgKCN7JGtleX06ICN7JHZhbHVlfSlcIjtcblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgI3skbWVkaWEtdHlwZX0gI3skZXhwcn0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBzY3JlZW4oJG1pbiwgJG1heCwgJG9yaWVudGF0aW9uOiBmYWxzZSkge1xuXHRAaW5jbHVkZSBtcSgkbWluLXdpZHRoOiAkbWluLCAkbWF4LXdpZHRoOiAkbWF4LCAkb3JpZW50YXRpb246ICRvcmllbnRhdGlvbikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtYXgtc2NyZWVuKCRtYXgpIHtcblx0QGluY2x1ZGUgbXEoJG1heC13aWR0aDogJG1heCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtaW4tc2NyZWVuKCRtaW4pIHtcblx0QGluY2x1ZGUgbXEoJG1pbi13aWR0aDogJG1pbikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBzY3JlZW4taGVpZ2h0KCRtaW4sICRtYXgsICRvcmllbnRhdGlvbjogZmFsc2UpIHtcblx0QGluY2x1ZGUgbXEoJG1pbi1oZWlnaHQ6ICRtaW4sICRtYXgtaGVpZ2h0OiAkbWF4LCAkb3JpZW50YXRpb246ICRvcmllbnRhdGlvbikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtYXgtc2NyZWVuLWhlaWdodCgkbWF4KSB7XG5cdEBpbmNsdWRlIG1xKCRtYXgtaGVpZ2h0OiAkbWF4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1pbi1zY3JlZW4taGVpZ2h0KCRtaW4pIHtcblx0QGluY2x1ZGUgbXEoJG1pbi1oZWlnaHQ6ICRtaW4pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gaGRwaSgkcmF0aW86IDEuMykge1xuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG5cdG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICN7cm91bmQoJHJhdGlvKjk2KX1kcGkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbGFuZHNjYXBlKCkge1xuXHRAaW5jbHVkZSBtcSgkb3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBwb3J0cmFpdCgpIHtcblx0QGluY2x1ZGUgbXEoJG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIE1peGluICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIE1peGluXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gY2xlYXJmaXgge1xuXHQmOjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuIiwiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIEVsZW1lbnRzICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJGJ1dHRvbi1wYWRkaW5nOiA1cHggMTlweCAhZGVmYXVsdDtcblxuJGJ1dHRvbi1oZWlnaHQ6IDUycHggIWRlZmF1bHQ7XG5cbiRidXR0b24tZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5ICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG5cbiRidXR0b24tY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kYnV0dG9uLWNvbG9yLWhvdmVyOiAkdGV4dC1jb2xvci1wcmltYXJ5ICFkZWZhdWx0O1xuJGJ1dHRvbi1jb2xvci1kaXNhYmxlZDogIzk5OSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1ib3JkZXItc2l6ZTogMCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLWNvbG9yOiAjMmU2ZGE0ICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6ICMyODYwOTAgIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci1jb2xvci1kaXNhYmxlZDogIzY2NiAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcblxuJGJ1dHRvbi1iZzogJGNvbG9yLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnV0dG9uLWJnLWhvdmVyOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWJnLWRpc2FibGVkOiAjZWZlZmVmICFkZWZhdWx0O1xuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnV0dG9uIHtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGhlaWdodDogJGJ1dHRvbi1oZWlnaHQ7XG5cdGJhY2tncm91bmQ6ICRidXR0b24tYmc7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0Zm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcblx0Zm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG5cdGZvbnQtd2VpZ2h0OiAkYnV0dG9uLWZvbnQtd2VpZ2h0O1xuXHRib3JkZXItcmFkaXVzOiAkYnV0dG9uLWJvcmRlci1yYWRpdXM7XG5cdGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItc2l6ZSAkYnV0dG9uLWJvcmRlci1zdHlsZSAkYnV0dG9uLWJvcmRlci1jb2xvcjtcblx0dHJhbnNpdGlvbjogY29sb3IgJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nLCBib3JkZXItY29sb3IgJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nLCBiYWNrZ3JvdW5kLWNvbG9yICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcblx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAwKTtcblx0QGluY2x1ZGUgcGFkZGluZygkYnV0dG9uLXBhZGRpbmcpO1xuXHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRoZWlnaHQ6IDQ3cHg7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG5cblx0Jjpob3Zlcixcblx0Jlt0eXBlPSdzdWJtaXQnXTpob3Zlcixcblx0Jlt0eXBlPSdyZXNldCddOmhvdmVyLFxuXHQmW3R5cGU9J2J1dHRvbiddOmhvdmVyLFxuXHQmOmZvY3VzLFxuXHQmLmlzLWZvY3VzZWQge1xuXHRcdGNvbG9yOiAkYnV0dG9uLWNvbG9yLWhvdmVyO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKCRjb2xvci1ibGFjaywgMC4xKTtcblx0XHRib3JkZXItY29sb3I6ICRidXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYmctaG92ZXI7XG5cdH1cblxuXHQmOmFjdGl2ZSxcblx0Ji5pcy1hY3RpdmUge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdH1cblxuXHQmOmRpc2FibGVkLFxuXHQmLmlzLWRpc2FibGVkIHtcblx0XHRjb2xvcjogJGJ1dHRvbi1jb2xvci1kaXNhYmxlZDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJnLWRpc2FibGVkO1xuXHR9XG5cblx0Ji0tbGluayB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLWJsYWNrO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoMCk7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCZbdHlwZT0nc3VibWl0J106aG92ZXIsXG5cdFx0Jlt0eXBlPSdyZXNldCddOmhvdmVyLFxuXHRcdCZbdHlwZT0nYnV0dG9uJ106aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmLmlzLWZvY3VzZWQge1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLXByaW1hcnk7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogMTBweCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXNpemU6IGluaGVyaXQgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRsYWJlbC10ZXh0LWNvbG9yOiAkdGV4dC1jb2xvci1iYXNlICFkZWZhdWx0O1xuJGxhYmVsLXRleHQtY29sb3ItZXJyb3I6ICNmZmYgIWRlZmF1bHQ7XG4kbGFiZWwtYmFja2dyb3VuZC1lcnJvcjogI2Q5NTM0ZiAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmc6IDVweCAxMHB4ICFkZWZhdWx0O1xuXG4kaW5wdXQtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kaW5wdXQtd2lkdGgtdGV4dGFyZWE6IDEwMCUgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6IDQ3cHggIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXRleHRhcmVhOiAxNTBweCAhZGVmYXVsdDtcblxuJGlucHV0LWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogJHRleHQtY29sb3ItYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogcmdiYSgkdGV4dC1jb2xvci1iYXNlLCAwLjUpICFkZWZhdWx0O1xuJGlucHV0LWNvbG9yLWRpc2FibGVkOiAjOTk5ICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXNpemU6IDJweCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogIzdGODY5NCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3ItZm9jdXM6ICMwMTU3RkYgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yLWVycm9yOiAkY29sb3ItZXJyb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAjZmZmICFkZWZhdWx0O1xuJGlucHV0LWJnLWRpc2FibGVkOiAjZWZlZmVmICFkZWZhdWx0O1xuXG4kaW5wdXQtc3VibWl0LWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuJGlucHV0LXN1Ym1pdC1jb2xvci1ob3ZlcjogIzMzMyAhZGVmYXVsdDtcblxuJGlucHV0LXN1Ym1pdC1iZzogI2VmZWZlZiAhZGVmYXVsdDtcbiRpbnB1dC1zdWJtaXQtYmctaG92ZXI6ICNlZmVmZWYgIWRlZmF1bHQ7XG5cbiRmaWVsZHNldC1wYWRkaW5nOiAyMHB4ICFkZWZhdWx0O1xuXG4kZmllbGRzZXQtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGZpZWxkc2V0LWJvcmRlci1jb2xvcjogI2NjYyAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItcmFkaXVzOiA1cHg7XG5cbiRsZWdlbmQtY29sb3I6ICM2NjYgIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1jb2xvcjogI2NjYyAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLXJhZGl1czogNXB4ICFkZWZhdWx0O1xuJGxlZ2VuZC1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4lZm9ybSB7XG5cdGZpZWxkc2V0IHtcblx0XHRib3JkZXI6ICRmaWVsZHNldC1ib3JkZXItc2l6ZSAkZmllbGRzZXQtYm9yZGVyLXN0eWxlICRmaWVsZHNldC1ib3JkZXItY29sb3I7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGZpZWxkc2V0LWJvcmRlci1yYWRpdXM7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAkZ3V0dGVyLWJvdHRvbSk7XG5cdFx0QGluY2x1ZGUgcGFkZGluZygkZmllbGRzZXQtcGFkZGluZyk7XG5cdFx0QGluY2x1ZGUgbm8tZ3V0dGVyLWxhc3QtY2hpbGQ7XG5cblx0XHQ+IHAge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAkZ3V0dGVyLWJvdHRvbSk7XG5cdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0XHR9XG5cdH1cblxuXHRsZWdlbmQge1xuXHRcdGNvbG9yOiAkbGVnZW5kLWNvbG9yO1xuXHRcdGJvcmRlcjogJGxlZ2VuZC1ib3JkZXItc2l6ZSAkbGVnZW5kLWJvcmRlci1zdHlsZSAkbGVnZW5kLWJvcmRlci1jb2xvcjtcblx0XHRib3JkZXItcmFkaXVzOiAkbGVnZW5kLWJvcmRlci1yYWRpdXM7XG5cdFx0YmFja2dyb3VuZDogJGxlZ2VuZC1iYWNrZ3JvdW5kO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoNXB4IDEwcHgpO1xuXHR9XG5cblx0bGFiZWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcblx0XHRmb250LXdlaWdodDogJGxhYmVsLWZvbnQtd2VpZ2h0O1xuXHRcdGNvbG9yOiAkbGFiZWwtdGV4dC1jb2xvcjtcblx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsICRsYWJlbC1tYXJnaW4tYm90dG9tKTtcblxuXHRcdCYuaXMtcmFkaW8sXG5cdFx0Ji5pcy1jaGVja2JveCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG5cdFx0XHRsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcblx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbigwIDEwcHggMCAxcHgpO1xuXHRcdH1cblxuXHRcdCYuaXMtY2hlY2tib3gge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKDAgMTBweCAwKTtcblx0XHR9XG5cblx0XHQmLmlzLWVycm9yIHtcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHRcdFx0Y29sb3I6ICRsYWJlbC10ZXh0LWNvbG9yLWVycm9yO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0YmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQtZXJyb3I7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oMTBweCBudWxsIG51bGwpO1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyg1cHggMTBweCk7XG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCk7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRsYWJlbC1iYWNrZ3JvdW5kLWVycm9yO1xuXHRcdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTVweCBudWxsIG51bGwgMTBweCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXHRpbnB1dCxcblx0c2VsZWN0LFxuXHR0ZXh0YXJlYSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6ICRpbnB1dC13aWR0aDtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuXHRcdGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG5cdFx0Zm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuXHRcdGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cdFx0Ym9yZGVyOiAkaW5wdXQtYm9yZGVyLXNpemUgJGlucHV0LWJvcmRlci1zdHlsZSAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuXHRcdGJhY2tncm91bmQ6ICRpbnB1dC1iZztcblx0XHRAaW5jbHVkZSBwYWRkaW5nKCRpbnB1dC1wYWRkaW5nKTtcblx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRcdGhlaWdodDogNDBweDtcblx0XHR9XG5cblx0XHQmOjpwbGFjZWhvbGRlciB7XG5cdFx0XHRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyO1xuXHRcdH1cblxuXHRcdCY6Zm9jdXM6bm90KDpyZWFkLW9ubHkpOm5vdChbdHlwZT0nc3VibWl0J10pOm5vdChbdHlwZT0ncmVzZXQnXSk6bm90KFt0eXBlPSdidXR0b24nXSksXG5cdFx0LmlzLWZvY3VzZWQge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yLWZvY3VzO1xuXHRcdH1cblxuXHRcdCYuaXMtZXJyb3Ige1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yLWVycm9yO1xuXHRcdH1cblxuXHRcdCYud3BjZjctbm90LXZhbGlkIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1jb2xvci1lcnJvcjtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcobnVsbCAzMHB4IG51bGwgbnVsbCk7XG5cdFx0XHRAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKGNsb3NlLCBzdmcsIGNhbGMoMTAwJSAtIDEwcHgpLCBuby1yZXBlYXQsIDE0cHggMTRweCk7XG5cdFx0fVxuXG5cdFx0Ji5pcy1zdWNjZXNze1xuXHRcdFx0QGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShjaGVjaywgc3ZnLCBjYWxjKDEwMCUgLSAxMHB4KSwgbm8tcmVwZWF0LCAyMXB4IDIwcHgpO1xuXHRcdH1cblxuXHRcdCY6ZGlzYWJsZWQsXG5cdFx0Ji5pcy1kaXNhYmxlZCB7XG5cdFx0XHRjb2xvcjogJGlucHV0LWNvbG9yLWRpc2FibGVkO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xuXHRcdH1cblxuXHRcdCZbdHlwZT0ncmFkaW8nXSxcblx0XHQmW3R5cGU9J2NoZWNrYm94J10ge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgMTBweCBudWxsIG51bGwpO1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZygwKTtcblx0XHR9XG5cblx0XHQmW3R5cGU9J3JhZGlvJ10sXG5cdFx0Jlt0eXBlPSdjaGVja2JveCddLFxuXHRcdCZbdHlwZT0nc3VibWl0J10sXG5cdFx0Jlt0eXBlPSdyZXNldCddLFxuXHRcdCZbdHlwZT0nYnV0dG9uJ10ge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXHR9XG5cblx0aW5wdXRbdHlwZT0nc3VibWl0J10sXG5cdGlucHV0W3R5cGU9J3Jlc2V0J10sXG5cdGlucHV0W3R5cGU9J2J1dHRvbiddIHtcblx0XHRjb2xvcjogJGlucHV0LXN1Ym1pdC1jb2xvcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtc3VibWl0LWJnO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGlucHV0LXN1Ym1pdC1jb2xvci1ob3Zlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1zdWJtaXQtYmctaG92ZXI7XG5cdFx0fVxuXHR9XG5cblx0c2VsZWN0IHtcblx0XHRhcHBlYXJhbmNlOiBub25lO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBhdXRvIDVweDtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCb0FBQUFOQ0FZQUFBQzNtWDd0QUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUtUMmxEUTFCUWFHOTBiM05vYjNBZ1NVTkRJSEJ5YjJacGJHVUFBSGphblZOblZGUHBGajMzM3ZSQ1M0aUFsRXR2VWhVSUlGSkNpNEFVa1NZcUlRa1FTb2dob2RrVlVjRVJSVVVFRzhpZ2lBT09qb0NNRlZFc0RJb0syQWZrSWFLT2c2T0lpc3I3NFh1amE5YTg5K2JOL3JYWFB1ZXM4NTJ6endmQUNBeVdTRE5STllBTXFVSWVFZUNEeDhURzRlUXVRSUVLSkhBQUVBaXpaQ0Z6L1NNQkFQaCtQRHdySXNBSHZnQUJlTk1MQ0FEQVRadkFNQnlIL3cvcVFwbGNBWUNFQWNCMGtUaExDSUFVQUVCNmprS21BRUJHQVlDZG1DWlRBS0FFQUdETFkyTGpBRkF0QUdBbmYrYlRBSUNkK0psN0FRQmJsQ0VWQWFDUkFDQVRaWWhFQUdnN0FLelBWb3BGQUZnd0FCUm1TOFE1QU5ndEFEQkpWMlpJQUxDM0FNRE9FQXV5QUFnTUFEQlJpSVVwQUFSN0FHRElJeU40QUlTWkFCUkc4bGM4OFN1dUVPY3FBQUI0bWJJOHVTUTVSWUZiQ0MxeEIxZFhMaDRvemtrWEt4UTJZUUpobWtBdXdubVpHVEtCTkEvZzg4d0FBS0NSRlJIZ2cvUDllTTRPcnM3T05vNjJEbDh0NnI4Ry95SmlZdVArNWMrcmNFQUFBT0YwZnRIK0xDK3pHb0E3Qm9CdC9xSWw3Z1JvWGd1Z2RmZUxacklQUUxVQW9PbmFWL053K0g0OFBFV2hrTG5aMmVYazVOaEt4RUpiWWNwWGZmNW53bC9BVi8xcytYNDgvUGYxNEw3aUpJRXlYWUZIQlBqZ3dzejBUS1VjejVJSmhHTGM1bzlIL0xjTC8vd2QweUxFU1dLNVdDb1U0MUVTY1k1RW1venpNcVVpaVVLU0tjVWwwdjlrNHQ4cyt3TSszelVBc0dvK0FYdVJMYWhkWXdQMlN5Y1FXSFRBNHZjQUFQSzdiOEhVS0FnRGdHaUQ0YzkzLys4Ly9VZWdKUUNBWmttU2NRQUFYa1FrTGxUS3N6L0hDQUFBUktDQktyQkJHL1RCR0N6QUJoekJCZHpCQy94Z05vUkNKTVRDUWhCQ0NtU0FISEpnS2F5Q1FpaUd6YkFkS21BdjFFQWROTUJSYUlhVGNBNHV3bFc0RGoxd0QvcGhDSjdCS0x5QkNRUkJ5QWdUWVNIYWlBRmlpbGdqamdnWG1ZWDRJY0ZJQkJLTEpDREppQlJSSWt1Uk5VZ3hVb3BVSUZWSUhmSTljZ0k1aDF4R3VwRTd5QUF5Z3Z5R3ZFY3hsSUd5VVQzVURMVkR1YWczR29SR29ndlFaSFF4bW84V29KdlFjclFhUFl3Mm9lZlFxMmdQMm84K1E4Y3d3T2dZQnpQRWJEQXV4c05Dc1Rnc0NaTmp5N0VpckF5cnhocXdWcXdEdTRuMVk4K3hkd1FTZ1VYQUNUWUVkMElnWVI1QlNGaE1XRTdZU0tnZ0hDUTBFZG9KTndrRGhGSENKeUtUcUV1MEpyb1IrY1FZWWpJeGgxaElMQ1BXRW84VEx4QjdpRVBFTnlRU2lVTXlKN21RQWtteHBGVFNFdEpHMG01U0kra3NxWnMwU0Jvams4bmFaR3V5QnptVUxDQXJ5SVhrbmVURDVEUGtHK1FoOGxzS25XSkFjYVQ0VStJb1VzcHFTaG5sRU9VMDVRWmxtREpCVmFPYVV0Mm9vVlFSTlk5YVFxMmh0bEt2VVllb0V6UjFtam5OZ3haSlM2V3RvcFhUR21nWGFQZHByK2gwdWhIZGxSNU9sOUJYMHN2cFIraVg2QVAwZHd3TmhoV0R4NGhuS0JtYkdBY1laeGwzR0srWVRLWVowNHNaeDFRd056SHJtT2VaRDVsdlZWZ3F0aXA4RlpIS0NwVktsU2FWR3lvdlZLbXFwcXJlcWd0VjgxWExWSStwWGxOOXJrWlZNMVBqcVFuVWxxdFZxcDFRNjFNYlUyZXBPNmlIcW1lb2IxUS9wSDVaL1lrR1djTk13MDlEcEZHZ3NWL2p2TVlnQzJNWnMzZ3NJV3NOcTRaMWdUWEVKckhOMlh4MktydVkvUjI3aXoycXFhRTVRek5LTTFlelV2T1VaajhINDVoeCtKeDBUZ25uS0tlWDgzNkszaFR2S2VJcEc2WTBUTGt4WlZ4cnFwYVhsbGlyU0t0UnEwZnJ2VGF1N2FlZHByMUZ1MW43Z1E1Qngwb25YQ2RIWjQvT0JaM25VOWxUM2FjS3B4Wk5QVHIxcmk2cWE2VWJvYnRFZDc5dXArNllucjVlZ0o1TWI2ZmVlYjNuK2h4OUwvMVUvVzM2cC9WSERGZ0dzd3drQnRzTXpoZzh4VFZ4Ynp3ZEw4ZmI4VkZEWGNOQVE2VmhsV0dYNFlTUnVkRThvOVZHalVZUGpHbkdYT01rNDIzR2JjYWpKZ1ltSVNaTFRlcE43cHBTVGJtbUthWTdURHRNeDgzTXphTE4xcGsxbXoweDF6TG5tK2ViMTV2ZnQyQmFlRm9zdHFpMnVHVkpzdVJhcGxudXRyeHVoVm81V2FWWVZWcGRzMGF0bmEwbDFydXR1NmNScDdsT2swNnJudFpudzdEeHRzbTJxYmNac09YWUJ0dXV0bTIyZldGblloZG50OFd1dys2VHZaTjl1bjJOL1QwSERZZlpEcXNkV2gxK2M3UnlGRHBXT3Q2YXpwenVQMzNGOUpicEwyZFl6eERQMkRQanRoUExLY1JwblZPYjAwZG5GMmU1YzRQemlJdUpTNExMTHBjK0xwc2J4dDNJdmVSS2RQVnhYZUY2MHZXZG03T2J3dTJvMjYvdU51NXA3b2Zjbjh3MG55bWVXVE56ME1QSVErQlI1ZEUvQzUrVk1HdmZySDVQUTArQlo3WG5JeTlqTDVGWHJkZXd0NlYzcXZkaDd4Yys5ajV5bitNKzR6dzMzakxlV1YvTU44QzN5TGZMVDhOdm5sK0YzME4vSS85ay8zci8wUUNuZ0NVQlp3T0pnVUdCV3dMNytIcDhJYitPUHpyYlpmYXkyZTFCaktDNVFSVkJqNEt0Z3VYQnJTRm95T3lRclNIMzU1ak9rYzVwRG9WUWZ1alcwQWRoNW1HTHczNE1KNFdIaFZlR1A0NXdpRmdhMFRHWE5YZlIzRU56MzBUNlJKWkUzcHRuTVU4NXJ5MUtOU28rcWk1cVBObzN1alM2UDhZdVpsbk0xVmlkV0Vsc1N4dzVMaXF1Tm01c3Z0Lzg3Zk9INHAzaUMrTjdGNWd2eUYxd2VhSE93dlNGcHhhcExoSXNPcFpBVEloT09KVHdRUkFxcUJhTUpmSVRkeVdPQ25uQ0hjSm5JaS9STnRHSTJFTmNLaDVPOGtncVRYcVM3Skc4Tlhra3hUT2xMT1c1aENlcGtMeE1EVXpkbXpxZUZwcDJJRzB5UFRxOU1ZT1NrWkJ4UXFvaFRaTzJaK3BuNW1aMnk2eGxoYkwreFc2THR5OGVsUWZKYTdPUXJBVlpMUXEyUXFib1ZGb28xeW9Ic21kbFYyYS96WW5LT1phcm5pdk43Y3l6eXR1UU41enZuLy90RXNJUzRaSzJwWVpMVnkwZFdPYTlyR281c2p4eGVkc0s0eFVGSzRaV0Jxdzh1SXEyS20zVlQ2dnRWNWV1ZnIwbWVrMXJnVjdCeW9MQnRRRnI2d3RWQ3VXRmZldmMxKzFkVDFndldkKzFZZnFHblJzK0ZZbUtyaFRiRjVjVmY5Z28zSGpsRzRkdnlyK1ozSlMwcWF2RXVXVFBadEptNmViZUxaNWJEcGFxbCthWERtNE4yZHEwRGQ5V3RPMzE5a1hiTDVmTktOdTdnN1pEdWFPL1BMaThaYWZKenMwN1AxU2tWUFJVK2xRMjd0TGR0V0hYK0c3UjdodDd2UFkwN05YYlc3ejMvVDdKdnR0VkFWVk4xV2JWWmZ0Sis3UDNQNjZKcXVuNGx2dHRYYTFPYlhIdHh3UFNBLzBISXc2MjE3blUxUjNTUFZSU2o5WXI2MGNPeHgrKy9wM3ZkeTBOTmcxVmpaekc0aU53UkhuazZmY0ozL2NlRFRyYWRveDdyT0VIMHg5MkhXY2RMMnBDbXZLYVJwdFRtdnRiWWx1NlQ4dyswZGJxM25yOFI5c2ZENXcwUEZsNVN2TlV5V25hNllMVGsyZnl6NHlkbFoxOWZpNzUzR0Rib3JaNzUyUE8zMm9QYisrNkVIVGgwa1gvaStjN3ZEdk9YUEs0ZFBLeTIrVVRWN2hYbXE4NlgyM3FkT284L3BQVFQ4ZTduTHVhcnJsY2E3bnVlcjIxZTJiMzZSdWVOODdkOUwxNThSYi8xdFdlT1QzZHZmTjZiL2ZGOS9YZkZ0MStjaWY5enN1NzJYY243cTI4VDd4ZjlFRHRRZGxEM1lmVlAxdiszTmp2M0g5cXdIZWc4OUhjUi9jR2hZUFAvcEgxanc5REJZK1pqOHVHRFlicm5qZytPVG5pUDNMOTZmeW5RODlrenlhZUYvNmkvc3V1RnhZdmZ2alY2OWZPMFpqUm9aZnlsNU8vYlh5bC9lckE2eG12MjhiQ3hoNit5WGd6TVY3MFZ2dnR3WGZjZHgzdm85OFBUK1I4SUg4by8yajVzZlZUMEtmN2t4bVRrLzhFQTVqei9HTXpMZHNBQUFBZ1kwaFNUUUFBZWlVQUFJQ0RBQUQ1L3dBQWdPa0FBSFV3QUFEcVlBQUFPcGdBQUJkdmtsL0ZSZ0FBQVV0SlJFRlVlTnE4MDg5S0FsRVV4L0h2YUlSQ0liUnlDc0x4Q2NZWm9rY0luV2tSQ0NITVNnbjY4eFF1ZW9BMlJSQzBrZG9JRmN4b1BVR3JVWmV1ckpXdG96S0o0TFRKRU0xL3BKM2xQZHo3dVQvdVBVbytmeWo4UXdWVU5UcHpSRldqQkJ3bms5VzAyTXdRVFl1SjQyU09GQkVKQUp1dVc3cXVWR3BUUlF4REY5dE81UUJQRVJFRkVHRERkVXUzMDhJTVE4ZTJVMW5nSEpnTGRQWHViRHUxYmhoNmEwckkvamNDOE5tZHFGTnJybHU2cjFScXdUOGlKOTNydjBGQjRNejNxOXVlVnc1UGdsaFdFdE5NN0FLbnZUMUZaT0FZTGZwKzlkSHp5a3NUSUgxSmZ1WUlpQXpZKzJLYWlWWExTcjZPaVJ3TVFqclErNUF6M2t3em9WdFc4bU1Fc2djY0Q3dU1JaUxoRVJpQTFtZzgxSXZGcS9sMnV3MUFLQlFpbmQ1cXgrTmFEcmdZbFZvUmtRandQTVl6ckRTYlQvVkM0WElCd0hFeXJlVmxkUWU0QVZvOUg2cXZ2Z1lBZDdSMTVPdnBmSEVBQUFBQVNVVk9SSzVDWUlJPSk7XG5cdH1cblxuXHR0ZXh0YXJlYSB7XG5cdFx0cmVzaXplOiBub25lO1xuXHRcdHdpZHRoOiAkaW5wdXQtd2lkdGgtdGV4dGFyZWE7XG5cdFx0aGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXRleHRhcmVhO1xuXHR9XG59XG4iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgTWl4aW4gKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgTWl4aW5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBuby1ndXR0ZXItbGFzdC1jaGlsZCB7XG5cdCYgPiAqOmxhc3QtY2hpbGQge1xuXHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgMCk7XG5cdH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbmluZ1xuLy8vIHByb3BlcnRpZXM6IGBwb3NpdGlvbmAsIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCBhbmQgYGxlZnRgLiBVc2UgYSBgbnVsbGBcbi8vLyB2YWx1ZSB0byDigJxza2lw4oCdIGFuIGVkZ2Ugb2YgdGhlIGJveC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkcG9zaXRpb25cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkYm94LWVkZ2UtdmFsdWVzXG4vLy8gICBMaXN0IG9mIGxlbmd0aHM7IGFjY2VwdHMgQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIDAgbnVsbCBudWxsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGxlZnQ6IDEwZW07XG4vLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICAgIHJpZ2h0OiAwO1xuLy8vICAgICBib3R0b206IDA7XG4vLy8gICAgIGxlZnQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9pcy1sZW5ndGhcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX3VucGFjay1zaG9ydGhhbmRcblxuQG1peGluIHBvc2l0aW9uKFxuICAkcG9zaXRpb24sXG4gICRib3gtZWRnZS12YWx1ZXNcbikge1xuICAkYm94LWVkZ2UtdmFsdWVzOiBfdW5wYWNrLXNob3J0aGFuZCgkYm94LWVkZ2UtdmFsdWVzKTtcbiAgJG9mZnNldHM6IChcbiAgICB0b3A6ICAgIG50aCgkYm94LWVkZ2UtdmFsdWVzLCAxKSxcbiAgICByaWdodDogIG50aCgkYm94LWVkZ2UtdmFsdWVzLCAyKSxcbiAgICBib3R0b206IG50aCgkYm94LWVkZ2UtdmFsdWVzLCAzKSxcbiAgICBsZWZ0OiAgIG50aCgkYm94LWVkZ2UtdmFsdWVzLCA0KSxcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIF9pcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgTWl4aW4gKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgTWl4aW5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCAkbmFtZSwgJGV4dGVuc2lvbjogJ3BuZycsICRwb3NpdGlvbjogbGVmdCBjZW50ZXIsICRyZXBlYXQ6IG5vLXJlcGVhdCwgJHNpemU6IGZhbHNlICkge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skaW1hZ2UtcGF0aH0vI3skbmFtZX0uI3skZXh0ZW5zaW9ufSk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246ICRwb3NpdGlvbjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6ICRyZXBlYXQ7XG5cblx0QGlmICgkc2l6ZSkge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogJHNpemU7XG5cdH1cbn1cbiIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnJhdGlvLFxuYXVkaW8sXG5lbWJlZCxcbmlmcmFtZSxcbm9iamVjdCxcbnZpZGVvIHtcblx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAyMHB4KTtcbn1cblxuLnJhdGlvIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGhlaWdodDogMDtcblx0QGluY2x1ZGUgcGFkZGluZygwKTtcblx0QGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwpO1xuXG5cdGVtYmVkLFxuXHRpZnJhbWUsXG5cdG9iamVjdCxcblx0dmlkZW8ge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3JkZXI6IDA7XG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuXHR9XG59XG5cbi5yYXRpby0tMTZ4OSB7XG5cdEBpbmNsdWRlIHBhZGRpbmcobnVsbCBudWxsIDU2LjI1JSk7XG59XG5cbi5yYXRpby0tNHgzIHtcblx0QGluY2x1ZGUgcGFkZGluZyhudWxsIG51bGwgNzUlKTtcbn1cbiIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLndyYXBwZXIge1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBhZ2UtYmchaW1wb3J0YW50O1xufVxuIiwiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIEVsZW1lbnRzICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4lY2FyZCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogJHRleHQtY29sb3ItYmFzZTtcblx0YmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuXHRib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuXHRAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIDMwcHgpO1xuXHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgMTlweCAzN3B4KTtcblx0QGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwpO1xuXHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXRhYmxldCl7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcobnVsbCAxNXB4IDMwcHgpO1xuXHR9XG5cdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtcGhvbmUpe1xuXHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgkY29sb3ItYmxhY2ssIDAuMSk7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHR3aWR0aDogNDBweDtcblx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgY2FsYygxMDAlICsgMnB4KSAyMHB4IG51bGwgbnVsbCk7XG5cdFx0QGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShhcnJvdywgc3ZnLCBjZW50ZXIsIG5vLXJlcGVhdCwgN3B4IDEwcHgpO1xuXHRcdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtcGhvbmUpe1xuXHRcdFx0dG9wOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdGZpZ3VyZSB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgLTE5cHggMTJweCk7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpe1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgLTE1cHggbnVsbCk7XG5cblx0XHR9XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDtcblx0XHR9XG5cdH1cblxuXHRoMyB7XG5cdFx0d29yZC1icmVhazogYnJlYWstYWxsO1xuXHR9XG5cblx0cCB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAwKTtcblx0fVxufSIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNvbnRlbnQge1xuXHRAaW5jbHVkZSBwYWRkaW5nKDc4cHggbnVsbCAyNHB4KTtcblx0QGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwpO1xuXHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXRhYmxldCl7XG5cdFx0QGluY2x1ZGUgcGFkZGluZygzMHB4IG51bGwgbnVsbCk7XG5cdH1cblx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1waG9uZSl7XG5cdFx0QGluY2x1ZGUgcGFkZGluZygyMHB4IG51bGwgMTBweCk7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHdpZHRoOiA2NnB4O1xuXHRcdGhlaWdodDogMTQ2cHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDY1cHggN3B4IG51bGwgbnVsbCk7XG5cdFx0QGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShibHVlLWRvdHMsIHN2ZywgY2VudGVyLCBuby1yZXBlYXQsIDEwMCUgMTAwJSk7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1kZXNrdG9wKXtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0aDEge1xuXHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgMjJweCk7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1waG9uZSl7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIDEwcHgpO1xuXHRcdH1cblx0fVxuXG5cdGFydGljbGUge1xuXHRcdG1heC13aWR0aDogNTYwcHg7XG5cdH1cblxuXHRmb3JtIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIDMwcHgpO1xuXHR9XG5cblx0ZmlndXJlIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKDM0cHggbnVsbCA1MHB4KTtcblx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXRhYmxldCl7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKDEwcHggbnVsbCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtcGhvbmUpe1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZygwIG51bGwgbnVsbCk7XG5cdFx0fVxuXHR9XG5cblx0Lm92ZXItb25zICYge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmZvb3RlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdEBpbmNsdWRlIHBhZGRpbmcoMjhweCBudWxsKTtcblx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1zbWFsbCl7XG5cdFx0QGluY2x1ZGUgcGFkZGluZygxNXB4IG51bGwpO1xuXHR9XG5cblx0Jl9fbG9nbyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0bWF4LXdpZHRoOiAxMDBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1zbWFsbCl7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBhdXRvKTtcblx0XHR9XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0dWwge1xuXHRcdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtc21hbGwpe1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKDVweCBudWxsIG51bGwpO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRjb2xvcjogJHRleHQtY29sb3Itd2hpdGU7XG5cdFx0XHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiAkdGV4dC1jb2xvci1iYXNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYrbGkge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29udGVudDogJy0gJztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIEVsZW1lbnRzICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGVhZGVyIHtcblx0ei1pbmRleDogMTtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG5cdEBpbmNsdWRlIHBhZGRpbmcoMjdweCBudWxsKTtcblx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKDE1cHggbnVsbCk7XG5cdH1cblxuXHQmX19sb2dvIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXgtd2lkdGg6IDIwMHB4O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRcdG1heC13aWR0aDogMTAwcHg7XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5ob21lICYge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1pbi1zY3JlZW4oJGJyZWFrcG9pbnQtdGFibGV0ICsgMSkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtaW4tc2NyZWVuKCRicmVha3BvaW50LXRhYmxldCArIDEpIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fbWVudSB7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1waG9uZSl7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdD4gbmF2IHtcblx0XHRcdD4gdWwge1xuXHRcdFx0XHQ+IGxpIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCAzNHB4IG51bGwgNnB4KTtcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LWRlc2t0b3ApIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIDAgbnVsbCAzMHB4KTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdGNvbG9yOiAkdGV4dC1jb2xvci1ibGFjaztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLmlzLWFjdGl2ZSxcblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkdGV4dC1jb2xvci1wcmltYXJ5O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3RvZ2dsZSB7XG5cdFx0d2lkdGg6IDIzcHg7XG5cdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCk7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMi41cHg7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgbnVsbCBudWxsIDApO1xuXG5cdFx0XHQmOmJlZm9yZSxcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAyLjVweDtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cdFx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgbnVsbCAwKTtcblx0XHRcdH1cblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHR0b3A6IC03cHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRib3R0b206IC03cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm1tLW9wZW5lZCAmIHtcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHR1bCB7XG5cdFx0bGkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblx0fVxuXG5cdC5ob21lICYge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcblx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oc3RhdGljLCBudWxsKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIFRhYmxlIG9mIENvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIFZhcmlhYmxlc1xuLy8gIyBFbGVtZW50cyAqL1xuXG4vLyAjIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIE5vIGxvY2FsIHZhcmlhYmxlcyBhdmFpbGFibGVcblxuLy8gIyBFbGVtZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmludHJvIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCk7XG5cdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtdGFibGV0KXtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgMjBweCk7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0ei1pbmRleDogMTtcblx0XHRjb250ZW50OiAnJztcblx0XHR3aWR0aDogNjZweDtcblx0XHRoZWlnaHQ6IDE0NnB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAyOTVweCBudWxsIG51bGwgN3B4KTtcblx0XHRAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKHdoaXRlLWRvdHMsIHN2ZywgY2VudGVyLCBuby1yZXBlYXQsIDEwMCUgMTAwJSk7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpe1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHdpZHRoOiA2NnB4O1xuXHRcdGhlaWdodDogMTQ2cHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDk3cHggN3B4IG51bGwgbnVsbCk7XG5cdFx0QGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShibHVlLWRvdHMsIHN2ZywgY2VudGVyLCBuby1yZXBlYXQsIDEwMCUgMTAwJSk7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1kZXNrdG9wKXtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0ZmlndXJlIHtcblx0XHR3aWR0aDogNTAlO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsKTtcblx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXRhYmxldCl7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCAtMjBweCk7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHR3aWR0aDogMTQ2cHg7XG5cdFx0XHRoZWlnaHQ6IDE0NnB4O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIDQycHggY2FsYygxMDAlIC0gOTVweCkpO1xuXHRcdFx0QGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZSh3aGl0ZS1ibHVlLWRvdHMsIHN2ZywgY2VudGVyLCBuby1yZXBlYXQsIDEwMCUgMTAwJSk7XG5cdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXRhYmxldCl7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0O1xuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG5cdFx0XHRAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6bm9uZSkge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0XHR9XG5cdFx0XHRAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcblx0XHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpe1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiA0MDBweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtcGhvbmUpe1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRhcnRpY2xlIHtcblx0XHR3aWR0aDogNTAlO1xuXHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0XHRAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCk7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyg5M3B4IGNhbGMoKDEwMCUgLSAjeyR3aWR0aC1iYXNlIC0gNjB9KSAvIDIpIDUwcHggODJweCk7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkd2lkdGgtYmFzZSArIDgwcHgpe1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyhudWxsIDIwcHggbnVsbCBudWxsKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpe1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUtYWx0O1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZygyMHB4KTtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbigtODBweCBudWxsIG51bGwpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcobnVsbCAxNXB4KTtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbigtNTVweCBudWxsIG51bGwpO1xuXHRcdH1cblxuXHRcdGgxIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgNDJweCk7XG5cdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXRhYmxldCl7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgMjBweCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAxMHB4KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgNDRweCk7XG5cdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAyMHB4KTtcblx0XHRcdH1cblxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXRhYmxldCl7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAxMHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIEVsZW1lbnRzICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvamVjdCB7XG5cdEBpbmNsdWRlIHBhZGRpbmcoNzVweCBudWxsIDUwcHgpO1xuXHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoMzBweCBudWxsIDIwcHgpO1xuXHR9XG5cdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtcGhvbmUpe1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoMCBudWxsIG51bGwpO1xuXHR9XG5cblx0Jl9fZGV0YWlsIHtcblx0XHR6LWluZGV4OiAxO1xuXHRcdG1heC13aWR0aDogNTE3cHg7XG5cdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuXHRcdGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoNDBweCAzMHB4IDM1cHgpO1xuXHRcdEBpbmNsdWRlIG1hcmdpbigtMTEycHggbnVsbCBudWxsKTtcblx0XHRAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCk7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1waG9uZSkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKC01MHB4IG51bGwgbnVsbCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtc21hbGwpIHtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoMjBweCk7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4oMCBudWxsIG51bGwpO1xuXHRcdH1cblxuXHRcdGgyIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgMjJweCk7XG5cdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXNtYWxsKSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgMTBweCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIDApO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRlbnQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRcdGFydGljbGUge1xuXHRcdFx0d2lkdGg6IDUxLjUlO1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZygxNzhweCAzMHB4IG51bGwgbnVsbCk7XG5cdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXRhYmxldCkge1xuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKDEwMHB4IDI1cHggbnVsbCBudWxsKTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtcGhvbmUpIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoMjBweCAwIG51bGwgbnVsbCk7XG5cdFx0XHR9XG5cblx0XHRcdHAge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIDQycHgpO1xuXHRcdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIDIwcHgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgMjBweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRmaWd1cmUge1xuXHRcdFx0d2lkdGg6IDQ4LjUlO1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwpO1xuXHRcdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1waG9uZSl7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKDIwcHggbnVsbCBudWxsKTtcblx0XHRcdH1cblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHR3aWR0aDogNTVweDtcblx0XHRcdFx0aGVpZ2h0OiAxNDZweDtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgNTNweCAxMDAlKTtcblx0XHRcdFx0QGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShibHVlLWRvdHMsIHN2ZywgcmlnaHQsIG5vLXJlcGVhdCwgNjZweCAxMDAlKTtcblx0XHRcdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1kZXNrdG9wKXtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgRWxlbWVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcm9qZWN0cyB7XG5cdEBpbmNsdWRlIHBhZGRpbmcobnVsbCBudWxsIDYwcHgpO1xuXHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgbnVsbCAyMHB4KTtcblx0fVxuXG5cdHVsIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCAtMTVweCk7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpe1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgLTEwcHgpO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdHdpZHRoOiAzMy4zJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgMTVweCk7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIDEwcHgpO1xuXHRcdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpe1xuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgMTBweCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtc21hbGwpe1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdEBleHRlbmQgJWNhcmQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgRWxlbWVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zdGF0cyB7XG5cdEBpbmNsdWRlIHBhZGRpbmcoMzhweCBudWxsIDEwMnB4KTtcblx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpe1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoMzhweCBudWxsKTtcblx0fVxuXHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXNtYWxsKXtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKDEwcHggbnVsbCAyMHB4KTtcblx0fVxuXG5cdHVsIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgLTE1cHggbnVsbCAtMzRweCk7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpe1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgLTE1cHgpO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdHdpZHRoOiAzMy4zJTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoMTVweCk7XG5cdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXNtYWxsKXtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdGgzIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAyMHB4KTtcblx0XHRcdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1zbWFsbCl7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAxMHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRwIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdGZvbnQtc2l6ZTogODBweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLXByaW1hcnk7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcHJpbWFyeTtcblx0XHRcdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogNjBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRcdFx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1zbWFsbCl7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIEVsZW1lbnRzICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gTm8gbG9jYWwgdmFyaWFibGVzIGF2YWlsYWJsZVxuXG4vLyAjIEVsZW1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ud2Vic2l0ZXMge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdEBpbmNsdWRlIHBhZGRpbmcoMTAycHggbnVsbCAxNDVweCk7XG5cdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtdGFibGV0KXtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKDUwcHggbnVsbCk7XG5cdH1cblxuXHRoMiB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAyMnB4KTtcblx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgMTBweCk7XG5cdFx0fVxuXHR9XG5cblx0YXJ0aWNsZSB7XG5cdFx0bWF4LXdpZHRoOiA1NjBweDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgNTBweCk7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC1waG9uZSl7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIDEwcHgpO1xuXHRcdH1cblx0fVxuXG5cdHVsIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCAtMTVweCk7XG5cdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpe1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgLTEwcHgpO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdHdpZHRoOiAzMy4zJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgMTVweCk7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIDYwcHgpO1xuXHRcdFx0QGluY2x1ZGUgbWF4LXNjcmVlbigkYnJlYWtwb2ludC10YWJsZXQpe1xuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKG51bGwgMTBweCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRicmVha3BvaW50LXBob25lKXtcblx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAyMHB4KTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1heC1zY3JlZW4oJGJyZWFrcG9pbnQtc21hbGwpe1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdEBleHRlbmQgJWNhcmQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBUYWJsZSBvZiBDb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyBWYXJpYWJsZXNcbi8vICMgRWxlbWVudHMgKi9cblxuLy8gIyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyBObyBsb2NhbCB2YXJpYWJsZXMgYXZhaWxhYmxlXG5cbi8vICMgRWxlbWVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi53cGNmNyB7XG5cdEBleHRlbmQgJWZvcm07XG5cblx0LndwY2Y3LWRpc3BsYXktbm9uZSxcblx0LnNjcmVlbi1yZWFkZXItcmVzcG9uc2Uge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuYWpheC1sb2FkZXIge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRAaW5jbHVkZSBtYXJnaW4oMTBweCAwIDAgMTBweCk7XG5cdH1cblxuXHQud3BjZjctbm90LXZhbGlkLXRpcCB7XG5cdFx0QGV4dGVuZCBsYWJlbC5pcy1lcnJvcjtcblx0fVxuXG5cdC53cGNmNy1ub3QtdmFsaWQtdGlwOmJlZm9yZSB7XG5cdFx0QGV4dGVuZCBsYWJlbC5pcy1lcnJvcjpiZWZvcmU7XG5cdH1cblxuXHRpbnB1dC53cGNmNy1ub3QtdmFsaWQge1xuXHRcdEBleHRlbmQgaW5wdXQuaXMtZXJyb3I7XG5cdH1cblxuXHRzZWxlY3Qud3BjZjctbm90LXZhbGlkIHtcblx0XHRAZXh0ZW5kIHNlbGVjdC5pcy1lcnJvcjtcblx0fVxuXG5cdHRleHRhcmVhLndwY2Y3LW5vdC12YWxpZCB7XG5cdFx0QGV4dGVuZCB0ZXh0YXJlYS5pcy1lcnJvcjtcblx0fVxuXG5cdC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGJvcmRlci1yYWRpdXM6IDVweDtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItaW5mbztcblx0XHRAaW5jbHVkZSBtYXJnaW4oJGd1dHRlci1iYXNlIDApO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmcoMTBweCk7XG5cblx0XHQmLndwY2Y3LXZhbGlkYXRpb24tZXJyb3JzIHtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1lcnJvcjtcblx0XHR9XG5cblx0XHQmLndwY2Y3LW1haWwtc2VudC1vayB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3Itc3VjY2Vzcztcblx0XHR9XG5cdH1cblxuXHRidXR0b25bdHlwZT1cInN1Ym1pdFwiXXtcblx0XHRAZXh0ZW5kIC5idXR0b247XG5cdH1cbn1cbiIsIi8qXG5cdGpRdWVyeS5tbWVudSBvbmNhbnZhcyBDU1NcbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9zY3NzL2ltcG9ydFwiO1xuXG5AaW1wb3J0IFwibWVudVwiO1xuQGltcG9ydCBcInBhbmVsc1wiO1xuQGltcG9ydCBcInZlcnRpY2FsXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcIm5hdmJhcnNcIjtcbkBpbXBvcnQgXCJsaXN0dmlld3NcIjtcblxuQGluY2x1ZGUgbW1fY29sb3JzOyIsIi8vXHRHZW5lcmljIGNsYXNzZXNcbi5tbS1oaWRkZW5cbntcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8vXHRDb250YWluZXJcbi5tbS13cmFwcGVyXG57XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vXHRNZW51XG4ubW0tbWVudVxue1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5cdGJvdHRvbTogMDtcblx0ei1pbmRleDogMDtcbn0iLCIubW0tcGFuZWxzLFxuLm1tLXBhbmVscyA+IC5tbS1wYW5lbFxue1xuXHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xuXHRib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdG1hcmdpbjogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdHotaW5kZXg6IDA7XG59XG4ubW0tcGFuZWxzXG57XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG4ubW0tcGFuZWxcbntcblx0QGluY2x1ZGUgbW1fdHJhbnNsYXRlKCAxMDAlLCAwICk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG5cdHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuXG5cdCYubW0tb3BlbmVkXG5cdHtcblx0XHRAaW5jbHVkZSBtbV90cmFuc2xhdGUoIDAlLCAwICk7XG5cdH1cblx0Ji5tbS1zdWJvcGVuZWRcblx0e1xuXHRcdEBpbmNsdWRlIG1tX3RyYW5zbGF0ZSggLSRtbV9zdWJwYW5lbE9mZnNldCwgMCApO1xuXHR9XG5cdCYubW0taGlnaGVzdFxuXHR7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cdCYubW0tbm9hbmltYXRpb25cblx0e1xuXHRcdHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuXHRcdCYubW0tc3Vib3BlbmVkXG5cdFx0e1xuXHRcdFx0QGluY2x1ZGUgbW1fdHJhbnNsYXRlKCAwLCAwICk7XG5cdFx0fVxuXHR9XG59XG5cbi5tbS1wYW5lbHMgPiAubW0tcGFuZWxcbntcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRvdmVyZmxvdzogc2Nyb2xsO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cblx0cGFkZGluZzogMCAkbW1fcGFuZWxQYWRkaW5nO1xuXG5cdCYubW0taGFzbmF2YmFyXG5cdHtcblx0XHRwYWRkaW5nLXRvcDogJG1tX25hdmJhckhlaWdodDtcblx0fVxuXG5cdC8vXHRGaXhlcyBjc3MgZnJvbSBvdGhlciBzY3JpcHRzL3N0eWxlcyBoaWRpbmcgc3VibWVudXNcblx0Jjpub3QoLm1tLWhpZGRlbilcblx0e1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ly9cdEJlY2F1c2UgcGFkZGluZy1ib3R0b20gaW4gc29tZSBicm93c2VycyBpcyBpZ25vcmVkIHdoZW4gYSBESVYgaXMgc2Nyb2xsYWJsZVxuXHQmOmJlZm9yZSxcblx0JjphZnRlclxuXHR7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAkbW1fcGFuZWxQYWRkaW5nO1xuXHR9XG59IiwiLy9cdEJvcmRlcnNcbkBtaXhpbiBtbV9ib3JkZXIoICRib3JkZXIsICRwc2V1ZG8sICRwb3MxLCAkcG9zMiwgJHBvczMgKVxue1xuXHQmOiN7JHBzZXVkb31cblx0e1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGJvcmRlci0jeyRib3JkZXJ9LXdpZHRoOiAxcHg7XG5cdFx0Ym9yZGVyLSN7JGJvcmRlcn0tc3R5bGU6IHNvbGlkO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQjeyRwb3MxfTogMDtcblx0XHQjeyRwb3MyfTogMDtcblx0XHQjeyRwb3MzfTogMDtcblx0fVxufVxuQG1peGluIG1tX2JvcmRlcl90b3Bcbntcblx0QGluY2x1ZGUgbW1fYm9yZGVyKCBcInRvcFwiLCBcImJlZm9yZVwiLCBcImxlZnRcIiwgXCJyaWdodFwiLCBcInRvcFwiICk7XG59XG5AbWl4aW4gbW1fYm9yZGVyX3JpZ2h0XG57XG5cdEBpbmNsdWRlIG1tX2JvcmRlciggXCJyaWdodFwiLCBcImFmdGVyXCIsIFwidG9wXCIsIFwiYm90dG9tXCIsIFwicmlnaHRcIiApO1xufVxuQG1peGluIG1tX2JvcmRlcl9ib3R0b21cbntcblx0QGluY2x1ZGUgbW1fYm9yZGVyKCBcImJvdHRvbVwiLCBcImFmdGVyXCIsIFwibGVmdFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIgKTtcbn1cbkBtaXhpbiBtbV9ib3JkZXJfbGVmdFxue1xuXHRAaW5jbHVkZSBtbV9ib3JkZXIoIFwibGVmdFwiLCBcImJlZm9yZVwiLCBcInRvcFwiLCBcImJvdHRvbVwiLCBcImxlZnRcIiApO1xufVxuXG5cbi8vXHRNaXNjXG5AbWl4aW4gbW1fdHJhbnNsYXRlKCAkeDogMCwgJHk6IDAsICR6OiAwIClcbntcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoICR4LCAkeSApO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAkeCwgJHksICR6ICk7XG59XG5AbWl4aW4gbW1fZWxsaXBzaXMoKVxue1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtaXhpbiBtbV9jbGVhcmZpeCgpXG57XG5cdCY6YWZ0ZXJcblx0e1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHR9XG59IiwiLy9cbi8vIE1NZW51XG4vL1xuLy8gVGFibGUgb2YgQ29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgVmFyaWFibGVzXG4vLyAjIEltcG9ydHNcbi8vICMgT3ZlcnJpZGVzICovXG5cbi8vICMgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gQW5pbWF0aW9uc1xuJG1tX3RyYW5zaXRpb25EdXJhdGlvbjogMC40cyAhZGVmYXVsdDtcbiRtbV90cmFuc2l0aW9uRnVuY3Rpb246IGVhc2UgIWRlZmF1bHQ7XG5cbi8vIENvbG9yc1xuJG1tX2JhY2tncm91bmRDb2xvcjogZGFya2VuKCRjb2xvci1wcmltYXJ5LCA3JSkgIWRlZmF1bHQ7XG4kbW1fYm9yZGVyQ29sb3I6IHJnYmEoI2ZmZiwgMC40KSAhZGVmYXVsdDtcbiRtbV9kaW1tZWRUZXh0Q29sb3I6IHJnYmEoI2ZmZiwgMC4zKSAhZGVmYXVsdDtcbiRtbV9lbXBoYXNpemVkQmFja2dyb3VuZENvbG9yOiByZ2JhKCNmZmYsIDAuNSkgIWRlZmF1bHQ7XG4kbW1faGlnaGxpZ2h0ZWRCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoI2ZmZiwgMC4wNSkgIWRlZmF1bHQ7XG4kbW1fdGV4dENvbG9yOiByZ2JhKCNmZmYsIDAuOTkpICFkZWZhdWx0O1xuXG4vLyBTaXplc1xuJG1tX3BhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG4kbW1fYnRuU2l6ZTogNDBweCAhZGVmYXVsdDtcbiRtbV9mb250U2l6ZTogMTZweCAhZGVmYXVsdDtcbiRtbV9saXN0aXRlbUluZGVudDogJG1tX3BhZGRpbmcgKiAyICFkZWZhdWx0O1xuJG1tX2xpc3RpdGVtUGFkZGluZzogJG1tX3BhZGRpbmcgIWRlZmF1bHQ7XG4kbW1fcGFuZWxQYWRkaW5nOiAkbW1fcGFkZGluZyAqIDIgIWRlZmF1bHQ7XG4kbW1fc3Vib3BlbldpZHRoOiAkbW1fYnRuU2l6ZSArICRtbV9wYWRkaW5nICFkZWZhdWx0O1xuJG1tX3N1YnBhbmVsT2Zmc2V0OiAzMCUgIWRlZmF1bHQ7XG5cbi8vIEV4dGVuc2lvbiBjb2xvcnNcbiRtbV90b2dnbGVDaGVja2VkQ29sb3I6ICM0YmQ5NjMgIWRlZmF1bHQ7XG4kbW1faW5wdXRCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoI2ZmZiwgMC4wNSkgIWRlZmF1bHQ7XG4kbW1fcGFnZVNoYWRvdzogMCAwIDEwcHggcmdiYSgjZmZmLCAwLjMpICFkZWZhdWx0O1xuJG1tX3BhbmVsU2hhZG93OiAkbW1fcGFnZVNoYWRvdyAhZGVmYXVsdDtcblxuLy8gRXh0ZW5zaW9uIHNpemVzXG4kbW1fbWVudVdpZHRoOiAwLjggIWRlZmF1bHQ7XG4kbW1fbWVudU1pbldpZHRoOiAxNDBweCAhZGVmYXVsdDtcbiRtbV9tZW51TWF4V2lkdGg6IDQ0MHB4ICFkZWZhdWx0O1xuXG4kbW1fbWVudUhlaWdodDogMC44ICFkZWZhdWx0O1xuJG1tX21lbnVNaW5IZWlnaHQ6IDE0MHB4ICFkZWZhdWx0O1xuJG1tX21lbnVNYXhIZWlnaHQ6IDg4MHB4ICFkZWZhdWx0O1xuXG4kbW1fY2hlY2tIZWlnaHQ6ICRtbV9idG5TaXplIC0gJG1tX3BhZGRpbmcgIWRlZmF1bHQ7XG4kbW1fY2hlY2tXaWR0aDogJG1tX2J0blNpemUgLSAkbW1fcGFkZGluZyAhZGVmYXVsdDtcblxuJG1tX2NvdW50ZXJXaWR0aDogJG1tX2J0blNpemUgIWRlZmF1bHQ7XG5cbiRtbV9kaXZpZGVyRm9udFNpemU6IDEwcHggIWRlZmF1bHQ7XG4kbW1fZGl2aWRlckhlaWdodDogKCAkbW1fYnRuU2l6ZSAvIDIgKSArICggJG1tX3BhZGRpbmcgLyAyICkgIWRlZmF1bHQ7XG5cbiRtbV9uYXZiYXJIZWlnaHQ6ICRtbV9idG5TaXplICFkZWZhdWx0O1xuJG1tX2JyZWFkY3J1bWJQYWRkaW5nOiByb3VuZCgkbW1fcGFkZGluZyAvIDQpICFkZWZhdWx0O1xuXG4kbW1faWNvbmJhcldpZHRoOiAkbW1fYnRuU2l6ZSArICggJG1tX3BhZGRpbmcgKiAyICkgIWRlZmF1bHQ7XG4kbW1faWNvbnBhbmVsV2lkdGg6ICRtbV9idG5TaXplICFkZWZhdWx0O1xuXG4kbW1fc2VjdGlvbkluZGV4ZXJXaWR0aDogJG1tX3BhZGRpbmcgKiAyICFkZWZhdWx0O1xuXG4kbW1fdG9nZ2xlSGVpZ2h0OiAkbW1fYnRuU2l6ZSAtICRtbV9wYWRkaW5nICFkZWZhdWx0O1xuJG1tX3RvZ2dsZVdpZHRoOiAoICRtbV90b2dnbGVIZWlnaHQgKiAyICkgLSAkbW1fcGFkZGluZyAhZGVmYXVsdDtcblxuJG1tX3pvb21TY2FsZURvd246IDAuNyAhZGVmYXVsdDtcbiRtbV96b29tU2NhbGVVcDogMS41ICFkZWZhdWx0O1xuXG4vLyAjIEltcG9ydHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgJy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnkubW1lbnUvc3JjL2NvcmUvb25jYW52YXMvanF1ZXJ5Lm1tZW51Lm9uY2FudmFzJztcbkBpbXBvcnQgJy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnkubW1lbnUvc3JjL2NvcmUvb2ZmY2FudmFzL2pxdWVyeS5tbWVudS5vZmZjYW52YXMnO1xuQGltcG9ydCAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2pxdWVyeS5tbWVudS9zcmMvZXh0ZW5zaW9ucy9lZmZlY3RzL2pxdWVyeS5tbWVudS5lZmZlY3RzJztcbkBpbXBvcnQgJy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9qcXVlcnkubW1lbnUvc3JjL2V4dGVuc2lvbnMvcG9zaXRpb25pbmcvanF1ZXJ5Lm1tZW51LnBvc2l0aW9uaW5nJztcblxuLy8gIyBPdmVycmlkZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubW0tbWVudSB7XG5cdC5tbS1uYXZiYXIge1xuXHRcdD4gYSxcblx0XHQ+ICoge1xuXHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLXdoaXRlO1xuXHRcdH1cblx0fVxuXG5cdC5tbS1zcm9ubHkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQubW0tYnRuIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHJnYmEoJGNvbG9yLXdoaXRlLCAwLjQpO1xuXHRcdH1cblx0fVxuXG5cdC5tbS1saXN0dmlldyB7XG5cdFx0bGkge1xuXHRcdFx0Ji5pcy1hY3RpdmUsXG5cdFx0XHQmLm1tLXNlbGVjdGVkLFxuXHRcdFx0Ji5jdXJyZW50LW1lbnUtYW5jZXN0b3IsXG5cdFx0XHQmLmN1cnJlbnQtbWVudS1pdGVtIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1ibGFjayFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci1ibGFjaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIkBpZiAoICRtbV9jc3NfdmVydGljYWwgKVxue1xuXG5cdC5tbS12ZXJ0aWNhbCAubW0tcGFuZWxcblx0e1xuXHRcdHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Lm1tLXZlcnRpY2FsIC5tbS1saXN0dmlldyxcblx0Lm1tLWxpc3R2aWV3IC5tbS12ZXJ0aWNhbFxuXHR7XG5cdFx0Lm1tLXBhbmVsXG5cdFx0e1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdHBhZGRpbmc6ICRtbV9wYWRkaW5nIDAgJG1tX3BhZGRpbmcgJG1tX3BhZGRpbmc7XG5cblx0XHRcdC5tbS1saXN0dmlldyA+IGxpOmxhc3QtY2hpbGQ6YWZ0ZXJcblx0XHRcdHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Lm1tLXZlcnRpY2FsIGxpLm1tLW9wZW5lZCxcblx0bGkubW0tdmVydGljYWwubW0tb3BlbmVkXG5cdHtcblx0XHQ+IC5tbS1wYW5lbFxuXHRcdHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXHQubW0tdmVydGljYWwgLm1tLWxpc3R2aWV3ID4gbGksXG5cdC5tbS1saXN0dmlldyA+IGxpLm1tLXZlcnRpY2FsXG5cdHtcblx0XHQ+IC5tbS1uZXh0XG5cdFx0e1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdGhlaWdodDogJG1tX2J0blNpemU7XG5cdFx0XHRib3R0b206IGF1dG87XG5cdFx0fVxuXHRcdCYubW0tb3BlbmVkXG5cdFx0e1xuXHRcdFx0PiAubW0tbmV4dDphZnRlclxuXHRcdFx0e1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSggMjI1ZGVnICk7XG5cdFx0XHRcdHJpZ2h0OiAkbW1fbGlzdGl0ZW1JbmRlbnQgLSAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcbn0iLCJAaWYgKCAkbW1fY3NzX2J1dHRvbnMgKVxue1xuXHQubW0tYnRuXG5cdHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdHdpZHRoOiAkbW1fYnRuU2l6ZTtcblx0XHRoZWlnaHQ6ICRtbV9idG5TaXplO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cdC5tbS1jbGVhcixcblx0Lm1tLWNsb3NlXG5cdHtcblx0XHRAaW5jbHVkZSBtbV9idG5fY3Jvc3MoKTtcblx0fVxuXG5cdC5tbS1wcmV2OmJlZm9yZSxcblx0Lm1tLW5leHQ6YWZ0ZXJcblx0e1xuXHRcdEBpbmNsdWRlIG1tX2J0bl9hcnJvdztcblx0fVxuXHQubW0tcHJldjpiZWZvcmVcblx0e1xuXHRcdEBpbmNsdWRlIG1tX2J0bl9hcnJvd19wcmV2O1xuXHR9XG5cdC5tbS1uZXh0OmFmdGVyXG5cdHtcblx0XHRAaW5jbHVkZSBtbV9idG5fYXJyb3dfbmV4dDtcblx0fVx0XG59IiwiLy9cdENsb3NlIC8gY2xlYXJcbkBtaXhpbiBtbV9idG5fY3Jvc3Ncbntcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXJcblx0e1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiA1cHg7XG5cdFx0aGVpZ2h0OiA1cHg7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoIC00NWRlZyApO1xuXHR9XG5cdCY6YmVmb3JlXG5cdHtcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRyaWdodDogJG1tX2xpc3RpdGVtSW5kZW50IC0gMjtcblx0fVxuXHQmOmFmdGVyXG5cdHtcblx0XHRib3JkZXItbGVmdDogbm9uZTtcblx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdHJpZ2h0OiAkbW1fbGlzdGl0ZW1JbmRlbnQgKyA1O1xuXHR9XG59XG5cblxuLy8gQXJyb3dzXG5AbWl4aW4gbW1fYnRuX2Fycm93XG57XG5cdGNvbnRlbnQ6ICcnO1xuXHRib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiA4cHg7XG5cdGhlaWdodDogOHB4O1xuXHRtYXJnaW46IGF1dG87XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG59XG5AbWl4aW4gbW1fYnRuX2Fycm93X3ByZXZcbntcblx0dHJhbnNmb3JtOiByb3RhdGUoIC00NWRlZyApO1xuXHRsZWZ0OiAkbW1fbGlzdGl0ZW1JbmRlbnQgKyAzO1xuXHRyaWdodDogYXV0bztcbn1cbkBtaXhpbiBtbV9idG5fYXJyb3dfbmV4dFxue1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSggMTM1ZGVnICk7XG5cdHJpZ2h0OiAkbW1fbGlzdGl0ZW1JbmRlbnQgKyAzO1xuXHRsZWZ0OiBhdXRvO1xufSIsIkBpZiAoICRtbV9jc3NfbmF2YmFycyApXG57XG5cdC5tbS1uYXZiYXJcblx0e1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcblx0XHRib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGxpbmUtaGVpZ2h0OiAkbW1fYnRuU2l6ZSAvIDI7XG5cblx0XHRoZWlnaHQ6ICRtbV9uYXZiYXJIZWlnaHQ7XG5cdFx0cGFkZGluZzogMCAkbW1fYnRuU2l6ZTtcblxuXHRcdG1hcmdpbjogMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cblx0XHQ+ICpcblx0XHR7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmc6ICggJG1tX2J0blNpemUgLyA0ICkgMDtcblx0XHR9XG5cdFx0YSxcblx0XHRhOmhvdmVyXG5cdFx0e1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblx0XHQubW0tdGl0bGVcblx0XHR7XG5cdFx0XHRAaW5jbHVkZSBtbV9lbGxpcHNpcztcblx0XHR9XG5cdFx0Lm1tLWJ0blxuXHRcdHtcblx0XHRcdCY6Zmlyc3QtY2hpbGRcblx0XHRcdHtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdH1cblx0XHRcdCY6bGFzdC1jaGlsZFxuXHRcdFx0e1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5tbS1wYW5lbFxuXHR7XG5cdFx0Lm1tLW5hdmJhclxuXHRcdHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdCYubW0taGFzbmF2YmFyIC5tbS1uYXZiYXJcblx0XHR7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cbn0iLCJAaWYgKCAkbW1fY3NzX2xpc3R2aWV3cyApXG57XG5cdC5tbS1saXN0dmlldyxcblx0Lm1tLWxpc3R2aWV3ID4gbGlcblx0e1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogMDtcblx0XHRtYXJnaW46IDA7XG5cdH1cblx0Lm1tLWxpc3R2aWV3XG5cdHtcblx0XHRmb250OiBpbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTogJG1tX2ZvbnRTaXplO1xuXHRcdGxpbmUtaGVpZ2h0OiAkbW1fYnRuU2l6ZSAtICggJG1tX2xpc3RpdGVtUGFkZGluZyAqIDIgKTtcblxuXHRcdGEsXG5cdFx0YTpob3ZlclxuXHRcdHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cblx0XHQ+IGxpXG5cdFx0e1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmLFxuXHRcdFx0JjphZnRlcixcblx0XHRcdC5tbS1uZXh0LFxuXHRcdFx0Lm1tLW5leHQ6YmVmb3JlXG5cdFx0XHR7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblx0XHRcdH1cblxuXHRcdFx0PiBhLFxuXHRcdFx0PiBzcGFuXG5cdFx0XHR7XG5cdFx0XHRcdEBpbmNsdWRlIG1tX2VsbGlwc2lzO1xuXG5cdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cGFkZGluZzogJG1tX2xpc3RpdGVtUGFkZGluZyAkbW1fbGlzdGl0ZW1QYWRkaW5nICRtbV9saXN0aXRlbVBhZGRpbmcgJG1tX2xpc3RpdGVtSW5kZW50O1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCY6bm90KC5tbS1kaXZpZGVyKVxuXHRcdFx0e1xuXHRcdFx0XHRAaW5jbHVkZSBtbV9ib3JkZXJfYm90dG9tO1xuXG5cdFx0XHRcdCY6YWZ0ZXJcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGxlZnQ6ICRtbV9saXN0aXRlbUluZGVudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIHN1Ym9wZW5cblx0XHQubW0tbmV4dFxuXHRcdHtcblx0XHRcdEBpbmNsdWRlIG1tX2JvcmRlcl9sZWZ0O1xuXG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCAzLCAyLCAxLCAwICk7XG5cdFx0XHR3aWR0aDogJG1tX3N1Ym9wZW5XaWR0aDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHotaW5kZXg6IDI7XG5cblx0XHRcdCsgYSxcblx0XHRcdCsgc3BhblxuXHRcdFx0e1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6ICRtbV9zdWJvcGVuV2lkdGg7XG5cdFx0XHR9XG5cblx0XHRcdCYubW0tZnVsbHN1Ym9wZW5cblx0XHRcdHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFxuXHRcdFx0XHQmOmJlZm9yZVxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCsgYSxcblx0XHRcdFx0KyBzcGFuXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAkbW1fc3Vib3BlbldpZHRoO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQubW0tcGFuZWxzID4gLm1tLXBhbmVsIFxuXHR7XG5cdFx0PiAubW0tbGlzdHZpZXdcblx0XHR7XG5cdFx0XHRtYXJnaW46ICRtbV9wYW5lbFBhZGRpbmcgKCAtJG1tX3BhbmVsUGFkZGluZyApO1xuXHRcdH1cblx0XHQ+IC5tbS1saXN0dmlldzpmaXJzdC1jaGlsZCxcblx0XHQ+IC5tbS1uYXZiYXIgKyAubW0tbGlzdHZpZXdcblx0XHR7XG5cdFx0XHRtYXJnaW4tdG9wOiAtJG1tX3BhbmVsUGFkZGluZztcblx0XHR9XG5cdH1cbn0iLCJAbWl4aW4gbW1fY29sb3JzKCAkY2xzOiBcIlwiLFxuXHQkYmFzZUJnOiAkbW1fYmFja2dyb3VuZENvbG9yLFxuXHQkY29sb3I6ICRtbV90ZXh0Q29sb3IsICRkaW1tZWRDb2xvcjogJG1tX2RpbW1lZFRleHRDb2xvcixcblx0JGVtcGhhc2l6ZWRCZzogJG1tX2VtcGhhc2l6ZWRCYWNrZ3JvdW5kQ29sb3IsICRoaWdobGlnaHRlZEJnOiAkbW1faGlnaGxpZ2h0ZWRCYWNrZ3JvdW5kQ29sb3IsXG5cdCRib3JkZXJDb2xvcjogJG1tX2JvcmRlckNvbG9yLFxuXHQkbmF2YmFyQ29sb3I6ICRtbV9uYXZiYXJDb2xvclxuKSB7XG5cdC5tbS1tZW51I3skY2xzfVxuXHR7XG5cdFx0YmFja2dyb3VuZDogJGJhc2VCZztcblx0XHRib3JkZXItY29sb3I6ICRib3JkZXJDb2xvcjtcblx0XHRjb2xvcjogJGNvbG9yO1xuXG5cdFx0Lm1tLW5hdmJhclxuXHRcdHtcblx0XHRcdD4gKixcblx0XHRcdGFcblx0XHRcdHtcblx0XHRcdFx0Y29sb3I6ICRuYXZiYXJDb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQubW0tYnRuXG5cdFx0e1xuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHQmOmFmdGVyXG5cdFx0XHR7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJG5hdmJhckNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5tbS1saXN0dmlld1xuXHRcdHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGJvcmRlckNvbG9yO1xuXG5cdFx0XHQ+IGxpXG5cdFx0XHR7XG5cdFx0XHRcdC5tbS1uZXh0OmFmdGVyXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRkaW1tZWRDb2xvcjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGE6bm90KC5tbS1uZXh0KVxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAkZW1waGFzaXplZEJnO1xuXHRcdFx0XHRcdHRhcC1oaWdobGlnaHQtY29sb3I6ICRlbXBoYXNpemVkQmc7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLm1tLXNlbGVjdGVkXG5cdFx0XHRcdHtcblx0XHRcdFx0XHQ+IGE6bm90KC5tbS1uZXh0KSxcblx0XHRcdFx0XHQ+IHNwYW5cblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkZW1waGFzaXplZEJnO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYubW0tdmVydGljYWwgLm1tLWxpc3R2aWV3ID4gbGkubW0tb3BlbmVkLFxuXHRcdC5tbS1saXN0dmlldyA+IGxpLm1tLW9wZW5lZC5tbS12ZXJ0aWNhbFxuXHRcdHtcblx0XHRcdD4gYS5tbS1uZXh0LFxuXHRcdFx0PiAubW0tcGFuZWxcblx0XHRcdHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGhpZ2hsaWdodGVkQmc7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm1tLWRpdmlkZXIgXG5cdFx0e1xuXHRcdFx0YmFja2dyb3VuZDogJGhpZ2hsaWdodGVkQmc7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBtbV9jb2xvcnNfY2hlY2tzKCAkY2xzOiBcIlwiLFxuXHQkY29sb3I6ICRtbV90ZXh0Q29sb3Jcbikge1xuXHQubW0tbWVudSN7JGNsc30gbGFiZWwubW0tY2hlY2s6YmVmb3JlXG5cdHtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvcjtcblx0fVxufVxuXG5AbWl4aW4gbW1fY29sb3JzX2NvdW50ZXJzKCAkY2xzOiBcIlwiLFxuXHQkZGltbWVkQ29sb3I6ICRtbV9kaW1tZWRUZXh0Q29sb3Jcbikge1xuXHQubW0tbWVudSN7JGNsc30gZW0ubW0tY291bnRlclxuXHR7XG5cdFx0Y29sb3I6ICRkaW1tZWRDb2xvcjtcblx0fVxufVxuXG5AbWl4aW4gbW1fY29sb3JzX2RpdmlkZXJzKCAkY2xzOiBcIlwiLFxuXHQkaGlnaGxpZ2h0ZWRCZzogJG1tX2hpZ2hsaWdodGVkQmFja2dyb3VuZENvbG9yXG4pIHtcblx0Lm1tLW1lbnUjeyRjbHN9XG5cdHtcblx0XHQubW0tZml4ZWRkaXZpZGVyIHNwYW5cblx0XHR7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkaGlnaGxpZ2h0ZWRCZztcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIG1tX2NvbG9yc19wYWdlc2hhZG93KCAkY2xzOiBcIlwiLFxuXHQkcGFnZVNoYWRvdzogJG1tX3BhZ2VTaGFkb3dcbikge1xuXHQubW0tbWVudS5tbS1zaGFkb3ctcGFnZSN7JGNsc31cblx0e1xuXHRcdCY6YWZ0ZXJcblx0XHR7XG5cdFx0XHRAaWYgKCAkcGFnZVNoYWRvdyApXG5cdFx0XHR7XG5cdFx0XHRcdGJveC1zaGFkb3c6ICRwYWdlU2hhZG93O1xuXHRcdFx0fVxuXHRcdFx0QGVsc2Vcblx0XHRcdHtcblx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbkBtaXhpbiBtbV9jb2xvcnNfcGFuZWxzaGFkb3coICRjbHM6IFwiXCIsXG5cdCRwYW5lbFNoYWRvdzogJG1tX3BhbmVsU2hhZG93XG4pIHtcblx0Lm1tLW1lbnUubW0tc2hhZG93LXBhbmVscyN7JGNsc31cblx0e1xuXHRcdC5tbS1wYW5lbC5tbS1vcGVuZWQ6bnRoLWNoaWxkKG4rMilcblx0XHR7XG5cdFx0XHRib3gtc2hhZG93OiAkcGFuZWxTaGFkb3c7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBtbV9jb2xvcnNfc2VhcmNoZmllbGQoICRjbHM6IFwiXCIsXG5cdCRpbnB1dEJnOiAkbW1faW5wdXRCYWNrZ3JvdW5kQ29sb3IsICRjb2xvcjogJG1tX3RleHRDb2xvcixcblx0JGRpbW1lZENvbG9yOiAkbW1fZGltbWVkVGV4dENvbG9yXG4pIHtcblx0Lm1tLW1lbnUjeyRjbHN9XG5cdHtcblx0XHQubW0tc2VhcmNoIGlucHV0XG5cdFx0e1xuXHRcdFx0YmFja2dyb3VuZDogJGlucHV0Qmc7XG5cdFx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdH1cblx0XHQubW0tbm9yZXN1bHRzbXNnXG5cdFx0e1xuXHRcdFx0Y29sb3I6ICRkaW1tZWRDb2xvcjtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIG1tX2NvbG9yc19zZWN0aW9uaW5kZXhlciggJGNsczogXCJcIixcblx0JGNvbG9yOiAkbW1fZGltbWVkVGV4dENvbG9yXG4pIHtcblx0Lm1tLW1lbnUjeyRjbHN9IC5tbS1pbmRleGVyIGFcblx0e1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cbn1cblxuQG1peGluIG1tX2NvbG9yc19zZXRzZWxlY3RlZCggJGNsczogXCJcIixcblx0JGVtcGhhc2l6ZWRCZzogJG1tX2VtcGhhc2l6ZWRCYWNrZ3JvdW5kQ29sb3Jcbikge1xuXHQubW0tbWVudVxuXHR7XG5cdFx0Ji5tbS1ob3ZlcnNlbGVjdGVkI3skY2xzfSAubW0tbGlzdHZpZXcgPiBsaVxuXHRcdHtcblx0XHRcdD4gYTpub3QoLm1tLWZ1bGxzdWJvcGVuKTpob3Zlcixcblx0XHRcdD4gYS5tbS1mdWxsc3Vib3Blbjpob3ZlciArIHNwYW5cblx0XHRcdHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGVtcGhhc2l6ZWRCZztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLm1tLXBhcmVudHNlbGVjdGVkI3skY2xzfSAubW0tbGlzdHZpZXcgPiBsaVxuXHRcdHtcblx0XHRcdD4gYS5tbS1zZWxlY3RlZFxuXHRcdFx0e1xuXHRcdFx0XHQmOm5vdCgubW0tZnVsbHN1Ym9wZW4pLFxuXHRcdFx0XHQmLm1tLWZ1bGxzdWJvcGVuICsgc3Bhbixcblx0XHRcdFx0Ji5tbS1mdWxsc3Vib3BlbiArIGFcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRlbXBoYXNpemVkQmc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIG1tX2NvbG9yc19rZXlib2FyZG5hdmlnYXRpb24oICRjbHM6IFwiXCIsXG5cdCRlbXBoYXNpemVkQmc6ICRtbV9lbXBoYXNpemVkQmFja2dyb3VuZENvbG9yXG4pIHtcblx0Lm1tLW1lbnVcblx0e1xuXHRcdCYubW0ta2V5Ym9hcmRmb2N1cyBhOmZvY3VzXG5cdFx0e1xuXHRcdFx0YmFja2dyb3VuZDogJGVtcGhhc2l6ZWRCZztcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIG1tX2NvbG9yc190b2dnbGVzKCAkY2xzOiBcIlwiLFxuXHQkYnV0dG9uQmc6ICRtbV9iYWNrZ3JvdW5kQ29sb3IsXG5cdCRvZmZCZzogJG1tX2JvcmRlckNvbG9yLCAkb25CZzogJG1tX3RvZ2dsZUNoZWNrZWRDb2xvclxuKSB7XG5cdC5tbS1tZW51I3skY2xzfVxuXHR7XG5cdFx0bGFiZWwubW0tdG9nZ2xlXG5cdFx0e1xuXHRcdFx0YmFja2dyb3VuZDogJG9mZkJnO1xuXHRcdFxuXHRcdFx0JjpiZWZvcmVcblx0XHRcdHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGJ1dHRvbkJnO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpbnB1dC5tbS10b2dnbGU6Y2hlY2tlZCB+IGxhYmVsLm1tLXRvZ2dsZVxuXHRcdHtcblx0XHRcdGJhY2tncm91bmQ6ICRvbkJnO1xuXHRcdH1cblx0fVxufSIsIi8vXHRPcHQgaW4gQ1NTXG4kbW1fY3NzX3ZlcnRpY2FsXHQ6IHRydWU7XG4kbW1fY3NzX2J1dHRvbnNcdFx0OiB0cnVlO1xuJG1tX2Nzc19uYXZiYXJzXHRcdDogdHJ1ZTtcbiRtbV9jc3NfbGlzdHZpZXdzXHQ6IHRydWU7XG5cbi8vXHRBbmltYXRpb25zXG4kbW1fdHJhbnNpdGlvbkR1cmF0aW9uOiAwLjRzICFkZWZhdWx0O1xuJG1tX3RyYW5zaXRpb25GdW5jdGlvbjogZWFzZSAhZGVmYXVsdDtcblxuLy9cdENvbG9yc1xuJG1tX2JhY2tncm91bmRDb2xvclx0XHRcdFx0OiAjZjNmM2YzICFkZWZhdWx0O1xuJG1tX2JvcmRlckNvbG9yXHRcdFx0XHRcdDogcmdiYSggIzAwMCwgMC4xICkgIWRlZmF1bHQ7XG4kbW1fZGltbWVkVGV4dENvbG9yXHRcdFx0XHQ6IHJnYmEoICMwMDAsIDAuMyApICFkZWZhdWx0O1xuJG1tX2VtcGhhc2l6ZWRCYWNrZ3JvdW5kQ29sb3JcdDogcmdiYSggI2ZmZiwgMC41ICkgIWRlZmF1bHQ7XG4kbW1faGlnaGxpZ2h0ZWRCYWNrZ3JvdW5kQ29sb3JcdDogcmdiYSggIzAwMCwgMC4wNSApICFkZWZhdWx0O1xuJG1tX25hdmJhckNvbG9yXHRcdFx0XHRcdDogcmdiYSggIzAwMCwgMC4zICkgIWRlZmF1bHQ7XG4kbW1fdGV4dENvbG9yXHRcdFx0XHRcdDogcmdiYSggIzAwMCwgMC43NSApICFkZWZhdWx0O1xuXG4vL1x0U2l6ZXNcbiRtbV9tZW51V2lkdGhcdFx0OiAwLjggIWRlZmF1bHQ7XG4kbW1fbWVudU1pbldpZHRoXHQ6IDE0MHB4ICFkZWZhdWx0O1xuJG1tX21lbnVNYXhXaWR0aFx0OiA0NDBweCAhZGVmYXVsdDtcblxuJG1tX21lbnVIZWlnaHRcdFx0OiAwLjggIWRlZmF1bHQ7XG4kbW1fbWVudU1pbkhlaWdodFx0OiAxNDBweCAhZGVmYXVsdDtcbiRtbV9tZW51TWF4SGVpZ2h0XHQ6IDg4MHB4ICFkZWZhdWx0O1xuXG4kbW1fcGFkZGluZ1x0XHRcdDogMTBweCAhZGVmYXVsdDtcblxuJG1tX2J0blNpemVcdFx0XHQ6IDQwcHggIWRlZmF1bHQ7XG4kbW1fZm9udFNpemVcdFx0OiAxNHB4ICFkZWZhdWx0O1xuJG1tX2xpc3RpdGVtSW5kZW50XHQ6ICRtbV9wYWRkaW5nICogMiAhZGVmYXVsdDtcbiRtbV9saXN0aXRlbVBhZGRpbmdcdDogJG1tX3BhZGRpbmcgIWRlZmF1bHQ7XG4kbW1fcGFuZWxQYWRkaW5nXHQ6ICRtbV9wYWRkaW5nICogMiAhZGVmYXVsdDtcbiRtbV9zdWJvcGVuV2lkdGhcdDogJG1tX2J0blNpemUgKyAkbW1fcGFkZGluZyAhZGVmYXVsdDtcbiRtbV9zdWJwYW5lbE9mZnNldFx0OiAzMCUgIWRlZmF1bHQ7XG5cblxuLy9cdEFkZG9ucyBhbmQgRXh0ZW5zaW9uc1xuJG1tX3RvZ2dsZUNoZWNrZWRDb2xvclx0OiAjNGJkOTYzICFkZWZhdWx0O1xuJG1tX3RvZ2dsZUhlaWdodFx0XHQ6ICRtbV9idG5TaXplIC0gJG1tX3BhZGRpbmcgIWRlZmF1bHQ7XG4kbW1fdG9nZ2xlV2lkdGhcdFx0XHQ6ICggJG1tX3RvZ2dsZUhlaWdodCAqIDIgKSAtICRtbV9wYWRkaW5nICFkZWZhdWx0O1xuJG1tX2NoZWNrSGVpZ2h0XHRcdFx0OiAkbW1fYnRuU2l6ZSAtICRtbV9wYWRkaW5nICFkZWZhdWx0O1xuJG1tX2NoZWNrV2lkdGhcdFx0XHQ6ICRtbV9idG5TaXplIC0gJG1tX3BhZGRpbmcgIWRlZmF1bHQ7XG5cbiRtbV9jb3VudGVyV2lkdGhcdFx0OiAkbW1fYnRuU2l6ZSAhZGVmYXVsdDtcblxuJG1tX2RpdmlkZXJGb250U2l6ZVx0XHQ6IDEwcHggIWRlZmF1bHQ7XG4kbW1fZGl2aWRlckhlaWdodFx0XHQ6ICggJG1tX2J0blNpemUgLyAyICkgKyAoICRtbV9wYWRkaW5nIC8gMiApICFkZWZhdWx0O1xuXG4kbW1fZHJvcGRvd25TaGFkb3dcdFx0OiAwIDJweCAxMHB4IHJnYmEoICMwMDAsIDAuMyApICFkZWZhdWx0O1xuJG1tX2Ryb3Bkb3duVGlwWFx0XHQ6IDIwcHggIWRlZmF1bHQ7XG4kbW1fZHJvcGRvd25UaXBZXHRcdDogMTBweCAhZGVmYXVsdDtcblxuJG1tX2ljb25iYXJXaWR0aFx0XHQ6ICRtbV9idG5TaXplICsgKCAkbW1fcGFkZGluZyAqIDIgKSAhZGVmYXVsdDtcbiRtbV9pY29ucGFuZWxXaWR0aFx0XHQ6ICRtbV9idG5TaXplICFkZWZhdWx0O1xuXG4kbW1faW5wdXRCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoICMwMDAsIDAuMDUgKSAhZGVmYXVsdDtcblxuJG1tX2xpc3RpdGVtU21hbGxQYWRkaW5nOiAkbW1fbGlzdGl0ZW1QYWRkaW5nICogMC43ICFkZWZhdWx0O1xuJG1tX2xpc3RpdGVtTGFyZ2VQYWRkaW5nOiAkbW1fbGlzdGl0ZW1QYWRkaW5nICogMS41ICFkZWZhdWx0O1xuJG1tX2xpc3RpdGVtSHVnZVBhZGRpbmcgOiAkbW1fbGlzdGl0ZW1QYWRkaW5nICogMiAhZGVmYXVsdDtcblxuJG1tX25hdmJhckhlaWdodFx0XHQ6ICRtbV9idG5TaXplICFkZWZhdWx0O1xuJG1tX2JyZWFkY3J1bWJQYWRkaW5nXHQ6IHJvdW5kKCAkbW1fcGFkZGluZyAvIDQgKSAhZGVmYXVsdDtcblxuJG1tX3BhZ2VkaW1PcGFjaXR5IFx0XHQ6IDAuMyAhZGVmYXVsdDtcbiRtbV9wYWdlU2hhZG93XHRcdFx0OiAwIDAgMTBweCByZ2JhKCAjMDAwLCAwLjMgKSAhZGVmYXVsdDtcbiRtbV9wYW5lbFNoYWRvd1x0XHRcdDogMCAwIDEwcHggcmdiYSggIzAwMCwgMC4zICkgIWRlZmF1bHQ7XG4kbW1fcG9wdXBTaGFkb3dcdFx0XHQ6IDAgMnB4IDEwcHggcmdiYSggIzAwMCwgMC4zICkgIWRlZmF1bHQ7XG5cbiRtbV9zZWN0aW9uSW5kZXhlcldpZHRoXHQ6ICRtbV9wYWRkaW5nICogMiAhZGVmYXVsdDtcblxuJG1tX3pvb21TY2FsZURvd25cdFx0OiAwLjcgIWRlZmF1bHQ7XG4kbW1fem9vbVNjYWxlVXBcdFx0XHQ6IDEuNSAhZGVmYXVsdDtcbiIsIi8qXG5cdGpRdWVyeS5tbWVudSBvZmZDYW52YXMgYWRkb24gQ1NTXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vc2Nzcy9pbXBvcnRcIjtcblxuXG4vL1x0QW5pbWF0aW9uc1xuLm1tLXBhZ2Vcbntcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1tLXNsaWRlb3V0XG57XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG5cdHotaW5kZXg6IDE7XG59XG5cbi8vXHRDb250YWluZXIsIFBhZ2UsIEJsb2NrZXJcbmh0bWwubW0tb3BlbmVkXG57XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuaHRtbC5tbS1ibG9ja2luZ1xue1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdGJvZHlcblx0e1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cbn1cblxuaHRtbC5tbS1iYWNrZ3JvdW5kIC5tbS1wYWdlXG57XG5cdGJhY2tncm91bmQ6IGluaGVyaXQ7XG59XG4jbW0tYmxvY2tlclxue1xuXHRiYWNrZ3JvdW5kOiByZ2JhKCAzLCAyLCAxLCAwICk7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiAyO1xufVxuaHRtbC5tbS1ibG9ja2luZyAjbW0tYmxvY2tlclxue1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cdE1lbnVcbi5tbS1tZW51XG57XG5cdCYubW0tb2ZmY2FudmFzXG5cdHtcblx0XHR6LWluZGV4OiAwO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXG5cdFx0Ji5tbS1vcGVuZWRcblx0XHR7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cbn1cblxuLy9cdElFOSBoYWNrXG4gLm1tLW1lbnUubW0tb2ZmY2FudmFzLm1tLW5vLWNzc3RyYW5zZm9ybXMubW0tb3BlbmVkIHsgei1pbmRleDogMTA7IH0gXG5cblxuQGluY2x1ZGUgbW1fc2l6aW5nOyIsIi8vXHRTaXppbmcgbGVmdCAoZGVmYXVsdClcbkBtaXhpbiBtbV9zaXppbmcoICRjbHM6IFwiXCIsXG5cdCR3aWR0aDogJG1tX21lbnVXaWR0aCwgJG1pbldpZHRoOiAkbW1fbWVudU1pbldpZHRoLCAkbWF4V2lkdGg6ICRtbV9tZW51TWF4V2lkdGhcbikge1xuXHQubW0tbWVudS5tbS1vZmZjYW52YXMjeyRjbHN9XG5cdHtcblx0XHR3aWR0aDogcGVyY2VudGFnZSggJHdpZHRoICk7XG5cdFx0bWluLXdpZHRoOiAkbWluV2lkdGg7XG5cdFx0bWF4LXdpZHRoOiAkbWF4V2lkdGg7XG5cdH1cblx0aHRtbC5tbS1vcGVuaW5nXG5cdHtcblx0XHQubW0tbWVudSN7JGNsc30ubW0tb3BlbmVkIH4gLm1tLXNsaWRlb3V0XG5cdFx0e1xuXHRcdFx0QGluY2x1ZGUgbW1fdHJhbnNsYXRlKCBwZXJjZW50YWdlKCAkd2lkdGggKSwgMCApO1xuXHRcdH1cblx0fVxuXG5cdC8vXHRhZGp1c3QgZm9yIG1pbi0gYW5kIG1heC13aWR0aFxuXHRAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkbWluV2lkdGggLyAkd2lkdGggKSB7XG5cdFx0aHRtbC5tbS1vcGVuaW5nXG5cdFx0e1xuXHRcdFx0Lm1tLW1lbnUjeyRjbHN9Lm1tLW9wZW5lZCB+IC5tbS1zbGlkZW91dFxuXHRcdFx0e1xuXHRcdFx0XHRAaW5jbHVkZSBtbV90cmFuc2xhdGUoICRtaW5XaWR0aCwgMCApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWF4V2lkdGggLyAkd2lkdGggKSB7XG5cdFx0aHRtbC5tbS1vcGVuaW5nXG5cdFx0e1xuXHRcdFx0Lm1tLW1lbnUjeyRjbHN9Lm1tLW9wZW5lZCB+IC5tbS1zbGlkZW91dFxuXHRcdFx0e1xuXHRcdFx0XHRAaW5jbHVkZSBtbV90cmFuc2xhdGUoICRtYXhXaWR0aCwgMCApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vL1x0U2l6aW5nIHJpZ2h0XG5AbWl4aW4gbW1fc2l6aW5nX3JpZ2h0KCAkY2xzOiBcIlwiLFxuXHQkd2lkdGg6ICRtbV9tZW51V2lkdGgsICRtaW5XaWR0aDogJG1tX21lbnVNaW5XaWR0aCwgJG1heFdpZHRoOiAkbW1fbWVudU1heFdpZHRoXG4pIHtcblx0aHRtbC5tbS1yaWdodC5tbS1vcGVuaW5nXG5cdHtcblx0XHQubW0tbWVudSN7JGNsc30ubW0tb3BlbmVkIH4gLm1tLXNsaWRlb3V0XG5cdFx0e1xuXHRcdFx0QGluY2x1ZGUgbW1fdHJhbnNsYXRlKCAtKCBwZXJjZW50YWdlKCAkd2lkdGggKSApLCAwICk7XG5cdFx0fVxuXHR9XG5cblx0Ly9cdGFkanVzdCBmb3IgbWluLSBhbmQgbWF4LXdpZHRoXG5cdEBtZWRpYSBhbGwgYW5kICggbWF4LXdpZHRoOiAkbWluV2lkdGggLyAkd2lkdGggKSB7XG5cdFx0aHRtbC5tbS1yaWdodC5tbS1vcGVuaW5nXG5cdFx0e1xuXHRcdFx0Lm1tLW1lbnUjeyRjbHN9Lm1tLW9wZW5lZCB+IC5tbS1zbGlkZW91dFxuXHRcdFx0e1xuXHRcdFx0XHRAaW5jbHVkZSBtbV90cmFuc2xhdGUoIC0kbWluV2lkdGgsIDAgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QG1lZGlhIGFsbCBhbmQgKCBtaW4td2lkdGg6ICRtYXhXaWR0aCAvICR3aWR0aCApIHtcblx0XHRodG1sLm1tLXJpZ2h0Lm1tLW9wZW5pbmdcblx0XHR7XG5cdFx0XHQubW0tbWVudSN7JGNsc30ubW0tb3BlbmVkIH4gLm1tLXNsaWRlb3V0XG5cdFx0XHR7XG5cdFx0XHRcdEBpbmNsdWRlIG1tX3RyYW5zbGF0ZSggLSRtYXhXaWR0aCwgMCApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vL1x0U2l6aW5nIHRvcCArIGJvdHRvbVxuQG1peGluIG1tX3NpemluZ196cG9zaXRpb24oICRjbHM6IFwiXCIsXG5cdCRoZWlnaHQ6ICRtbV9tZW51SGVpZ2h0LCAkbWluSGVpZ2h0OiAkbW1fbWVudU1pbkhlaWdodCwgJG1heEhlaWdodDogJG1tX21lbnVNYXhIZWlnaHRcbikge1xuXHQubW0tbWVudS5tbS1vZmZjYW52YXMjeyRjbHN9XG5cdHtcblx0XHQmLm1tLXRvcCxcblx0XHQmLm1tLWJvdHRvbVxuXHRcdHtcblx0XHRcdGhlaWdodDogcGVyY2VudGFnZSggJGhlaWdodCApO1xuXHRcdFx0bWluLWhlaWdodDogJG1pbkhlaWdodDtcblx0XHRcdG1heC1oZWlnaHQ6ICRtYXhIZWlnaHQ7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuXHRqUXVlcnkubW1lbnUgZWZmZWN0cyBleHRlbnNpb24gQ1NTXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vc2Nzcy9pbXBvcnRcIjtcblxuXG4vL1x0Wm9vbSBtZW51XG4ubW0tbWVudS5tbS1meC1tZW51LXpvb21cbntcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtICRtbV90cmFuc2l0aW9uRHVyYXRpb24gJG1tX3RyYW5zaXRpb25GdW5jdGlvbjtcbn1cbmh0bWxcbntcblx0Ly9cdExlZnRcblx0Ji5tbS1vcGVuZWQgLm1tLW1lbnUubW0tZngtbWVudS16b29tXG5cdHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKCAkbW1fem9vbVNjYWxlRG93biwgJG1tX3pvb21TY2FsZURvd24gKSB0cmFuc2xhdGUzZCggLSRtbV9zdWJwYW5lbE9mZnNldCwgMCwgMCApO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuXHR9XG5cdCYubW0tb3BlbmluZyAubW0tbWVudS5tbS1meC1tZW51LXpvb21cblx0e1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoIDEsIDEgKSB0cmFuc2xhdGUzZCggMCUsIDAsIDAgKTtcblx0fVxuXG5cdC8vXHRSaWdodFxuXHQmLm1tLXJpZ2h0XG5cdHtcblx0XHQmLm1tLW9wZW5lZCAubW0tbWVudS5tbS1meC1tZW51LXpvb21cblx0XHR7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKCAkbW1fem9vbVNjYWxlRG93biwgJG1tX3pvb21TY2FsZURvd24pIHRyYW5zbGF0ZTNkKCAkbW1fc3VicGFuZWxPZmZzZXQsIDAsIDAgKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcblx0XHR9XG5cdFx0Ji5tbS1vcGVuaW5nIC5tbS1tZW51Lm1tLWZ4LW1lbnUtem9vbVxuXHRcdHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoIDEsIDEgKSB0cmFuc2xhdGUzZCggMCUsIDAsIDAgKTtcblx0XHR9XG5cdH1cbn1cblxuXG4vL1x0U2xpZGUgbWVudVxuLm1tLW1lbnUubW0tZngtbWVudS1zbGlkZVxue1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG1tX3RyYW5zaXRpb25EdXJhdGlvbiAkbW1fdHJhbnNpdGlvbkZ1bmN0aW9uO1xufVxuaHRtbFxue1xuXHQvL1x0TGVmdFxuXHQmLm1tLW9wZW5lZCAubW0tbWVudS5tbS1meC1tZW51LXNsaWRlXG5cdHtcblx0XHQvL1x0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggLSRtbV9zdWJwYW5lbE9mZnNldCwgMCwgMCApO1xuXHRcdEBpbmNsdWRlIG1tX3RyYW5zbGF0ZSggLSRtbV9zdWJwYW5lbE9mZnNldCwgMCApO1xuXHR9XG5cdCYubW0tb3BlbmluZyAubW0tbWVudS5tbS1meC1tZW51LXNsaWRlXG5cdHtcblx0XHQvL1x0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCUsIDAsIDAgKTtcblx0XHRAaW5jbHVkZSBtbV90cmFuc2xhdGUoIDAlLCAwICk7XG5cdH1cblxuXHQvL1x0UmlnaHRcblx0Ji5tbS1yaWdodFxuXHR7XG5cdFx0Ji5tbS1vcGVuZWQgLm1tLW1lbnUubW0tZngtbWVudS1zbGlkZVxuXHRcdHtcblx0XHRcdC8vXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAkbW1fc3VicGFuZWxPZmZzZXQsIDAsIDAgKTtcblx0XHRcdEBpbmNsdWRlIG1tX3RyYW5zbGF0ZSggJG1tX3N1YnBhbmVsT2Zmc2V0LCAwICk7XG5cdFx0fVxuXHRcdCYubW0tb3BlbmluZyAubW0tbWVudS5tbS1meC1tZW51LXNsaWRlXG5cdFx0e1xuXHRcdFx0Ly9cdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAlLCAwLCAwICk7XG5cdFx0XHRAaW5jbHVkZSBtbV90cmFuc2xhdGUoIDAlLCAwICk7XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cdEZhZGUgbWVudVxuLm1tLW1lbnUubW0tZngtbWVudS1mYWRlXG57XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgJG1tX3RyYW5zaXRpb25EdXJhdGlvbiAkbW1fdHJhbnNpdGlvbkZ1bmN0aW9uO1xufVxuaHRtbC5tbS1vcGVuaW5nIC5tbS1tZW51Lm1tLWZ4LW1lbnUtZmFkZVxue1xuXHRvcGFjaXR5OiAxO1xufVxuXG5cbi8vXHRObyBlZmZlY3QgcGFuZWxzXG4ubW0tbWVudVxue1xuXHQmLm1tLWZ4LXBhbmVscy1ub25lIC5tbS1wYW5lbCxcblx0Lm1tLWZ4LXBhbmVscy1ub25lLm1tLXBhbmVsXG5cdHtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBub25lO1xuXHRcdFxuXHRcdCYubW0tc3Vib3BlbmVkXG5cdFx0e1xuXHRcdFx0QGluY2x1ZGUgbW1fdHJhbnNsYXRlKCAwLCAwICk7XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cdFpvb20gcGFuZWxzXG4ubW0tbWVudVxue1xuXHQmLm1tLWZ4LXBhbmVscy16b29tIC5tbS1wYW5lbCxcblx0Lm1tLWZ4LXBhbmVscy16b29tLm1tLXBhbmVsXG5cdHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKCAkbW1fem9vbVNjYWxlVXAsICRtbV96b29tU2NhbGVVcCApIHRyYW5zbGF0ZTNkKCAxMDAlLCAwLCAwICk7XG5cblx0XHQmLm1tLW9wZW5lZFxuXHRcdHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoIDEsIDEgKSB0cmFuc2xhdGUzZCggMCUsIDAsIDAgKTtcblx0XHR9XG5cdFx0Ji5tbS1zdWJvcGVuZWRcblx0XHR7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKCAkbW1fem9vbVNjYWxlRG93biwgJG1tX3pvb21TY2FsZURvd24gKSB0cmFuc2xhdGUzZCggLSRtbV9zdWJwYW5lbE9mZnNldCwgMCwgMCApO1xuXHRcdH1cblx0fVxufVxuXG5cbi8vXHRTbGlkZSBwYW5lbHNcbi5tbS1tZW51XG57XG5cdCYubW0tZngtcGFuZWxzLXNsaWRlLTAgLm1tLXBhbmVsLm1tLXN1Ym9wZW5lZCxcblx0Lm1tLWZ4LXBhbmVscy1zbGlkZS0wLm1tLXBhbmVsLm1tLXN1Ym9wZW5lZFxuXHR7XG5cdFx0QGluY2x1ZGUgbW1fdHJhbnNsYXRlKCAwLCAwICk7XG5cdH1cblxuXHQmLm1tLWZ4LXBhbmVscy1zbGlkZS0xMDAgLm1tLXBhbmVsLm1tLXN1Ym9wZW5lZCxcblx0Lm1tLWZ4LXBhbmVscy1zbGlkZS0xMDAubW0tcGFuZWwubW0tc3Vib3BlbmVkXG5cdHtcblx0XHRAaW5jbHVkZSBtbV90cmFuc2xhdGUoIC0xMDAlLCAwICk7XG5cdH1cbn1cblxuXG4vL1x0U2xpZGVVcCBwYW5lbHNcbi5tbS1tZW51XG57XG5cdCYubW0tZngtcGFuZWxzLXNsaWRlLXVwIC5tbS1wYW5lbCxcblx0Lm1tLWZ4LXBhbmVscy1zbGlkZS11cC5tbS1wYW5lbFxuXHR7XG5cdFx0QGluY2x1ZGUgbW1fdHJhbnNsYXRlKCAwLCAxMDAlICk7XG5cblx0XHQmLm1tLW9wZW5lZFxuXHRcdHtcblx0XHRcdEBpbmNsdWRlIG1tX3RyYW5zbGF0ZSggMCwgMCApO1xuXHRcdH1cblx0XHQmLm1tLXN1Ym9wZW5lZFxuXHRcdHtcblx0XHRcdEBpbmNsdWRlIG1tX3RyYW5zbGF0ZSggMCwgMCUgKTtcblx0XHR9XG5cdH1cbn1cblxuXG4vL1x0TGlzdGl0ZW0gZGVsYXlcbkBtaXhpbiBtbV9lZmZlY3RfbGlzdGl0ZW1fZGVsYXkoICRpIClcbntcblx0JjpudGgtY2hpbGQoICN7JGl9IClcblx0e1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6ICggJGkgKiA1MG1zICk7XG5cdH1cbn1cbi5tbS1tZW51W2NsYXNzKj1cIm1tLWZ4LWxpc3RpdGVtcy1cIl0gLm1tLWxpc3R2aWV3ID4gbGlcbntcblx0dHJhbnNpdGlvbjogbm9uZSAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG5cblx0QGluY2x1ZGUgbW1fZWZmZWN0X2xpc3RpdGVtX2RlbGF5KCAxICk7XG5cdEBpbmNsdWRlIG1tX2VmZmVjdF9saXN0aXRlbV9kZWxheSggMiApO1xuXHRAaW5jbHVkZSBtbV9lZmZlY3RfbGlzdGl0ZW1fZGVsYXkoIDMgKTtcblx0QGluY2x1ZGUgbW1fZWZmZWN0X2xpc3RpdGVtX2RlbGF5KCA0ICk7XG5cdEBpbmNsdWRlIG1tX2VmZmVjdF9saXN0aXRlbV9kZWxheSggNSApO1xuXHRAaW5jbHVkZSBtbV9lZmZlY3RfbGlzdGl0ZW1fZGVsYXkoIDYgKTtcblx0QGluY2x1ZGUgbW1fZWZmZWN0X2xpc3RpdGVtX2RlbGF5KCA3ICk7XG5cdEBpbmNsdWRlIG1tX2VmZmVjdF9saXN0aXRlbV9kZWxheSggOCApO1xuXHRAaW5jbHVkZSBtbV9lZmZlY3RfbGlzdGl0ZW1fZGVsYXkoIDkgKTtcblx0QGluY2x1ZGUgbW1fZWZmZWN0X2xpc3RpdGVtX2RlbGF5KCAxMCApO1xuXHRAaW5jbHVkZSBtbV9lZmZlY3RfbGlzdGl0ZW1fZGVsYXkoIDExICk7XG5cdEBpbmNsdWRlIG1tX2VmZmVjdF9saXN0aXRlbV9kZWxheSggMTIgKTtcblx0QGluY2x1ZGUgbW1fZWZmZWN0X2xpc3RpdGVtX2RlbGF5KCAxMyApO1xuXHRAaW5jbHVkZSBtbV9lZmZlY3RfbGlzdGl0ZW1fZGVsYXkoIDE0ICk7XG5cdEBpbmNsdWRlIG1tX2VmZmVjdF9saXN0aXRlbV9kZWxheSggMTUgKTtcbn1cblxuXG4vL1x0U2xpZGUgbGlzdCBpdGVtc1xuLm1tLW1lbnUubW0tZngtbGlzdGl0ZW1zLXNsaWRlIC5tbS1saXN0dmlldyA+IGxpXG57XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblx0QGluY2x1ZGUgbW1fdHJhbnNsYXRlKCA1MCUsIDAgKTtcblx0b3BhY2l0eTogMDtcbn1cbmh0bWwubW0tb3BlbmluZyAubW0tbWVudS5tbS1meC1saXN0aXRlbXMtc2xpZGUgLm1tLXBhbmVsLm1tLW9wZW5lZCAubW0tbGlzdHZpZXcgPiBsaVxue1xuXHRAaW5jbHVkZSBtbV90cmFuc2xhdGUoIDAsIDAgKTtcblx0b3BhY2l0eTogMTtcbn1cblxuXG4vL1x0RmFkZSBsaXN0IGl0ZW1zXG4ubW0tbWVudS5tbS1meC1saXN0aXRlbXMtZmFkZSAubW0tbGlzdHZpZXcgPiBsaVxue1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuXHRvcGFjaXR5OiAwO1xufVxuaHRtbC5tbS1vcGVuaW5nIC5tbS1tZW51Lm1tLWZ4LWxpc3RpdGVtcy1mYWRlIC5tbS1wYW5lbC5tbS1vcGVuZWQgLm1tLWxpc3R2aWV3ID4gbGlcbntcblx0b3BhY2l0eTogMTtcbn1cblxuXG4vL1x0RHJvcCBsaXN0IGl0ZW1zXG4ubW0tbWVudS5tbS1meC1saXN0aXRlbXMtZHJvcCAubW0tbGlzdHZpZXcgPiBsaVxue1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0b3A7XG5cdG9wYWNpdHk6IDA7XG5cdHRvcDogLTI1JTtcbn1cbmh0bWwubW0tb3BlbmluZyAubW0tbWVudS5tbS1meC1saXN0aXRlbXMtZHJvcCAubW0tcGFuZWwubW0tb3BlbmVkIC5tbS1saXN0dmlldyA+IGxpXG57XG5cdG9wYWNpdHk6IDE7XG5cdHRvcDogMDtcbn0iLCJAaW1wb3J0IFwiLi4vLi4vc2Nzcy9pbXBvcnRcIjtcblxuXG4vKlxuXHRqUXVlcnkubW1lbnUgcG9zaXRpb24gZXh0ZW5zaW9uIENTU1xuKi9cblxuLm1tLW1lbnUubW0tb2ZmY2FudmFzXG57XG5cdCYubW0tcmlnaHRcblx0e1xuXHRcdGxlZnQ6IGF1dG87XG5cdH1cbn1cblxuQGluY2x1ZGUgbW1fc2l6aW5nX3JpZ2h0O1xuXG5cblxuLypcblx0alF1ZXJ5Lm1tZW51IHotcG9zaXRpb24gZXh0ZW5zaW9uIENTU1xuKi9cblxuaHRtbC5tbS1mcm9udFxue1xuXHQubW0tc2xpZGVvdXRcblx0e1xuXHRcdHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdHotaW5kZXg6IDA7XG5cdH1cblx0I21tLWJsb2NrZXJcblx0e1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblx0Lm1tLW1lbnUubW0tb2ZmY2FudmFzXG5cdHtcblx0XHR6LWluZGV4OiAyO1xuXHR9XG59XG5cbi5tbS1tZW51Lm1tLW9mZmNhbnZhc1xue1xuXHQmLm1tLWZyb250LFxuXHQmLm1tLW5leHRcblx0e1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG5cdFx0QGluY2x1ZGUgbW1fdHJhbnNsYXRlKCAtMTAwJSwgMCApO1xuXG5cdFx0Ji5tbS1yaWdodFxuXHRcdHtcblx0XHRcdEBpbmNsdWRlIG1tX3RyYW5zbGF0ZSggMTAwJSwgMCApO1xuXHRcdH1cblx0fVxuXHQmLm1tLXRvcFxuXHR7XG5cdFx0QGluY2x1ZGUgbW1fdHJhbnNsYXRlKCAwLCAtMTAwJSApO1xuXHR9XG5cdCYubW0tYm90dG9tXG5cdHtcblx0XHRAaW5jbHVkZSBtbV90cmFuc2xhdGUoIDAsIDEwMCUgKTtcblx0fVxuXHQmLm1tLXRvcCxcblx0Ji5tbS1ib3R0b21cblx0e1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1pbi13aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cblx0Ji5tbS1ib3R0b21cblx0e1xuXHRcdHRvcDogYXV0bztcblx0fVxufVxuaHRtbC5tbS1vcGVuaW5nIC5tbS1tZW51Lm1tLW9mZmNhbnZhc1xue1xuXHQmLm1tLWZyb250LFxuXHQmLm1tLW5leHRcblx0e1xuXHRcdEBpbmNsdWRlIG1tX3RyYW5zbGF0ZSggMCwgMCApO1xuXHR9XG59XG5cbkBpbmNsdWRlIG1tX3NpemluZ196cG9zaXRpb247Il19 */
