.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;word-wrap:normal!important;word-break:normal!important}.wpcf7 .hidden-fields-container{display:none}.wpcf7 form .wpcf7-response-output{margin:2em .5em 1em;padding:.2em 1em;border:2px solid #00a0d2}.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.resetting .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output{display:none}.wpcf7 form.sent .wpcf7-response-output{border-color:#46b450}.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{border-color:#dc3232}.wpcf7 form.spam .wpcf7-response-output{border-color:#f56e28}.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.payment-required .wpcf7-response-output{border-color:#ffb900}.wpcf7-form-control-wrap{position:relative}.wpcf7-not-valid-tip{color:#dc3232;font-size:1em;font-weight:400;display:block}.use-floating-validation-tip .wpcf7-not-valid-tip{position:relative;top:-2ex;left:1em;z-index:100;border:1px solid #dc3232;background:#fff;padding:.2em .8em;width:24em}.wpcf7-list-item{display:inline-block;margin:0 0 0 1em}.wpcf7-list-item-label::before,.wpcf7-list-item-label::after{content:" "}.wpcf7-spinner{visibility:hidden;display:inline-block;background-color:#23282d;opacity:.75;width:24px;height:24px;border:none;border-radius:100%;padding:0;margin:0 24px;position:relative}form.submitting .wpcf7-spinner{visibility:visible}.wpcf7-spinner::before{content:'';position:absolute;background-color:#fbfbfc;top:4px;left:4px;width:6px;height:6px;border:none;border-radius:100%;transform-origin:8px 8px;animation-name:spin;animation-duration:1000ms;animation-timing-function:linear;animation-iteration-count:infinite}@media (prefers-reduced-motion:reduce){.wpcf7-spinner::before{animation-name:blink;animation-duration:2000ms}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes blink{from{opacity:0}50%{opacity:1}to{opacity:0}}.wpcf7 [inert]{opacity:.5}.wpcf7 input[type="file"]{cursor:pointer}.wpcf7 input[type="file"]:disabled{cursor:default}.wpcf7 .wpcf7-submit:disabled{cursor:not-allowed}.wpcf7 input[type="url"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"]{direction:ltr}.wpcf7-reflection>output{display:list-item;list-style:none}.wpcf7-reflection>output[hidden]{display:none}.lazy-hidden,.entry img.lazy-hidden,img.thumbnail.lazy-hidden{opacity:.2;background-color:#fff}figure.wp-block-image img.lazy-hidden{min-width:150px}.lazy-loaded{-webkit-transition:opacity 0.3s;-moz-transition:opacity 0.3s;-ms-transition:opacity 0.3s;-o-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1!important}picture source[type="image/webp"]{display:block}.clear{clear:both}.nobr{white-space:nowrap}.lazy-hidden,.entry img.lazy-hidden,img.thumbnail.lazy-hidden{background-color:#fff}:root{--direction-multiplier:1}body.rtl,html[dir=rtl]{--direction-multiplier:-1}.elementor-hidden{display:none}.elementor-visibility-hidden{visibility:hidden}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;top:-10000em;width:1px;clip:rect(0,0,0,0);border:0}.elementor-clearfix:after{clear:both;content:"";display:block;height:0;width:0}.e-logo-wrapper{display:inline-block;line-height:1}.e-logo-wrapper i{color:var(--e-a-color-circle-logo);font-size:2.5em}.elementor *,.elementor :after,.elementor :before{box-sizing:border-box}.elementor a{box-shadow:none;text-decoration:none}.elementor hr{background-color:transparent;margin:0}.elementor img{border:none;border-radius:0;box-shadow:none;height:auto;max-width:100%}.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure{margin:0}.elementor embed,.elementor iframe,.elementor object,.elementor video{border:none;line-height:1;margin:0;max-width:100%;width:100%}.elementor .elementor-background,.elementor .elementor-background-holder,.elementor .elementor-background-video-container{direction:ltr;inset:0;overflow:hidden;position:absolute;z-index:0}.elementor .elementor-background-video-container{pointer-events:none;transition:opacity 1s}.elementor .elementor-background-video-container.elementor-loading{opacity:0}.elementor .elementor-background-video,.elementor .elementor-background-video-embed{max-width:none}.elementor .elementor-background-video,.elementor .elementor-background-video-embed,.elementor .elementor-background-video-hosted{inset-block-start:50%;inset-inline-start:50%;position:absolute;transform:translate(-50%,-50%)}.elementor .elementor-background-video-hosted{-o-object-fit:cover;object-fit:cover}.elementor .elementor-background-overlay{inset:0;position:absolute}.elementor .elementor-background-slideshow{inset:0;position:absolute;z-index:0}.elementor .elementor-background-slideshow__slide__image{background-position:50%;background-size:cover;height:100%;width:100%}.e-con-inner>.elementor-element.elementor-absolute,.e-con>.elementor-element.elementor-absolute,.elementor-widget-wrap>.elementor-element.elementor-absolute{position:absolute}.e-con-inner>.elementor-element.elementor-fixed,.e-con>.elementor-element.elementor-fixed,.elementor-widget-wrap>.elementor-element.elementor-fixed{position:fixed}.elementor-widget-wrap .elementor-element.elementor-widget__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget__width-initial{max-width:100%}@media (max-width:1024px){.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial{max-width:100%}}@media (max-width:767px){.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial{max-width:100%}}.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{z-index:1}.elementor-element{--flex-direction:initial;--flex-wrap:initial;--justify-content:initial;--align-items:initial;--align-content:initial;--gap:initial;--flex-basis:initial;--flex-grow:initial;--flex-shrink:initial;--order:initial;--align-self:initial;align-self:var(--align-self);flex-basis:var(--flex-basis);flex-grow:var(--flex-grow);flex-shrink:var(--flex-shrink);order:var(--order)}.elementor-element:where(.e-con-full,.elementor-widget){align-content:var(--align-content);align-items:var(--align-items);flex-direction:var(--flex-direction);flex-wrap:var(--flex-wrap);gap:var(--row-gap) var(--column-gap);justify-content:var(--justify-content)}.elementor-invisible{visibility:hidden}.elementor-custom-embed-play{inset-block-start:50%;inset-inline-start:50%;position:absolute;transform:translate(calc(-50% * var(--direction-multiplier)),-50%)}.elementor-custom-embed-play i{color:#fff;font-size:100px;text-shadow:1px 0 6px rgba(0,0,0,.3)}.elementor-custom-embed-play svg{fill:#fff;filter:drop-shadow(1px 0 6px rgba(0,0,0,.3));height:100px;width:100px}.elementor-custom-embed-play i,.elementor-custom-embed-play svg{opacity:.8;transition:all .5s}.elementor-custom-embed-play.elementor-playing i{font-family:eicons}.elementor-custom-embed-play.elementor-playing i:before{content:"\e8fb"}.elementor-custom-embed-play.elementor-playing i,.elementor-custom-embed-play.elementor-playing svg{animation:eicon-spin 2s linear infinite}.elementor-tag{display:inline-flex}.elementor-ken-burns{transition-duration:10s;transition-property:transform;transition-timing-function:linear}.elementor-ken-burns--out{transform:scale(1.3)}.elementor-ken-burns--active{transition-duration:20s}.elementor-ken-burns--active.elementor-ken-burns--out{transform:scale(1)}.elementor-ken-burns--active.elementor-ken-burns--in{transform:scale(1.3)}.elementor-align-center{text-align:center}.elementor-align-right{text-align:right}.elementor-align-left{text-align:left}.elementor-align-center .elementor-button,.elementor-align-left .elementor-button,.elementor-align-right .elementor-button{width:auto}.elementor-align-justify .elementor-button{width:100%}@media (min-width:-1){.elementor-widescreen-align-center{text-align:center}.elementor-widescreen-align-right{text-align:right}.elementor-widescreen-align-left{text-align:left}.elementor-widescreen-align-center .elementor-button,.elementor-widescreen-align-left .elementor-button,.elementor-widescreen-align-right .elementor-button{width:auto}.elementor-widescreen-align-justify .elementor-button{width:100%}}@media (max-width:-1){.elementor-laptop-align-center{text-align:center}.elementor-laptop-align-right{text-align:right}.elementor-laptop-align-left{text-align:left}.elementor-laptop-align-center .elementor-button,.elementor-laptop-align-left .elementor-button,.elementor-laptop-align-right .elementor-button{width:auto}.elementor-laptop-align-justify .elementor-button{width:100%}.elementor-tablet_extra-align-center{text-align:center}.elementor-tablet_extra-align-right{text-align:right}.elementor-tablet_extra-align-left{text-align:left}.elementor-tablet_extra-align-center .elementor-button,.elementor-tablet_extra-align-left .elementor-button,.elementor-tablet_extra-align-right .elementor-button{width:auto}.elementor-tablet_extra-align-justify .elementor-button{width:100%}}@media (max-width:1024px){.elementor-tablet-align-center{text-align:center}.elementor-tablet-align-right{text-align:right}.elementor-tablet-align-left{text-align:left}.elementor-tablet-align-center .elementor-button,.elementor-tablet-align-left .elementor-button,.elementor-tablet-align-right .elementor-button{width:auto}.elementor-tablet-align-justify .elementor-button{width:100%}}@media (max-width:-1){.elementor-mobile_extra-align-center{text-align:center}.elementor-mobile_extra-align-right{text-align:right}.elementor-mobile_extra-align-left{text-align:left}.elementor-mobile_extra-align-center .elementor-button,.elementor-mobile_extra-align-left .elementor-button,.elementor-mobile_extra-align-right .elementor-button{width:auto}.elementor-mobile_extra-align-justify .elementor-button{width:100%}}@media (max-width:767px){.elementor-mobile-align-center{text-align:center}.elementor-mobile-align-right{text-align:right}.elementor-mobile-align-left{text-align:left}.elementor-mobile-align-center .elementor-button,.elementor-mobile-align-left .elementor-button,.elementor-mobile-align-right .elementor-button{width:auto}.elementor-mobile-align-justify .elementor-button{width:100%}}:root{--page-title-display:block}.elementor-page-title,h1.entry-title{display:var(--page-title-display)}@keyframes eicon-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.eicon-animation-spin{animation:eicon-spin 2s linear infinite}.elementor-section{position:relative}.elementor-section .elementor-container{display:flex;margin-inline:auto;position:relative}@media (max-width:1024px){.elementor-section .elementor-container{flex-wrap:wrap}}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.elementor-section.elementor-section-stretched{position:relative;width:100%}.elementor-section.elementor-section-items-top>.elementor-container{align-items:flex-start}.elementor-section.elementor-section-items-middle>.elementor-container{align-items:center}.elementor-section.elementor-section-items-bottom>.elementor-container{align-items:flex-end}@media (min-width:768px){.elementor-section.elementor-section-height-full{height:100vh}.elementor-section.elementor-section-height-full>.elementor-container{height:100%}}.elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-column>.elementor-widget-wrap{align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-column>.elementor-widget-wrap{align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-column>.elementor-widget-wrap{align-items:flex-end}.elementor-widget-wrap{align-content:flex-start;flex-wrap:wrap;position:relative;width:100%}.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap{display:flex}.elementor-widget-wrap>.elementor-element{width:100%}.elementor-widget-wrap.e-swiper-container{width:calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px)))}.elementor-widget{position:relative}.elementor-widget:not(:last-child){margin-block-end:var(--kit-widget-spacing,20px)}.elementor-widget:not(:last-child).elementor-absolute,.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial{margin-block-end:0}.elementor-column{display:flex;min-height:1px;position:relative}.elementor-column-gap-narrow>.elementor-column>.elementor-element-populated{padding:5px}.elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:10px}.elementor-column-gap-extended>.elementor-column>.elementor-element-populated{padding:15px}.elementor-column-gap-wide>.elementor-column>.elementor-element-populated{padding:20px}.elementor-column-gap-wider>.elementor-column>.elementor-element-populated{padding:30px}.elementor-inner-section .elementor-column-gap-no .elementor-element-populated{padding:0}@media (min-width:768px){.elementor-column.elementor-col-10,.elementor-column[data-col="10"]{width:10%}.elementor-column.elementor-col-11,.elementor-column[data-col="11"]{width:11.111%}.elementor-column.elementor-col-12,.elementor-column[data-col="12"]{width:12.5%}.elementor-column.elementor-col-14,.elementor-column[data-col="14"]{width:14.285%}.elementor-column.elementor-col-16,.elementor-column[data-col="16"]{width:16.666%}.elementor-column.elementor-col-20,.elementor-column[data-col="20"]{width:20%}.elementor-column.elementor-col-25,.elementor-column[data-col="25"]{width:25%}.elementor-column.elementor-col-30,.elementor-column[data-col="30"]{width:30%}.elementor-column.elementor-col-33,.elementor-column[data-col="33"]{width:33.333%}.elementor-column.elementor-col-40,.elementor-column[data-col="40"]{width:40%}.elementor-column.elementor-col-50,.elementor-column[data-col="50"]{width:50%}.elementor-column.elementor-col-60,.elementor-column[data-col="60"]{width:60%}.elementor-column.elementor-col-66,.elementor-column[data-col="66"]{width:66.666%}.elementor-column.elementor-col-70,.elementor-column[data-col="70"]{width:70%}.elementor-column.elementor-col-75,.elementor-column[data-col="75"]{width:75%}.elementor-column.elementor-col-80,.elementor-column[data-col="80"]{width:80%}.elementor-column.elementor-col-83,.elementor-column[data-col="83"]{width:83.333%}.elementor-column.elementor-col-90,.elementor-column[data-col="90"]{width:90%}.elementor-column.elementor-col-100,.elementor-column[data-col="100"]{width:100%}}@media (max-width:479px){.elementor-column.elementor-xs-10{width:10%}.elementor-column.elementor-xs-11{width:11.111%}.elementor-column.elementor-xs-12{width:12.5%}.elementor-column.elementor-xs-14{width:14.285%}.elementor-column.elementor-xs-16{width:16.666%}.elementor-column.elementor-xs-20{width:20%}.elementor-column.elementor-xs-25{width:25%}.elementor-column.elementor-xs-30{width:30%}.elementor-column.elementor-xs-33{width:33.333%}.elementor-column.elementor-xs-40{width:40%}.elementor-column.elementor-xs-50{width:50%}.elementor-column.elementor-xs-60{width:60%}.elementor-column.elementor-xs-66{width:66.666%}.elementor-column.elementor-xs-70{width:70%}.elementor-column.elementor-xs-75{width:75%}.elementor-column.elementor-xs-80{width:80%}.elementor-column.elementor-xs-83{width:83.333%}.elementor-column.elementor-xs-90{width:90%}.elementor-column.elementor-xs-100{width:100%}}@media (max-width:767px){.elementor-column.elementor-sm-10{width:10%}.elementor-column.elementor-sm-11{width:11.111%}.elementor-column.elementor-sm-12{width:12.5%}.elementor-column.elementor-sm-14{width:14.285%}.elementor-column.elementor-sm-16{width:16.666%}.elementor-column.elementor-sm-20{width:20%}.elementor-column.elementor-sm-25{width:25%}.elementor-column.elementor-sm-30{width:30%}.elementor-column.elementor-sm-33{width:33.333%}.elementor-column.elementor-sm-40{width:40%}.elementor-column.elementor-sm-50{width:50%}.elementor-column.elementor-sm-60{width:60%}.elementor-column.elementor-sm-66{width:66.666%}.elementor-column.elementor-sm-70{width:70%}.elementor-column.elementor-sm-75{width:75%}.elementor-column.elementor-sm-80{width:80%}.elementor-column.elementor-sm-83{width:83.333%}.elementor-column.elementor-sm-90{width:90%}.elementor-column.elementor-sm-100{width:100%}}@media (min-width:768px) and (max-width:1024px){.elementor-column.elementor-md-10{width:10%}.elementor-column.elementor-md-11{width:11.111%}.elementor-column.elementor-md-12{width:12.5%}.elementor-column.elementor-md-14{width:14.285%}.elementor-column.elementor-md-16{width:16.666%}.elementor-column.elementor-md-20{width:20%}.elementor-column.elementor-md-25{width:25%}.elementor-column.elementor-md-30{width:30%}.elementor-column.elementor-md-33{width:33.333%}.elementor-column.elementor-md-40{width:40%}.elementor-column.elementor-md-50{width:50%}.elementor-column.elementor-md-60{width:60%}.elementor-column.elementor-md-66{width:66.666%}.elementor-column.elementor-md-70{width:70%}.elementor-column.elementor-md-75{width:75%}.elementor-column.elementor-md-80{width:80%}.elementor-column.elementor-md-83{width:83.333%}.elementor-column.elementor-md-90{width:90%}.elementor-column.elementor-md-100{width:100%}}@media (min-width:-1){.elementor-reverse-widescreen>.elementor-container>:first-child{order:10}.elementor-reverse-widescreen>.elementor-container>:nth-child(2){order:9}.elementor-reverse-widescreen>.elementor-container>:nth-child(3){order:8}.elementor-reverse-widescreen>.elementor-container>:nth-child(4){order:7}.elementor-reverse-widescreen>.elementor-container>:nth-child(5){order:6}.elementor-reverse-widescreen>.elementor-container>:nth-child(6){order:5}.elementor-reverse-widescreen>.elementor-container>:nth-child(7){order:4}.elementor-reverse-widescreen>.elementor-container>:nth-child(8){order:3}.elementor-reverse-widescreen>.elementor-container>:nth-child(9){order:2}.elementor-reverse-widescreen>.elementor-container>:nth-child(10){order:1}}@media (min-width:1025px) and (max-width:-1){.elementor-reverse-laptop>.elementor-container>:first-child{order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){order:1}}@media (min-width:-1) and (max-width:-1){.elementor-reverse-laptop>.elementor-container>:first-child{order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){order:1}}@media (min-width:1025px) and (max-width:-1){.elementor-reverse-laptop>.elementor-container>:first-child,.elementor-reverse-laptop>.elementor-container>:nth-child(10),.elementor-reverse-laptop>.elementor-container>:nth-child(2),.elementor-reverse-laptop>.elementor-container>:nth-child(3),.elementor-reverse-laptop>.elementor-container>:nth-child(4),.elementor-reverse-laptop>.elementor-container>:nth-child(5),.elementor-reverse-laptop>.elementor-container>:nth-child(6),.elementor-reverse-laptop>.elementor-container>:nth-child(7),.elementor-reverse-laptop>.elementor-container>:nth-child(8),.elementor-reverse-laptop>.elementor-container>:nth-child(9){order:0}.elementor-reverse-tablet_extra>.elementor-container>:first-child{order:10}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(2){order:9}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(3){order:8}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(4){order:7}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(5){order:6}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(6){order:5}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(7){order:4}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(8){order:3}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(9){order:2}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(10){order:1}}@media (min-width:768px) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>:first-child{order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){order:1}}@media (min-width:-1) and (max-width:1024px){.elementor-reverse-tablet>.elementor-container>:first-child{order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){order:1}}@media (min-width:768px) and (max-width:-1){.elementor-reverse-tablet>.elementor-container>:first-child,.elementor-reverse-tablet>.elementor-container>:nth-child(10),.elementor-reverse-tablet>.elementor-container>:nth-child(2),.elementor-reverse-tablet>.elementor-container>:nth-child(3),.elementor-reverse-tablet>.elementor-container>:nth-child(4),.elementor-reverse-tablet>.elementor-container>:nth-child(5),.elementor-reverse-tablet>.elementor-container>:nth-child(6),.elementor-reverse-tablet>.elementor-container>:nth-child(7),.elementor-reverse-tablet>.elementor-container>:nth-child(8),.elementor-reverse-tablet>.elementor-container>:nth-child(9){order:0}.elementor-reverse-mobile_extra>.elementor-container>:first-child{order:10}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(2){order:9}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(3){order:8}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(4){order:7}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(5){order:6}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(6){order:5}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(7){order:4}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(8){order:3}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(9){order:2}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(10){order:1}}@media (max-width:767px){.elementor-reverse-mobile>.elementor-container>:first-child{order:10}.elementor-reverse-mobile>.elementor-container>:nth-child(2){order:9}.elementor-reverse-mobile>.elementor-container>:nth-child(3){order:8}.elementor-reverse-mobile>.elementor-container>:nth-child(4){order:7}.elementor-reverse-mobile>.elementor-container>:nth-child(5){order:6}.elementor-reverse-mobile>.elementor-container>:nth-child(6){order:5}.elementor-reverse-mobile>.elementor-container>:nth-child(7){order:4}.elementor-reverse-mobile>.elementor-container>:nth-child(8){order:3}.elementor-reverse-mobile>.elementor-container>:nth-child(9){order:2}.elementor-reverse-mobile>.elementor-container>:nth-child(10){order:1}.elementor-column{width:100%}}.elementor-grid{display:grid;grid-column-gap:var(--grid-column-gap);grid-row-gap:var(--grid-row-gap)}.elementor-grid .elementor-grid-item{min-width:0}.elementor-grid-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}@media (min-width:-1){.elementor-grid-widescreen-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-widescreen-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-widescreen-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-widescreen-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-widescreen-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-widescreen-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-widescreen-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-widescreen-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-widescreen-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-widescreen-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-widescreen-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-widescreen-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-widescreen-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1){.elementor-grid-laptop-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-laptop-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-laptop-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-laptop-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-laptop-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-laptop-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-laptop-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-laptop-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-laptop-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-laptop-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-laptop-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-laptop-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-laptop-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-laptop-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}.elementor-grid-tablet_extra-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:1024px){.elementor-grid-tablet-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-tablet-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1){.elementor-grid-mobile_extra-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:767px){.elementor-grid-mobile-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-mobile-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (min-width:1025px){#elementor-device-mode:after{content:"desktop"}}@media (min-width:-1){#elementor-device-mode:after{content:"widescreen"}}@media (max-width:-1){#elementor-device-mode:after{content:"laptop";content:"tablet_extra"}}@media (max-width:1024px){#elementor-device-mode:after{content:"tablet"}}@media (max-width:-1){#elementor-device-mode:after{content:"mobile_extra"}}@media (max-width:767px){#elementor-device-mode:after{content:"mobile"}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.e-con{--border-radius:0;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--border-style:initial;--border-color:initial;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--content-width:min(100%,var(--container-max-width,1140px));--width:100%;--min-height:initial;--height:auto;--text-align:initial;--margin-top:0px;--margin-right:0px;--margin-bottom:0px;--margin-left:0px;--padding-top:var(--container-default-padding-top,10px);--padding-right:var(--container-default-padding-right,10px);--padding-bottom:var(--container-default-padding-bottom,10px);--padding-left:var(--container-default-padding-left,10px);--position:relative;--z-index:revert;--overflow:visible;--gap:var(--widgets-spacing,20px);--row-gap:var(--widgets-spacing-row,20px);--column-gap:var(--widgets-spacing-column,20px);--overlay-mix-blend-mode:initial;--overlay-opacity:1;--overlay-transition:0.3s;--e-con-grid-template-columns:repeat(3,1fr);--e-con-grid-template-rows:repeat(2,1fr);border-radius:var(--border-radius);height:var(--height);min-height:var(--min-height);min-width:0;overflow:var(--overflow);position:var(--position);width:var(--width);z-index:var(--z-index);--flex-wrap-mobile:wrap}.e-con:where(:not(.e-div-block-base)){transition:background var(--background-transition,.3s),border var(--border-transition,.3s),box-shadow var(--border-transition,.3s),transform var(--e-con-transform-transition-duration,.4s)}.e-con{--margin-block-start:var(--margin-top);--margin-block-end:var(--margin-bottom);--margin-inline-start:var(--margin-left);--margin-inline-end:var(--margin-right);--padding-inline-start:var(--padding-left);--padding-inline-end:var(--padding-right);--padding-block-start:var(--padding-top);--padding-block-end:var(--padding-bottom);--border-block-start-width:var(--border-top-width);--border-block-end-width:var(--border-bottom-width);--border-inline-start-width:var(--border-left-width);--border-inline-end-width:var(--border-right-width)}body.rtl .e-con{--padding-inline-start:var(--padding-right);--padding-inline-end:var(--padding-left);--margin-inline-start:var(--margin-right);--margin-inline-end:var(--margin-left);--border-inline-start-width:var(--border-right-width);--border-inline-end-width:var(--border-left-width)}.e-con{margin-block-end:var(--margin-block-end);margin-block-start:var(--margin-block-start);margin-inline-end:var(--margin-inline-end);margin-inline-start:var(--margin-inline-start);padding-inline-end:var(--padding-inline-end);padding-inline-start:var(--padding-inline-start)}.e-con.e-flex{--flex-direction:column;--flex-basis:auto;--flex-grow:0;--flex-shrink:1;flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis)}.e-con-full,.e-con>.e-con-inner{padding-block-end:var(--padding-block-end);padding-block-start:var(--padding-block-start);text-align:var(--text-align)}.e-con-full.e-flex,.e-con.e-flex>.e-con-inner{flex-direction:var(--flex-direction)}.e-con,.e-con>.e-con-inner{display:var(--display)}.e-con.e-grid{--grid-justify-content:start;--grid-align-content:start;--grid-auto-flow:row}.e-con.e-grid,.e-con.e-grid>.e-con-inner{align-content:var(--grid-align-content);align-items:var(--align-items);grid-auto-flow:var(--grid-auto-flow);grid-template-columns:var(--e-con-grid-template-columns);grid-template-rows:var(--e-con-grid-template-rows);justify-content:var(--grid-justify-content);justify-items:var(--justify-items)}.e-con-boxed.e-flex{align-content:normal;align-items:normal;flex-direction:column;flex-wrap:nowrap;justify-content:normal}.e-con-boxed.e-grid{grid-template-columns:1fr;grid-template-rows:1fr;justify-items:legacy}.e-con-boxed{gap:initial;text-align:initial}.e-con.e-flex>.e-con-inner{align-content:var(--align-content);align-items:var(--align-items);align-self:auto;flex-basis:auto;flex-grow:1;flex-shrink:1;flex-wrap:var(--flex-wrap);justify-content:var(--justify-content)}.e-con.e-grid>.e-con-inner{align-items:var(--align-items);justify-items:var(--justify-items)}.e-con>.e-con-inner{gap:var(--row-gap) var(--column-gap);height:100%;margin:0 auto;max-width:var(--content-width);padding-inline-end:0;padding-inline-start:0;width:100%}:is(.elementor-section-wrap,[data-elementor-id])>.e-con{--margin-left:auto;--margin-right:auto;max-width:min(100%,var(--width))}:is([data-widget_type="e-component.default"],[data-widget_type="e-component.default"]>.elementor-section-wrap)>.e-con{--margin-right:0px;--margin-left:0px}.e-con .elementor-widget.elementor-widget{margin-block-end:0}.e-con:before,.e-con>.elementor-background-slideshow:before,.e-con>.elementor-motion-effects-container>.elementor-motion-effects-layer:before,:is(.e-con,.e-con>.e-con-inner)>.elementor-background-video-container:before{border-block-end-width:var(--border-block-end-width);border-block-start-width:var(--border-block-start-width);border-color:var(--border-color);border-inline-end-width:var(--border-inline-end-width);border-inline-start-width:var(--border-inline-start-width);border-radius:var(--border-radius);border-style:var(--border-style);content:var(--background-overlay);display:block;height:max(100% + var(--border-top-width) + var(--border-bottom-width),100%);left:calc(0px - var(--border-left-width));mix-blend-mode:var(--overlay-mix-blend-mode);opacity:var(--overlay-opacity);position:absolute;top:calc(0px - var(--border-top-width));transition:var(--overlay-transition,.3s);width:max(100% + var(--border-left-width) + var(--border-right-width),100%)}.e-con:before{transition:background var(--overlay-transition,.3s),border-radius var(--border-transition,.3s),opacity var(--overlay-transition,.3s)}.e-con>.elementor-background-slideshow,:is(.e-con,.e-con>.e-con-inner)>.elementor-background-video-container{border-block-end-width:var(--border-block-end-width);border-block-start-width:var(--border-block-start-width);border-color:var(--border-color);border-inline-end-width:var(--border-inline-end-width);border-inline-start-width:var(--border-inline-start-width);border-radius:var(--border-radius);border-style:var(--border-style);height:max(100% + var(--border-top-width) + var(--border-bottom-width),100%);left:calc(0px - var(--border-left-width));top:calc(0px - var(--border-top-width));width:max(100% + var(--border-left-width) + var(--border-right-width),100%)}@media (max-width:767px){:is(.e-con,.e-con>.e-con-inner)>.elementor-background-video-container.elementor-hidden-mobile{display:none}}:is(.e-con,.e-con>.e-con-inner)>.elementor-background-video-container:before{z-index:1}:is(.e-con,.e-con>.e-con-inner)>.elementor-background-slideshow:before{z-index:2}.e-con .elementor-widget{min-width:0}.e-con .elementor-widget-empty,.e-con .elementor-widget-google_maps,.e-con .elementor-widget-video,.e-con .elementor-widget.e-widget-swiper{width:100%}.e-con>.e-con-inner>.elementor-widget>.elementor-widget-container,.e-con>.elementor-widget>.elementor-widget-container{height:100%}.e-con.e-con>.e-con-inner>.elementor-widget,.elementor.elementor .e-con>.elementor-widget{max-width:100%}.e-con .elementor-widget:not(:last-child){--kit-widget-spacing:0px}@media (max-width:767px){.e-con.e-flex{--width:100%;--flex-wrap:var(--flex-wrap-mobile)}.e-con.e-flex .elementor-widget-archive-posts{width:100%}}.elementor-form-fields-wrapper{display:flex;flex-wrap:wrap}.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>.elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>input,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>textarea{flex-basis:100%;max-width:100%}.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group .elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group>input{flex-grow:1}.elementor-field-group{align-items:center;flex-wrap:wrap}.elementor-field-group.elementor-field-type-submit{align-items:flex-end}.elementor-field-group .elementor-field-textual{background-color:transparent;border:1px solid #69727d;color:#1f2124;flex-grow:1;max-width:100%;vertical-align:middle;width:100%}.elementor-field-group .elementor-field-textual:focus{box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:0}.elementor-field-group .elementor-field-textual::-moz-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-select-wrapper{display:flex;position:relative;width:100%}.elementor-field-group .elementor-select-wrapper select{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;flex-basis:100%;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;padding-inline-end:20px;text-transform:inherit}.elementor-field-group .elementor-select-wrapper:before{content:"\e92a";font-family:eicons;font-size:15px;inset-block-start:50%;inset-inline-end:10px;pointer-events:none;position:absolute;text-shadow:0 0 3px rgba(0,0,0,.3);transform:translateY(-50%)}.elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before{content:""}.elementor-field-subgroup{display:flex;flex-wrap:wrap}.elementor-field-subgroup .elementor-field-option label{display:inline-block}.elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option{padding-inline-end:10px}.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option{flex-basis:100%}.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label{display:inline}.elementor-field-label{cursor:pointer}.elementor-mark-required .elementor-field-label:after{color:red;content:"*";padding-inline-start:.2em}.elementor-field-textual{border-radius:3px;font-size:15px;line-height:1.4;min-height:40px;padding:5px 14px}.elementor-field-textual.elementor-size-xs{border-radius:2px;font-size:13px;min-height:33px;padding:4px 12px}.elementor-field-textual.elementor-size-md{border-radius:4px;font-size:16px;min-height:47px;padding:6px 16px}.elementor-field-textual.elementor-size-lg{border-radius:5px;font-size:18px;min-height:59px;padding:7px 20px}.elementor-field-textual.elementor-size-xl{border-radius:6px;font-size:20px;min-height:72px;padding:8px 24px}.elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{flex-basis:100%}.elementor-button-align-stretch .e-form__buttons__wrapper{flex-basis:50%;flex-grow:1}.elementor-button-align-stretch .e-form__buttons__wrapper__button{flex-basis:100%}.elementor-button-align-center .e-form__buttons,.elementor-button-align-center .elementor-field-type-submit{justify-content:center}.elementor-button-align-start .e-form__buttons,.elementor-button-align-start .elementor-field-type-submit{justify-content:flex-start}.elementor-button-align-end .e-form__buttons,.elementor-button-align-end .elementor-field-type-submit,[dir=rtl] .elementor-button-align-start .e-form__buttons,[dir=rtl] .elementor-button-align-start .elementor-field-type-submit{justify-content:flex-end}[dir=rtl] .elementor-button-align-end .e-form__buttons,[dir=rtl] .elementor-button-align-end .elementor-field-type-submit{justify-content:flex-start}.elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{flex-basis:auto}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper{flex-grow:0}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-center .e-form__buttons__wrapper__button,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper__button,.elementor-button-align-start .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper__button{flex-basis:auto}@media screen and (max-width:1024px){.elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{flex-basis:100%}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper{flex-basis:50%;flex-grow:1}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button{flex-basis:100%}.elementor-tablet-button-align-center .e-form__buttons,.elementor-tablet-button-align-center .elementor-field-type-submit{justify-content:center}.elementor-tablet-button-align-start .e-form__buttons,.elementor-tablet-button-align-start .elementor-field-type-submit{justify-content:flex-start}.elementor-tablet-button-align-end .e-form__buttons,.elementor-tablet-button-align-end .elementor-field-type-submit,[dir=rtl] .elementor-tablet-button-align-start .e-form__buttons,[dir=rtl] .elementor-tablet-button-align-start .elementor-field-type-submit{justify-content:flex-end}[dir=rtl] .elementor-tablet-button-align-end .e-form__buttons,[dir=rtl] .elementor-tablet-button-align-end .elementor-field-type-submit{justify-content:flex-start}.elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{flex-basis:auto}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper{flex-grow:0}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-center .e-form__buttons__wrapper__button,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper__button,.elementor-tablet-button-align-start .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper__button{flex-basis:auto}}@media screen and (max-width:767px){.elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{flex-basis:100%}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper{flex-basis:50%;flex-grow:1}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button{flex-basis:100%}.elementor-mobile-button-align-center .e-form__buttons,.elementor-mobile-button-align-center .elementor-field-type-submit{justify-content:center}.elementor-mobile-button-align-start .e-form__buttons,.elementor-mobile-button-align-start .elementor-field-type-submit{justify-content:flex-start}.elementor-mobile-button-align-end .e-form__buttons,.elementor-mobile-button-align-end .elementor-field-type-submit,[dir=rtl] .elementor-mobile-button-align-start .e-form__buttons,[dir=rtl] .elementor-mobile-button-align-start .elementor-field-type-submit{justify-content:flex-end}[dir=rtl] .elementor-mobile-button-align-end .e-form__buttons,[dir=rtl] .elementor-mobile-button-align-end .elementor-field-type-submit{justify-content:flex-start}.elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{flex-basis:auto}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper{flex-grow:0}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-center .e-form__buttons__wrapper__button,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper__button,.elementor-mobile-button-align-start .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper__button{flex-basis:auto}}.elementor-error .elementor-field{border-color:#d9534f}.elementor-error .help-inline{color:#d9534f;font-size:.9em}.elementor-message{font-size:1em;line-height:1;margin:10px 0}.elementor-message:before{content:"\e90e";display:inline-block;font-family:eicons;font-style:normal;font-weight:400;margin-inline-end:5px;vertical-align:middle}.elementor-message.elementor-message-danger{color:#d9534f}.elementor-message.elementor-message-danger:before{content:"\e87f"}.elementor-message.form-message-success{color:#5cb85c}.elementor-form .elementor-button{border:none;padding-block-end:0;padding-block-start:0}.elementor-form .elementor-button-content-wrapper,.elementor-form .elementor-button>span{display:flex;flex-direction:row;gap:5px;justify-content:center}.elementor-form .elementor-button.elementor-size-xs{min-height:33px}.elementor-form .elementor-button.elementor-size-sm{min-height:40px}.elementor-form .elementor-button.elementor-size-md{min-height:47px}.elementor-form .elementor-button.elementor-size-lg{min-height:59px}.elementor-form .elementor-button.elementor-size-xl{min-height:72px}.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)) .elementor-widget-container,.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)):not(:has(.elementor-widget-container)){transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,transform var(--e-transform-transition-duration,.4s)}.elementor-heading-title{line-height:1;margin:0;padding:0}.elementor-button{background-color:#69727d;border-radius:3px;color:#fff;display:inline-block;fill:#fff;font-size:15px;line-height:1;padding:12px 24px;text-align:center;transition:all .3s}.elementor-button:focus,.elementor-button:hover,.elementor-button:visited{color:#fff}.elementor-button-content-wrapper{display:flex;flex-direction:row;gap:5px;justify-content:center}.elementor-button-icon{align-items:center;display:flex}.elementor-button-icon svg{height:auto;width:1em}.elementor-button-icon .e-font-icon-svg{height:1em}.elementor-button-text{display:inline-block}.elementor-button.elementor-size-xs{border-radius:2px;font-size:13px;padding:10px 20px}.elementor-button.elementor-size-md{border-radius:4px;font-size:16px;padding:15px 30px}.elementor-button.elementor-size-lg{border-radius:5px;font-size:18px;padding:20px 40px}.elementor-button.elementor-size-xl{border-radius:6px;font-size:20px;padding:25px 50px}.elementor-button span{text-decoration:inherit}.elementor-element.elementor-button-info .elementor-button{background-color:#5bc0de}.elementor-element.elementor-button-success .elementor-button{background-color:#5cb85c}.elementor-element.elementor-button-warning .elementor-button{background-color:#f0ad4e}.elementor-element.elementor-button-danger .elementor-button{background-color:#d9534f}.elementor-widget-button .elementor-button .elementor-button-info{background-color:#5bc0de}.elementor-widget-button .elementor-button .elementor-button-success{background-color:#5cb85c}.elementor-widget-button .elementor-button .elementor-button-warning{background-color:#f0ad4e}.elementor-widget-button .elementor-button .elementor-button-danger{background-color:#d9534f}.elementor-view-stacked .elementor-icon{background-color:#69727d;color:#fff;fill:#fff;padding:.5em}.elementor-view-framed .elementor-icon{background-color:transparent;border:3px solid #69727d;color:#69727d;padding:.5em}.elementor-icon{color:#69727d;display:inline-block;font-size:50px;line-height:1;text-align:center;transition:all .3s}.elementor-icon:hover{color:#69727d}.elementor-icon i,.elementor-icon svg{display:block;height:1em;position:relative;width:1em}.elementor-icon i:before,.elementor-icon svg:before{left:50%;position:absolute;transform:translateX(-50%)}.elementor-icon i.fad{width:auto}.elementor-shape-square .elementor-icon{border-radius:0}.elementor-shape-rounded .elementor-icon{border-radius:10%}.elementor-shape-circle .elementor-icon{border-radius:50%}.e-transform .elementor-widget-container,.e-transform:not(:has(.elementor-widget-container)){transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x)}.e-con.e-transform{transform:perspective(var(--e-con-transform-perspective,0)) rotate(var(--e-con-transform-rotateZ,0)) rotateX(var(--e-con-transform-rotateX,0)) rotateY(var(--e-con-transform-rotateY,0)) translate(var(--e-con-transform-translate,0)) translateX(var(--e-con-transform-translateX,0)) translateY(var(--e-con-transform-translateY,0)) scaleX(calc(var(--e-con-transform-flipX, 1) * var(--e-con-transform-scaleX, var(--e-con-transform-scale, 1)))) scaleY(calc(var(--e-con-transform-flipY, 1) * var(--e-con-transform-scaleY, var(--e-con-transform-scale, 1)))) skewX(var(--e-con-transform-skewX,0)) skewY(var(--e-con-transform-skewY,0));transform-origin:var(--e-con-transform-origin-y) var(--e-con-transform-origin-x)}.animated{animation-duration:1.25s}.animated.animated-slow{animation-duration:2s}.animated.animated-fast{animation-duration:.75s}.animated.infinite{animation-iteration-count:infinite}.animated.reverse{animation-direction:reverse;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.animated{animation:none!important}html *{transition-delay:0s!important;transition-duration:0s!important}}@media (max-width:767px){.elementor .elementor-hidden-mobile,.elementor .elementor-hidden-phone{display:none}}@media (min-width:-1) and (max-width:-1){.elementor .elementor-hidden-mobile_extra{display:none}}@media (min-width:768px) and (max-width:1024px){.elementor .elementor-hidden-tablet{display:none}}@media (min-width:-1) and (max-width:-1){.elementor .elementor-hidden-laptop,.elementor .elementor-hidden-tablet_extra{display:none}}@media (min-width:1025px) and (max-width:99999px){.elementor .elementor-hidden-desktop{display:none}}@media (min-width:-1){.elementor .elementor-hidden-widescreen{display:none}}.elementor-kit-245{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500}.elementor-kit-245 e-page-transition{background-color:#FFBC7D}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.e-con{--container-max-width:1140px}.elementor-widget:not(:last-child){--kit-widget-spacing:20px}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px}{}h1.entry-title{display:var(--page-title-display)}@media(max-width:1024px){.elementor-section.elementor-section-boxed>.elementor-container{max-width:1024px}.e-con{--container-max-width:1024px}}@media(max-width:767px){.elementor-section.elementor-section-boxed>.elementor-container{max-width:767px}.e-con{--container-max-width:767px}}.elementor .e-div-block-base{min-width:30px;padding:10px;display:block}.elementor .e-flexbox-base{padding:10px;display:flex;flex-direction:row}.elementor .e-tabs-base{padding-block-start:0;display:flex;flex-direction:column;gap:30px}.elementor .e-tabs-menu-base{display:flex;justify-content:center}.elementor .e-tab-base{width:160px;color:#0C0D0E;cursor:pointer;padding:8px;border-width:2px;border-color:#E0E0E0;border-style:solid;background-color:#FFF;display:block}.elementor .e-tab-base.e--selected{border-color:#0C0D0E;outline-width:0}.elementor .e-tab-base:focus{border-color:#0C0D0E;outline-width:0}.elementor .e-tab-base:hover,.elementor .e-tab-base:focus-visible{background-color:#E0E0E0}.elementor .e-tabs-content-area-base{display:block}.elementor .e-tab-content-base{min-width:30px;padding:10px;display:block}.elementor .e-form-base{padding:20px;display:flex;flex-direction:row;gap:10px;flex-wrap:wrap;align-content:start;align-items:flex-start}.elementor .e-form-base .e-form-checkbox-row{padding:0;gap:8px;align-items:center}.elementor .e-form-success-message-base{font-size:12px;color:#2F532E;text-align:center;padding:12px;background-color:#D4E9D6;display:none}.elementor .e-form-error-message-base{font-size:12px;color:#870000;text-align:center;padding:12px;background-color:#ffdede;display:none}.elementor .e-heading-base{margin:0}.elementor .e-heading-link-base{all:unset;cursor:pointer}.elementor .e-image-link-base{width:fit-content;all:unset;cursor:pointer;display:inherit}.elementor .e-image-base{display:block}.elementor .e-paragraph-base{margin:0}.elementor .e-paragraph-link-base{all:unset;cursor:pointer}.elementor .e-svg-base{width:65px;height:65px;display:inline-block}.elementor .e-button-base{text-align:center;padding-block-start:12px;padding-block-end:12px;padding-inline-start:24px;padding-inline-end:24px;border-radius:2px;border-width:0;background-color:#375EFB;display:inline-block}.elementor .e-youtube-base{overflow:hidden;aspect-ratio:16/9}.elementor .e-divider-base{height:1px;border-width:0;border-color:#fff0;border-style:none;background-color:#000}.elementor .e-self-hosted-video-base{max-width:100vw;aspect-ratio:16/9;display:inline-block}.elementor .e-form-input-base{height:36px;font-size:12px;color:#0c0d0e;border-radius:0;border-color:#D6D5D5}.elementor .e-form-input-base:focus{border-color:#706F6F;outline-style:none}.elementor .e-form-input-base::placeholder{color:#9DA5AE}.elementor .e-form-label-base{font-size:14px;color:#0c0d0e}.elementor .e-form-textarea-base{font-size:12px;border-radius:0;border-color:#D6D5D5}.elementor .e-form-textarea-base:focus{border-color:#706F6F;outline-style:none}.elementor .e-form-textarea-base::placeholder{color:#9DA5AE}.elementor .e-form-submit-button-base{color:#fff;padding-block-start:10px;padding-block-end:10px;padding-inline-start:28px;padding-inline-end:30px;border-radius:0;border-width:0;background-color:#000;display:flex;justify-content:center;align-items:center}.elementor .e-form-submit-button-base:hover,.elementor .e-form-submit-button-base:focus-visible{background-color:#323232}.elementor .e-form-checkbox-base{width:1.15em;height:1.15em;color:#fff;border-radius:0;border-width:1px;border-color:#D6D5D5;border-style:solid;background-color:#fff0;display:grid;justify-items:center;align-items:center;appearance:none}.elementor .e-form-checkbox-base:focus{border-color:#706F6F;outline-style:none}.elementor .e-form-checkbox-base:checked{background-color:#69727D}.elementor .e-form-checkbox-base::before{width:65%;height:65%;background-color:currentColor;opacity:0%;transform-origin:0% 100% 0;content:"";clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.elementor .e-form-checkbox-base:checked::before{opacity:100%}.elementor .e-form-radio-button-base{width:1.15em;height:1.15em;color:#fff;border-radius:50%;border-width:1px;border-color:#D6D5D5;border-style:solid;background-color:#fff0;display:grid;justify-items:center;align-items:center;appearance:none}.elementor .e-form-radio-button-base:focus{border-color:#706F6F;outline-style:none}.elementor .e-form-radio-button-base:checked{background-color:#fff0}.elementor .e-form-radio-button-base::before{width:65%;height:65%;border-radius:50%;background-color:#706F6F;opacity:0%;content:""}.elementor .e-form-radio-button-base:checked::before{opacity:100%}.elementor .e-form-date-picker-base{width:100%;height:36px;font-size:12px;color:#0c0d0e;border-radius:0;border-width:1px;border-color:#D6D5D5;border-style:solid}.elementor .e-form-date-picker-base:focus{border-color:#706F6F;outline-style:none}.elementor .e-form-time-picker-base{width:100%;height:36px;font-size:12px;color:#0c0d0e;border-radius:0;border-width:1px;border-color:#D6D5D5;border-style:solid}.elementor .e-form-time-picker-base:focus{border-color:#706F6F;outline-style:none}.elementor .e-form-select-base{font-size:12px;border-width:1px;border-color:#D6D5D5;border-style:solid;background-color:#fff0}.elementor .e-form-select-base:focus{border-color:#706F6F;outline-style:none}.elementor .e-form-file-upload-base{height:36px;font-size:12px;color:#0c0d0e;border-radius:0;border-color:#D6D5D5}.elementor .e-form-file-upload-base:focus{border-color:#706F6F;outline-style:none}/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */@font-face{ font-display:swap;font-family:'FontAwesome';src:url('/wp-content/plugins/elementor/assets/lib/font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0');src:url('/wp-content/plugins/elementor/assets/lib/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('/wp-content/plugins/elementor/assets/lib/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('/wp-content/plugins/elementor/assets/lib/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('/wp-content/plugins/elementor/assets/lib/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('/wp-content/plugins/elementor/assets/lib/font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal }.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}@media screen and (min-width: 769px){/*======================================
  Settings
======================================*/
/*======================================
  Sass Mixins and Functions
======================================*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

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

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

/*======================================
  Global styles
======================================*/
html {
  background: #ffffff;
  box-sizing: border-box;
}

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

html,
button,
input,
select,
textarea {
  color: #8c8c8c;
}

a {
  text-decoration: none;
  font: inherit;
  color: inherit;
}

a:hover {
  text-decoration: none;
}

button {
  cursor: pointer;
}

a:focus,
button:focus,
a:active,
button:active {
  outline: none;
}

ul,
li {
  list-style: none;
}

ol,
ul {
  padding: 0;
  margin: 0;
}

img,
iframe,
video {
  vertical-align: middle;
}

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

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

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

.hidden {
  display: none;
}

.hideText {
  display: block;
  text-indent: 101%;
  overflow: hidden;
  white-space: nowrap;
}

/*======================================
  Grid
======================================*/
/*@include breakpoint2($min: xl, $max: "") {
  .hidden-fullhd {
    display: none !important;
  }
  .visible-fullhd {
    display: block !important;
  }
}
@include breakpoint2($min: lg, $max: xl) {
  .hidden-fullDesktop {
    display: none !important;
  }
  .visible-fullDesktop {
    display: block !important;
  }
}
@include breakpoint2($min: md, $max: lg) {
  .hidden-desktop {
    display: none !important;
  }
  .visible-desktop {
    display: block !important;
  }
}
@include breakpoint2($min: sm, $max: md) {
  .hidden-tablet {
    display: none !important;
  }
  .visible-tablet {
    display: block !important;
  }
}
@include breakpoint2($min: xs, $max: sm) {
  .hidden-phablets {
    display: none !important;
  }
  .visible-phablets {
    display: block !important;
  }
}
@include breakpoint2($min: "", $max: xs) {
  .hidden-phone {
    display: none !important;
  }
  .visible-phone {
    display: block !important;
  }
}*/
.container {
  max-width: 1256px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

@media (max-width: 768px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/*.container-full {
  @include container-full;

  @include breakpoint2($min:'', $max:sm) {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@include make-default-margin(mtop,10,top);
@include make-default-padding(ptop,10,top);

@include make-default-margin(mbottom,10,bottom);
@include make-default-padding(pbottom,10,bottom);

.fl { float: left; }
.fr { float: right; }

.center-block {
  margin-left: auto;
  margin-right: auto;
  float: none;
}*/
/*======================================
  Fonts
======================================*/
/*@font-face{ font-display:swap;
  font-family: 'fonte name';
  src: url('/wp-content/themes/adv-silva-campos/assets/fonts/fonte-name.eot');
  src: url('/wp-content/themes/adv-silva-campos/assets/fonts/fonte-name.eot?#iefix') format('embedded-opentype'),
       url('/wp-content/themes/adv-silva-campos/assets/fonts/fonte-name.woff') format('woff'),
       url('/wp-content/themes/adv-silva-campos/assets/fonts/fonte-name.ttf') format('truetype'),
       url('/wp-content/themes/adv-silva-campos/assets/fonts/fonte-name.svg#fonte-name') format('svg');
  font-weight: normal;
  font-style: normal;
 }*/
/* #### Generated By: http://font.download #### */
@font-face{ font-display:swap;
  font-family: "Satoshi Regular";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Regular"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-Regular.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Italic";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Italic"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-Italic.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Light";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Light"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-Light.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Light Italic";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Light Italic"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-LightItalic.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Medium";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Medium"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-Medium.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Medium Italic";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Medium Italic"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-MediumItalic.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Bold";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Bold"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-Bold.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Bold Italic";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Bold Italic"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-BoldItalic.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Black";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Black"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-Black.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Black Italic";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Black Italic"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-BlackItalic.woff") format("woff");
 }

body {
  font-family: "Ubuntu", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: normal;
  margin: 0;
}

p {
  margin: 0;
}

/*======================================
  Keyframes
======================================*/
@keyframes bounce {
  from {
    transform: translateY(0px);
  }
  to {
    transform: translateY(-5px);
  }
}

@keyframes moveIt {
  0%,
  100% {
    transform: translate(-50%, 0) rotate(1deg);
  }
  50% {
    transform: translate(-50%, 0) rotate(-1deg);
  }
}

@keyframes float {
  0% {
    transform: translatey(0px);
  }
  50% {
    transform: translatey(-20px);
  }
  100% {
    transform: translatey(0px);
  }
}

/*======================================
  Main structure
======================================*/
body {
  background: #0a0a0a;
}

.revealheader,
.revealicon,
.reveal,
.revealfooter,
.revealslideleft,
.revealslideright,
.revealfade {
  visibility: hidden;
}

.bg-video {
  width: 100%;
  height: clamp(1px, 85.98726vw, 1080px);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 0;
}

.bg-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.bg-video::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: linear-gradient(0deg, #0a0a0a 0%, #0a0a0a 10%, rgba(10, 10, 10, 0) 100%);
}

header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
}

header .grid-header {
  display: grid;
  grid-template-columns: 1fr clamp(1px, 10.66879vw, 134px) 1fr;
  gap: clamp(1px, 5.17516vw, 65px);
  align-items: end;
  grid-template-areas: "left logo right";
  padding-top: clamp(1px, 1.27389vw, 16px);
  padding-right: 0;
  padding-bottom: clamp(1px, 1.27389vw, 16px);
  padding-left: 0;
}

header .grid-header .logo {
  grid-area: logo;
}

header .grid-header .logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

header .grid-header .logo img.mobile {
  display: none;
}

header .grid-header .menu {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 0.71656vw, 9px);
  padding-left: 0;
}

header .grid-header .menu.left {
  grid-area: left;
}

header .grid-header .menu.left ul {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: clamp(1px, 1.27389vw, 16px);
}

header .grid-header .menu.right {
  grid-area: right;
}

header .grid-header .menu.right ul {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: clamp(1px, 1.27389vw, 16px);
}

header .grid-header .menu ul li a {
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  padding-top: clamp(1px, 0.63694vw, 8px);
  padding-right: clamp(1px, 0.63694vw, 8px);
  padding-bottom: clamp(1px, 0.63694vw, 8px);
  padding-left: clamp(1px, 0.63694vw, 8px);
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.43312vw, 18px);
  font-weight: 400;
  line-height: 120%;
  text-align: left;
  color: #ffffff;
}

header .grid-header .menu ul li a:hover {
  color: #cdb370;
}

header .grid-header .btn-menu-mobile {
  display: none;
}

nav.menu-mobile {
  display: none;
}

main {
  position: relative;
}

main .icon-01 {
  width: clamp(1px, 12.02229vw, 151px);
  height: clamp(1px, 12.02229vw, 151px);
  position: absolute;
  top: clamp(1px, 17.83439vw, 224px);
  left: clamp(1px, 4.14013vw, 52px);
  z-index: 0;
  animation: float 6s ease-in-out infinite;
}

main .icon-01 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

main .icon-02 {
  width: clamp(1px, 8.99682vw, 113px);
  height: clamp(1px, 8.99682vw, 113px);
  position: absolute;
  top: clamp(1px, 43.63057vw, 548px);
  left: clamp(1px, 14.64968vw, 184px);
  z-index: 0;
  animation: float 4s ease-in-out infinite;
}

main .icon-02 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

main .icon-03 {
  width: clamp(1px, 11.94268vw, 150px);
  height: clamp(1px, 11.94268vw, 150px);
  position: absolute;
  top: clamp(1px, 15.92357vw, 200px);
  right: clamp(1px, 12.34076vw, 155px);
  z-index: 0;
  animation: float 7s ease-in-out infinite;
}

main .icon-03 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

main .icon-04 {
  width: clamp(1px, 8.28025vw, 104px);
  height: clamp(1px, 8.28025vw, 104px);
  position: absolute;
  top: clamp(1px, 46.17834vw, 580px);
  right: clamp(1px, 17.75478vw, 223px);
  z-index: 0;
  animation: float 5s ease-in-out infinite;
}

main .icon-04 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

main section {
  position: relative;
}

:root {
  --gradient: conic-gradient(
    from 90deg at 50% 50%,
    rgb(251, 55, 60),
    rgba(252, 114, 28, 1),
    rgba(255, 220, 0, 1),
    rgba(27, 206, 255, 1),
    rgba(42, 107, 255, 1),
    rgba(217, 41, 255, 1),
    rgba(255, 10, 92, 1)
  );
}

.card {
  --start: 0;
  position: relative;
  transition: border-color 0.3s ease-in-out;
  border-color: transparent;
}

.card:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 10px;
  border: 2px solid transparent;
  background: var(--gradient);
  background-attachment: fixed;
  mask: linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) - (20 * 1.1)) * 1deg), #ffffff1f 0deg, white, #ffffff00 100deg);
  mask-composite: intersect;
  mask-clip: padding-box, border-box;
  opacity: 0;
  transition: 0.5s ease;
}

.card:hover {
  border-color: transparent !important;
}

.card:hover:before {
  opacity: 0.6;
}

.card .glow {
  pointer-events: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  filter: blur(14px);
}

.card .glow:before {
  position: absolute;
  content: "";
  width: 98%;
  height: 98%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 14px;
  border: 15px solid transparent;
  background: var(--gradient);
  background-attachment: fixed;
  /* mask: linear-gradient(#0000, #0000), 
      conic-gradient(
        from calc(var(--start)  * 1deg), 
        #000 0deg, 
        #ffffff, 
        rgba(0, 0, 0, 0) 60deg
        ); */
  mask: linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) - (20 * 1.1)) * 1deg), #ffffff1f 0deg, white, #ffffff00 100deg);
  mask-composite: intersect;
  mask-clip: padding-box, border-box;
  opacity: 0;
  transition: 1s ease;
}

.card:hover > .glow::before {
  opacity: 1;
}

footer {
  padding-top: clamp(1px, 7.64331vw, 96px);
  padding-right: 0;
  padding-bottom: clamp(1px, 1.75159vw, 22px);
  padding-left: 0;
}

footer .grid-footer {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 6.05096vw, 76px);
  padding-left: 0;
  border-bottom: 1px solid #262a3a;
  display: grid;
  grid-template-columns: clamp(1px, 14.01274vw, 176px) 1fr 1fr 1fr;
  gap: clamp(1px, 3.98089vw, 50px);
  align-items: start;
}

footer .grid-footer .logo a {
  display: block;
}

footer .grid-footer .logo a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

footer .grid-footer .item .title {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.43312vw, 18px);
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
  letter-spacing: 0.2px;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 1.91083vw, 24px);
  padding-left: 0;
}

footer .grid-footer .item ul.menu li a {
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  padding-top: clamp(1px, 0.55732vw, 7px);
  padding-right: 0;
  padding-bottom: clamp(1px, 0.55732vw, 7px);
  padding-left: 0;
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.27389vw, 16px);
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
  display: block;
}

footer .grid-footer .item ul.menu li a:hover {
  color: #cdb370;
}

footer .grid-footer .item ul.contact {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 1.99045vw, 25px);
  padding-left: 0;
}

footer .grid-footer .item ul.contact li a {
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: clamp(1px, 0.63694vw, 8px);
  padding-top: clamp(1px, 0.63694vw, 8px);
  padding-right: 0;
  padding-bottom: clamp(1px, 0.63694vw, 8px);
  padding-left: 0;
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.27389vw, 16px);
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
}

footer .grid-footer .item ul.contact li a .icon {
  width: clamp(1px, 1.59236vw, 20px);
  height: clamp(1px, 1.59236vw, 20px);
  fill: transparent;
}

footer .grid-footer .item ul.contact li a:hover {
  color: #cdb370;
}

footer .grid-footer .item .share {
  display: inline-flex;
  align-items: center;
  justify-content: start;
  gap: clamp(1px, 1.27389vw, 16px);
}

footer .grid-footer .item .share span {
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.27389vw, 16px);
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
}

footer .grid-footer .item .share .icon-box {
  width: clamp(1px, 3.82166vw, 48px);
  height: clamp(1px, 3.82166vw, 48px);
  background-color: #262a3a;
  border-radius: clamp(1px, 0.79618vw, 10px);
  display: flex;
  align-items: center;
  justify-content: center;
}

footer .grid-footer .item .share .icon-box .icon {
  width: clamp(1px, 2.54777vw, 32px);
  height: clamp(1px, 2.54777vw, 32px);
  fill: #cdb370;
}

footer .grid-footer .item .share:hover span {
  color: #cdb370;
}

footer .grid-footer .item.first {
  padding-top: clamp(1px, 1.19427vw, 15px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: clamp(1px, 6.84713vw, 86px);
}

footer .grid-footer .item.second {
  padding-top: clamp(1px, 1.19427vw, 15px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: clamp(1px, 4.29936vw, 54px);
}

footer .grid-footer .item.third {
  padding-top: clamp(1px, 1.19427vw, 15px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: clamp(1px, 1.3535vw, 17px);
}

footer .copyright {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1px, 0.79618vw, 10px);
  padding-top: clamp(1px, 2.54777vw, 32px);
  padding-right: 0;
  padding-bottom: clamp(1px, 2.54777vw, 32px);
  padding-left: 0;
}

footer .copyright p {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.27389vw, 16px);
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
}

footer .copyright p a:hover {
  color: #cdb370;
}

footer .copyright p a.upsites {
  display: inline-flex;
}

footer .copyright p a.upsites span {
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
}

footer .copyright p a.upsites span:hover {
  position: relative;
  top: -2px;
}

/*@include breakpoint2($min:xl, $max:'') {}
@include breakpoint2($min:lg, $max:xl) {}
@include breakpoint2($min:md, $max:lg) {}
@include breakpoint2($min:sm, $max:md) {}
@include breakpoint2($min:xs, $max:sm) {}
@include breakpoint2($min:'', $max:xs) {}*/
/*======================================
  Buttons
======================================*/
.btn {
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  display: inline-block;
  vertical-align: middle;
  zoom: 1;
  *display: inline;
}

/*======================================
  Key differentiators
======================================*/
.key-differentiators {
  padding-top: clamp(1px, 12.42038vw, 156px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border-bottom: 1px solid #262a3a;
}

.key-differentiators .title {
  font-family: "Satoshi Bold";
  font-size: clamp(1px, 3.18471vw, 40px);
  font-weight: 700;
  line-height: 115%;
  text-align: center;
  color: #ffffff;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 3.18471vw, 40px);
  padding-left: 0;
  background: radial-gradient(85.02% 140.62% at 22.75% 90.62%, #ffffff 0%, #cdb370 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.key-differentiators .grid-list-box {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 8.20064vw, 103px);
  padding-left: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: clamp(1px, 1.91083vw, 24px);
  align-items: stretch;
}

.key-differentiators .grid-list-box .item {
  background: linear-gradient(180deg, rgba(38, 42, 58, 0.2) 0%, rgba(38, 42, 58, 0.4) 100%);
  border: 1px solid #262a3a;
  padding-top: clamp(1px, 2.54777vw, 32px);
  padding-right: clamp(1px, 1.59236vw, 20px);
  padding-bottom: clamp(1px, 3.74204vw, 47px);
  padding-left: clamp(1px, 1.59236vw, 20px);
  border-radius: clamp(1px, 0.79618vw, 10px);
}

.key-differentiators .grid-list-box .item .icon-box {
  width: clamp(1px, 2.54777vw, 32px);
  height: clamp(1px, 2.54777vw, 32px);
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}

.key-differentiators .grid-list-box .item .icon-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

.key-differentiators .grid-list-box .item .title-box {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.27389vw, 16px);
  font-weight: 300;
  line-height: 150%;
  text-align: center;
  color: #ffffff;
  padding-top: clamp(1px, 1.19427vw, 15px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

/*======================================
  Clients
======================================*/
.clients {
  padding-top: clamp(1px, 8.28025vw, 104px);
  padding-right: 0;
  padding-bottom: clamp(1px, 1.67197vw, 21px);
  padding-left: 0;
  overflow: hidden;
}

.clients .box-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1px, 0.79618vw, 10px);
  padding-top: 0;
  padding-right: clamp(1px, 0.55732vw, 7px);
  padding-bottom: clamp(1px, 4.4586vw, 56px);
  padding-left: 0;
}

.clients .box-title .title {
  font-family: "Satoshi Bold";
  font-size: clamp(1px, 3.18471vw, 40px);
  font-weight: 700;
  line-height: 115%;
  text-align: center;
  color: #ffffff;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  background: radial-gradient(85.02% 140.62% at 22.75% 90.62%, #ffffff 0%, #cdb370 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.clients .box-title .box-google {
  width: clamp(1px, 29.93631vw, 376px);
  height: clamp(1px, 4.93631vw, 62px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1px, 0.79618vw, 10px);
  border-radius: clamp(1px, 0.79618vw, 10px);
  border: 1px solid rgba(38, 42, 58, 0.3);
  background: rgba(38, 42, 58, 0.2);
  backdrop-filter: blur(44px);
}

.clients .box-title .box-google .logo {
  width: clamp(1px, 5.89172vw, 74px);
  height: auto;
}

.clients .box-title .box-google .text {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.27389vw, 16px);
  font-weight: 400;
  line-height: 150%;
  text-align: center;
  color: #ffffff;
}

.clients .box-title .box-google .div {
  width: 1px;
  height: clamp(1px, 1.59236vw, 20px);
  background-color: rgba(255, 255, 255, 0.2);
  margin-top: 0;
  margin-right: clamp(1px, 0.47771vw, 6px);
  margin-bottom: 0;
  margin-left: clamp(1px, 0.47771vw, 6px);
}

.clients .box-title .box-google .rate {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.59236vw, 20px);
  font-weight: 400;
  line-height: 150%;
  text-align: center;
  color: #ffffff;
}

.clients .box-title .box-google .stars {
  width: clamp(1px, 7.96178vw, 100px);
  height: auto;
}

.clients .grid-list-box {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 3.98089vw, 50px);
  padding-left: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1px, 2.54777vw, 32px);
  align-items: stretch;
}

.clients .grid-list-box .item {
  background: linear-gradient(180deg, rgba(38, 42, 58, 0.2) 0%, rgba(38, 42, 58, 0.4) 100%);
  border: 1px solid #262a3a;
  padding-top: clamp(1px, 2.54777vw, 32px);
  padding-right: clamp(1px, 1.59236vw, 20px);
  padding-bottom: clamp(1px, 2.46815vw, 31px);
  padding-left: clamp(1px, 1.59236vw, 20px);
  border-radius: clamp(1px, 0.79618vw, 10px);
}

.clients .grid-list-box .item .icon-box {
  width: clamp(1px, 7.96178vw, 100px);
  height: auto;
}

.clients .grid-list-box .item .icon-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

.clients .grid-list-box .item .description-box {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.59236vw, 20px);
  font-weight: 300;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
  padding-top: clamp(1px, 2.54777vw, 32px);
  padding-right: 0;
  padding-bottom: clamp(1px, 2.46815vw, 31px);
  padding-left: 0;
}

.clients .grid-list-box .item .name {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.27389vw, 16px);
  font-weight: 300;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
}

.clients .grid-list-video {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 8.20064vw, 103px);
  padding-left: 0;
  margin: 0 -16px;
}

.clients .grid-list-video .slick-slide {
  padding: 0 16px;
}

.clients .grid-list-video .item {
  width: 100%;
  height: clamp(1px, 39.80892vw, 500px);
  border-radius: clamp(1px, 0.79618vw, 10px);
  overflow: hidden;
}

.clients .grid-list-video .item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.clients .grid-list-video .slick-dots {
  padding-top: clamp(1px, 1.27389vw, 16px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1px, 0.79618vw, 10px);
}

.clients .grid-list-video .slick-dots li button {
  font-size: 0;
  padding: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background-color: #cdb370;
  opacity: 0.5;
}

.clients .grid-list-video .slick-dots li.slick-active button {
  background-color: #cdb370;
  opacity: 1;
}

/*======================================
  About
======================================*/
.hero {
  border-bottom: 1px solid #262a3a;
  padding-top: clamp(1px, 17.99363vw, 226px);
  padding-right: 0;
  padding-bottom: clamp(1px, 3.26433vw, 41px);
  padding-left: 0;
}

.hero .subtitle {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.11465vw, 14px);
  font-weight: 400;
  line-height: 115%;
  text-align: center;
  color: #ffffff;
  text-transform: uppercase;
  display: block;
  letter-spacing: 1.4px;
}

.hero .title {
  font-family: "Satoshi Bold";
  font-size: clamp(1px, 3.18471vw, 40px);
  font-weight: 400;
  line-height: 115%;
  text-align: center;
  color: #ffffff;
  padding-top: clamp(1px, 1.91083vw, 24px);
  padding-right: 0;
  padding-bottom: clamp(1px, 2.94586vw, 37px);
  padding-left: 0;
  background: radial-gradient(85.02% 140.62% at 22.75% 90.62%, #ffffff 0%, #cdb370 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero .description {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.59236vw, 20px);
  font-weight: 400;
  line-height: 150%;
  text-align: center;
  color: #ffffff;
  letter-spacing: 0.2px;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 3.82166vw, 48px);
  padding-left: 0;
}

.hero .grid-hero {
  display: grid;
  grid-template-columns: clamp(1px, 55.41401vw, 696px) 1fr;
  gap: clamp(1px, 2.54777vw, 32px);
  align-items: start;
  padding-top: clamp(1px, 4.69745vw, 59px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.hero .grid-hero .box-text {
  padding-top: clamp(1px, 7.96178vw, 100px);
  padding-right: clamp(1px, 6.36943vw, 80px);
  padding-bottom: clamp(1px, 6.92675vw, 87px);
  padding-left: clamp(1px, 6.36943vw, 80px);
  background: rgba(38, 42, 58, 0.2);
  border-radius: clamp(1px, 1.59236vw, 20px);
}

.hero .grid-hero .box-text .title-box {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.91083vw, 24px);
  font-weight: 300;
  line-height: 150%;
  text-align: left;
  color: #dedede;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 0.63694vw, 8px);
  padding-left: 0;
  letter-spacing: 0.3px;
}

.hero .grid-hero .box-text p {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 1.27389vw, 16px);
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  color: #dedede;
  padding-top: clamp(1px, 0.95541vw, 12px);
  padding-right: 0;
  padding-bottom: clamp(1px, 0.95541vw, 12px);
  padding-left: 0;
  letter-spacing: 0.2px;
}

.hero .grid-hero .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.key-differentiators {
  padding-top: clamp(1px, 8.28025vw, 104px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.clients {
  padding-top: clamp(1px, 8.28025vw, 104px);
  padding-right: 0;
  padding-bottom: clamp(1px, 0.07962vw, 1px);
  padding-left: 0;
  border-bottom: 1px solid #262a3a;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQuY3NzIiwic291cmNlcyI6WyJhYm91dC5zY3NzIiwiY29yZS9fc2V0dGluZ3Muc2NzcyIsImNvcmUvX3V0aWxzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsImNvcmUvX2dsb2JhbC5zY3NzIiwiY29yZS9fZ3JpZC5zY3NzIiwiY29yZS9fZm9udHMuc2NzcyIsImNvcmUvX2tleWZyYW1lcy5zY3NzIiwiY29yZS9fc3RydWN0dXJlLnNjc3MiLCJtb2R1bGVzL19idXR0b25zLnNjc3MiLCJtb2R1bGVzL19rZXktZGlmZmVyZW50aWF0b3JzLnNjc3MiLCJtb2R1bGVzL19jbGllbnRzLnNjc3MiLCJwYWdlcy9fYWJvdXQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb25maWdcbkBpbXBvcnQgXCJjb3JlL3NldHRpbmdzXCI7XG5AaW1wb3J0IFwiY29yZS91dGlsc1wiO1xuXG4vLyBWZW5kb3JcbkBpbXBvcnQgXCJzbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzXCI7XG5cbi8vIERlZmF1bHRzXG5AaW1wb3J0IFwiY29yZS9nbG9iYWxcIjtcbkBpbXBvcnQgXCJjb3JlL2dyaWRcIjtcbkBpbXBvcnQgXCJjb3JlL2ZvbnRzXCI7XG5AaW1wb3J0IFwiY29yZS9rZXlmcmFtZXNcIjtcblxuLy8gU3RydWN0dXJhbFxuQGltcG9ydCBcImNvcmUvc3RydWN0dXJlXCI7XG5cbi8vIE1vZHVsZXNcbkBpbXBvcnQgXCJtb2R1bGVzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2tleS1kaWZmZXJlbnRpYXRvcnNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2NsaWVudHNcIjtcblxuLy8gUGFnZXNcbkBpbXBvcnQgXCJwYWdlcy9hYm91dFwiO1xuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBTZXR0aW5nc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4vLyBHcmlkXG4kZ3JpZC1jb250YWluZXI6IDEyNTZweDtcbiRncmlkLWd1dHRlcjogNDBweDtcblxuLy8gTWVkaWEgcXVlcnkgYnJlYWtwb2ludHNcbiRicmVha3BvaW50czogKFxuICB4czogNDgwcHgsXG4gIHNtOiA3NjhweCxcbiAgbWQ6IDk5NHB4LFxuICBsZzogMTI1NnB4LFxuICB4bDogMTQ0MHB4XG4pO1xuXG4vLyBGb250c1xuJGZvbnQtbWFpbjogXCJVYnVudHVcIiwgc2Fucy1zZXJpZjtcbiRmb250LWFsdDogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4kZm9udC1hd2Vzb21lOiBcIkZvbnRBd2Vzb21lXCI7XG4kZm9udC1zaXplOiAxNnB4O1xuJGZvbnQtY29sb3I6ICM4YzhjOGM7XG5cbi8vIENvbG9yc1xuJGNvbG9yLWJsYWNrOiAjMDAwMDAwO1xuJGNvbG9yLXdoaXRlOiAjZmZmZmZmO1xuJGNvbG9yLWdyYXk6ICNiNWI1YjU7XG4kY29sb3ItZGFyay1ncmF5OiAjMzMzMzMzO1xuJGNvbG9yLWRhcmstYmx1ZTogIzAwMGUyYjtcbiRjb2xvci1nb2xkOiAjY2RiMzcwO1xuXG4kY29sb3ItYXF1YTogIzdmZGJmZjtcbiRjb2xvci1ibHVlOiAjMDBhMGM4O1xuJGNvbG9yLWZ1Y2hzaWE6ICNmMDEyYmU7XG4kY29sb3ItZ3JlZW46ICMwMGI0MDA7XG4kY29sb3ItbGltZTogIzAxZmY3MDtcbiRjb2xvci1tYXJvb246ICM4NTE0NGI7XG4kY29sb3ItbmF2eTogIzAwMWYzZjtcbiRjb2xvci1vbGl2ZTogIzNkOTk3MDtcbiRjb2xvci1vcmFuZ2U6ICNmZjU0MWQ7XG4kY29sb3ItcHVycGxlOiAjMmYxOTJlO1xuJGNvbG9yLXJlZDogI2ZlMDAwMDtcbiRjb2xvci1zaWx2ZXI6ICNkZGRkZGQ7XG4kY29sb3ItdGVhbDogIzM5Y2NjYztcbiRjb2xvci15ZWxsb3c6ICNmZmM4MDE7XG5cbiRjb2xvci1lcnJvcjogJGNvbG9yLXJlZDtcbiRjb2xvci1zdWNjZXNzOiAkY29sb3ItZ3JlZW47XG4kY29sb3ItYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuXG4vLyBNYWduaWZpYyBQb3B1cFxuJG1mcC1pZnJhbWUtbWF4LXdpZHRoOiAxMjgwcHg7XG4kbWZwLWluY2x1ZGUtYXJyb3dzOiBmYWxzZTtcbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICBTYXNzIE1peGlucyBhbmQgRnVuY3Rpb25zXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi8vIENhbGN1bGF0ZSBlbSBmcm9tIGZvbnQtc2l6ZVxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6ICRmb250LXNpemUpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuICBAcmV0dXJuICgkcGl4ZWxzIC8gJGNvbnRleHQpICogMWVtO1xyXG59XHJcblxyXG4vLyBDYWxjdWxhdGUgJSBmcm9tIGEgdmFsdWVcclxuQGZ1bmN0aW9uIGNhbGMtcGVyY2VudCgkdGFyZ2V0LCAkY29udGFpbmVyKSB7XHJcbiAgQHJldHVybiAoJHRhcmdldCAvICRjb250YWluZXIpICogMTAwJTtcclxufVxyXG5cclxuLy8gU2hvcnRjdXQgZm9yIGNhbGMtcGVyY2VudCgpXHJcbkBmdW5jdGlvbiBjcCgkdGFyZ2V0LCAkY29udGFpbmVyKSB7XHJcbiAgQHJldHVybiBjYWxjLXBlcmNlbnQoJHRhcmdldCwgJGNvbnRhaW5lcik7XHJcbn1cclxuXHJcbi8vIENhbGN1bGF0ZSB2dyBmcm9tIGEgdmFsdWVcclxuQGZ1bmN0aW9uIGdldC12dy14cygkdGFyZ2V0KSB7XHJcbiAgJGJyZWFrOiBtYXAtZ2V0KCRicmVha3BvaW50cywgeHMpIC8gMXB4O1xyXG4gICR2dy1jb250ZXh0OiAoJGJyZWFrICogMC4wMSkgKiAxcHg7XHJcbiAgQHJldHVybiAoJHRhcmdldCAvICR2dy1jb250ZXh0KSAqIDF2dztcclxufVxyXG5cclxuLy8gQ2FsY3VsYXRlIHZ3IGZyb20gYSB2YWx1ZVxyXG5AZnVuY3Rpb24gZ2V0LXZ3LXNtKCR0YXJnZXQpIHtcclxuICAkYnJlYWs6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBzbSkgLyAxcHg7XHJcbiAgJHZ3LWNvbnRleHQ6ICgkYnJlYWsgKiAwLjAxKSAqIDFweDtcclxuICBAcmV0dXJuICgkdGFyZ2V0IC8gJHZ3LWNvbnRleHQpICogMXZ3O1xyXG59XHJcblxyXG4vLyBDYWxjdWxhdGUgdncgZnJvbSBhIHZhbHVlXHJcbkBmdW5jdGlvbiBnZXQtdnctbWQoJHRhcmdldCkge1xyXG4gICRicmVhazogbWFwLWdldCgkYnJlYWtwb2ludHMsIG1kKSAvIDFweDtcclxuICAkdnctY29udGV4dDogKCRicmVhayAqIDAuMDEpICogMXB4O1xyXG4gIEByZXR1cm4gKCR0YXJnZXQgLyAkdnctY29udGV4dCkgKiAxdnc7XHJcbn1cclxuXHJcbi8vIENhbGN1bGF0ZSB2dyBmcm9tIGEgdmFsdWVcclxuQGZ1bmN0aW9uIGdldC12dy1sZygkdGFyZ2V0KSB7XHJcbiAgJGJyZWFrOiBtYXAtZ2V0KCRicmVha3BvaW50cywgbGcpIC8gMXB4O1xyXG4gICR2dy1jb250ZXh0OiAoJGJyZWFrICogMC4wMSkgKiAxcHg7XHJcbiAgQHJldHVybiAoJHRhcmdldCAvICR2dy1jb250ZXh0KSAqIDF2dztcclxufVxyXG5cclxuLy8gQ2FsY3VsYXRlIHZ3IGZyb20gYSB2YWx1ZVxyXG5AZnVuY3Rpb24gZ2V0LXZ3LXhsKCR0YXJnZXQpIHtcclxuICAkYnJlYWs6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCB4bCkgLyAxcHg7XHJcbiAgJHZ3LWNvbnRleHQ6ICgkYnJlYWsgKiAwLjAxKSAqIDFweDtcclxuICBAcmV0dXJuICgkdGFyZ2V0IC8gJHZ3LWNvbnRleHQpICogMXZ3O1xyXG59XHJcblxyXG4vLyBGdW5jdGlvbiB0byByZW1vdmUgdW5pdCBmcm9tIG51bWJlclxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJG51bWJlcikge1xyXG4gIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xyXG59XHJcblxyXG4vLyBDYWxjdWxhdGUgdncgZnJvbSBhIHZhbHVlXHJcbkBmdW5jdGlvbiBnZXQtdncoJGJyZWFrcG9pbnQsICRpbmRleCkge1xyXG4gICRicmVhazogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSAvIDFweDtcclxuICAkdnctY29udGV4dDogKCRicmVhayAqIDAuMDEpICogMTtcclxuICAkbnVtYjogJGluZGV4ICogNTtcclxuICBAcmV0dXJuICgkbnVtYi8kdnctY29udGV4dCkgKiAxO1xyXG59XHJcblxyXG4vLyBNaXhpbiBmb3IgY29sb3Igb3ZlcmxheVxyXG5AbWl4aW4gY29yKCRjb2xvciwgJG9wYWNpdHk6IDAuMykge1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAvKiBUaGUgRmFsbGJhY2sgKi9cclxuICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgJG9wYWNpdHkpO1xyXG59XHJcblxyXG4vLyBNaXhpbiBmb3IgZ3JhZGllbnQgdGV4dCAqL1xyXG5AbWl4aW4gZ3JhZGllbnQtZm9udCgkZ3JhZGllbnQ6IHJhZGlhbC1ncmFkaWVudCg4NS4wMiUgMTQwLjYyJSBhdCAyMi43NSUgOTAuNjIlLCAjZmZmZmZmIDAlLCAjY2RiMzcwIDEwMCUpKSB7XHJcbiAgYmFja2dyb3VuZDogJGdyYWRpZW50O1xyXG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8vIENhbGN1bGF0ZSBjbGFtcCBmcm9tIGEgdmFsdWVcclxuQGZ1bmN0aW9uIGdldC1jbGFtcCgkdGFyZ2V0KSB7XHJcbiAgQHJldHVybiBjbGFtcCgxcHgsIGdldC12dy1sZygkdGFyZ2V0KSwgJHRhcmdldCk7XHJcbn1cclxuXHJcbi8vIENhbGN1bGF0ZSB2dyBmcm9tIGEgdmFsdWVcclxuQGZ1bmN0aW9uIGdldC12dy1jYWxjKCRicmVha3BvaW50LCAkaW5kZXgsICR0eXBlLCAkdGFyZ2V0KSB7XHJcbiAgJGJyZWFrOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIC8gMXB4O1xyXG4gICR2dy1jb250ZXh0OiAoJGJyZWFrICogMC4wMSkgKiAxcHg7XHJcbiAgJHZhbDogKCR0YXJnZXQgLyAkdnctY29udGV4dCkgKiAxdnc7XHJcbiAgQHJldHVybiBjYWxjKCN7JGluZGV4fSAjeyR0eXBlfSAjeyR2YWx9KTtcclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIG9iamVjdC1maXRcclxuQG1peGluIG9iamVjdC1maXQoJGZpdDogY292ZXIsICRwb3NpdGlvbjogY2VudGVyIGNlbnRlcikge1xyXG4gIEBpbmNsdWRlIHdpZHRoKCR3aWR0aDogMTAwJSk7XHJcbiAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQ6IDEwMCUpO1xyXG4gIG9iamVjdC1maXQ6ICRmaXQ7XHJcbiAgb2JqZWN0LXBvc2l0aW9uOiAkcG9zaXRpb247XHJcbn1cclxuXHJcbi8vIE1peGluIGZvciBjcm9zcy1icm93c2VyIGlubGluZS1ibG9ja1xyXG5AbWl4aW4gaW5saW5lLWJsb2NrKCRhbGlnbjogXCJ0b3BcIikge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogI3skYWxpZ259O1xyXG4gIHpvb206IDE7XHJcbiAgKmRpc3BsYXk6IGlubGluZTtcclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIEZvbnRBd2Vzb21lIGljb25zXHJcbkBtaXhpbiBmb250LWF3ZXNvbWUoJGNvbnRlbnQ6IFwiXFxmMTA3XCIsICRzaXplOiAxNnB4KSB7XHJcbiAgY29udGVudDogXCIjeyRjb250ZW50fVwiO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCBjbGFtcCgxcHgsIGdldC12dy1sZygkc2l6ZSksICRzaXplKSAvIDEgRm9udEF3ZXNvbWU7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIGZsZXhib3hcclxuQG1peGluIGZsZXgoJHR5cGU6IFwiXCIsICRkaXJlY3Rpb246IFwiXCIsICRhbGlnbjogXCJjZW50ZXJcIiwgJGp1c3RpZnk6IFwiXCIsICRnYXA6IFwiXCIpIHtcclxuICBAaWYgKCR0eXBlIT0gXCJcIikge1xyXG4gICAgZGlzcGxheTogJHR5cGUgKyBcIi1mbGV4XCI7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuICBhbGlnbi1pdGVtczogJGFsaWduO1xyXG4gIEBpZiAoJGRpcmVjdGlvbiE9IFwiXCIpIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIH1cclxuICBAaWYgKCRqdXN0aWZ5IT0gXCJcIikge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbiAgQGlmICgkZ2FwIT0gXCJcIikge1xyXG4gICAgQGlmIChzdHItaW5kZXgoI3skZ2FwfSwgXCJweFwiKSkge1xyXG4gICAgICBAaWYgKCRnYXAgPiAwKSB7XHJcbiAgICAgICAgZ2FwOiBjbGFtcCgxcHgsIGdldC12dy1sZygkZ2FwKSwgJGdhcCk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGdhcDogJGdhcDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBcIlwiLCAkbWF4OiBzbSkge1xyXG4gICAgICAgICAgZ2FwOiBnZXQtdnctbGcoJGdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgZ2FwOiAkZ2FwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIGZvbnQgc3R5bGVzXHJcbkBtaXhpbiBmb250KCRmYW1pbHk6ICRmb250LW1haW4sICRzaXplOiAkZm9udC1zaXplLCAkd2VpZ2h0OiA0MDAsICRoZWlnaHQ6IDEyMCUsICRhbGlnbjogbGVmdCwgJGNvbG9yOiAkY29sb3ItYmxhY2spIHtcclxuICBmb250LWZhbWlseTogJGZhbWlseTtcclxuICBAaWYgKHN0ci1pbmRleCgjeyRzaXplfSwgXCJweFwiKSkge1xyXG4gICAgQGlmICgkc2l6ZSA+IDApIHtcclxuICAgICAgZm9udC1zaXplOiBjbGFtcCgxcHgsIGdldC12dy1sZygkc2l6ZSksICRzaXplKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBmb250LXNpemU6IGdldC12dy1sZygkc2l6ZSk7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gIH1cclxuICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICBAaWYgKHN0ci1pbmRleCgjeyRoZWlnaHR9LCBcInB4XCIpKSB7XHJcbiAgICBAaWYgKCRoZWlnaHQgPiAwKSB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBjbGFtcCgxcHgsIGdldC12dy1sZygkaGVpZ2h0KSwgJGhlaWdodCk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgbGluZS1oZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IFwiXCIsICRtYXg6IHNtKSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGdldC12dy1sZygkaGVpZ2h0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgbGluZS1oZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgfVxyXG4gIHRleHQtYWxpZ246ICRhbGlnbjtcclxuICBjb2xvcjogJGNvbG9yO1xyXG59XHJcblxyXG4vLyBNaXhpbiBmb3IgcGFkZGluZ1xyXG5AbWl4aW4gcGFkZGluZygkdG9wOiBcIlwiLCAkcmlnaHQ6IFwiXCIsICRib3R0b206IFwiXCIsICRsZWZ0OiBcIlwiLCAkYWxsOiBcIlwiKSB7XHJcbiAgQGlmICgkYWxsIT0gXCJcIikge1xyXG4gICAgQGlmIChzdHItaW5kZXgoI3skYWxsfSwgXCJweFwiKSkge1xyXG4gICAgICBAaWYgKCRhbGwgPiAwKSB7XHJcbiAgICAgICAgbWFyZ2luOiBjbGFtcCgxcHgsIGdldC12dy1sZygkYWxsKSwgJGFsbCk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIG1hcmdpbjogY2xhbXAoLTEwMDBweCwgZ2V0LXZ3LWxnKCRhbGwpLCAkYWxsKTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIG1hcmdpbjogJGFsbDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBpZiAoJHRvcCE9IFwiXCIpIHtcclxuICAgICAgQGlmIChzdHItaW5kZXgoI3skdG9wfSwgXCJweFwiKSkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBjbGFtcCgxcHgsIGdldC12dy1sZygkdG9wKSwgJHRvcCk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAkdG9wO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgKCRyaWdodCE9IFwiXCIpIHtcclxuICAgICAgQGlmIChzdHItaW5kZXgoI3skcmlnaHR9LCBcInB4XCIpKSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogY2xhbXAoMXB4LCBnZXQtdnctbGcoJHJpZ2h0KSwgJHJpZ2h0KTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgKCRib3R0b20hPSBcIlwiKSB7XHJcbiAgICAgIEBpZiAoc3RyLWluZGV4KCN7JGJvdHRvbX0sIFwicHhcIikpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMXB4LCBnZXQtdnctbGcoJGJvdHRvbSksICRib3R0b20pO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGJvdHRvbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICgkbGVmdCE9IFwiXCIpIHtcclxuICAgICAgQGlmIChzdHItaW5kZXgoI3skbGVmdH0sIFwicHhcIikpIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNsYW1wKDFweCwgZ2V0LXZ3LWxnKCRsZWZ0KSwgJGxlZnQpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNaXhpbiBmb3IgbWFyZ2luXHJcbkBtaXhpbiBtYXJnaW4oJHRvcDogXCJcIiwgJHJpZ2h0OiBcIlwiLCAkYm90dG9tOiBcIlwiLCAkbGVmdDogXCJcIiwgJGFsbDogXCJcIikge1xyXG4gIEBpZiAoJGFsbCE9IFwiXCIpIHtcclxuICAgIEBpZiAoc3RyLWluZGV4KCN7JGFsbH0sIFwicHhcIikpIHtcclxuICAgICAgQGlmICgkYWxsID4gMCkge1xyXG4gICAgICAgIG1hcmdpbjogY2xhbXAoMXB4LCBnZXQtdnctbGcoJGFsbCksICRhbGwpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBtYXJnaW46ICRhbGw7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogXCJcIiwgJG1heDogc20pIHtcclxuICAgICAgICAgIG1hcmdpbjogZ2V0LXZ3LWxnKCRhbGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIG1hcmdpbjogJGFsbDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBpZiAoJHRvcCE9IFwiXCIpIHtcclxuICAgICAgQGlmIChzdHItaW5kZXgoI3skdG9wfSwgXCJweFwiKSkge1xyXG4gICAgICAgIEBpZiAoJHRvcCA+IDApIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IGNsYW1wKDFweCwgZ2V0LXZ3LWxnKCR0b3ApLCAkdG9wKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6ICR0b3A7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBcIlwiLCAkbWF4OiBzbSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBnZXQtdnctbGcoJHRvcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkdG9wO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgKCRyaWdodCE9IFwiXCIpIHtcclxuICAgICAgQGlmIChzdHItaW5kZXgoI3skcmlnaHR9LCBcInB4XCIpKSB7XHJcbiAgICAgICAgQGlmICgkcmlnaHQgPiAwKSB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNsYW1wKDFweCwgZ2V0LXZ3LWxnKCRyaWdodCksICRyaWdodCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodDtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IFwiXCIsICRtYXg6IHNtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZ2V0LXZ3LWxnKCRyaWdodCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICgkYm90dG9tIT0gXCJcIikge1xyXG4gICAgICBAaWYgKHN0ci1pbmRleCgjeyRib3R0b219LCBcInB4XCIpKSB7XHJcbiAgICAgICAgQGlmICgkYm90dG9tID4gMCkge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMXB4LCBnZXQtdnctbGcoJGJvdHRvbSksICRib3R0b20pO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbTtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IFwiXCIsICRtYXg6IHNtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdldC12dy1sZygkYm90dG9tKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRib3R0b207XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAoJGxlZnQhPSBcIlwiKSB7XHJcbiAgICAgIEBpZiAoc3RyLWluZGV4KCN7JGxlZnR9LCBcInB4XCIpKSB7XHJcbiAgICAgICAgQGlmICgkbGVmdCA+IDApIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjbGFtcCgxcHgsIGdldC12dy1sZygkbGVmdCksICRsZWZ0KTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbGVmdDtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IFwiXCIsICRtYXg6IHNtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBnZXQtdnctbGcoJGxlZnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRsZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNaXhpbiBmb3IgYm9yZGVyLXJhZGl1c1xyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYWxsOiAwKSB7XHJcbiAgQGlmICgkYWxsIT0gMCkge1xyXG4gICAgQGlmIChzdHItaW5kZXgoI3skYWxsfSwgXCJweFwiKSkge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBjbGFtcCgxcHgsIGdldC12dy1sZygkYWxsKSwgJGFsbCk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJGFsbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1peGluIGZvciBwb3NpdGlvblxyXG5AbWl4aW4gcG9zaXRpb24oJHR5cGU6IHJlbGF0aXZlLCAkdG9wOiBcIlwiLCAkcmlnaHQ6IFwiXCIsICRib3R0b206IFwiXCIsICRsZWZ0OiBcIlwiLCAkei1pbmRleDogXCJcIikge1xyXG4gIHBvc2l0aW9uOiAkdHlwZTtcclxuICBAaWYgKCR0b3AhPSBcIlwiKSB7XHJcbiAgICBAaWYgKHN0ci1pbmRleCgjeyR0b3B9LCBcInB4XCIpKSB7XHJcbiAgICAgIEBpZiAoJHRvcCA+IDApIHtcclxuICAgICAgICB0b3A6IGNsYW1wKDFweCwgZ2V0LXZ3LWxnKCR0b3ApLCAkdG9wKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgdG9wOiAkdG9wO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IFwiXCIsICRtYXg6IHNtKSB7XHJcbiAgICAgICAgICB0b3A6IGdldC12dy1sZygkdG9wKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICB0b3A6ICR0b3A7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAoJHJpZ2h0IT0gXCJcIikge1xyXG4gICAgQGlmIChzdHItaW5kZXgoI3skcmlnaHR9LCBcInB4XCIpKSB7XHJcbiAgICAgIEBpZiAoJHJpZ2h0ID4gMCkge1xyXG4gICAgICAgIHJpZ2h0OiBjbGFtcCgxcHgsIGdldC12dy1sZygkcmlnaHQpLCAkcmlnaHQpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICByaWdodDogJHJpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IFwiXCIsICRtYXg6IHNtKSB7XHJcbiAgICAgICAgICByaWdodDogZ2V0LXZ3LWxnKCRyaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgcmlnaHQ6ICRyaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgQGlmICgkYm90dG9tIT0gXCJcIikge1xyXG4gICAgQGlmIChzdHItaW5kZXgoI3skYm90dG9tfSwgXCJweFwiKSkge1xyXG4gICAgICBAaWYgKCRib3R0b20gPiAwKSB7XHJcbiAgICAgICAgYm90dG9tOiBjbGFtcCgxcHgsIGdldC12dy1sZygkYm90dG9tKSwgJGJvdHRvbSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJvdHRvbTogJGJvdHRvbTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBcIlwiLCAkbWF4OiBzbSkge1xyXG4gICAgICAgICAgYm90dG9tOiBnZXQtdnctbGcoJGJvdHRvbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYm90dG9tOiAkYm90dG9tO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgKCRsZWZ0IT0gXCJcIikge1xyXG4gICAgQGlmIChzdHItaW5kZXgoI3skbGVmdH0sIFwicHhcIikpIHtcclxuICAgICAgQGlmICgkbGVmdCA+IDApIHtcclxuICAgICAgICBsZWZ0OiBjbGFtcCgxcHgsIGdldC12dy1sZygkbGVmdCksICRsZWZ0KTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgbGVmdDogJGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogXCJcIiwgJG1heDogc20pIHtcclxuICAgICAgICAgIGxlZnQ6IGdldC12dy1sZygkbGVmdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgbGVmdDogJGxlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAoJHotaW5kZXghPSBcIlwiKSB7XHJcbiAgICB6LWluZGV4OiAkei1pbmRleDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1peGluIGZvciB3aWR0aFxyXG5AbWl4aW4gd2lkdGgoJHdpZHRoOiAwKSB7XHJcbiAgQGlmIChzdHItaW5kZXgoI3skd2lkdGh9LCBcInB4XCIpKSB7XHJcbiAgICB3aWR0aDogY2xhbXAoMXB4LCBnZXQtdnctbGcoJHdpZHRoKSwgJHdpZHRoKTtcclxuICB9IEBlbHNlIHtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNaXhpbiBmb3IgaGVpZ2h0XHJcbkBtaXhpbiBoZWlnaHQoJGhlaWdodDogMCkge1xyXG4gIEBpZiAoc3RyLWluZGV4KCN7JGhlaWdodH0sIFwicHhcIikpIHtcclxuICAgIGhlaWdodDogY2xhbXAoMXB4LCBnZXQtdnctbGcoJGhlaWdodCksICRoZWlnaHQpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWl4aW4gdG8gY3JlYXRlIGEgZ3JpZFxyXG5AbWl4aW4gY29sdW1ucygkcXVhbnQ6IHJlcGVhdCgxMiwgMWZyKSwgJGd1dHRlcjogMjAsICRhbGlnbjogdG9wLCAkdGVtcGxhdGU6IFwiXCIpIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogJHF1YW50O1xyXG4gIEBpZiAoc3RyLWluZGV4KCN7JGd1dHRlcn0sIFwicHhcIikpIHtcclxuICAgIGdhcDogY2xhbXAoMXB4LCBnZXQtdnctbGcoJGd1dHRlciksICRndXR0ZXIpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgZ2FwOiAkZ3V0dGVyO1xyXG4gIH1cclxuICBhbGlnbi1pdGVtczogJGFsaWduO1xyXG4gIEBpZiAoJHRlbXBsYXRlIT0gXCJcIikge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJHRlbXBsYXRlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWl4aW4gdG8gY3JlYXRlIGEgZ3JpZCBjb250YWluZXJcclxuQG1peGluIGNvbnRhaW5lciB7XHJcbiAgbWF4LXdpZHRoOiAkZ3JpZC1jb250YWluZXI7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlciAvIDIpO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXIgLyAyKTtcclxufVxyXG5cclxuLy8gTWl4aW4gdG8gY3JlYXRlIGEgZ3JpZCBjb250YWluZXJcclxuQG1peGluIGNvbnRhaW5lci1mdWxsIHtcclxuICBtYXgtd2lkdGg6IDE4MzRweDtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyIC8gMik7XHJcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlciAvIDIpO1xyXG59XHJcblxyXG4vLyBhbmltYXRlXHJcbkBtaXhpbiBhbmltYXRlKCR0aW1lOiAwLjVzLCAkZWFzZTogZWFzZSwgJGRlbGF5OiAwcykge1xyXG4gIHRyYW5zaXRpb246IGFsbCAkdGltZSAkZWFzZSAkZGVsYXk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgJHRpbWUgJGVhc2UgJGRlbGF5O1xyXG4gIC1tb3otdHJhbnNpdGlvbjogYWxsICR0aW1lICRlYXNlICRkZWxheTtcclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIG1lZGlhIHF1ZXJpZXNcclxuQG1peGluIGJyZWFrcG9pbnQyKCRtaW46IFwiXCIsICRtYXg6IFwiXCIpIHtcclxuICBAaWYgKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbWluKSBhbmQgbWFwLWdldCgkYnJlYWtwb2ludHMsICRtYXgpKSB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRtaW4pICsgMXB4KSBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRtYXgpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbj09IFwiXCIge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbWF4KSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXg9PSBcIlwiIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG1pbikpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1pbikge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgbWFyZ2luXHJcbkBtaXhpbiBtYWtlLWRlZmF1bHQtbWFyZ2luKCRwcmVmaXg6IFwibXRvcFwiLCAkbGltaXQ6IDEwLCAkZGlyZWN0aW9uOiBcInRvcFwiKSB7XHJcbiAgQGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggJGxpbWl0IHtcclxuICAgIC4jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skaW5kZXggKiA1fXB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBsZywgJG1heDogeGwpIHtcclxuICAgIEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoICRsaW1pdCB7XHJcbiAgICAgICRyOiBnZXQtdncoeGwsICRpbmRleCk7XHJcbiAgICAgIC4jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRyfXZ3O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IG1kLCAkbWF4OiBsZykge1xyXG4gICAgQGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggJGxpbWl0IHtcclxuICAgICAgJHI6IGdldC12dyhsZywgJGluZGV4KTtcclxuICAgICAgLiN7JHByZWZpeH0tI3skaW5kZXggKiA1fSB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JHJ9dnc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogc20sICRtYXg6IG1kKSB7XHJcbiAgICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCAkbGltaXQge1xyXG4gICAgICAkcjogZ2V0LXZ3KG1kLCAkaW5kZXgpO1xyXG4gICAgICAuI3skcHJlZml4fS0jeyRpbmRleCAqIDV9IHtcclxuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skcn12dztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiB4cywgJG1heDogc20pIHtcclxuICAgIEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoICRsaW1pdCB7XHJcbiAgICAgICRyOiBnZXQtdncoc20sICRpbmRleCk7XHJcbiAgICAgIC4jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRyfXZ3O1xyXG4gICAgICB9XHJcbiAgICAgIC5tb2JpbGUtI3skcHJlZml4fS0jeyRpbmRleCAqIDV9IHtcclxuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skcn12dztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBcIlwiLCAkbWF4OiB4cykge1xyXG4gICAgQGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggJGxpbWl0IHtcclxuICAgICAgJHI6IGdldC12dyh4cywgJGluZGV4KTtcclxuICAgICAgLiN7JHByZWZpeH0tI3skaW5kZXggKiA1fSB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JHJ9dnc7XHJcbiAgICAgIH1cclxuICAgICAgLm1vYmlsZS0jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRyfXZ3O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IHBhZGRpbmdcclxuQG1peGluIG1ha2UtZGVmYXVsdC1wYWRkaW5nKCRwcmVmaXg6IFwibXRvcFwiLCAkbGltaXQ6IDEwLCAkZGlyZWN0aW9uOiBcInRvcFwiKSB7XHJcbiAgQGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggJGxpbWl0IHtcclxuICAgIC4jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06ICN7JGluZGV4ICogNX1weDtcclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogbGcsICRtYXg6IHhsKSB7XHJcbiAgICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCAkbGltaXQge1xyXG4gICAgICAkcjogZ2V0LXZ3KHhsLCAkaW5kZXgpO1xyXG4gICAgICAuI3skcHJlZml4fS0jeyRpbmRleCAqIDV9IHtcclxuICAgICAgICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06ICN7JHJ9dnc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogbWQsICRtYXg6IGxnKSB7XHJcbiAgICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCAkbGltaXQge1xyXG4gICAgICAkcjogZ2V0LXZ3KGxnLCAkaW5kZXgpO1xyXG4gICAgICAuI3skcHJlZml4fS0jeyRpbmRleCAqIDV9IHtcclxuICAgICAgICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06ICN7JHJ9dnc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogc20sICRtYXg6IG1kKSB7XHJcbiAgICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCAkbGltaXQge1xyXG4gICAgICAkcjogZ2V0LXZ3KG1kLCAkaW5kZXgpO1xyXG4gICAgICAuI3skcHJlZml4fS0jeyRpbmRleCAqIDV9IHtcclxuICAgICAgICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06ICN7JHJ9dnc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogeHMsICRtYXg6IHNtKSB7XHJcbiAgICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCAkbGltaXQge1xyXG4gICAgICAkcjogZ2V0LXZ3KHNtLCAkaW5kZXgpO1xyXG4gICAgICAuI3skcHJlZml4fS0jeyRpbmRleCAqIDV9IHtcclxuICAgICAgICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06ICN7JHJ9dnc7XHJcbiAgICAgIH1cclxuICAgICAgLm1vYmlsZS0jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICAgIHBhZGRpbmctI3skZGlyZWN0aW9ufTogI3skcn12dztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBcIlwiLCAkbWF4OiB4cykge1xyXG4gICAgQGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggJGxpbWl0IHtcclxuICAgICAgJHI6IGdldC12dyh4cywgJGluZGV4KTtcclxuICAgICAgLiN7JHByZWZpeH0tI3skaW5kZXggKiA1fSB7XHJcbiAgICAgICAgcGFkZGluZy0jeyRkaXJlY3Rpb259OiAjeyRyfXZ3O1xyXG4gICAgICB9XHJcbiAgICAgIC5tb2JpbGUtI3skcHJlZml4fS0jeyRpbmRleCAqIDV9IHtcclxuICAgICAgICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06ICN7JHJ9dnc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZWFzaWx5IHVzZSBhbiBTVkcgaW5saW5lIGluIENTU1xyXG4vLy8gd2l0aG91dCBlbmNvZGluZyBpdCB0byBiYXNlNjQsIHNhdmluZyBieXRlcy5cclxuLy8vIEl0IGFsc28gaGVscHMgd2l0aCBicm93c2VyIHN1cHBvcnQuXHJcbi8vLyBBIHNtYWxsIGZ1bmN0aW9uIGFsbG93aW5nIHNraXBwaW5nIGJhc2U2NCBlbmNvZGluZ1xyXG4vLy8gYW5kIHNpbXBseSBwYXN0aW5nIHRoZSBTVkcgbWFya3VwIHJpZ2h0IGluIHRoZSBDU1MuXHJcbi8vLyBAYXV0aG9yIEpha29iIEVyaWtzZW5cclxuLy8vIEBsaW5rIGh0dHA6Ly9jb2RlcGVuLmlvL2pha29iLWUvcGVuL2RvTW9NTFxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdmcgLSBTVkcgaW1hZ2UgdG8gZW5jb2RlXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gRW5jb2RlZCBTVkcgZGF0YSB1cmlcclxuQGZ1bmN0aW9uIHN2Zy11cmkoJHN2Zykge1xyXG4gICRlbmNvZGVkOiBcIlwiO1xyXG4gICRzbGljZTogMjAwMDtcclxuICAkaW5kZXg6IDA7XHJcbiAgJGxvb3BzOiBjZWlsKHN0ci1sZW5ndGgoJHN2ZykgLyAkc2xpY2UpO1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGxvb3BzIHtcclxuICAgICRjaHVuazogc3RyLXNsaWNlKCRzdmcsICRpbmRleCwgJGluZGV4ICsgJHNsaWNlIC0gMSk7XHJcbiAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywgJ1wiJywgXCInXCIpO1xyXG4gICAgJGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssIFwiPFwiLCBcIiUzQ1wiKTtcclxuICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCBcIj5cIiwgXCIlM0VcIik7XHJcbiAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywgXCImXCIsIFwiJTI2XCIpO1xyXG4gICAgJGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssIFwiI1wiLCBcIiUyM1wiKTtcclxuICAgICRlbmNvZGVkOiAjeyRlbmNvZGVkfSN7JGNodW5rfTtcclxuICAgICRpbmRleDogJGluZGV4ICsgJHNsaWNlO1xyXG4gIH1cclxuICBAcmV0dXJuIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsI3skZW5jb2RlZH1cIik7XHJcbn1cclxuXHJcbi8vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBsaW5rIGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC8xYjRmMmRhNTUyNzgzMDA4OGU0ZFxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xyXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcclxuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcclxuICBAaWYgJGluZGV4IHtcclxuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgK1xyXG4gICAgICBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcclxuICB9XHJcbiAgQHJldHVybiAkc3RyaW5nO1xyXG59XHJcbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICBHbG9iYWwgcmVzZXRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbmh0bWwsXHJcbmJvZHksXHJcbmRpdixcclxuc3BhbixcclxuYXBwbGV0LFxyXG5vYmplY3QsXHJcbmlmcmFtZSxcclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNixcclxucCxcclxuYmxvY2txdW90ZSxcclxucHJlLFxyXG5hLFxyXG5hYmJyLFxyXG5hY3JvbnltLFxyXG5hZGRyZXNzLFxyXG5iaWcsXHJcbmNpdGUsXHJcbmNvZGUsXHJcbmRlbCxcclxuZGZuLFxyXG5lbSxcclxuaW1nLFxyXG5pbnMsXHJcbmtiZCxcclxucSxcclxucyxcclxuc2FtcCxcclxuc21hbGwsXHJcbnN0cmlrZSxcclxuc3Ryb25nLFxyXG5zdWIsXHJcbnN1cCxcclxudHQsXHJcbnZhcixcclxuYixcclxudSxcclxuaSxcclxuY2VudGVyLFxyXG5kbCxcclxuZHQsXHJcbmRkLFxyXG5vbCxcclxudWwsXHJcbmxpLFxyXG5maWVsZHNldCxcclxuZm9ybSxcclxubGFiZWwsXHJcbmxlZ2VuZCxcclxudGFibGUsXHJcbmNhcHRpb24sXHJcbnRib2R5LFxyXG50Zm9vdCxcclxudGhlYWQsXHJcbnRyLFxyXG50aCxcclxudGQsXHJcbmFydGljbGUsXHJcbmFzaWRlLFxyXG5jYW52YXMsXHJcbmRldGFpbHMsXHJcbmVtYmVkLFxyXG5maWd1cmUsXHJcbmZpZ2NhcHRpb24sXHJcbmZvb3RlcixcclxuaGVhZGVyLFxyXG5oZ3JvdXAsXHJcbm1lbnUsXHJcbm5hdixcclxub3V0cHV0LFxyXG5ydWJ5LFxyXG5zZWN0aW9uLFxyXG5zdW1tYXJ5LFxyXG50aW1lLFxyXG5tYXJrLFxyXG5hdWRpbyxcclxudmlkZW8ge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxuICBmb250LXNpemU6IDEwMCU7XHJcbiAgZm9udDogaW5oZXJpdDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgb3V0bGluZTogbm9uZTtcclxufVxyXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXHJcbmFydGljbGUsXHJcbmFzaWRlLFxyXG5kZXRhaWxzLFxyXG5maWdjYXB0aW9uLFxyXG5maWd1cmUsXHJcbmZvb3RlcixcclxuaGVhZGVyLFxyXG5oZ3JvdXAsXHJcbm1lbnUsXHJcbm5hdixcclxuc2VjdGlvbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuYm9keSB7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxub2wsXHJcbnVsIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcbmJsb2NrcXVvdGUsXHJcbnEge1xyXG4gIHF1b3Rlczogbm9uZTtcclxufVxyXG5ibG9ja3F1b3RlOmJlZm9yZSxcclxuYmxvY2txdW90ZTphZnRlcixcclxucTpiZWZvcmUsXHJcbnE6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgY29udGVudDogbm9uZTtcclxufVxyXG50YWJsZSB7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICBib3JkZXItc3BhY2luZzogMDtcclxufVxyXG5cclxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIEdsb2JhbCBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5odG1sIHtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItYmFja2dyb3VuZDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4qLFxyXG4qOmJlZm9yZSxcclxuKjphZnRlciB7XHJcbiAgYm94LXNpemluZzogaW5oZXJpdDtcclxufVxyXG5cclxuaHRtbCxcclxuYnV0dG9uLFxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcbiAgY29sb3I6ICRmb250LWNvbG9yO1xyXG59XHJcblxyXG5hIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgLy90cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xyXG4gIGZvbnQ6IGluaGVyaXQ7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuYnV0dG9uIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmE6Zm9jdXMsXHJcbmJ1dHRvbjpmb2N1cyxcclxuYTphY3RpdmUsXHJcbmJ1dHRvbjphY3RpdmUge1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbnVsLFxyXG5saSB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxub2wsXHJcbnVsIHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuaW1nLFxyXG5pZnJhbWUsXHJcbnZpZGVvIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4uYWxpZ24tbGVmdCB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLmFsaWduLXJpZ2h0IHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLmFsaWduLWNlbnRlciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uaGlkZGVuIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5oaWRlVGV4dCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgR3JpZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLypAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiB4bCwgJG1heDogXCJcIikge1xuICAuaGlkZGVuLWZ1bGxoZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC52aXNpYmxlLWZ1bGxoZCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogbGcsICRtYXg6IHhsKSB7XG4gIC5oaWRkZW4tZnVsbERlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudmlzaWJsZS1mdWxsRGVza3RvcCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogbWQsICRtYXg6IGxnKSB7XG4gIC5oaWRkZW4tZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC52aXNpYmxlLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IHNtLCAkbWF4OiBtZCkge1xuICAuaGlkZGVuLXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC52aXNpYmxlLXRhYmxldCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogeHMsICRtYXg6IHNtKSB7XG4gIC5oaWRkZW4tcGhhYmxldHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudmlzaWJsZS1waGFibGV0cyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogXCJcIiwgJG1heDogeHMpIHtcbiAgLmhpZGRlbi1waG9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC52aXNpYmxlLXBob25lIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59Ki9cblxuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBcIlwiLCAkbWF4OiBzbSkge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG59XG4vKi5jb250YWluZXItZnVsbCB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1mdWxsO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46JycsICRtYXg6c20pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtYWtlLWRlZmF1bHQtbWFyZ2luKG10b3AsMTAsdG9wKTtcbkBpbmNsdWRlIG1ha2UtZGVmYXVsdC1wYWRkaW5nKHB0b3AsMTAsdG9wKTtcblxuQGluY2x1ZGUgbWFrZS1kZWZhdWx0LW1hcmdpbihtYm90dG9tLDEwLGJvdHRvbSk7XG5AaW5jbHVkZSBtYWtlLWRlZmF1bHQtcGFkZGluZyhwYm90dG9tLDEwLGJvdHRvbSk7XG5cbi5mbCB7IGZsb2F0OiBsZWZ0OyB9XG4uZnIgeyBmbG9hdDogcmlnaHQ7IH1cblxuLmNlbnRlci1ibG9jayB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGZsb2F0OiBub25lO1xufSovXG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZvbnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ZvbnRlIG5hbWUnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGUtbmFtZS5lb3QnKTtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ZvbnRlLW5hbWUuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL2ZvbnRlLW5hbWUud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnLi4vZm9udHMvZm9udGUtbmFtZS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZS1uYW1lLnN2ZyNmb250ZS1uYW1lJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufSovXG4vKiAjIyMjIEdlbmVyYXRlZCBCeTogaHR0cDovL2ZvbnQuZG93bmxvYWQgIyMjIyAqL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2F0b3NoaSBSZWd1bGFyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOlxuICAgIGxvY2FsKFwiU2F0b3NoaSBSZWd1bGFyXCIpLFxuICAgIHVybChcIi4uL2ZvbnRzL1NhdG9zaGktUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpIEl0YWxpY1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzpcbiAgICBsb2NhbChcIlNhdG9zaGkgSXRhbGljXCIpLFxuICAgIHVybChcIi4uL2ZvbnRzL1NhdG9zaGktSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNhdG9zaGkgTGlnaHRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6XG4gICAgbG9jYWwoXCJTYXRvc2hpIExpZ2h0XCIpLFxuICAgIHVybChcIi4uL2ZvbnRzL1NhdG9zaGktTGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2F0b3NoaSBMaWdodCBJdGFsaWNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6XG4gICAgbG9jYWwoXCJTYXRvc2hpIExpZ2h0IEl0YWxpY1wiKSxcbiAgICB1cmwoXCIuLi9mb250cy9TYXRvc2hpLUxpZ2h0SXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNhdG9zaGkgTWVkaXVtXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOlxuICAgIGxvY2FsKFwiU2F0b3NoaSBNZWRpdW1cIiksXG4gICAgdXJsKFwiLi4vZm9udHMvU2F0b3NoaS1NZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2F0b3NoaSBNZWRpdW0gSXRhbGljXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOlxuICAgIGxvY2FsKFwiU2F0b3NoaSBNZWRpdW0gSXRhbGljXCIpLFxuICAgIHVybChcIi4uL2ZvbnRzL1NhdG9zaGktTWVkaXVtSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNhdG9zaGkgQm9sZFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzpcbiAgICBsb2NhbChcIlNhdG9zaGkgQm9sZFwiKSxcbiAgICB1cmwoXCIuLi9mb250cy9TYXRvc2hpLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2F0b3NoaSBCb2xkIEl0YWxpY1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzpcbiAgICBsb2NhbChcIlNhdG9zaGkgQm9sZCBJdGFsaWNcIiksXG4gICAgdXJsKFwiLi4vZm9udHMvU2F0b3NoaS1Cb2xkSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNhdG9zaGkgQmxhY2tcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6XG4gICAgbG9jYWwoXCJTYXRvc2hpIEJsYWNrXCIpLFxuICAgIHVybChcIi4uL2ZvbnRzL1NhdG9zaGktQmxhY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2F0b3NoaSBCbGFjayBJdGFsaWNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6XG4gICAgbG9jYWwoXCJTYXRvc2hpIEJsYWNrIEl0YWxpY1wiKSxcbiAgICB1cmwoXCIuLi9mb250cy9TYXRvc2hpLUJsYWNrSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1tYWluO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogJGZvbnQtYWx0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDA7XG59XG5cbnAge1xuICBtYXJnaW46IDA7XG59XG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEtleWZyYW1lc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbW92ZUl0IHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApIHJvdGF0ZSgxZGVnKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApIHJvdGF0ZSgtMWRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbG9hdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoMHB4KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRleSgtMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGV5KDBweCk7XG4gIH1cbn1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgTWFpbiBzdHJ1Y3R1cmVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLy8gZGlzcGxheSBncmlkXG4vLyBAaW5jbHVkZSBjb2x1bW5zKCAkcXVhbnQ6IHJlcGVhdCg0LCAxZnIpLCAkZ3V0dGVyOiAxMHB4LCAkYWxpZ246IGNlbnRlciwgJHRlbXBsYXRlOiAnJyk7XG5cbi8vIGRpc3BsYXkgZmxleFxuLy8gQGluY2x1ZGUgZmxleCgkdHlwZTogaW5saW5lLCAkZGlyZWN0aW9uOiByb3csICRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyLCAkZ2FwOiAxMHB4KTtcblxuLy8gcGFkZGluZ1xuLy8gQGluY2x1ZGUgcGFkZGluZygkdG9wOiAwLCAkcmlnaHQ6IDAsICRib3R0b206IDAsICRsZWZ0OiAwKTtcblxuLy8gbWFyZ2luXG4vLyBAaW5jbHVkZSBtYXJnaW4oJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAwLCAkbGVmdDogMCk7XG5cbi8vIGZvbnRcbi8vIEBpbmNsdWRlIGZvbnQoJGZhbWlseTogJGZvbnQtbWFpbiwgJHNpemU6ICRmb250LXNpemUsICR3ZWlnaHQ6IDQwMCwgJGhlaWdodDogMTIwJSwgJGFsaWduOiBsZWZ0LCAkY29sb3I6ICRjb2xvci1ibGFjayk7XG5cbi8vIHBvc2l0aW9uXG4vLyBAaW5jbHVkZSBwb3NpdGlvbigkdHlwZTogcmVsYXRpdmUsICR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogMCwgJGxlZnQ6IDAsICR6LWluZGV4OiAwKTtcblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIC8vYmFja2dyb3VuZDogIzBhMGEwYSB1cmwoLi4vaW1hZ2VzL2JnLnBuZykgdG9wIGNlbnRlciBuby1yZXBlYXQ7XG59XG4ucmV2ZWFsaGVhZGVyLFxuLnJldmVhbGljb24sXG4ucmV2ZWFsLFxuLnJldmVhbGZvb3Rlcixcbi5yZXZlYWxzbGlkZWxlZnQsXG4ucmV2ZWFsc2xpZGVyaWdodCxcbi5yZXZlYWxmYWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uYmctdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQ6IDEwODBweCk7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKCR0eXBlOiBhYnNvbHV0ZSwgJHRvcDogMCwgJHJpZ2h0OiAwLCAkbGVmdDogMCwgJHotaW5kZXg6IDApO1xuICB2aWRlbyB7XG4gICAgQGluY2x1ZGUgb2JqZWN0LWZpdCgkZml0OiBjb3ZlciwgJHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyKTtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oJHR5cGU6IGFic29sdXRlLCAkdG9wOiAwLCAkcmlnaHQ6IDAsICRib3R0b206IDAsICRsZWZ0OiAwLCAkei1pbmRleDogMCk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMTAsIDEwLCAxMCwgMSkgMCUsIHJnYmEoMTAsIDEwLCAxMCwgMSkgMTAlLCByZ2JhKDEwLCAxMCwgMTAsIDApIDEwMCUpO1xuICB9XG59XG4vLyBoZWFkZXJcbmhlYWRlciB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKCR0eXBlOiBhYnNvbHV0ZSwgJHRvcDogMCwgJHJpZ2h0OiAwLCAkbGVmdDogMCwgJHotaW5kZXg6IDEwMCk7XG4gIC5ncmlkLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgY29sdW1ucygkcXVhbnQ6IDFmciBnZXQtY2xhbXAoMTM0cHgpIDFmciwgJGd1dHRlcjogNjVweCwgJGFsaWduOiBlbmQsICR0ZW1wbGF0ZTogXCJsZWZ0IGxvZ28gcmlnaHRcIik7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAxNnB4LCAkcmlnaHQ6IDAsICRib3R0b206IDE2cHgsICRsZWZ0OiAwKTtcbiAgICAubG9nbyB7XG4gICAgICBncmlkLWFyZWE6IGxvZ287XG4gICAgICBpbWcge1xuICAgICAgICBAaW5jbHVkZSBvYmplY3QtZml0KCRmaXQ6IGNvdmVyLCAkcG9zaXRpb246IGNlbnRlciBjZW50ZXIpO1xuICAgICAgICAmLm1vYmlsZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubWVudSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogOXB4LCAkbGVmdDogMCk7XG4gICAgICAmLmxlZnQge1xuICAgICAgICBncmlkLWFyZWE6IGxlZnQ7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogZW5kLCAkZ2FwOiAxNnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5yaWdodCB7XG4gICAgICAgIGdyaWQtYXJlYTogcmlnaHQ7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogc3RhcnQsICRnYXA6IDE2cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoJHRpbWU6IDAuM3MpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiA4cHgsICRyaWdodDogOHB4LCAkYm90dG9tOiA4cHgsICRsZWZ0OiA4cHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udChcbiAgICAgICAgICAgICAgJGZhbWlseTogXCJTYXRvc2hpIExpZ2h0XCIsXG4gICAgICAgICAgICAgICRzaXplOiAxOHB4LFxuICAgICAgICAgICAgICAkd2VpZ2h0OiA0MDAsXG4gICAgICAgICAgICAgICRoZWlnaHQ6IDEyMCUsXG4gICAgICAgICAgICAgICRhbGlnbjogbGVmdCxcbiAgICAgICAgICAgICAgJGNvbG9yOiAkY29sb3Itd2hpdGVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYnRuLW1lbnUtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5uYXYubWVudS1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLy8gZW5kIGhlYWRlclxuLy8gbWFpblxubWFpbiB7XG4gIC8vYmFja2dyb3VuZDogdXJsKC4uL2ltZy9iZy10b3AucG5nKSB0b3AgY2VudGVyIG5vLXJlcGVhdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBoZWlnaHQ6IDU1ODBweDtcbiAgLmljb24tMDEge1xuICAgIEBpbmNsdWRlIHdpZHRoKCR3aWR0aDogMTUxcHgpO1xuICAgIEBpbmNsdWRlIGhlaWdodCgkaGVpZ2h0OiAxNTFweCk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oJHR5cGU6IGFic29sdXRlLCAkdG9wOiAyMjRweCwgJGxlZnQ6IDUycHgsICR6LWluZGV4OiAwKTtcbiAgICBhbmltYXRpb246IGZsb2F0IDZzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBvYmplY3QtZml0KCRmaXQ6IGNvdmVyLCAkcG9zaXRpb246IGNlbnRlciBjZW50ZXIpO1xuICAgIH1cbiAgfVxuICAuaWNvbi0wMiB7XG4gICAgQGluY2x1ZGUgd2lkdGgoJHdpZHRoOiAxMTNweCk7XG4gICAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQ6IDExM3B4KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbigkdHlwZTogYWJzb2x1dGUsICR0b3A6IDU0OHB4LCAkbGVmdDogMTg0cHgsICR6LWluZGV4OiAwKTtcbiAgICBhbmltYXRpb246IGZsb2F0IDRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBvYmplY3QtZml0KCRmaXQ6IGNvdmVyLCAkcG9zaXRpb246IGNlbnRlciBjZW50ZXIpO1xuICAgIH1cbiAgfVxuICAuaWNvbi0wMyB7XG4gICAgQGluY2x1ZGUgd2lkdGgoJHdpZHRoOiAxNTBweCk7XG4gICAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQ6IDE1MHB4KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbigkdHlwZTogYWJzb2x1dGUsICR0b3A6IDIwMHB4LCAkcmlnaHQ6IDE1NXB4LCAkei1pbmRleDogMCk7XG4gICAgYW5pbWF0aW9uOiBmbG9hdCA3cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgb2JqZWN0LWZpdCgkZml0OiBjb3ZlciwgJHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyKTtcbiAgICB9XG4gIH1cbiAgLmljb24tMDQge1xuICAgIEBpbmNsdWRlIHdpZHRoKCR3aWR0aDogMTA0cHgpO1xuICAgIEBpbmNsdWRlIGhlaWdodCgkaGVpZ2h0OiAxMDRweCk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oJHR5cGU6IGFic29sdXRlLCAkdG9wOiA1ODBweCwgJHJpZ2h0OiAyMjNweCwgJHotaW5kZXg6IDApO1xuICAgIGFuaW1hdGlvbjogZmxvYXQgNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIG9iamVjdC1maXQoJGZpdDogY292ZXIsICRwb3NpdGlvbjogY2VudGVyIGNlbnRlcik7XG4gICAgfVxuICB9XG4gIHNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuOnJvb3Qge1xuICAtLWdyYWRpZW50OiBjb25pYy1ncmFkaWVudChcbiAgICBmcm9tIDkwZGVnIGF0IDUwJSA1MCUsXG4gICAgcmdiKDI1MSwgNTUsIDYwKSxcbiAgICByZ2JhKDI1MiwgMTE0LCAyOCwgMSksXG4gICAgcmdiYSgyNTUsIDIyMCwgMCwgMSksXG4gICAgcmdiYSgyNywgMjA2LCAyNTUsIDEpLFxuICAgIHJnYmEoNDIsIDEwNywgMjU1LCAxKSxcbiAgICByZ2JhKDIxNywgNDEsIDI1NSwgMSksXG4gICAgcmdiYSgyNTUsIDEwLCA5MiwgMSlcbiAgKTtcbn1cbi5jYXJkIHtcbiAgLS1zdGFydDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmFkaWVudCk7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICBtYXNrOlxuICAgICAgbGluZWFyLWdyYWRpZW50KCMwMDAwLCAjMDAwMCksXG4gICAgICBjb25pYy1ncmFkaWVudChmcm9tIGNhbGMoKHZhcigtLXN0YXJ0KSAtICgyMCAqIDEuMSkpICogMWRlZyksICNmZmZmZmYxZiAwZGVnLCB3aGl0ZSwgI2ZmZmZmZjAwIDEwMGRlZyk7XG4gICAgbWFzay1jb21wb3NpdGU6IGludGVyc2VjdDtcbiAgICBtYXNrLWNsaXA6IHBhZGRpbmctYm94LCBib3JkZXItYm94O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogMC41cyBlYXNlO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxuICB9XG4gIC5nbG93IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBmaWx0ZXI6IGJsdXIoMTRweCk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiA5OCU7XG4gICAgICBoZWlnaHQ6IDk4JTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICAgYm9yZGVyOiAxNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ3JhZGllbnQpO1xuICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAgIC8qIG1hc2s6IGxpbmVhci1ncmFkaWVudCgjMDAwMCwgIzAwMDApLCBcbiAgICAgIGNvbmljLWdyYWRpZW50KFxuICAgICAgICBmcm9tIGNhbGModmFyKC0tc3RhcnQpICAqIDFkZWcpLCBcbiAgICAgICAgIzAwMCAwZGVnLCBcbiAgICAgICAgI2ZmZmZmZiwgXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMCkgNjBkZWdcbiAgICAgICAgKTsgKi9cbiAgICAgIG1hc2s6XG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgjMDAwMCwgIzAwMDApLFxuICAgICAgICBjb25pYy1ncmFkaWVudChmcm9tIGNhbGMoKHZhcigtLXN0YXJ0KSAtICgyMCAqIDEuMSkpICogMWRlZyksICNmZmZmZmYxZiAwZGVnLCB3aGl0ZSwgI2ZmZmZmZjAwIDEwMGRlZyk7XG4gICAgICBtYXNrLWNvbXBvc2l0ZTogaW50ZXJzZWN0O1xuICAgICAgbWFzay1jbGlwOiBwYWRkaW5nLWJveCwgYm9yZGVyLWJveDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiAxcyBlYXNlO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZDpob3ZlciA+IC5nbG93OjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vLyBlbmQgbWFpblxuLy8gZm9vdGVyXG5mb290ZXIge1xuICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDk2cHgsICRyaWdodDogMCwgJGJvdHRvbTogMjJweCwgJGxlZnQ6IDApO1xuICAuZ3JpZC1mb290ZXIge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiA3NnB4LCAkbGVmdDogMCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyNjJhM2E7XG4gICAgQGluY2x1ZGUgY29sdW1ucygkcXVhbnQ6IGdldC1jbGFtcCgxNzZweCkgMWZyIDFmciAxZnIsICRndXR0ZXI6IDUwcHgsICRhbGlnbjogc3RhcnQsICR0ZW1wbGF0ZTogXCJcIik7XG4gICAgLmxvZ28ge1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIEBpbmNsdWRlIG9iamVjdC1maXQoJGZpdDogY292ZXIsICRwb3NpdGlvbjogY2VudGVyIGNlbnRlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLml0ZW0ge1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udChcbiAgICAgICAgICAkZmFtaWx5OiBcIlNhdG9zaGkgTGlnaHRcIixcbiAgICAgICAgICAkc2l6ZTogMThweCxcbiAgICAgICAgICAkd2VpZ2h0OiA0MDAsXG4gICAgICAgICAgJGhlaWdodDogMTUwJSxcbiAgICAgICAgICAkYWxpZ246IGxlZnQsXG4gICAgICAgICAgJGNvbG9yOiAkY29sb3Itd2hpdGVcbiAgICAgICAgKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogMjRweCwgJGxlZnQ6IDApO1xuICAgICAgfVxuICAgICAgdWwubWVudSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoJHRpbWU6IDAuM3MpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiA3cHgsICRyaWdodDogMCwgJGJvdHRvbTogN3B4LCAkbGVmdDogMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KFxuICAgICAgICAgICAgICAkZmFtaWx5OiBcIlNhdG9zaGkgTGlnaHRcIixcbiAgICAgICAgICAgICAgJHNpemU6IDE2cHgsXG4gICAgICAgICAgICAgICR3ZWlnaHQ6IDQwMCxcbiAgICAgICAgICAgICAgJGhlaWdodDogMTUwJSxcbiAgICAgICAgICAgICAgJGFsaWduOiBsZWZ0LFxuICAgICAgICAgICAgICAkY29sb3I6ICRjb2xvci13aGl0ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHVsLmNvbnRhY3Qge1xuICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogMjVweCwgJGxlZnQ6IDApO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRlKCR0aW1lOiAwLjNzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBzdGFydCwgJGdhcDogOHB4KTtcbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgd2lkdGgoJHdpZHRoOiAyMHB4KTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQ6IDIwcHgpO1xuICAgICAgICAgICAgICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogOHB4LCAkcmlnaHQ6IDAsICRib3R0b206IDhweCwgJGxlZnQ6IDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udChcbiAgICAgICAgICAgICAgJGZhbWlseTogXCJTYXRvc2hpIExpZ2h0XCIsXG4gICAgICAgICAgICAgICRzaXplOiAxNnB4LFxuICAgICAgICAgICAgICAkd2VpZ2h0OiA0MDAsXG4gICAgICAgICAgICAgICRoZWlnaHQ6IDE1MCUsXG4gICAgICAgICAgICAgICRhbGlnbjogbGVmdCxcbiAgICAgICAgICAgICAgJGNvbG9yOiAkY29sb3Itd2hpdGVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNoYXJlIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgkdHlwZTogaW5saW5lLCAkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IHN0YXJ0LCAkZ2FwOiAxNnB4KTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZSgkdGltZTogMC4zcyk7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udChcbiAgICAgICAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBMaWdodFwiLFxuICAgICAgICAgICAgJHNpemU6IDE2cHgsXG4gICAgICAgICAgICAkd2VpZ2h0OiA0MDAsXG4gICAgICAgICAgICAkaGVpZ2h0OiAxNTAlLFxuICAgICAgICAgICAgJGFsaWduOiBsZWZ0LFxuICAgICAgICAgICAgJGNvbG9yOiAkY29sb3Itd2hpdGVcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJveCB7XG4gICAgICAgICAgQGluY2x1ZGUgd2lkdGgoJHdpZHRoOiA0OHB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBoZWlnaHQoJGhlaWdodDogNDhweCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MmEzYTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGw6IDEwcHgpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHdpZHRoKCR3aWR0aDogMzJweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBoZWlnaHQoJGhlaWdodDogMzJweCk7XG4gICAgICAgICAgICBmaWxsOiAkY29sb3ItZ29sZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmZpcnN0IHtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAxNXB4LCAkcmlnaHQ6IDAsICRib3R0b206IDAsICRsZWZ0OiA4NnB4KTtcbiAgICAgIH1cbiAgICAgICYuc2Vjb25kIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAxNXB4LCAkcmlnaHQ6IDAsICRib3R0b206IDAsICRsZWZ0OiA1NHB4KTtcbiAgICAgIH1cbiAgICAgICYudGhpcmQge1xuICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDE1cHgsICRyaWdodDogMCwgJGJvdHRvbTogMCwgJGxlZnQ6IDE3cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY29weXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBmbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogc3BhY2UtYmV0d2VlbiwgJGdhcDogMTBweCk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAzMnB4LCAkcmlnaHQ6IDAsICRib3R0b206IDMycHgsICRsZWZ0OiAwKTtcbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBMaWdodFwiLFxuICAgICAgICAkc2l6ZTogMTZweCxcbiAgICAgICAgJHdlaWdodDogNDAwLFxuICAgICAgICAkaGVpZ2h0OiAxNTAlLFxuICAgICAgICAkYWxpZ246IGxlZnQsXG4gICAgICAgICRjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgICApO1xuICAgICAgYSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcbiAgICAgICAgfVxuICAgICAgICAmLnVwc2l0ZXMge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZSgkdGltZTogMC4zcyk7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGVuZCBmb290ZXJcblxuLy8gZXggbWVkaWEgcXVlcnlcblxuLypAaW5jbHVkZSBicmVha3BvaW50MigkbWluOnhsLCAkbWF4OicnKSB7fVxuQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjpsZywgJG1heDp4bCkge31cbkBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46bWQsICRtYXg6bGcpIHt9XG5AaW5jbHVkZSBicmVha3BvaW50MigkbWluOnNtLCAkbWF4Om1kKSB7fVxuQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjp4cywgJG1heDpzbSkge31cbkBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46JycsICRtYXg6eHMpIHt9Ki9cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQnV0dG9uc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmJ0biB7XG5cdEBpbmNsdWRlIGFuaW1hdGUoJHRpbWU6IDAuM3MpO1xuXHRAaW5jbHVkZSBpbmxpbmUtYmxvY2soJGFsaWduOiBtaWRkbGUpO1xufVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBLZXkgZGlmZmVyZW50aWF0b3JzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi5rZXktZGlmZmVyZW50aWF0b3JzIHtcbiAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAxNTZweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAwLCAkbGVmdDogMCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjYyYTNhO1xuICAudGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAkZmFtaWx5OiBcIlNhdG9zaGkgQm9sZFwiLFxuICAgICAgJHNpemU6IDQwcHgsXG4gICAgICAkd2VpZ2h0OiA3MDAsXG4gICAgICAkaGVpZ2h0OiAxMTUlLFxuICAgICAgJGFsaWduOiBjZW50ZXIsXG4gICAgICAkY29sb3I6ICRjb2xvci13aGl0ZVxuICAgICk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAwLCAkcmlnaHQ6IDAsICRib3R0b206IDQwcHgsICRsZWZ0OiAwKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1mb250KCk7XG4gIH1cbiAgLmdyaWQtbGlzdC1ib3gge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAxMDNweCwgJGxlZnQ6IDApO1xuICAgIEBpbmNsdWRlIGNvbHVtbnMoJHF1YW50OiByZXBlYXQoNSwgMWZyKSwgJGd1dHRlcjogMjRweCwgJGFsaWduOiBzdHJldGNoLCAkdGVtcGxhdGU6IFwiXCIpO1xuICAgIC5pdGVtIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMzgsIDQyLCA1OCwgMC4yKSAwJSwgcmdiYSgzOCwgNDIsIDU4LCAwLjQpIDEwMCUpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzI2MmEzYTtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMzJweCwgJHJpZ2h0OiAyMHB4LCAkYm90dG9tOiA0N3B4LCAkbGVmdDogMjBweCk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGw6IDEwcHgpO1xuICAgICAgLmljb24tYm94IHtcbiAgICAgICAgQGluY2x1ZGUgd2lkdGgoJHdpZHRoOiAzMnB4KTtcbiAgICAgICAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQ6IDMycHgpO1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oJHRvcDogMCwgJHJpZ2h0OiBhdXRvLCAkYm90dG9tOiAwLCAkbGVmdDogYXV0byk7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgQGluY2x1ZGUgb2JqZWN0LWZpdCgkZml0OiBjb250YWluLCAkcG9zaXRpb246IGNlbnRlciBjZW50ZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGl0bGUtYm94IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udChcbiAgICAgICAgICAkZmFtaWx5OiBcIlNhdG9zaGkgTGlnaHRcIixcbiAgICAgICAgICAkc2l6ZTogMTZweCxcbiAgICAgICAgICAkd2VpZ2h0OiAzMDAsXG4gICAgICAgICAgJGhlaWdodDogMTUwJSxcbiAgICAgICAgICAkYWxpZ246IGNlbnRlcixcbiAgICAgICAgICAkY29sb3I6ICRjb2xvci13aGl0ZVxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDE1cHgsICRyaWdodDogMCwgJGJvdHRvbTogMCwgJGxlZnQ6IDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBDbGllbnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi5jbGllbnRzIHtcbiAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAxMDRweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAyMXB4LCAkbGVmdDogMCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC5ib3gtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuLCAkZ2FwOiAxMHB4KTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDAsICRyaWdodDogN3B4LCAkYm90dG9tOiA1NnB4LCAkbGVmdDogMCk7XG4gICAgLnRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBCb2xkXCIsXG4gICAgICAgICRzaXplOiA0MHB4LFxuICAgICAgICAkd2VpZ2h0OiA3MDAsXG4gICAgICAgICRoZWlnaHQ6IDExNSUsXG4gICAgICAgICRhbGlnbjogY2VudGVyLFxuICAgICAgICAkY29sb3I6ICRjb2xvci13aGl0ZVxuICAgICAgKTtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAwLCAkbGVmdDogMCk7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1mb250KCk7XG4gICAgfVxuICAgIC5ib3gtZ29vZ2xlIHtcbiAgICAgIEBpbmNsdWRlIHdpZHRoKCR3aWR0aDogMzc2cHgpO1xuICAgICAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQ6IDYycHgpO1xuICAgICAgQGluY2x1ZGUgZmxleCgkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IGNlbnRlciwgJGdhcDogMTBweCk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGw6IDEwcHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzOCwgNDIsIDU4LCAwLjMpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgzOCwgNDIsIDU4LCAwLjIpO1xuICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDQ0cHgpO1xuICAgICAgLmxvZ28ge1xuICAgICAgICBAaW5jbHVkZSB3aWR0aCgkd2lkdGg6IDc0cHgpO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICAudGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICAgJGZhbWlseTogXCJTYXRvc2hpIExpZ2h0XCIsXG4gICAgICAgICAgJHNpemU6IDE2cHgsXG4gICAgICAgICAgJHdlaWdodDogNDAwLFxuICAgICAgICAgICRoZWlnaHQ6IDE1MCUsXG4gICAgICAgICAgJGFsaWduOiBjZW50ZXIsXG4gICAgICAgICAgJGNvbG9yOiAkY29sb3Itd2hpdGVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIC5kaXYge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBAaW5jbHVkZSBoZWlnaHQoJGhlaWdodDogMjBweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6IDAsICRyaWdodDogNnB4LCAkYm90dG9tOiAwLCAkbGVmdDogNnB4KTtcbiAgICAgIH1cbiAgICAgIC5yYXRlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udChcbiAgICAgICAgICAkZmFtaWx5OiBcIlNhdG9zaGkgTGlnaHRcIixcbiAgICAgICAgICAkc2l6ZTogMjBweCxcbiAgICAgICAgICAkd2VpZ2h0OiA0MDAsXG4gICAgICAgICAgJGhlaWdodDogMTUwJSxcbiAgICAgICAgICAkYWxpZ246IGNlbnRlcixcbiAgICAgICAgICAkY29sb3I6ICRjb2xvci13aGl0ZVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgLnN0YXJzIHtcbiAgICAgICAgQGluY2x1ZGUgd2lkdGgoJHdpZHRoOiAxMDBweCk7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmdyaWQtbGlzdC1ib3gge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiA1MHB4LCAkbGVmdDogMCk7XG4gICAgQGluY2x1ZGUgY29sdW1ucygkcXVhbnQ6IHJlcGVhdCgzLCAxZnIpLCAkZ3V0dGVyOiAzMnB4LCAkYWxpZ246IHN0cmV0Y2gsICR0ZW1wbGF0ZTogXCJcIik7XG4gICAgLml0ZW0ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgzOCwgNDIsIDU4LCAwLjIpIDAlLCByZ2JhKDM4LCA0MiwgNTgsIDAuNCkgMTAwJSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjYyYTNhO1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAzMnB4LCAkcmlnaHQ6IDIwcHgsICRib3R0b206IDMxcHgsICRsZWZ0OiAyMHB4KTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsbDogMTBweCk7XG4gICAgICAuaWNvbi1ib3gge1xuICAgICAgICBAaW5jbHVkZSB3aWR0aCgkd2lkdGg6IDEwMHB4KTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIEBpbmNsdWRlIG9iamVjdC1maXQoJGZpdDogY29udGFpbiwgJHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmRlc2NyaXB0aW9uLWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICAgJGZhbWlseTogXCJTYXRvc2hpIExpZ2h0XCIsXG4gICAgICAgICAgJHNpemU6IDIwcHgsXG4gICAgICAgICAgJHdlaWdodDogMzAwLFxuICAgICAgICAgICRoZWlnaHQ6IDE1MCUsXG4gICAgICAgICAgJGFsaWduOiBsZWZ0LFxuICAgICAgICAgICRjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMzJweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAzMXB4LCAkbGVmdDogMCk7XG4gICAgICB9XG4gICAgICAubmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICAgJGZhbWlseTogXCJTYXRvc2hpIExpZ2h0XCIsXG4gICAgICAgICAgJHNpemU6IDE2cHgsXG4gICAgICAgICAgJHdlaWdodDogMzAwLFxuICAgICAgICAgICRoZWlnaHQ6IDE1MCUsXG4gICAgICAgICAgJGFsaWduOiBsZWZ0LFxuICAgICAgICAgICRjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncmlkLWxpc3QtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAxMDNweCwgJGxlZnQ6IDApO1xuICAgIG1hcmdpbjogMCAtMTZweDtcbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgIH1cbiAgICAuaXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGhlaWdodCgkaGVpZ2h0OiA1MDBweCk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGw6IDEwcHgpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHZpZGVvIHtcbiAgICAgICAgQGluY2x1ZGUgb2JqZWN0LWZpdCgkZml0OiBjb3ZlciwgJHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAxNnB4LCAkcmlnaHQ6IDAsICRib3R0b206IDAsICRsZWZ0OiAwKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIsICRnYXA6IDEwcHgpO1xuICAgICAgbGkge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1nb2xkO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1nb2xkO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQWJvdXRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLmhlcm8ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI2MmEzYTtcbiAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAyMjZweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiA0MXB4LCAkbGVmdDogMCk7XG4gIC5zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udChcbiAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBMaWdodFwiLFxuICAgICAgJHNpemU6IDE0cHgsXG4gICAgICAkd2VpZ2h0OiA0MDAsXG4gICAgICAkaGVpZ2h0OiAxMTUlLFxuICAgICAgJGFsaWduOiBjZW50ZXIsXG4gICAgICAkY29sb3I6ICRjb2xvci13aGl0ZVxuICAgICk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZXR0ZXItc3BhY2luZzogMS40cHg7XG4gIH1cbiAgLnRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250KFxuICAgICAgJGZhbWlseTogXCJTYXRvc2hpIEJvbGRcIixcbiAgICAgICRzaXplOiA0MHB4LFxuICAgICAgJHdlaWdodDogNDAwLFxuICAgICAgJGhlaWdodDogMTE1JSxcbiAgICAgICRhbGlnbjogY2VudGVyLFxuICAgICAgJGNvbG9yOiAkY29sb3Itd2hpdGVcbiAgICApO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMjRweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAzN3B4LCAkbGVmdDogMCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtZm9udCgpO1xuICB9XG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udChcbiAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBMaWdodFwiLFxuICAgICAgJHNpemU6IDIwcHgsXG4gICAgICAkd2VpZ2h0OiA0MDAsXG4gICAgICAkaGVpZ2h0OiAxNTAlLFxuICAgICAgJGFsaWduOiBjZW50ZXIsXG4gICAgICAkY29sb3I6ICRjb2xvci13aGl0ZVxuICAgICk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiA0OHB4LCAkbGVmdDogMCk7XG4gIH1cbiAgLmdyaWQtaGVybyB7XG4gICAgQGluY2x1ZGUgY29sdW1ucygkcXVhbnQ6IGdldC1jbGFtcCg2OTZweCkgMWZyLCAkZ3V0dGVyOiAzMnB4LCAkYWxpZ246IHN0YXJ0LCAkdGVtcGxhdGU6IFwiXCIpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogNTlweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAwLCAkbGVmdDogMCk7XG4gICAgLmJveC10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMTAwcHgsICRyaWdodDogODBweCwgJGJvdHRvbTogODdweCwgJGxlZnQ6IDgwcHgpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgzOCwgNDIsIDU4LCAwLjIpO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxsOiAyMHB4KTtcbiAgICAgIC50aXRsZS1ib3gge1xuICAgICAgICBAaW5jbHVkZSBmb250KFxuICAgICAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBMaWdodFwiLFxuICAgICAgICAgICRzaXplOiAyNHB4LFxuICAgICAgICAgICR3ZWlnaHQ6IDMwMCxcbiAgICAgICAgICAkaGVpZ2h0OiAxNTAlLFxuICAgICAgICAgICRhbGlnbjogbGVmdCxcbiAgICAgICAgICAkY29sb3I6ICNkZWRlZGVcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAwLCAkcmlnaHQ6IDAsICRib3R0b206IDhweCwgJGxlZnQ6IDApO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udChcbiAgICAgICAgICAkZmFtaWx5OiBcIlNhdG9zaGkgTGlnaHRcIixcbiAgICAgICAgICAkc2l6ZTogMTZweCxcbiAgICAgICAgICAkd2VpZ2h0OiA0MDAsXG4gICAgICAgICAgJGhlaWdodDogMTUwJSxcbiAgICAgICAgICAkYWxpZ246IGxlZnQsXG4gICAgICAgICAgJGNvbG9yOiAjZGVkZWRlXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMTJweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAxMnB4LCAkbGVmdDogMCk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlIHtcbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIG9iamVjdC1maXQoJGZpdDogY292ZXIsICRwb3NpdGlvbjogY2VudGVyIGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5rZXktZGlmZmVyZW50aWF0b3JzIHtcbiAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAxMDRweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAwLCAkbGVmdDogMCk7XG59XG5cbi5jbGllbnRzIHtcbiAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAxMDRweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAxcHgsICRsZWZ0OiAwKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyNjJhM2E7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5n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 */

}@media screen and (max-width: 768.9px){/*======================================
  Settings
======================================*/
/*======================================
  Sass Mixins and Functions
======================================*/
.selectric-wrapper {
  position: relative;
  cursor: pointer;
}

.selectric-responsive {
  width: 100%;
}

.selectric {
  border: 1px solid #DDD;
  border-radius: 0px;
  background: #F8F8F8;
  position: relative;
  overflow: hidden;
}

.selectric .label {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 38px 0 10px;
  font-size: 12px;
  line-height: 38px;
  color: #444;
  height: 38px;
  user-select: none;
}

.selectric .button {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 38px;
  height: 38px;
  line-height: 38px;
  background-color: #F8f8f8;
  color: #BBB;
  text-align: center;
  font: 0/0 a;
  *font: 20px/38px Lucida Sans Unicode, Arial Unicode MS, Arial;
}

.selectric .button:after {
  content: " ";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 0;
  height: 0;
  border: 4px solid transparent;
  border-top-color: #BBB;
  border-bottom: none;
}

.selectric-focus .selectric {
  border-color: #aaaaaa;
}

.selectric-hover .selectric {
  border-color: #c4c4c4;
}

.selectric-hover .selectric .button {
  color: #a2a2a2;
}

.selectric-hover .selectric .button:after {
  border-top-color: #a2a2a2;
}

.selectric-open {
  z-index: 9999;
}

.selectric-open .selectric {
  border-color: #c4c4c4;
}

.selectric-open .selectric-items {
  display: block;
}

.selectric-disabled {
  filter: alpha(opacity=50);
  opacity: 0.5;
  cursor: default;
  user-select: none;
}

.selectric-hide-select {
  position: relative;
  overflow: hidden;
  width: 0;
  height: 0;
}

.selectric-hide-select select {
  position: absolute;
  left: -100%;
}

.selectric-hide-select.selectric-is-native {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.selectric-hide-select.selectric-is-native select {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  border: none;
  z-index: 1;
  box-sizing: border-box;
  opacity: 0;
}

.selectric-input {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  outline: none !important;
  border: none !important;
  *font: 0/0 a !important;
  background: none !important;
}

.selectric-temp-show {
  position: absolute !important;
  visibility: hidden !important;
  display: block !important;
}

/* Items box */
.selectric-items {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #F8F8F8;
  border: 1px solid #c4c4c4;
  z-index: -1;
  box-shadow: 0 0 10px -6px;
}

.selectric-items .selectric-scroll {
  height: 100%;
  overflow: auto;
}

.selectric-above .selectric-items {
  top: auto;
  bottom: 100%;
}

.selectric-items ul, .selectric-items li {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 12px;
  line-height: 20px;
  min-height: 20px;
}

.selectric-items li {
  display: block;
  padding: 10px;
  color: #666;
  cursor: pointer;
}

.selectric-items li.selected {
  background: #E0E0E0;
  color: #444;
}

.selectric-items li.highlighted {
  background: #D0D0D0;
  color: #444;
}

.selectric-items li:hover {
  background: #D5D5D5;
  color: #444;
}

.selectric-items .disabled {
  filter: alpha(opacity=50);
  opacity: 0.5;
  cursor: default !important;
  background: none !important;
  color: #666 !important;
  user-select: none;
}

.selectric-items .selectric-group .selectric-group-label {
  font-weight: bold;
  padding-left: 10px;
  cursor: default;
  user-select: none;
  background: none;
  color: #444;
}

.selectric-items .selectric-group.disabled li {
  filter: alpha(opacity=100);
  opacity: 1;
}

.selectric-items .selectric-group li {
  padding-left: 25px;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

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

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

/*======================================
  Global styles
======================================*/
html {
  background: #ffffff;
  box-sizing: border-box;
}

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

html,
button,
input,
select,
textarea {
  color: #8c8c8c;
}

a {
  text-decoration: none;
  font: inherit;
  color: inherit;
}

a:hover {
  text-decoration: none;
}

button {
  cursor: pointer;
}

a:focus,
button:focus,
a:active,
button:active {
  outline: none;
}

ul,
li {
  list-style: none;
}

ol,
ul {
  padding: 0;
  margin: 0;
}

img,
iframe,
video {
  vertical-align: middle;
}

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

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

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

.hidden {
  display: none;
}

.hideText {
  display: block;
  text-indent: 101%;
  overflow: hidden;
  white-space: nowrap;
}

/*======================================
  Grid
======================================*/
/*@include breakpoint2($min: xl, $max: "") {
  .hidden-fullhd {
    display: none !important;
  }
  .visible-fullhd {
    display: block !important;
  }
}
@include breakpoint2($min: lg, $max: xl) {
  .hidden-fullDesktop {
    display: none !important;
  }
  .visible-fullDesktop {
    display: block !important;
  }
}
@include breakpoint2($min: md, $max: lg) {
  .hidden-desktop {
    display: none !important;
  }
  .visible-desktop {
    display: block !important;
  }
}
@include breakpoint2($min: sm, $max: md) {
  .hidden-tablet {
    display: none !important;
  }
  .visible-tablet {
    display: block !important;
  }
}
@include breakpoint2($min: xs, $max: sm) {
  .hidden-phablets {
    display: none !important;
  }
  .visible-phablets {
    display: block !important;
  }
}
@include breakpoint2($min: "", $max: xs) {
  .hidden-phone {
    display: none !important;
  }
  .visible-phone {
    display: block !important;
  }
}*/
.container {
  max-width: 1256px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

@media (max-width: 768px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/*.container-full {
  @include container-full;

  @include breakpoint2($min:'', $max:sm) {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@include make-default-margin(mtop,10,top);
@include make-default-padding(ptop,10,top);

@include make-default-margin(mbottom,10,bottom);
@include make-default-padding(pbottom,10,bottom);

.fl { float: left; }
.fr { float: right; }

.center-block {
  margin-left: auto;
  margin-right: auto;
  float: none;
}*/
/*======================================
  Fonts
======================================*/
/*@font-face{ font-display:swap;
  font-family: 'fonte name';
  src: url('/wp-content/themes/adv-silva-campos/assets/fonts/fonte-name.eot');
  src: url('/wp-content/themes/adv-silva-campos/assets/fonts/fonte-name.eot?#iefix') format('embedded-opentype'),
       url('/wp-content/themes/adv-silva-campos/assets/fonts/fonte-name.woff') format('woff'),
       url('/wp-content/themes/adv-silva-campos/assets/fonts/fonte-name.ttf') format('truetype'),
       url('/wp-content/themes/adv-silva-campos/assets/fonts/fonte-name.svg#fonte-name') format('svg');
  font-weight: normal;
  font-style: normal;
 }*/
/* #### Generated By: http://font.download #### */
@font-face{ font-display:swap;
  font-family: "Satoshi Regular";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Regular"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-Regular.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Italic";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Italic"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-Italic.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Light";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Light"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-Light.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Light Italic";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Light Italic"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-LightItalic.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Medium";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Medium"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-Medium.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Medium Italic";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Medium Italic"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-MediumItalic.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Bold";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Bold"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-Bold.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Bold Italic";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Bold Italic"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-BoldItalic.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Black";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Black"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-Black.woff") format("woff");
 }

@font-face{ font-display:swap;
  font-family: "Satoshi Black Italic";
  font-style: normal;
  font-weight: normal;
  src: local("Satoshi Black Italic"), url("/wp-content/themes/adv-silva-campos/assets/fonts/Satoshi-BlackItalic.woff") format("woff");
 }

body {
  font-family: "Ubuntu", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: normal;
  margin: 0;
}

p {
  margin: 0;
}

/*======================================
  Keyframes
======================================*/
@keyframes bounce {
  from {
    transform: translateY(0px);
  }
  to {
    transform: translateY(-5px);
  }
}

@keyframes moveIt {
  0%,
  100% {
    transform: translate(-50%, 0) rotate(1deg);
  }
  50% {
    transform: translate(-50%, 0) rotate(-1deg);
  }
}

@keyframes float {
  0% {
    transform: translatey(0px);
  }
  50% {
    transform: translatey(-20px);
  }
  100% {
    transform: translatey(0px);
  }
}

/*======================================
  Main structure
======================================*/
body {
  background: #0a0a0a;
}

.revealheader,
.revealicon,
.reveal,
.revealfooter,
.revealslideleft,
.revealslideright,
.revealfade {
  visibility: hidden;
}

.bg-video {
  width: 100%;
  height: clamp(1px, 225vw, 1080px);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 0;
}

.bg-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.bg-video::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: linear-gradient(0deg, #0a0a0a 0%, #0a0a0a 10%, rgba(10, 10, 10, 0) 100%);
}

#open-menu {
  margin-top: -0;
  display: block;
  position: relative;
  z-index: 102;
}

#open-menu .ani {
  cursor: pointer;
  display: flex;
  padding: 0;
}

#open-menu .ani .close,
#open-menu .ani #close {
  margin: 0 0 0 0;
  width: 9.11458vw;
  height: 9.11458vw;
}

#open-menu .ani .close .line,
#open-menu .ani #close .line {
  fill: none;
  stroke: #cdb370;
  stroke-width: 6;
  transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1), stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

#open-menu .ani .close .line1,
#open-menu .ani #close .line1 {
  stroke-dasharray: 60 207;
  stroke-width: 6;
}

#open-menu .ani .close .line2,
#open-menu .ani #close .line2 {
  stroke-dasharray: 60 60;
  stroke-width: 6;
}

#open-menu .ani .close .line3,
#open-menu .ani #close .line3 {
  stroke-dasharray: 60 207;
  stroke-width: 6;
}

#open-menu.opened .close .line1,
#open-menu.opened #close .line1 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 6;
}

#open-menu.opened .close .line2,
#open-menu.opened #close .line2 {
  stroke-dasharray: 1 60;
  stroke-dashoffset: -30;
  stroke-width: 6;
}

#open-menu.opened .close .line3,
#open-menu.opened #close .line3 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 6;
}

header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
}

header .grid-header {
  display: grid;
  grid-template-columns: 1fr clamp(1px, 20.83333vw, 100px) 1fr;
  gap: clamp(1px, 13.54167vw, 65px);
  align-items: end;
  grid-template-areas: "space logo menumobile";
  padding-top: clamp(1px, 3.33333vw, 16px);
  padding-right: 0;
  padding-bottom: clamp(1px, 3.33333vw, 16px);
  padding-left: 0;
}

header .grid-header .logo {
  grid-area: logo;
}

header .grid-header .logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

header .grid-header .logo img.desktop {
  display: none;
}

header .grid-header .menu {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 1.875vw, 9px);
  padding-left: 0;
  display: none;
}

header .grid-header .menu.left {
  grid-area: left;
}

header .grid-header .menu.left ul {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: clamp(1px, 3.33333vw, 16px);
}

header .grid-header .menu.right {
  grid-area: right;
}

header .grid-header .menu.right ul {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: clamp(1px, 3.33333vw, 16px);
}

header .grid-header .menu ul li a {
  padding-top: clamp(1px, 1.66667vw, 8px);
  padding-right: clamp(1px, 1.66667vw, 8px);
  padding-bottom: clamp(1px, 1.66667vw, 8px);
  padding-left: clamp(1px, 1.66667vw, 8px);
  font-family: "Satoshi Light";
  font-size: clamp(1px, 3.75vw, 18px);
  font-weight: 400;
  line-height: 120%;
  text-align: left;
  color: #ffffff;
}

header .grid-header .btn-menu-mobile {
  grid-area: menumobile;
  display: flex;
  align-items: center;
  justify-content: end;
}

nav.menu-mobile {
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: -101%;
  z-index: 1;
  padding-top: clamp(1px, 20.83333vw, 100px);
  padding-right: clamp(1px, 6.66667vw, 32px);
  padding-bottom: clamp(1px, 10vw, 48px);
  padding-left: clamp(1px, 6.66667vw, 32px);
  width: 100vw;
  height: 100%;
  background-color: #0a0a0a;
}

nav.menu-mobile .box {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: end;
  flex-direction: column;
  justify-content: end;
  gap: 0;
}

nav.menu-mobile ul {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 18.33333vw, 88px);
  padding-left: 0;
}

nav.menu-mobile ul li {
  display: flex;
  align-items: end;
  justify-content: end;
  gap: 0;
}

nav.menu-mobile ul li a {
  font-family: "Satoshi Bold";
  font-size: clamp(1px, 5vw, 24px);
  font-weight: 400;
  line-height: 115%;
  text-align: right;
  color: #ffffff;
  padding-top: clamp(1px, 1.66667vw, 8px);
  padding-right: 0;
  padding-bottom: clamp(1px, 1.66667vw, 8px);
  padding-left: 0;
  display: inline-block;
}

nav.menu-mobile .btn {
  flex-shrink: 0;
  font-family: "Satoshi Bold";
  font-size: clamp(1px, 3.33333vw, 16px);
  font-weight: 700;
  line-height: 150%;
  text-align: left;
  color: #000e2b;
  width: 100%;
  max-width: 375px;
  height: clamp(1px, 11.66667vw, 56px);
  border-radius: clamp(1px, 2.08333vw, 10px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(0deg, #cdb370, #cdb370), linear-gradient(92.38deg, #cdb370 1.99%, #d1ae52 99.26%);
}

.menu-open {
  overflow: hidden;
}

.menu-open nav.menu-mobile {
  left: 0;
}

main {
  position: relative;
}

main .icon-01,
main .icon-02,
main .icon-03,
main .icon-04 {
  display: none;
}

:root {
  --gradient: conic-gradient(
    from 90deg at 50% 50%,
    rgb(251, 55, 60),
    rgba(252, 114, 28, 1),
    rgba(255, 220, 0, 1),
    rgba(27, 206, 255, 1),
    rgba(42, 107, 255, 1),
    rgba(217, 41, 255, 1),
    rgba(255, 10, 92, 1)
  );
}

.card {
  --start: 0;
  position: relative;
  transition: border-color 0.3s ease-in-out;
  border-color: transparent;
}

.card:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 10px;
  border: 2px solid transparent;
  background: var(--gradient);
  background-attachment: fixed;
  mask: linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) - (20 * 1.1)) * 1deg), #ffffff1f 0deg, white, #ffffff00 100deg);
  mask-composite: intersect;
  mask-clip: padding-box, border-box;
  opacity: 0;
  transition: 0.5s ease;
}

.card:hover {
  border-color: transparent !important;
}

.card:hover:before {
  opacity: 0.6;
}

.card .glow {
  pointer-events: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  filter: blur(14px);
}

.card .glow:before {
  position: absolute;
  content: "";
  width: 98%;
  height: 98%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 14px;
  border: 15px solid transparent;
  background: var(--gradient);
  background-attachment: fixed;
  /* mask: linear-gradient(#0000, #0000), 
      conic-gradient(
        from calc(var(--start)  * 1deg), 
        #000 0deg, 
        #ffffff, 
        rgba(0, 0, 0, 0) 60deg
        ); */
  mask: linear-gradient(#0000, #0000), conic-gradient(from calc((var(--start) - (20 * 1.1)) * 1deg), #ffffff1f 0deg, white, #ffffff00 100deg);
  mask-composite: intersect;
  mask-clip: padding-box, border-box;
  opacity: 0;
  transition: 1s ease;
}

.card:hover > .glow::before {
  opacity: 1;
}

footer {
  padding-top: clamp(1px, 20vw, 96px);
  padding-right: 0;
  padding-bottom: clamp(1px, 4.58333vw, 22px);
  padding-left: 0;
}

footer .grid-footer {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 15.83333vw, 76px);
  padding-left: 0;
  border-bottom: 1px solid #262a3a;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1px, 11.66667vw, 56px);
  align-items: start;
}

footer .grid-footer .logo {
  width: clamp(1px, 36.66667vw, 176px);
  margin: 0 auto;
}

footer .grid-footer .logo a {
  display: block;
}

footer .grid-footer .logo a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

footer .grid-footer .item .title {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 3.75vw, 18px);
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
  letter-spacing: 0.2px;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 5vw, 24px);
  padding-left: 0;
}

footer .grid-footer .item ul.menu li a {
  padding-top: clamp(1px, 1.45833vw, 7px);
  padding-right: 0;
  padding-bottom: clamp(1px, 1.45833vw, 7px);
  padding-left: 0;
  font-family: "Satoshi Light";
  font-size: clamp(1px, 3.33333vw, 16px);
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
  display: block;
}

footer .grid-footer .item ul.contact {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 5.20833vw, 25px);
  padding-left: 0;
}

footer .grid-footer .item ul.contact li a {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: clamp(1px, 1.66667vw, 8px);
  padding-top: clamp(1px, 1.66667vw, 8px);
  padding-right: 0;
  padding-bottom: clamp(1px, 1.66667vw, 8px);
  padding-left: 0;
  font-family: "Satoshi Light";
  font-size: clamp(1px, 3.33333vw, 16px);
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
}

footer .grid-footer .item ul.contact li a .icon {
  width: clamp(1px, 4.16667vw, 20px);
  height: clamp(1px, 4.16667vw, 20px);
  fill: transparent;
}

footer .grid-footer .item .share {
  display: inline-flex;
  align-items: center;
  justify-content: start;
  gap: clamp(1px, 3.33333vw, 16px);
}

footer .grid-footer .item .share span {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 3.33333vw, 16px);
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
}

footer .grid-footer .item .share .icon-box {
  width: clamp(1px, 10vw, 48px);
  height: clamp(1px, 10vw, 48px);
  background-color: #262a3a;
  border-radius: clamp(1px, 2.08333vw, 10px);
  display: flex;
  align-items: center;
  justify-content: center;
}

footer .grid-footer .item .share .icon-box .icon {
  width: clamp(1px, 6.66667vw, 32px);
  height: clamp(1px, 6.66667vw, 32px);
  fill: #cdb370;
}

footer .copyright {
  display: flex;
  align-items: start;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(1px, 5vw, 24px);
  padding-top: clamp(1px, 6.66667vw, 32px);
  padding-right: 0;
  padding-bottom: clamp(1px, 6.66667vw, 32px);
  padding-left: 0;
}

footer .copyright p {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 3.33333vw, 16px);
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
}

footer .copyright p a:hover {
  color: #00b400;
}

footer .copyright p a.upsites {
  display: inline-flex;
}

footer .copyright p a.upsites span {
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
}

footer .copyright p a.upsites span:hover {
  position: relative;
  top: -2px;
}

/*======================================
  Buttons
======================================*/
.btn {
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  display: inline-block;
  vertical-align: middle;
  zoom: 1;
  *display: inline;
}

/*======================================
  Key differentiators
======================================*/
.key-differentiators {
  padding-top: clamp(1px, 32.5vw, 156px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border-bottom: 1px solid #262a3a;
}

.key-differentiators .title {
  font-family: "Satoshi Bold";
  font-size: clamp(1px, 8.33333vw, 40px);
  font-weight: 700;
  line-height: 115%;
  text-align: center;
  color: #ffffff;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 8.33333vw, 40px);
  padding-left: 0;
  background: radial-gradient(32.34% 59.21% at 65.99% 87.5%, #fbdf8d 0%, #c5ad63 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.key-differentiators .grid-list-box {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 21.45833vw, 103px);
  padding-left: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1px, 5vw, 24px);
  align-items: stretch;
}

.key-differentiators .grid-list-box .item {
  background: linear-gradient(180deg, rgba(38, 42, 58, 0.2) 0%, rgba(38, 42, 58, 0.4) 100%);
  border: 1px solid #262a3a;
  padding-top: clamp(1px, 6.66667vw, 32px);
  padding-right: clamp(1px, 4.16667vw, 20px);
  padding-bottom: clamp(1px, 9.79167vw, 47px);
  padding-left: clamp(1px, 4.16667vw, 20px);
  border-radius: clamp(1px, 2.08333vw, 10px);
}

.key-differentiators .grid-list-box .item .icon-box {
  width: clamp(1px, 6.66667vw, 32px);
  height: clamp(1px, 6.66667vw, 32px);
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}

.key-differentiators .grid-list-box .item .icon-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

.key-differentiators .grid-list-box .item .title-box {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 3.33333vw, 16px);
  font-weight: 300;
  line-height: 150%;
  text-align: center;
  color: #ffffff;
  padding-top: clamp(1px, 3.125vw, 15px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.key-differentiators .grid-list-box .item .title-box br {
  display: none;
}

/*======================================
  Clients
======================================*/
.clients {
  padding-top: clamp(1px, 21.66667vw, 104px);
  padding-right: 0;
  padding-bottom: clamp(1px, 4.375vw, 21px);
  padding-left: 0;
  overflow: hidden;
}

.clients .box-title {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(1px, 5vw, 24px);
  padding-top: 0;
  padding-right: clamp(1px, 1.45833vw, 7px);
  padding-bottom: clamp(1px, 11.66667vw, 56px);
  padding-left: 0;
}

.clients .box-title .title {
  font-family: "Satoshi Bold";
  font-size: clamp(1px, 6.66667vw, 32px);
  font-weight: 700;
  line-height: 115%;
  text-align: center;
  color: #ffffff;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  background: radial-gradient(32.34% 59.21% at 65.99% 87.5%, #fbdf8d 0%, #c5ad63 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.clients .box-title .box-google {
  width: clamp(1px, 78.33333vw, 376px);
  height: clamp(1px, 12.91667vw, 62px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1px, 2.08333vw, 10px);
  border-radius: clamp(1px, 2.08333vw, 10px);
  border: 1px solid rgba(38, 42, 58, 0.3);
  background: rgba(38, 42, 58, 0.2);
  backdrop-filter: blur(44px);
}

.clients .box-title .box-google .logo {
  width: clamp(1px, 15.41667vw, 74px);
  height: auto;
}

.clients .box-title .box-google .text {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 3.33333vw, 16px);
  font-weight: 400;
  line-height: 150%;
  text-align: center;
  color: #ffffff;
}

.clients .box-title .box-google .div {
  width: 1px;
  height: clamp(1px, 4.16667vw, 20px);
  background-color: rgba(255, 255, 255, 0.2);
  margin-top: 0;
  margin-right: clamp(1px, 1.25vw, 6px);
  margin-bottom: 0;
  margin-left: clamp(1px, 1.25vw, 6px);
}

.clients .box-title .box-google .rate {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 4.16667vw, 20px);
  font-weight: 400;
  line-height: 150%;
  text-align: center;
  color: #ffffff;
}

.clients .box-title .box-google .stars {
  width: clamp(1px, 20.83333vw, 100px);
  height: auto;
}

.clients .grid-list-box {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 21.45833vw, 103px);
  padding-left: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1px, 6.66667vw, 32px);
  align-items: stretch;
}

.clients .grid-list-box .item {
  background: linear-gradient(180deg, rgba(38, 42, 58, 0.2) 0%, rgba(38, 42, 58, 0.4) 100%);
  border: 1px solid #262a3a;
  padding-top: clamp(1px, 6.66667vw, 32px);
  padding-right: clamp(1px, 4.16667vw, 20px);
  padding-bottom: clamp(1px, 6.45833vw, 31px);
  padding-left: clamp(1px, 4.16667vw, 20px);
  border-radius: clamp(1px, 2.08333vw, 10px);
}

.clients .grid-list-box .item .icon-box {
  width: clamp(1px, 20.83333vw, 100px);
  height: auto;
}

.clients .grid-list-box .item .icon-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

.clients .grid-list-box .item .description-box {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 4.16667vw, 20px);
  font-weight: 300;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
  padding-top: clamp(1px, 6.66667vw, 32px);
  padding-right: 0;
  padding-bottom: clamp(1px, 6.45833vw, 31px);
  padding-left: 0;
}

.clients .grid-list-box .item .name {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 3.33333vw, 16px);
  font-weight: 300;
  line-height: 150%;
  text-align: left;
  color: #ffffff;
}

.clients .grid-list-video {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 21.45833vw, 103px);
  padding-left: 0;
  margin: 0 -16px;
}

.clients .grid-list-video .slick-slide {
  padding: 0 16px;
}

.clients .grid-list-video .item {
  width: 100%;
  height: clamp(1px, 135.41667vw, 650px);
  border-radius: clamp(1px, 2.08333vw, 10px);
  overflow: hidden;
}

.clients .grid-list-video .item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.clients .grid-list-video .slick-dots {
  padding-top: clamp(1px, 3.33333vw, 16px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1px, 2.08333vw, 10px);
}

.clients .grid-list-video .slick-dots li button {
  font-size: 0;
  padding: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background-color: #cdb370;
  opacity: 0.5;
}

.clients .grid-list-video .slick-dots li.slick-active button {
  background-color: #cdb370;
  opacity: 1;
}

/*======================================
  About
======================================*/
.hero {
  border-bottom: 1px solid #262a3a;
  padding-top: clamp(1px, 31.25vw, 150px);
  padding-right: 0;
  padding-bottom: clamp(1px, 8.54167vw, 41px);
  padding-left: 0;
}

.hero .subtitle {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 2.91667vw, 14px);
  font-weight: 400;
  line-height: 115%;
  text-align: center;
  color: #ffffff;
  text-transform: uppercase;
  display: block;
  letter-spacing: 1.4px;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 6.66667vw, 32px);
  padding-left: 0;
  display: block;
}

.hero .title {
  font-family: "Satoshi Bold";
  font-size: clamp(1px, 6.66667vw, 32px);
  font-weight: 400;
  line-height: 115%;
  text-align: center;
  color: #ffffff;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 7.70833vw, 37px);
  padding-left: 0;
  background: radial-gradient(32.34% 59.21% at 65.99% 87.5%, #fbdf8d 0%, #c5ad63 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero .title br {
  display: none;
}

.hero .description {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 4.16667vw, 20px);
  font-weight: 400;
  line-height: 150%;
  text-align: center;
  color: #ffffff;
  letter-spacing: 0.2px;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 10vw, 48px);
  padding-left: 0;
}

.hero .grid-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1px, 6.66667vw, 32px);
  align-items: start;
  padding-top: clamp(1px, 12.29167vw, 59px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.hero .grid-hero .box-text {
  padding-top: clamp(1px, 10.41667vw, 50px);
  padding-right: clamp(1px, 10.41667vw, 50px);
  padding-bottom: clamp(1px, 10.41667vw, 50px);
  padding-left: clamp(1px, 10.41667vw, 50px);
  background: rgba(38, 42, 58, 0.2);
  border-radius: clamp(1px, 4.16667vw, 20px);
}

.hero .grid-hero .box-text .title-box {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 5vw, 24px);
  font-weight: 300;
  line-height: 150%;
  text-align: left;
  color: #dedede;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: clamp(1px, 1.66667vw, 8px);
  padding-left: 0;
  letter-spacing: 0.3px;
}

.hero .grid-hero .box-text p {
  font-family: "Satoshi Light";
  font-size: clamp(1px, 3.33333vw, 16px);
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  color: #dedede;
  padding-top: clamp(1px, 2.5vw, 12px);
  padding-right: 0;
  padding-bottom: clamp(1px, 2.5vw, 12px);
  padding-left: 0;
  letter-spacing: 0.2px;
}

.hero .grid-hero .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.key-differentiators {
  padding-top: clamp(1px, 21.66667vw, 104px);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.clients {
  padding-top: clamp(1px, 21.66667vw, 104px);
  padding-right: 0;
  padding-bottom: clamp(1px, 0.20833vw, 1px);
  padding-left: 0;
  border-bottom: 1px solid #262a3a;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtbW9iaWxlLmNzcyIsInNvdXJjZXMiOlsiYWJvdXQtbW9iaWxlLnNjc3MiLCJjb3JlL19zZXR0aW5ncy5zY3NzIiwiY29yZS9tb2JpbGUvX3V0aWxzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2VsZWN0cmljL3NyYy9zZWxlY3RyaWMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwiY29yZS9fZ2xvYmFsLnNjc3MiLCJjb3JlL19ncmlkLnNjc3MiLCJjb3JlL19mb250cy5zY3NzIiwiY29yZS9fa2V5ZnJhbWVzLnNjc3MiLCJjb3JlL21vYmlsZS9fc3RydWN0dXJlLnNjc3MiLCJtb2R1bGVzL21vYmlsZS9fYnV0dG9ucy5zY3NzIiwibW9kdWxlcy9tb2JpbGUvX2tleS1kaWZmZXJlbnRpYXRvcnMuc2NzcyIsIm1vZHVsZXMvbW9iaWxlL19jbGllbnRzLnNjc3MiLCJwYWdlcy9tb2JpbGUvX2Fib3V0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29uZmlnXG5AaW1wb3J0IFwiY29yZS9zZXR0aW5nc1wiO1xuQGltcG9ydCBcImNvcmUvbW9iaWxlL3V0aWxzXCI7XG5cbi8vIFZlbmRvclxuQGltcG9ydCBcInNlbGVjdHJpYy9zcmMvc2VsZWN0cmljLnNjc3NcIjtcbkBpbXBvcnQgXCJzbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzXCI7XG5cbi8vIERlZmF1bHRzXG5AaW1wb3J0IFwiY29yZS9nbG9iYWxcIjtcbkBpbXBvcnQgXCJjb3JlL2dyaWRcIjtcbkBpbXBvcnQgXCJjb3JlL2ZvbnRzXCI7XG5AaW1wb3J0IFwiY29yZS9rZXlmcmFtZXNcIjtcblxuLy8gU3RydWN0dXJhbFxuQGltcG9ydCBcImNvcmUvbW9iaWxlL3N0cnVjdHVyZVwiO1xuXG4vLyBNb2R1bGVzXG5AaW1wb3J0IFwibW9kdWxlcy9tb2JpbGUvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvbW9iaWxlL2tleS1kaWZmZXJlbnRpYXRvcnNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21vYmlsZS9jbGllbnRzXCI7XG5cbi8vIFBhZ2VzXG5AaW1wb3J0IFwicGFnZXMvbW9iaWxlL2Fib3V0XCI7XG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFNldHRpbmdzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi8vIEdyaWRcbiRncmlkLWNvbnRhaW5lcjogMTI1NnB4O1xuJGdyaWQtZ3V0dGVyOiA0MHB4O1xuXG4vLyBNZWRpYSBxdWVyeSBicmVha3BvaW50c1xuJGJyZWFrcG9pbnRzOiAoXG4gIHhzOiA0ODBweCxcbiAgc206IDc2OHB4LFxuICBtZDogOTk0cHgsXG4gIGxnOiAxMjU2cHgsXG4gIHhsOiAxNDQwcHhcbik7XG5cbi8vIEZvbnRzXG4kZm9udC1tYWluOiBcIlVidW50dVwiLCBzYW5zLXNlcmlmO1xuJGZvbnQtYWx0OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiRmb250LWF3ZXNvbWU6IFwiRm9udEF3ZXNvbWVcIjtcbiRmb250LXNpemU6IDE2cHg7XG4kZm9udC1jb2xvcjogIzhjOGM4YztcblxuLy8gQ29sb3JzXG4kY29sb3ItYmxhY2s6ICMwMDAwMDA7XG4kY29sb3Itd2hpdGU6ICNmZmZmZmY7XG4kY29sb3ItZ3JheTogI2I1YjViNTtcbiRjb2xvci1kYXJrLWdyYXk6ICMzMzMzMzM7XG4kY29sb3ItZGFyay1ibHVlOiAjMDAwZTJiO1xuJGNvbG9yLWdvbGQ6ICNjZGIzNzA7XG5cbiRjb2xvci1hcXVhOiAjN2ZkYmZmO1xuJGNvbG9yLWJsdWU6ICMwMGEwYzg7XG4kY29sb3ItZnVjaHNpYTogI2YwMTJiZTtcbiRjb2xvci1ncmVlbjogIzAwYjQwMDtcbiRjb2xvci1saW1lOiAjMDFmZjcwO1xuJGNvbG9yLW1hcm9vbjogIzg1MTQ0YjtcbiRjb2xvci1uYXZ5OiAjMDAxZjNmO1xuJGNvbG9yLW9saXZlOiAjM2Q5OTcwO1xuJGNvbG9yLW9yYW5nZTogI2ZmNTQxZDtcbiRjb2xvci1wdXJwbGU6ICMyZjE5MmU7XG4kY29sb3ItcmVkOiAjZmUwMDAwO1xuJGNvbG9yLXNpbHZlcjogI2RkZGRkZDtcbiRjb2xvci10ZWFsOiAjMzljY2NjO1xuJGNvbG9yLXllbGxvdzogI2ZmYzgwMTtcblxuJGNvbG9yLWVycm9yOiAkY29sb3ItcmVkO1xuJGNvbG9yLXN1Y2Nlc3M6ICRjb2xvci1ncmVlbjtcbiRjb2xvci1iYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG5cbi8vIE1hZ25pZmljIFBvcHVwXG4kbWZwLWlmcmFtZS1tYXgtd2lkdGg6IDEyODBweDtcbiRtZnAtaW5jbHVkZS1hcnJvd3M6IGZhbHNlO1xuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIFNhc3MgTWl4aW5zIGFuZCBGdW5jdGlvbnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLy8gQ2FsY3VsYXRlIGVtIGZyb20gZm9udC1zaXplXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogJGZvbnQtc2l6ZSkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG4gIEByZXR1cm4gKCRwaXhlbHMgLyAkY29udGV4dCkgKiAxZW07XHJcbn1cclxuXHJcbi8vIENhbGN1bGF0ZSAlIGZyb20gYSB2YWx1ZVxyXG5AZnVuY3Rpb24gY2FsYy1wZXJjZW50KCR0YXJnZXQsICRjb250YWluZXIpIHtcclxuICBAcmV0dXJuICgkdGFyZ2V0IC8gJGNvbnRhaW5lcikgKiAxMDAlO1xyXG59XHJcblxyXG4vLyBTaG9ydGN1dCBmb3IgY2FsYy1wZXJjZW50KClcclxuQGZ1bmN0aW9uIGNwKCR0YXJnZXQsICRjb250YWluZXIpIHtcclxuICBAcmV0dXJuIGNhbGMtcGVyY2VudCgkdGFyZ2V0LCAkY29udGFpbmVyKTtcclxufVxyXG5cclxuLy8gQ2FsY3VsYXRlIHZ3IGZyb20gYSB2YWx1ZVxyXG5AZnVuY3Rpb24gZ2V0LXZ3LXhzKCR0YXJnZXQpIHtcclxuICAkYnJlYWs6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCB4cykgLyAxcHg7XHJcbiAgJHZ3LWNvbnRleHQ6ICgkYnJlYWsgKiAwLjAxKSAqIDFweDtcclxuICBAcmV0dXJuICgkdGFyZ2V0IC8gJHZ3LWNvbnRleHQpICogMXZ3O1xyXG59XHJcblxyXG4vLyBDYWxjdWxhdGUgdncgZnJvbSBhIHZhbHVlXHJcbkBmdW5jdGlvbiBnZXQtdnctc20oJHRhcmdldCkge1xyXG4gICRicmVhazogbWFwLWdldCgkYnJlYWtwb2ludHMsIHNtKSAvIDFweDtcclxuICAkdnctY29udGV4dDogKCRicmVhayAqIDAuMDEpICogMXB4O1xyXG4gIEByZXR1cm4gKCR0YXJnZXQgLyAkdnctY29udGV4dCkgKiAxdnc7XHJcbn1cclxuXHJcbi8vIENhbGN1bGF0ZSB2dyBmcm9tIGEgdmFsdWVcclxuQGZ1bmN0aW9uIGdldC12dy1tZCgkdGFyZ2V0KSB7XHJcbiAgJGJyZWFrOiBtYXAtZ2V0KCRicmVha3BvaW50cywgbWQpIC8gMXB4O1xyXG4gICR2dy1jb250ZXh0OiAoJGJyZWFrICogMC4wMSkgKiAxcHg7XHJcbiAgQHJldHVybiAoJHRhcmdldCAvICR2dy1jb250ZXh0KSAqIDF2dztcclxufVxyXG5cclxuLy8gQ2FsY3VsYXRlIHZ3IGZyb20gYSB2YWx1ZVxyXG5AZnVuY3Rpb24gZ2V0LXZ3LWxnKCR0YXJnZXQpIHtcclxuICAkYnJlYWs6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBsZykgLyAxcHg7XHJcbiAgJHZ3LWNvbnRleHQ6ICgkYnJlYWsgKiAwLjAxKSAqIDFweDtcclxuICBAcmV0dXJuICgkdGFyZ2V0IC8gJHZ3LWNvbnRleHQpICogMXZ3O1xyXG59XHJcblxyXG4vLyBDYWxjdWxhdGUgdncgZnJvbSBhIHZhbHVlXHJcbkBmdW5jdGlvbiBnZXQtdncteGwoJHRhcmdldCkge1xyXG4gICRicmVhazogbWFwLWdldCgkYnJlYWtwb2ludHMsIHhsKSAvIDFweDtcclxuICAkdnctY29udGV4dDogKCRicmVhayAqIDAuMDEpICogMXB4O1xyXG4gIEByZXR1cm4gKCR0YXJnZXQgLyAkdnctY29udGV4dCkgKiAxdnc7XHJcbn1cclxuXHJcbi8vIEZ1bmN0aW9uIHRvIHJlbW92ZSB1bml0IGZyb20gbnVtYmVyXHJcbkBmdW5jdGlvbiBzdHJpcC11bml0cygkbnVtYmVyKSB7XHJcbiAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XHJcbn1cclxuXHJcbi8vIENhbGN1bGF0ZSB2dyBmcm9tIGEgdmFsdWVcclxuQGZ1bmN0aW9uIGdldC12dygkYnJlYWtwb2ludCwgJGluZGV4KSB7XHJcbiAgJGJyZWFrOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIC8gMXB4O1xyXG4gICR2dy1jb250ZXh0OiAoJGJyZWFrICogMC4wMSkgKiAxO1xyXG4gICRudW1iOiAkaW5kZXggKiA1O1xyXG4gIEByZXR1cm4gKCRudW1iLyR2dy1jb250ZXh0KSAqIDE7XHJcbn1cclxuXHJcbi8vIE1peGluIGZvciBhIGNvbG9yIHdpdGggb3BhY2l0eVxyXG5AbWl4aW4gY29yKCRjb2xvciwgJG9wYWNpdHk6IDAuMykge1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAvKiBUaGUgRmFsbGJhY2sgKi9cclxuICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgJG9wYWNpdHkpO1xyXG59XHJcblxyXG4vLyBNaXhpbiBmb3IgYSBncmFkaWVudCBmb250XHJcbkBtaXhpbiBncmFkaWVudC1mb250KCRncmFkaWVudDogcmFkaWFsLWdyYWRpZW50KDMyLjM0JSA1OS4yMSUgYXQgNjUuOTklIDg3LjUlLCAjZmJkZjhkIDAlLCAjYzVhZDYzIDEwMCUpKSB7XHJcbiAgYmFja2dyb3VuZDogJGdyYWRpZW50O1xyXG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8vIENhbGN1bGF0ZSBjbGFtcCBmcm9tIGEgdmFsdWVcclxuQGZ1bmN0aW9uIGdldC1jbGFtcCgkdGFyZ2V0KSB7XHJcbiAgQHJldHVybiBjbGFtcCgxcHgsIGdldC12dy14cygkdGFyZ2V0KSwgJHRhcmdldCk7XHJcbn1cclxuXHJcbi8vIENhbGN1bGF0ZSB2dyBmcm9tIGEgdmFsdWVcclxuQGZ1bmN0aW9uIGdldC12dy1jYWxjKCRicmVha3BvaW50LCAkaW5kZXgsICR0eXBlLCAkdGFyZ2V0KSB7XHJcbiAgJGJyZWFrOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIC8gMXB4O1xyXG4gICR2dy1jb250ZXh0OiAoJGJyZWFrICogMC4wMSkgKiAxcHg7XHJcbiAgJHZhbDogKCR0YXJnZXQgLyAkdnctY29udGV4dCkgKiAxdnc7XHJcbiAgQHJldHVybiBjYWxjKCN7JGluZGV4fSAjeyR0eXBlfSAjeyR2YWx9KTtcclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIG9iamVjdC1maXRcclxuQG1peGluIG9iamVjdC1maXQoJGZpdDogY292ZXIsICRwb3NpdGlvbjogY2VudGVyIGNlbnRlcikge1xyXG4gIEBpbmNsdWRlIHdpZHRoKCR3aWR0aDogMTAwJSk7XHJcbiAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQ6IDEwMCUpO1xyXG4gIG9iamVjdC1maXQ6ICRmaXQ7XHJcbiAgb2JqZWN0LXBvc2l0aW9uOiAkcG9zaXRpb247XHJcbn1cclxuXHJcbi8vIE1peGluIGZvciBjcm9zcy1icm93c2VyIGlubGluZS1ibG9ja1xyXG5AbWl4aW4gaW5saW5lLWJsb2NrKCRhbGlnbjogXCJ0b3BcIikge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogI3skYWxpZ259O1xyXG4gIHpvb206IDE7XHJcbiAgKmRpc3BsYXk6IGlubGluZTtcclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIEZvbnRBd2Vzb21lIGljb25zXHJcbkBtaXhpbiBmb250LWF3ZXNvbWUoJGNvbnRlbnQ6IFwiXFxmMTA3XCIsICRzaXplOiAxNnB4KSB7XHJcbiAgY29udGVudDogXCIjeyRjb250ZW50fVwiO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCBjbGFtcCgxcHgsIGdldC12dy14cygkc2l6ZSksICRzaXplKSAvIDEgRm9udEF3ZXNvbWU7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIGZsZXhib3hcclxuQG1peGluIGZsZXgoJHR5cGU6IFwiXCIsICRkaXJlY3Rpb246IFwiXCIsICRhbGlnbjogXCJjZW50ZXJcIiwgJGp1c3RpZnk6IFwiXCIsICRnYXA6IFwiXCIpIHtcclxuICBAaWYgKCR0eXBlIT0gXCJcIikge1xyXG4gICAgZGlzcGxheTogJHR5cGUgKyBcIi1mbGV4XCI7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuICBhbGlnbi1pdGVtczogJGFsaWduO1xyXG4gIEBpZiAoJGRpcmVjdGlvbiE9IFwiXCIpIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIH1cclxuICBAaWYgKCRqdXN0aWZ5IT0gXCJcIikge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbiAgQGlmICgkZ2FwIT0gXCJcIikge1xyXG4gICAgQGlmIChzdHItaW5kZXgoI3skZ2FwfSwgXCJweFwiKSkge1xyXG4gICAgICBAaWYgKCRnYXAgPiAwKSB7XHJcbiAgICAgICAgZ2FwOiBjbGFtcCgxcHgsIGdldC12dy14cygkZ2FwKSwgJGdhcCk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGdhcDogJGdhcDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBcIlwiLCAkbWF4OiBzbSkge1xyXG4gICAgICAgICAgZ2FwOiBnZXQtdncteHMoJGdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgZ2FwOiAkZ2FwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIGZvbnRcclxuQG1peGluIGZvbnQoJGZhbWlseTogJGZvbnQtbWFpbiwgJHNpemU6ICRmb250LXNpemUsICR3ZWlnaHQ6IDQwMCwgJGhlaWdodDogMTIwJSwgJGFsaWduOiBsZWZ0LCAkY29sb3I6ICRjb2xvci1ibGFjaykge1xyXG4gIGZvbnQtZmFtaWx5OiAkZmFtaWx5O1xyXG4gIEBpZiAoc3RyLWluZGV4KCN7JHNpemV9LCBcInB4XCIpKSB7XHJcbiAgICBAaWYgKCRzaXplID4gMCkge1xyXG4gICAgICBmb250LXNpemU6IGNsYW1wKDFweCwgZ2V0LXZ3LXhzKCRzaXplKSwgJHNpemUpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogZ2V0LXZ3LXhzKCRzaXplKTtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgfVxyXG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gIEBpZiAoc3RyLWluZGV4KCN7JGhlaWdodH0sIFwicHhcIikpIHtcclxuICAgIEBpZiAoJGhlaWdodCA+IDApIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDFweCwgZ2V0LXZ3LXhzKCRoZWlnaHQpLCAkaGVpZ2h0KTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBsaW5lLWhlaWdodDogJGhlaWdodDtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogXCJcIiwgJG1heDogc20pIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogZ2V0LXZ3LXhzKCRoZWlnaHQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBsaW5lLWhlaWdodDogJGhlaWdodDtcclxuICB9XHJcbiAgdGV4dC1hbGlnbjogJGFsaWduO1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbn1cclxuXHJcbi8vIE1peGluIGZvciBwYWRkaW5nXHJcbkBtaXhpbiBwYWRkaW5nKCR0b3A6IFwiXCIsICRyaWdodDogXCJcIiwgJGJvdHRvbTogXCJcIiwgJGxlZnQ6IFwiXCIsICRhbGw6IFwiXCIpIHtcclxuICBAaWYgKCRhbGwhPSBcIlwiKSB7XHJcbiAgICBAaWYgKHN0ci1pbmRleCgjeyRhbGx9LCBcInB4XCIpKSB7XHJcbiAgICAgIEBpZiAoJGFsbCA+IDApIHtcclxuICAgICAgICBtYXJnaW46IGNsYW1wKDFweCwgZ2V0LXZ3LXhzKCRhbGwpLCAkYWxsKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgbWFyZ2luOiBjbGFtcCgtMTAwMHB4LCBnZXQtdncteHMoJGFsbCksICRhbGwpO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgbWFyZ2luOiAkYWxsO1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGlmICgkdG9wIT0gXCJcIikge1xyXG4gICAgICBAaWYgKHN0ci1pbmRleCgjeyR0b3B9LCBcInB4XCIpKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDFweCwgZ2V0LXZ3LXhzKCR0b3ApLCAkdG9wKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICR0b3A7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAoJHJpZ2h0IT0gXCJcIikge1xyXG4gICAgICBAaWYgKHN0ci1pbmRleCgjeyRyaWdodH0sIFwicHhcIikpIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjbGFtcCgxcHgsIGdldC12dy14cygkcmlnaHQpLCAkcmlnaHQpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAoJGJvdHRvbSE9IFwiXCIpIHtcclxuICAgICAgQGlmIChzdHItaW5kZXgoI3skYm90dG9tfSwgXCJweFwiKSkge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgxcHgsIGdldC12dy14cygkYm90dG9tKSwgJGJvdHRvbSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkYm90dG9tO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgKCRsZWZ0IT0gXCJcIikge1xyXG4gICAgICBAaWYgKHN0ci1pbmRleCgjeyRsZWZ0fSwgXCJweFwiKSkge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogY2xhbXAoMXB4LCBnZXQtdncteHMoJGxlZnQpLCAkbGVmdCk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1peGluIGZvciBtYXJnaW5cclxuQG1peGluIG1hcmdpbigkdG9wOiBcIlwiLCAkcmlnaHQ6IFwiXCIsICRib3R0b206IFwiXCIsICRsZWZ0OiBcIlwiLCAkYWxsOiBcIlwiKSB7XHJcbiAgQGlmICgkYWxsIT0gXCJcIikge1xyXG4gICAgQGlmIChzdHItaW5kZXgoI3skYWxsfSwgXCJweFwiKSkge1xyXG4gICAgICBAaWYgKCRhbGwgPiAwKSB7XHJcbiAgICAgICAgbWFyZ2luOiBjbGFtcCgxcHgsIGdldC12dy14cygkYWxsKSwgJGFsbCk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIG1hcmdpbjogJGFsbDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBcIlwiLCAkbWF4OiBzbSkge1xyXG4gICAgICAgICAgbWFyZ2luOiBnZXQtdncteHMoJGFsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgbWFyZ2luOiAkYWxsO1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGlmICgkdG9wIT0gXCJcIikge1xyXG4gICAgICBAaWYgKHN0ci1pbmRleCgjeyR0b3B9LCBcInB4XCIpKSB7XHJcbiAgICAgICAgQGlmICgkdG9wID4gMCkge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogY2xhbXAoMXB4LCBnZXQtdncteHMoJHRvcCksICR0b3ApO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogJHRvcDtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IFwiXCIsICRtYXg6IHNtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGdldC12dy14cygkdG9wKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICR0b3A7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAoJHJpZ2h0IT0gXCJcIikge1xyXG4gICAgICBAaWYgKHN0ci1pbmRleCgjeyRyaWdodH0sIFwicHhcIikpIHtcclxuICAgICAgICBAaWYgKCRyaWdodCA+IDApIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogY2xhbXAoMXB4LCBnZXQtdncteHMoJHJpZ2h0KSwgJHJpZ2h0KTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0O1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogXCJcIiwgJG1heDogc20pIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBnZXQtdncteHMoJHJpZ2h0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgKCRib3R0b20hPSBcIlwiKSB7XHJcbiAgICAgIEBpZiAoc3RyLWluZGV4KCN7JGJvdHRvbX0sIFwicHhcIikpIHtcclxuICAgICAgICBAaWYgKCRib3R0b20gPiAwKSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCgxcHgsIGdldC12dy14cygkYm90dG9tKSwgJGJvdHRvbSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkYm90dG9tO1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogXCJcIiwgJG1heDogc20pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogZ2V0LXZ3LXhzKCRib3R0b20pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICgkbGVmdCE9IFwiXCIpIHtcclxuICAgICAgQGlmIChzdHItaW5kZXgoI3skbGVmdH0sIFwicHhcIikpIHtcclxuICAgICAgICBAaWYgKCRsZWZ0ID4gMCkge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGNsYW1wKDFweCwgZ2V0LXZ3LXhzKCRsZWZ0KSwgJGxlZnQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6ICRsZWZ0O1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogXCJcIiwgJG1heDogc20pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGdldC12dy14cygkbGVmdCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogJGxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1peGluIGZvciBib3JkZXItcmFkaXVzXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRhbGw6IDApIHtcclxuICBAaWYgKCRhbGwhPSAwKSB7XHJcbiAgICBAaWYgKHN0ci1pbmRleCgjeyRhbGx9LCBcInB4XCIpKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNsYW1wKDFweCwgZ2V0LXZ3LXhzKCRhbGwpLCAkYWxsKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkYWxsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIHBvc2l0aW9uXHJcbkBtaXhpbiBwb3NpdGlvbigkdHlwZTogcmVsYXRpdmUsICR0b3A6IFwiXCIsICRyaWdodDogXCJcIiwgJGJvdHRvbTogXCJcIiwgJGxlZnQ6IFwiXCIsICR6LWluZGV4OiBcIlwiKSB7XHJcbiAgcG9zaXRpb246ICR0eXBlO1xyXG4gIEBpZiAoJHRvcCE9IFwiXCIpIHtcclxuICAgIEBpZiAoc3RyLWluZGV4KCN7JHRvcH0sIFwicHhcIikpIHtcclxuICAgICAgQGlmICgkdG9wID4gMCkge1xyXG4gICAgICAgIHRvcDogY2xhbXAoMXB4LCBnZXQtdncteHMoJHRvcCksICR0b3ApO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICB0b3A6ICR0b3A7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogXCJcIiwgJG1heDogc20pIHtcclxuICAgICAgICAgIHRvcDogZ2V0LXZ3LXhzKCR0b3ApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHRvcDogJHRvcDtcclxuICAgIH1cclxuICB9XHJcbiAgQGlmICgkcmlnaHQhPSBcIlwiKSB7XHJcbiAgICBAaWYgKHN0ci1pbmRleCgjeyRyaWdodH0sIFwicHhcIikpIHtcclxuICAgICAgQGlmICgkcmlnaHQgPiAwKSB7XHJcbiAgICAgICAgcmlnaHQ6IGNsYW1wKDFweCwgZ2V0LXZ3LXhzKCRyaWdodCksICRyaWdodCk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHJpZ2h0OiAkcmlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogXCJcIiwgJG1heDogc20pIHtcclxuICAgICAgICAgIHJpZ2h0OiBnZXQtdncteHMoJHJpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICByaWdodDogJHJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgKCRib3R0b20hPSBcIlwiKSB7XHJcbiAgICBAaWYgKHN0ci1pbmRleCgjeyRib3R0b219LCBcInB4XCIpKSB7XHJcbiAgICAgIEBpZiAoJGJvdHRvbSA+IDApIHtcclxuICAgICAgICBib3R0b206IGNsYW1wKDFweCwgZ2V0LXZ3LXhzKCRib3R0b20pLCAkYm90dG9tKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYm90dG9tOiAkYm90dG9tO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IFwiXCIsICRtYXg6IHNtKSB7XHJcbiAgICAgICAgICBib3R0b206IGdldC12dy14cygkYm90dG9tKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBib3R0b206ICRib3R0b207XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAoJGxlZnQhPSBcIlwiKSB7XHJcbiAgICBAaWYgKHN0ci1pbmRleCgjeyRsZWZ0fSwgXCJweFwiKSkge1xyXG4gICAgICBAaWYgKCRsZWZ0ID4gMCkge1xyXG4gICAgICAgIGxlZnQ6IGNsYW1wKDFweCwgZ2V0LXZ3LXhzKCRsZWZ0KSwgJGxlZnQpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBsZWZ0OiAkbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBcIlwiLCAkbWF4OiBzbSkge1xyXG4gICAgICAgICAgbGVmdDogZ2V0LXZ3LXhzKCRsZWZ0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBsZWZ0OiAkbGVmdDtcclxuICAgIH1cclxuICB9XHJcbiAgQGlmICgkei1pbmRleCE9IFwiXCIpIHtcclxuICAgIHotaW5kZXg6ICR6LWluZGV4O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIHdpZHRoXHJcbkBtaXhpbiB3aWR0aCgkd2lkdGg6IDApIHtcclxuICBAaWYgKHN0ci1pbmRleCgjeyR3aWR0aH0sIFwicHhcIikpIHtcclxuICAgIHdpZHRoOiBjbGFtcCgxcHgsIGdldC12dy14cygkd2lkdGgpLCAkd2lkdGgpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1peGluIGZvciBoZWlnaHRcclxuQG1peGluIGhlaWdodCgkaGVpZ2h0OiAwKSB7XHJcbiAgQGlmIChzdHItaW5kZXgoI3skaGVpZ2h0fSwgXCJweFwiKSkge1xyXG4gICAgaGVpZ2h0OiBjbGFtcCgxcHgsIGdldC12dy14cygkaGVpZ2h0KSwgJGhlaWdodCk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNaXhpbiB0byBjcmVhdGUgYSBncmlkXHJcbkBtaXhpbiBjb2x1bW5zKCRxdWFudDogcmVwZWF0KDEyLCAxZnIpLCAkZ3V0dGVyOiAyMCwgJGFsaWduOiB0b3AsICR0ZW1wbGF0ZTogXCJcIikge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAkcXVhbnQ7XHJcbiAgQGlmIChzdHItaW5kZXgoI3skZ3V0dGVyfSwgXCJweFwiKSkge1xyXG4gICAgZ2FwOiBjbGFtcCgxcHgsIGdldC12dy14cygkZ3V0dGVyKSwgJGd1dHRlcik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBnYXA6ICRndXR0ZXI7XHJcbiAgfVxyXG4gIGFsaWduLWl0ZW1zOiAkYWxpZ247XHJcbiAgQGlmICgkdGVtcGxhdGUhPSBcIlwiKSB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiAkdGVtcGxhdGU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNaXhpbiB0byBjcmVhdGUgYSBncmlkIGNvbnRhaW5lclxyXG5AbWl4aW4gY29udGFpbmVyIHtcclxuICBtYXgtd2lkdGg6ICRncmlkLWNvbnRhaW5lcjtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyIC8gMik7XHJcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlciAvIDIpO1xyXG59XHJcblxyXG4vLyBNaXhpbiB0byBjcmVhdGUgYSBncmlkIGNvbnRhaW5lclxyXG5AbWl4aW4gY29udGFpbmVyLWZ1bGwge1xyXG4gIG1heC13aWR0aDogMTgzNHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXIgLyAyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyIC8gMik7XHJcbn1cclxuXHJcbi8vIGFuaW1hdGVcclxuQG1peGluIGFuaW1hdGUoJHRpbWU6IDAuNXMsICRlYXNlOiBlYXNlLCAkZGVsYXk6IDBzKSB7XHJcbiAgdHJhbnNpdGlvbjogYWxsICR0aW1lICRlYXNlICRkZWxheTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAkdGltZSAkZWFzZSAkZGVsYXk7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgJHRpbWUgJGVhc2UgJGRlbGF5O1xyXG59XHJcblxyXG4vLyBNaXhpbiBmb3IgbWVkaWEgcXVlcmllc1xyXG5AbWl4aW4gYnJlYWtwb2ludDIoJG1pbjogXCJcIiwgJG1heDogXCJcIikge1xyXG4gIEBpZiAobWFwLWdldCgkYnJlYWtwb2ludHMsICRtaW4pIGFuZCBtYXAtZ2V0KCRicmVha3BvaW50cywgJG1heCkpIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG1pbikgKyAxcHgpIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG1heCkpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluPT0gXCJcIiB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRtYXgpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heD09IFwiXCIge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbWluKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWluKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWl4aW4gdG8gY3JlYXRlIGEgZGVmYXVsdCBtYXJnaW5cclxuQG1peGluIG1ha2UtZGVmYXVsdC1tYXJnaW4oJHByZWZpeDogXCJtdG9wXCIsICRsaW1pdDogMTAsICRkaXJlY3Rpb246IFwidG9wXCIpIHtcclxuICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCAkbGltaXQge1xyXG4gICAgLiN7JHByZWZpeH0tI3skaW5kZXggKiA1fSB7XHJcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRpbmRleCAqIDV9cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IGxnLCAkbWF4OiB4bCkge1xyXG4gICAgQGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggJGxpbWl0IHtcclxuICAgICAgJHI6IGdldC12dyh4bCwgJGluZGV4KTtcclxuICAgICAgLiN7JHByZWZpeH0tI3skaW5kZXggKiA1fSB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JHJ9dnc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogbWQsICRtYXg6IGxnKSB7XHJcbiAgICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCAkbGltaXQge1xyXG4gICAgICAkcjogZ2V0LXZ3KGxnLCAkaW5kZXgpO1xyXG4gICAgICAuI3skcHJlZml4fS0jeyRpbmRleCAqIDV9IHtcclxuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skcn12dztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBzbSwgJG1heDogbWQpIHtcclxuICAgIEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoICRsaW1pdCB7XHJcbiAgICAgICRyOiBnZXQtdncobWQsICRpbmRleCk7XHJcbiAgICAgIC4jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRyfXZ3O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IHhzLCAkbWF4OiBzbSkge1xyXG4gICAgQGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggJGxpbWl0IHtcclxuICAgICAgJHI6IGdldC12dyhzbSwgJGluZGV4KTtcclxuICAgICAgLiN7JHByZWZpeH0tI3skaW5kZXggKiA1fSB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JHJ9dnc7XHJcbiAgICAgIH1cclxuICAgICAgLm1vYmlsZS0jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRyfXZ3O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IFwiXCIsICRtYXg6IHhzKSB7XHJcbiAgICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCAkbGltaXQge1xyXG4gICAgICAkcjogZ2V0LXZ3KHhzLCAkaW5kZXgpO1xyXG4gICAgICAuI3skcHJlZml4fS0jeyRpbmRleCAqIDV9IHtcclxuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skcn12dztcclxuICAgICAgfVxyXG4gICAgICAubW9iaWxlLSN7JHByZWZpeH0tI3skaW5kZXggKiA1fSB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JHJ9dnc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgcGFkZGluZ1xyXG5AbWl4aW4gbWFrZS1kZWZhdWx0LXBhZGRpbmcoJHByZWZpeDogXCJtdG9wXCIsICRsaW1pdDogMTAsICRkaXJlY3Rpb246IFwidG9wXCIpIHtcclxuICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCAkbGltaXQge1xyXG4gICAgLiN7JHByZWZpeH0tI3skaW5kZXggKiA1fSB7XHJcbiAgICAgIHBhZGRpbmctI3skZGlyZWN0aW9ufTogI3skaW5kZXggKiA1fXB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBsZywgJG1heDogeGwpIHtcclxuICAgIEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoICRsaW1pdCB7XHJcbiAgICAgICRyOiBnZXQtdncoeGwsICRpbmRleCk7XHJcbiAgICAgIC4jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICAgIHBhZGRpbmctI3skZGlyZWN0aW9ufTogI3skcn12dztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBtZCwgJG1heDogbGcpIHtcclxuICAgIEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoICRsaW1pdCB7XHJcbiAgICAgICRyOiBnZXQtdncobGcsICRpbmRleCk7XHJcbiAgICAgIC4jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICAgIHBhZGRpbmctI3skZGlyZWN0aW9ufTogI3skcn12dztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBzbSwgJG1heDogbWQpIHtcclxuICAgIEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoICRsaW1pdCB7XHJcbiAgICAgICRyOiBnZXQtdncobWQsICRpbmRleCk7XHJcbiAgICAgIC4jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICAgIHBhZGRpbmctI3skZGlyZWN0aW9ufTogI3skcn12dztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50MigkbWluOiB4cywgJG1heDogc20pIHtcclxuICAgIEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoICRsaW1pdCB7XHJcbiAgICAgICRyOiBnZXQtdncoc20sICRpbmRleCk7XHJcbiAgICAgIC4jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICAgIHBhZGRpbmctI3skZGlyZWN0aW9ufTogI3skcn12dztcclxuICAgICAgfVxyXG4gICAgICAubW9iaWxlLSN7JHByZWZpeH0tI3skaW5kZXggKiA1fSB7XHJcbiAgICAgICAgcGFkZGluZy0jeyRkaXJlY3Rpb259OiAjeyRyfXZ3O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IFwiXCIsICRtYXg6IHhzKSB7XHJcbiAgICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCAkbGltaXQge1xyXG4gICAgICAkcjogZ2V0LXZ3KHhzLCAkaW5kZXgpO1xyXG4gICAgICAuI3skcHJlZml4fS0jeyRpbmRleCAqIDV9IHtcclxuICAgICAgICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06ICN7JHJ9dnc7XHJcbiAgICAgIH1cclxuICAgICAgLm1vYmlsZS0jeyRwcmVmaXh9LSN7JGluZGV4ICogNX0ge1xyXG4gICAgICAgIHBhZGRpbmctI3skZGlyZWN0aW9ufTogI3skcn12dztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEhlbHBlciBmdW5jdGlvbiB0byBlYXNpbHkgdXNlIGFuIFNWRyBpbmxpbmUgaW4gQ1NTXHJcbi8vLyB3aXRob3V0IGVuY29kaW5nIGl0IHRvIGJhc2U2NCwgc2F2aW5nIGJ5dGVzLlxyXG4vLy8gSXQgYWxzbyBoZWxwcyB3aXRoIGJyb3dzZXIgc3VwcG9ydC5cclxuLy8vIEEgc21hbGwgZnVuY3Rpb24gYWxsb3dpbmcgc2tpcHBpbmcgYmFzZTY0IGVuY29kaW5nXHJcbi8vLyBhbmQgc2ltcGx5IHBhc3RpbmcgdGhlIFNWRyBtYXJrdXAgcmlnaHQgaW4gdGhlIENTUy5cclxuLy8vIEBhdXRob3IgSmFrb2IgRXJpa3NlblxyXG4vLy8gQGxpbmsgaHR0cDovL2NvZGVwZW4uaW8vamFrb2ItZS9wZW4vZG9Nb01MXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN2ZyAtIFNWRyBpbWFnZSB0byBlbmNvZGVcclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBFbmNvZGVkIFNWRyBkYXRhIHVyaVxyXG5AZnVuY3Rpb24gc3ZnLXVyaSgkc3ZnKSB7XHJcbiAgJGVuY29kZWQ6IFwiXCI7XHJcbiAgJHNsaWNlOiAyMDAwO1xyXG4gICRpbmRleDogMDtcclxuICAkbG9vcHM6IGNlaWwoc3RyLWxlbmd0aCgkc3ZnKSAvICRzbGljZSk7XHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbG9vcHMge1xyXG4gICAgJGNodW5rOiBzdHItc2xpY2UoJHN2ZywgJGluZGV4LCAkaW5kZXggKyAkc2xpY2UgLSAxKTtcclxuICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCAnXCInLCBcIidcIik7XHJcbiAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywgXCI8XCIsIFwiJTNDXCIpO1xyXG4gICAgJGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssIFwiPlwiLCBcIiUzRVwiKTtcclxuICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCBcIiZcIiwgXCIlMjZcIik7XHJcbiAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywgXCIjXCIsIFwiJTIzXCIpO1xyXG4gICAgJGVuY29kZWQ6ICN7JGVuY29kZWR9I3skY2h1bmt9O1xyXG4gICAgJGluZGV4OiAkaW5kZXggKyAkc2xpY2U7XHJcbiAgfVxyXG4gIEByZXR1cm4gdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwjeyRlbmNvZGVkfVwiKTtcclxufVxyXG5cclxuLy8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2BcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGxpbmsgaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0LzFiNGYyZGE1NTI3ODMwMDg4ZTRkXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXHJcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xyXG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xyXG4gIEBpZiAkaW5kZXgge1xyXG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArXHJcbiAgICAgIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xyXG4gIH1cclxuICBAcmV0dXJuICRzdHJpbmc7XHJcbn1cclxuIiwiJHNlbGVjdHJpYy1tYWluLWNvbG9yOiAgICAgICNEREQgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIHVzZWQgaW4gYm9yZGVyXG4kc2VsZWN0cmljLXNlY29uZGFyeS1jb2xvcjogI0JCQiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3IgdXNlZCBpbiBidXR0b25cbiRzZWxlY3RyaWMtdGV4dC1jb2xvcjogICAgICAjNDQ0ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciB1c2VkIGluIGxhYmVsXG4kc2VsZWN0cmljLWJnLWNvbG9yOiAgICAgICAgI0Y4RjhGOCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFja2dyb3VuZCBjb2xvclxuJHNlbGVjdHJpYy1idG4tYmctY29sb3I6ICAgICNGOGY4ZjggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJ1dHRvbiBiYWNrZ3JvdW5kIGNvbG9yXG4kc2VsZWN0cmljLWhlaWdodDogICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3V0ZXIgaGVpZ2h0XG4kc2VsZWN0cmljLXNwYWNpbmc6ICAgICAgICAgMTBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGFiZWwgbGVmdCBwYWRkaW5nXG4kc2VsZWN0cmljLWJvcmRlci13aWR0aDogICAgMXB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3V0ZXIgYm9yZGVyIHdpZHRoXG4kc2VsZWN0cmljLWJvcmRlci1yYWRpdXM6ICAgMHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQm9yZGVyIHJhZGl1c1xuJHNlbGVjdHJpYy1pbm5lci1oZWlnaHQ6ICAgICRzZWxlY3RyaWMtaGVpZ2h0IC0gKCRzZWxlY3RyaWMtYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7IC8vIElubmVyIGhlaWdodFxuJHNlbGVjdHJpYy1mb250LXNpemU6ICAgICAgIDEycHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvbnQgc2l6ZVxuXG4uc2VsZWN0cmljLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnNlbGVjdHJpYy1yZXNwb25zaXZlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZWxlY3RyaWMge1xuICBib3JkZXI6ICRzZWxlY3RyaWMtYm9yZGVyLXdpZHRoIHNvbGlkICRzZWxlY3RyaWMtbWFpbi1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdHJpYy1ib3JkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc2VsZWN0cmljLWJnLWNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgbWFyZ2luOiAwICRzZWxlY3RyaWMtaW5uZXItaGVpZ2h0IDAgJHNlbGVjdHJpYy1zcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogJHNlbGVjdHJpYy1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRzZWxlY3RyaWMtaW5uZXItaGVpZ2h0O1xuICAgIGNvbG9yOiAkc2VsZWN0cmljLXRleHQtY29sb3I7XG4gICAgaGVpZ2h0OiAkc2VsZWN0cmljLWlubmVyLWhlaWdodDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzZWxlY3RyaWMtaW5uZXItaGVpZ2h0O1xuICAgIGhlaWdodDogJHNlbGVjdHJpYy1pbm5lci1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzZWxlY3RyaWMtaW5uZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RyaWMtYnRuLWJnLWNvbG9yO1xuICAgIGNvbG9yOiAkc2VsZWN0cmljLXNlY29uZGFyeS1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udDogMC8wIGE7XG4gICAgKmZvbnQ6IDIwcHgvI3skc2VsZWN0cmljLWlubmVyLWhlaWdodH0gTHVjaWRhIFNhbnMgVW5pY29kZSwgQXJpYWwgVW5pY29kZSBNUywgQXJpYWw7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRzZWxlY3RyaWMtc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnNlbGVjdHJpYy1mb2N1cyAuc2VsZWN0cmljIHtcbiAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJHNlbGVjdHJpYy1tYWluLWNvbG9yLCAyMCUpO1xufVxuXG4uc2VsZWN0cmljLWhvdmVyIC5zZWxlY3RyaWMge1xuICBib3JkZXItY29sb3I6IGRhcmtlbigkc2VsZWN0cmljLW1haW4tY29sb3IsIDEwJSk7XG5cbiAgLmJ1dHRvbiB7XG4gICAgY29sb3I6IGRhcmtlbigkc2VsZWN0cmljLXNlY29uZGFyeS1jb2xvciwgMTAlKTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRzZWxlY3RyaWMtc2Vjb25kYXJ5LWNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuXG4uc2VsZWN0cmljLW9wZW4ge1xuICB6LWluZGV4OiA5OTk5O1xuXG4gIC5zZWxlY3RyaWMge1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRzZWxlY3RyaWMtbWFpbi1jb2xvciwgMTAlKTtcbiAgfVxuXG4gIC5zZWxlY3RyaWMtaXRlbXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5zZWxlY3RyaWMtZGlzYWJsZWQge1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5zZWxlY3RyaWMtaGlkZS1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgc2VsZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cblxuICAmLnNlbGVjdHJpYy1pcy1uYXRpdmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG5cbi5zZWxlY3RyaWMtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgKmZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNlbGVjdHJpYy10ZW1wLXNob3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi8qIEl0ZW1zIGJveCAqL1xuLnNlbGVjdHJpYy1pdGVtcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAkc2VsZWN0cmljLWJnLWNvbG9yO1xuICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJHNlbGVjdHJpYy1tYWluLWNvbG9yLCAxMCUpO1xuICB6LWluZGV4OiAtMTtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggLTZweDtcblxuICAuc2VsZWN0cmljLXNjcm9sbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLnNlbGVjdHJpYy1hYm92ZSAmIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICB9XG5cbiAgdWwsIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogJHNlbGVjdHJpYy1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbWluLWhlaWdodDogMjBweDtcbiAgfVxuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZDogI0UwRTBFMDtcbiAgICAgIGNvbG9yOiAjNDQ0O1xuICAgIH1cblxuICAgICYuaGlnaGxpZ2h0ZWQge1xuICAgICAgYmFja2dyb3VuZDogI0QwRDBEMDtcbiAgICAgIGNvbG9yOiAjNDQ0O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI0Q1RDVENTtcbiAgICAgIGNvbG9yOiAjNDQ0O1xuICAgIH1cbiAgfVxuXG4gIC5kaXNhYmxlZCB7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjNjY2ICFpbXBvcnRhbnQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAuc2VsZWN0cmljLWdyb3VwIHtcbiAgICAuc2VsZWN0cmljLWdyb3VwLWxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6ICM0NDQ7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCBsaSB7XG4gICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIEdsb2JhbCByZXNldHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuaHRtbCxcclxuYm9keSxcclxuZGl2LFxyXG5zcGFuLFxyXG5hcHBsZXQsXHJcbm9iamVjdCxcclxuaWZyYW1lLFxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2LFxyXG5wLFxyXG5ibG9ja3F1b3RlLFxyXG5wcmUsXHJcbmEsXHJcbmFiYnIsXHJcbmFjcm9ueW0sXHJcbmFkZHJlc3MsXHJcbmJpZyxcclxuY2l0ZSxcclxuY29kZSxcclxuZGVsLFxyXG5kZm4sXHJcbmVtLFxyXG5pbWcsXHJcbmlucyxcclxua2JkLFxyXG5xLFxyXG5zLFxyXG5zYW1wLFxyXG5zbWFsbCxcclxuc3RyaWtlLFxyXG5zdHJvbmcsXHJcbnN1Yixcclxuc3VwLFxyXG50dCxcclxudmFyLFxyXG5iLFxyXG51LFxyXG5pLFxyXG5jZW50ZXIsXHJcbmRsLFxyXG5kdCxcclxuZGQsXHJcbm9sLFxyXG51bCxcclxubGksXHJcbmZpZWxkc2V0LFxyXG5mb3JtLFxyXG5sYWJlbCxcclxubGVnZW5kLFxyXG50YWJsZSxcclxuY2FwdGlvbixcclxudGJvZHksXHJcbnRmb290LFxyXG50aGVhZCxcclxudHIsXHJcbnRoLFxyXG50ZCxcclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmNhbnZhcyxcclxuZGV0YWlscyxcclxuZW1iZWQsXHJcbmZpZ3VyZSxcclxuZmlnY2FwdGlvbixcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbmhncm91cCxcclxubWVudSxcclxubmF2LFxyXG5vdXRwdXQsXHJcbnJ1YnksXHJcbnNlY3Rpb24sXHJcbnN1bW1hcnksXHJcbnRpbWUsXHJcbm1hcmssXHJcbmF1ZGlvLFxyXG52aWRlbyB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGZvbnQtc2l6ZTogMTAwJTtcclxuICBmb250OiBpbmhlcml0O1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICBvdXRsaW5lOiBub25lO1xyXG59XHJcbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmRldGFpbHMsXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbmhncm91cCxcclxubWVudSxcclxubmF2LFxyXG5zZWN0aW9uIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5ib2R5IHtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5vbCxcclxudWwge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuYmxvY2txdW90ZSxcclxucSB7XHJcbiAgcXVvdGVzOiBub25lO1xyXG59XHJcbmJsb2NrcXVvdGU6YmVmb3JlLFxyXG5ibG9ja3F1b3RlOmFmdGVyLFxyXG5xOmJlZm9yZSxcclxucTphZnRlciB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBjb250ZW50OiBub25lO1xyXG59XHJcbnRhYmxlIHtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIGJvcmRlci1zcGFjaW5nOiAwO1xyXG59XHJcblxyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgR2xvYmFsIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbmh0bWwge1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1iYWNrZ3JvdW5kO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbiosXHJcbio6YmVmb3JlLFxyXG4qOmFmdGVyIHtcclxuICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG59XHJcblxyXG5odG1sLFxyXG5idXR0b24sXHJcbmlucHV0LFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICBjb2xvcjogJGZvbnQtY29sb3I7XHJcbn1cclxuXHJcbmEge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAvL3RyYW5zaXRpb246IGNvbG9yIDAuMnM7XHJcbiAgZm9udDogaW5oZXJpdDtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5idXR0b24ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuYTpmb2N1cyxcclxuYnV0dG9uOmZvY3VzLFxyXG5hOmFjdGl2ZSxcclxuYnV0dG9uOmFjdGl2ZSB7XHJcbiAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxudWwsXHJcbmxpIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5vbCxcclxudWwge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG5pbWcsXHJcbmlmcmFtZSxcclxudmlkZW8ge1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5hbGlnbi1sZWZ0IHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4uYWxpZ24tcmlnaHQge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4uYWxpZ24tY2VudGVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5oaWRkZW4ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLmhpZGVUZXh0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0ZXh0LWluZGVudDogMTAxJTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBHcmlkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKkBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IHhsLCAkbWF4OiBcIlwiKSB7XG4gIC5oaWRkZW4tZnVsbGhkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnZpc2libGUtZnVsbGhkIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBsZywgJG1heDogeGwpIHtcbiAgLmhpZGRlbi1mdWxsRGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC52aXNpYmxlLWZ1bGxEZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBtZCwgJG1heDogbGcpIHtcbiAgLmhpZGRlbi1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnZpc2libGUtZGVza3RvcCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjogc20sICRtYXg6IG1kKSB7XG4gIC5oaWRkZW4tdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnZpc2libGUtdGFibGV0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AaW5jbHVkZSBicmVha3BvaW50MigkbWluOiB4cywgJG1heDogc20pIHtcbiAgLmhpZGRlbi1waGFibGV0cyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC52aXNpYmxlLXBoYWJsZXRzIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AaW5jbHVkZSBicmVha3BvaW50MigkbWluOiBcIlwiLCAkbWF4OiB4cykge1xuICAuaGlkZGVuLXBob25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnZpc2libGUtcGhvbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn0qL1xuXG4uY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQyKCRtaW46IFwiXCIsICRtYXg6IHNtKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbn1cbi8qLmNvbnRhaW5lci1mdWxsIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZ1bGw7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludDIoJG1pbjonJywgJG1heDpzbSkge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1ha2UtZGVmYXVsdC1tYXJnaW4obXRvcCwxMCx0b3ApO1xuQGluY2x1ZGUgbWFrZS1kZWZhdWx0LXBhZGRpbmcocHRvcCwxMCx0b3ApO1xuXG5AaW5jbHVkZSBtYWtlLWRlZmF1bHQtbWFyZ2luKG1ib3R0b20sMTAsYm90dG9tKTtcbkBpbmNsdWRlIG1ha2UtZGVmYXVsdC1wYWRkaW5nKHBib3R0b20sMTAsYm90dG9tKTtcblxuLmZsIHsgZmxvYXQ6IGxlZnQ7IH1cbi5mciB7IGZsb2F0OiByaWdodDsgfVxuXG4uY2VudGVyLWJsb2NrIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZmxvYXQ6IG5vbmU7XG59Ki9cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRm9udHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZm9udGUgbmFtZSc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9mb250ZS1uYW1lLmVvdCcpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGUtbmFtZS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udHMvZm9udGUtbmFtZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZS1uYW1lLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL2ZvbnRlLW5hbWUuc3ZnI2ZvbnRlLW5hbWUnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59Ki9cbi8qICMjIyMgR2VuZXJhdGVkIEJ5OiBodHRwOi8vZm9udC5kb3dubG9hZCAjIyMjICovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpIFJlZ3VsYXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6XG4gICAgbG9jYWwoXCJTYXRvc2hpIFJlZ3VsYXJcIiksXG4gICAgdXJsKFwiLi4vZm9udHMvU2F0b3NoaS1SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNhdG9zaGkgSXRhbGljXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOlxuICAgIGxvY2FsKFwiU2F0b3NoaSBJdGFsaWNcIiksXG4gICAgdXJsKFwiLi4vZm9udHMvU2F0b3NoaS1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2F0b3NoaSBMaWdodFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzpcbiAgICBsb2NhbChcIlNhdG9zaGkgTGlnaHRcIiksXG4gICAgdXJsKFwiLi4vZm9udHMvU2F0b3NoaS1MaWdodC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpIExpZ2h0IEl0YWxpY1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzpcbiAgICBsb2NhbChcIlNhdG9zaGkgTGlnaHQgSXRhbGljXCIpLFxuICAgIHVybChcIi4uL2ZvbnRzL1NhdG9zaGktTGlnaHRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2F0b3NoaSBNZWRpdW1cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6XG4gICAgbG9jYWwoXCJTYXRvc2hpIE1lZGl1bVwiKSxcbiAgICB1cmwoXCIuLi9mb250cy9TYXRvc2hpLU1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpIE1lZGl1bSBJdGFsaWNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6XG4gICAgbG9jYWwoXCJTYXRvc2hpIE1lZGl1bSBJdGFsaWNcIiksXG4gICAgdXJsKFwiLi4vZm9udHMvU2F0b3NoaS1NZWRpdW1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2F0b3NoaSBCb2xkXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOlxuICAgIGxvY2FsKFwiU2F0b3NoaSBCb2xkXCIpLFxuICAgIHVybChcIi4uL2ZvbnRzL1NhdG9zaGktQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpIEJvbGQgSXRhbGljXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOlxuICAgIGxvY2FsKFwiU2F0b3NoaSBCb2xkIEl0YWxpY1wiKSxcbiAgICB1cmwoXCIuLi9mb250cy9TYXRvc2hpLUJvbGRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2F0b3NoaSBCbGFja1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzpcbiAgICBsb2NhbChcIlNhdG9zaGkgQmxhY2tcIiksXG4gICAgdXJsKFwiLi4vZm9udHMvU2F0b3NoaS1CbGFjay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpIEJsYWNrIEl0YWxpY1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzpcbiAgICBsb2NhbChcIlNhdG9zaGkgQmxhY2sgSXRhbGljXCIpLFxuICAgIHVybChcIi4uL2ZvbnRzL1NhdG9zaGktQmxhY2tJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LW1haW47XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1hbHQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbn1cblxucCB7XG4gIG1hcmdpbjogMDtcbn1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgS2V5ZnJhbWVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtb3ZlSXQge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCkgcm90YXRlKDFkZWcpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCkgcm90YXRlKC0xZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsb2F0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRleSgwcHgpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGV5KC0yMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoMHB4KTtcbiAgfVxufVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBNYWluIHN0cnVjdHVyZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgLy8gYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZy5wbmcpIHRvcCBjZW50ZXIgbm8tcmVwZWF0O1xufVxuLnJldmVhbGhlYWRlcixcbi5yZXZlYWxpY29uLFxuLnJldmVhbCxcbi5yZXZlYWxmb290ZXIsXG4ucmV2ZWFsc2xpZGVsZWZ0LFxuLnJldmVhbHNsaWRlcmlnaHQsXG4ucmV2ZWFsZmFkZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmJnLXZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGhlaWdodCgkaGVpZ2h0OiAxMDgwcHgpO1xuICBAaW5jbHVkZSBwb3NpdGlvbigkdHlwZTogYWJzb2x1dGUsICR0b3A6IDAsICRyaWdodDogMCwgJGxlZnQ6IDAsICR6LWluZGV4OiAwKTtcbiAgdmlkZW8ge1xuICAgIEBpbmNsdWRlIG9iamVjdC1maXQoJGZpdDogY292ZXIsICRwb3NpdGlvbjogY2VudGVyIGNlbnRlcik7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKCR0eXBlOiBhYnNvbHV0ZSwgJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAwLCAkbGVmdDogMCwgJHotaW5kZXg6IDApO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDEwLCAxMCwgMTAsIDEpIDAlLCByZ2JhKDEwLCAxMCwgMTAsIDEpIDEwJSwgcmdiYSgxMCwgMTAsIDEwLCAwKSAxMDAlKTtcbiAgfVxufVxuI29wZW4tbWVudSB7XG4gIG1hcmdpbi10b3A6IC0wO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDI7XG4gIC5hbmkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgc3ZnIHtcbiAgICB9XG4gICAgLmNsb3NlLFxuICAgICNjbG9zZSB7XG4gICAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgICB3aWR0aDogZ2V0LXZ3LXNtKDcwcHgpO1xuICAgICAgaGVpZ2h0OiBnZXQtdnctc20oNzBweCk7XG4gICAgICAubGluZSB7XG4gICAgICAgIGZpbGw6IG5vbmU7XG4gICAgICAgIHN0cm9rZTogJGNvbG9yLWdvbGQ7XG4gICAgICAgIHN0cm9rZS13aWR0aDogNjtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBzdHJva2UtZGFzaGFycmF5IDYwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQgNjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICAgIH1cbiAgICAgIC5saW5lMSB7XG4gICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDYwIDIwNztcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiA2O1xuICAgICAgfVxuICAgICAgLmxpbmUyIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hhcnJheTogNjAgNjA7XG4gICAgICAgIHN0cm9rZS13aWR0aDogNjtcbiAgICAgIH1cbiAgICAgIC5saW5lMyB7XG4gICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDYwIDIwNztcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiA2O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLm9wZW5lZCB7XG4gICAgLmNsb3NlLFxuICAgICNjbG9zZSB7XG4gICAgICAubGluZTEge1xuICAgICAgICBzdHJva2UtZGFzaGFycmF5OiA5MCAyMDc7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMTM0O1xuICAgICAgICBzdHJva2Utd2lkdGg6IDY7XG4gICAgICB9XG4gICAgICAubGluZTIge1xuICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAxIDYwO1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogLTMwO1xuICAgICAgICBzdHJva2Utd2lkdGg6IDY7XG4gICAgICB9XG4gICAgICAubGluZTMge1xuICAgICAgICBzdHJva2UtZGFzaGFycmF5OiA5MCAyMDc7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMTM0O1xuICAgICAgICBzdHJva2Utd2lkdGg6IDY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGhlYWRlclxuaGVhZGVyIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oJHR5cGU6IGFic29sdXRlLCAkdG9wOiAwLCAkcmlnaHQ6IDAsICRsZWZ0OiAwLCAkei1pbmRleDogMTAwKTtcbiAgLmdyaWQtaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBjb2x1bW5zKCRxdWFudDogMWZyIGdldC1jbGFtcCgxMDBweCkgMWZyLCAkZ3V0dGVyOiA2NXB4LCAkYWxpZ246IGVuZCwgJHRlbXBsYXRlOiBcInNwYWNlIGxvZ28gbWVudW1vYmlsZVwiKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDE2cHgsICRyaWdodDogMCwgJGJvdHRvbTogMTZweCwgJGxlZnQ6IDApO1xuICAgIC5sb2dvIHtcbiAgICAgIGdyaWQtYXJlYTogbG9nbztcbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIG9iamVjdC1maXQoJGZpdDogY292ZXIsICRwb3NpdGlvbjogY2VudGVyIGNlbnRlcik7XG4gICAgICAgICYuZGVza3RvcCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubWVudSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogOXB4LCAkbGVmdDogMCk7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgJi5sZWZ0IHtcbiAgICAgICAgZ3JpZC1hcmVhOiBsZWZ0O1xuICAgICAgICB1bCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IGVuZCwgJGdhcDogMTZweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYucmlnaHQge1xuICAgICAgICBncmlkLWFyZWE6IHJpZ2h0O1xuICAgICAgICB1bCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IHN0YXJ0LCAkZ2FwOiAxNnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDhweCwgJHJpZ2h0OiA4cHgsICRib3R0b206IDhweCwgJGxlZnQ6IDhweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KFxuICAgICAgICAgICAgICAkZmFtaWx5OiBcIlNhdG9zaGkgTGlnaHRcIixcbiAgICAgICAgICAgICAgJHNpemU6IDE4cHgsXG4gICAgICAgICAgICAgICR3ZWlnaHQ6IDQwMCxcbiAgICAgICAgICAgICAgJGhlaWdodDogMTIwJSxcbiAgICAgICAgICAgICAgJGFsaWduOiBsZWZ0LFxuICAgICAgICAgICAgICAkY29sb3I6ICRjb2xvci13aGl0ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJ0bi1tZW51LW1vYmlsZSB7XG4gICAgICBncmlkLWFyZWE6IG1lbnVtb2JpbGU7XG4gICAgICBAaW5jbHVkZSBmbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogZW5kKTtcbiAgICB9XG4gIH1cbn1cbm5hdi5tZW51LW1vYmlsZSB7XG4gIEBpbmNsdWRlIGFuaW1hdGUoJHRpbWU6IDAuM3MpO1xuICBAaW5jbHVkZSBwb3NpdGlvbigkdHlwZTogYWJzb2x1dGUsICR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogMCwgJGxlZnQ6IC0xMDElLCAkei1pbmRleDogMSk7XG4gIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMTAwcHgsICRyaWdodDogMzJweCwgJGJvdHRvbTogNDhweCwgJGxlZnQ6IDMycHgpO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgLmJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIEBpbmNsdWRlIGZsZXgoJGRpcmVjdGlvbjogY29sdW1uLCAkYWxpZ246IGVuZCwgJGp1c3RpZnk6IGVuZCwgJGdhcDogMCk7XG4gIH1cbiAgdWwge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiA4OHB4LCAkbGVmdDogMCk7XG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgZmxleCgkYWxpZ246IGVuZCwgJGp1c3RpZnk6IGVuZCwgJGdhcDogMCk7XG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udChcbiAgICAgICAgICAkZmFtaWx5OiBcIlNhdG9zaGkgQm9sZFwiLFxuICAgICAgICAgICRzaXplOiAyNHB4LFxuICAgICAgICAgICR3ZWlnaHQ6IDQwMCxcbiAgICAgICAgICAkaGVpZ2h0OiAxMTUlLFxuICAgICAgICAgICRhbGlnbjogcmlnaHQsXG4gICAgICAgICAgJGNvbG9yOiAkY29sb3Itd2hpdGVcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiA4cHgsICRyaWdodDogMCwgJGJvdHRvbTogOHB4LCAkbGVmdDogMCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJ0biB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgQGluY2x1ZGUgZm9udChcbiAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBCb2xkXCIsXG4gICAgICAkc2l6ZTogMTZweCxcbiAgICAgICR3ZWlnaHQ6IDcwMCxcbiAgICAgICRoZWlnaHQ6IDE1MCUsXG4gICAgICAkYWxpZ246IGxlZnQsXG4gICAgICAkY29sb3I6ICRjb2xvci1kYXJrLWJsdWVcbiAgICApO1xuICAgIEBpbmNsdWRlIHdpZHRoKCR3aWR0aDogMTAwJSk7XG4gICAgbWF4LXdpZHRoOiAzNzVweDtcbiAgICBAaW5jbHVkZSBoZWlnaHQoJGhlaWdodDogNTZweCk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxsOiAxMHB4KTtcbiAgICBAaW5jbHVkZSBmbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgI2NkYjM3MCwgI2NkYjM3MCksIGxpbmVhci1ncmFkaWVudCg5Mi4zOGRlZywgI2NkYjM3MCAxLjk5JSwgI2QxYWU1MiA5OS4yNiUpO1xuICB9XG59XG4ubWVudS1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbmF2Lm1lbnUtbW9iaWxlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG4vLyBlbmQgaGVhZGVyXG4vLyBtYWluXG5tYWluIHtcbiAgLy9iYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2JnLXRvcC5wbmcpIHRvcCBjZW50ZXIgbm8tcmVwZWF0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIGhlaWdodDogNTU4MHB4O1xuICAuaWNvbi0wMSxcbiAgLmljb24tMDIsXG4gIC5pY29uLTAzLFxuICAuaWNvbi0wNCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuOnJvb3Qge1xuICAtLWdyYWRpZW50OiBjb25pYy1ncmFkaWVudChcbiAgICBmcm9tIDkwZGVnIGF0IDUwJSA1MCUsXG4gICAgcmdiKDI1MSwgNTUsIDYwKSxcbiAgICByZ2JhKDI1MiwgMTE0LCAyOCwgMSksXG4gICAgcmdiYSgyNTUsIDIyMCwgMCwgMSksXG4gICAgcmdiYSgyNywgMjA2LCAyNTUsIDEpLFxuICAgIHJnYmEoNDIsIDEwNywgMjU1LCAxKSxcbiAgICByZ2JhKDIxNywgNDEsIDI1NSwgMSksXG4gICAgcmdiYSgyNTUsIDEwLCA5MiwgMSlcbiAgKTtcbn1cbi5jYXJkIHtcbiAgLS1zdGFydDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmFkaWVudCk7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICBtYXNrOlxuICAgICAgbGluZWFyLWdyYWRpZW50KCMwMDAwLCAjMDAwMCksXG4gICAgICBjb25pYy1ncmFkaWVudChmcm9tIGNhbGMoKHZhcigtLXN0YXJ0KSAtICgyMCAqIDEuMSkpICogMWRlZyksICNmZmZmZmYxZiAwZGVnLCB3aGl0ZSwgI2ZmZmZmZjAwIDEwMGRlZyk7XG4gICAgbWFzay1jb21wb3NpdGU6IGludGVyc2VjdDtcbiAgICBtYXNrLWNsaXA6IHBhZGRpbmctYm94LCBib3JkZXItYm94O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogMC41cyBlYXNlO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxuICB9XG4gIC5nbG93IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBmaWx0ZXI6IGJsdXIoMTRweCk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiA5OCU7XG4gICAgICBoZWlnaHQ6IDk4JTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICAgYm9yZGVyOiAxNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ3JhZGllbnQpO1xuICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAgIC8qIG1hc2s6IGxpbmVhci1ncmFkaWVudCgjMDAwMCwgIzAwMDApLCBcbiAgICAgIGNvbmljLWdyYWRpZW50KFxuICAgICAgICBmcm9tIGNhbGModmFyKC0tc3RhcnQpICAqIDFkZWcpLCBcbiAgICAgICAgIzAwMCAwZGVnLCBcbiAgICAgICAgI2ZmZmZmZiwgXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMCkgNjBkZWdcbiAgICAgICAgKTsgKi9cbiAgICAgIG1hc2s6XG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgjMDAwMCwgIzAwMDApLFxuICAgICAgICBjb25pYy1ncmFkaWVudChmcm9tIGNhbGMoKHZhcigtLXN0YXJ0KSAtICgyMCAqIDEuMSkpICogMWRlZyksICNmZmZmZmYxZiAwZGVnLCB3aGl0ZSwgI2ZmZmZmZjAwIDEwMGRlZyk7XG4gICAgICBtYXNrLWNvbXBvc2l0ZTogaW50ZXJzZWN0O1xuICAgICAgbWFzay1jbGlwOiBwYWRkaW5nLWJveCwgYm9yZGVyLWJveDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiAxcyBlYXNlO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZDpob3ZlciA+IC5nbG93OjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuLy8gZW5kIG1haW5cbi8vIGZvb3RlclxuZm9vdGVyIHtcbiAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiA5NnB4LCAkcmlnaHQ6IDAsICRib3R0b206IDIycHgsICRsZWZ0OiAwKTtcbiAgLmdyaWQtZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogNzZweCwgJGxlZnQ6IDApO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjYyYTNhO1xuICAgIEBpbmNsdWRlIGNvbHVtbnMoJHF1YW50OiAxZnIsICRndXR0ZXI6IDU2cHgsICRhbGlnbjogc3RhcnQsICR0ZW1wbGF0ZTogXCJcIik7XG4gICAgLmxvZ28ge1xuICAgICAgQGluY2x1ZGUgd2lkdGgoJHdpZHRoOiAxNzZweCk7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBAaW5jbHVkZSBvYmplY3QtZml0KCRmaXQ6IGNvdmVyLCAkcG9zaXRpb246IGNlbnRlciBjZW50ZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5pdGVtIHtcbiAgICAgIC50aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICAgJGZhbWlseTogXCJTYXRvc2hpIExpZ2h0XCIsXG4gICAgICAgICAgJHNpemU6IDE4cHgsXG4gICAgICAgICAgJHdlaWdodDogNDAwLFxuICAgICAgICAgICRoZWlnaHQ6IDE1MCUsXG4gICAgICAgICAgJGFsaWduOiBsZWZ0LFxuICAgICAgICAgICRjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgICAgICk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAwLCAkcmlnaHQ6IDAsICRib3R0b206IDI0cHgsICRsZWZ0OiAwKTtcbiAgICAgIH1cbiAgICAgIHVsLm1lbnUge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDdweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiA3cHgsICRsZWZ0OiAwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBMaWdodFwiLFxuICAgICAgICAgICAgICAkc2l6ZTogMTZweCxcbiAgICAgICAgICAgICAgJHdlaWdodDogNDAwLFxuICAgICAgICAgICAgICAkaGVpZ2h0OiAxNTAlLFxuICAgICAgICAgICAgICAkYWxpZ246IGxlZnQsXG4gICAgICAgICAgICAgICRjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB1bC5jb250YWN0IHtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAwLCAkcmlnaHQ6IDAsICRib3R0b206IDI1cHgsICRsZWZ0OiAwKTtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IHN0YXJ0LCAkZ2FwOiA4cHgpO1xuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB3aWR0aCgkd2lkdGg6IDIwcHgpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBoZWlnaHQoJGhlaWdodDogMjBweCk7XG4gICAgICAgICAgICAgIGZpbGw6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiA4cHgsICRyaWdodDogMCwgJGJvdHRvbTogOHB4LCAkbGVmdDogMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KFxuICAgICAgICAgICAgICAkZmFtaWx5OiBcIlNhdG9zaGkgTGlnaHRcIixcbiAgICAgICAgICAgICAgJHNpemU6IDE2cHgsXG4gICAgICAgICAgICAgICR3ZWlnaHQ6IDQwMCxcbiAgICAgICAgICAgICAgJGhlaWdodDogMTUwJSxcbiAgICAgICAgICAgICAgJGFsaWduOiBsZWZ0LFxuICAgICAgICAgICAgICAkY29sb3I6ICRjb2xvci13aGl0ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zaGFyZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoJHR5cGU6IGlubGluZSwgJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBzdGFydCwgJGdhcDogMTZweCk7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICAgICAkZmFtaWx5OiBcIlNhdG9zaGkgTGlnaHRcIixcbiAgICAgICAgICAgICRzaXplOiAxNnB4LFxuICAgICAgICAgICAgJHdlaWdodDogNDAwLFxuICAgICAgICAgICAgJGhlaWdodDogMTUwJSxcbiAgICAgICAgICAgICRhbGlnbjogbGVmdCxcbiAgICAgICAgICAgICRjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ib3gge1xuICAgICAgICAgIEBpbmNsdWRlIHdpZHRoKCR3aWR0aDogNDhweCk7XG4gICAgICAgICAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQ6IDQ4cHgpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjJhM2E7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxsOiAxMHB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyKTtcbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB3aWR0aCgkd2lkdGg6IDMycHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQ6IDMycHgpO1xuICAgICAgICAgICAgZmlsbDogJGNvbG9yLWdvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb3B5cmlnaHQge1xuICAgIEBpbmNsdWRlIGZsZXgoJGRpcmVjdGlvbjogY29sdW1uLCAkYWxpZ246IHN0YXJ0LCAkanVzdGlmeTogc3BhY2UtYmV0d2VlbiwgJGdhcDogMjRweCk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAzMnB4LCAkcmlnaHQ6IDAsICRib3R0b206IDMycHgsICRsZWZ0OiAwKTtcbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBMaWdodFwiLFxuICAgICAgICAkc2l6ZTogMTZweCxcbiAgICAgICAgJHdlaWdodDogNDAwLFxuICAgICAgICAkaGVpZ2h0OiAxNTAlLFxuICAgICAgICAkYWxpZ246IGxlZnQsXG4gICAgICAgICRjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgICApO1xuICAgICAgYSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICAgIH1cbiAgICAgICAgJi51cHNpdGVzIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoJHRpbWU6IDAuM3MpO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBlbmQgZm9vdGVyXG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEJ1dHRvbnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5idG4ge1xuXHRAaW5jbHVkZSBhbmltYXRlKCR0aW1lOiAwLjNzKTtcblx0QGluY2x1ZGUgaW5saW5lLWJsb2NrKCRhbGlnbjogbWlkZGxlKTtcbn1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgS2V5IGRpZmZlcmVudGlhdG9yc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4ua2V5LWRpZmZlcmVudGlhdG9ycyB7XG4gIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMTU2cHgsICRyaWdodDogMCwgJGJvdHRvbTogMCwgJGxlZnQ6IDApO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI2MmEzYTtcbiAgLnRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250KFxuICAgICAgJGZhbWlseTogXCJTYXRvc2hpIEJvbGRcIixcbiAgICAgICRzaXplOiA0MHB4LFxuICAgICAgJHdlaWdodDogNzAwLFxuICAgICAgJGhlaWdodDogMTE1JSxcbiAgICAgICRhbGlnbjogY2VudGVyLFxuICAgICAgJGNvbG9yOiAkY29sb3Itd2hpdGVcbiAgICApO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiA0MHB4LCAkbGVmdDogMCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtZm9udCgpO1xuICB9XG4gIC5ncmlkLWxpc3QtYm94IHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogMTAzcHgsICRsZWZ0OiAwKTtcbiAgICBAaW5jbHVkZSBjb2x1bW5zKCRxdWFudDogMWZyLCAkZ3V0dGVyOiAyNHB4LCAkYWxpZ246IHN0cmV0Y2gsICR0ZW1wbGF0ZTogXCJcIik7XG4gICAgLml0ZW0ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgzOCwgNDIsIDU4LCAwLjIpIDAlLCByZ2JhKDM4LCA0MiwgNTgsIDAuNCkgMTAwJSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjYyYTNhO1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAzMnB4LCAkcmlnaHQ6IDIwcHgsICRib3R0b206IDQ3cHgsICRsZWZ0OiAyMHB4KTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsbDogMTBweCk7XG4gICAgICAuaWNvbi1ib3gge1xuICAgICAgICBAaW5jbHVkZSB3aWR0aCgkd2lkdGg6IDMycHgpO1xuICAgICAgICBAaW5jbHVkZSBoZWlnaHQoJGhlaWdodDogMzJweCk7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAwLCAkcmlnaHQ6IGF1dG8sICRib3R0b206IDAsICRsZWZ0OiBhdXRvKTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBAaW5jbHVkZSBvYmplY3QtZml0KCRmaXQ6IGNvbnRhaW4sICRwb3NpdGlvbjogY2VudGVyIGNlbnRlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50aXRsZS1ib3gge1xuICAgICAgICBAaW5jbHVkZSBmb250KFxuICAgICAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBMaWdodFwiLFxuICAgICAgICAgICRzaXplOiAxNnB4LFxuICAgICAgICAgICR3ZWlnaHQ6IDMwMCxcbiAgICAgICAgICAkaGVpZ2h0OiAxNTAlLFxuICAgICAgICAgICRhbGlnbjogY2VudGVyLFxuICAgICAgICAgICRjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMTVweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAwLCAkbGVmdDogMCk7XG4gICAgICAgIGJyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIENsaWVudHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLmNsaWVudHMge1xuICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDEwNHB4LCAkcmlnaHQ6IDAsICRib3R0b206IDIxcHgsICRsZWZ0OiAwKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLmJveC10aXRsZSB7XG4gICAgQGluY2x1ZGUgZmxleCgkZGlyZWN0aW9uOiBjb2x1bW4sICRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogc3BhY2UtYmV0d2VlbiwgJGdhcDogMjRweCk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAwLCAkcmlnaHQ6IDdweCwgJGJvdHRvbTogNTZweCwgJGxlZnQ6IDApO1xuICAgIC50aXRsZSB7XG4gICAgICBAaW5jbHVkZSBmb250KFxuICAgICAgICAkZmFtaWx5OiBcIlNhdG9zaGkgQm9sZFwiLFxuICAgICAgICAkc2l6ZTogMzJweCxcbiAgICAgICAgJHdlaWdodDogNzAwLFxuICAgICAgICAkaGVpZ2h0OiAxMTUlLFxuICAgICAgICAkYWxpZ246IGNlbnRlcixcbiAgICAgICAgJGNvbG9yOiAkY29sb3Itd2hpdGVcbiAgICAgICk7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogMCwgJGxlZnQ6IDApO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZm9udCgpO1xuICAgIH1cbiAgICAuYm94LWdvb2dsZSB7XG4gICAgICBAaW5jbHVkZSB3aWR0aCgkd2lkdGg6IDM3NnB4KTtcbiAgICAgIEBpbmNsdWRlIGhlaWdodCgkaGVpZ2h0OiA2MnB4KTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIsICRnYXA6IDEwcHgpO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxsOiAxMHB4KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzgsIDQyLCA1OCwgMC4zKTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzgsIDQyLCA1OCwgMC4yKTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0NHB4KTtcbiAgICAgIC5sb2dvIHtcbiAgICAgICAgQGluY2x1ZGUgd2lkdGgoJHdpZHRoOiA3NHB4KTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgLnRleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250KFxuICAgICAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBMaWdodFwiLFxuICAgICAgICAgICRzaXplOiAxNnB4LFxuICAgICAgICAgICR3ZWlnaHQ6IDQwMCxcbiAgICAgICAgICAkaGVpZ2h0OiAxNTAlLFxuICAgICAgICAgICRhbGlnbjogY2VudGVyLFxuICAgICAgICAgICRjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAuZGl2IHtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQ6IDIwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAwLCAkcmlnaHQ6IDZweCwgJGJvdHRvbTogMCwgJGxlZnQ6IDZweCk7XG4gICAgICB9XG4gICAgICAucmF0ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICAgJGZhbWlseTogXCJTYXRvc2hpIExpZ2h0XCIsXG4gICAgICAgICAgJHNpemU6IDIwcHgsXG4gICAgICAgICAgJHdlaWdodDogNDAwLFxuICAgICAgICAgICRoZWlnaHQ6IDE1MCUsXG4gICAgICAgICAgJGFsaWduOiBjZW50ZXIsXG4gICAgICAgICAgJGNvbG9yOiAkY29sb3Itd2hpdGVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIC5zdGFycyB7XG4gICAgICAgIEBpbmNsdWRlIHdpZHRoKCR3aWR0aDogMTAwcHgpO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncmlkLWxpc3QtYm94IHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogMTAzcHgsICRsZWZ0OiAwKTtcbiAgICBAaW5jbHVkZSBjb2x1bW5zKCRxdWFudDogMWZyLCAkZ3V0dGVyOiAzMnB4LCAkYWxpZ246IHN0cmV0Y2gsICR0ZW1wbGF0ZTogXCJcIik7XG4gICAgLml0ZW0ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgzOCwgNDIsIDU4LCAwLjIpIDAlLCByZ2JhKDM4LCA0MiwgNTgsIDAuNCkgMTAwJSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjYyYTNhO1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAzMnB4LCAkcmlnaHQ6IDIwcHgsICRib3R0b206IDMxcHgsICRsZWZ0OiAyMHB4KTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsbDogMTBweCk7XG4gICAgICAuaWNvbi1ib3gge1xuICAgICAgICBAaW5jbHVkZSB3aWR0aCgkd2lkdGg6IDEwMHB4KTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIEBpbmNsdWRlIG9iamVjdC1maXQoJGZpdDogY29udGFpbiwgJHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmRlc2NyaXB0aW9uLWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICAgJGZhbWlseTogXCJTYXRvc2hpIExpZ2h0XCIsXG4gICAgICAgICAgJHNpemU6IDIwcHgsXG4gICAgICAgICAgJHdlaWdodDogMzAwLFxuICAgICAgICAgICRoZWlnaHQ6IDE1MCUsXG4gICAgICAgICAgJGFsaWduOiBsZWZ0LFxuICAgICAgICAgICRjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMzJweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAzMXB4LCAkbGVmdDogMCk7XG4gICAgICB9XG4gICAgICAubmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICAgJGZhbWlseTogXCJTYXRvc2hpIExpZ2h0XCIsXG4gICAgICAgICAgJHNpemU6IDE2cHgsXG4gICAgICAgICAgJHdlaWdodDogMzAwLFxuICAgICAgICAgICRoZWlnaHQ6IDE1MCUsXG4gICAgICAgICAgJGFsaWduOiBsZWZ0LFxuICAgICAgICAgICRjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncmlkLWxpc3QtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogMCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAxMDNweCwgJGxlZnQ6IDApO1xuICAgIG1hcmdpbjogMCAtMTZweDtcbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgIH1cbiAgICAuaXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGhlaWdodCgkaGVpZ2h0OiA2NTBweCk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGw6IDEwcHgpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHZpZGVvIHtcbiAgICAgICAgQGluY2x1ZGUgb2JqZWN0LWZpdCgkZml0OiBjb3ZlciwgJHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAxNnB4LCAkcmlnaHQ6IDAsICRib3R0b206IDAsICRsZWZ0OiAwKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBjZW50ZXIsICRnYXA6IDEwcHgpO1xuICAgICAgbGkge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1nb2xkO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1nb2xkO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQWJvdXRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLmhlcm8ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI2MmEzYTtcbiAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAxNTBweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiA0MXB4LCAkbGVmdDogMCk7XG4gIC5zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udChcbiAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBMaWdodFwiLFxuICAgICAgJHNpemU6IDE0cHgsXG4gICAgICAkd2VpZ2h0OiA0MDAsXG4gICAgICAkaGVpZ2h0OiAxMTUlLFxuICAgICAgJGFsaWduOiBjZW50ZXIsXG4gICAgICAkY29sb3I6ICRjb2xvci13aGl0ZVxuICAgICk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZXR0ZXItc3BhY2luZzogMS40cHg7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAwLCAkcmlnaHQ6IDAsICRib3R0b206IDMycHgsICRsZWZ0OiAwKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAkZmFtaWx5OiBcIlNhdG9zaGkgQm9sZFwiLFxuICAgICAgJHNpemU6IDMycHgsXG4gICAgICAkd2VpZ2h0OiA0MDAsXG4gICAgICAkaGVpZ2h0OiAxMTUlLFxuICAgICAgJGFsaWduOiBjZW50ZXIsXG4gICAgICAkY29sb3I6ICRjb2xvci13aGl0ZVxuICAgICk7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAwLCAkcmlnaHQ6IDAsICRib3R0b206IDM3cHgsICRsZWZ0OiAwKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1mb250KCk7XG4gICAgYnIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBAaW5jbHVkZSBmb250KFxuICAgICAgJGZhbWlseTogXCJTYXRvc2hpIExpZ2h0XCIsXG4gICAgICAkc2l6ZTogMjBweCxcbiAgICAgICR3ZWlnaHQ6IDQwMCxcbiAgICAgICRoZWlnaHQ6IDE1MCUsXG4gICAgICAkYWxpZ246IGNlbnRlcixcbiAgICAgICRjb2xvcjogJGNvbG9yLXdoaXRlXG4gICAgKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAwLCAkcmlnaHQ6IDAsICRib3R0b206IDQ4cHgsICRsZWZ0OiAwKTtcbiAgfVxuICAuZ3JpZC1oZXJvIHtcbiAgICBAaW5jbHVkZSBjb2x1bW5zKCRxdWFudDogMWZyLCAkZ3V0dGVyOiAzMnB4LCAkYWxpZ246IHN0YXJ0LCAkdGVtcGxhdGU6IFwiXCIpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogNTlweCwgJHJpZ2h0OiAwLCAkYm90dG9tOiAwLCAkbGVmdDogMCk7XG4gICAgLmJveC10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogNTBweCwgJHJpZ2h0OiA1MHB4LCAkYm90dG9tOiA1MHB4LCAkbGVmdDogNTBweCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM4LCA0MiwgNTgsIDAuMik7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGw6IDIwcHgpO1xuICAgICAgLnRpdGxlLWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoXG4gICAgICAgICAgJGZhbWlseTogXCJTYXRvc2hpIExpZ2h0XCIsXG4gICAgICAgICAgJHNpemU6IDI0cHgsXG4gICAgICAgICAgJHdlaWdodDogMzAwLFxuICAgICAgICAgICRoZWlnaHQ6IDE1MCUsXG4gICAgICAgICAgJGFsaWduOiBsZWZ0LFxuICAgICAgICAgICRjb2xvcjogI2RlZGVkZVxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDAsICRyaWdodDogMCwgJGJvdHRvbTogOHB4LCAkbGVmdDogMCk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250KFxuICAgICAgICAgICRmYW1pbHk6IFwiU2F0b3NoaSBMaWdodFwiLFxuICAgICAgICAgICRzaXplOiAxNnB4LFxuICAgICAgICAgICR3ZWlnaHQ6IDQwMCxcbiAgICAgICAgICAkaGVpZ2h0OiAxNTAlLFxuICAgICAgICAgICRhbGlnbjogbGVmdCxcbiAgICAgICAgICAkY29sb3I6ICNkZWRlZGVcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAxMnB4LCAkcmlnaHQ6IDAsICRib3R0b206IDEycHgsICRsZWZ0OiAwKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuaW1hZ2Uge1xuICAgICAgaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgb2JqZWN0LWZpdCgkZml0OiBjb3ZlciwgJHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmtleS1kaWZmZXJlbnRpYXRvcnMge1xuICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDEwNHB4LCAkcmlnaHQ6IDAsICRib3R0b206IDAsICRsZWZ0OiAwKTtcbn1cblxuLmNsaWVudHMge1xuICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6IDEwNHB4LCAkcmlnaHQ6IDAsICRib3R0b206IDFweCwgJGxlZnQ6IDApO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI2MmEzYTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNBQTs7d0NBRXdDO0FDRnhDOzt3Q0FFd0M7QUNVeEMsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsT0FBTztDQUNoQjs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLEtBQUssRUFBRSxJQUFJO0NBQ1o7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDVCxNQUFNLEVBZm9CLEdBQUcsQ0FlRyxLQUFLLENBdEJYLElBQUk7RUF1QjlCLGFBQWEsRUFmYSxHQUFHO0VBZ0I3QixVQUFVLEVBckJnQixPQUFPO0VBc0JqQyxRQUFRLEVBQUUsUUFBUTtFQUNsQixRQUFRLEVBQUUsTUFBTTtDQTRDakI7O0FBakRELEFB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 */

}