﻿
html { font-family: 'Rubik', sans-serif; font-size: 16px; direction: rtl; color: #343642; background-color: #f3f3f3; }
body { }
    body.overflow { overflow-y: hidden; }
.main-wrapper { max-width: 100%; width: 100%; margin: 0 auto; overflow: hidden; }
.auto_margin { max-width: 1200px; width: 100%; margin: 0 auto; }
.auto_margin2 { max-width: 1180px; width: 100%; margin: 0 auto; }
.auto_margin3 { max-width: 1500px; width: 100%; margin: 0 auto; }
.auto_margin4 { max-width: 1350px; width: 100%; margin: 0 auto; }
/*.clearfix::after, .clearfix::before { content: ""; width: 100%; display: block; clear: both; }*/
.clearfix:before,
.clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; /* For IE 6/7 (trigger hasLayout) */ }
.transition { transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; }
.qualish_ils { display: inline-block; font-size: 0.8em; font-style: normal; }
.top_strip_conti { width: 100%; background-color: #f00; color: #fff; text-align: center; padding: 10px; box-sizing: border-box; font-size: 1.2em; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.36); margin-bottom: 5px; line-height: 120%; }
    .top_strip_conti > * { display: inline-block; }
    .top_strip_conti strong { color: #fcf000; }
    .top_strip_conti span { }
    .top_strip_conti i { font-style: normal; position: relative; display: inline-block; width: 40px; text-align: center; }
        .top_strip_conti i::after { font-size: 0.7em; position: absolute; top: -15px; right: 0; width: 100%; }
        .top_strip_conti i.days::after { content: "ימים"; }
        .top_strip_conti i.hours::after { content: "שעות"; }
        .top_strip_conti i.minutes::after { content: "דקות"; }
        .top_strip_conti i.seconds::after { content: "שניות"; }
#counter { display: inline-block; vertical-align: middle; }
    #counter i { float: left; }
.message_strip { text-align: center; background-color: #0b5890; color: #fff; padding: 5px 10px; box-sizing: border-box; }
    .message_strip > * { font-size: 1em; }
        .message_strip > * > span { }
            .message_strip > * > span > span { }
/*****General Classes******/

.loader { display: none; border: 16px solid #f3f3f3; /* Light grey */ border-top: 16px solid #3498db; /* Blue */ border-radius: 50%; animation: spin 2s linear infinite; position: absolute; width: 15px; height: 15px; right: 100px; top: 160px; }

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.font_weight_600 { font-weight: 600; }
.validation-summary-errors { color: red; }
.full_width { width: 100% !important; }
.line_height_initial { line-height: initial; }
.show_search_form, .show_logos { display: none; }
.field-validation-error { position: absolute; top: 5px; left: 10px; color: red; font-size: 0.8em; z-index: 1; pointer-events: none; }
.scroll_up { font-size: 2em; background-color: rgba(11, 88, 144, 0.8); color: #82c4f9; width: 50px; height: 50px; line-height: 50px; position: fixed; right: 10px; bottom: 10px; text-align: center; border-radius: 50%; z-index: 100; display: none; }
.text_center { text-align: center; }
.whatsapp { display: none; }
.contact_phone { display: none; }
.category_filter { /*-webkit-filter: invert(100%); /* Safari 6.0 - 9.0 */ /*filter: invert(100%);*/ /*background-color: #fff; border: 2px solid #0b5890; border-radius: 15px; box-sizing: border-box;*/ }
.select_conti { position: relative; }
    .select_conti i { position: absolute; top: 12px; left: 5px; /*background-color: #fff;*/ pointer-events: none; }
.angle_price { position: initial !important; background-color: transparent !important; top: 12px; left: 7px; font-weight: bold; }
.no_margin_left { margin-left: 0 !important; }
.top_article { text-align: center; }
.gray_strok { width: 100%; padding: 20px 0; box-sizing: border-box; background-color: #F8F8F8; overflow: hidden; margin-bottom: 20px; }
.gray_strok_padding1 { padding: 10px 0; box-sizing: border-box; }
.gray_strok_padding2 { padding: 20px 0; box-sizing: border-box; }
.gray_strok_padding3 { padding: 30px 0; box-sizing: border-box; }
.gray_strok_padding4 { padding: 40px 0; box-sizing: border-box; }
.margin_bottom_10 { margin-bottom: 10px; }
.margin_bottom_20 { margin-bottom: 20px; }
.margin_top_10 { margin-top: 10px; }
.margin_top_20 { margin-top: 20px; }
.black_strok { width: 100%; padding: 20px 0; box-sizing: border-box; background-color: #ececec; overflow: hidden; }
.position_relative { position: relative !important; }
.position_absolute { position: absolute; }
.overflow { width: 100%; overflow: hidden; }
.orange_color { color: #00bbf6 !important; }
.azure_bg { background-color: #57afef !important; }
.green_bg { background-color: #00bbf6 !important; }
.padding_top { padding-top: 20px; box-sizing: border-box; }

.display_none { display: none !important; }
.display_block { display: block !important; }

.display_in_mobile, .display_mobile { display: none !important; }
.width_38 { width: 38% !important; }
.show_text { text-align: center; display: none; }
    .show_text i { font-weight: bold; }
.image_conti img { vertical-align: bottom; width: 100%; }

.image_conti.image_square, .image_conti.image_responsive { position: relative; background-size: cover; background-position: center; }
    .image_conti.image_square:after, .image_conti.image_responsive:after { content: ""; display: block; padding-bottom: 100%; }
    .image_conti.image_square > img, .image_conti.image_responsive > img { opacity: 0; position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; }

    .image_conti.image_responsive:after { padding-bottom: 50%; }

.whatsapp_aside { position: fixed; left: 5px; bottom: 60px; text-align: center; z-index: 100000; }
    .whatsapp_aside span { display: block; color: #4ecb5c; font-weight: 500; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }

.right { float: right; width: 25%; }
.left { float: left; width: 75%; box-sizing: border-box; }
.left2 { float: left; width: 20%; border-left: 1px solid #d0d0d0; border-right: 1px solid #d0d0d0; box-sizing: border-box; }
.right2 { float: right; width: 17%; box-sizing: border-box; border-left: 1px solid #d0d0d0; border-right: 1px solid #d0d0d0; }
.center { float: right; width: 63%; box-sizing: border-box; padding: 0 20px; box-sizing: border-box; }
    .center.full_width { width: 80%; }
.bred_conti { width: 100%; padding: 5px 0; box-sizing: border-box; overflow: hidden; font-size: 0.95em; line-height: 20px; }
.left3 { float: left; width: 80%; box-sizing: border-box; padding: 0 20px 0 0; box-sizing: border-box; }

.right4 { float: right; width: 75%; box-sizing: border-box; padding-left: 10px; }
.left4 { float: left; width: 25%; box-sizing: border-box; }
.right5 { float: right; width: 50%; box-sizing: border-box; padding-left: 10px; }
.left5 { float: left; width: 50%; box-sizing: border-box; }

.qColumns { display: table; }
    .qColumns > .qColumn { display: table-cell; vertical-align: top; }

.iframe_conti { position: relative; padding-bottom: 52%; padding-top: 35px; height: 0; overflow: hidden; }
    .iframe_conti > iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.section_title { border: 1px solid #e6e7e7; color: #1c598f; font-size: 16px; padding: 13px; padding-right: 18px; font-weight: 500; margin-bottom: 15px; position: relative; }
    .section_title:after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 5px; background-color: #1c598f; transition: right 0.15s ease-out; }

.section_title_alt { font-size: 16px; font-weight: 500; padding-bottom: 10px; margin-bottom: 10px; position: relative; border-bottom: 1px solid #cfcfcf; }
/*Burger*/
.burger { width: 40px; background-color: transparent; cursor: pointer; display: none; top: 0; bottom: 0; right: 0; position: absolute; text-align: right; padding: 5px; margin: auto 0; height: 34px; box-sizing: border-box; }
    .burger ul li { display: block; width: 100%; height: 4px; background-color: #e0e0e0; border-radius: 5px; background-color: #0b5890; }
        .burger ul li + li { margin-top: 6px; }
    .burger:hover li, .burger:focus li { opacity: 0.8; }
/*End Burger*/

/* qSelect */
.qSelect { position: relative; color: #343642; background-color: #fff; border-radius: 5px; border: 1px solid #cfcfcf; }
    .qSelect .qSelect_overlay { display: table; width: 100%; table-layout: fixed; position: relative; z-index: 1; pointer-events: none; padding: 8px 10px; box-sizing: border-box; }
        .qSelect .qSelect_overlay:focus { outline: -webkit-focus-ring-color auto 5px; }
        .qSelect .qSelect_overlay span, .qSelect .qSelect_overlay i { display: table-cell; vertical-align: middle; line-height: 15px; }
        .qSelect .qSelect_overlay span { width: 100%; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .qSelect .qSelect_overlay.qSelect_placeholder span { color: #a2a2a2; }
        .qSelect .qSelect_overlay i { font-size: 20px; width: 11px; padding-top: 2px; line-height: 10px; }
    .qSelect.qSelect_disabled, .qSelect.qSelect_disabled .qSelect_overlay span { background-color: #f0f0f0; color: #bbb; }
    .qSelect select { position: absolute; top: 0; bottom: 0; left: 0; right: 0; opacity: 0; }
/* End qSelect */

/* qTooltip */
.qTooltip_container { position: relative; }
    .qTooltip_container .qTooltip { color: #fefefe; background-color: rgba(0, 0, 0, 0.8); padding: 12px 10px; border-radius: 5px; visibility: hidden; opacity: 0; position: absolute; z-index: 1; top: 50%; right: 100%; margin-right: 16px; transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; }
        .qTooltip_container .qTooltip:after { content: ""; position: absolute; }
        .qTooltip_container .qTooltip.qTooltip_right:after { width: 0; height: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 6px solid rgba(0, 0, 0, 0.8); left: 100%; top: 50%; transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); }
    .qTooltip_container .qTooltip_trigger:hover + .qTooltip, .qTooltip_container .qTooltip_trigger:focus + .qTooltip { visibility: visible; opacity: 1; }

/*.qTooltip_trigger.qTooltip_regular { font-size: 12px; color: #fff; background-color: #0b5890; border-radius: 100%; width: 12px; padding: 2px; display: block; text-align: center; opacity: 0.75; }
        .qTooltip_trigger.qTooltip_regular:hover, .qTooltip_trigger.qTooltip_regular:focus { opacity: 1; }*/
/* End qTooltip */

/*pagination*/
.pagination { overflow: hidden; width: 100%; margin-bottom: 20px; }
    .pagination ul { overflow: hidden; }
        .pagination ul li { float: right; margin-left: 5px; }
            .pagination ul li a { display: block; padding: 0; box-sizing: border-box; text-align: center; width: 35px; height: 35px; line-height: 35px; color: #000; background-color: #e6e7e7; font-weight: 500; }
                .pagination ul li a:hover, .pagination ul li a:focus, .pagination ul .active a { color: #fff; background-color: #0b5890; }
/*End pagination*/

/*Links And Buttons*/
article a:hover, article a:focus, .bred_conti a:hover, .bred_conti a:focus, .credit .qualish_credit:hover, .credit .qualish_credit:focus, .footer_links_conti a:hover, .footer_links_conti a:focus, .faq_conti ul li a:hover, .faq_conti ul li a:focus, .social li a:hover, .social li a:focus { color: #00bbf6; }
.bred_conti a, article a { color: #0b5890; }
.bred_conti a { display: inline-block; }
.button { background-color: #0b5890; color: #fff; text-align: center; display: inline-block; padding: 9px 17px; box-sizing: border-box; font-weight: 500; border-radius: 5px; border: solid 2px #039ccc; cursor: pointer; font-family: 'Rubik', sans-serif; }
    .button:hover, .button:focus { background-color: #00bbf6 !important; color: #fff !important; }
.button1 { background-color: #FCC947 !important; border: none !important; }
    .button1:hover, .button1:focus { background-color: #EEBA35 !important; color: #535353 !important; }
.button2 { background-color: #64A02A !important; border: none !important; }
    .button2:hover, .button2:focus { background-color: #9AD65F !important; color: #fff !important; }
/*End Links And Buttons*/

/*Titles*/
h1 { font-size: 2em; margin-bottom: 0; font-weight: 500; }
h2 { font-size: 1.15em; margin-bottom: 5px; font-weight: 400; }
h3 { font-size: 1.05em; margin-bottom: 5px; font-weight: 400; }
/*End Titles*/

/*General Text*/
p { margin-bottom: 5px; line-height: 120%; font-size: 1.05em; }
/*End General Text*/

/*Articles*/
article h2 { margin-bottom: 10px; }
article ul, article ol { padding-right: 20px; box-sizing: border-box; list-style-type: square; margin-bottom: 15px; }
article ol { list-style-type: decimal; }
    article ul li, article ol li { margin-bottom: 10px !important; font-size: 1.05em; line-height: 1.2em; }
article img { width: 100%; height: auto; display: block; margin-bottom: 15px; }
.product_long_desc { margin-bottom: 20px; }
    .product_long_desc h2 { font-weight: 500; }
/*End Articles*/

/*Forms And Inputs*/
input, textarea, select { width: 100%; border: none; padding: 12px 13px; box-sizing: border-box; font-size: 17px; font-family: 'Rubik', sans-serif; color: #1b1b1b; }
select { padding: 4px 8px; }
textarea { height: 100px; }
input[type="submit"] { cursor: pointer; }
input[type="radio"], input[type="checkbox"] { width: 15px; height: 15px; }

input::-webkit-input-placeholder { color: #a2a2a2; }
textarea::-webkit-input-placeholder { color: #a2a2a2; }
input:-moz-placeholder { color: #a2a2a2; opacity: 1; }
textarea:-moz-placeholder { color: #a2a2a2; opacity: 1; }
textarea::-moz-placeholder { color: #a2a2a2; opacity: 1; }
input:-ms-input-placeholder { color: #a2a2a2; }
textarea:-ms-input-placeholder { color: #a2a2a2; }

.general_form { }
    .general_form form { width: 100%; max-width: 1000px; margin: 0 auto; display: table; }
    .general_form h2 { display: table-cell; white-space: nowrap; vertical-align: middle; color: #343642; /*float: right; line-height: 35px;*/ margin-bottom: 0; font-weight: 500; font-size: 1em; }
    .general_form p { display: none; }
    .general_form ul { /*float: left; width: 82%;*/ display: table-cell; vertical-align: middle; }
        .general_form ul li { /*float: right; width: 16%; margin-left: 1%;*/ display: table-cell; vertical-align: middle; white-space: nowrap; padding-right: 10px; }
            .general_form ul li:nth-child(3) { /*width: 15.5%;*/ }
            .general_form ul li.last_child { margin-left: 0; min-width: 100px; }
            .general_form ul li select, .service_form .long_li_conti li input, .service_form .short_li_conti li input, .service_form .long_li_conti li textarea { border-radius: 5px; border: 1px solid #CFCFCF; color: #343642; }
            .general_form ul li select { opacity: 0; }

            .general_form ul li.position_relative i { position: absolute; left: 8px; top: 7px; /*background-color: rgba(255,255,255,0.5);*/ font-size: 20px; pointer-events: none; /*color: #737474;*/ }
            .general_form ul li.last_child i { font-weight: bold; }
            .general_form ul li .button { width: 100%; padding: 5px 13px; padding-left: 33px; box-sizing: border-box; font-weight: 400; font-size: 15px; border-radius: 30px 8px 8px 30px; border: none; position: relative; background-color: #0b5890; min-height: 33px; }
                .general_form ul li .button:hover, .general_form ul li .button:focus { /*background-color: #00bbf6 !important;*/ }
                .general_form ul li .button img { position: absolute; left: 5px; top: 6px; }
                    .general_form ul li .button img:last-of-type { display: none; }
            .general_form ul li a, .general_form ul li [data-action="clear"] { color: #a2a2a2; display: block; font-size: 1em; }
                .general_form ul li a.active, .general_form ul li [data-action="clear"].active { color: #00bbf6; cursor: pointer; }
    .general_form.has_category ul li:nth-child(4) { display: none; }

.search_conti { width: 100%; position: relative; }
    .search_conti > .auto_margin { position: relative; }
    .search_conti .general_form { background-color: #ECECEC; width: 229px; padding: 12px 20px 0px 20px; box-sizing: border-box; border-radius: 5px; position: absolute; right: 20px; top: 20px; z-index: 10; text-align: center; }
        .search_conti .general_form h2 { float: none; padding-bottom: 5px; border-bottom: 1px solid #00BBF6; margin-bottom: 10px; text-align: center; line-height: 100%; display: inline-block; font-size: 1em; }
        .search_conti .general_form p { display: block; }
        .search_conti .general_form form { width: 100%; }
            .search_conti .general_form form > ul { width: 100%; float: none; padding: 0; }
                .search_conti .general_form form > ul > li { float: none; display: block; width: 100%; margin-bottom: 10px; text-align: right; }
                    .search_conti .general_form form > ul > li.last_child { float: left; width: 49%; }
                    .search_conti .general_form form > ul > li.clear_form { float: right; width: 49%; }
                    .search_conti .general_form form > ul > li .button { line-height: 32px; padding: 0; min-height: 0; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }
                        .search_conti .general_form form > ul > li .button span { padding-right: 10px; }
                    .search_conti .general_form form > ul > li .like_select span { font-size: 15px; }
.clear_form { /*padding-top: 2px;*/ width: auto; box-sizing: border-box; }
    .clear_form a:not(.active) { pointer-events: none; }
.color_gray, .color_gray > span { background-color: #f0f0f0 !important; color: #bbb !important; }

.newslter_form, .general_small_form { padding: 40px 20px; box-sizing: border-box; }
.general_small_form_no_padding_top { padding-top: 0; }
.newslter_form h2, .general_small_form h2, .like_form_conti h2 { font-weight: 700; text-align: center; margin-bottom: 15px; }
.like_form_conti { padding: 0 20px 0 0; box-sizing: border-box; }
    .like_form_conti .big_tel { font-weight: 700; font-size: 1.5em; margin-bottom: 20px; }
    .like_form_conti h2 { text-align: right; }
    .like_form_conti p { color: #858686; }
.general_small_form h2 { text-align: right; }
.newslter_form ul li, .general_small_form ul li { margin-bottom: 10px; position: relative; }
    .newslter_form ul li input, .general_small_form ul li input, .general_small_form ul li textarea, .general_reg_form li input:not([type="radio"]) { border: 1px solid #D4D4D4; border-radius: 5px; box-sizing: border-box; }
.general_small_form ul .input_heiger input { padding-bottom: 40px; }
.newslter_form ul li .button, .general_small_form ul li .button { width: 100%; font-size: 1.2em; font-weight: 500; }
    .general_small_form ul li .button i { font-weight: bold; }

.show_stiky_form { animation-name: artbitChat; animation-duration: 2s; animation-iteration-count: infinite; -webkit-animation-name: artbitChat; /* Safari 4.0 - 8.0 */ -webkit-animation-duration: 2s; /* Safari 4.0 - 8.0 */ -webkit-animation-iteration-count: infinite; /* Safari 4.0 - 8.0 */ }
    .show_stiky_form > span { display: block; text-align: center; color: #045791; font-weight: 700; }
    .show_stiky_form:hover, .show_stiky_form:focus { filter: brightness(110%); -webkit-filter: brightness(110%); -moz-filter: brightness(110%); -o-filter: brightness(110%); -ms-filter: brightness(110%); }

.stiky_chat { position: fixed; left: 20px; bottom: 50px; z-index: 10; transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; display: none; }
    .stiky_chat.bottom { bottom: 550px; }
    .stiky_chat form { background-color: #f5cc3c; border-radius: 20px; padding: 20px; box-sizing: border-box; width: 300px; position: absolute; top: -173px; left: 0; display: none; height: 165px; }
        .stiky_chat form strong { font-weight: 500; display: block; margin-bottom: 5px; }
        .stiky_chat form > p { margin-bottom: 10px; }
        .stiky_chat form .inputs_conti { margin-bottom: 5px; }
            .stiky_chat form .inputs_conti li { position: relative; }
                .stiky_chat form .inputs_conti li:not(:nth-child(1)) { display: none; }
                .stiky_chat form .inputs_conti li select { background-color: #fff; }
                .stiky_chat form .inputs_conti li i { position: absolute; pointer-events: none; top: 10px; left: 5px; background-color: #fff; font-size: 25px; }
                .stiky_chat form .inputs_conti li input { background-color: #fff; }
        .stiky_chat form input[type=submit] { position: absolute; left: 0; width: 73px; height: 73px; line-height: 73px; color: #fff; background-color: #00bbf6; border-radius: 50%; padding: 0; display: none; bottom: -83px; outline: 0; }
            .stiky_chat form input[type=submit]:hover, .stiky_chat form input[type=submit]:focus { background-color: #f7cb3d !important; color: #333 !important; }

        .stiky_chat form .steps_conti { overflow: hidden; width: 100%; }
            .stiky_chat form .steps_conti li { width: 32.5%; margin-left: 1%; float: right; }
                .stiky_chat form .steps_conti li:last-child { margin-left: 0; }
                .stiky_chat form .steps_conti li a { display: block; height: 5px; width: 100%; background-color: #00bbf6; }
                .stiky_chat form .steps_conti li:not(:nth-child(1)) a { background-color: #e1b320; }
                .stiky_chat form .steps_conti li a.active { background-color: #00bbf6 !important; }
        .stiky_chat form .fa-sort-desc { position: absolute; left: 30px; bottom: -12px; font-size: 30px; color: #f7cb3d; }

@-webkit-keyframes artbitChat {
    0% { filter: brightness(120%); -webkit-filter: brightness(120%); -moz-filter: brightness(120%); -o-filter: brightness(120%); -ms-filter: brightness(120%); }
    25% { filter: brightness(100%); -webkit-filter: brightness(100%); -moz-filter: brightness(100%); -o-filter: brightness(100%); -ms-filter: brightness(100%); }
    50% { filter: brightness(100%); -webkit-filter: brightness(100%); -moz-filter: brightness(100%); -o-filter: brightness(100%); -ms-filter: brightness(100%); }
    100% { filter: brightness(120%); -webkit-filter: brightness(120%); -moz-filter: brightness(120%); -o-filter: brightness(120%); -ms-filter: brightness(120%); }
}

/* Standard syntax */
@keyframes artbitChat {
    0% { filter: brightness(120%); -webkit-filter: brightness(120%); -moz-filter: brightness(120%); -o-filter: brightness(120%); -ms-filter: brightness(120%); }
    25% { filter: brightness(100%); -webkit-filter: brightness(100%); -moz-filter: brightness(100%); -o-filter: brightness(100%); -ms-filter: brightness(100%); }
    50% { filter: brightness(100%); -webkit-filter: brightness(100%); -moz-filter: brightness(100%); -o-filter: brightness(100%); -ms-filter: brightness(100%); }
    100% { filter: brightness(120%); -webkit-filter: brightness(120%); -moz-filter: brightness(120%); -o-filter: brightness(120%); -ms-filter: brightness(120%); }
}

.checkbox_conti { position: relative; text-align: center; width: 15px; height: 15px; display: inline-block; }
    .checkbox_conti input { position: absolute; cursor: pointer; opacity: 0; right: 0; z-index: 1; margin: 0 !important; }
    .checkbox_conti span { width: 15px; height: 15px; border: 1px solid #fff; display: block; margin: 0 auto; position: relative; box-sizing: border-box; }
    .checkbox_conti input:checked ~ span::after { content: "\f00c"; font-family: FontAwesome; position: relative; right: -6px; top: -6px; font-size: 1.2em; color: #000; }
/*End Forms And Inputs*/

/*LoadingBar */
.loadingBar { opacity: 0; position: relative; height: 2px; width: 100%; overflow: hidden; -webkit-transform: translateZ(0); transform: translateZ(0); -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; }
    .loadingBar.active { opacity: 1; }
        .loadingBar.active > div, .loadingBar.active > div > span { -webkit-animation-play-state: running; animation-play-state: running; }
    .loadingBar > div { height: 100%; position: absolute; width: 100%; -webkit-animation-play-state: paused; animation-play-state: paused; }
        .loadingBar > div > span { background-color: #00bbf6; display: inline-block; height: 100%; position: absolute; width: 100%; -webkit-animation-play-state: paused; animation-play-state: paused; }
        .loadingBar > div:first-of-type { -webkit-animation: primary-indeterminate-translate 2s infinite linear; animation: primary-indeterminate-translate 2s infinite linear; }
            .loadingBar > div:first-of-type > span { -webkit-animation: primary-indeterminate-scale 2s infinite linear; animation: primary-indeterminate-scale 2s infinite linear; }
        .loadingBar > div:last-of-type { -webkit-animation: auxiliary-indeterminate-translate 2s infinite linear; animation: auxiliary-indeterminate-translate 2s infinite linear; }
            .loadingBar > div:last-of-type > span { -webkit-animation: auxiliary-indeterminate-scale 2s infinite linear; animation: auxiliary-indeterminate-scale 2s infinite linear; }

@keyframes primary-indeterminate-translate {
    0% { -webkit-transform: translateX(-145.166611%); transform: translateX(-145.166611%); }
    20% { -webkit-animation-timing-function: cubic-bezier(.5, 0, .701732, .495819); animation-timing-function: cubic-bezier(.5, 0, .701732, .495819); -webkit-transform: translateX(-145.166611%); transform: translateX(-145.166611%); }
    59.15% { -webkit-animation-timing-function: cubic-bezier(.302435, .381352, .55, .956352); animation-timing-function: cubic-bezier(.302435, .381352, .55, .956352); -webkit-transform: translateX(-61.495191%); transform: translateX(-61.495191%); }
    to { -webkit-transform: translateX(55.444446%); transform: translateX(55.444446%); }
}

@keyframes primary-indeterminate-scale {
    0% { -webkit-transform: scaleX(.08); transform: scaleX(.08); }
    36.65% { -webkit-animation-timing-function: cubic-bezier(.334731, .124820, .785844, 1); animation-timing-function: cubic-bezier(.334731, .124820, .785844, 1); -webkit-transform: scaleX(.08); transform: scaleX(.08); }
    69.15% { -webkit-animation-timing-function: cubic-bezier(.06, .11, .6, 1); animation-timing-function: cubic-bezier(.06, .11, .6, 1); -webkit-transform: scaleX(.661479); transform: scaleX(.661479); }
    to { -webkit-transform: scaleX(.08); transform: scaleX(.08); }
}

@keyframes auxiliary-indeterminate-translate {
    0% { -webkit-animation-timing-function: cubic-bezier(.15, 0, .515058, .409685); animation-timing-function: cubic-bezier(.15, 0, .515058, .409685); -webkit-transform: translateX(-54.888891%); transform: translateX(-54.888891%); }
    25% { -webkit-animation-timing-function: cubic-bezier(.310330, .284058, .8, .733712); animation-timing-function: cubic-bezier(.310330, .284058, .8, .733712); -webkit-transform: translateX(-17.236978%); transform: translateX(-17.236978%); }
    48.35% { -webkit-animation-timing-function: cubic-bezier(.4, .627035, .6, .902026); animation-timing-function: cubic-bezier(.4, .627035, .6, .902026); -webkit-transform: translateX(29.497274%); transform: translateX(29.497274%); }
    to { -webkit-transform: translateX(105.388891%); transform: translateX(105.388891%); }
}

@keyframes auxiliary-indeterminate-scale {
    0% { -webkit-animation-timing-function: cubic-bezier(.205028, .057051, .576610, .453971); animation-timing-function: cubic-bezier(.205028, .057051, .576610, .453971); -webkit-transform: scaleX(.08); transform: scaleX(.08); }
    19.15% { -webkit-animation-timing-function: cubic-bezier(.152313, .196432, .648374, 1.004315); animation-timing-function: cubic-bezier(.152313, .196432, .648374, 1.004315); -webkit-transform: scaleX(.457104); transform: scaleX(.457104); }
    44.15% { -webkit-animation-timing-function: cubic-bezier(.257759, .003163, .211762, 1.381790); animation-timing-function: cubic-bezier(.257759, .003163, .211762, 1.381790); -webkit-transform: scaleX(.727960); transform: scaleX(.727960); }
    to { -webkit-transform: scaleX(.08); transform: scaleX(.08); }
}

@-webkit-keyframes primary-indeterminate-translate {
    0% { -webkit-transform: translateX(-145.166611%); transform: translateX(-145.166611%); }
    20% { -webkit-animation-timing-function: cubic-bezier(.5, 0, .701732, .495819); animation-timing-function: cubic-bezier(.5, 0, .701732, .495819); -webkit-transform: translateX(-145.166611%); transform: translateX(-145.166611%); }
    59.15% { -webkit-animation-timing-function: cubic-bezier(.302435, .381352, .55, .956352); animation-timing-function: cubic-bezier(.302435, .381352, .55, .956352); -webkit-transform: translateX(-61.495191%); transform: translateX(-61.495191%); }
    to { -webkit-transform: translateX(55.444446%); transform: translateX(55.444446%); }
}

@-webkit-keyframes primary-indeterminate-scale {
    0% { -webkit-transform: scaleX(.08); transform: scaleX(.08); }
    36.65% { -webkit-animation-timing-function: cubic-bezier(.334731, .124820, .785844, 1); animation-timing-function: cubic-bezier(.334731, .124820, .785844, 1); -webkit-transform: scaleX(.08); transform: scaleX(.08); }
    69.15% { -webkit-animation-timing-function: cubic-bezier(.06, .11, .6, 1); animation-timing-function: cubic-bezier(.06, .11, .6, 1); -webkit-transform: scaleX(.661479); transform: scaleX(.661479); }
    to { -webkit-transform: scaleX(.08); transform: scaleX(.08); }
}

@-webkit-keyframes auxiliary-indeterminate-translate {
    0% { -webkit-animation-timing-function: cubic-bezier(.15, 0, .515058, .409685); animation-timing-function: cubic-bezier(.15, 0, .515058, .409685); -webkit-transform: translateX(-54.888891%); transform: translateX(-54.888891%); }
    25% { -webkit-animation-timing-function: cubic-bezier(.310330, .284058, .8, .733712); animation-timing-function: cubic-bezier(.310330, .284058, .8, .733712); -webkit-transform: translateX(-17.236978%); transform: translateX(-17.236978%); }
    48.35% { -webkit-animation-timing-function: cubic-bezier(.4, .627035, .6, .902026); animation-timing-function: cubic-bezier(.4, .627035, .6, .902026); -webkit-transform: translateX(29.497274%); transform: translateX(29.497274%); }
    to { -webkit-transform: translateX(105.388891%); transform: translateX(105.388891%); }
}

@-webkit-keyframes auxiliary-indeterminate-scale {
    0% { -webkit-animation-timing-function: cubic-bezier(.205028, .057051, .576610, .453971); animation-timing-function: cubic-bezier(.205028, .057051, .576610, .453971); -webkit-transform: scaleX(.08); transform: scaleX(.08); }
    19.15% { -webkit-animation-timing-function: cubic-bezier(.152313, .196432, .648374, 1.004315); animation-timing-function: cubic-bezier(.152313, .196432, .648374, 1.004315); -webkit-transform: scaleX(.457104); transform: scaleX(.457104); }
    44.15% { -webkit-animation-timing-function: cubic-bezier(.257759, .003163, .211762, 1.381790); animation-timing-function: cubic-bezier(.257759, .003163, .211762, 1.381790); -webkit-transform: scaleX(.727960); transform: scaleX(.727960); }
    to { -webkit-transform: scaleX(.08); transform: scaleX(.08); }
}
/*End LoadingBar*/

/*****End General Classes*****/


/*****Header*****/
header { width: 100%; position: relative; /*background: url(../Content/Resources/Img2.jpg) no-repeat; background-size: cover; background-position: center center;*/ }
.bred_bg { width: 100%; /*background: url(../Content/Resources/Img2.jpg) no-repeat;*/ background-size: cover; background-position: center bottom; overflow: hidden; padding: 10px 0; box-sizing: border-box; }
.nav_conti { background-color: #F8F8F8; border-bottom: 1px solid #D4D4D4; float: right; width: 100%; }
.extra_links { float: left; }
    .extra_links li { float: right; }
        .extra_links li a { padding: 25px 15px 21px 15px; display: block; box-sizing: border-box; }
/*.logo { float: right; }*/

nav { }
.close_nav { position: absolute; left: 10px; top: 10px; color: #fff; display: none; }
nav > div { width: 100%; box-sizing: border-box; }
    nav > div > ul { width: 100%; box-sizing: border-box; text-align: center; display: table; }
        nav > div > ul > li { display: table-cell; text-align: center; position: relative; }
            nav > div > ul > li > a { display: block; color: #343642; padding: 12px 20px 11px 17px; box-sizing: border-box; font-size: 1.125em; text-align: center; position: relative; border-bottom: 3px solid transparent; height: 45px; }
                nav > div > ul > li > a.active { font-weight: 700; }
                nav > div > ul > li > a::after { border-left: 1px solid #d0d0d0; content: ""; position: absolute; left: 0; top: 12px; width: 1px; height: 50%; }
            nav > div > ul > li:last-child, nav > div > ul > li:last-child a { border-left: none; }
            nav > div > ul > li > #fvp::after { display: none; }
            nav > div > ul > li > a:hover span, nav > div > ul > li > a:focus span, nav > div > ul > li > a:hover i, nav > div > ul > li > a:focus i { /*-webkit-text-stroke: 0.5px #00BBF6;*/ /*font-weight:700;*/ color: #00BBF6; }
            nav > div > ul > li > a span { text-align: center; display: inline-block; }
                nav > div > ul > li > a span img { width: 50px; display: block; position: relative; vertical-align: top; bottom: -5px; }
            nav > div > ul > li > a.fvp span { box-sizing: border-box; }
            nav > div > ul > li > a:hover, nav > div > ul > li > a:focus { border-bottom: 3px solid #00BBF6; background-color: #fdfdfd; }

nav > ul > li > a span::after { display: block; content: attr(title); font-weight: bold; height: 1px; color: transparent; overflow: hidden; visibility: hidden; margin-bottom: -1px; }

.drop_menu { position: absolute; background-color: #fff; color: #000; border: 1px solid #cfcfcf; max-height: 0; transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; overflow: hidden; z-index: 200; opacity: 0; width: 100%; }
    .drop_menu li { }
        .drop_menu li + li { border-top: 1px solid #cfcfcf; }
        .drop_menu li a { display: block; padding: 10px; box-sizing: border-box; font-weight: 100 !important; position: relative; white-space: nowrap; overflow: hidden; }
            .drop_menu li a::after { content: ""; display: block; width: 4px; position: absolute; right: 0; top: 0; bottom: 0; background-color: #3dc9ee; transform: scaleY(0); -ms-transform: scaleY(0); -webkit-transform: scaleY(0); transition: -webkit-transform .2s cubic-bezier(.22,.61,.36,1); transition: transform .2s cubic-bezier(.22,.61,.36,1); transition: transform .2s cubic-bezier(.22,.61,.36,1), -webkit-transform .2s cubic-bezier(.22,.61,.36,1); -webkit-transition: transform .2s cubic-bezier(.22,.61,.36,1); -moz-transition: transform .2s cubic-bezier(.22,.61,.36,1); -o-transition: transform .2s cubic-bezier(.22,.61,.36,1); }
            .drop_menu li a:hover::after, .drop_menu li a:focus::after { transform: scaleY(1); -ms-transform: scaleY(1); -webkit-transform: scaleY(1); }
            .drop_menu li a:hover, .drop_menu li a:focus { font-weight: 500 !important; }
            .drop_menu li a:hover, .drop_menu li a:focus, .drop_menu li a.active { background-color: #f8f8f8; /*border-bottom: 1px solid #a2a2a2;*/ }
nav > div > ul > li > a:hover ~ .drop_menu, nav > div > ul > li > a:focus ~ .drop_menu { max-height: 1500px; opacity: 1; }
.drop_menu:hover, .drop_menu:focus { max-height: 1500px; opacity: 1; }
.drop_menu.max_height { max-height: 1500px; }

.top_header { width: 100%; padding: 10px 20px; box-sizing: border-box; background-color: #f3f3f3; display: table; table-layout: fixed; }
    .top_header .logo { display: table-cell; vertical-align: middle; width: 396px; }
        .top_header .logo > img { max-width: 100%; }
            .top_header .logo > img:first-child { display: block; }
    .top_header .general_search { display: table-cell; vertical-align: middle; position: relative; padding: 0 20px; }
    .top_header .accessibility_conti { display: table-cell; vertical-align: middle; width: 35px; }
    .top_header .links { /*float: left; padding-top: 20px; box-sizing: border-box;*/ display: table-cell; vertical-align: middle; width: 420px; padding-right: 20px; }
        .top_header .links li { display: table-cell; position: relative; vertical-align: middle; }
            .top_header .links li + li { padding-right: 10px; }
            .top_header .links li a { color: #0b5890; display: block; }
                .top_header .links li a.active { font-weight: 700; }
                .top_header .links li a span { vertical-align: middle; display: inline-block; }
                .top_header .links li a img { margin-left: 5px; display: inline-block; vertical-align: middle; }
                .top_header .links li a:hover, .top_header .links li a:focus { font-weight: 500; }
                .top_header .links li a .item_in_cart { width: 20px; height: 20px; line-height: 22px; background-color: #00bbf6; color: #fff; text-align: center; border-radius: 50%; padding: 0; }

/*.general_search { width: 24%; position: absolute; right: 0; left: 0; margin: 0 auto; margin-top: 10px; }*/
.close_form_mobile { display: none; }
.general_search > ul { }
    /*.general_search > ul > li { display: inline-block; width: 100%; padding-left: 20px; box-sizing: border-box; }*/
    .general_search > ul > li input { width: 100%; border: 1px solid #cfcfcf; border-radius: 5px; padding: 9px 10px 9px 45px; box-sizing: border-box; background-color: #fff; border-radius: 5px; }
        .general_search > ul > li input:focus { outline: 0; }
.general_search button { height: 39px; background-color: transparent; border: none; position: absolute; left: 20px; top: 0; bottom: 0; border-radius: 0; text-align: center; padding: 0 10px; margin: auto 0; }
    .general_search button img { /*height: 26px;*/ display: inline-block; vertical-align: middle }
    .general_search button:hover, .general_search button:focus { background-color: transparent !important; }
.general_search .search_product_conti { position: absolute; border: 1px solid #cfcfcf; background-color: #fff; display: none; z-index: 10; top: 100%; margin-top: -1px; }
    .general_search .search_product_conti ul { overflow: auto; max-height: 100px; }
        .general_search .search_product_conti ul li { box-sizing: border-box; }
            .general_search .search_product_conti ul li + li { border-top: 1px solid #ccc; }
            .general_search .search_product_conti ul li a { display: block; padding: 10px; box-sizing: border-box; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
                .general_search .search_product_conti ul li a:hover, .general_search .search_product_conti ul li a:focus { background-color: #0b5890; color: #fff; }
/******End Header******/


/*****Footer******/
footer { position: relative; width: 100%; overflow: hidden; background-color: #fff; }
.footer_conti { float: right; width: 100%; background-color: #343642; padding: 20px; box-sizing: border-box; }
footer .credit { width: 100%; overflow: hidden; padding: 15px 10px; box-sizing: border-box; text-align: center; color: #343642; }
    footer .credit p { display: inline-block; width: 100%; }
    footer .credit .qualish_credit { display: inline-block; }
footer .fart_tag { display: block; width: 120px; margin: 0 auto; }
    footer .fart_tag img { width: 100%; }
.footer_logo { margin-bottom: 20px; display: block; max-width: 504px; padding-right: 150px; }
    .footer_logo img { width: 100%; }

.footer_social { text-align: left; padding-left: 30px; box-sizing: border-box; }
    .footer_social li { display: inline-block; margin-left: 30px; }
        .footer_social li:last-child { margin-left: 0; }
        .footer_social li a { display: block; color: #9a9cab; font-size: 1.7em; }

footer a:hover, footer a:focus { color: #00bbf6; }

.right_side_footer { float: right; width: 25%; padding: 100px 20px 45px 20px; box-sizing: border-box; color: #e6e7e7; text-align: center; position: relative; }
    .right_side_footer .envelope { position: absolute; top: 20px; right: 0; left: 0; margin: 0 auto; }
    .right_side_footer > h2 { font-weight: 500; }
    .right_side_footer a { background-color: #0b5890; border: 2px solid #177ec9; border-radius: 20px; padding: 8px; text-align: center; max-width: 90px; display: block; margin: 20px auto 0 auto; }
        .right_side_footer a:hover, .right_side_footer a:focus { color: #fff; background-color: #00bbf6; }
.left_side_footer { float: left; width: 75%; padding-right: 20px; box-sizing: border-box; }

.footer_nav { color: #9a9cab; width: 100%; margin-bottom: 0; overflow: hidden; }
    .footer_nav > li { width: 25%; float: right; box-sizing: border-box; padding: 0 50px; box-sizing: border-box; position: relative; }
        .footer_nav > li:nth-child(1) { width: 25%; }
            .footer_nav > li:nth-child(1)::after { content: ""; position: absolute; right: 0; top: 0; height: 75%; background-color: #9a9cab; width: 1px; display: block; }
            .footer_nav > li:nth-child(1)::before { content: ""; position: absolute; left: 0; top: 0; height: 75%; background-color: #9a9cab; width: 1px; display: block; }
        .footer_nav > li:nth-child(2) { width: 50%; }
        .footer_nav > li:nth-child(3)::after { content: ""; position: absolute; right: 0; top: 0; height: 75%; background-color: #9a9cab; width: 1px; display: block; }

        .footer_nav > li > ul { }
            .footer_nav > li > ul > li { box-sizing: border-box; margin-bottom: 5px; }
                .footer_nav > li > ul > li:last-child { padding-left: 0; }
                .footer_nav > li > ul > li h2 { font-size: 1.2em; padding-bottom: 5px; box-sizing: border-box; font-weight: 500; }
                .footer_nav > li > ul > li a { color: #9a9cab; font-size: 0.95em; }
        .footer_nav > li:nth-child(2) ul li { display: inline-block; width: 48%; }
/******End Footer*****/

/*Soon*/
.soon_page { text-align: center; padding: 40px 10px; box-sizing: border-box; }
.soon_logo_gear { position: relative; width: 516px; margin: 0 auto 40px 310px; height: 278px; left: -50%; }
    .soon_logo_gear img { position: absolute; top: 0; left: 0; right: 0; display: block; margin: 0 auto; }
    .soon_logo_gear .gear { left: 230px; top: 25px; }
    .soon_logo_gear .soon_cart { left: 220px; top: 70px; }

.soon_page .soon_content { color: #828486; }
    .soon_page .soon_content > div { width: 100%; max-width: 618px; margin: 0 auto 20px auto; }
        .soon_page .soon_content > div img { width: 100%; }
    .soon_page .soon_content h1 { margin-bottom: 5px; }
    .soon_page .soon_content h2 { margin-bottom: 40px; }

    .soon_page .soon_content form { width: 235px; margin: 0 auto; }
        .soon_page .soon_content form ul { }
            .soon_page .soon_content form ul li { margin-bottom: 10px; }
                .soon_page .soon_content form ul li input { border: 1px solid #828486; text-align: center; line-height: 40px; height: 40px; font-size: 1.5em; }
                .soon_page .soon_content form ul li button { background-color: #0f5991; color: #fff; border: none; cursor: pointer; text-align: center; width: 100%; display: block; font-weight: bold; display: block; font-size: 1.5em; line-height: 40px; height: 40px; border-radius: 0 0 10px 10px; }
                    .soon_page .soon_content form ul li button i { font-weight: bold; }
/*End Soon*/

/******Index******/
.read_more_about { display: none; }
.main_content { box-sizing: border-box; position: relative; z-index: 10; margin-bottom: 0; }
    .main_content article { background-color: #FFFFFF; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); border-radius: 5px; /*margin-top: -25px;*/ padding: 30px; box-sizing: border-box; margin-bottom: 20px; }
        .main_content article h2, .main_content article h1 { color: #0b5890; }
        .main_content article h1 { margin-bottom: 20px; font-size: 1.5em; }

.services { /*background: url(../Content/Resources/services/Img1.jpg) no-repeat; background-size: 100% 100%; background-position: center center;*/ overflow: hidden; width: 100%; background-color: #F3F3F3; border-bottom: 1px solid #D4D4D4; }
    .services ul { overflow: hidden; width: 100%; }
        .services ul li { float: right; width: 20%; }
            .services ul li > div { display: block; color: #fff; display: table; position: relative; width: 100%; padding: 5px 30px 5px 0; box-sizing: border-box; }
                .services ul li > div::after { border-left: 1px solid #d0d0d0; content: ""; position: absolute; left: 0; top: 13px; width: 1px; height: 50%; }
            .services ul li:last-child > div::after { display: none; }
            .services ul li > div .image_conti { padding: 4px 0; box-sizing: border-box; display: table-cell; }
                .services ul li > div .image_conti img { display: block; height: 40px; width: 50px; vertical-align: top; }

            .services ul li > div .text { padding: 10px 0 10px 10px; box-sizing: border-box; text-align: center; display: table-cell; vertical-align: top; }
            .services ul li:nth-child(4) > div .text, .services ul li:nth-child(5) > div .text { padding-left: 25px; }

            .services ul li > div .text strong { margin-bottom: 0; font-weight: 400; color: #1C598F; font-size: 1.1em; }
            .services ul li > div .text p { margin-bottom: 0; color: #00BBF6; font-size: 0.85em; }
.show_services_mobile { width: 100%; background-color: #2a7ebe; text-align: center; padding: 15px 0; box-sizing: border-box; color: #fff; display: none; }

.parts { overflow: hidden; display: inline-block; border-bottom: 1px solid #e2e2e2; padding-bottom: 20px; display: table; width: 100%; }
    .parts li { display: table-cell; width: 10%; vertical-align: middle; transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; border-radius: 10px; }
        .parts li:last-child { margin-left: 0; }
        .parts li a { display: block; position: relative; font-size: 0.8em; position: relative; }
            .parts li a::after { border-left: 1px solid #d0d0d0; content: ""; position: absolute; left: 0; top: 0; bottom: 10px; width: 1px; height: 70px; margin: auto 0; }
        .parts li:last-child a::after { display: none; }
        .parts li a .hover_efect { text-align: center; /*position: absolute; width: 100%; height: 100%; background-color: rgba(0,0,0,0.7); padding: 0 10px;*/ box-sizing: border-box; opacity: 1; /*transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out;*/ display: block; font-weight: 400; overflow: hidden; border-radius: 10px; }

.category_name { width: 100%; text-align: center; transition: all 0.25s ease-in-out; -webkit-transition: all 0.25s ease-in-out; -o-transition: all 0.25s ease-in-out; -moz-transition: all 0.25s ease-in-out; }
.parts li a .hover_efect span { position: absolute; bottom: 10px; right: 0; text-align: center; width: 100%; display: block; color: #ff6000; }
.parts li a:hover .hover_efect { opacity: 1; }
.parts li a .image_conti { width: 100%; /*height: 105px; padding: 0 15px;*/ padding: 0 10px; box-sizing: border-box; }
    .parts li a .image_conti img { width: 100%; height: 100%; }
.show_more_parts, .show_faq_mobile { background-color: #cfcfcf; text-align: center; padding: 15px 0; box-sizing: border-box; font-weight: 700; display: none; }
    .show_more_parts i { font-weight: bold; }
.parts li a .image_conti .svg { /*width: 100% !important; height: auto !important; vertical-align: top; padding: 0 10px; box-sizing: border-box;*/ max-height: 100px; max-width: 100px; }
.parts li a:hover .image_conti .svg .cls-1, .parts li a:focus .image_conti .svg .cls-1, .parts li a:hover .image_conti .svg .st0, .parts li a:focus .image_conti .svg .st0 { fill: #347EBA !important; transition: all 0.25s ease-in-out; -webkit-transition: all 0.25s ease-in-out; -o-transition: all 0.25s ease-in-out; -moz-transition: all 0.25s ease-in-out; }
.parts li .category_filter .image_conti .svg .cls-1, .parts li .category_filter .image_conti .svg .st0 { fill: #00bbf6; }
.parts li a:hover, .parts li a:focus { color: #347EBA !important; }
.parts li .category_filter { color: #00bbf6; }

.gallery_links { }
    .gallery_links > li { float: right; width: 49%; margin-left: 2%; position: relative; margin-bottom: 2%; border-radius: 5px; overflow: hidden; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }
    /*.gallery_links_page li { margin-bottom: 20px; }*/
    .gallery_links li:nth-child(even) { margin-left: 0; }
    .gallery_links li > a { display: block; position: relative; }
    .gallery_links li a .image_conti { height: 0; overflow: hidden; padding-bottom: 28.5%; }
        .gallery_links li a .image_conti img { -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */ filter: grayscale(100%); transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; }
    .gallery_links li a .like_a { background-color: rgba(0, 0, 0, 0.75); display: block; text-align: center; padding: 10px 0; box-sizing: border-box; color: #fff; position: absolute; bottom: 0; width: 100%; font-size: 1.1em; transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; }
        .gallery_links li a .like_a .fa-angle-left { font-weight: bold; }
    .gallery_links li a:hover .image_conti img, .gallery_links li a:focus .image_conti img, .gallery_links_no_gray li a .image_conti img { -webkit-filter: grayscale(0); /* Safari 6.0 - 9.0 */ filter: grayscale(0); }
    .gallery_links li a:hover .image_conti img, .gallery_links li a:focus .image_conti img { transform: scale(1.1); -webkit-transform: scale(1.1); -moz-transform: scale(1.1); -ms-transform: scale(1.1); -o-transform: scale(1.1); }
    .gallery_links li a:hover .like_a { background-color: rgba(11, 88, 144, 0.75); text-shadow: 0 0 5px #0c3858; }

.gallery_links_page { }
    .gallery_links_page > li { width: 24%; margin-left: 1.3% !important; }
        .gallery_links_page > li:nth-child(4n) { margin-left: 0 !important; }
    .gallery_links_page li a .image_conti { padding-bottom: 50%; }
.more_Categories { background-color: #fff; max-height: 80px; overflow: hidden; min-height: 108px; }
    .more_Categories .active { max-height: 1000px; }
    .more_Categories > ul { }
        .more_Categories > ul > li { }
            .more_Categories > ul > li > a { display: block; padding: 5px; box-sizing: border-box; }
                .more_Categories > ul > li > a:hover, .more_Categories > ul > li > a:focus { text-decoration: underline; }
                .more_Categories > ul > li > a i { color: #0b5890; font-weight: bold; }

.faq_main_conti { padding: 30px; box-sizing: border-box; border: 1px solid #e6e7e7; background-color: #F8F8F8; }
.faq { float: right; width: 49%; font-weight: 500; }
    .faq:nth-of-type(1) { padding-left: 1%; border-left: 1px solid #e6e7e7; margin-left: 1%; box-sizing: border-box; }
    .faq h2 { font-weight: 700; overflow: hidden; width: 100%; }
        .faq h2 span { float: right; padding-bottom: 10px; border-bottom: 1px solid #00BBF6; }
        .faq h2 a { float: left; color: #0b5890; }
    .faq > ul { margin-bottom: 10px; }
        .faq > ul > li { width: 100%; position: relative; }
            .faq > ul > li::before { content: "\f111"; position: absolute; right: 0; top: 28px; color: #00BBF6; font-family: FontAwesome; font-size: 5px; }
            .faq > ul > li:last-child { margin-bottom: 0; }
            .faq > ul > li > a { padding: 20px; box-sizing: border-box; display: block; border-bottom: 1px solid #d0d0d0; font-size: 1.1em; font-weight: 400; }
.go_to_page { color: #0b5890; font-size: 1.2em; }

.blog_conti { margin-bottom: 20px; }
    .blog_conti ul { }
        .blog_conti ul li { float: right; width: 49%; margin-left: 2%; }
            .blog_conti ul li:nth-child(even) { margin-left: 0; }
            .blog_conti ul li h2 { font-weight: 700; padding-bottom: 10px; border-bottom: 1px solid #00BBF6; display: inline-block; }
            .blog_conti ul li a { overflow: hidden; width: 100%; background-color: #fff; padding: 20px; box-sizing: border-box; border-radius: 5px; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); display: block; }
                .blog_conti ul li a .image_conti { float: right; width: 25%; /*padding-bottom: 20%; height: 0;*/ background-size: cover; background-position: center; vertical-align: bottom; border-radius: 5px; position: relative; overflow: hidden; }
                    .blog_conti ul li a .image_conti:after { content: ""; display: block; padding-bottom: 80%; }
                    .blog_conti ul li a .image_conti img { opacity: 0; overflow: hidden; position: absolute; top: 0; bottom: 0; right: 0; left: 0; height: 100%; width: 100%; }
                .blog_conti ul li a article { float: right; width: 75%; padding-right: 20px; box-sizing: border-box; }

                    .blog_conti ul li a article p { font-size: 0.95em; }
                .blog_conti ul li a .arrow_left_conti { float: left; width: 10%; }
                    .blog_conti ul li a .arrow_left_conti i { font-size: 12em; color: #fff; font-weight: bold; position: relative; }
                        .blog_conti ul li a .arrow_left_conti i::before { position: absolute; top: -50px; }

.blog_main_conti { margin-bottom: 50px; }
    .blog_main_conti .button { width: 250px; display: block; margin: 0 auto; }
        .blog_main_conti .button span { font-weight: 400; display: inline-block; vertical-align: top; padding-top: 2px; margin-left: 10px; }
        .blog_main_conti .button img { }

.open_contact_form { color: #fff; background: url(Resources/banner/banner.png) no-repeat; background-position: center center; background-size: cover; overflow: hidden; }
    .open_contact_form article { font-size: 2em; padding: 70px 40px; box-sizing: border-box; background-color: #000; float: right; }
        .open_contact_form article h3 { }
        .open_contact_form article h2 { font-weight: 700; }
        .open_contact_form article a { color: #348899; }

.testamonials { text-align: center; overflow: hidden; padding: 40px 0 18px 0; box-sizing: border-box; position: relative; }
    .testamonials > ul { overflow: hidden; width: 100%; }
        .testamonials > ul > li { float: right; width: 25%; }
            .testamonials > ul > li:nth-child(n + 5) { display: none; }
            .testamonials > ul > li a { display: block; padding: 0 20px; box-sizing: border-box; }
                .testamonials > ul > li a .stars { overflow: hidden; }
                    .testamonials > ul > li a .stars ul { margin-bottom: 10px; }
                        .testamonials > ul > li a .stars ul li { display: inline-block; }
                            .testamonials > ul > li a .stars ul li i { color: #00BBF6; font-size: 1.5em; }
                .testamonials > ul > li a h2 { font-weight: 700; margin-bottom: 10px; color: #0b5890; }
                .testamonials > ul > li a p { }
.nav_buttons { width: 100%; position: relative; z-index: 900; display: none; }
    .nav_buttons a { position: absolute; color: #0b5890; font-size: 3em; top: 0; opacity: 0.3; }
        .nav_buttons a:hover, .nav_buttons a:focus { opacity: 1; }
    .nav_buttons .next { left: 0; }
    .nav_buttons .prev { right: 0; }

.our_clients { margin-bottom: 50px; }
    .our_clients ul { overflow: hidden; width: 100%; }
        .our_clients ul li { float: right; width: 20%; }
            .our_clients ul li a { display: block; }
                .our_clients ul li a img { display: block; margin: 0 auto; width: 100%; }


/*face slider*/
#slider1_container { padding: 10px 0; margin-bottom: 30px; background-color: #f3f3f3; z-index: 1; }
    #slider1_container, #slider1_container > div { width: 100% !important; }
        #slider1_container > div { margin-top: 10px; }

.theme-bar.slider-wrapper { border-left: 2px solid #fff; border-right: 2px solid #fff; box-sizing: border-box; border-radius: 5px; margin-top: 20px; }
#slider1_container .slide_conti { }
#slider1_container .short_desc { position: absolute; background-color: #f8f8f8; border: 2px solid #c0bfbe; border-radius: 10px; text-align: center; width: 95%; margin: 0 auto; bottom: 187px; right: 0; left: 0; padding: 10px; box-sizing: border-box; transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; opacity: 0; display: block; pointer-events: none; box-shadow: 0 4px 5px 0 rgba(72, 72, 72, 0.23); }
    #slider1_container .short_desc h2 { color: #0b5890; margin-bottom: 5px; }
    #slider1_container .short_desc img { position: absolute; bottom: -18px; width: 293px; right: -6px; }
#slider1_container .slide_conti:hover .short_desc { opacity: 1; }
#slider1_container div { overflow: visible !important; }

/*Top Trending*/
.general_headline { text-align: center; position: relative; margin-bottom: 20px; }
    .general_headline::after { content: ""; width: 100%; height: 1px; background-color: #343642; position: absolute; right: 0; top: 45%; }
    .general_headline > * { font-size: 1.5em; display: inline-block; background-color: #f3f3f3; padding: 0 10px; box-sizing: border-box; position: relative; z-index: 1; }

.top_trending_item { width: 100%; background-color: #fff; position: relative; display: block; background-position: left center; background-repeat: no-repeat; background-size: cover; }
    .top_trending_item > .image_conti { position: absolute; width: 50%; height: 100%; background-position: center center; background-repeat: no-repeat; background-size: cover; left: 0; top: 0; }
    .top_trending_item > .content { width: 50%; position: relative; z-index: 1; padding: 20px 10px 14px 10px; box-sizing: border-box; margin-bottom: 10px; }
        .top_trending_item > .content p { font-size: 1.2em; display: block; height: 46px; overflow: hidden; font-weight: 500; }
        .top_trending_item > .content strong { display: block; font-size: 1.8em; margin-bottom: 30px; height: 57px; overflow: hidden; }
        .top_trending_item > .content .button2 { color: #fff; text-align: center; padding: 5px 0; box-sizing: border-box; display: inline-block; width: 150px; border-radius: 5px; transition: background-color 0.15s ease; -webkit-transition: background-color 0.15s ease; }
            .top_trending_item > .content .button2 span { font-size: 1.1em; }
    .top_trending_item:hover > .content .button2 { background-color: #9ad65f !important; }

.top_trending_conti { width: 100%; border-radius: 5px; margin-bottom: 10px; position: relative; }
    .top_trending_conti > ul { }
        .top_trending_conti > ul > li { float: right; width: 49%; margin-bottom: 20px; }
            .top_trending_conti > ul > li:nth-child(even) { float: left; }
.gallery_button { position: absolute; top: 40%; font-size: 50px; z-index: 10; background-color: rgba(255, 255, 255, 0.5); border-radius: 5px; padding: 10px 5px; box-sizing: border-box; display: none; color: #a2a2a2; }
    .gallery_button.prev { right: 0; }
    .gallery_button.next { left: 0; }
    .gallery_button:hover, .gallery_button:focus { background-color: #fff; }
/*End Top Trending*/

/*Latest Offers*/
.latest_offers_conti { }
    .latest_offers_conti > ul { }
        .latest_offers_conti > ul > li { float: right; width: 32%; margin-left: 2%; margin-bottom: 2%; }
            .latest_offers_conti > ul > li:nth-child(3n) { margin-left: 0; }

.latest_offers_item { display: block; width: 100%; border-radius: 5px; background-color: #fff; position: relative; padding: 10px; box-sizing: border-box; overflow: hidden; }
    .latest_offers_item > .image_conti { position: absolute; width: 50%; height: 100%; background-position: center top; background-repeat: no-repeat; background-size: contain; left: 0; top: 0; }

    .latest_offers_item .content { width: 100%; position: relative; z-index: 1; }
        .latest_offers_item .content p { font-size: 1em; display: block; height: 18px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-weight: 500; }
        .latest_offers_item .content strong { display: block; font-size: 1.3em; height: 40px; overflow: hidden; }
    .latest_offers_item .button2 { color: #fff; text-align: center; padding: 5px 0; box-sizing: border-box; display: inline-block; width: 120px; border-radius: 5px; position: absolute; left: 10px; bottom: 10px; transition: background-color 0.15s ease; -webkit-transition: background-color 0.15s ease; }
        .latest_offers_item .button2 span { font-size: 1.1em; }
.content_and_sale { width: 50%; float: right; }
.sale_cotni { width: 120px; text-align: center; margin-bottom: 20px; }
    .sale_cotni .percent { background-color: #0b5890; display: block; color: #fff; position: relative; padding: 5px 0 8px 0; box-sizing: border-box; }
        .sale_cotni .percent > span { font-size: 0.8em; display: inline-block; }
        .sale_cotni .percent > strong { font-size: 1.3em; position: relative; display: block; box-sizing: border-box; display: inline-block; }
    .sale_cotni .price { background-color: #00bbf6; display: block; color: #fff; padding: 10px 0 0 0; box-sizing: border-box; position: relative; }
        .sale_cotni .price::after { content: ""; width: 0; height: 0; border-left: 60px solid transparent; border-right: 60px solid transparent; border-top: 15px solid #00bbf6; position: absolute; right: 0; bottom: -15px; box-sizing: border-box; }
        .sale_cotni .price strong { font-size: 1.3em; display: block; margin-bottom: 5px; }
        .sale_cotni .price small { color: #fff; display: block; font-size: 0.8em; font-weight: 500; }

.latest_offers_item:hover .button2 { background-color: #9ad65f !important; }

/*End Latest Offers*/

/******End Index******/
/*Shop*/
.services_general_pages { }
    .services_general_pages ul li a .image_conti { float: right; width: 20%; padding: 7px 0; }
    .services_general_pages ul li:nth-child(1) a .image_conti { background-color: #1e689d; }
    .services_general_pages ul li:nth-child(2) a .image_conti { background-color: #094d7e; }
    .services_general_pages ul li:nth-child(3) a .image_conti { background-color: #093f67; }
    .services_general_pages ul li:nth-child(4) a .image_conti { background-color: #094d7e; }
    .services_general_pages ul li:nth-child(5) a .image_conti { background-color: #1e689d; }
    .services_general_pages ul li a .image_conti img { width: 90%; margin: 0 auto; display: block; }
    .services_general_pages ul li a .text { float: right; width: 80%; text-align: right; }

.categories_conti { /*padding: 20px; box-sizing: border-box;*/ margin-top: 5px; }
.more_models { margin-bottom: 20px; }
.categories_conti > span { font-weight: 500; margin-left: 3px; }
.categories_conti > .more_categories_headline { font-weight: 600; font-size: 1.2em; }
.categories_conti ul { display: inline-block; color: #0b5890; padding-top: 10px; }
    .categories_conti ul li { font-weight: 500; display: inline-block; margin-bottom: 10px; }
        .categories_conti ul li > a { display: block; padding: 5px 10px; box-sizing: border-box; border: 1px solid #0b5890; border-radius: 5px; }
        /*.categories_conti ul li:not(:last-child):after, .filter #elFilterSort ul li:not(:last-child) > div:after { content: "\f111"; color: #bababa; font: normal normal normal 14px/1 FontAwesome; font-size: 5px; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; display: inline-block; vertical-align: middle; margin: 0 3px; }*/
        .categories_conti ul li i { display: none; color: #00bbf6; }
        .categories_conti ul li.active a { background-color: #0b5890; color: #fff; }
        .categories_conti ul li a:hover, .categories_conti ul li a:focus { color: #00bbf6; }

.filter { width: 100%; display: table; }
    .filter .select_conti { margin-bottom: 10px; }
        .filter .select_conti select { border-radius: 10px; border: 1px solid #cfcfcf; opacity: 0; }
    .filter > div { display: table-cell; vertical-align: middle; }
    .filter #elFilterSort + div { padding-right: 20px; min-width: 150px; }
        .filter #elFilterSort + div .qSelect .qSelect_overlay { padding: 6px 10px; }
            .filter #elFilterSort + div .qSelect .qSelect_overlay span { padding-left: 10px; }
    .filter #elFilterSort > span { display: inline-block; font-weight: 500; margin-left: 3px; }
    .filter #elFilterSort ul, .filter #elFilterSort ul li { display: inline-block; }
    .filter #elFilterSort .radio_filter { box-sizing: border-box; }
        .filter #elFilterSort .radio_filter > label { }
        .filter #elFilterSort .radio_filter > i { font-weight: bold; }
    .filter #elFilterSort label { cursor: pointer; color: #0b5890; font-weight: 500; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
        /*.filter #elFilterSort .radio_filter.active label,*/ .filter #elFilterSort label:hover { color: #00bbf6; }
    .filter #elFilterSort .radio_filter > i { }
    .filter #elFilterSort input:not(:checked) + i { display: none; }

.top_image { border-bottom: 2px solid #e6e7e7; margin-bottom: 5px; }
    .top_image img { width: 100%; vertical-align: bottom; }

.product_page_headline { padding: 25px 0; }

.items_conti { width: 100%; }
    .items_conti > li, .items_conti > .li { background-color: #fff; padding: 5px 15px; width: 100%; box-sizing: border-box; margin-bottom: 10px; position: relative; font-size: 0.9em; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); overflow: hidden; border-radius: 5px; }
        .items_conti > li .product_inner_page_conti { padding: 0; box-shadow: none; margin: 0; font-size: 0.8em; }
        .items_conti > li::after { content: ""; display: block; width: 4px; position: absolute; right: 0; top: 0; bottom: 0; background-color: #3dc9ee; transform: scaleY(0); -ms-transform: scaleY(0); -webkit-transform: scaleY(0); transition: -webkit-transform .2s cubic-bezier(.22,.61,.36,1); transition: transform .2s cubic-bezier(.22,.61,.36,1); transition: transform .2s cubic-bezier(.22,.61,.36,1), -webkit-transform .2s cubic-bezier(.22,.61,.36,1); -webkit-transition: transform .2s cubic-bezier(.22,.61,.36,1); -moz-transition: transform .2s cubic-bezier(.22,.61,.36,1); -o-transition: transform .2s cubic-bezier(.22,.61,.36,1); }
        .items_conti > li:hover::after, .items_conti > li:focus::after { transform: scaleY(1); -ms-transform: scaleY(1); -webkit-transform: scaleY(1); }
        .items_conti > li .image_conti { width: 25%; /*height: 0; padding-bottom: 20%;*/ float: right; }
        .items_conti > li .item_text { width: 75%; padding-right: 10px; float: right; padding-top: 10px; box-sizing: border-box; }
        .items_conti > .li .image_conti_product_page { width: 25%; float: right; }
            .items_conti > li .image_conti, .items_conti > .li .image_conti_product_page .image_conti { position: relative; background-color: #fff; }
            .square, .items_conti > .li .image_conti_product_page .image_conti { width: 100%; background-size: cover; background-position: 50%; }
                .items_conti > .li .image_conti_product_page .image_conti a { display: block; position: absolute; width: 100%; height: 100%; right: 0; top: 0; }
                .square:after, .items_conti > .li .image_conti_product_page .image_conti:after, .items_conti > li .image_conti:after { content: ""; display: block; padding-bottom: 100%; }
                .square > img, .items_conti > .li .image_conti_product_page .image_conti > img, .items_conti > li .image_conti > img { position: absolute; width: 100%; height: 100%; }
        .items_conti > li .image_conti a { display: block; position: absolute; width: 100%; height: 100%; right: 0; top: 0; }
        .items_conti > .li .small_images { overflow: hidden; float: right; width: 100%; }
            .items_conti > .li .small_images li { float: right; width: 23%; margin-left: 2.6%; }
                .items_conti > .li .small_images li:nth-child(4n) { margin-left: 0; }
                .items_conti > .li .small_images li a { display: block; }
                    .items_conti > .li .small_images li a .image_conti { width: 100%; }

        .items_conti > li .item_left, .items_conti > .li .item_left { padding: 20px 165px 20px 0; box-sizing: border-box; float: left; width: 100%; }
            .items_conti > .li .item_left article { font-weight: 500; font-size: 0.9em; }
                .items_conti > .li .item_left article p { margin-bottom: 0; }
            .items_conti > li .item_left .item_text { }
            .items_conti > li .item_text h2, .items_conti > .li .item_left .item_text h2 { font-weight: 700; color: #0b5890; }
        .items_conti > li .item_text p { margin-bottom: 10px; }
        .items_conti > li .item_left .item_text p { }

        .items_conti > li .right3, .items_conti > .li .item_left .right3 { float: right; width: 37%; padding-right: 10px; box-sizing: border-box; }
        .items_conti > li .item_left .right3 strong, .items_conti > .li .item_left strong { display: block; }
            .items_conti > li .item_left .right3 strong, .items_conti > .li .item_left strong strike { font-weight: 300; }
        .items_conti > .li .item_left .manufacturer { display: inline-block; }
        .items_conti > li .right3 .item_price i, .items_conti > .li .item_left strong i { font-weight: bold; font-size: 0.8em; }
        .items_conti > li .right3 small, .items_conti > .li .item_left small { color: #a2a2a2; font-size: 0.95em; display: block; margin-bottom: 30px; }
        .items_conti > .li .right3_conti { margin-bottom: 20px; }
.product_price { text-align: left; margin-bottom: 15px; font-size: 1.2em; color: #0b5890; }
.items_conti > li .left3, .items_conti > .li .item_left .left3 { float: left; width: 30%; }
    .items_conti > li .left3 .select_conti, .items_conti > .li .item_left .left3 .select_conti { display: inline-block; float: right; }
    .items_conti > li .left3 .select_conti, .items_conti > .li .item_left .left3 .select_conti_new { float: right; }
        .items_conti > li .left3 .select_conti select, .items_conti > .li .item_left .left3 .select_conti select { border-radius: 10px; background-color: #fff; border: 1px solid #d0d0d0; height: 38px; }
    .items_conti > li .left3 .add_to_cart, .items_conti > .li .item_left .left3 .add_to_cart, .orang_button, .gray_button { color: #fff; text-align: center; display: inline-block; padding: 9px 25px; box-sizing: border-box; font-weight: 500; float: left; margin-right: 10px; border-radius: 5px; background-color: #0b5890; border: solid 2px #039ccc; }
        .items_conti > li .left3 .add_to_cart:hover, .items_conti > .li .item_left .left3 .add_to_cart:hover, .orang_button:hover, .gray_button:hover { background-color: #00bbf6; }
.orang_button, .gray_button { max-width: 150px; width: 100%; }
.gray_button { background-color: #cdcdcd; }
.items_conti > li .left3 > small, .items_conti > .li .item_left .left3 > small { color: #a2a2a2; font-size: 0.95em; display: block; padding-top: 10px; box-sizing: border-box; text-align: left; overflow: hidden; width: 100%; }
.items_conti > .li .item_left .left3 > small { margin-bottom: 0; color: #00bbf6; font-weight: 400; }

.product_new_right { float: right; width: 50%; }
.product_new_left { float: left; width: 50%; }
.items_conti > .li .item_left .product_new_left .left3 { width: 80%; }

.items_conti > li .more_info { color: #0b5890; font-size: 0.95em; display: block; font-weight: 500; }
.items_conti .socials, .blog_conti_page li .to_the_post_conti .socials, .faq_links .socials { float: left; }
    .items_conti .socials ul { }
        .items_conti .socials ul li, .blog_conti_page li .to_the_post_conti .socials ul li, .faq_links ul li, .service_socials .socials li { display: inline-block; margin-right: 10px; }
            .items_conti .socials ul li a, .blog_conti_page li .to_the_post_conti .socials ul li a, .faq_links ul li a, .service_socials .socials li a { color: #0b5890; font-size: 1.5em; }
            .service_socials .socials li a { font-size: 2.5em; }
            .items_conti .socials ul li a i, .blog_conti_page li .to_the_post_conti .socials ul li a i, .faq_links ul li i, .service_socials .socials li i { }
            .items_conti .socials ul li a:hover, .blog_conti_page li .to_the_post_conti .socials ul li a:hover, .faq_links ul li a, .service_socials .socials li a:hover { color: #00bbf6; }

.items_conti > li .like_select, .items_conti > .li .like_select, .rectangle_conti > li .like_select { padding: 9px 10px; }
.items_conti > li select, .items_conti > .li select, .rectangle_conti > li select { opacity: 0; }

/*Product Inner Page*/
.product_inner_page_conti { background-color: #fff; padding: 5px 15px; width: 100%; box-sizing: border-box; margin-bottom: 10px; position: relative; font-size: 0.9em; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); overflow: hidden; border-radius: 5px; position: relative; }
    .product_inner_page_conti::after { content: ""; display: block; width: 4px; position: absolute; right: 0; top: 0; bottom: 0; background-color: #3dc9ee; transform: scaleY(0); -ms-transform: scaleY(0); -webkit-transform: scaleY(0); transition: -webkit-transform .2s cubic-bezier(.22,.61,.36,1); transition: transform .2s cubic-bezier(.22,.61,.36,1); transition: transform .2s cubic-bezier(.22,.61,.36,1), -webkit-transform .2s cubic-bezier(.22,.61,.36,1); -webkit-transition: transform .2s cubic-bezier(.22,.61,.36,1); -moz-transition: transform .2s cubic-bezier(.22,.61,.36,1); -o-transition: transform .2s cubic-bezier(.22,.61,.36,1); }
    .product_inner_page_conti > .product_image_conti { width: 150px; float: right; position: relative; background-color: #fff; position: absolute; right: 0; top: 0; }
.click_to_inc { font-size: 0.8em; color: #a2a2a2; text-align: center; display: block; }
    .click_to_inc span { }
    .click_to_inc i { }
.product_inner_page_conti > .product_image_conti .image_conti { width: 100%; background-size: cover; background-position: 50%; border-bottom: 1px solid #a2a2a2; margin-bottom: 5px; }
.product_inner_page_conti > .product_image_conti a { width: 100%; background-size: cover; background-position: 50%; display: block; }
    .product_inner_page_conti > .product_image_conti a::after { content: ""; display: block; padding-bottom: 100%; }
.product_inner_page_conti > .product_image_conti img { }
.product_inner_page_conti > .small_images { }
    .product_inner_page_conti > .small_images li { }
        .product_inner_page_conti > .small_images li a { }
.product_inner_page_conti > .item_left { width: 100%; padding-right: 180px; box-sizing: border-box; }
    .product_inner_page_conti > .item_left > .item_text { padding: 0; margin-bottom: 10px }
        .product_inner_page_conti > .item_left > .item_text h2 { font-weight: 700; color: #0b5890; padding: 0; }
    .product_inner_page_conti > .item_left > .product_new_right { }
        .product_inner_page_conti > .item_left > .product_new_right .item_text { display: block; width: 100%; padding: 0; }
            .product_inner_page_conti > .item_left > .product_new_right .item_text p { }
        .product_inner_page_conti > .item_left > .product_new_right .right3_conti { margin-bottom: 20px; color: #00bbf6; }

    .product_inner_page_conti > .item_left > .product_new_left { padding-right: 10px; box-sizing: border-box; }
        .product_inner_page_conti > .item_left > .product_new_left > .left3 { margin: 0; width: 100%; }
        .product_inner_page_conti > .item_left > .product_new_left .product_price { text-align: left; float: left; padding-top: 5px; box-sizing: border-box; margin: 0; }
.product_inner_page_conti .free_delivery { color: #00bbf6; display: block; }
.product_inner_page_conti .amount_and_button_conti { width: 100%; padding: 10px 0; border-top: 1px solid #d0d0d0; border-bottom: 1px solid #d0d0d0; margin-bottom: 10px; }
    .product_inner_page_conti .amount_and_button_conti select { opacity: 0; }
    .product_inner_page_conti .amount_and_button_conti .like_select i { top: 7px; }
    .product_inner_page_conti .amount_and_button_conti .select_conti { float: right; width: 50px; }
.product_inner_page_conti .button { width: 100%; }
/*End Product Inner Page*/
.shop_headline { margin-bottom: 20px; /*width: 100%; max-width: 660px; margin: 0 auto; padding: 0 20px; box-sizing: border-box;*/ }
    .shop_headline h1 { /*float: right;*/ color: #0b5890; }
    .shop_headline .choose_list_show { float: left; }

#elCategorySettings { display: table; width: 100%; margin-bottom: 10px; overflow-x: hidden; position: relative; /*border: 1px solid #e6e7e7; background-color: #f8f8f8; border-radius: 5px; padding: 15px; margin-bottom: 10px;*/ }
    #elCategorySettings > div { display: table-cell; vertical-align: middle; white-space: nowrap; }
        #elCategorySettings > div:first-child { }
        #elCategorySettings > div:last-child { width: 100%; text-align: left; }

.choose_list_show { /*overflow: hidden; padding: 8px 0 10px 0; box-sizing: border-box;*/ }
    .choose_list_show h2 { font-size: 1em; }
    .choose_list_show ul { }
        .choose_list_show ul li { display: inline-block; margin-left: 5px; }
            .choose_list_show ul li:nth-child(2) a { color: #d4d4d4; }
            .choose_list_show ul li a { font-size: 1.8em; color: #d4d4d4; }
                .choose_list_show ul li a:hover, .choose_list_show ul li a:focus, .choose_list_show ul li a.active { color: #00bbf6; }
.items_conti2 > li { margin-bottom: 20px; }

.rectangle_conti { /*overflow: hidden;*/ /*width: 100%;*/ text-align: center; display: none; /*box-sizing: border-box;*/ margin-left: -20px; }
    .rectangle_conti > li { width: 25%; box-sizing: border-box; float: right; vertical-align: top; padding-left: 20px; margin-bottom: 20px; }
        .rectangle_conti > li > div { position: relative; overflow: hidden; background-color: #fff; padding: 15px; box-sizing: border-box; text-align: right; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); border-radius: 5px; font-size: 0.8em; }
            .rectangle_conti > li > div::after { content: ""; display: block; height: 4px; position: absolute; right: 0; top: 0; left: 0; background-color: #3dc9ee; transform: scaleX(0); -ms-transform: scaleX(0); -webkit-transform: scaleX(0); transition: -webkit-transform .2s cubic-bezier(.22,.61,.36,1); transition: transform .2s cubic-bezier(.22,.61,.36,1); transition: transform .2s cubic-bezier(.22,.61,.36,1), -webkit-transform .2s cubic-bezier(.22,.61,.36,1); -webkit-transition: transform .2s cubic-bezier(.22,.61,.36,1); -moz-transition: transform .2s cubic-bezier(.22,.61,.36,1); -o-transition: transform .2s cubic-bezier(.22,.61,.36,1); }
            .rectangle_conti > li > div:hover::after, .rectangle_conti > li > div:focus::after { transform: scaleX(1); -ms-transform: scaleX(1); -webkit-transform: scaleX(1); }
        .rectangle_conti > li:nth-child(3n) > div { }
        .rectangle_conti > li > div > a { position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
        .rectangle_conti > li h2 { font-weight: 700; color: #0b5890; font-size: 1.2em; margin-bottom: 5px; height: 45px; overflow: hidden; }
        .rectangle_conti > li p { margin-bottom: 20px; }
            .rectangle_conti > li p span { font-weight: 100; }
            .rectangle_conti > li p strong { }
        .rectangle_conti > li .image_conti { margin: 0 auto 20px; width: 100%; box-sizing: border-box; height: 0; padding-bottom: 90%; background-position: center center; background-repeat: no-repeat; background-size: cover; }
            .rectangle_conti > li .image_conti img { width: 100%; opacity: 0; height: 0; overflow: hidden; }
        .rectangle_conti > li .price { width: 100%; overflow: hidden; font-weight: 700; text-align: center; font-size: 1.2em; margin-bottom: 3px; }
        .rectangle_conti > li .quantity_conti { width: 100%; margin-bottom: 10px; }
            .rectangle_conti > li .quantity_conti .select_conti { width: 60px; top: 0; right: 0; z-index: 10; position: absolute; }
                .rectangle_conti > li .quantity_conti .select_conti select { border-radius: 10px; border: 1px solid #d0d0d0; height: 39px; }
            .rectangle_conti > li .quantity_conti .add_to_cart_conti { width: 100%; min-height: 30px; }
            .rectangle_conti > li .quantity_conti .add_to_cart { position: relative; width: 100%; color: #fff; text-align: center; display: inline-block; padding: 9px 20px; box-sizing: border-box; font-weight: 500; border-radius: 5px; background-color: #0b5890; border: solid 2px #039ccc; }
                .rectangle_conti > li .quantity_conti .add_to_cart.disabeld { background-color: #a2a2a2 !important; color: #000; }
                .rectangle_conti > li .quantity_conti .add_to_cart:hover, .rectangle_conti > li .quantity_conti .add_to_cart:focus { background-color: #00bbf6; }
        /*.rectangle_conti > li .quantity_conti .add_to_cart i {position:absolute;left:10px;top:5px;display:none; }*/
        .rectangle_conti > li small { display: block; text-align: center; overflow: hidden; width: 100%; color: #a2a2a2; font-size: 0.9em; margin-bottom: 10px; }
            .rectangle_conti > li small.free { font-weight: 500; font-size: 16px; line-height: 11px; color: #e8565f; }
        .rectangle_conti > li .more_details_conti { padding-top: 0; overflow: hidden; }
        .rectangle_conti > li .not_in_stock .more_details_conti { padding-top: 65px; }
        .rectangle_conti > li .more_details_conti .more_info { float: right; color: #0b5890; font-weight: 500; vertical-align: bottom; }
        .rectangle_conti > li .more_details_conti .socials { float: left; }
            .rectangle_conti > li .more_details_conti .socials ul { vertical-align: bottom; }
                .rectangle_conti > li .more_details_conti .socials ul li { display: inline-block; margin-right: 5px; }
                    .rectangle_conti > li .more_details_conti .socials ul li a { color: #0b5890; font-size: 1.2em; position: relative; }
                        .rectangle_conti > li .more_details_conti .socials ul li a:hover { color: #00bbf6; }
                        .rectangle_conti > li .more_details_conti .socials ul li a i { }
.vat_include { display: block; text-align: center; margin-bottom: 10px; }
.vat_include2 { font-weight: 400; font-size: 0.8em; display: block; }
    .vat_include2.inline { display: inline-block; }
.product_warranty2 { width: 35% !important; padding: 0 10px 0 0 !important; border-right: 1px solid #d0d0d0; }
    .product_warranty2 > ul { }
        .product_warranty2 > ul > li { display: block; margin-bottom: 10px; text-align: right; }
            .product_warranty2 > ul > li .flex { margin-bottom: 5px; }
                .product_warranty2 > ul > li .flex > strong { font-size: 1.1em; }
                .product_warranty2 > ul > li .flex > img { max-height: 25px; }
            .product_warranty2 > ul > li .text { }
                .product_warranty2 > ul > li .text > p { font-size: 1.1em; }

.more_details_conti { overflow: hidden; width: 100%; padding-top: 20px; box-sizing: border-box; }
    .more_details_conti .more_details { display: none; margin-bottom: 20px; }

.random_products { background-color: #e6e7e7; font-size: 0.9em; }
    .random_products > h2 { text-align: center; width: 100%; display: block; color: #0b5890; background-color: #ececec; padding: 10px 0; box-sizing: border-box; font-weight: 700; margin-bottom: 10px; }
    .random_products li { margin-bottom: 10px; }
        .random_products li:last-child { margin-bottom: 0; }
    .random_products a { display: block; }
.random_products_conti { background-color: #f5f5f5; position: relative; padding: 5px 5px; box-sizing: border-box; width: 100%; overflow: hidden; }
.random_products a .square { width: 35%; display: block; margin: 0 auto; float: right; }
.mini_product_price { float: right; width: 65%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 23px 10px 5px 5px; box-sizing: border-box; }
    .mini_product_price p { display: block; font-size: 1.1em; }
.random_products p strike { font-weight: 300; }
.random_products_conti > div { float: right; font-size: 0.7em; width: 85%; }
.random_products_conti > span { background-color: #0b5890; color: #fff; width: 30px; height: 95px; line-height: 95px; font-weight: 500; text-align: center; position: absolute; left: 0; top: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); transition: all 0.5s ease-in-out; -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; -o-transition: all 0.5s ease-in-out; }
.random_products p { margin-bottom: 0; font-size: 1em; font-weight: 500; padding: 5px 5px; box-sizing: border-box; }
    .random_products p .orange_color { font-size: 1.2em; }
.mini_product_headline { background-color: #d0d0d0; }
.random_products a:hover span, .random_products a:focus span { background-color: #00bbf6; }
/*.extra_details { margin-bottom: 30px; }*/
/*.extra_details_buttons_conti { overflow: hidden; width: 100%; background-color: #f3f3f3; padding: 10px; box-sizing: border-box; margin-bottom: 0; }*/
/*.extra_details_buttons_conti ul { }*/
/*.extra_details li { display: inline-block; }*/
/*.extra_details li a { display: block; font-weight: 500; font-size: 1.2em; padding: 10px 15px; box-sizing: border-box; }*/
/*.extra_details li a.active { background-color: #4c8bc1; }*/
/*.product_long_desc_inside_page { border: 1px solid #e6e7e7; padding: 15px; box-sizing: border-box; font-size: 0.95em; }*/
/*.product_long_desc_inside_page h3 { font-weight: 700; margin-bottom: 10px; font-size: 1.2em; }*/
/*.active_exstra_details { background-color: #f7cb3d !important; color: #333 !important; }*/
/*.models { border: 1px solid #e6e7e7; }*/
.models > ul { padding: 0; box-sizing: border-box; }
.models ul { display: table; width: 100%; list-style-type: none; }
.models > ul > li { display: table-cell; width: calc(100% / 3); }
    .models > ul > li:nth-child(3n) { border-left: none; }
    /*.models > ul > li ul { padding: 10px; box-sizing: border-box; }*/
    .models > ul > li ul li { margin-bottom: 0; /*font-size: 0.8em;*/ font-size: 14px; line-height: 115%; width: 100%; box-sizing: border-box; padding: 5px; box-sizing: border-box; }
        .models > ul > li ul li:first-child { background-color: transparent; padding: 0; }
        .models > ul > li ul li:nth-child(even) { background-color: #fff; }
        .models > ul > li ul li h3 { font-weight: 500; font-size: 16px; margin-right: 5px; }


.bigger_image { position: fixed; width: 100%; height: 100%; z-index: 100000; background-color: rgba(0,0,0,0.8); top: 0; right: 0; padding: 50px; box-sizing: border-box; display: none; }
.bigger_image_conti { width: 100%; max-width: 700px; margin: auto; position: relative; left: 0; right: 0; top: 50%; bottom: 0; text-align: center; transform: translateY(-50%); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); }
    .bigger_image_conti a { width: 100%; display: block; }
    .bigger_image_conti .zoom { width: 100%; }
.close_bigger_image { position: absolute; color: #fff; right: -30px; top: -30px; opacity: 0.5; font-size: 20px; width: 30px !important; height: 30px; display: inline-block !important; }
    .close_bigger_image:hover, .close_bigger_image:focus { opacity: 1; }
.bigger_image .arrow { position: absolute; color: #fff; font-size: 3em; top: 0; bottom: 0; width: 50px; height: 50px; z-index: 10; }
.bigger_image .prev { right: -40px; margin: auto 0; }
.bigger_image .next { left: -40px; margin: auto 0; }
/*new shop*/
.product_all_details { width: 75%; float: right; padding: 10px 20px 10px 0; box-sizing: border-box; overflow: hidden; }
    .product_all_details h2 { font-weight: 700; color: #0b5890; }
.manufacturer_conti { margin-bottom: 5px; }
.item_catelog { color: #a2a2a2; font-size: 0.95em; display: block; }
.product_all_details_right { float: right; position: relative; width: 50%; }
    .product_all_details_right a { bottom: -100px; position: absolute; }
.product_all_details_left { float: left; width: 50%; }
    .product_all_details_left .select_conti { display: inline-block; float: left; }
        .product_all_details_left .select_conti select { border-radius: 10px; background-color: #fff; border: 1px solid #d0d0d0; height: 39px; }
    .product_all_details_left .add_to_cart { background-color: #0b5890; color: #fff; text-align: center; display: inline-block; padding: 9px 17px; box-sizing: border-box; font-weight: 500; float: left; margin-right: 10px; border-radius: 5px; border: solid 2px #039ccc; }
        .product_all_details_left .add_to_cart:hover, .product_all_details_left .add_to_cart:focus { background-color: #00bbf6; }
    .product_all_details_left small { color: #a2a2a2; font-size: 0.95em; display: block; padding-top: 10px; box-sizing: border-box; text-align: left; overflow: hidden; width: 100%; }
.product_price_new_shop { overflow: hidden; padding-left: 5px 0; box-sizing: border-box; text-align: left; width: 100%; margin-bottom: 10px; display: block; font-size: 1.2em; }
/*new shop*/

/*End Shop*/

/*****Popup General*****/
.popup { background-color: rgba(31, 30, 30, 0.8); width: 100%; height: 100%; position: fixed; right: 0; top: 0; padding-top: 10%; z-index: 900; display: none; color: #343642; }
.popup_conti { background-color: #f3f3f3; border-radius: 5px; padding: 50px; box-sizing: border-box; max-width: 450px; width: 100%; margin: 0 auto; text-align: center; position: relative; }
.close_popup { position: absolute; color: #f3f3f3; font-size: 25px; top: -30px; right: 0; }
.popup_conti h2 { margin-bottom: 20px; }
.popup_conti .buttons_conti { }
    .popup_conti .buttons_conti li { width: 49%; margin-left: 2%; float: right; }
        .popup_conti .buttons_conti li:nth-child(even) { margin-left: 0; }
        .popup_conti .buttons_conti li .button { display: block; font-weight: 500; }

/*Continue Purchase Popup*/
.continue_purchase_popup { z-index: 1000000; }
    .continue_purchase_popup .buttons_conti { }
        .continue_purchase_popup .buttons_conti > ul { }
            .continue_purchase_popup .buttons_conti > ul > li { }
                .continue_purchase_popup .buttons_conti > ul > li .button { border: none; }
/*End Continue Purchase Popup*/

/***Up Sale Popup***/
.popup_conti2 { position: fixed; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); right: 0; top: 0; z-index: 1000000; padding: 10px; box-sizing: border-box; overflow-y: auto;  }
.product_added_popup { }
    .product_added_popup .popup2 { color: #202020; background-color: #F1F6F8; margin: 0 auto; width: 100%; top: 5%; position: relative; max-width: 768px; border-radius: 10px; box-shadow: 0px 5px 8px #00000075; box-sizing: border-box; }
    .product_added_popup .close_popup2 { position: absolute; right: initial; left: 10px; top: 25px; color: #353535; width: 32px; height: 32px; line-height: 32px; box-sizing: border-box; text-align: center; }
    .product_added_popup .popup_title { background-color: #fff; margin-bottom: 25px; text-align: center; padding: 20px; box-sizing: border-box; border-radius: 10px 10px 0 0; }
        .product_added_popup .popup_title .check { text-align: center; width: 32px; height: 32px;   margin-left: 10px; }
        .product_added_popup .popup_title .title { color: #202020; font-weight: 700; font-size: 2.2em; }
.popup_conti2 .popup_content { padding: 0 20px 20px 20px; box-sizing: border-box; background-color: #F1F6F8; }
.popup_conti2 .popup_buttons { }
    .popup_conti2 .popup_buttons > ul { padding: 0 20px; box-sizing: border-box; }
        .popup_conti2 .popup_buttons > ul > li { width: 49%; }
            .popup_conti2 .popup_buttons > ul > li > * { display: block; padding: 14px 5px; box-sizing: border-box; box-shadow: 0px 3px 6px #00000059; border-radius: 10px; font-size: 1.15em; font-weight: 700; text-align: center; color: #fff; }
.popup_conti2 .more_products_title { font-size: 1.5em; font-weight: 500; display: block; text-align: center; margin-bottom: 22px; }
.popup_conti2 .more_products { margin-bottom: 32px; }
    .popup_conti2 .more_products > ul { }
        .popup_conti2 .more_products > ul > li { width: 32%; margin-left:1.5%;margin-bottom:1.5%;}
            .popup_conti2 .more_products > ul > li:nth-child(3n), .popup_conti2 .more_products > ul > li:last-child { margin-left: 0; }
.popup_conti2 .popup_prod { display: block; background-color: #fff; box-shadow: 0px 3px 6px #00000029; border-radius: 5px; padding: 20px; box-sizing: border-box; }
    .popup_conti2 .popup_prod .prod_title { overflow: hidden; height: 36px; margin-bottom: 16px; text-align: center; }
        .popup_conti2 .popup_prod .prod_title > h2 { color: #1C598F; font-weight: 700; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .popup_conti2 .popup_prod .prod_image { width: 100%; padding-bottom: 100%;margin-bottom:5px; background-position:center center;background-repeat:no-repeat;background-size:contain; }
    .popup_conti2 .popup_prod .prod_price { display: block; text-align: center; font-weight: 700; margin-bottom: 21px; }
    .popup_conti2 .popup_prod .prod_add { display: block; width: 100%; border-radius: 5px; background-color: #66A033; color: #fff; text-align: center; font-weight: 500; padding: 6px 5px; box-sizing: border-box; }
        .popup_conti2 .popup_prod .prod_add.active { background-color: #00BBF6; }
        .popup_conti2 .popup_prod .prod_add .hidden { display: none; }
        .popup_conti2 .popup_prod .prod_add.active span { display: none; }
        .popup_conti2 .popup_prod .prod_add.active .hidden { display: block; }
/***End Up Sale Popup***/

/*****End Popup General******/
/*Category Popup*/
.category_popup_conti { background-color: rgba(0,0,0,0.8); width: 100%; height: 100%; position: fixed; right: 0; top: 0; padding-top: 10%; z-index: 900; display: none; }
.category_popup { background-color: #ECECEC; border-radius: 20px; padding: 50px; box-sizing: border-box; max-width: 450px; width: 100%; margin: 0 auto; color: #343642; text-align: center; position: relative; }
    .category_popup > div { font-size: 1.1em; margin-bottom: 20px; }
    .category_popup strong { display: block; font-weight: 500; }
    .category_popup span { font-weight: 500; padding: 5px 0; display: block; }
        .category_popup span strong { display: inline-block; }
    .category_popup .yellow_color { color: #00bbf6; }
    .category_popup p { }
    .category_popup form { max-width: 220px; margin: 0 auto; }
        .category_popup form ul { }
            .category_popup form ul li { margin-bottom: 10px; }
                .category_popup form ul li i { color: #343642; }
                .category_popup form ul li select { border-radius: 10px; }
                .category_popup form ul li button { display: block; width: 100%; padding: 0; box-sizing: border-box; font-size: 1.1em; }
                    .category_popup form ul li button span { display: inline-block; }
                    .category_popup form ul li button i { color: #fff; }
.show_filter_mobile { display: none; }
.close_search_poup { position: absolute; color: #f3f3f3; font-size: 25px; top: -30px; right: 0; font-family: 'Rubik', sans-serif; font-weight: bold; }
#popup_search_form .like_select { padding: 0; }
/*#popup_search_form .like_select.color_gray { background-color: #fff !important; }*/
#popup_search_form .select_conti { height: 38px; }
    #popup_search_form .select_conti select { opacity: 0; height: 39px; }
/*End Category Popup*/


/*Cart Page*/
.cart_amount_conti { position: absolute; top: 50px; left: 0; width: 300px; background-color: #fff; z-index: 900; display: none; }
    .cart_amount_conti .fa-caret-up { color: #0b588e; font-size: 70px; position: absolute; top: -45px; left: 20px; }
.cart_amount_headline { color: #fff; background-color: #0b588e; display: block; padding: 20px; box-sizing: border-box; font-size: 1.2em; }
.cart_amount_conti .product_details_conti { padding: 10px; box-sizing: border-box; overflow: hidden; width: 100%; }
    .cart_amount_conti .product_details_conti .image_conti { background-color: #e6e8e7; width: 25%; height: 0; padding-bottom: 25%; float: right; }
.cart_amount_conti .product_text_details { float: left; width: 75%; padding-right: 10px; box-sizing: border-box; font-size: 0.85em; }
    .cart_amount_conti .product_text_details .product_text_headline { color: #0b588e; display: block; margin-bottom: 10px; font-size: 1.1em; }
.cart_amount_conti .product_text_product_price .orange_color { }
.cart_amount_conti .product_text_product_price { }
.product_text_product_price > div { display: inline-block; }
.shiping { }
    .shiping .azure_bg, .shiping .green_bg { padding: 20px; color: #fff; display: block; border-radius: 5px; }
.orang_button { color: #fff !important; float: none; margin-bottom: 10px; max-width: 150px; width: 100%; }


.cart_page { overflow: hidden; width: 100%; padding-top: 10px; box-sizing: border-box; }
    .cart_page .buttons_conti { width: 100%; overflow: hidden; }
        .cart_page .buttons_conti a { float: left; font-weight: 700; }
.cart_items { }
    .cart_items li { background-color: #fff; padding: 20px 15px 5px 15px; width: 100%; box-sizing: border-box; margin-bottom: 20px; position: relative; font-size: 0.9em; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); overflow: hidden; border-radius: 5px; }
        .cart_items li .image_conti { float: right; width: 12%; padding-bottom: 13%; height: 0; background-color: #fff; }
        .cart_items li .cart_items_details { width: 60%; float: right; padding-right: 15px; box-sizing: border-box; }
            .cart_items li .cart_items_details .cart_items_headline { /*margin-bottom: 10px;*/ }
                .cart_items li .cart_items_details .cart_items_headline h2 { color: #0b5890; display: inline-block; }
                .cart_items li .cart_items_details .cart_items_headline p { color: #a2a2a2; display: block; }
        .cart_items li .product_price_cart_conti > div { display: inline-block; }

.prodcut_cart_delete_or_inc { float: left; width: 15%; padding-top: 23px; box-sizing: border-box; }
    .prodcut_cart_delete_or_inc .qSelect { float: right; width: 75px; }
    /*.prodcut_cart_delete_or_inc .select_conti { display: inline-block; }*/
    /*.prodcut_cart_delete_or_inc .select_conti select { border-radius: 10px; box-sizing: border-box; border: 1px solid #d0d0d0; height: 39px; opacity: 0; }*/
    .prodcut_cart_delete_or_inc .delete_item { font-size: 1.5em; padding: 8px 10px 0 0; box-sizing: border-box; display: block; float: left; }
    .prodcut_cart_delete_or_inc .like_select { padding: 9px 10px; }

.cart_page .shiping { margin-bottom: 20px; }
.cart_total_price { }
    .cart_total_price > div { margin-bottom: 10px; font-size: 1.1em; border-bottom: 1px solid #d0d0d0; padding-bottom: 10px; }
.cupon_button { max-width: 160px; width: 100%; border-radius: 10px; border: 1px solid #d0d0d0; text-align: center; padding: 9px 10px; display: inline-block; box-sizing: border-box; }
.cart_page .cart_total_price .orang_button { margin-right: 0; float: left; margin-bottom: 0; }

.add_to_newsllter { color: #00bbf6; position: relative; margin-bottom: 10px; border-bottom: 1px solid #d0d0d0; padding-bottom: 10px; width: 100%; overflow: hidden; }
    .add_to_newsllter .checkbox_conti { position: absolute; right: 0; top: 0; }
        .add_to_newsllter .checkbox_conti span { border: 2px solid #00bbf6; }
    .add_to_newsllter label { vertical-align: top; display: inline-block; padding-right: 20px; }
.total_payment { display: inline-block; vertical-align: top; padding-top: 18px; float: left; }

#elCart .right4 { padding-left: 20px; }

#elCartForm { margin-bottom: 20px; width: 100%; max-width: 300px; }
    #elCartForm #elDelivery { /*display: table; width: 100%;*/ position: relative; margin-bottom: 10px; }
        #elCartForm #elDelivery > .qSelect { margin-bottom: 5px; }
        #elCartForm #elDelivery > [data-role="info"] { display: table; background-color: #f8f8f8; border: 1px solid #cfcfcf; }
            #elCartForm #elDelivery > [data-role="info"][hidden] { display: none; }
            #elCartForm #elDelivery > [data-role="info"] > div { display: table-cell; vertical-align: middle; padding: 10px; }
                #elCartForm #elDelivery > [data-role="info"] > div:first-child { background-color: #0b5890; color: #fff; }
                #elCartForm #elDelivery > [data-role="info"] > div > ul { }
                    #elCartForm #elDelivery > [data-role="info"] > div > ul > li { }
                    #elCartForm #elDelivery > [data-role="info"] > div > ul, #elCartForm #elDelivery > [data-role="info"] > div > ul article p, #elCartForm #elDelivery > [data-role="info"] > div > ul article ul li { font-size: 14px; line-height: normal; }
                        #elCartForm #elDelivery > [data-role="info"] > div > ul article *:last-of-type { margin-bottom: 0 !important; }
    #elCartForm .qSelect select, #elCartForm .qSelect .qSelect_overlay span, #elCartForm input { font-size: 16px; line-height: 1; }
    #elCartForm #elCoupon { position: relative; margin-bottom: 10px; }
        #elCartForm #elCoupon > div { position: absolute; top: 0; bottom: 0; left: 0; right: 0; border-radius: 5px; overflow: hidden; pointer-events: none; }
            #elCartForm #elCoupon > div > .loadingBar { position: absolute; bottom: 0; }
        #elCartForm #elCoupon input { border-radius: 5px; border: 1px solid #cfcfcf; padding: 6px 10px; padding-left: 30px; }
        #elCartForm #elCoupon i { position: absolute; left: 10px; top: 0; bottom: 0; height: 16px; margin: auto 0; pointer-events: none; opacity: 0; visibility: hidden; transition: all 0.15s ease; -webkit-transition: all 0.15s ease; }
            #elCartForm #elCoupon i.valid { color: #4FBA6F; }
            #elCartForm #elCoupon i.invalid { color: #DE0B0B; }
            #elCartForm #elCoupon i.active { opacity: 1; visibility: visible; }

        #elCartForm #elCoupon a { background-color: #0b5890; color: #fff; padding: 0 9px; border-radius: 5px 0 0 5px; position: absolute; left: 0; top: 0; bottom: 0; opacity: 1; transform: scaleX(1); -webkit-transform: scaleX(1); transform-origin: left; -webkit-transform-origin: left; transition: all 0.25s ease; -webkit-transition: all 0.25s ease; }
            #elCartForm #elCoupon a[disabled] { opacity: 0; transform: scaleX(0); -webkit-transform: scaleX(0); }
            #elCartForm #elCoupon a:hover { background-color: #00bbf6; }
            #elCartForm #elCoupon a i { vertical-align: middle; line-height: 33px; font-size: 14px; }
    /*#elCartForm > div > div { display: table-cell; vertical-align: middle; }
        #elCartForm > div > div:last-of-type { padding-right: 10px; }*/
    #elCartForm label { display: block; }
    #elCartForm > ul { display: table; width: 100%; margin-bottom: 20px; line-height: 1.2; }
        #elCartForm > ul > li { display: table-row; }
            #elCartForm > ul > li > div { display: table-cell; }
                #elCartForm > ul > li > div:last-child { text-align: left; }
            #elCartForm > ul > li:nth-last-child(2) > div { padding-bottom: 5px; }
            #elCartForm > ul > li:last-child > div { font-weight: 500; border-top: 1px solid #cfcfcf; padding-top: 5px; }
    #elCartForm > strong { display: block; margin-bottom: 10px; }
    #elCartForm > button { font-size: 16px; padding: 8px 10px; line-height: 1; min-width: 100px; width: 100%; }
.payment_methods { font-size: 1em; }

#elCartEmpty { text-align: center; margin-bottom: 50px; }
    #elCartEmpty strong { font-size: 24px; font-weight: 500; }
    #elCartEmpty p { margin-bottom: 10px; }
    #elCartEmpty a { margin: 0; }

.delivery_method { }
    .delivery_method > ul { border: 1px solid #d0d0d0; }
        .delivery_method > ul > li { border-bottom: 1px solid #d0d0d0; padding: 10px; box-sizing: border-box; position: relative; }
            .delivery_method > ul > li:last-child { border: none; }
            .delivery_method > ul > li > label { display: inline-block !important; font-weight: 500; cursor: pointer; /*vertical-align: top; padding-top: 2px;*/ }
                .delivery_method > ul > li > label > input[type="radio"] { display: inline-block; margin-top: 0; cursor: pointer; }
            .delivery_method > ul > li > div { padding: 10px; box-sizing: border-box; font-size: 0.8em; line-height: 120%; }
    .delivery_method .show_details { position: absolute; left: 3px; top: 8px; color: #fff; font-size: 0.8em; padding: 5px 5px; border-right: 1px solid #d0d0d0; }
        .delivery_method .show_details > img { display: inline-block; }
        .delivery_method .show_details.active > img { transform: rotate(180deg); }
/*End Cart Page*/

/*Blog*/
.blog_conti_page { padding-left: 20px; box-sizing: border-box; border-left: 1px solid #d0d0d0; }
    .blog_conti_page > ul > li + li { /*background-color: #f3f3f3; display: block; overflow: hidden;*/ margin-top: 20px; }
    .blog_conti_page li > div { /*padding: 0 20px 0 20px; box-sizing: border-box;*/ }
    .blog_conti_page > ul > li > div > h2 { font-weight: 700; font-size: 2em; margin-bottom: 10px; color: #0b5890; }
    .blog_conti_page > ul > li .image_conti { margin-bottom: 10px; background-size: cover; background-position: center; }
    .blog_conti_page > ul > li .blog_date { font-size: 0.9em; color: #858686; margin-bottom: 20px; display: block; }
    /*.blog_conti_page li article { margin-bottom: 20px; }*/
    .blog_conti_page li .to_the_post_conti { background-color: #ececec; overflow: hidden; width: 100%; padding: 15px 20px; box-sizing: border-box; color: #0b5890; display: table; }
        .blog_conti_page li .to_the_post_conti .to_the_post { display: table-cell; vertical-align: middle; }
            .blog_conti_page li .to_the_post_conti .to_the_post span { font-weight: 700; }
            .blog_conti_page li .to_the_post_conti .to_the_post i { font-weight: bold; }
.blog_conti_pae li .to_the_post_conti .socials ul li { background-color: transparent; }
.blog_conti_page li .to_the_post_conti_InsidePage { background-color: transparent; }
    .blog_conti_page li .to_the_post_conti_InsidePage .socials { display: table-cell; }
.blog_conti_page h3 { font-weight: bold; }
.blog_conti_page p, .blog_conti_page h2, .blog_conti_page h3 { margin-bottom: 15px; }
    .blog_conti_page p > img { margin-bottom: 0; }
/*.blog_conti_page p > img:only-child { margin-bottom: -15px; }*/
.blog_conti_page small { font-size: 14px; font-weight: 500; }
.blog_conti_page article a { text-decoration: underline; }
.blog_conti_page article h2 { font-weight: 700; }
.blog_conti_page article a:hover { text-decoration: underline; }
.blog_conti_page li .to_the_post_conti_InsidePage { padding: 0; }
.blog_conti_page li .to_the_post_conti .socials ul li:first-child { margin-right: 0; }
.blog_conti_page + .qColumn { width: 250px; box-sizing: border-box; padding-right: 20px; }
    .blog_conti_page + .qColumn .newslter_form { padding: 0; margin-top: 10px; }
        .blog_conti_page + .qColumn .newslter_form h2 { text-align: right; }

.other_blog > h2 { font-weight: 700; margin: 15px 0; }

.date_of_publish { color: #858686; /*padding: 0 20px;*/ box-sizing: border-box; font-weight: 500; }
    .date_of_publish p { margin-bottom: 0; }

.more_blogs_conti { overflow: hidden; width: 100%; margin-bottom: 20px; text-align: center; }
    .more_blogs_conti ul { }
        .more_blogs_conti ul li { display: inline-block; width: 32.3%; margin-left: 1.2%; text-align: right; }
            .more_blogs_conti ul li .image_conti { width: 100%; margin-bottom: 10px; }
            .more_blogs_conti ul li:nth-child(3n) { margin-left: 0; }
            .more_blogs_conti ul li a { padding: 30px 20px; box-sizing: border-box; overflow: hidden; width: 100%; background-color: #f3f3f3; display: block; }
                .more_blogs_conti ul li a h2 { color: #0b5890; font-weight: 700; }

/*End Blog*/

/*About*/
.general_images_conti { padding: 30px 20px; box-sizing: border-box; }
    .general_images_conti li { margin-bottom: 20px; }
        .general_images_conti li .image_conti { margin-bottom: 5px; }
        .general_images_conti li:last-child { margin-bottom: 0; }
        .general_images_conti li a { display: block; }
        .general_images_conti li p { color: #858686; font-size: 0.9em; }

.general_big_images_conti { min-height: 1px; }
    .general_big_images_conti a { display: block; width: 100%; }
    .general_big_images_conti .image_conti { width: 100%; }
        .general_big_images_conti .image_conti img { width: 100%; vertical-align: bottom; }
    .general_big_images_conti p { color: #858686; font-size: 0.9em; }
/*End About*/

/*Faq*/
.i_conti { position: absolute; left: 5px; top: 18px; }
    .i_conti i { font-size: 2em; font-weight: bold; position: absolute; left: -5px; top: -7px; }
    .i_conti .fa-angle-down { color: #dddddd; }
    .i_conti .fa-angle-up { color: #0b5890; display: none; }
.answer { display: none; font-weight: 400; }
    .answer article { padding: 20px 0; box-sizing: border-box; }
        .answer article p { font-size: 1em; }

.faq_byCategory { width: 100%; padding: 0 100px; box-sizing: border-box; }
.padding_like_faq { padding: 0 100px; box-sizing: border-box; }
.faq_links { background-color: #f3f3f3; padding: 15px 20px; box-sizing: border-box; display: block; overflow: hidden; width: 100%; }
.faq_links_no_bg { background-color: transparent; }
.faq_links ul li a { font-size: 1.5em; }
.faq > ul > li > a > span { width: 100%; padding-left: 10px; box-sizing: border-box; display: block; }
/*End Faq*/
/*Service*/
.service { padding: 0 40px; box-sizing: border-box; }
.service_form { padding-top: 20px; box-sizing: border-box; }
    .service_form .short_li_conti { width: 80%; overflow: hidden; margin-bottom: 10px; }
    .service_form .half_li_conti { width: 100%; overflow: hidden; margin-bottom: 10px; }
    .service_form .short_li_conti li { float: right; width: 32.5%; margin-left: 1.2%; position: relative; }
    .service_form .half_li_conti li { float: right; width: 49%; margin-left: 2%; }
    .service_form .short_li_conti li:last-child { margin-left: 0; }
    .service_form .half_li_conti li:last-child { margin-left: 0; }

    .service_form.product_service_form { padding: 10px; margin-top: 20px; background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(243,243,243,1) 100%); background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(243,243,243,1) 100%); background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(243,243,243,1) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#f3f3f3',GradientType=1 ); }
        .service_form.product_service_form input { font-size: 14px; padding: 7px; }
        .service_form.product_service_form > .form_buttons > li:last-child { font-size: 14px; }
        .service_form.product_service_form .button { font-size: 14px; padding: 7px 14px; border-width: 1px; font-weight: 500; }

    .service_form .long_li_conti li { margin-bottom: 10px; }
    .service_form .button { max-width: 250px; width: 100%; font-weight: 700; font-size: 1.2em; line-height: normal; }
        .service_form .button i { font-weight: bold; }
    .service_form > .form_buttons { display: table; }
        .service_form > .form_buttons > li { display: table-cell; }
            .service_form > .form_buttons > li:last-child { padding-right: 15px; color: #0b5890; font-weight: 700; font-size: 1.2em; line-height: normal; }
                .service_form > .form_buttons > li:last-child > a:hover { color: #00bbf6; }
/*End Service*/

/*Register*/
.general_reg_form h2 { font-weight: 500; margin-bottom: 20px; }
    .general_reg_form h2 i { font-weight: bold; }
.general_reg_form a { color: #0b5890; text-decoration: underline; }
.general_reg_form li { margin-bottom: 10px; position: relative; }
.general_reg_form .short_li_conti { width: 100%; overflow: hidden; }
    .general_reg_form .short_li_conti li, .general_reg_form .short_li_buttons_conti li { width: 49.5%; float: right; margin-left: 1%; }
        .general_reg_form .short_li_conti li:nth-child(even), .general_reg_form .short_li_buttons_conti li:nth-child(even) { margin-left: 0; }
.general_reg_form .short_li_buttons_conti { width: 100%; overflow: hidden; }
    .general_reg_form .short_li_buttons_conti li .button, .full_width_li_third li .button { width: 100%; font-weight: 500; font-size: 16px; }
        /*.general_reg_form .short_li_buttons_conti li:nth-child(2) .button { width: 80%; }*/
        .general_reg_form .short_li_buttons_conti li .button i { font-weight: bold; }

.general_reg_form .addres_li_conti { overflow: hidden; width: 100%; }
    .general_reg_form .addres_li_conti li:first-child:nth-last-child(2), .general_reg_form .addres_li_conti li:first-child:nth-last-child(2) ~ li { float: right; width: 49.5%; margin-left: 1%; }
    .general_reg_form .addres_li_conti li:first-child:nth-last-child(3), .general_reg_form .addres_li_conti li:first-child:nth-last-child(3) ~ li { float: right; width: 32.6%; margin-left: 1%; }

    .general_reg_form .addres_li_conti li:nth-child(3), .general_reg_form .addres_li_conti li:nth-child(4) { width: 30%; }
    .general_reg_form .addres_li_conti li:last-child { margin-left: 0 !important; }

.general_reg_form .radio_li_conti { width: 100%; overflow: auto; }
    .general_reg_form .radio_li_conti li { float: right; margin-left: 10px; position: relative; }
        .general_reg_form .radio_li_conti li input[type=radio] { position: absolute; width: 10px; height: 10px; display: inline-block; cursor: pointer; opacity: 0; }
            .general_reg_form .radio_li_conti li input[type=radio] ~ label { cursor: pointer; }
            .general_reg_form .radio_li_conti li input[type=radio]:checked + span { background-color: #1c598f; border-color: #1c598f; }
            .general_reg_form .radio_li_conti li input[type=radio]:checked ~ label { color: #1c598f; font-weight: 500; }
        .general_reg_form .radio_li_conti li span { border: 1px solid #000; border-radius: 50%; height: 10px; width: 10px; display: inline-block; margin-left: 5px; vertical-align: middle; cursor: pointer; }

.general_reg_form li input:not([type="radio"]) { font-size: 16px; padding: 10px; }

/*.general_reg_form .section { }
    .general_reg_form .section > div { }*/
.general_reg_form .section > strong { background-color: #1c598f; color: #fff; display: block; padding: 10px; border-bottom: none; border-radius: 3px 3px 0 0; font-weight: 500; margin-bottom: 10px; }
    .general_reg_form .section > strong > small { font-weight: 400; font-size: 14px; }
/*End Register*/
/*Login*/
.login_form { margin-bottom: 40px; box-sizing: border-box; }
.full_width_li_third { width: 33%; }
.login_form_conti { padding-left: 40px; box-sizing: border-box; }
    .login_form_conti ul { width: 100%; }
/*End Login*/

/*Pay Page*/
.payPage { padding: 0 100px; box-sizing: border-box; }
    .payPage iframe { width: 100%; min-height: 500px; }
/*End Pay Page*/

/*Thank For Register*/
.thank_links { padding-top: 20px; box-sizing: border-box; overflow: hidden; width: 100%; margin-bottom: 40px; }
    .thank_links li { margin-bottom: 20px; }
    .thank_links a, .application_number a { color: #0b5890; font-weight: 700; }
        .thank_links a i, .application_number a i { font-weight: bold; }
/*End Thank For Register*/

/*Thanks For Contact*/
.application_number { padding-top: 20px; box-sizing: border-box; }
    .application_number .like_input { border-radius: 10px; border-style: solid; border-width: 2px; border-color: #cfcfcf; box-sizing: border-box; background-color: #ffffff; width: 185px; height: 40px; text-align: center; margin-bottom: 40px; line-height: 40px; font-weight: 500; margin-top: 10px; }
/*End Thanks For Contact*/

/*Error Page*/
.mini_nav { overflow: hidden; }
    .mini_nav li { color: #0b5890; float: right; margin-left: 15px; }
        .mini_nav li a { display: block; color: #0b5890; }

#elErrorPage { }
    #elErrorPage .payPage { padding: 0 30px; }
    #elErrorPage p { font-size: 1em; }
    #elErrorPage .error_page_search h2 { color: #000; margin-bottom: 5px; display: block; }
    #elErrorPage .error_page_search ul { /*float: right; width: 90%; padding-right: 0;*/ }
        #elErrorPage .error_page_search ul li:first-child { padding-right: 0; }
/*End Error Page*/

/*Product Filter*/
.multiselect { width: 200px; }
.selectBox { position: relative; }
    .selectBox select { width: 100%; }
.overSelect { position: absolute; left: 0; right: 0; top: 0; bottom: 0; }
#checkboxes { border: 1px #dadada solid; overflow-y: scroll; max-height: 100px; }
    #checkboxes label { display: block; }
        #checkboxes label:hover { background-color: #1e90ff; }
/*End Product Filter*/

/*Gallery*/
#items-container { padding: 50px 0; box-sizing: border-box; }
    #items-container .item { background-color: #f3f3f3; padding: 15px; box-sizing: border-box; overflow: hidden; border: 1px solid #d0d0d0; margin-bottom: 25px !important; }
.galcolumn { box-sizing: border-box; padding: 0 25px; }
#items-container .item .nlb { margin-bottom: 15px; display: block; }
.image_short_desc_conti { overflow: hidden; width: 100%; }
    .image_short_desc_conti h2 { font-weight: 500; }
    .image_short_desc_conti .text_conti { float: right; }
    .image_short_desc_conti a { color: #373333; font-weight: 500; float: left; width: 30%; border: 2px solid #d0d0d0; padding: 5px; box-sizing: border-box; display: block; border-radius: 5px; text-align: center; }
        .image_short_desc_conti a:hover, .image_short_desc_conti a:focus { background-color: #d0d0d0; }
        .image_short_desc_conti a i { font-weight: bold; }

.gallery_description { padding: 20px 10px 0 10px; box-sizing: border-box; width: 100%; margin-bottom: 10px; }
.more_from_artist { width: 100%; overflow: hidden; }
    .more_from_artist ul { float: left; }
        .more_from_artist ul li { float: right; margin-right: 10px; }
            .more_from_artist ul li a { display: block; }
            .more_from_artist ul li .face { display: block; color: #0b5890; font-size: 2em; vertical-align: top; }
            .more_from_artist ul li .artist { color: #373333; font-weight: 500; float: left; border: 2px solid #d0d0d0; padding: 5px; box-sizing: border-box; display: block; border-radius: 10px; text-align: center; }
                .more_from_artist ul li .artist:hover, .more_from_artist ul li .artist:focus { background-color: #d0d0d0; }
            .more_from_artist ul li .face:hover, .more_from_artist ul li .face:focus { color: #d0d0d0; }
/*End Gallery*/
/*AntiqueCars*/
.search_antique { overflow: hidden; width: 100%; box-sizing: border-box; }
.search_antique_checkbox { float: right; padding-top: 10px; box-sizing: border-box; }
    .search_antique_checkbox ul { }
        .search_antique_checkbox ul li { display: inline-block; position: relative; margin-left: 10px; }
            .search_antique_checkbox ul li span { background-color: #fff; width: 15px; height: 15px; display: inline-block; vertical-align: top; }
            .search_antique_checkbox ul li input[type=checkbox] { position: absolute; cursor: pointer; width: 15px; height: 15px; right: 0; top: 0; opacity: 0; }
                .search_antique_checkbox ul li input[type=checkbox]:checked + span::after { font: normal normal normal 14px/1 FontAwesome; content: "\f00c"; }
            .search_antique_checkbox ul li label { color: #fff; }

.search_antique form { float: left; }
    .search_antique form ul { }
        .search_antique form ul li { display: inline-block; margin-right: 10px; }
            .search_antique form ul li label { color: #fff; display: inline-block; margin-left: 10px; }
            .search_antique form ul li input { width: auto; border-radius: 10px; }
            .search_antique form ul li button { font-weight: 500; font-size: 1.3em; }
                .search_antique form ul li button i { font-weight: bold; }

.antique_cars_conti { padding: 50px 0; box-sizing: border-box; }
    .antique_cars_conti > ul { }
        .antique_cars_conti > ul::after { content: ""; width: 100%; height: 1px; display: block; clear: both; }
        .antique_cars_conti > ul > li { float: left; width: 100%; margin-bottom: 5px; background-color: #e1e1e1; box-sizing: border-box; position: relative; }
.image_sale_buy { position: absolute; right: -23px; }
.antique_cars_conti > ul > .car_sale { border-right: 2px solid #0b5890; }
.antique_cars_conti > ul > .car_buy { border-right: 2px solid #2d2d2d; }

.antique_cars_conti > ul > li .right { width: 66.6%; padding: 20px; box-sizing: border-box; float: right; position: relative; height: 0; padding-bottom: 13%; }
.antique_cars_conti > ul > li .left { width: 33.3%; box-sizing: border-box; float: left; }
.antique_cars_conti > ul > li > a { }
.antique_cars_conti > ul > .car_sale a h2 { color: #0b5890; font-weight: 700; margin-bottom: 20px; font-size: 1.5em; }
.antique_cars_conti > ul > .car_buy a h2 { color: #2d2d2d; font-weight: 700; margin-bottom: 20px; font-size: 1.5em; }
.antique_cars_conti > ul > li a:hover h2, .antique_cars_conti > ul > li a:focus h2 { color: #ff6000 !important; }
.antique_cars_conti > ul > li article { }
.price_and_socials { position: absolute; bottom: 0; width: 100%; right: 0; overflow: hidden; padding: 20px; box-sizing: border-box; }
    .price_and_socials strong { float: right; }
    .price_and_socials .socials { float: left; }
        .price_and_socials .socials li { display: inline-block; margin-right: 10px; }
            .price_and_socials .socials li a { color: #0b5890; }

.megnefyGlass { display: none; }
/*End AntiqueCars*/

/*AntiqueCars Inside Page*/
.small_images { }
.car_thumbs { overflow: hidden; padding-top: 5px; }
    .car_thumbs li { float: right; width: 33%; margin-left: 0.5%; }
        .car_thumbs li:nth-child(3n) { margin-left: 0; }
        .car_thumbs li a { display: block; }
            .car_thumbs li a img { width: 100%; vertical-align: bottom; }
.antique_cars_conti_inside_page { padding-top: 0; }
    .antique_cars_conti_inside_page > ul > li .right { height: 100%; padding-bottom: 50px; }
/*End AntiqueCars Inside Page*/

/*Checkout*/
.checkout_form_conti { background-color: #ececec; margin: 0 auto 20px auto; padding: 20px; box-sizing: border-box; }
    .checkout_form_conti > iframe { width: 100%; margin: 0 auto; text-align: center; min-height: 481px; }
.checkout_form { max-width: 900px; width: 100%; margin: 0 auto; text-align: center; }
    .checkout_form h2 { display: block; text-align: right; margin-bottom: 20px; }
    .checkout_form ul li { margin-bottom: 10px; float: right; text-align: right; position: relative; }
    /*.checkout_form ul li select { opacity: 0; height: 41px; }*/
    .checkout_form .qSelect .qSelect_overlay { padding: 10px; }
        .checkout_form .qSelect .qSelect_overlay span { font-size: 16px; line-height: normal; }
    .checkout_form ul li input { background-color: #fff; /*color: #CFCFCF;*/ width: 100%; border-radius: 5px; border: 1px solid #cfcfcf; padding: 10px; font-size: 16px; }
    .checkout_form ul li .select_conti { height: 46px; }
        .checkout_form ul li .select_conti .like_select { height: 46px; padding: 14px 10px; background-color: #fff; }
            .checkout_form ul li .select_conti .like_select i { top: 12px; }
    .checkout_form .short_li_conti { }
        .checkout_form .short_li_conti li { width: 49.5%; margin-left: 1%; position: relative; }
            .checkout_form .short_li_conti li:nth-child(even) { margin-left: 0; }
    .checkout_form .forth_li_conti li { width: 24%; margin-left: 1.33%; }
        .checkout_form .forth_li_conti li:nth-child(4n) { margin-left: 0; }
    .checkout_form .button { display: inline-block; margin-top: 10px; font-weight: 500; width: 140px; font-size: 1.1em; }
    .checkout_form p { padding: 10px 0; box-sizing: border-box; display: block; text-align: right; }

#elAcceptTerms > li { display: inline-block; }
#elAcceptTerms .field-validation-error { right: 100%; white-space: nowrap; left: initial; margin-right: 5px; }
/*End Checkout*/
/*product partial*/
.product_item { background-color: #fff; padding: 20px; box-sizing: border-box; font-size: 1em; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); overflow: hidden; border-radius: 5px; position: relative; display: table; table-layout: fixed; width: 100%; }
    .product_item::after { content: ""; display: block; width: 4px; position: absolute; right: 0; top: 0; bottom: 0; background-color: #3dc9ee; transform: scaleY(0); -ms-transform: scaleY(0); -webkit-transform: scaleY(0); transition: -webkit-transform .2s cubic-bezier(.22,.61,.36,1); transition: transform .2s cubic-bezier(.22,.61,.36,1); transition: transform .2s cubic-bezier(.22,.61,.36,1), -webkit-transform .2s cubic-bezier(.22,.61,.36,1); -webkit-transition: transform .2s cubic-bezier(.22,.61,.36,1); -moz-transition: transform .2s cubic-bezier(.22,.61,.36,1); -o-transition: transform .2s cubic-bezier(.22,.61,.36,1); }
    .product_item:hover::after { transform: scaleY(1); -ms-transform: scaleY(1); -webkit-transform: scaleY(1); }
    .product_item > a { position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
    .product_item .image_conti { width: 20%; background-color: #fff; /*position: absolute; right: 5px; top: 0;*/ display: table-cell; vertical-align: middle; padding-left: 20px; box-sizing: border-box; }
        .product_item .image_conti a { display: block; text-align: center; }
        .product_item .image_conti > a img { /*width: 100%; border-bottom: 1px solid #d0d0d0; padding-bottom: 0; margin-bottom: 5px;*/ }
        .product_item .image_conti a span { font-size: 0.8em; }
        .product_item .image_conti a .magnefy { font-size: 1em; position: absolute; right: 20px; top: 20px; pointer-events: none; }
        .product_item .image_conti a span i { font-weight: normal; }
        .product_item .image_conti a:hover, .product_item .image_conti a:focus { opacity: 0.8; }
.product_price_and_details { display: table-cell; width: 80%; padding-right: 20px; box-sizing: border-box; border-right: 1px solid #d0d0d0; }
.product_item .product_details { /*float: left; width: 80%; padding-right: 30px; box-sizing: border-box;*/ display: table; table-layout: fixed; width: 100%; }
    .product_item .product_details > div { display: table-cell; width: 65%; vertical-align: top; padding-left: 10px; box-sizing: border-box; }
    .product_item .product_details h2 { font-weight: 700; color: #0b5890; font-size: 1.2em; margin-bottom: 10px; display: block; }
        .product_item .product_details h2 > a:hover, .product_item .product_details h2 > a:focus { border-bottom: 2px solid #0b5890; }
    .product_item .product_details h3 { }
    .product_item .product_details h4 { font-size: 0.9em; margin-bottom: 5px; font-weight: 500; }
    .product_item .product_details p { font-size: 0.9em; line-height: 1; }
        .product_item .product_details p > img { display: none; }
    .product_item .product_details small { color: #00bbf6; font-size: 0.8em; display: block; padding-top: 10px; }
        .product_item .product_details small.free { font-weight: 500; font-size: 16px; color: #e8565f; }
    .product_item .product_details > .product_warranty { width: 35%; font-size: 1.1em; padding: 0 10px 0 5px; border-right: 1px solid #d0d0d0; box-sizing: border-box; }
        .product_item .product_details > .product_warranty > ul { }
            .product_item .product_details > .product_warranty > ul > li { position: relative; width: 100%; margin-bottom: 10px; }
                .product_item .product_details > .product_warranty > ul > li:nth-child(1) { background-color: #f3f3f3; padding: 5px; box-sizing: border-box; }
                    .product_item .product_details > .product_warranty > ul > li:nth-child(1)::after { content: ""; position: absolute; right: 0; top: -5px; width: 80%; height: 100%; padding: 5px 0; }
                    .product_item .product_details > .product_warranty > ul > li:nth-child(1)::before { content: "\f005"; position: absolute; left: 8px; top: 9px; transform: translateY(-50%); width: 10px; height: 10px; display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; color: #FCC947; z-index: 3; }
                .product_item .product_details > .product_warranty > ul > li > .image_conti { position: absolute; width: 68px; right: 0; top: 0; z-index: 2; background-color: transparent; }
                .product_item .product_details > .product_warranty > ul > li:nth-child(1) > .image_conti { top: 50%; transform: translateY(-50%); }
                .product_item .product_details > .product_warranty > ul > li > .image_conti img { width: 100%; }
                .product_item .product_details > .product_warranty > ul > li > .image_conti.new img { width: 30px; margin: 0 auto; display: block; }
                .product_item .product_details > .product_warranty > ul > li > .text { width: 100%; padding-right: 45px; box-sizing: border-box; position: relative; z-index: 1; }
                    .product_item .product_details > .product_warranty > ul > li > .text strong { color: #0b5890; margin-bottom: 5px; display: block; }
                    .product_item .product_details > .product_warranty > ul > li > .text p { }


.product_item .product_price_conti { /*float: left; width: 80%; padding-right: 30px; box-sizing: border-box;*/ padding-top: 10px; }
    .product_item .product_price_conti > div { border-top: 1px solid #d0d0d0; border-bottom: 1px solid #d0d0d0; padding: 7px 0; box-sizing: border-box; width: 100%; margin-bottom: 10px; }
        .product_item .product_price_conti > div > a { float: right; padding-top: 10px; margin-left: 10px; }
        .product_item .product_price_conti > div .select_conti { width: 60px; float: right; }
            .product_item .product_price_conti > div .select_conti select { opacity: 0; height: 33px; }
        .product_item .product_price_conti > div .product_price { float: right; color: #0b5890; margin: 0; /*padding-top: 8px; padding-right: 10px;*/ }
            .product_item .product_price_conti > div .product_price > span { }
            .product_item .product_price_conti > div .product_price strike { }
    .product_item .product_price_conti .buttons_conti > li { float: right; width: 50%; box-sizing: border-box; }
    .product_item .product_price_conti .buttons_conti > :first-child { padding-left: 5px; }
    .product_item .product_price_conti .buttons_conti > :last-child { padding-right: 5px; }
    .product_item .product_price_conti .add_to_cart, .product_item .product_price_conti .buttons_conti a { display: block; width: 100%; position: relative; }

    .product_item .product_price_conti .buttons_conti2 > li { float: right; width: 33%; box-sizing: border-box; padding-left: 5px; }
    .product_item .product_price_conti .buttons_conti2 > :last-child { padding-right: 0; }
.more_details_button { background-color: #d0d0d0 !important; }
    .more_details_button:hover, .more_details_button:focus { background-color: #a2a2a2 !important; color: #fff !important; }

.product_item .socials { /*padding-top: 8px;*/ float: left; }
    .product_item .socials ul { float: left; }
        .product_item .socials ul li { display: inline-block; font-size: 1.2em; margin-right: 10px; }
            .product_item .socials ul li:first-child { margin: 0; }
            .product_item .socials ul li a { display: block; color: #0b5890; position: relative; }
                .product_item .socials ul li a:hover, .product_item .product_price_conti .socials ul li a:focus { color: #00bbf6; }
                .product_item .socials ul li a i { }

li[data-product].add_gesture, .product_item.add_gesture { animation: add_gesture 0.5s ease forwards; -webkit-animation: add_gesture 0.5s ease forwards; transition: top 0.5s ease, left 0.5s ease; -webkit-transition: top 0.5s ease, left 0.5s ease; }

@-webkit-keyframes add_gesture {
    0% { -webkit-transform: scale(1) rotateX(0deg); transform: scale(1) rotateX(0deg); }
    75% { opacity: 1; }
    100% { -webkit-transform: scale(0.1) rotateX(75deg); transform: scale(0.1) rotateX(75deg); opacity: 0; }
}

@keyframes add_gesture {
    0% { -webkit-transform: scale(1) rotateX(0deg); transform: scale(1) rotateX(0deg); }
    75% { opacity: 1; }
    100% { -webkit-transform: scale(0.1) rotateX(75deg); transform: scale(0.1) rotateX(75deg); opacity: 0; }
}

.product_extra_images { width: 100%; float: right; }
    .product_extra_images > ul { display: block; width: 100%; overflow: hidden; }
        .product_extra_images > ul > li { float: right; width: 33.3% !important; }
            .product_extra_images > ul > li > a { display: block; }
                .product_extra_images > ul > li > a img { width: 100%; }
/*end product partial*/

/* Product Inner */
.product_and_brands { display: table; }
    .product_and_brands > div { display: table-cell; vertical-align: top; position: relative; }
.shadow { box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); border-radius: 5px; }
.product_and_brands > div:first-child { z-index: 1; overflow: hidden; border-radius: 0 5px 5px 0; }
    .product_and_brands > div:first-child > ul { position: relative; }
        .product_and_brands > div:first-child > ul > li { position: absolute; top: 100%; height: 100%; transition: top 0.5s ease-in-out; }
            .product_and_brands > div:first-child > ul > li.active { top: 0; z-index: 2; }
.product_and_brands.just_product > div:first-child { z-index: 1; /*box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);*/ overflow: hidden; border-radius: 5px; }
.product_and_brands .product_item { height: 100%; border-radius: 0; box-shadow: none; width: 100%; }
    .product_and_brands .product_item:after { content: none; }
    .product_and_brands .product_item .image_conti { vertical-align: top; width: 200px; }
    .product_and_brands .product_item .product_price_conti > div { display: table; }
        .product_and_brands .product_item .product_price_conti > div > * { float: none; display: table-cell; vertical-align: middle; text-align: right; }
        .product_and_brands .product_item .product_price_conti > div > :first-child:not(.product_price) { width: 75px; }
        .product_and_brands .product_item .product_price_conti > div > .product_price { padding-right: 10px; }
.product_and_brands .brands { width: 250px; background-color: #d4d4d4; border-radius: 5px 0 0 5px; padding: 15px 17px; font-size: 15px; overflow: auto; }
    .product_and_brands .brands > a { display: none; font-size: 20px; height: 20px; padding: 10px; margin: auto 0; position: absolute; top: 0; bottom: 0; }
        .product_and_brands .brands > a:active { color: #1c598f; }
        .product_and_brands .brands > a:first-of-type { right: 0; }
        .product_and_brands .brands > a:last-of-type { left: 0; }
        .product_and_brands .brands > a[disabled] { pointer-events: none; opacity: 0.5; }
    .product_and_brands .brands h2 { text-align: center; margin: 0; padding-bottom: 15px; border-bottom: 1px solid #b7b7b7; }
    .product_and_brands .brands ul { position: absolute; top: 60px; bottom: 10px; left: 17px; right: 17px; }
        .product_and_brands .brands ul li { width: 100%; }
            .product_and_brands .brands ul li + li { margin-top: 10px; }
            .product_and_brands .brands ul li a { display: table; height: 40px; width: 100%; background-color: #fff; border-radius: 5px; box-sizing: border-box; border: 1px solid transparent; position: relative; transition: background-color 0.15s linear; }
                .product_and_brands .brands ul li a:hover { border-color: #1c598f; }
                .product_and_brands .brands ul li a.active { pointer-events: none; background-color: #1c598f; color: #fff; box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5); }
                .product_and_brands .brands ul li a:after { content: ""; width: 0; height: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-left: 0 solid #fff; position: absolute; top: 50%; left: 100%; margin-left: 1px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transition: border-left-width 0.15s linear, border-left-color 0.15s linear; }
                .product_and_brands .brands ul li a.active:after { border-left-width: 10px; border-left-color: #1c598f; }
                .product_and_brands .brands ul li a > div { display: table-cell; vertical-align: middle; }
                    .product_and_brands .brands ul li a > div:first-child { width: 100%; padding: 0 5px; }
                    .product_and_brands .brands ul li a > div:last-child { padding: 0 10px; white-space: nowrap; }
                    .product_and_brands .brands ul li a > div > img { height: 32px; vertical-align: middle; }
.color_name { text-shadow: 0 1px 2px rgba(0, 0, 0, 0.36); padding-right: 30% !important; box-sizing: border-box; }
.colord { width: 15px; height: 15px; display: inline-block; vertical-align: middle; margin-left: 10px; border: 1px solid #000; }

.extra_details_conti { position: relative; overflow: hidden; margin-bottom: 15px; background-color: #fff; border-radius: 0 0 5px 5px; box-sizing: border-box; }
    .extra_details_conti > li { position: absolute; top: 0; right: 0; left: 0; bottom: 0; opacity: 0; visibility: hidden; transition: all 0.5s ease-in-out; }
        .extra_details_conti > li.active { opacity: 1; visibility: visible; z-index: 2; }
        .extra_details_conti > li > div { display: table; }
            .extra_details_conti > li > div > * { display: table-cell; vertical-align: top; }
            .extra_details_conti > li > div > .extra_details_buttons_conti { width: auto; padding-left: 5px; min-width: 223px; box-sizing: border-box; }
                .extra_details_conti > li > div > .extra_details_buttons_conti li { white-space: nowrap; width: 100%; overflow: hidden; }
                    .extra_details_conti > li > div > .extra_details_buttons_conti li + li { margin-top: 5px; }
                    .extra_details_conti > li > div > .extra_details_buttons_conti li > a { position: relative; border: 1px solid #e6e7e7; color: #1c598f; font-size: 16px; font-weight: 100; display: block; padding: 13px; }
                        .extra_details_conti > li > div > .extra_details_buttons_conti li > a:after { content: ""; position: absolute; right: -6px; top: 0; bottom: 0; width: 5px; background-color: #1c598f; transition: right 0.15s ease-out; }
                        .extra_details_conti > li > div > .extra_details_buttons_conti li > a.active { padding-right: 18px; font-weight: 500; }
                            .extra_details_conti > li > div > .extra_details_buttons_conti li > a.active:after { right: 0; }
            .extra_details_conti > li > div > :last-child { width: 100%; border: 1px solid #e6e7e7; padding: 13px 17px; position: relative; }
                .extra_details_conti > li > div > :last-child > * { display: none; }
                    .extra_details_conti > li > div > :last-child > *.active { display: block; }
            .extra_details_conti > li > div .product_long_desc { font-size: 14px; margin: 0; }
                .extra_details_conti > li > div .product_long_desc > :last-child, .extra_details_conti > li > div .product_long_desc > ul:last-child > li:last-child { margin-bottom: 0 !important; }
                .extra_details_conti > li > div .product_long_desc h3 { font-size: 16px; font-weight: bold; margin-bottom: 10px; }
                .extra_details_conti > li > div .product_long_desc ul { margin-bottom: 0; }
                    .extra_details_conti > li > div .product_long_desc ul > li, .extra_details_conti > li > div > .product_long_desc p { font-size: 14px; }
                .extra_details_conti > li > div .product_long_desc .video_conti { position: relative; height: 0; padding-bottom: 65%; margin-bottom: 20px; }
                    .extra_details_conti > li > div .product_long_desc .video_conti > *, .extra_details_conti > li > div .product_long_desc .video_conti > * > * { position: absolute; right: 0; top: 0; width: 100%; height: 100%; }
/*.other_products > h2 { border: 1px solid #e6e7e7; color: #1c598f; font-size: 16px; padding: 13px; padding-right: 18px; font-weight: 500; margin-bottom: 15px; position: relative; }
    .other_products > h2:after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 5px; background-color: #1c598f; transition: right 0.15s ease-out; }*/
.other_products .rectangle_conti { margin-left: -15px; }
    .other_products .rectangle_conti > li { width: 20%; padding-left: 15px; margin-bottom: 15px; }
        .other_products .rectangle_conti > li > div { text-align: center; }
        .other_products .rectangle_conti > li .image_conti { max-width: 125px; }
        .other_products .rectangle_conti > li h2, .other_products .rectangle_conti > li .price { font-size: 14px; }
        .other_products .rectangle_conti > li .quantity_conti { margin-bottom: 0; }
        .other_products .rectangle_conti > li .more_details_conti, .other_products .rectangle_conti > li p, .other_products .rectangle_conti > li small { display: none; }

/* End Product Inner */
/*Art*/
.art_gallery_conti { }
    .art_gallery_conti > ul { }
        .art_gallery_conti > ul > li { float: right; width: 50%; text-align: center; margin-bottom: 20px; }
            .art_gallery_conti > ul > li:nth-child(odd) { padding-left: 20px; box-sizing: border-box; border-left: 1px solid #707070; }
            .art_gallery_conti > ul > li:nth-child(even) { padding-right: 20px; box-sizing: border-box; }
            .art_gallery_conti > ul > li > a { display: block; margin-bottom: 22px; height: 0; background-position: center center; background-repeat: no-repeat; background-size: cover; padding-bottom: 58.5%; }
                .art_gallery_conti > ul > li > a img { width: 100%; }
            .art_gallery_conti > ul > li > .image_short_desc_conti { width: 100%; }
                .art_gallery_conti > ul > li > .image_short_desc_conti .text_conti { width: 100%; float: none; }
                    .art_gallery_conti > ul > li > .image_short_desc_conti .text_conti h2 { margin-bottom: 10px; font-size: 1.4em; }
                    .art_gallery_conti > ul > li > .image_short_desc_conti .text_conti p { font-size: 1.1em; }
                .art_gallery_conti > ul > li > .image_short_desc_conti .like_a { float: none; display: inline-block; border: none; background-color: #0b5890; color: #fff; border-radius: 20px; width: auto; padding: 5px 20px; box-sizing: border-box; }
            .art_gallery_conti > ul > li .seen_and_date { padding-top: 21px; margin-bottom: 27px; display: block; font-size: 0.9em; }
                .art_gallery_conti > ul > li .seen_and_date > span { display: inline-block; margin-left: 30px; color: #A5A5A5; }
                    .art_gallery_conti > ul > li .seen_and_date > span:nth-of-type(2) { margin-left: 0; }
                    .art_gallery_conti > ul > li .seen_and_date > span img { display: inline-block; vertical-align: bottom; margin-left: 5px; }
/*End Art*/

/*Disassembly*/
.disassembly_form { }
    .disassembly_form .long_li_conti { margin-bottom: 10px; }
        .disassembly_form .long_li_conti li { width: 32%; position: relative; float: right; margin-left: 2%; height: 46px; }
            .disassembly_form .long_li_conti li:last-child { margin-left: 0; }
    .disassembly_form ul:last-of-type li:last-child { }
    .disassembly_form .long_li_conti li .select_conti { }
        .disassembly_form .long_li_conti li .select_conti .like_select { }
            .disassembly_form .long_li_conti li .select_conti .like_select span { padding: 5px; }
            .disassembly_form .long_li_conti li .select_conti .like_select i { }
        .disassembly_form .long_li_conti li .select_conti select { opacity: 0; height: 46px; line-height: 46px; }
    .disassembly_form .button { width: 100%; padding: 5px 13px; box-sizing: border-box; font-weight: 400; font-size: 15px; border-radius: 8px 30px 30px 8px; border: none; position: relative; background-color: #0b5890; min-height: 34px; float: left; max-width: 150px; }
        .disassembly_form .button img { position: absolute; right: 4px; top: 6px; }
    .disassembly_form .qTooltip_container { position: absolute; z-index: 1; left: 10px; top: 50%; transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); }
    .disassembly_form .qTooltip_trigger { font-size: 12px; color: #fff; background-color: #0b5890; border-radius: 100%; width: 12px; padding: 2px; display: block; text-align: center; opacity: 0.75; }
        .disassembly_form .qTooltip_trigger:hover, .disassembly_form .qTooltip_trigger:focus { opacity: 1; }
    .disassembly_form .qTooltip { width: 233px; }
    .disassembly_form .qSelect_overlay { padding: 15px 13px; }
        .disassembly_form .qSelect_overlay > span { font-size: 17px; }

.disassembly_main_banner { width: 100%; height: 0; position: relative; padding-bottom: 20%; background-position: center center; background-repeat: no-repeat; background-size: cover; margin-bottom: 20px; }
.disassembly_main_banner_car { background-image: url(/Content/NewResources/disassembly/car.jpg); }
.disassembly_main_banner_truck { background-image: url(/Content/NewResources/disassembly/truck.jpg); }
.disassembly_main_banner h1 { font-size: 4em; width: 100%; text-align: center; height: 100%; position: absolute; right: 0; left: 0; top: 0; padding: 5% 10% 0 0; box-sizing: border-box; }
.disassembly_main_banner_truck h1 { width: 500px; display: block; margin: 0 auto; padding: 3% 0 0 0; }
/*End Disassembly*/

/*Main Search New*/
.main_search { background-color: #0b5890; border-radius: 5px; }
.main_search_index { margin-top: 20px; }
.main_search .general_form h2 { color: #fff; text-align: right; }
.main_search .general_form ul li .button { background-color: #00bbf6; }
    .main_search .general_form ul li .button:hover { /*background-color: #f3f3f3 !important;*/ color: #0b5890 !important; }
        .main_search .general_form ul li .button:hover > img:first-of-type { display: none; }
        .main_search .general_form ul li .button:hover > img:last-of-type { display: block; }
/*End Main Search New*/

/*Slide Show*/
.slide_show { width: 100%; }
    .slide_show > ul { width: 100%; padding-bottom: 35.5%; height: 0; overflow: hidden; position: relative; border-radius: 5px; }
        .slide_show > ul > li { z-index: 1; position: absolute; right: 0; top: 0; width: 100%; transition: all 1s ease-in-out; -webkit-transition: all 1s ease-in-out; -o-transition: all 1s ease-in-out; -moz-transition: all 1s ease-in-out; background-position: center center; background-repeat: no-repeat; background-size: cover; height: 100%; }
            .slide_show > ul > li:not(.active) { opacity: 0; z-index: 0; }
            .slide_show > ul > li > a { display: table; position: absolute; width: 100%; height: 100%; }
                .slide_show > ul > li > a > div { display: table-cell; }
                    .slide_show > ul > li > a > div.align_middle { vertical-align: middle; }
                    .slide_show > ul > li > a > div.align_center { text-align: center; }
                    .slide_show > ul > li > a > div > div { display: inline-block; }
                        .slide_show > ul > li > a > div > div p { margin: 0; line-height: 1; }
                        .slide_show > ul > li > a > div > div h2 { font-size: 70px; font-weight: 500; margin: 0; }
                        .slide_show > ul > li > a > div > div article { font-size: 43px; }
                        .slide_show > ul > li > a > div > div div { font-size: 28px; }
                            .slide_show > ul > li > a > div > div div span { font-weight: 500; display: inline-block; padding: 10px 20px; border-radius: 5px; }
/*End Slide Show*/

/* Site Map */
.list_reset { list-style: none; padding: 0; margin: 0; }
.columns { display: table; table-layout: fixed; width: 100%; }
    .columns > .column, ul.columns > li { display: table-cell; }

#elSiteMap h2, #elSiteMap h3 { margin-bottom: 10px; font-weight: 500; }
#elSiteMap h2 { font-size: 1.25em; }
#elSiteMap a span { display: inline-block; }
#elSiteMap article ul > li > ul { list-style: circle; }
    #elSiteMap article ul > li > ul.columns > li:first-child { width: 33.333%; }
/* End Site Map */

/*Cms*/
.cms { }
    .cms .headline { display: block; width: 100%; background-color: #e6e7e7; padding: 10px; box-sizing: border-box; margin-bottom: 10px; }
        .cms .headline h2 { margin-bottom: 0; }
    .cms .gray_strok { padding: 20px; box-sizing: border-box; }
    .cms .tbl { display: table; table-layout: fixed; width: 100%; }
        .cms .tbl > * { display: table-cell; vertical-align: bottom; }
    .cms .autocomplite_search { margin-bottom: 10px; }
        .cms .autocomplite_search .search_button_cotni { width: 71px; padding-right: 10px; }
        .cms .autocomplite_search .tbl > ul { width: 100%; }
            .cms .autocomplite_search .tbl > ul > li { position: relative; }
                .cms .autocomplite_search .tbl > ul > li > label { display: block; margin-bottom: 5px; }
                .cms .autocomplite_search .tbl > ul > li > input { width: 100% !important; }
    .cms .search_product_conti { position: absolute; border: 1px solid #cfcfcf; background-color: #fff; display: none; z-index: 10; top: 100%; margin-top: -1px; min-width: 100px; width: 100%; }
    .cms .autocomplite_search .tbl > ul > li > .search_product_conti > ul { overflow: auto; max-height: 300px; }
        .cms .autocomplite_search .tbl > ul > li > .search_product_conti > ul > li { box-sizing: border-box; }
            .cms .autocomplite_search .tbl > ul > li > .search_product_conti > ul > li input { }
            .cms .autocomplite_search .tbl > ul > li > .search_product_conti > ul > li > a { display: block; padding: 10px; box-sizing: border-box; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }

    .cms .products_conti { }
        .cms .products_conti .totals { margin-bottom: 10px; font-size: 1.5em; }
        .cms .products_conti .cms_product_item { margin-bottom: 10px; padding: 10px; box-sizing: border-box; border: 1px solid #d0d0d0; margin: 10px 0; position: relative; }
            .cms .products_conti .cms_product_item .delete_item { position: absolute; left: -5px; top: -5px; padding: 10px; box-sizing: border-box; }
                .cms .products_conti .cms_product_item .delete_item:hover { color: #00bbf6; }
            .cms .products_conti .cms_product_item > ul { }
                .cms .products_conti .cms_product_item > ul > li { float: right; vertical-align: top; width: 44%; margin-left: 1%; }
                    .cms .products_conti .cms_product_item > ul > li label { display: block; width: 100%; margin-bottom: 5px; }
                    .cms .products_conti .cms_product_item > ul > li:nth-child(3) { float: left; width: 10%; margin-left: 0; }
                    .cms .products_conti .cms_product_item > ul > li input { width: 100%; }
                    .cms .products_conti .cms_product_item > ul > li select { width: 100%; height: 44px; line-height: normal; }
    .cms .client_detials { }
        .cms .client_detials > ul { }
            .cms .client_detials > ul:not(.all_buttons) > li { float: right; width: 49%; margin-bottom: 10px; position: relative; }
                .cms .client_detials > ul:not(.all_buttons) > li:nth-child(even) { float: left; }
            .cms .client_detials > ul > li button { width: 100%; }

        .cms .client_detials .all_buttons { }
            .cms .client_detials .all_buttons > li { float: right; width: 32%; margin-left: 2%; }
                .cms .client_detials .all_buttons > li:last-child { margin-left: 0; }
                .cms .client_detials .all_buttons > li .button3 { border: none; }
        .cms .client_detials > ul > li .message { position: absolute; right: 10px; top: 0; color: #ff6000; display: inline-block; pointer-events: none; font-size: 0.8em; padding: 0 5px; box-sizing: border-box; border-radius: 5px; }
.has_message:focus ~ .message { top: -5px !important; background-color: #fff; }

.report_generation { }
    .report_generation form { }
        .report_generation form > div { }
        .report_generation form > ul { }
            .report_generation form > ul > li { float: right; width: 32%; margin-left: 2%; margin-bottom: 10px; }
                .report_generation form > ul > li label { display: block; margin-bottom: 5px; }
                .report_generation form > ul > li:last-child { margin-left: 0; }
                .report_generation form > ul > li select { padding: 13px 10px; box-sizing: border-box; }
    .report_generation table { width: 100%; margin-top: 20px; }
        .report_generation table thead { background-color: #e6e7e7; text-align: center; }
            .report_generation table thead tr { }
                .report_generation table thead tr td { padding: 10px; box-sizing: border-box; }
        .report_generation table tbody { text-align: center; }
            .report_generation table tbody tr { border-bottom: 1px solid #000; }
                .report_generation table tbody tr td { padding: 10px; box-sizing: border-box; }

.menu { }
    .menu > ul { text-align: center; }
        .menu > ul > li { display: inline-block; }
            .menu > ul > li > a { display: block; background-color: #00bbf6; color: #fff; border-radius: 5px 5px 0 0; padding: 10px; box-sizing: border-box; font-size: 1.2em; }
                .menu > ul > li > a:hover { background-color: #6ed9fb !important; }
            .menu > ul > li.active > a { background-color: #0b5890; }
.cms_item { display: none; }
    .cms_item.active { display: block; }
/*End Cms*/

@media only screen and (max-width : 1500px) { /*AntiqueCars*/
    /*.general_search { width: 25%; }*/
    /*End AntiqueCars*/
}

@media only screen and (max-width : 1366px) {
    /*AntiqueCars*/
    .antique_cars_conti > ul > li { width: 95%; }
    /*End AntiqueCars*/

    .top_header .logo { width: 300px; }
}

@media only screen and (max-width : 1180px) {
    /*Burger*/
    .burger { display: block; }
    header nav { width: 100%; z-index: 90000; position: fixed; display: none; top: 0; box-sizing: border-box; padding: 0; right: 0; height: 100%; background-color: rgba(0, 0, 0, 0.6); }
    .display_mobile { display: block !important; }
    .close_nav { display: block; font-size: 25px; }
    nav > div { background-color: #0b5890; max-width: 300px; position: absolute; right: -300px; top: 0; bottom: 0; padding: 45px 0 0 0; transition: all 0.2s ease-out; -webkit-transition: all 0.2s ease-out; -moz-transition: all 0.2s ease-out; -o-transition: all 0.2s ease-out; }
        nav > div > ul { float: right; width: 100%; padding-top: 0; margin: 0; font-size: 18px; padding: 0; display: block; }
            nav > div > ul > li { width: 100%; border-bottom: 1px solid #fff; padding: 0; box-sizing: border-box; text-align: center; margin-top: 0; border-left: none; display: block; }
                nav > div > ul > li:first-child { border-top: 1px solid #fff; }
            nav > div > ul > #form_li_conti { display: none; }
            nav > div > ul > li a { color: #fff; width: 100%; text-align: center; display: block; border-right: none; border-left: none; padding: 10px 10px; box-sizing: border-box; text-align: right; height: auto; }
                nav > div > ul > li a:hover > span { color: #fff; }
                nav > div > ul > li a:hover { background-color: #00bbf6; }
                nav > div > ul > li a::after, nav > div > ul > li a > .fa { display: none; }
    nav.active > div { right: 0; }
    /*End Burger*/

    /*General Classses*/
    .mobile_headline { color: #0b5890; text-align: center; padding-bottom: 10px; }
    .auto_margin { padding: 0 10px; box-sizing: border-box; }
    .dont_mobile { display: none !important; }
    .show_text { display: block; }
    .bred_conti { padding: 10px 10px 0 10px; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    /*.general_form { text-align: center; padding: 0 10px 0 10px; box-sizing: border-box; overflow: hidden; width: 100%; }
        .general_form h2 { float: none; margin-bottom: 10px; font-size: 1.2em; padding-top: 10px; }
        .general_form ul { width: 100%; }
            .general_form ul li { width: 24% !important; margin-left: 1.3%; margin-bottom: 10px; }
                .general_form ul li:not(:nth-child(1)) { }
                .general_form ul li:nth-child(4) { margin-left: 0; }
                .search_conti .general_form form > ul > li.last_child, .general_form ul li.last_child { width: 49% !important; float: left; }
                .search_conti .general_form form > ul > li.clear_form, .general_form ul li.clear_form { width: auto !important; left: -10px; right: initial; position: absolute; bottom: 2px; }
                    .search_conti .general_form form > ul > li.clear_form a, .general_form ul li.clear_form a { position: static; }
        .general_form form { position: relative; padding-bottom: 25px; }*/
    .top_article_inside_page { overflow: hidden; max-height: 70px; }
    .left4, .right4 { width: 100%; padding: 10px; box-sizing: border-box; }
    .general_form { position: relative; }
    /*.clear_form a { position: absolute; top: 15px; left: 10px; }*/
    .show_logos { /*display: block;*/ width: 100%; color: #0b5890; text-align: center; padding: 12px 10px; box-sizing: border-box; font-size: 18px; }
        .show_logos img { display: inline-block; vertical-align: bottom; }
        .show_logos span { display: inline-block; font-size: 15px; vertical-align: top; padding-top: 2px; }
    /*.product_page_headline { padding-bottom: 0; }*/
    .qColumns.qColumns_break, .qColumns.qColumns_break > .qColumn { display: block; }
    /*.qColumns.qColumns_break > .qColumn { display: block; }*/

    /*End General Classses*/
    /*Header*/
    .top_header { min-height: 64px; display: block; }
    .links li:not(:last-child) { display: none; }
    .links li.display_in_mobile { display: table-cell !important; }

    .top_header .links { width: auto; padding-right: 0; display: block; position: absolute; left: 15px; top: 20px; }
        .top_header .links li { /*padding-left: 10px; box-sizing: border-box; margin-top: -20px;*/ }
            .top_header .links li a { text-align: center; display: block; /*width: 20px;*/ }
                .top_header .links li a span, .top_header .links li a i { display: block; float: none; margin: 0; }
                .top_header .links li a i { font-size: 1.8em; }
                .top_header .links li a span:not(.item_in_cart) { display: none; }
    .top_header .accessibility_conti { position: absolute; display: block; right: 50px; top: 15px; }
    .top_header .logo { position: absolute; width: auto; height: 43px; width: 130px; left: 0; right: 0; margin: auto; }
        .top_header .logo img { margin: 0 auto; }
    .top_header .links li a img { padding-left: 0; }
    .cart_amount_conti { top: 60px; }
        .cart_amount_conti .fa-caret-up { left: 10px; }
    .drop_menu { display: none; }
    .open_search { }
    /*.open_search img { width: 22px; }*/

    .top_header .general_search { width: 100%; /* float: left; */ box-sizing: border-box; position: absolute; z-index: 20; top: 100%; padding: 15px 5px; display: none; right: 0; background-color: #f3f3f3; border-bottom: 1px solid #cfcfcf; }
    .close_form_mobile { display: block; position: absolute; left: 5px; border-radius: 50%; border: 1px solid #CFCFCF; top: 0; bottom: 0; width: 40px; height: 40px; line-height: 40px; text-align: center; font-size: 20px; color: #cfcfcf; margin: auto 0; }
    .general_search > ul { clear: both; }
        .general_search > ul > li { padding-left: 0; }
    .general_search button { left: 21%; }
    .general_search > ul > li input { width: 80%; }
    .top_header .links li a .item_in_cart { position: absolute; top: -12px; }
    .desktop { display: none !important; }
    /*.top_header { padding: 10px 20px 20px 20px; }*/
    /*End Header*/
    /*Footer*/
    .right_side_footer { width: 100%; }
    .left_side_footer { width: 100%; text-align: center; margin-bottom: 20px; padding: 0; }
    .footer_nav > li { width: 100% !important; padding-bottom: 10px; border-bottom: 1px dashed #9a9cab; margin-bottom: 10px; border-left: none !important; border-right: none !important; padding: 0 0 10px 0 !important; }
    .footer_social { display: inline-block; padding: 0; }
    .footer_logo img { width: 100%; }
    footer .credit { text-align: center; }
    .footer_nav > li > ul > li { padding: 0; }
    .footer_nav > li:nth-child(2) ul li { width: 100%; }
    .footer_logo { padding: 0; width: 100%; text-align: center; max-width: 100%; }
        .footer_logo img { max-width: 400px; }
    .footer_nav > li:nth-child(1)::after, .footer_nav > li:nth-child(1)::before, .footer_nav > li:nth-child(3)::after { display: none; }
    /*End Footer*/
    /*Index*/
    #elFilters .main_search { transition: padding-top 0.25s ease-in-out, padding-bottom 0.25s ease-in-out; -webkit-transition: padding-top 0.25s ease-in-out, padding-bottom 0.25s ease-in-out; -o-transition: padding-top 0.25s ease-in-out, padding-bottom 0.25s ease-in-out; -moz-transition: padding-top 0.25s ease-in-out, padding-bottom 0.25s ease-in-out; }
        #elFilters .main_search .general_form h2 { cursor: pointer; position: relative; padding-right: 17px; }
            #elFilters .main_search .general_form h2:before { font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; content: "\f056"; font-size: 14px; position: absolute; right: 0; top: 0; bottom: 0; height: 14px; margin: auto 0; }
    #elFilters.minimized .main_search .general_form ul { /*display: none;*/ }
    #elFilters.minimized .main_search { padding: 7px 10px; }
        #elFilters.minimized .main_search .general_form h2:before { /*content: "\f055";*/ }
        #elFilters.minimized .main_search .general_form form { max-width: 100%; }
    #elFilters.minimized > div:last-child:not(:first-child) { height: 0; overflow: hidden; }

    .parts { display: block; padding: 0; margin-bottom: 20px; border: 0; }
        .parts li { width: 25%; margin-left: 0; float: right; }
            .parts li:nth-child(4n) a:after { content: none; }
            /*.parts li:nth-child(n+9) { display: none; }*/
            .parts li a .image_conti { height: 100px; }
            .parts li a .category_name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .show_more_parts, .show_faq_mobile { display: block; }
    .show_faq_mobile { background-color: transparent; }
        .show_faq_mobile i { color: #ff6000; }
    .faq { display: none; width: 100%; margin: 0 0 10px 0; }
    .faq_inisde_page .faq { display: block; }
    .faq_byCategory { padding: 0; box-sizing: border-box; }
    .go_to_page { background-color: #343642; display: block; text-align: center; font-weight: 500; padding: 15px 0; box-sizing: border-box; color: #fff; width: 100%; font-size: 1.1em; }

    .open_contact_form article { font-size: 1em; }

    .testamonials { padding: 10px 0 157px 0; font-size: 0.95em; }
        .testamonials > ul > li { width: 100%; position: absolute; padding: 0 30px; box-sizing: border-box; }
            /*.testamonials > ul > li:not(:nth-child(1)) { display: none; }*/
    .nav_buttons { display: block; position: absolute; bottom: 60%; width: 100%; right: 0; left: 0; margin: 0 auto; }

    .our_clients ul li a img { width: 80%; }



    .main_content { margin-top: 0; padding: 0 10px; box-sizing: border-box; }
        .main_content article { /*margin-top: -10px;*/ padding: 15px; }

    /*End Index*/
    /*shop by category*/
    .items_conti > li .right3, .items_conti > .li .item_left .right3 { width: 75%; padding-right: 10px; box-sizing: border-box; margin-bottom: 20px; }
    .items_conti > li .left3, .items_conti > .li .item_left .left3 { width: 100%; text-align: center; }
    .items_conti > li .right3 small, .items_conti > .li .item_left small { margin-bottom: 0; display: inline-block; }
    .items_conti > li .more_info { display: inline-block; }
    .items_conti > li .item_price { display: block; }
    .items_conti > li .left3 .select_conti, .items_conti > .li .item_left .left3 .select_conti { display: inline-block; float: none; }
    /*.items_conti > li .left3 .add_to_cart, .items_conti > .li .item_left .left3 .add_to_cart { display: inline-block; float: none; }*/
    .items_conti > li .left3 > small, .items_conti > .li .item_left .left3 > small { text-align: center; }
    .items_conti .socials { float: none; }
    .items_conti2 > li { margin-bottom: 15px; }
    .right2 { width: 75%; box-sizing: border-box; }
    .left2 { width: 25%; position: relative; }
    .center { width: 100%; padding-top: 20px; }
        .center.full_widthInner { width: 100% !important; }
    .show_filter_mobile { display: block; text-align: center; font-size: 1.9em; box-sizing: border-box; }
    .filter { padding: 15px; box-sizing: border-box; width: auto; position: absolute; top: 100%; margin-top: 10px; background-color: #f3f3f3; right: -100%; margin-right: -11px; z-index: 10; border-radius: 5px 0 0 5px; border: 1px solid #d0d0d0; box-shadow: 0 3px 6px rgba(0,0,0,0.16); transition: all 0.333s ease-in-out; -webkit-transition: all 0.333s ease-in-out; -o-transition: all 0.333s ease-in-out; -moz-transition: all 0.333s ease-in-out; }
        .filter > div { display: block; }
        .filter #elFilterSort + div { padding: 0; margin-top: 10px; max-width: 255px; }
        .filter #elFilterSort ul, .filter #elFilterSort ul li { }

    .random_products { width: 100%; }
        .random_products a .square { max-width: 100px; }

    .shop_headline { max-width: 100%; }
    /*end shop by category*/

    /*general form*/
    .gray_strok { padding: 10px; box-sizing: border-box; }
    /*end general form*/

    /*Product Page*/
    /*.items_conti > .li .item_left { width: 100%; margin-bottom: 20px; padding: 0; }
    .items_conti > .li .image_conti_product_page { width: 100%; }
        .items_conti > .li .image_conti_product_page > .image_conti { display: none; }
    .items_conti > .li .image_conti_product_page_new > .image_conti { display: block; width: 150px; margin: 0 auto 10px auto; }

    .items_conti > .li .item_left strong { display: inline-block; }
    .items_conti > .li .item_left .product_price { text-align: center; display: block; }
    .items_conti > .li .more_details_conti { text-align: center; }*/
    .left3 { width: 100%; padding: 0; margin-top: 20px; }
    /*.product_long_desc { padding: 0 20px; box-sizing: border-box; }*/
    /*End Product Page*/

    /*Gallery*/
    .galcolumn { box-sizing: border-box; padding: 0; }
    /*End Gallery*/

    /*AntiqueCars*/
    .antique_cars_conti > ul > li .left { width: 100%; }
    .antique_cars_conti > ul > li .right { width: 100%; padding: 20px 20px 80px 20px;; box-sizing: border-box; height: 100%; }

    .megnefyGlass { display: block; float: left; color: #fff; display: block; padding: 0 10px; box-sizing: border-box; font-size: 1.5em; }
    .search_antique_checkbox { padding: 5px 10px; box-sizing: border-box; }
    .search_antique form { display: none; position: fixed; background-color: rgba(11, 88, 144, 0.8); width: 100%; height: 100%; top: 0; z-index: 900; padding: 80px 20px 20px 20px; box-sizing: border-box; }
        .search_antique form ul { display: block; width: 100%; max-width: 500px; margin: 0 auto; }
            .search_antique form ul li { width: 100%; margin-bottom: 10px; }
                .search_antique form ul li label { width: 100%; display: block; margin-bottom: 10px; text-align: center; font-weight: 500; font-size: 1.2em; }
                .search_antique form ul li input { width: 100%; }
                .search_antique form ul li button { width: 100%; background-color: #f7cb3d !important; }
    /*End AntiqueCars*/
    .categories_conti_shop_in_mobile li { display: block !important; }
    .left_mobile_full, .right_mobile_full { width: 100% !important; padding: 20px; box-sizing: border-box; border-left: 0; }
        .right_mobile_full img { max-width: 340px; margin: 0 auto; display: block; }
    /*.gallery_links { padding: 0 10px; box-sizing: border-box; }*/
    .blog_main_conti { margin-bottom: 20px; padding: 0; }
    .blog_conti_page { width: 100%; padding-left: 0; border-left: 0; margin-top: 20px; }
        .blog_conti_page p > img { max-width: 500px; }
        .blog_conti_page li .image_conti img { max-height: 400px; }
        .blog_conti_page + .qColumn { width: 100%; padding: 0; margin: 15px 0; }
            .blog_conti_page + .qColumn .date_of_publish > p { display: inline-block; }
            .blog_conti_page + .qColumn .newslter_form h2 { margin-bottom: 10px; }

    /* Cart Page */
    #elCart .right4 { padding-left: 10px; }
    .cart_items li:last-child { }
    #elCartForm { max-width: 100%; }
    /* End Cart Page */
}

@media only screen and (max-width :1080px) {
    .show_search_form { font-weight: 500; text-align: center; padding: 12px 10px; box-sizing: border-box; animation: bounce 0.8s ease-in-out infinite alternate forwards 2s; -webkit-animation: bounce 0.8s ease-in-out infinite alternate forwards 2s; transition: all 0.5s ease-in-out; font-size: 15px; background-color: #0b5890; color: #fff; }
    .search_conti .general_form .show_search_form { display: none; }
    .show_search_form i { font-weight: bold; }
    .search_conti .general_form { display: none; position: static; width: 100%; border-radius: 0; padding-top: 10px; }
        .search_conti .general_form p br { display: none; }
    /*#main_search_form { display: none; }
        #main_search_form h2 { display: none; }*/
    .black_strok { padding: 0; }
    .main_search { padding: 15px; }
        .main_search .general_form h2 { /*font-size: 18px;*/ vertical-align: top; margin-bottom: 10px; }
        .main_search .general_form h2, .main_search .general_form ul { display: block; }
        .main_search .general_form ul { zoom: 1; vertical-align: top; }
            .main_search .general_form ul:before,
            .main_search .general_form ul:after { content: ""; display: table; }
            .main_search .general_form ul:after { clear: both; }
            .main_search .general_form ul li { display: block; float: right; width: 50%; box-sizing: border-box; margin-bottom: 10px; }
                .main_search .general_form ul li:nth-child(2n) { padding-left: 0; }
                /*.main_search .general_form ul li.last_child { margin-bottom: 0; width: 100%; }*/
                .main_search .general_form ul li.last_child > button { padding-left: 13px; }
                .main_search .general_form ul li.clear_form { text-align: center; width: auto; /*line-height: 33px;*/ margin: 0; padding: 0; position: absolute; left: 0; top: 0; float: none; }
    /*.main_search .general_form ul li.clear_form > a { background-color: #d0d0d0; border-radius: 5px; color: #343642; font-size: 15px; opacity: 0.5; }*/
    /*.main_search .general_form ul li.clear_form > a.active { opacity: 1; }*/
    #elFilters.minimized .main_search .general_form h2 { margin-bottom: 0; }

    @-webkit-keyframes bounce {
        0% { color: #00bbf6; }
        100% { color: #fff; }
    }

    @keyframes bounce {
        0% { color: #00bbf6; }
        100% { color: #fff; }
    }
}


@media only screen and (max-width: 950px) {
    /* SLIDESHOW */
    .slide_show > ul > li > a > div > div h2 { font-size: 40px; }
    .slide_show > ul > li > a > div > div article { font-size: 24px; }
    .slide_show > ul > li > a > div > div div span { font-size: 18px; padding: 7px 15px; }
    /* END SLIDESHOW */

    .logo { float: none; display: block; }
    .right5, .left5 { width: 100%; }
    .login_form_conti { padding: 40px 0 0 0; }
    .top_header { padding: 10px 20px 20px 20px; }

    .product_and_brands, .product_and_brands > div { display: block; }
        .product_and_brands > div:first-child { border-radius: 5px 5px 0 0; }
        .product_and_brands .brands { width: 100%; box-sizing: border-box; padding: 0 26px 7.5px 26px; border-radius: 0 0 5px 5px; }
            .product_and_brands .brands > div { overflow: auto; }
            .product_and_brands .brands > a { display: block; }
            .product_and_brands .brands h2 { display: none; }
            .product_and_brands .brands ul { position: static; display: table; table-layout: fixed; width: 100%; }
                .product_and_brands .brands ul li { display: table-cell; width: 200px; padding: 15px 0 7.5px 0; }
                    .product_and_brands .brands ul li + li { /*margin: 0;*/ padding-right: 7px; }
                    .product_and_brands .brands ul li a:after { border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 0 solid #fff; top: initial; left: 0; right: 50%; bottom: 100%; transform: translate(50%, 0); -webkit-transform: translate(50%, 0); -ms-transform: translate(50%, 0); transition: border-bottom-width 0.15s linear, border-bottom-color 0.15s linear; }
                    .product_and_brands .brands ul li a.active:after { border-bottom-width: 10px; border-bottom-color: #1c598f; border-left-color: transparent; }
        .product_and_brands .product_item .image_conti { width: 20%; }
        .product_and_brands .product_item .product_price_conti > div > :first-child { width: 50px; }
        .product_and_brands .product_item .product_price_conti > div > .product_price { font-size: 16px; }
        .product_and_brands .product_item .product_price_conti > div > .socials > ul > li:not(:first-child) { margin-right: 5px; }
        .product_and_brands .product_item .product_price_conti .qSelect .qSelect_overlay { padding: 5px 8px; }
            .product_and_brands .product_item .product_price_conti .qSelect .qSelect_overlay span { font-size: 12px; }
            .product_and_brands .product_item .product_price_conti .qSelect .qSelect_overlay i { font-size: 16px; width: 9px; padding-top: 0; }
    .rectangle_conti > li { width: 33.33%; }
    .other_products .rectangle_conti > li { width: 25%; }

    /*Latest Offers*/
    .latest_offers_item { font-size: 0.7em; }
    .sale_cotni { width: 100px; }
        .sale_cotni .price::after { border-left: 50px solid transparent; border-right: 50px solid transparent; }

    /*End Latest Offers*/

    .product_item .product_details > .product_warranty > ul > li:nth-child(1)::after { width: 100%; }
    .product_item .product_details > .product_warranty > ul > li:nth-child(1)::before { left: 5px; }
}

@media only screen and (max-width :830px) {
    /*Disassembly*/
    .disassembly_main_banner h1 { font-size: 3em; padding: 3% 10% 0 0; box-sizing: border-box; }
    .disassembly_main_banner_truck h1 { width: 400px; padding: 1% 0 0 0; }
    /*End Disassembly*/

    .service_form.product_service_form .short_li_conti { width: 100%; }
}

@media only screen and (max-width :768px) {
    /* SLIDESHOW */
    .slide_show > ul > li > a > div > div h2 { font-size: 33px; }
    .slide_show > ul > li > a > div > div article { font-size: 20px; }
    /* END SLIDESHOW */

    .services { margin-bottom: 0; }
        .services ul { text-align: right; }
            .services ul li { width: 100%; position: relative; border-bottom: 1px solid #d0d0d0; }
                .services ul li a .image_conti { float: right; width: 53px; padding: 10px 0; position: absolute; top: 0; right: 0; text-align: center; }
                .services ul li a .text { float: right; width: 80%; text-align: right; width: 100%; padding-right: 65px; }
                .services ul li a .image_conti img { margin: 0 auto; display: inline-block; }
    .show_services_mobile { display: block; }
    .services ul li > div .image_conti { width: 80px; }
    .services ul li > div .text { text-align: right; }

    .extra_details_conti > li > div { display: block; }
        .extra_details_conti > li > div > .extra_details_buttons_conti { display: block; margin-bottom: 5px; margin-left: -5px; padding-left: 0; }
            .extra_details_conti > li > div > .extra_details_buttons_conti > ul { display: table; width: 100%; }
                .extra_details_conti > li > div > .extra_details_buttons_conti > ul > li { display: table-cell; width: 33.3%; padding-left: 5px; }
            .extra_details_conti > li > div > .extra_details_buttons_conti li > a { font-size: 0.6em; }
        .extra_details_conti > li > div > :last-child { display: block; box-sizing: border-box; }
    .other_products .rectangle_conti > li { width: 33.333%; }


    .blog_conti { position: relative; }
        /*.blog_conti ul { width: 100%; padding: 0 30px; box-sizing: border-box; }*/
        .blog_conti ul li { display: block; width: 100%; box-sizing: border-box; /*text-align: center;*/ float: none; }
            .blog_conti ul li + li { margin-top: 15px; }

            .blog_conti ul li a { padding: 15px; box-sizing: border-box; }
                /*.blog_conti ul li a article { padding: 0 20px; }*/
                .blog_conti ul li a .image_conti:after { /*content: none;*/ }
    /*.blog_conti ul li:not(.active) { display: none; }*/
    /*.blog_conti ul li + li { margin-top: 10px; }*/
    /*.blog_conti ul li a .image_conti { margin-bottom: 10px; max-height: 200px; }
                .blog_conti ul li a .image_conti, .blog_conti ul li a article { width: 100%; height: auto; box-sizing: border-box; padding: 0; }
                .blog_conti ul li a .image_conti { height: 200px; }
                .blog_conti ul li a .arrow_left_conti { display: none; }*/
    .gallery_links li { width: 100%; margin: 0 0 18px 0; }

    .gallery_links_page { }
        .gallery_links_page li a .image_conti { padding-bottom: 35%; }
    .more_Categories > ul > li { margin-bottom: 0; }

    #elSiteMap .columns > .column, #elSiteMap ul.columns > li { display: block; }
    #elSiteMap article ul > li > ul.columns > li:first-child { width: 100%; }

    /*Top Trending*/
    .top_trending_item > .image_conti { }
    .top_trending_item > .content { font-size: 0.8em; background-color: rgba(255, 255, 255, 0.50); width: 100%; margin-bottom: 0; }
        .top_trending_item > .content p { height: 36px; }
        .top_trending_item > .content strong { height: 55px; }
        .top_trending_item > .content .button2 { width: 100px; }
    .top_trending_conti > ul > li { width: 100%; }
    /*.top_trending_conti { min-height: 250px; }
        .top_trending_conti > ul > li { float: none; width: 85%; margin-bottom: 10px; position: absolute; opacity: 0; pointer-events: none; right: 0; left: 0; margin: 0 auto; }
    .latest_offers_conti > ul > li:nth-child(3n) { margin: 0 auto; }
    .top_trending_conti > ul > li:nth-child(even) { float: none; }

    .top_trending_conti > ul > li.active { opacity: 1; pointer-events: all; }*/
    /*.gallery_button { display: block; }*/
    /*End Top Trending*/

    /*Latest Offers*/
    /*.latest_offers_item { font-size: 0.7em; }
    .sale_cotni { width: 100px; }
        .sale_cotni .price::after { border-left: 50px solid transparent; border-right: 50px solid transparent; }

    .latest_offers_conti { min-height: 250px; position: relative; }*/
    /*.latest_offers_conti > ul > li { width: 85%; margin-left: 0; position: absolute; opacity: 0; pointer-events: none; right: 0; left: 0; margin: 0 auto; }*/
    .latest_offers_conti > ul > li { width: 100%; }
    .latest_offers_item > .image_conti { background-size: contain; }

    .latest_offers_conti > ul > li.active { opacity: 1; pointer-events: all; }
    /*End Latest Offers*/

    /*Cms*/
    .menu > ul > li > a { font-size: 0.8em; padding: 10px 5px; }
    .report_generation { overflow-x: auto; }
        .report_generation form > ul > li { width: 100%; }
        .report_generation table { min-width: 650px; }
    /*End Cms*/
}

@media only screen and (max-width :700px) {

    /***Up Sale Popup***/
    .product_added_popup .close_popup2 {top:10px; }
    .product_added_popup .popup_title { margin-bottom: 5px; padding: 43px 10px 10px 10px; }
    .product_added_popup .popup_title .title { font-size:1.5em;}
    .product_added_popup .popup_title .check {width:23px; height:23px;}
    .product_added_popup .popup_title .check > img {width:100%;display:inline-block;vertical-align:middle; }

    .popup_conti2 .more_products_title {font-size:1.2em; margin-bottom:5px;}
    .popup_conti2 .more_products {padding:0 5px;box-sizing:border-box;margin-bottom:0; }
    .popup_conti2 .more_products > ul > li { width:100%;margin-bottom:10px;margin-left:0;}
    .popup_conti2 .popup_prod {min-height:105px; position: relative;padding:10px; padding-right: 120px; border-radius: 0; border: 1px solid #E6E7E7;box-shadow:none; }
        .popup_conti2 .popup_prod .prod_image {width:105px;height:105px;position:absolute;right:5px;padding-bottom:0;top:10px;margin-bottom:0; }
        .popup_conti2 .popup_prod .prod_title > h2 {text-align:right; }
        .popup_conti2 .popup_prod .prod_price {text-align:right;margin-bottom:15px; }
    .popup_conti2 .popup_buttons > ul > li > * { font-size:1em;padding:6px 3px;box-sizing:border-box;border-radius:5px;}
    .popup_conti2 .popup_content {padding:0;box-sizing:border-box; }
    .popup_conti2 .popup_buttons { padding:13px 7px;box-sizing:border-box;background-color:#fff;}
        .popup_conti2 .popup_buttons > ul { padding:0;}
    /***End Up Sale Popup***/
}

@media only screen and (max-width :650px) {
    .contact_phone { display: block; font-size: 1.2em; position: fixed; left: 5px; bottom: 130px; text-align: center; z-index: 100000; background: #0b5890; padding: 10px; color: #fff; }
    /*new shop*/
    /*.image_conti_new_shop { float: none !important; margin: 0 auto; width: 100px !important; }*/
    /*.product_all_details { width: 100%; float: right; padding: 10px 10px 10px 0; box-sizing: border-box; overflow: hidden; }*/
    .product_all_details h2 { font-weight: 700; color: #0b5890; }
    .manufacturer_conti { margin-bottom: 5px; }
    .item_catelog { color: #a2a2a2; font-size: 0.9em; display: block; }
    .product_all_details_right { float: right; position: relative; width: 100%; margin-bottom: 10px; }
        .product_all_details_right a { bottom: -115px; position: absolute; }
    .product_all_details_left { float: left; width: 100%; }
        .product_all_details_left .select_conti { display: inline-block; float: left; }
            .product_all_details_left .select_conti select { border-radius: 10px; background-color: #fff; border: 1px solid #a2a2a2; }
        .product_all_details_left .add_to_cart { color: #fff; text-align: center; display: inline-block; float: left; margin-right: 10px; }
        .product_all_details_left small { color: #a2a2a2; font-size: 0.85em; display: block; padding-top: 10px; box-sizing: border-box; text-align: left; overflow: hidden; width: 100%; }
        .product_all_details_left .more_details_conti { width: 50%; float: left; }
            .product_all_details_left .more_details_conti .socials { float: left !important; }
    /*new shop*/

    /*Product Inner Page*/
    .product_inner_page_conti { font-size: 0.7em; }
        .product_inner_page_conti > .item_left > .product_new_left { padding: 0; }
        .product_inner_page_conti .amount_and_button_conti { margin: 10px 0; }
        .product_inner_page_conti > .item_left > .product_new_left .product_price { padding-top: 10px; font-size: 1em; }
        .product_inner_page_conti > .product_image_conti { width: 100px; }
        .product_inner_page_conti > .item_left { padding-right: 110px; }
        .product_inner_page_conti .like_select i { top: 5px; }
        .product_inner_page_conti .amount_and_button_conti .select_conti { width: 45px; }

    .items_conti > li .item_left, .items_conti > .li .item_left { padding-right: 120px; }

    .service_form.product_service_form .short_li_conti { margin-bottom: 0; }
        .service_form.product_service_form .short_li_conti li { width: 100%; padding-left: 0; max-width: 275px; margin-top: 10px; margin-bottom: 0; float: none; }
            .service_form.product_service_form .short_li_conti li:first-child { margin-top: 0; }
            .service_form.product_service_form .short_li_conti li:last-child { margin-bottom: 10px; }

    .product_item .product_details { display: block; width: 100%; }
        .product_item .product_details > div { display: block; width: 100%; padding-left: 0; box-sizing: border-box; }
        .product_item .product_details > .product_warranty { width: 100%; padding: 10px 0 0 0; border-right: none; border-top: 1px solid #d0d0d0; box-sizing: border-box; margin-top: 10px; }
            .product_item .product_details > .product_warranty > ul { }
                .product_item .product_details > .product_warranty > ul > li { position: relative; width: 50%; margin-bottom: 10px; display: inline-block; margin-right: -5px; vertical-align: top; }
    /*End Product Inner Page*/

    .theme-bar.slider-wrapper { border-radius: 0; border: none; }
    .part_categories { padding-top: 0 !important; }

    .rectangle_conti > li { width: 50%; }
    .product_item .image_conti, .product_and_brands .product_item .image_conti { width: 30%; }
    .product_price_and_details { width: 70%; }
}

@media only screen and (max-width: 600px) {
    .scroll_up { display: block; }
    .whatsapp { display: block; }


    .top_header .links { left: 15px; }

    /*.top_header .links li { position: absolute; left: 0; top: 32px; }*/

    .soon_logo_gear { width: 290px; margin: 0 auto 20px auto; height: 157px; }
        .soon_logo_gear img { width: 290px; }
        .soon_logo_gear .gear { width: 130px; left: 130px; top: 12px; }
        .soon_logo_gear .soon_cart { width: 75px; left: 117px; top: 42px; }

    h1 { font-size: 1.2em; box-sizing: border-box; }

    .random_products { width: 100%; border-left: none; }
    .models2 { margin-bottom: 20px; }
    .models ul { display: block; padding: 0; }
    .models > ul > li { width: 100%; display: block; padding: 0 10px; box-sizing: border-box; }

        .models > ul > li ul { border-bottom: 1px dashed #333; }

    .product_new_right { float: right; width: 100%; }
    .product_new_left { float: left; width: 100%; }
    .items_conti > .li .item_left .product_new_left .left3 { width: 100%; }

    .items_conti > li .more_info { bottom: -146px; }
    .more_blogs_conti ul li { width: 100%; margin-bottom: 10px; }

    .service { padding: 0; }
    .service_form .short_li_conti { width: 100%; margin-bottom: 0; }
        .service_form .short_li_conti li { width: 100%; margin-bottom: 10px; }

    .login_form .full_width_li_third { width: 100%; }
    .general_reg_form ul li { width: 100% !important; }
    .general_reg_form .short_li_conti { width: 100%; }

    /*.general_search button { width: 35px; height: 35px; }
        .general_search button img { width: 20px; vertical-align: top; }*/


    .read_more_about { display: inline-block; }
    .main_content article h1 { font-size: 20px; margin-bottom: 10px; }
    .main_content article h2 { font-size: 17px; }
    .main_content article p { max-height: 33px; overflow: hidden; transition: all 1s ease-in-out; -webkit-transition: all 1s ease-in-out; -o-transition: all 1s ease-in-out; -moz-transition: all 1s ease-in-out; font-size: 14px; }
        .main_content article p br { display: none; }
        .main_content article p.height { max-height: 1000px; }

    .shop_headline .choose_list_show { display: none; }

    /*product partial*/
    .product_item { /*font-size: 0.8em;*/ padding: 15px; }
        .product_item .image_conti { padding-left: 15px; }
        .product_item .product_price_and_details { padding-right: 15px; }
        .product_item .product_price_conti > div .product_price, .product_and_brands .product_item .product_price_conti > div > .product_price { font-size: 1em; line-height: 15px; }
        .product_item .product_price_conti > div .select_conti { width: 40px; }
            .product_item .product_price_conti > div .select_conti .like_select { padding: 5px; }
                .product_item .product_price_conti > div .select_conti .like_select i { top: 2px; }
            .product_item .product_price_conti > div .select_conti select { height: 26px; }
        .product_item .socials { /*padding-top: 6px;*/ }

        .product_item .product_details > .product_warranty { font-size: 0.8em; }
            .product_item .product_details > .product_warranty > ul > li > .image_conti { width: 50px; }
                .product_item .product_details > .product_warranty > ul > li > .image_conti img { width: 100%; }
    /*end product partial*/

    /*Art*/
    .art_gallery_conti { padding: 0 10px; box-sizing: border-box; }
        .art_gallery_conti > ul > li.item { margin: 0 0 20px 0; width: 100%; padding: 0; border: none; font-size: 0.8em; }
        .art_gallery_conti > ul > li + li.item { border-top: 1px solid #a2a2a2; padding-top: 20px; }
        .art_gallery_conti > ul > li > a { width: 35%; float: right; padding-bottom: 30%; }
        .art_gallery_conti > ul > li > .image_short_desc_conti { width: 60%; float: left; text-align: right; }
        .art_gallery_conti > ul > li .seen_and_date { padding-top: 5px; margin-bottom: 10px; }
        .art_gallery_conti > ul > li > .image_short_desc_conti .like_a { width: 100%; }
    /*End Art*/

    /*Slider*/
    .theme-bar .nivo-controlNav { display: none !important; }
    /*End Slider*/

    /*General Form*/
    .main_search .general_form { text-align: center; }
        /*.main_search .general_form ul li, .main_search .general_form ul li.last_child { width: 100%; padding: 0; }*/
        .main_search .general_form ul li .qSelect_overlay { padding-right: 21px; }
        .main_search .general_form.has_category ul li:nth-child(3) { padding-left: 0; }

    #elFilters.minimized .main_search .general_form { padding-bottom: 0; }
    /*.search_conti .general_form form > ul > li.last_child, .general_form ul li.last_child { width: 100% !important; }
        .search_conti .general_form form > ul > li.clear_form, .general_form ul li.clear_form { left: 0; }*/
    /*End General Form*/

    /*Slide Show*/
    .slide_show { width: 100%; }
        .slide_show > ul { }
            .slide_show > ul > li { background-size: cover; height: 100%; }
                .slide_show > ul > li > a > div > div h2 { font-size: 26px; }
    /*End Slide Show*/

    .other_products .rectangle_conti > li { width: 50%; }

    /*Disassembly*/
    .disassembly_main_banner h1 { font-size: 2em; padding: 3% 10% 0 0; box-sizing: border-box; }
    .disassembly_main_banner_truck h1 { width: 200px; padding: 1% 0 0 0; }
    /*End Disassembly*/

    /*Latest Offers*/
    .top_trending_item > .content { font-size: 0.6em; }
        .top_trending_item > .content p { height: 26px; }
        .top_trending_item > .content strong { height: 43px; }
    /*End Latest Offers*/


    .message_strip > * { font-size: 1em; }
        .message_strip > * > span { display: block; }
            .message_strip > * > span > span { display: none; }
}

@media only screen and (max-width: 500px) {
    /* SLIDESHOW */
    .slide_show > ul > li.bg_align_center { }
    .slide_show > ul > li.bg_align_right { background-position: right center; }
    .slide_show > ul > li.bg_align_left { background-position: left center; }
    .slide_show > ul > li > a > div > div h2 { font-size: 26px; }
    .slide_show > ul > li > a > div > div article { font-size: 16px; }
    .slide_show > ul > li > a > div > div div span { font-size: 14px; padding: 5px 10px; }
    /* END SLIDESHOW */

    .cart_items li { position: relative; }
        .cart_items li .image_conti { width: 200px; padding-bottom: 0; height: 100%; margin: 0 auto 10px auto; float: none; }
        .cart_items li .cart_items_details { width: 100%; }
            .cart_items li .cart_items_details .cart_items_headline { width: 100%; overflow: hidden; }
    .prodcut_cart_delete_or_inc .delete_item { position: absolute; left: 10px; top: 10px; }

    .parts li a { font-size: 0.8em; }
    .category_popup_conti { padding: 10% 10px 0 10px; box-sizing: border-box; }
    .category_popup { padding: 20px; box-sizing: border-box; }

    /*Checkout*/
    .checkout_form ul li { width: 100% !important; margin-left: 0 !important; }
    /*End Checkout*/

    /*.parts li a .image_conti { padding: 0 5px; }*/
    .prodcut_cart_delete_or_inc { width: 100%; }
        .prodcut_cart_delete_or_inc .select_conti { width: 100%; }

    /*product partial*/
    .product_item { display: block; }
        .product_item .product_price_conti > div > a { padding-top: 7px; }
        /*.product_item .image_conti { width: 100px; }
    .product_item .product_details { padding-right: 100px; min-height: 130px; }*/
        .product_item .product_price_conti { padding-right: 0; width: 100% }
    .product_and_brands .product_item { display: block; }
    .product_item .product_price_and_details { padding-right: 0; }
    .product_item .image_conti, .product_and_brands .product_item .image_conti { width: 150px; margin: 0 auto; }
    .product_item .image_conti, .product_and_brands .product_item .image_conti, .product_price_and_details { display: block; padding: 0; }
    .product_price_and_details { width: 100%; border-right: 0; border-top: 1px solid #d0d0d0; padding-top: 10px; margin-top: 10px; }
    .product_item .product_price_conti .buttons_conti > li { width: 100%; padding: 0 !important; }
        .product_item .product_price_conti .buttons_conti > li + li { margin-top: 5px; }


    .service_form.product_service_form { background-color: #f3f3f3; }
        .service_form.product_service_form .short_li_conti li { margin: 10px auto 0 auto; max-width: 100%; }
        .service_form.product_service_form > .form_buttons { text-align: center; width: 100%; }
            .service_form.product_service_form > .form_buttons > li:first-child { display: table-caption; margin-bottom: 10px; }
            .service_form.product_service_form > .form_buttons > li:last-child { padding-right: 0; }
        .service_form.product_service_form .button { max-width: 100%; }

    .product_item .product_details > .product_warranty > ul > li > .image_conti { width: 40px; }
        .product_item .product_details > .product_warranty > ul > li > .image_conti img { width: 100%; }

    .product_and_brands .brands { padding: 10px; box-sizing: border-box; }
        .product_and_brands .brands > a { display: none; }
        .product_and_brands .brands ul { display: block; width: 100%; }
            .product_and_brands .brands ul li { display: block; width: 100%; padding: 0 !important; margin-bottom: 5px; }
                .product_and_brands .brands ul li a { padding-right: 30px; }
                    .product_and_brands .brands ul li a:after { content: ""; position: absolute; right: 15px; top: 10px; width: 20px; height: 20px; background: #0b5890; border-radius: 50%; padding: 0; box-sizing: border-box; border: none; left: initial; bottom: initial; }
                    .product_and_brands .brands ul li a.active:after { background: #0b5890; background-image: none; border: 5px solid #fff; box-sizing: border-box; }

    /*end product partial*/
    .parts li { width: 33.333%; }
        .parts li:nth-child(4n) a:after { content: ""; }
        .parts li:nth-child(3n) a:after { content: none; }
    /*.parts li a .image_conti .svg { width: 90% !important; height: 90% !important; margin: 0 auto; display: block; }*/

    .blog_conti ul li a { }
        .blog_conti ul li a .image_conti, .blog_conti ul li a article { width: 100%; float: none; }
        .blog_conti ul li a .image_conti { margin-bottom: 15px; }
            .blog_conti ul li a .image_conti:after { padding-bottom: 50%; }
        .blog_conti ul li a article { padding: 0; }

    /*Categories*/
    .categories_conti ul li { font-weight: 400; }
        .categories_conti ul li > a { padding: 5px 5px; font-size: 0.9em; }
    /*End Categories*/
    body { padding-top: 95px; box-sizing: border-box; }
    .top_strip_conti { font-size: 0.85em; position: fixed; top: 0; right: 0; z-index: 100; }
        .top_strip_conti > div { display: block; float: right; width: 50%; }
            .top_strip_conti > div > * { display: block; }
        .top_strip_conti > .counter_conti { width: 100%; text-align: center; padding-top: 20px; }
            .top_strip_conti > .counter_conti > * { display: inline-block; }
        .top_strip_conti > div .sep { position: absolute; width: 1px; height: 45%; left: 0; right: 0; top: 10px; background-color: #fff; color: transparent; margin: 0 auto; }
        .top_strip_conti > div .sep2 { display: none; }
}

@media only screen and (max-width :440px) {
    /* SLIDESHOW */
    /*.slide_show > ul > li h2 > span { font-size: 32px !important; }
    .slide_show > ul > li p > span { font-size: 20px !important; }
    .slide_show > ul > li div > span { font-size: 16px !important; }*/
    /* END SLIDESHOW */
    .section_title { margin-bottom: 5px; padding: 13px; background-color: #1c598f; color: #fff; border: 0; }
        .section_title:after { display: none; }

    /*.logo {  padding-bottom: 0; padding-right: 30px; padding-top: 2px; }*/
    .top_header .links li { padding-left: 0; }
    .extra_details li a { font-size: 1em; }

    /*Disassembly*/
    .disassembly_form .long_li_conti li { width: 100% !important; margin: 0 0 10px 0; }
    .disassembly_form .long_li_conti { margin-bottom: 0; }
    .disassembly_form .qTooltip_trigger + .qTooltip.qTooltip_right { bottom: 100%; transform: unset; -ms-transform: unset; -webkit-transform: unset; left: -7px; top: initial; right: initial; margin-bottom: 16px; }
        .disassembly_form .qTooltip_trigger + .qTooltip.qTooltip_right:after { border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid rgba(0, 0, 0, 0.8); left: 10px; top: 100%; right: initial; -webkit-transform: unset; transform: unset; }
    /*End Disassembly*/

    .items_conti2 { display: block !important; }
    .rectangle_conti { display: none !important; }
    /*.other_products > h2 { margin-bottom: 5px; padding: 13px; background-color: #1c598f; color: #fff; border: 0; }
        .other_products > h2:after { display: none; }*/
    .other_products .rectangle_conti { display: block !important; margin-left: 0; }
        .other_products .rectangle_conti > li { width: 100%; margin-bottom: 5px; border: 1px solid #e6e7e7; padding: 0; }
            .other_products .rectangle_conti > li > div { box-shadow: unset; border-radius: 0; }
            .other_products .rectangle_conti > li h2 { height: auto; }
            .other_products .rectangle_conti > li p { display: block; margin-bottom: 5px; }
            .other_products .rectangle_conti > li .image_conti { position: absolute; top: 0; bottom: 0; right: 15px; height: 85px; margin: auto 0; pointer-events: none; min-height: 0; padding-bottom: 0; right: 0; max-width: 90px; }
                .other_products .rectangle_conti > li .image_conti > img { width: auto; height: 100%; }
            .other_products .rectangle_conti > li h2, .other_products .rectangle_conti > li p, .other_products .rectangle_conti > li .quantity_conti, .other_products .rectangle_conti > li .price { text-align: right; padding-right: 100px; width: auto; }
            .other_products .rectangle_conti > li .quantity_conti { }
    .shop_headline { text-align: center; }
    #elCategorySettings > div:last-child { display: none; }

    /* Contact Form*/

    .service_form > .form_buttons { text-align: center; width: 100%; text-align: center; }
        .service_form > .form_buttons > li:first-child { display: table-caption; margin-bottom: 10px; }
        .service_form > .form_buttons > li { padding-right: 0 !important; }

    .checkout_form_conti > iframe { min-height: 550px; }

    /*Cms*/
    .cms .products_conti .cms_product_item > ul > li { margin-bottom: 10px; width: 100% !important; }
    .cms .products_conti .cms_product_item { padding-bottom: 0; }
        .cms .products_conti .cms_product_item > ul > li { float: right; vertical-align: top; width: 100%; }
    .cms .client_detials > ul > li { float: right; width: 100%; }
    /*End Cms*/
}

@media only screen and (max-width :390px) {
    /*new shop*/
    .image_conti_new_shop { float: none !important; margin: 0 auto; width: 100px !important; }
    .product_all_details { width: 100%; float: right; padding: 10px 10px 10px 0; box-sizing: border-box; overflow: hidden; }

    /*.items_conti > .li .image_conti_product_page { width: 100%; }
    .items_conti > li .item_left, .items_conti > .li .item_left { width: 100%; }*/
    /*.blog_conti ul { padding: 0 60px; }*/

    .general_search > ul > li input { font-size: 14px; }
    .close_form_mobile { width: 30px; height: 30px; line-height: 30px; font-size: 16px; }

    /*.parts li { width: 50%; }
        .parts li:nth-child(3n) a:after { content: ""; }
        .parts li:nth-child(2n) a:after { content: none; }*/

    /*Disassembly*/
    .disassembly_main_banner h1 { font-size: 1.5em; padding: 3% 10% 0 0; box-sizing: border-box; }
    .disassembly_main_banner_truck h1 { width: 200px; padding: 1% 0 0 0; }
    /*End Disassembly*/
}

@media only screen and (max-width :375px) {
    /***Up Sale Popup***/
    .popup_conti2 .popup_buttons > ul > li > * { font-size: 0.8em;padding:8px 3px; }
    /***End Up Sale Popup***/
}

    @media only screen and (max-width :355px) {

        /*product partial*/
        /*.product_item { font-size: 0.8em; }
        .product_item .image_conti { width: 25%; }
        .product_item .product_details { padding-right: 10px; min-height: 100px; width: 75% }
        .product_item .image_conti a span { font-size: 10px; }*/
        /*end product partial*/
    }

    /*# sourceMappingURL=data:application/json;base64,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O0NBQ3RCOztBQUVEOztJQUVJLG1CQUFtQjtJQUNuQjs7O2dFQUc0RDtJQUM1RCx1QkFBdUI7Q0FDMUIiLCJmaWxlIjoic3RkaW4iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaHRtbCB7IGZvbnQtZmFtaWx5OiAnUnViaWsnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGRpcmVjdGlvbjogcnRsOyBjb2xvcjogIzM0MzY0MjsgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxyXG5ib2R5IHsgfVxyXG4ubWFpbi13cmFwcGVyIHsgbWF4LXdpZHRoOiAxMDAlOyB3aWR0aDogMTAwJTsgbWFyZ2luOiAwIGF1dG87IG92ZXJmbG93OiBoaWRkZW47IH1cclxuLmF1dG9fbWFyZ2luIHsgbWF4LXdpZHRoOiAxMTAwcHg7IHdpZHRoOiAxMDAlOyBtYXJnaW46IDAgYXV0bzsgfVxyXG4uYXV0b19tYXJnaW4yIHsgbWF4LXdpZHRoOiAxMTgwcHg7IHdpZHRoOiAxMDAlOyBtYXJnaW46IDAgYXV0bzsgfVxyXG4uYXV0b19tYXJnaW4zIHsgbWF4LXdpZHRoOiAxNTAwcHg7IHdpZHRoOiAxMDAlOyBtYXJnaW46IDAgYXV0bzsgfVxyXG4uYXV0b19tYXJnaW40IHsgbWF4LXdpZHRoOiAxMzUwcHg7IHdpZHRoOiAxMDAlOyBtYXJnaW46IDAgYXV0bzsgfVxyXG4vKi5jbGVhcmZpeDo6YWZ0ZXIsIC5jbGVhcmZpeDo6YmVmb3JlIHsgY29udGVudDogXCJcIjsgd2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBjbGVhcjogYm90aDsgfSovXHJcbi5jbGVhcmZpeDpiZWZvcmUsXHJcbi5jbGVhcmZpeDphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IHRhYmxlOyB9XHJcbi5jbGVhcmZpeDphZnRlciB7IGNsZWFyOiBib3RoOyB9XHJcbi5jbGVhcmZpeCB7IHpvb206IDE7IC8qIEZvciBJRSA2LzcgKHRyaWdnZXIgaGFzTGF5b3V0KSAqLyB9XHJcbi8qKioqKkdlbmVyYWwgQ2xhc3NlcyoqKioqKi9cclxuLmxpbmVfaGVpZ2h0X2luaXRpYWwgeyBsaW5lLWhlaWdodDogaW5pdGlhbDsgfVxyXG4uc2hvd19zZWFyY2hfZm9ybSwgLnNob3dfbG9nb3MgeyBkaXNwbGF5OiBub25lOyB9XHJcbi5maWVsZC12YWxpZGF0aW9uLWVycm9yIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDVweDsgbGVmdDogMTBweDsgY29sb3I6IHJlZDsgZm9udC1zaXplOiAwLjhlbTsgei1pbmRleDogMTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cclxuLnNjcm9sbF91cCB7IGZvbnQtc2l6ZTogMmVtOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExLCA4OCwgMTQ0LCAwLjgpOyBjb2xvcjogIzgyYzRmOTsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgbGluZS1oZWlnaHQ6IDUwcHg7IHBvc2l0aW9uOiBmaXhlZDsgcmlnaHQ6IDEwcHg7IGJvdHRvbTogMTBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXItcmFkaXVzOiA1MCU7IHotaW5kZXg6IDEwMDsgZGlzcGxheTogbm9uZTsgfVxyXG4udGV4dF9jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuLndoYXRzYXBwIHsgZGlzcGxheTogbm9uZTsgfVxyXG4uY2F0ZWdvcnlfZmlsdGVyIHsgLyotd2Via2l0LWZpbHRlcjogaW52ZXJ0KDEwMCUpOyAvKiBTYWZhcmkgNi4wIC0gOS4wICovIC8qZmlsdGVyOiBpbnZlcnQoMTAwJSk7Ki8gLypiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBib3JkZXI6IDJweCBzb2xpZCAjMGI1ODkwOyBib3JkZXItcmFkaXVzOiAxNXB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyovIH1cclxuLnNlbGVjdF9jb250aSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgLnNlbGVjdF9jb250aSBpIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEycHg7IGxlZnQ6IDVweDsgLypiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyovIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcbi5hbmdsZV9wcmljZSB7IHBvc2l0aW9uOiBpbml0aWFsICFpbXBvcnRhbnQ7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IHRvcDogMTJweDsgbGVmdDogN3B4OyBmb250LXdlaWdodDogYm9sZDsgfVxyXG4ubm9fbWFyZ2luX2xlZnQgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XHJcbi50b3BfYXJ0aWNsZSB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4uZ3JheV9zdHJvayB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAyMHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7IG92ZXJmbG93OiBoaWRkZW47IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuLmdyYXlfc3Ryb2tfcGFkZGluZzEgeyBwYWRkaW5nOiAxMHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuLmdyYXlfc3Ryb2tfcGFkZGluZzIgeyBwYWRkaW5nOiAyMHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuLmdyYXlfc3Ryb2tfcGFkZGluZzMgeyBwYWRkaW5nOiAzMHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuLmdyYXlfc3Ryb2tfcGFkZGluZzQgeyBwYWRkaW5nOiA0MHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuLm1hcmdpbl9ib3R0b21fMTAgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XHJcbi5tYXJnaW5fYm90dG9tXzIwIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4ubWFyZ2luX3RvcF8xMCB7IG1hcmdpbi10b3A6IDEwcHg7IH1cclxuLm1hcmdpbl90b3BfMjAgeyBtYXJnaW4tdG9wOiAyMHB4OyB9XHJcbi5ibGFja19zdHJvayB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAyMHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuLnBvc2l0aW9uX3JlbGF0aXZlIHsgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH1cclxuLnBvc2l0aW9uX2Fic29sdXRlIHsgcG9zaXRpb246IGFic29sdXRlOyB9XHJcbi5vdmVyZmxvdyB7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyB9XHJcbi5vcmFuZ2VfY29sb3IgeyBjb2xvcjogIzAwYmJmNiAhaW1wb3J0YW50OyB9XHJcbi5henVyZV9iZyB7IGJhY2tncm91bmQtY29sb3I6ICM1N2FmZWYgIWltcG9ydGFudDsgfVxyXG4uZ3JlZW5fYmcgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiYmY2ICFpbXBvcnRhbnQ7IH1cclxuLnBhZGRpbmdfdG9wIHsgcGFkZGluZy10b3A6IDIwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuXHJcbi5kaXNwbGF5X25vbmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuLmRpc3BsYXlfYmxvY2sgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XHJcblxyXG5cclxuXHJcbi5kaXNwbGF5X2luX21vYmlsZSwgLmRpc3BsYXlfbW9iaWxlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbi53aWR0aF8zOCB7IHdpZHRoOiAzOCUgIWltcG9ydGFudDsgfVxyXG4uc2hvd190ZXh0IHsgdGV4dC1hbGlnbjogY2VudGVyOyBkaXNwbGF5OiBub25lOyB9XHJcbiAgICAuc2hvd190ZXh0IGkgeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG4uaW1hZ2VfY29udGkgaW1nIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgd2lkdGg6IDEwMCU7IH1cclxuXHJcbi5pbWFnZV9jb250aS5pbWFnZV9zcXVhcmUsIC5pbWFnZV9jb250aS5pbWFnZV9yZXNwb25zaXZlIHsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cclxuICAgIC5pbWFnZV9jb250aS5pbWFnZV9zcXVhcmU6YWZ0ZXIsIC5pbWFnZV9jb250aS5pbWFnZV9yZXNwb25zaXZlOmFmdGVyIHsgY29udGVudDogXCJcIjsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmctYm90dG9tOiAxMDAlOyB9XHJcbiAgICAuaW1hZ2VfY29udGkuaW1hZ2Vfc3F1YXJlID4gaW1nLCAuaW1hZ2VfY29udGkuaW1hZ2VfcmVzcG9uc2l2ZSA+IGltZyB7IG9wYWNpdHk6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9XHJcblxyXG4gICAgLmltYWdlX2NvbnRpLmltYWdlX3Jlc3BvbnNpdmU6YWZ0ZXIgeyBwYWRkaW5nLWJvdHRvbTogNTAlOyB9XHJcblxyXG4ucmlnaHQgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAyNSU7IH1cclxuLmxlZnQgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDc1JTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4ubGVmdDIgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDIwJTsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDBkMGQwOyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDBkMGQwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbi5yaWdodDIgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAxNyU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2QwZDBkMDsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2QwZDBkMDsgfVxyXG4uY2VudGVyIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNjMlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBwYWRkaW5nOiAwIDIwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5jZW50ZXIuZnVsbF93aWR0aCB7IHdpZHRoOiA4MCU7IH1cclxuLmJyZWRfY29udGkgeyB3aWR0aDogMTAwJTsgcGFkZGluZzogNXB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG92ZXJmbG93OiBoaWRkZW47IGZvbnQtc2l6ZTogMC45NWVtOyBsaW5lLWhlaWdodDogMjBweDsgfVxyXG4ubGVmdDMgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDgwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgcGFkZGluZzogMCAyMHB4IDAgMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuLnJpZ2h0NCB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDc1JTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XHJcbi5sZWZ0NCB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMjUlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbi5yaWdodDUgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiA1MCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBhZGRpbmctbGVmdDogMTBweDsgfVxyXG4ubGVmdDUgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDUwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuLnFDb2x1bW5zIHsgZGlzcGxheTogdGFibGU7IH1cclxuICAgIC5xQ29sdW1ucyA+IC5xQ29sdW1uIHsgZGlzcGxheTogdGFibGUtY2VsbDsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxyXG5cclxuLmlmcmFtZV9jb250aSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1ib3R0b206IDUyJTsgcGFkZGluZy10b3A6IDM1cHg7IGhlaWdodDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gICAgLmlmcmFtZV9jb250aSA+IGlmcmFtZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9XHJcblxyXG4vKkJ1cmdlciovXHJcbi5idXJnZXIgeyB3aWR0aDogNDBweDsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGN1cnNvcjogcG9pbnRlcjsgZGlzcGxheTogbm9uZTsgdG9wOiAwOyBib3R0b206IDA7IHJpZ2h0OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRkaW5nOiA1cHg7IG1hcmdpbjogYXV0byAwOyBoZWlnaHQ6IDM0cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5idXJnZXIgdWwgbGkgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IGhlaWdodDogNHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyBib3JkZXItcmFkaXVzOiA1cHg7IGJhY2tncm91bmQtY29sb3I6ICMwYjU4OTA7IH1cclxuICAgICAgICAuYnVyZ2VyIHVsIGxpICsgbGkgeyBtYXJnaW4tdG9wOiA2cHg7IH1cclxuICAgIC5idXJnZXI6aG92ZXIgbGksIC5idXJnZXI6Zm9jdXMgbGkgeyBvcGFjaXR5OiAwLjg7IH1cclxuLypFbmQgQnVyZ2VyKi9cclxuXHJcbi8qIHFTZWxlY3QgKi9cclxuLnFTZWxlY3QgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGNvbG9yOiAjMzQzNjQyOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBib3JkZXItcmFkaXVzOiA1cHg7IGJvcmRlcjogMXB4IHNvbGlkICNjZmNmY2Y7IH1cclxuICAgIC5xU2VsZWN0IC5xU2VsZWN0X292ZXJsYXkgeyBkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDEwMCU7IHRhYmxlLWxheW91dDogZml4ZWQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHBhZGRpbmc6IDhweCAxMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAgICAgLnFTZWxlY3QgLnFTZWxlY3Rfb3ZlcmxheSBzcGFuLCAucVNlbGVjdCAucVNlbGVjdF9vdmVybGF5IGkgeyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBsaW5lLWhlaWdodDogMTVweDsgfVxyXG4gICAgICAgIC5xU2VsZWN0IC5xU2VsZWN0X292ZXJsYXkgc3BhbiB7IHdpZHRoOiAxMDAlOyBmb250LXNpemU6IDE1cHg7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XHJcbiAgICAgICAgLnFTZWxlY3QgLnFTZWxlY3Rfb3ZlcmxheS5xU2VsZWN0X3BsYWNlaG9sZGVyIHNwYW4geyBjb2xvcjogI2EyYTJhMjsgfVxyXG4gICAgICAgIC5xU2VsZWN0IC5xU2VsZWN0X292ZXJsYXkgaSB7IGZvbnQtc2l6ZTogMjBweDsgd2lkdGg6IDExcHg7IHBhZGRpbmctdG9wOiAycHg7IGxpbmUtaGVpZ2h0OiAxMHB4OyB9XHJcbiAgICAucVNlbGVjdC5xU2VsZWN0X2Rpc2FibGVkLCAucVNlbGVjdC5xU2VsZWN0X2Rpc2FibGVkIC5xU2VsZWN0X292ZXJsYXkgc3BhbiB7IGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IGNvbG9yOiAjYmJiOyB9XHJcbiAgICAucVNlbGVjdCBzZWxlY3QgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgYm90dG9tOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgb3BhY2l0eTogMDsgfVxyXG4vKiBFbmQgcVNlbGVjdCAqL1xyXG5cclxuLyogcVRvb2x0aXAgKi9cclxuLnFUb29sdGlwX2NvbnRhaW5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgLnFUb29sdGlwX2NvbnRhaW5lciAucVRvb2x0aXAgeyBjb2xvcjogI2ZlZmVmZTsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpOyBwYWRkaW5nOiAxMnB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDVweDsgdmlzaWJpbGl0eTogaGlkZGVuOyBvcGFjaXR5OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDE7IHRvcDogNTAlOyByaWdodDogMTAwJTsgbWFyZ2luLXJpZ2h0OiAxNnB4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgLW1vei10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IH1cclxuICAgICAgICAucVRvb2x0aXBfY29udGFpbmVyIC5xVG9vbHRpcDphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxyXG4gICAgICAgIC5xVG9vbHRpcF9jb250YWluZXIgLnFUb29sdGlwLnFUb29sdGlwX3JpZ2h0OmFmdGVyIHsgd2lkdGg6IDA7IGhlaWdodDogMDsgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1sZWZ0OiA2cHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjgpOyBsZWZ0OiAxMDAlOyB0b3A6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxyXG4gICAgLnFUb29sdGlwX2NvbnRhaW5lciAucVRvb2x0aXBfdHJpZ2dlcjpob3ZlciArIC5xVG9vbHRpcCwgLnFUb29sdGlwX2NvbnRhaW5lciAucVRvb2x0aXBfdHJpZ2dlcjpmb2N1cyArIC5xVG9vbHRpcCB7IHZpc2liaWxpdHk6IHZpc2libGU7IG9wYWNpdHk6IDE7IH1cclxuLyogRW5kIHFUb29sdGlwICovXHJcblxyXG4vKnBhZ2luYXRpb24qL1xyXG4ucGFnaW5hdGlvbiB7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcbiAgICAucGFnaW5hdGlvbiB1bCB7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuICAgICAgICAucGFnaW5hdGlvbiB1bCBsaSB7IGZsb2F0OiByaWdodDsgbWFyZ2luLWxlZnQ6IDVweDsgfVxyXG4gICAgICAgICAgICAucGFnaW5hdGlvbiB1bCBsaSBhIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6IDM1cHg7IGhlaWdodDogMzVweDsgbGluZS1oZWlnaHQ6IDM1cHg7IGNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlN2U3OyBmb250LXdlaWdodDogNTAwOyB9XHJcbiAgICAgICAgICAgICAgICAucGFnaW5hdGlvbiB1bCBsaSBhOmhvdmVyLCAucGFnaW5hdGlvbiB1bCBsaSBhOmZvY3VzLCAucGFnaW5hdGlvbiB1bCAuYWN0aXZlIGEgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogIzBiNTg5MDsgfVxyXG4vKkVuZCBwYWdpbmF0aW9uKi9cclxuXHJcbi8qTGlua3MgQW5kIEJ1dHRvbnMqL1xyXG5hcnRpY2xlIGE6aG92ZXIsIGFydGljbGUgYTpmb2N1cywgLmJyZWRfY29udGkgYTpob3ZlciwgLmJyZWRfY29udGkgYTpmb2N1cywgLmNyZWRpdCAucXVhbGlzaF9jcmVkaXQ6aG92ZXIsIC5jcmVkaXQgLnF1YWxpc2hfY3JlZGl0OmZvY3VzLCAuZm9vdGVyX2xpbmtzX2NvbnRpIGE6aG92ZXIsIC5mb290ZXJfbGlua3NfY29udGkgYTpmb2N1cywgLmZhcV9jb250aSB1bCBsaSBhOmhvdmVyLCAuZmFxX2NvbnRpIHVsIGxpIGE6Zm9jdXMsIC5zb2NpYWwgbGkgYTpob3ZlciwgLnNvY2lhbCBsaSBhOmZvY3VzIHsgY29sb3I6ICMwMGJiZjY7IH1cclxuLmJyZWRfY29udGkgYSwgYXJ0aWNsZSBhIHsgY29sb3I6ICMwYjU4OTA7IH1cclxuLmJyZWRfY29udGkgYSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG4uYnV0dG9uIHsgYmFja2dyb3VuZC1jb2xvcjogIzBiNTg5MDsgY29sb3I6ICNmZmY7IHRleHQtYWxpZ246IGNlbnRlcjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiA5cHggMTdweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC13ZWlnaHQ6IDUwMDsgYm9yZGVyLXJhZGl1czogNXB4OyBib3JkZXI6IHNvbGlkIDJweCAjMDM5Y2NjOyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtZmFtaWx5OiAnUnViaWsnLCBzYW5zLXNlcmlmOyB9XHJcbiAgICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwYmJmNiAhaW1wb3J0YW50OyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XHJcblxyXG4vKkVuZCBMaW5rcyBBbmQgQnV0dG9ucyovXHJcblxyXG4vKlRpdGxlcyovXHJcbmgxIHsgZm9udC1zaXplOiAyZW07IG1hcmdpbi1ib3R0b206IDA7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cclxuaDIgeyBmb250LXNpemU6IDEuMTVlbTsgbWFyZ2luLWJvdHRvbTogNXB4OyBmb250LXdlaWdodDogNDAwOyB9XHJcbmgzIHsgZm9udC1zaXplOiAxLjA1ZW07IG1hcmdpbi1ib3R0b206IDVweDsgZm9udC13ZWlnaHQ6IDQwMDsgfVxyXG4vKkVuZCBUaXRsZXMqL1xyXG5cclxuLypHZW5lcmFsIFRleHQqL1xyXG5wIHsgbWFyZ2luLWJvdHRvbTogNXB4OyBsaW5lLWhlaWdodDogMTIwJTsgZm9udC1zaXplOiAxLjA1ZW07IH1cclxuLypFbmQgR2VuZXJhbCBUZXh0Ki9cclxuXHJcbi8qQXJ0aWNsZXMqL1xyXG5hcnRpY2xlIGgyIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG5hcnRpY2xlIHVsLCBhcnRpY2xlIG9sIHsgcGFkZGluZy1yaWdodDogMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7IG1hcmdpbi1ib3R0b206IDE1cHg7IH1cclxuYXJ0aWNsZSBvbCB7IGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDsgfVxyXG4gICAgYXJ0aWNsZSB1bCBsaSwgYXJ0aWNsZSBvbCBsaSB7IG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDsgZm9udC1zaXplOiAxLjA1ZW07IGxpbmUtaGVpZ2h0OiAxLjJlbTsgfVxyXG5hcnRpY2xlIGltZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XHJcbi5wcm9kdWN0X2xvbmdfZGVzYyB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuICAgIC5wcm9kdWN0X2xvbmdfZGVzYyBoMiB7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cclxuLypFbmQgQXJ0aWNsZXMqL1xyXG5cclxuLypGb3JtcyBBbmQgSW5wdXRzKi9cclxuaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QgeyB3aWR0aDogMTAwJTsgYm9yZGVyOiBub25lOyBwYWRkaW5nOiAxMnB4IDEzcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMTdweDsgZm9udC1mYW1pbHk6ICdSdWJpaycsIHNhbnMtc2VyaWY7IGNvbG9yOiAjMWIxYjFiOyB9XHJcbnNlbGVjdCB7IHBhZGRpbmc6IDRweCA4cHg7IH1cclxudGV4dGFyZWEgeyBoZWlnaHQ6IDEwMHB4OyB9XHJcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0geyBjdXJzb3I6IHBvaW50ZXI7IH1cclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0geyB3aWR0aDogMTVweDsgaGVpZ2h0OiAxNXB4OyB9XHJcblxyXG5pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAjYTJhMmEyOyB9XHJcbnRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICNhMmEyYTI7IH1cclxuaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOiAjYTJhMmEyOyBvcGFjaXR5OiAxOyB9XHJcbnRleHRhcmVhOi1tb3otcGxhY2Vob2xkZXIgeyBjb2xvcjogI2EyYTJhMjsgb3BhY2l0eTogMTsgfVxyXG50ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOiAjYTJhMmEyOyBvcGFjaXR5OiAxOyB9XHJcbmlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAjYTJhMmEyOyB9XHJcbnRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAjYTJhMmEyOyB9XHJcblxyXG4uZ2VuZXJhbF9mb3JtIHsgfVxyXG4gICAgLmdlbmVyYWxfZm9ybSBmb3JtIHsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogMTAwMHB4OyBtYXJnaW46IDAgYXV0bzsgZGlzcGxheTogdGFibGU7IH1cclxuICAgIC5nZW5lcmFsX2Zvcm0gaDIgeyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBjb2xvcjogIzM0MzY0MjsgLypmbG9hdDogcmlnaHQ7IGxpbmUtaGVpZ2h0OiAzNXB4OyovIG1hcmdpbi1ib3R0b206IDA7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogMWVtOyB9XHJcbiAgICAuZ2VuZXJhbF9mb3JtIHAgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgICAuZ2VuZXJhbF9mb3JtIHVsIHsgLypmbG9hdDogbGVmdDsgd2lkdGg6IDgyJTsqLyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XHJcbiAgICAgICAgLmdlbmVyYWxfZm9ybSB1bCBsaSB7IC8qZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMTYlOyBtYXJnaW4tbGVmdDogMSU7Ki8gZGlzcGxheTogdGFibGUtY2VsbDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgcGFkZGluZy1yaWdodDogMTBweDsgfVxyXG4gICAgICAgICAgICAuZ2VuZXJhbF9mb3JtIHVsIGxpOm50aC1jaGlsZCgzKSB7IC8qd2lkdGg6IDE1LjUlOyovIH1cclxuICAgICAgICAgICAgLmdlbmVyYWxfZm9ybSB1bCBsaS5sYXN0X2NoaWxkIHsgbWFyZ2luLWxlZnQ6IDA7IG1pbi13aWR0aDogMTAwcHg7IH1cclxuICAgICAgICAgICAgLmdlbmVyYWxfZm9ybSB1bCBsaSBzZWxlY3QsIC5zZXJ2aWNlX2Zvcm0gLmxvbmdfbGlfY29udGkgbGkgaW5wdXQsIC5zZXJ2aWNlX2Zvcm0gLnNob3J0X2xpX2NvbnRpIGxpIGlucHV0LCAuc2VydmljZV9mb3JtIC5sb25nX2xpX2NvbnRpIGxpIHRleHRhcmVhIHsgYm9yZGVyLXJhZGl1czogNXB4OyBib3JkZXI6IDFweCBzb2xpZCAjQ0ZDRkNGOyBjb2xvcjogIzM0MzY0MjsgfVxyXG4gICAgICAgICAgICAuZ2VuZXJhbF9mb3JtIHVsIGxpIHNlbGVjdCB7IG9wYWNpdHk6IDA7IH1cclxuXHJcbiAgICAgICAgICAgIC5nZW5lcmFsX2Zvcm0gdWwgbGkucG9zaXRpb25fcmVsYXRpdmUgaSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0b3A6IDdweDsgLypiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7Ki8gZm9udC1zaXplOiAyMHB4OyBwb2ludGVyLWV2ZW50czogbm9uZTsgLypjb2xvcjogIzczNzQ3NDsqLyB9XHJcbiAgICAgICAgICAgIC5nZW5lcmFsX2Zvcm0gdWwgbGkubGFzdF9jaGlsZCBpIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuICAgICAgICAgICAgLmdlbmVyYWxfZm9ybSB1bCBsaSAuYnV0dG9uIHsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDVweCAxM3B4OyBwYWRkaW5nLWxlZnQ6IDMzcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtd2VpZ2h0OiA0MDA7IGZvbnQtc2l6ZTogMTVweDsgYm9yZGVyLXJhZGl1czogMzBweCA4cHggOHB4IDMwcHg7IGJvcmRlcjogbm9uZTsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI1ODkwOyBtaW4taGVpZ2h0OiAzM3B4OyB9XHJcbiAgICAgICAgICAgICAgICAuZ2VuZXJhbF9mb3JtIHVsIGxpIC5idXR0b246aG92ZXIsIC5nZW5lcmFsX2Zvcm0gdWwgbGkgLmJ1dHRvbjpmb2N1cyB7IC8qYmFja2dyb3VuZC1jb2xvcjogIzAwYmJmNiAhaW1wb3J0YW50OyovIH1cclxuICAgICAgICAgICAgICAgIC5nZW5lcmFsX2Zvcm0gdWwgbGkgLmJ1dHRvbiBpbWcgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDVweDsgdG9wOiA2cHg7IH1cclxuICAgICAgICAgICAgICAgICAgICAuZ2VuZXJhbF9mb3JtIHVsIGxpIC5idXR0b24gaW1nOmxhc3Qtb2YtdHlwZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgICAgICAgICAgLmdlbmVyYWxfZm9ybSB1bCBsaSBhLCAuZ2VuZXJhbF9mb3JtIHVsIGxpIFtkYXRhLWFjdGlvbj1cImNsZWFyXCJdIHsgY29sb3I6ICNhMmEyYTI7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDFlbTsgfVxyXG4gICAgICAgICAgICAgICAgLmdlbmVyYWxfZm9ybSB1bCBsaSBhLmFjdGl2ZSwgLmdlbmVyYWxfZm9ybSB1bCBsaSBbZGF0YS1hY3Rpb249XCJjbGVhclwiXS5hY3RpdmUgeyBjb2xvcjogIzAwYmJmNjsgY3Vyc29yOiBwb2ludGVyOyB9XHJcbiAgICAuZ2VuZXJhbF9mb3JtLmhhc19jYXRlZ29yeSB1bCBsaTpudGgtY2hpbGQoNCkgeyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4uc2VhcmNoX2NvbnRpIHsgd2lkdGg6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgLnNlYXJjaF9jb250aSA+IC5hdXRvX21hcmdpbiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgLnNlYXJjaF9jb250aSAuZ2VuZXJhbF9mb3JtIHsgYmFja2dyb3VuZC1jb2xvcjogI0VDRUNFQzsgd2lkdGg6IDIyOXB4OyBwYWRkaW5nOiAxMnB4IDIwcHggMHB4IDIwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJvcmRlci1yYWRpdXM6IDVweDsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMjBweDsgdG9wOiAyMHB4OyB6LWluZGV4OiAxMDsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbiAgICAgICAgLnNlYXJjaF9jb250aSAuZ2VuZXJhbF9mb3JtIGgyIHsgZmxvYXQ6IG5vbmU7IHBhZGRpbmctYm90dG9tOiA1cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDBCQkY2OyBtYXJnaW4tYm90dG9tOiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGxpbmUtaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMWVtOyB9XHJcbiAgICAgICAgLnNlYXJjaF9jb250aSAuZ2VuZXJhbF9mb3JtIHAgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICAgIC5zZWFyY2hfY29udGkgLmdlbmVyYWxfZm9ybSBmb3JtIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgICAgLnNlYXJjaF9jb250aSAuZ2VuZXJhbF9mb3JtIGZvcm0gPiB1bCB7IHdpZHRoOiAxMDAlOyBmbG9hdDogbm9uZTsgcGFkZGluZzogMDsgfVxyXG4gICAgICAgICAgICAgICAgLnNlYXJjaF9jb250aSAuZ2VuZXJhbF9mb3JtIGZvcm0gPiB1bCA+IGxpIHsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogMTBweDsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cclxuICAgICAgICAgICAgICAgICAgICAuc2VhcmNoX2NvbnRpIC5nZW5lcmFsX2Zvcm0gZm9ybSA+IHVsID4gbGkubGFzdF9jaGlsZCB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogNDklOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnNlYXJjaF9jb250aSAuZ2VuZXJhbF9mb3JtIGZvcm0gPiB1bCA+IGxpLmNsZWFyX2Zvcm0geyBmbG9hdDogcmlnaHQ7IHdpZHRoOiA0OSU7IH1cclxuICAgICAgICAgICAgICAgICAgICAuc2VhcmNoX2NvbnRpIC5nZW5lcmFsX2Zvcm0gZm9ybSA+IHVsID4gbGkgLmJ1dHRvbiB7IGxpbmUtaGVpZ2h0OiAzMnB4OyBwYWRkaW5nOiAwOyBtaW4taGVpZ2h0OiAwOyBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KTsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2VhcmNoX2NvbnRpIC5nZW5lcmFsX2Zvcm0gZm9ybSA+IHVsID4gbGkgLmJ1dHRvbiBzcGFuIHsgcGFkZGluZy1yaWdodDogMTBweDsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5zZWFyY2hfY29udGkgLmdlbmVyYWxfZm9ybSBmb3JtID4gdWwgPiBsaSAubGlrZV9zZWxlY3Qgc3BhbiB7IGZvbnQtc2l6ZTogMTVweDsgfVxyXG4uY2xlYXJfZm9ybSB7IC8qcGFkZGluZy10b3A6IDJweDsqLyB3aWR0aDogYXV0bzsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLmNsZWFyX2Zvcm0gYTpub3QoLmFjdGl2ZSkgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxyXG4uY29sb3JfZ3JheSwgLmNvbG9yX2dyYXkgPiBzcGFuIHsgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMCAhaW1wb3J0YW50OyBjb2xvcjogI2JiYiAhaW1wb3J0YW50OyB9XHJcblxyXG4ubmV3c2x0ZXJfZm9ybSwgLmdlbmVyYWxfc21hbGxfZm9ybSB7IHBhZGRpbmc6IDQwcHggMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4uZ2VuZXJhbF9zbWFsbF9mb3JtX25vX3BhZGRpbmdfdG9wIHsgcGFkZGluZy10b3A6IDA7IH1cclxuLm5ld3NsdGVyX2Zvcm0gaDIsIC5nZW5lcmFsX3NtYWxsX2Zvcm0gaDIsIC5saWtlX2Zvcm1fY29udGkgaDIgeyBmb250LXdlaWdodDogNzAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDE1cHg7IH1cclxuLmxpa2VfZm9ybV9jb250aSB7IHBhZGRpbmc6IDAgMjBweCAwIDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5saWtlX2Zvcm1fY29udGkgLmJpZ190ZWwgeyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IDEuNWVtOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcbiAgICAubGlrZV9mb3JtX2NvbnRpIGgyIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cclxuICAgIC5saWtlX2Zvcm1fY29udGkgcCB7IGNvbG9yOiAjODU4Njg2OyB9XHJcbi5nZW5lcmFsX3NtYWxsX2Zvcm0gaDIgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG4ubmV3c2x0ZXJfZm9ybSB1bCBsaSwgLmdlbmVyYWxfc21hbGxfZm9ybSB1bCBsaSB7IG1hcmdpbi1ib3R0b206IDEwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgLm5ld3NsdGVyX2Zvcm0gdWwgbGkgaW5wdXQsIC5nZW5lcmFsX3NtYWxsX2Zvcm0gdWwgbGkgaW5wdXQsIC5nZW5lcmFsX3NtYWxsX2Zvcm0gdWwgbGkgdGV4dGFyZWEsIC5nZW5lcmFsX3JlZ19mb3JtIGxpIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKSB7IGJvcmRlcjogMXB4IHNvbGlkICNENEQ0RDQ7IGJvcmRlci1yYWRpdXM6IDVweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4uZ2VuZXJhbF9zbWFsbF9mb3JtIHVsIC5pbnB1dF9oZWlnZXIgaW5wdXQgeyBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxyXG4ubmV3c2x0ZXJfZm9ybSB1bCBsaSAuYnV0dG9uLCAuZ2VuZXJhbF9zbWFsbF9mb3JtIHVsIGxpIC5idXR0b24geyB3aWR0aDogMTAwJTsgZm9udC1zaXplOiAxLjJlbTsgZm9udC13ZWlnaHQ6IDUwMDsgfVxyXG4gICAgLmdlbmVyYWxfc21hbGxfZm9ybSB1bCBsaSAuYnV0dG9uIGkgeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG5cclxuLnNob3dfc3Rpa3lfZm9ybSB7IGFuaW1hdGlvbi1uYW1lOiBhcnRiaXRDaGF0OyBhbmltYXRpb24tZHVyYXRpb246IDJzOyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYXJ0Yml0Q2hhdDsgLyogU2FmYXJpIDQuMCAtIDguMCAqLyAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7IC8qIFNhZmFyaSA0LjAgLSA4LjAgKi8gLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgLyogU2FmYXJpIDQuMCAtIDguMCAqLyB9XHJcbiAgICAuc2hvd19zdGlreV9mb3JtID4gc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiAjMDQ1NzkxOyBmb250LXdlaWdodDogNzAwOyB9XHJcbiAgICAuc2hvd19zdGlreV9mb3JtOmhvdmVyLCAuc2hvd19zdGlreV9mb3JtOmZvY3VzIHsgZmlsdGVyOiBicmlnaHRuZXNzKDExMCUpOyAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxMTAlKTsgLW1vei1maWx0ZXI6IGJyaWdodG5lc3MoMTEwJSk7IC1vLWZpbHRlcjogYnJpZ2h0bmVzcygxMTAlKTsgLW1zLWZpbHRlcjogYnJpZ2h0bmVzcygxMTAlKTsgfVxyXG5cclxuLnN0aWt5X2NoYXQgeyBwb3NpdGlvbjogZml4ZWQ7IGxlZnQ6IDIwcHg7IGJvdHRvbTogNTBweDsgei1pbmRleDogMTA7IHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyAtby10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgLnN0aWt5X2NoYXQuYm90dG9tIHsgYm90dG9tOiA1NTBweDsgfVxyXG4gICAgLnN0aWt5X2NoYXQgZm9ybSB7IGJhY2tncm91bmQtY29sb3I6ICNmNWNjM2M7IGJvcmRlci1yYWRpdXM6IDIwcHg7IHBhZGRpbmc6IDIwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHdpZHRoOiAzMDBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xNzNweDsgbGVmdDogMDsgZGlzcGxheTogbm9uZTsgaGVpZ2h0OiAxNjVweDsgfVxyXG4gICAgICAgIC5zdGlreV9jaGF0IGZvcm0gc3Ryb25nIHsgZm9udC13ZWlnaHQ6IDUwMDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDVweDsgfVxyXG4gICAgICAgIC5zdGlreV9jaGF0IGZvcm0gPiBwIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgIC5zdGlreV9jaGF0IGZvcm0gLmlucHV0c19jb250aSB7IG1hcmdpbi1ib3R0b206IDVweDsgfVxyXG4gICAgICAgICAgICAuc3Rpa3lfY2hhdCBmb3JtIC5pbnB1dHNfY29udGkgbGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAgICAgICAgICAgICAgIC5zdGlreV9jaGF0IGZvcm0gLmlucHV0c19jb250aSBsaTpub3QoOm50aC1jaGlsZCgxKSkgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgICAgICAgICAgICAgICAuc3Rpa3lfY2hhdCBmb3JtIC5pbnB1dHNfY29udGkgbGkgc2VsZWN0IHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxyXG4gICAgICAgICAgICAgICAgLnN0aWt5X2NoYXQgZm9ybSAuaW5wdXRzX2NvbnRpIGxpIGkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHBvaW50ZXItZXZlbnRzOiBub25lOyB0b3A6IDEwcHg7IGxlZnQ6IDVweDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgZm9udC1zaXplOiAyNXB4OyB9XHJcbiAgICAgICAgICAgICAgICAuc3Rpa3lfY2hhdCBmb3JtIC5pbnB1dHNfY29udGkgbGkgaW5wdXQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XHJcbiAgICAgICAgLnN0aWt5X2NoYXQgZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0geyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHdpZHRoOiA3M3B4OyBoZWlnaHQ6IDczcHg7IGxpbmUtaGVpZ2h0OiA3M3B4OyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogIzAwYmJmNjsgYm9yZGVyLXJhZGl1czogNTAlOyBwYWRkaW5nOiAwOyBkaXNwbGF5OiBub25lOyBib3R0b206IC04M3B4OyBvdXRsaW5lOiAwOyB9XHJcbiAgICAgICAgICAgIC5zdGlreV9jaGF0IGZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyLCAuc3Rpa3lfY2hhdCBmb3JtIGlucHV0W3R5cGU9c3VibWl0XTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICNmN2NiM2QgIWltcG9ydGFudDsgY29sb3I6ICMzMzMgIWltcG9ydGFudDsgfVxyXG5cclxuICAgICAgICAuc3Rpa3lfY2hhdCBmb3JtIC5zdGVwc19jb250aSB7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAgICAgICAgIC5zdGlreV9jaGF0IGZvcm0gLnN0ZXBzX2NvbnRpIGxpIHsgd2lkdGg6IDMyLjUlOyBtYXJnaW4tbGVmdDogMSU7IGZsb2F0OiByaWdodDsgfVxyXG4gICAgICAgICAgICAgICAgLnN0aWt5X2NoYXQgZm9ybSAuc3RlcHNfY29udGkgbGk6bGFzdC1jaGlsZCB7IG1hcmdpbi1sZWZ0OiAwOyB9XHJcbiAgICAgICAgICAgICAgICAuc3Rpa3lfY2hhdCBmb3JtIC5zdGVwc19jb250aSBsaSBhIHsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogNXB4OyB3aWR0aDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogIzAwYmJmNjsgfVxyXG4gICAgICAgICAgICAgICAgLnN0aWt5X2NoYXQgZm9ybSAuc3RlcHNfY29udGkgbGk6bm90KDpudGgtY2hpbGQoMSkpIGEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFiMzIwOyB9XHJcbiAgICAgICAgICAgICAgICAuc3Rpa3lfY2hhdCBmb3JtIC5zdGVwc19jb250aSBsaSBhLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICMwMGJiZjYgIWltcG9ydGFudDsgfVxyXG4gICAgICAgIC5zdGlreV9jaGF0IGZvcm0gLmZhLXNvcnQtZGVzYyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMzBweDsgYm90dG9tOiAtMTJweDsgZm9udC1zaXplOiAzMHB4OyBjb2xvcjogI2Y3Y2IzZDsgfVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGFydGJpdENoYXQge1xyXG4gICAgMCUgeyBmaWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpOyAtbW96LWZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTsgLW8tZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpOyAtbXMtZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpOyB9XHJcbiAgICAyNSUgeyBmaWx0ZXI6IGJyaWdodG5lc3MoMTAwJSk7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDEwMCUpOyAtbW96LWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTsgLW8tZmlsdGVyOiBicmlnaHRuZXNzKDEwMCUpOyAtbXMtZmlsdGVyOiBicmlnaHRuZXNzKDEwMCUpOyB9XHJcbiAgICA1MCUgeyBmaWx0ZXI6IGJyaWdodG5lc3MoMTAwJSk7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDEwMCUpOyAtbW96LWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTsgLW8tZmlsdGVyOiBicmlnaHRuZXNzKDEwMCUpOyAtbXMtZmlsdGVyOiBicmlnaHRuZXNzKDEwMCUpOyB9XHJcbiAgICAxMDAlIHsgZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpOyAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTsgLW1vei1maWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7IC1vLWZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTsgLW1zLWZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTsgfVxyXG59XHJcblxyXG4vKiBTdGFuZGFyZCBzeW50YXggKi9cclxuQGtleWZyYW1lcyBhcnRiaXRDaGF0IHtcclxuICAgIDAlIHsgZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpOyAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTsgLW1vei1maWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7IC1vLWZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTsgLW1zLWZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTsgfVxyXG4gICAgMjUlIHsgZmlsdGVyOiBicmlnaHRuZXNzKDEwMCUpOyAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTsgLW1vei1maWx0ZXI6IGJyaWdodG5lc3MoMTAwJSk7IC1vLWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTsgLW1zLWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTsgfVxyXG4gICAgNTAlIHsgZmlsdGVyOiBicmlnaHRuZXNzKDEwMCUpOyAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTsgLW1vei1maWx0ZXI6IGJyaWdodG5lc3MoMTAwJSk7IC1vLWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTsgLW1zLWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTsgfVxyXG4gICAgMTAwJSB7IGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTsgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7IC1tb3otZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpOyAtby1maWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7IC1tcy1maWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7IH1cclxufVxyXG5cclxuLmNoZWNrYm94X2NvbnRpIHsgcG9zaXRpb246IHJlbGF0aXZlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG4gICAgLmNoZWNrYm94X2NvbnRpIGlucHV0IHsgcG9zaXRpb246IGFic29sdXRlOyBjdXJzb3I6IHBvaW50ZXI7IG9wYWNpdHk6IDA7IHJpZ2h0OiAwOyB6LWluZGV4OiAxOyBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxyXG4gICAgLmNoZWNrYm94X2NvbnRpIHNwYW4geyB3aWR0aDogMTVweDsgaGVpZ2h0OiAxNXB4OyBib3JkZXI6IDFweCBzb2xpZCAjZmZmOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAwIGF1dG87IHBvc2l0aW9uOiByZWxhdGl2ZTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLmNoZWNrYm94X2NvbnRpIGlucHV0OmNoZWNrZWQgfiBzcGFuOjphZnRlciB7IGNvbnRlbnQ6IFwiXFxmMDBjXCI7IGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsgcG9zaXRpb246IHJlbGF0aXZlOyByaWdodDogLTZweDsgdG9wOiAtNnB4OyBmb250LXNpemU6IDEuMmVtOyBjb2xvcjogIzAwMDsgfVxyXG4vKkVuZCBGb3JtcyBBbmQgSW5wdXRzKi9cclxuXHJcbi8qKioqKkVuZCBHZW5lcmFsIENsYXNzZXMqKioqKi9cclxuXHJcblxyXG4vKioqKipIZWFkZXIqKioqKi9cclxuaGVhZGVyIHsgd2lkdGg6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgLypiYWNrZ3JvdW5kOiB1cmwoLi4vQ29udGVudC9SZXNvdXJjZXMvSW1nMi5qcGcpIG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsqLyB9XHJcbi5icmVkX2JnIHsgd2lkdGg6IDEwMCU7IC8qYmFja2dyb3VuZDogdXJsKC4uL0NvbnRlbnQvUmVzb3VyY2VzL0ltZzIuanBnKSBuby1yZXBlYXQ7Ki8gYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsgb3ZlcmZsb3c6IGhpZGRlbjsgcGFkZGluZzogMTBweCAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbi5uYXZfY29udGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q0RDRENDsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMTAwJTsgfVxyXG4uZXh0cmFfbGlua3MgeyBmbG9hdDogbGVmdDsgfVxyXG4gICAgLmV4dHJhX2xpbmtzIGxpIHsgZmxvYXQ6IHJpZ2h0OyB9XHJcbiAgICAgICAgLmV4dHJhX2xpbmtzIGxpIGEgeyBwYWRkaW5nOiAyNXB4IDE1cHggMjFweCAxNXB4OyBkaXNwbGF5OiBibG9jazsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4vKi5sb2dvIHsgZmxvYXQ6IHJpZ2h0OyB9Ki9cclxuXHJcbm5hdiB7IH1cclxuLmNsb3NlX25hdiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTBweDsgdG9wOiAxMHB4OyBjb2xvcjogI2ZmZjsgZGlzcGxheTogbm9uZTsgfVxyXG5uYXYgPiBkaXYgeyB3aWR0aDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgbmF2ID4gZGl2ID4gdWwgeyB3aWR0aDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgdGV4dC1hbGlnbjogY2VudGVyOyBkaXNwbGF5OiB0YWJsZTsgfVxyXG4gICAgICAgIG5hdiA+IGRpdiA+IHVsID4gbGkgeyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgICAgICAgICBuYXYgPiBkaXYgPiB1bCA+IGxpID4gYSB7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogIzM0MzY0MjsgcGFkZGluZzogMTJweCAyMHB4IDExcHggMTdweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAxLjEyNWVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50OyBoZWlnaHQ6IDQ1cHg7IH1cclxuICAgICAgICAgICAgICAgIG5hdiA+IGRpdiA+IHVsID4gbGkgPiBhLmFjdGl2ZSB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cclxuICAgICAgICAgICAgICAgIG5hdiA+IGRpdiA+IHVsID4gbGkgPiBhOjphZnRlciB7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2QwZDBkMDsgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDEycHg7IHdpZHRoOiAxcHg7IGhlaWdodDogNTAlOyB9XHJcbiAgICAgICAgICAgIG5hdiA+IGRpdiA+IHVsID4gbGk6bGFzdC1jaGlsZCwgbmF2ID4gZGl2ID4gdWwgPiBsaTpsYXN0LWNoaWxkIGEgeyBib3JkZXItbGVmdDogbm9uZTsgfVxyXG4gICAgICAgICAgICBuYXYgPiBkaXYgPiB1bCA+IGxpID4gI0dhbGxlcnk6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICAgICAgICBuYXYgPiBkaXYgPiB1bCA+IGxpID4gYTpob3ZlciBzcGFuLCBuYXYgPiBkaXYgPiB1bCA+IGxpID4gYTpmb2N1cyBzcGFuLCBuYXYgPiBkaXYgPiB1bCA+IGxpID4gYTpob3ZlciBpLCBuYXYgPiBkaXYgPiB1bCA+IGxpID4gYTpmb2N1cyBpIHsgLyotd2Via2l0LXRleHQtc3Ryb2tlOiAwLjVweCAjMDBCQkY2OyovIC8qZm9udC13ZWlnaHQ6NzAwOyovIGNvbG9yOiAjMDBCQkY2OyB9XHJcbiAgICAgICAgICAgIG5hdiA+IGRpdiA+IHVsID4gbGkgPiBhIHNwYW4geyB0ZXh0LWFsaWduOiBjZW50ZXI7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG4gICAgICAgICAgICBuYXYgPiBkaXYgPiB1bCA+IGxpID4gYTpob3ZlciwgbmF2ID4gZGl2ID4gdWwgPiBsaSA+IGE6Zm9jdXMgeyBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzAwQkJGNjsgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZDsgfVxyXG5cclxubmF2ID4gdWwgPiBsaSA+IGEgc3Bhbjo6YWZ0ZXIgeyBkaXNwbGF5OiBibG9jazsgY29udGVudDogYXR0cih0aXRsZSk7IGZvbnQtd2VpZ2h0OiBib2xkOyBoZWlnaHQ6IDFweDsgY29sb3I6IHRyYW5zcGFyZW50OyBvdmVyZmxvdzogaGlkZGVuOyB2aXNpYmlsaXR5OiBoaWRkZW47IG1hcmdpbi1ib3R0b206IC0xcHg7IH1cclxuXHJcbi5kcm9wX21lbnUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGNvbG9yOiAjMDAwOyBib3JkZXI6IDFweCBzb2xpZCAjY2ZjZmNmOyBtYXgtaGVpZ2h0OiAwOyB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgLW1vei10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IG92ZXJmbG93OiBoaWRkZW47IHotaW5kZXg6IDIwMDsgb3BhY2l0eTogMDsgd2lkdGg6IDEwMCU7IH1cclxuICAgIC5kcm9wX21lbnUgbGkgeyB9XHJcbiAgICAgICAgLmRyb3BfbWVudSBsaSArIGxpIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjZmNmY2Y7IH1cclxuICAgICAgICAuZHJvcF9tZW51IGxpIGEgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC13ZWlnaHQ6IDEwMCAhaW1wb3J0YW50OyBwb3NpdGlvbjogcmVsYXRpdmU7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuICAgICAgICAgICAgLmRyb3BfbWVudSBsaSBhOjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogNHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDsgYmFja2dyb3VuZC1jb2xvcjogIzNkYzllZTsgdHJhbnNmb3JtOiBzY2FsZVkoMCk7IC1tcy10cmFuc2Zvcm06IHNjYWxlWSgwKTsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSk7IC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSk7IC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSk7IC1vLXRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4yMiwuNjEsLjM2LDEpOyB9XHJcbiAgICAgICAgICAgIC5kcm9wX21lbnUgbGkgYTpob3Zlcjo6YWZ0ZXIsIC5kcm9wX21lbnUgbGkgYTpmb2N1czo6YWZ0ZXIgeyB0cmFuc2Zvcm06IHNjYWxlWSgxKTsgLW1zLXRyYW5zZm9ybTogc2NhbGVZKDEpOyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOyB9XHJcbiAgICAgICAgICAgIC5kcm9wX21lbnUgbGkgYTpob3ZlciwgLmRyb3BfbWVudSBsaSBhOmZvY3VzIHsgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgICAgIC5kcm9wX21lbnUgbGkgYTpob3ZlciwgLmRyb3BfbWVudSBsaSBhOmZvY3VzLCAuZHJvcF9tZW51IGxpIGEuYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgLypib3JkZXItYm90dG9tOiAxcHggc29saWQgI2EyYTJhMjsqLyB9XHJcbm5hdiA+IGRpdiA+IHVsID4gbGkgPiBhOmhvdmVyIH4gLmRyb3BfbWVudSwgbmF2ID4gZGl2ID4gdWwgPiBsaSA+IGE6Zm9jdXMgfiAuZHJvcF9tZW51IHsgbWF4LWhlaWdodDogMTUwMHB4OyBvcGFjaXR5OiAxOyB9XHJcbi5kcm9wX21lbnU6aG92ZXIsIC5kcm9wX21lbnU6Zm9jdXMgeyBtYXgtaGVpZ2h0OiAxNTAwcHg7IG9wYWNpdHk6IDE7IH1cclxuLmRyb3BfbWVudS5tYXhfaGVpZ2h0IHsgbWF4LWhlaWdodDogMTUwMHB4OyB9XHJcblxyXG4udG9wX2hlYWRlciB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAxMHB4IDIwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IGRpc3BsYXk6IHRhYmxlOyB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XHJcbiAgICAudG9wX2hlYWRlciAubG9nbyB7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IHdpZHRoOiAzOTZweDsgfVxyXG4gICAgICAgIC50b3BfaGVhZGVyIC5sb2dvID4gaW1nIHsgbWF4LXdpZHRoOiAxMDAlOyB9XHJcbiAgICAgICAgICAgIC50b3BfaGVhZGVyIC5sb2dvID4gaW1nOmZpcnN0LWNoaWxkIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgIC50b3BfaGVhZGVyIC5nZW5lcmFsX3NlYXJjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogMCAyMHB4OyB9XHJcbiAgICAudG9wX2hlYWRlciAuYWNjZXNzaWJpbGl0eV9jb250aSB7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IHdpZHRoOiAzNXB4OyB9XHJcbiAgICAudG9wX2hlYWRlciAubGlua3MgeyAvKmZsb2F0OiBsZWZ0OyBwYWRkaW5nLXRvcDogMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsqLyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB3aWR0aDogNDIwcHg7IHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cclxuICAgICAgICAudG9wX2hlYWRlciAubGlua3MgbGkgeyBkaXNwbGF5OiB0YWJsZS1jZWxsOyBwb3NpdGlvbjogcmVsYXRpdmU7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cclxuICAgICAgICAgICAgLnRvcF9oZWFkZXIgLmxpbmtzIGxpICsgbGkgeyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XHJcbiAgICAgICAgICAgIC50b3BfaGVhZGVyIC5saW5rcyBsaSBhIHsgY29sb3I6ICMwYjU4OTA7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgICAgICAgICAudG9wX2hlYWRlciAubGlua3MgbGkgYS5hY3RpdmUgeyBmb250LXdlaWdodDogNzAwOyB9XHJcbiAgICAgICAgICAgICAgICAudG9wX2hlYWRlciAubGlua3MgbGkgYSBzcGFuIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiAgICAgICAgICAgICAgICAudG9wX2hlYWRlciAubGlua3MgbGkgYSBpbWcgeyBtYXJnaW4tbGVmdDogNXB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cclxuICAgICAgICAgICAgICAgIC50b3BfaGVhZGVyIC5saW5rcyBsaSBhOmhvdmVyLCAudG9wX2hlYWRlciAubGlua3MgbGkgYTpmb2N1cyB7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cclxuICAgICAgICAgICAgICAgIC50b3BfaGVhZGVyIC5saW5rcyBsaSBhIC5pdGVtX2luX2NhcnQgeyB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4OyBsaW5lLWhlaWdodDogMjJweDsgYmFja2dyb3VuZC1jb2xvcjogIzAwYmJmNjsgY29sb3I6ICNmZmY7IHRleHQtYWxpZ246IGNlbnRlcjsgYm9yZGVyLXJhZGl1czogNTAlOyBwYWRkaW5nOiAwOyB9XHJcblxyXG4vKi5nZW5lcmFsX3NlYXJjaCB7IHdpZHRoOiAyNCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IGxlZnQ6IDA7IG1hcmdpbjogMCBhdXRvOyBtYXJnaW4tdG9wOiAxMHB4OyB9Ki9cclxuLmNsb3NlX2Zvcm1fbW9iaWxlIHsgZGlzcGxheTogbm9uZTsgfVxyXG4uZ2VuZXJhbF9zZWFyY2ggPiB1bCB7IH1cclxuICAgIC8qLmdlbmVyYWxfc2VhcmNoID4gdWwgPiBsaSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDEwMCU7IHBhZGRpbmctbGVmdDogMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSovXHJcbiAgICAuZ2VuZXJhbF9zZWFyY2ggPiB1bCA+IGxpIGlucHV0IHsgd2lkdGg6IDEwMCU7IGJvcmRlcjogMXB4IHNvbGlkICNjZmNmY2Y7IGJvcmRlci1yYWRpdXM6IDVweDsgcGFkZGluZzogOXB4IDEwcHggOXB4IDQ1cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDVweDsgfVxyXG4gICAgICAgIC5nZW5lcmFsX3NlYXJjaCA+IHVsID4gbGkgaW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiAwOyB9XHJcbi5nZW5lcmFsX3NlYXJjaCBidXR0b24geyBoZWlnaHQ6IDM5cHg7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBib3JkZXI6IG5vbmU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMjBweDsgdG9wOiAwOyBib3R0b206IDA7IGJvcmRlci1yYWRpdXM6IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMCAxMHB4OyBtYXJnaW46IGF1dG8gMDsgfVxyXG4gICAgLmdlbmVyYWxfc2VhcmNoIGJ1dHRvbiBpbWcgeyAvKmhlaWdodDogMjZweDsqLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgfVxyXG4gICAgLmdlbmVyYWxfc2VhcmNoIGJ1dHRvbjpob3ZlciwgLmdlbmVyYWxfc2VhcmNoIGJ1dHRvbjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cclxuLmdlbmVyYWxfc2VhcmNoIC5zZWFyY2hfcHJvZHVjdF9jb250aSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm9yZGVyOiAxcHggc29saWQgI2NmY2ZjZjsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgZGlzcGxheTogbm9uZTsgei1pbmRleDogMTA7IHRvcDogMTAwJTsgbWFyZ2luLXRvcDogLTFweDsgfVxyXG4gICAgLmdlbmVyYWxfc2VhcmNoIC5zZWFyY2hfcHJvZHVjdF9jb250aSB1bCB7IG92ZXJmbG93OiBhdXRvOyBtYXgtaGVpZ2h0OiAxMDBweDsgfVxyXG4gICAgICAgIC5nZW5lcmFsX3NlYXJjaCAuc2VhcmNoX3Byb2R1Y3RfY29udGkgdWwgbGkgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAgICAgICAgIC5nZW5lcmFsX3NlYXJjaCAuc2VhcmNoX3Byb2R1Y3RfY29udGkgdWwgbGkgKyBsaSB7IGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjOyB9XHJcbiAgICAgICAgICAgIC5nZW5lcmFsX3NlYXJjaCAuc2VhcmNoX3Byb2R1Y3RfY29udGkgdWwgbGkgYSB7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAxMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gICAgICAgICAgICAgICAgLmdlbmVyYWxfc2VhcmNoIC5zZWFyY2hfcHJvZHVjdF9jb250aSB1bCBsaSBhOmhvdmVyLCAuZ2VuZXJhbF9zZWFyY2ggLnNlYXJjaF9wcm9kdWN0X2NvbnRpIHVsIGxpIGE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI1ODkwOyBjb2xvcjogI2ZmZjsgfVxyXG4vKioqKioqRW5kIEhlYWRlcioqKioqKi9cclxuXHJcblxyXG4vKioqKipGb290ZXIqKioqKiovXHJcbmZvb3RlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cclxuLmZvb3Rlcl9jb250aSB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDEwMCU7IGJhY2tncm91bmQtY29sb3I6ICMzNDM2NDI7IHBhZGRpbmc6IDIwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuZm9vdGVyIC5jcmVkaXQgeyB3aWR0aDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsgcGFkZGluZzogMTVweCAxMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiAjMzQzNjQyOyB9XHJcbiAgICBmb290ZXIgLmNyZWRpdCBwIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMTAwJTsgfVxyXG4gICAgZm9vdGVyIC5jcmVkaXQgLnF1YWxpc2hfY3JlZGl0IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbi5mb290ZXJfbG9nbyB7IG1hcmdpbi1ib3R0b206IDIwcHg7IGRpc3BsYXk6IGJsb2NrOyBtYXgtd2lkdGg6IDUwNHB4OyBwYWRkaW5nLXJpZ2h0OiAxNTBweDsgfVxyXG4gICAgLmZvb3Rlcl9sb2dvIGltZyB7IHdpZHRoOiAxMDAlOyB9XHJcblxyXG4uZm9vdGVyX3NvY2lhbCB7IHRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmctbGVmdDogMzBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLmZvb3Rlcl9zb2NpYWwgbGkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1sZWZ0OiAzMHB4OyB9XHJcbiAgICAgICAgLmZvb3Rlcl9zb2NpYWwgbGk6bGFzdC1jaGlsZCB7IG1hcmdpbi1sZWZ0OiAwOyB9XHJcbiAgICAgICAgLmZvb3Rlcl9zb2NpYWwgbGkgYSB7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogIzlhOWNhYjsgZm9udC1zaXplOiAxLjdlbTsgfVxyXG5cclxuZm9vdGVyIGE6aG92ZXIsIGZvb3RlciBhOmZvY3VzIHsgY29sb3I6ICMwMGJiZjY7IH1cclxuXHJcbi5yaWdodF9zaWRlX2Zvb3RlciB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDI1JTsgcGFkZGluZzogMTAwcHggMjBweCA0NXB4IDIwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGNvbG9yOiAjZTZlN2U3OyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgLnJpZ2h0X3NpZGVfZm9vdGVyIC5lbnZlbG9wZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAyMHB4OyByaWdodDogMDsgbGVmdDogMDsgbWFyZ2luOiAwIGF1dG87IH1cclxuICAgIC5yaWdodF9zaWRlX2Zvb3RlciA+IGgyIHsgZm9udC13ZWlnaHQ6IDUwMDsgfVxyXG4gICAgLnJpZ2h0X3NpZGVfZm9vdGVyIGEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI1ODkwOyBib3JkZXI6IDJweCBzb2xpZCAjMTc3ZWM5OyBib3JkZXItcmFkaXVzOiAyMHB4OyBwYWRkaW5nOiA4cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgbWF4LXdpZHRoOiA5MHB4OyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAyMHB4IGF1dG8gMCBhdXRvOyB9XHJcbiAgICAgICAgLnJpZ2h0X3NpZGVfZm9vdGVyIGE6aG92ZXIsIC5yaWdodF9zaWRlX2Zvb3RlciBhOmZvY3VzIHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6ICMwMGJiZjY7IH1cclxuLmxlZnRfc2lkZV9mb290ZXIgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDc1JTsgcGFkZGluZy1yaWdodDogMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuLmZvb3Rlcl9uYXYgeyBjb2xvcjogIzlhOWNhYjsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDA7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuICAgIC5mb290ZXJfbmF2ID4gbGkgeyB3aWR0aDogMjUlOyBmbG9hdDogcmlnaHQ7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBhZGRpbmc6IDAgNTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgICAgICAgLmZvb3Rlcl9uYXYgPiBsaTpudGgtY2hpbGQoMSkgeyB3aWR0aDogMjUlOyB9XHJcbiAgICAgICAgICAgIC5mb290ZXJfbmF2ID4gbGk6bnRoLWNoaWxkKDEpOjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHRvcDogMDsgaGVpZ2h0OiA3NSU7IGJhY2tncm91bmQtY29sb3I6ICM5YTljYWI7IHdpZHRoOiAxcHg7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgICAgIC5mb290ZXJfbmF2ID4gbGk6bnRoLWNoaWxkKDEpOjpiZWZvcmUgeyBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMDsgaGVpZ2h0OiA3NSU7IGJhY2tncm91bmQtY29sb3I6ICM5YTljYWI7IHdpZHRoOiAxcHg7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgLmZvb3Rlcl9uYXYgPiBsaTpudGgtY2hpbGQoMikgeyB3aWR0aDogNTAlOyB9XHJcbiAgICAgICAgLmZvb3Rlcl9uYXYgPiBsaTpudGgtY2hpbGQoMyk6OmFmdGVyIHsgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMDsgdG9wOiAwOyBoZWlnaHQ6IDc1JTsgYmFja2dyb3VuZC1jb2xvcjogIzlhOWNhYjsgd2lkdGg6IDFweDsgZGlzcGxheTogYmxvY2s7IH1cclxuXHJcbiAgICAgICAgLmZvb3Rlcl9uYXYgPiBsaSA+IHVsIHsgfVxyXG4gICAgICAgICAgICAuZm9vdGVyX25hdiA+IGxpID4gdWwgPiBsaSB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG1hcmdpbi1ib3R0b206IDVweDsgfVxyXG4gICAgICAgICAgICAgICAgLmZvb3Rlcl9uYXYgPiBsaSA+IHVsID4gbGk6bGFzdC1jaGlsZCB7IHBhZGRpbmctbGVmdDogMDsgfVxyXG4gICAgICAgICAgICAgICAgLmZvb3Rlcl9uYXYgPiBsaSA+IHVsID4gbGkgaDIgeyBmb250LXNpemU6IDEuMmVtOyBwYWRkaW5nLWJvdHRvbTogNXB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXdlaWdodDogNTAwOyB9XHJcbiAgICAgICAgICAgICAgICAuZm9vdGVyX25hdiA+IGxpID4gdWwgPiBsaSBhIHsgY29sb3I6ICM5YTljYWI7IGZvbnQtc2l6ZTogMC45NWVtOyB9XHJcbiAgICAgICAgLmZvb3Rlcl9uYXYgPiBsaTpudGgtY2hpbGQoMikgdWwgbGkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA0OCU7IH1cclxuLyoqKioqKkVuZCBGb290ZXIqKioqKi9cclxuXHJcbi8qU29vbiovXHJcbi5zb29uX3BhZ2UgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDQwcHggMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4uc29vbl9sb2dvX2dlYXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiA1MTZweDsgbWFyZ2luOiAwIGF1dG8gNDBweCAzMTBweDsgaGVpZ2h0OiAyNzhweDsgbGVmdDogLTUwJTsgfVxyXG4gICAgLnNvb25fbG9nb19nZWFyIGltZyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMCBhdXRvOyB9XHJcbiAgICAuc29vbl9sb2dvX2dlYXIgLmdlYXIgeyBsZWZ0OiAyMzBweDsgdG9wOiAyNXB4OyB9XHJcbiAgICAuc29vbl9sb2dvX2dlYXIgLnNvb25fY2FydCB7IGxlZnQ6IDIyMHB4OyB0b3A6IDcwcHg7IH1cclxuXHJcbi5zb29uX3BhZ2UgLnNvb25fY29udGVudCB7IGNvbG9yOiAjODI4NDg2OyB9XHJcbiAgICAuc29vbl9wYWdlIC5zb29uX2NvbnRlbnQgPiBkaXYgeyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA2MThweDsgbWFyZ2luOiAwIGF1dG8gMjBweCBhdXRvOyB9XHJcbiAgICAgICAgLnNvb25fcGFnZSAuc29vbl9jb250ZW50ID4gZGl2IGltZyB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAuc29vbl9wYWdlIC5zb29uX2NvbnRlbnQgaDEgeyBtYXJnaW4tYm90dG9tOiA1cHg7IH1cclxuICAgIC5zb29uX3BhZ2UgLnNvb25fY29udGVudCBoMiB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cclxuXHJcbiAgICAuc29vbl9wYWdlIC5zb29uX2NvbnRlbnQgZm9ybSB7IHdpZHRoOiAyMzVweDsgbWFyZ2luOiAwIGF1dG87IH1cclxuICAgICAgICAuc29vbl9wYWdlIC5zb29uX2NvbnRlbnQgZm9ybSB1bCB7IH1cclxuICAgICAgICAgICAgLnNvb25fcGFnZSAuc29vbl9jb250ZW50IGZvcm0gdWwgbGkgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XHJcbiAgICAgICAgICAgICAgICAuc29vbl9wYWdlIC5zb29uX2NvbnRlbnQgZm9ybSB1bCBsaSBpbnB1dCB7IGJvcmRlcjogMXB4IHNvbGlkICM4Mjg0ODY7IHRleHQtYWxpZ246IGNlbnRlcjsgbGluZS1oZWlnaHQ6IDQwcHg7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxLjVlbTsgfVxyXG4gICAgICAgICAgICAgICAgLnNvb25fcGFnZSAuc29vbl9jb250ZW50IGZvcm0gdWwgbGkgYnV0dG9uIHsgYmFja2dyb3VuZC1jb2xvcjogIzBmNTk5MTsgY29sb3I6ICNmZmY7IGJvcmRlcjogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHdpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgZm9udC13ZWlnaHQ6IGJvbGQ7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDEuNWVtOyBsaW5lLWhlaWdodDogNDBweDsgaGVpZ2h0OiA0MHB4OyBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4OyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnNvb25fcGFnZSAuc29vbl9jb250ZW50IGZvcm0gdWwgbGkgYnV0dG9uIGkgeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG4vKkVuZCBTb29uKi9cclxuXHJcbi8qKioqKipJbmRleCoqKioqKi9cclxuLnJlYWRfbW9yZV9hYm91dCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuLm1haW5fY29udGVudCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgIC5tYWluX2NvbnRlbnQgYXJ0aWNsZSB7IGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyBib3JkZXItcmFkaXVzOiA1cHg7IC8qbWFyZ2luLXRvcDogLTI1cHg7Ki8gcGFkZGluZzogMzBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4gICAgICAgIC5tYWluX2NvbnRlbnQgYXJ0aWNsZSBoMiwgLm1haW5fY29udGVudCBhcnRpY2xlIGgxIHsgY29sb3I6ICMwYjU4OTA7IH1cclxuICAgICAgICAubWFpbl9jb250ZW50IGFydGljbGUgaDEgeyBtYXJnaW4tYm90dG9tOiAyMHB4OyBmb250LXNpemU6IDEuNWVtOyB9XHJcblxyXG4uc2VydmljZXMgeyAvKmJhY2tncm91bmQ6IHVybCguLi9Db250ZW50L1Jlc291cmNlcy9zZXJ2aWNlcy9JbWcxLmpwZykgbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsqLyBvdmVyZmxvdzogaGlkZGVuOyB3aWR0aDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMzsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNENEQ0RDQ7IH1cclxuICAgIC5zZXJ2aWNlcyB1bCB7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAgICAgLnNlcnZpY2VzIHVsIGxpIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMjAlOyB9XHJcbiAgICAgICAgICAgIC5zZXJ2aWNlcyB1bCBsaSA+IGRpdiB7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogI2ZmZjsgZGlzcGxheTogdGFibGU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDVweCAzMHB4IDVweCAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAgICAgICAgICAgICAuc2VydmljZXMgdWwgbGkgPiBkaXY6OmFmdGVyIHsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDBkMGQwOyBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMTNweDsgd2lkdGg6IDFweDsgaGVpZ2h0OiA1MCU7IH1cclxuICAgICAgICAgICAgLnNlcnZpY2VzIHVsIGxpOmxhc3QtY2hpbGQgPiBkaXY6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICAgICAgICAuc2VydmljZXMgdWwgbGkgPiBkaXYgLmltYWdlX2NvbnRpIHsgcGFkZGluZzogNHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cclxuICAgICAgICAgICAgICAgIC5zZXJ2aWNlcyB1bCBsaSA+IGRpdiAuaW1hZ2VfY29udGkgaW1nIHsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogNDBweDsgd2lkdGg6IDUwcHg7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cclxuXHJcbiAgICAgICAgICAgIC5zZXJ2aWNlcyB1bCBsaSA+IGRpdiAudGV4dCB7IHBhZGRpbmc6IDEwcHggMCAxMHB4IDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHRleHQtYWxpZ246IGNlbnRlcjsgZGlzcGxheTogdGFibGUtY2VsbDsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxyXG4gICAgICAgICAgICAuc2VydmljZXMgdWwgbGk6bnRoLWNoaWxkKDQpID4gZGl2IC50ZXh0LCAuc2VydmljZXMgdWwgbGk6bnRoLWNoaWxkKDUpID4gZGl2IC50ZXh0IHsgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XHJcblxyXG4gICAgICAgICAgICAuc2VydmljZXMgdWwgbGkgPiBkaXYgLnRleHQgc3Ryb25nIHsgbWFyZ2luLWJvdHRvbTogMDsgZm9udC13ZWlnaHQ6IDQwMDsgY29sb3I6ICMxQzU5OEY7IGZvbnQtc2l6ZTogMS4xZW07IH1cclxuICAgICAgICAgICAgLnNlcnZpY2VzIHVsIGxpID4gZGl2IC50ZXh0IHAgeyBtYXJnaW4tYm90dG9tOiAwOyBjb2xvcjogIzAwQkJGNjsgZm9udC1zaXplOiAwLjg1ZW07IH1cclxuLnNob3dfc2VydmljZXNfbW9iaWxlIHsgd2lkdGg6IDEwMCU7IGJhY2tncm91bmQtY29sb3I6ICMyYTdlYmU7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMTVweCAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBjb2xvcjogI2ZmZjsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLnBhcnRzIHsgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgcGFkZGluZy1ib3R0b206IDIwcHg7IGRpc3BsYXk6IHRhYmxlOyB3aWR0aDogMTAwJTsgfVxyXG4gICAgLnBhcnRzIGxpIHsgZGlzcGxheTogdGFibGUtY2VsbDsgd2lkdGg6IDEwJTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IC1vLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyBib3JkZXItcmFkaXVzOiAxMHB4OyB9XHJcbiAgICAgICAgLnBhcnRzIGxpOmxhc3QtY2hpbGQgeyBtYXJnaW4tbGVmdDogMDsgfVxyXG4gICAgICAgIC5wYXJ0cyBsaSBhIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZm9udC1zaXplOiAwLjhlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgICAgICAgICAgIC5wYXJ0cyBsaSBhOjphZnRlciB7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2QwZDBkMDsgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDA7IGJvdHRvbTogMTBweDsgd2lkdGg6IDFweDsgaGVpZ2h0OiA3MHB4OyBtYXJnaW46IGF1dG8gMDsgfVxyXG4gICAgICAgIC5wYXJ0cyBsaTpsYXN0LWNoaWxkIGE6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICAgIC5wYXJ0cyBsaSBhIC5ob3Zlcl9lZmVjdCB7IHRleHQtYWxpZ246IGNlbnRlcjsgLypwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC43KTsgcGFkZGluZzogMCAxMHB4OyovIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG9wYWNpdHk6IDE7IC8qdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyovIGRpc3BsYXk6IGJsb2NrOyBmb250LXdlaWdodDogNDAwOyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXItcmFkaXVzOiAxMHB4OyB9XHJcblxyXG4uY2F0ZWdvcnlfbmFtZSB7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7IC1vLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cclxuLnBhcnRzIGxpIGEgLmhvdmVyX2VmZWN0IHNwYW4geyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMTBweDsgcmlnaHQ6IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogI2ZmNjAwMDsgfVxyXG4ucGFydHMgbGkgYTpob3ZlciAuaG92ZXJfZWZlY3QgeyBvcGFjaXR5OiAxOyB9XHJcbi5wYXJ0cyBsaSBhIC5pbWFnZV9jb250aSB7IHdpZHRoOiAxMDAlOyAvKmhlaWdodDogMTA1cHg7IHBhZGRpbmc6IDAgMTVweDsqLyBwYWRkaW5nOiAwIDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5wYXJ0cyBsaSBhIC5pbWFnZV9jb250aSBpbWcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9XHJcbi5zaG93X21vcmVfcGFydHMsIC5zaG93X2ZhcV9tb2JpbGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZjZmNmOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDE1cHggMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC13ZWlnaHQ6IDcwMDsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgLnNob3dfbW9yZV9wYXJ0cyBpIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuLnBhcnRzIGxpIGEgLmltYWdlX2NvbnRpIC5zdmcgeyAvKndpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyBwYWRkaW5nOiAwIDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ki8gbWF4LWhlaWdodDogMTAwJTsgbWF4LXdpZHRoOiAxMDAlOyB9XHJcbi5wYXJ0cyBsaSBhOmhvdmVyIC5pbWFnZV9jb250aSAuc3ZnIC5jbHMtMSwgLnBhcnRzIGxpIGE6Zm9jdXMgLmltYWdlX2NvbnRpIC5zdmcgLmNscy0xLCAucGFydHMgbGkgYTpob3ZlciAuaW1hZ2VfY29udGkgLnN2ZyAuc3QwLCAucGFydHMgbGkgYTpmb2N1cyAuaW1hZ2VfY29udGkgLnN2ZyAuc3QwIHsgZmlsbDogIzM0N0VCQSAhaW1wb3J0YW50OyB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7IC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0OyAtby10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7IC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0OyB9XHJcbi5wYXJ0cyBsaSAuY2F0ZWdvcnlfZmlsdGVyIC5pbWFnZV9jb250aSAuc3ZnIC5jbHMtMSwgLnBhcnRzIGxpIC5jYXRlZ29yeV9maWx0ZXIgLmltYWdlX2NvbnRpIC5zdmcgLnN0MCB7IGZpbGw6ICMwMGJiZjY7IH1cclxuLnBhcnRzIGxpIGE6aG92ZXIsIC5wYXJ0cyBsaSBhOmZvY3VzIHsgY29sb3I6ICMzNDdFQkEgIWltcG9ydGFudDsgfVxyXG4ucGFydHMgbGkgLmNhdGVnb3J5X2ZpbHRlciB7IGNvbG9yOiAjMDBiYmY2OyB9XHJcblxyXG4uZ2FsbGVyeV9saW5rcyB7IH1cclxuICAgIC5nYWxsZXJ5X2xpbmtzIGxpIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNDklOyBtYXJnaW4tbGVmdDogMiU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTogMiU7IGJvcmRlci1yYWRpdXM6IDVweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cclxuLmdhbGxlcnlfbGlua3NfcGFnZSBsaSB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuLmdhbGxlcnlfbGlua3MgbGk6bnRoLWNoaWxkKGV2ZW4pIHsgbWFyZ2luLWxlZnQ6IDA7IH1cclxuLmdhbGxlcnlfbGlua3MgbGkgYSB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAgIC5nYWxsZXJ5X2xpbmtzIGxpIGEgLmltYWdlX2NvbnRpIHsgaGVpZ2h0OiAwOyBvdmVyZmxvdzogaGlkZGVuOyBwYWRkaW5nLWJvdHRvbTogMjguNSU7IH1cclxuICAgICAgICAuZ2FsbGVyeV9saW5rcyBsaSBhIC5pbWFnZV9jb250aSBpbWcgeyAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpOyAvKiBTYWZhcmkgNi4wIC0gOS4wICovIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpOyB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgLW1vei10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IH1cclxuICAgIC5nYWxsZXJ5X2xpbmtzIGxpIGEgLmxpa2VfYSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDEwcHggMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6ICNmZmY7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAwOyB3aWR0aDogMTAwJTsgZm9udC1zaXplOiAxLjFlbTsgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IC1vLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyB9XHJcbiAgICAgICAgLmdhbGxlcnlfbGlua3MgbGkgYSAubGlrZV9hIC5mYS1hbmdsZS1sZWZ0IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuICAgIC5nYWxsZXJ5X2xpbmtzIGxpIGE6aG92ZXIgLmltYWdlX2NvbnRpIGltZywgLmdhbGxlcnlfbGlua3MgbGkgYTpmb2N1cyAuaW1hZ2VfY29udGkgaW1nLCAuZ2FsbGVyeV9saW5rc19ub19ncmF5IGxpIGEgLmltYWdlX2NvbnRpIGltZyB7IC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMCk7IC8qIFNhZmFyaSA2LjAgLSA5LjAgKi8gZmlsdGVyOiBncmF5c2NhbGUoMCk7IH1cclxuICAgIC5nYWxsZXJ5X2xpbmtzIGxpIGE6aG92ZXIgLmltYWdlX2NvbnRpIGltZywgLmdhbGxlcnlfbGlua3MgbGkgYTpmb2N1cyAuaW1hZ2VfY29udGkgaW1nIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxyXG4gICAgLmdhbGxlcnlfbGlua3MgbGkgYTpob3ZlciAubGlrZV9hIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMSwgODgsIDE0NCwgMC43NSk7IHRleHQtc2hhZG93OiAwIDAgNXB4ICMwYzM4NTg7IH1cclxuXHJcbi5mYXFfbWFpbl9jb250aSB7IHBhZGRpbmc6IDMwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJvcmRlcjogMXB4IHNvbGlkICNlNmU3ZTc7IGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7IH1cclxuLmZhcSB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDQ5JTsgZm9udC13ZWlnaHQ6IDUwMDsgfVxyXG4gICAgLmZhcTpudGgtb2YtdHlwZSgxKSB7IHBhZGRpbmctbGVmdDogMSU7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U2ZTdlNzsgbWFyZ2luLWxlZnQ6IDElOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAuZmFxIGgyIHsgZm9udC13ZWlnaHQ6IDcwMDsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAuZmFxIGgyIHNwYW4geyBmbG9hdDogcmlnaHQ7IHBhZGRpbmctYm90dG9tOiAxMHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwQkJGNjsgfVxyXG4gICAgICAgIC5mYXEgaDIgYSB7IGZsb2F0OiBsZWZ0OyBjb2xvcjogIzBiNTg5MDsgfVxyXG4gICAgLmZhcSA+IHVsIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgIC5mYXEgPiB1bCA+IGxpIHsgd2lkdGg6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgICAgICAgICAuZmFxID4gdWwgPiBsaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTFcIjsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMDsgdG9wOiAyOHB4OyBjb2xvcjogIzAwQkJGNjsgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOyBmb250LXNpemU6IDVweDsgfVxyXG4gICAgICAgICAgICAuZmFxID4gdWwgPiBsaTpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgICAgICAgICAuZmFxID4gdWwgPiBsaSA+IGEgeyBwYWRkaW5nOiAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBkaXNwbGF5OiBibG9jazsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQwZDA7IGZvbnQtc2l6ZTogMS4xZW07IGZvbnQtd2VpZ2h0OiA0MDA7IH1cclxuLmdvX3RvX3BhZ2UgeyBjb2xvcjogIzBiNTg5MDsgZm9udC1zaXplOiAxLjJlbTsgfVxyXG5cclxuLmJsb2dfY29udGkgeyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcbiAgICAuYmxvZ19jb250aSB1bCB7IH1cclxuICAgICAgICAuYmxvZ19jb250aSB1bCBsaSB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDQ5JTsgbWFyZ2luLWxlZnQ6IDIlOyB9XHJcbiAgICAgICAgICAgIC5ibG9nX2NvbnRpIHVsIGxpOm50aC1jaGlsZChldmVuKSB7IG1hcmdpbi1sZWZ0OiAwOyB9XHJcbiAgICAgICAgICAgIC5ibG9nX2NvbnRpIHVsIGxpIGgyIHsgZm9udC13ZWlnaHQ6IDcwMDsgcGFkZGluZy1ib3R0b206IDEwcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDBCQkY2OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cclxuICAgICAgICAgICAgLmJsb2dfY29udGkgdWwgbGkgYSB7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBwYWRkaW5nOiAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3JkZXItcmFkaXVzOiA1cHg7IGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICAgICAgICAgICAgLmJsb2dfY29udGkgdWwgbGkgYSAuaW1hZ2VfY29udGkgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAyNSU7IC8qcGFkZGluZy1ib3R0b206IDIwJTsgaGVpZ2h0OiAwOyovIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgYm9yZGVyLXJhZGl1czogNXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuICAgICAgICAgICAgICAgICAgICAuYmxvZ19jb250aSB1bCBsaSBhIC5pbWFnZV9jb250aTphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nLWJvdHRvbTogODAlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmJsb2dfY29udGkgdWwgbGkgYSAuaW1hZ2VfY29udGkgaW1nIHsgb3BhY2l0eTogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGJvdHRvbTogMDsgcmlnaHQ6IDA7IGxlZnQ6IDA7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgICAgICAgIC5ibG9nX2NvbnRpIHVsIGxpIGEgYXJ0aWNsZSB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDc1JTsgcGFkZGluZy1yaWdodDogMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuYmxvZ19jb250aSB1bCBsaSBhIGFydGljbGUgcCB7IGZvbnQtc2l6ZTogMC45NWVtOyB9XHJcbiAgICAgICAgICAgICAgICAuYmxvZ19jb250aSB1bCBsaSBhIC5hcnJvd19sZWZ0X2NvbnRpIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMCU7IH1cclxuICAgICAgICAgICAgICAgICAgICAuYmxvZ19jb250aSB1bCBsaSBhIC5hcnJvd19sZWZ0X2NvbnRpIGkgeyBmb250LXNpemU6IDEyZW07IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogYm9sZDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5ibG9nX2NvbnRpIHVsIGxpIGEgLmFycm93X2xlZnRfY29udGkgaTo6YmVmb3JlIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC01MHB4OyB9XHJcblxyXG4uYmxvZ19tYWluX2NvbnRpIHsgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxyXG4gICAgLmJsb2dfbWFpbl9jb250aSAuYnV0dG9uIHsgd2lkdGg6IDI1MHB4OyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAwIGF1dG87IH1cclxuICAgICAgICAuYmxvZ19tYWluX2NvbnRpIC5idXR0b24gc3BhbiB7IGZvbnQtd2VpZ2h0OiA0MDA7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IHRvcDsgcGFkZGluZy10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cclxuICAgICAgICAuYmxvZ19tYWluX2NvbnRpIC5idXR0b24gaW1nIHsgfVxyXG5cclxuLm9wZW5fY29udGFjdF9mb3JtIHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQ6IHVybChSZXNvdXJjZXMvYmFubmVyL2Jhbm5lci5wbmcpIG5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gICAgLm9wZW5fY29udGFjdF9mb3JtIGFydGljbGUgeyBmb250LXNpemU6IDJlbTsgcGFkZGluZzogNzBweCA0MHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBmbG9hdDogcmlnaHQ7IH1cclxuICAgICAgICAub3Blbl9jb250YWN0X2Zvcm0gYXJ0aWNsZSBoMyB7IH1cclxuICAgICAgICAub3Blbl9jb250YWN0X2Zvcm0gYXJ0aWNsZSBoMiB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cclxuICAgICAgICAub3Blbl9jb250YWN0X2Zvcm0gYXJ0aWNsZSBhIHsgY29sb3I6ICMzNDg4OTk7IH1cclxuXHJcbi50ZXN0YW1vbmlhbHMgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IG92ZXJmbG93OiBoaWRkZW47IHBhZGRpbmc6IDQwcHggMCAxOHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgLnRlc3RhbW9uaWFscyA+IHVsIHsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAudGVzdGFtb25pYWxzID4gdWwgPiBsaSB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDI1JTsgfVxyXG4gICAgICAgICAgICAudGVzdGFtb25pYWxzID4gdWwgPiBsaTpudGgtY2hpbGQobiArIDUpIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICAgICAgICAudGVzdGFtb25pYWxzID4gdWwgPiBsaSBhIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDAgMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgICAgICAgICAgICAgLnRlc3RhbW9uaWFscyA+IHVsID4gbGkgYSAuc3RhcnMgeyBvdmVyZmxvdzogaGlkZGVuOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnRlc3RhbW9uaWFscyA+IHVsID4gbGkgYSAuc3RhcnMgdWwgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50ZXN0YW1vbmlhbHMgPiB1bCA+IGxpIGEgLnN0YXJzIHVsIGxpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGVzdGFtb25pYWxzID4gdWwgPiBsaSBhIC5zdGFycyB1bCBsaSBpIHsgY29sb3I6ICMwMEJCRjY7IGZvbnQtc2l6ZTogMS41ZW07IH1cclxuICAgICAgICAgICAgICAgIC50ZXN0YW1vbmlhbHMgPiB1bCA+IGxpIGEgaDIgeyBmb250LXdlaWdodDogNzAwOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBjb2xvcjogIzBiNTg5MDsgfVxyXG4gICAgICAgICAgICAgICAgLnRlc3RhbW9uaWFscyA+IHVsID4gbGkgYSBwIHsgfVxyXG4ubmF2X2J1dHRvbnMgeyB3aWR0aDogMTAwJTsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiA5MDA7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIC5uYXZfYnV0dG9ucyBhIHsgcG9zaXRpb246IGFic29sdXRlOyBjb2xvcjogIzBiNTg5MDsgZm9udC1zaXplOiAzZW07IHRvcDogMDsgb3BhY2l0eTogMC4zOyB9XHJcbiAgICAgICAgLm5hdl9idXR0b25zIGE6aG92ZXIsIC5uYXZfYnV0dG9ucyBhOmZvY3VzIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgLm5hdl9idXR0b25zIC5uZXh0IHsgbGVmdDogMDsgfVxyXG4gICAgLm5hdl9idXR0b25zIC5wcmV2IHsgcmlnaHQ6IDA7IH1cclxuXHJcbi5vdXJfY2xpZW50cyB7IG1hcmdpbi1ib3R0b206IDUwcHg7IH1cclxuICAgIC5vdXJfY2xpZW50cyB1bCB7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAgICAgLm91cl9jbGllbnRzIHVsIGxpIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMjAlOyB9XHJcbiAgICAgICAgICAgIC5vdXJfY2xpZW50cyB1bCBsaSBhIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgICAgICAgICAgICAgIC5vdXJfY2xpZW50cyB1bCBsaSBhIGltZyB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDAgYXV0bzsgd2lkdGg6IDEwMCU7IH1cclxuXHJcblxyXG4vKmZhY2Ugc2xpZGVyKi9cclxuI3NsaWRlcjFfY29udGFpbmVyIHsgcGFkZGluZzogMTBweCAwOyBtYXJnaW4tYm90dG9tOiAzMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB6LWluZGV4OiAxOyB9XHJcbiAgICAjc2xpZGVyMV9jb250YWluZXIsICNzbGlkZXIxX2NvbnRhaW5lciA+IGRpdiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICAjc2xpZGVyMV9jb250YWluZXIgPiBkaXYgeyBtYXJnaW4tdG9wOiAxMHB4OyB9XHJcblxyXG4udGhlbWUtYmFyLnNsaWRlci13cmFwcGVyIHsgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZmZmOyBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZmZmOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3JkZXItcmFkaXVzOiA1cHg7IG1hcmdpbi10b3A6IDIwcHg7IH1cclxuI3NsaWRlcjFfY29udGFpbmVyIC5zbGlkZV9jb250aSB7IH1cclxuI3NsaWRlcjFfY29udGFpbmVyIC5zaG9ydF9kZXNjIHsgcG9zaXRpb246IGFic29sdXRlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4OyBib3JkZXI6IDJweCBzb2xpZCAjYzBiZmJlOyBib3JkZXItcmFkaXVzOiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IHdpZHRoOiA5NSU7IG1hcmdpbjogMCBhdXRvOyBib3R0b206IDE4N3B4OyByaWdodDogMDsgbGVmdDogMDsgcGFkZGluZzogMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IC1vLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyBvcGFjaXR5OiAwOyBkaXNwbGF5OiBibG9jazsgcG9pbnRlci1ldmVudHM6IG5vbmU7IGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoNzIsIDcyLCA3MiwgMC4yMyk7IH1cclxuICAgICNzbGlkZXIxX2NvbnRhaW5lciAuc2hvcnRfZGVzYyBoMiB7IGNvbG9yOiAjMGI1ODkwOyBtYXJnaW4tYm90dG9tOiA1cHg7IH1cclxuICAgICNzbGlkZXIxX2NvbnRhaW5lciAuc2hvcnRfZGVzYyBpbWcgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogLTE4cHg7IHdpZHRoOiAyOTNweDsgcmlnaHQ6IC02cHg7IH1cclxuI3NsaWRlcjFfY29udGFpbmVyIC5zbGlkZV9jb250aTpob3ZlciAuc2hvcnRfZGVzYyB7IG9wYWNpdHk6IDE7IH1cclxuI3NsaWRlcjFfY29udGFpbmVyIGRpdiB7IG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cclxuLyoqKioqKkVuZCBJbmRleCoqKioqKi9cclxuLypTaG9wKi9cclxuLnNlcnZpY2VzX2dlbmVyYWxfcGFnZXMgeyB9XHJcbiAgICAuc2VydmljZXNfZ2VuZXJhbF9wYWdlcyB1bCBsaSBhIC5pbWFnZV9jb250aSB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDIwJTsgcGFkZGluZzogN3B4IDA7IH1cclxuICAgIC5zZXJ2aWNlc19nZW5lcmFsX3BhZ2VzIHVsIGxpOm50aC1jaGlsZCgxKSBhIC5pbWFnZV9jb250aSB7IGJhY2tncm91bmQtY29sb3I6ICMxZTY4OWQ7IH1cclxuICAgIC5zZXJ2aWNlc19nZW5lcmFsX3BhZ2VzIHVsIGxpOm50aC1jaGlsZCgyKSBhIC5pbWFnZV9jb250aSB7IGJhY2tncm91bmQtY29sb3I6ICMwOTRkN2U7IH1cclxuICAgIC5zZXJ2aWNlc19nZW5lcmFsX3BhZ2VzIHVsIGxpOm50aC1jaGlsZCgzKSBhIC5pbWFnZV9jb250aSB7IGJhY2tncm91bmQtY29sb3I6ICMwOTNmNjc7IH1cclxuICAgIC5zZXJ2aWNlc19nZW5lcmFsX3BhZ2VzIHVsIGxpOm50aC1jaGlsZCg0KSBhIC5pbWFnZV9jb250aSB7IGJhY2tncm91bmQtY29sb3I6ICMwOTRkN2U7IH1cclxuICAgIC5zZXJ2aWNlc19nZW5lcmFsX3BhZ2VzIHVsIGxpOm50aC1jaGlsZCg1KSBhIC5pbWFnZV9jb250aSB7IGJhY2tncm91bmQtY29sb3I6ICMxZTY4OWQ7IH1cclxuICAgIC5zZXJ2aWNlc19nZW5lcmFsX3BhZ2VzIHVsIGxpIGEgLmltYWdlX2NvbnRpIGltZyB7IHdpZHRoOiA5MCU7IG1hcmdpbjogMCBhdXRvOyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgLnNlcnZpY2VzX2dlbmVyYWxfcGFnZXMgdWwgbGkgYSAudGV4dCB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDgwJTsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cclxuXHJcbi5jYXRlZ29yaWVzX2NvbnRpIHsgLypwYWRkaW5nOiAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyovIG1hcmdpbi10b3A6IDVweDsgfVxyXG4gICAgLmNhdGVnb3JpZXNfY29udGkgPiBzcGFuIHsgZm9udC13ZWlnaHQ6IDUwMDsgbWFyZ2luLWxlZnQ6IDNweDsgfVxyXG4gICAgLmNhdGVnb3JpZXNfY29udGkgdWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGNvbG9yOiAjMGI1ODkwOyB9XHJcbiAgICAgICAgLmNhdGVnb3JpZXNfY29udGkgdWwgbGkgeyBmb250LXdlaWdodDogNTAwOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cclxuICAgICAgICAgICAgLmNhdGVnb3JpZXNfY29udGkgdWwgbGk6bm90KDpsYXN0LWNoaWxkKTphZnRlciwgLmZpbHRlciAjZWxGaWx0ZXJTb3J0IHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkgPiBkaXY6YWZ0ZXIgeyBjb250ZW50OiBcIlxcZjExMVwiOyBjb2xvcjogI2JhYmFiYTsgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lOyBmb250LXNpemU6IDVweDsgdGV4dC1yZW5kZXJpbmc6IGF1dG87IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IG1hcmdpbjogMCAzcHg7IH1cclxuICAgICAgICAgICAgLmNhdGVnb3JpZXNfY29udGkgdWwgbGkgaSB7IGRpc3BsYXk6IG5vbmU7IGNvbG9yOiAjMDBiYmY2OyB9XHJcbiAgICAgICAgICAgIC5jYXRlZ29yaWVzX2NvbnRpIHVsIGxpLmFjdGl2ZSBpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiAgICAgICAgICAgIC5jYXRlZ29yaWVzX2NvbnRpIHVsIGxpIGE6aG92ZXIgeyBjb2xvcjogIzAwYmJmNjsgfVxyXG5cclxuLmZpbHRlciB7IHdpZHRoOiAxMDAlOyBkaXNwbGF5OiB0YWJsZTsgfVxyXG4gICAgLmZpbHRlciAuc2VsZWN0X2NvbnRpIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgIC5maWx0ZXIgLnNlbGVjdF9jb250aSBzZWxlY3QgeyBib3JkZXItcmFkaXVzOiAxMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjY2ZjZmNmOyBvcGFjaXR5OiAwOyB9XHJcbiAgICAuZmlsdGVyID4gZGl2IHsgZGlzcGxheTogdGFibGUtY2VsbDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxyXG4gICAgLmZpbHRlciAjZWxGaWx0ZXJTb3J0ICsgZGl2IHsgcGFkZGluZy1yaWdodDogMjBweDsgbWluLXdpZHRoOiAxNTBweDsgfVxyXG4gICAgICAgIC5maWx0ZXIgI2VsRmlsdGVyU29ydCArIGRpdiAucVNlbGVjdCAucVNlbGVjdF9vdmVybGF5IHsgcGFkZGluZzogNnB4IDEwcHg7IH1cclxuICAgICAgICAgICAgLmZpbHRlciAjZWxGaWx0ZXJTb3J0ICsgZGl2IC5xU2VsZWN0IC5xU2VsZWN0X292ZXJsYXkgc3BhbiB7IHBhZGRpbmctbGVmdDogMTBweDsgfVxyXG4gICAgLmZpbHRlciAjZWxGaWx0ZXJTb3J0ID4gc3BhbiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC13ZWlnaHQ6IDUwMDsgbWFyZ2luLWxlZnQ6IDNweDsgfVxyXG4gICAgLmZpbHRlciAjZWxGaWx0ZXJTb3J0IHVsLCAuZmlsdGVyICNlbEZpbHRlclNvcnQgdWwgbGkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cclxuICAgIC5maWx0ZXIgI2VsRmlsdGVyU29ydCAucmFkaW9fZmlsdGVyIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgICAgIC5maWx0ZXIgI2VsRmlsdGVyU29ydCAucmFkaW9fZmlsdGVyID4gbGFiZWwgeyB9XHJcbiAgICAgICAgLmZpbHRlciAjZWxGaWx0ZXJTb3J0IC5yYWRpb19maWx0ZXIgPiBpIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuICAgIC5maWx0ZXIgI2VsRmlsdGVyU29ydCBsYWJlbCB7IGN1cnNvcjogcG9pbnRlcjsgY29sb3I6ICMwYjU4OTA7IGZvbnQtd2VpZ2h0OiA1MDA7IC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOyAtbW96LXVzZXItc2VsZWN0OiBub25lOyAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IHVzZXItc2VsZWN0OiBub25lOyB9XHJcbiAgICAgICAgLyouZmlsdGVyICNlbEZpbHRlclNvcnQgLnJhZGlvX2ZpbHRlci5hY3RpdmUgbGFiZWwsKi8gLmZpbHRlciAjZWxGaWx0ZXJTb3J0IGxhYmVsOmhvdmVyIHsgY29sb3I6ICMwMGJiZjY7IH1cclxuICAgIC5maWx0ZXIgI2VsRmlsdGVyU29ydCAucmFkaW9fZmlsdGVyID4gaSB7IH1cclxuICAgIC5maWx0ZXIgI2VsRmlsdGVyU29ydCBpbnB1dDpub3QoOmNoZWNrZWQpICsgaSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi50b3BfaW1hZ2UgeyBib3JkZXItYm90dG9tOiAycHggc29saWQgI2U2ZTdlNzsgbWFyZ2luLWJvdHRvbTogNXB4OyB9XHJcbiAgICAudG9wX2ltYWdlIGltZyB7IHdpZHRoOiAxMDAlOyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XHJcblxyXG4ucHJvZHVjdF9wYWdlX2hlYWRsaW5lIHsgcGFkZGluZzogMjVweCAwOyB9XHJcblxyXG4uaXRlbXNfY29udGkgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgLml0ZW1zX2NvbnRpID4gbGksIC5pdGVtc19jb250aSA+IC5saSB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IHBhZGRpbmc6IDVweCAxNXB4OyB3aWR0aDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luLWJvdHRvbTogMTBweDsgcG9zaXRpb246IHJlbGF0aXZlOyBmb250LXNpemU6IDAuOWVtOyBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KTsgb3ZlcmZsb3c6IGhpZGRlbjsgYm9yZGVyLXJhZGl1czogNXB4OyB9XHJcbiAgICAgICAgLml0ZW1zX2NvbnRpID4gbGkgLnByb2R1Y3RfaW5uZXJfcGFnZV9jb250aSB7IHBhZGRpbmc6IDA7IGJveC1zaGFkb3c6IG5vbmU7IG1hcmdpbjogMDsgZm9udC1zaXplOiAwLjhlbTsgfVxyXG4gICAgICAgIC5pdGVtc19jb250aSA+IGxpOjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogNHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDsgYmFja2dyb3VuZC1jb2xvcjogIzNkYzllZTsgdHJhbnNmb3JtOiBzY2FsZVkoMCk7IC1tcy10cmFuc2Zvcm06IHNjYWxlWSgwKTsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSk7IC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSk7IC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSk7IC1vLXRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4yMiwuNjEsLjM2LDEpOyB9XHJcbiAgICAgICAgLml0ZW1zX2NvbnRpID4gbGk6aG92ZXI6OmFmdGVyLCAuaXRlbXNfY29udGkgPiBsaTpmb2N1czo6YWZ0ZXIgeyB0cmFuc2Zvcm06IHNjYWxlWSgxKTsgLW1zLXRyYW5zZm9ybTogc2NhbGVZKDEpOyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOyB9XHJcbiAgICAgICAgLml0ZW1zX2NvbnRpID4gbGkgLmltYWdlX2NvbnRpIHsgd2lkdGg6IDI1JTsgLypoZWlnaHQ6IDA7IHBhZGRpbmctYm90dG9tOiAyMCU7Ki8gZmxvYXQ6IHJpZ2h0OyB9XHJcbiAgICAgICAgLml0ZW1zX2NvbnRpID4gbGkgLml0ZW1fdGV4dCB7IHdpZHRoOiA3NSU7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGZsb2F0OiByaWdodDsgcGFkZGluZy10b3A6IDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgICAgICAuaXRlbXNfY29udGkgPiAubGkgLmltYWdlX2NvbnRpX3Byb2R1Y3RfcGFnZSB7IHdpZHRoOiAyNSU7IGZsb2F0OiByaWdodDsgfVxyXG4gICAgICAgICAgICAuaXRlbXNfY29udGkgPiBsaSAuaW1hZ2VfY29udGksIC5pdGVtc19jb250aSA+IC5saSAuaW1hZ2VfY29udGlfcHJvZHVjdF9wYWdlIC5pbWFnZV9jb250aSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxyXG4gICAgICAgICAgICAuc3F1YXJlLCAuaXRlbXNfY29udGkgPiAubGkgLmltYWdlX2NvbnRpX3Byb2R1Y3RfcGFnZSAuaW1hZ2VfY29udGkgeyB3aWR0aDogMTAwJTsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlOyB9XHJcbiAgICAgICAgICAgICAgICAuaXRlbXNfY29udGkgPiAubGkgLmltYWdlX2NvbnRpX3Byb2R1Y3RfcGFnZSAuaW1hZ2VfY29udGkgYSB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHJpZ2h0OiAwOyB0b3A6IDA7IH1cclxuICAgICAgICAgICAgICAgIC5zcXVhcmU6YWZ0ZXIsIC5pdGVtc19jb250aSA+IC5saSAuaW1hZ2VfY29udGlfcHJvZHVjdF9wYWdlIC5pbWFnZV9jb250aTphZnRlciwgLml0ZW1zX2NvbnRpID4gbGkgLmltYWdlX2NvbnRpOmFmdGVyIHsgY29udGVudDogXCJcIjsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmctYm90dG9tOiAxMDAlOyB9XHJcbiAgICAgICAgICAgICAgICAuc3F1YXJlID4gaW1nLCAuaXRlbXNfY29udGkgPiAubGkgLmltYWdlX2NvbnRpX3Byb2R1Y3RfcGFnZSAuaW1hZ2VfY29udGkgPiBpbWcsIC5pdGVtc19jb250aSA+IGxpIC5pbWFnZV9jb250aSA+IGltZyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfVxyXG4gICAgICAgIC5pdGVtc19jb250aSA+IGxpIC5pbWFnZV9jb250aSBhIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcmlnaHQ6IDA7IHRvcDogMDsgfVxyXG4gICAgICAgIC5pdGVtc19jb250aSA+IC5saSAuc21hbGxfaW1hZ2VzIHsgb3ZlcmZsb3c6IGhpZGRlbjsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgICAgICAuaXRlbXNfY29udGkgPiAubGkgLnNtYWxsX2ltYWdlcyBsaSB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDIzJTsgbWFyZ2luLWxlZnQ6IDIuNiU7IH1cclxuICAgICAgICAgICAgICAgIC5pdGVtc19jb250aSA+IC5saSAuc21hbGxfaW1hZ2VzIGxpOm50aC1jaGlsZCg0bikgeyBtYXJnaW4tbGVmdDogMDsgfVxyXG4gICAgICAgICAgICAgICAgLml0ZW1zX2NvbnRpID4gLmxpIC5zbWFsbF9pbWFnZXMgbGkgYSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLml0ZW1zX2NvbnRpID4gLmxpIC5zbWFsbF9pbWFnZXMgbGkgYSAuaW1hZ2VfY29udGkgeyB3aWR0aDogMTAwJTsgfVxyXG5cclxuICAgICAgICAuaXRlbXNfY29udGkgPiBsaSAuaXRlbV9sZWZ0LCAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCB7IHBhZGRpbmc6IDIwcHggMTY1cHggMjBweCAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBmbG9hdDogbGVmdDsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgICAgLml0ZW1zX2NvbnRpID4gLmxpIC5pdGVtX2xlZnQgYXJ0aWNsZSB7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogMC45ZW07IH1cclxuICAgICAgICAgICAgICAgIC5pdGVtc19jb250aSA+IC5saSAuaXRlbV9sZWZ0IGFydGljbGUgcCB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgICAgICAgICAgLml0ZW1zX2NvbnRpID4gbGkgLml0ZW1fbGVmdCAuaXRlbV90ZXh0IHsgfVxyXG4gICAgICAgICAgICAuaXRlbXNfY29udGkgPiBsaSAuaXRlbV90ZXh0IGgyLCAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCAuaXRlbV90ZXh0IGgyIHsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICMwYjU4OTA7IH1cclxuICAgICAgICAuaXRlbXNfY29udGkgPiBsaSAuaXRlbV90ZXh0IHAgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XHJcbiAgICAgICAgLml0ZW1zX2NvbnRpID4gbGkgLml0ZW1fbGVmdCAuaXRlbV90ZXh0IHAgeyB9XHJcblxyXG4gICAgICAgIC5pdGVtc19jb250aSA+IGxpIC5yaWdodDMsIC5pdGVtc19jb250aSA+IC5saSAuaXRlbV9sZWZ0IC5yaWdodDMgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAzNyU7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgICAgICAuaXRlbXNfY29udGkgPiBsaSAuaXRlbV9sZWZ0IC5yaWdodDMgc3Ryb25nLCAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCBzdHJvbmcgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICAgICAgICAuaXRlbXNfY29udGkgPiBsaSAuaXRlbV9sZWZ0IC5yaWdodDMgc3Ryb25nLCAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCBzdHJvbmcgc3RyaWtlIHsgZm9udC13ZWlnaHQ6IDMwMDsgfVxyXG4gICAgICAgIC5pdGVtc19jb250aSA+IC5saSAuaXRlbV9sZWZ0IC5tYW51ZmFjdHVyZXIgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cclxuICAgICAgICAuaXRlbXNfY29udGkgPiBsaSAucmlnaHQzIC5pdGVtX3ByaWNlIGksIC5pdGVtc19jb250aSA+IC5saSAuaXRlbV9sZWZ0IHN0cm9uZyBpIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6ZTogMC44ZW07IH1cclxuICAgICAgICAuaXRlbXNfY29udGkgPiBsaSAucmlnaHQzIHNtYWxsLCAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCBzbWFsbCB7IGNvbG9yOiAjYTJhMmEyOyBmb250LXNpemU6IDAuOTVlbTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cclxuICAgICAgICAuaXRlbXNfY29udGkgPiAubGkgLnJpZ2h0M19jb250aSB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuLnByb2R1Y3RfcHJpY2UgeyB0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW4tYm90dG9tOiAxNXB4OyBmb250LXNpemU6IDEuMmVtOyBjb2xvcjogIzBiNTg5MDsgfVxyXG4uaXRlbXNfY29udGkgPiBsaSAubGVmdDMsIC5pdGVtc19jb250aSA+IC5saSAuaXRlbV9sZWZ0IC5sZWZ0MyB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyB9XHJcbiAgICAuaXRlbXNfY29udGkgPiBsaSAubGVmdDMgLnNlbGVjdF9jb250aSwgLml0ZW1zX2NvbnRpID4gLmxpIC5pdGVtX2xlZnQgLmxlZnQzIC5zZWxlY3RfY29udGkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZsb2F0OiByaWdodDsgfVxyXG4gICAgLml0ZW1zX2NvbnRpID4gbGkgLmxlZnQzIC5zZWxlY3RfY29udGksIC5pdGVtc19jb250aSA+IC5saSAuaXRlbV9sZWZ0IC5sZWZ0MyAuc2VsZWN0X2NvbnRpX25ldyB7IGZsb2F0OiByaWdodDsgfVxyXG4gICAgICAgIC5pdGVtc19jb250aSA+IGxpIC5sZWZ0MyAuc2VsZWN0X2NvbnRpIHNlbGVjdCwgLml0ZW1zX2NvbnRpID4gLmxpIC5pdGVtX2xlZnQgLmxlZnQzIC5zZWxlY3RfY29udGkgc2VsZWN0IHsgYm9yZGVyLXJhZGl1czogMTBweDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDsgaGVpZ2h0OiAzOHB4OyB9XHJcbiAgICAuaXRlbXNfY29udGkgPiBsaSAubGVmdDMgLmFkZF90b19jYXJ0LCAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCAubGVmdDMgLmFkZF90b19jYXJ0LCAub3JhbmdfYnV0dG9uLCAuZ3JheV9idXR0b24geyBjb2xvcjogI2ZmZjsgdGV4dC1hbGlnbjogY2VudGVyOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDlweCAyNXB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXdlaWdodDogNTAwOyBmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyBib3JkZXItcmFkaXVzOiA1cHg7IGJhY2tncm91bmQtY29sb3I6ICMwYjU4OTA7IGJvcmRlcjogc29saWQgMnB4ICMwMzljY2M7IH1cclxuICAgICAgICAuaXRlbXNfY29udGkgPiBsaSAubGVmdDMgLmFkZF90b19jYXJ0OmhvdmVyLCAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCAubGVmdDMgLmFkZF90b19jYXJ0OmhvdmVyLCAub3JhbmdfYnV0dG9uOmhvdmVyLCAuZ3JheV9idXR0b246aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiYmY2OyB9XHJcbi5vcmFuZ19idXR0b24sIC5ncmF5X2J1dHRvbiB7IG1heC13aWR0aDogMTUwcHg7IHdpZHRoOiAxMDAlOyB9XHJcbi5ncmF5X2J1dHRvbiB7IGJhY2tncm91bmQtY29sb3I6ICNjZGNkY2Q7IH1cclxuLml0ZW1zX2NvbnRpID4gbGkgLmxlZnQzID4gc21hbGwsIC5pdGVtc19jb250aSA+IC5saSAuaXRlbV9sZWZ0IC5sZWZ0MyA+IHNtYWxsIHsgY29sb3I6ICNhMmEyYTI7IGZvbnQtc2l6ZTogMC45NWVtOyBkaXNwbGF5OiBibG9jazsgcGFkZGluZy10b3A6IDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHRleHQtYWxpZ246IGxlZnQ7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyB9XHJcbi5pdGVtc19jb250aSA+IC5saSAuaXRlbV9sZWZ0IC5sZWZ0MyA+IHNtYWxsIHsgbWFyZ2luLWJvdHRvbTogMDsgY29sb3I6ICMwMGJiZjY7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cclxuXHJcbi5wcm9kdWN0X25ld19yaWdodCB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDUwJTsgfVxyXG4ucHJvZHVjdF9uZXdfbGVmdCB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogNTAlOyB9XHJcbi5pdGVtc19jb250aSA+IC5saSAuaXRlbV9sZWZ0IC5wcm9kdWN0X25ld19sZWZ0IC5sZWZ0MyB7IHdpZHRoOiA4MCU7IH1cclxuXHJcbi5pdGVtc19jb250aSA+IGxpIC5tb3JlX2luZm8geyBjb2xvcjogIzBiNTg5MDsgZm9udC1zaXplOiAwLjk1ZW07IGRpc3BsYXk6IGJsb2NrOyBmb250LXdlaWdodDogNTAwOyB9XHJcbi5pdGVtc19jb250aSAuc29jaWFscywgLmJsb2dfY29udGlfcGFnZSBsaSAudG9fdGhlX3Bvc3RfY29udGkgLnNvY2lhbHMsIC5mYXFfbGlua3MgLnNvY2lhbHMgeyBmbG9hdDogbGVmdDsgfVxyXG4gICAgLml0ZW1zX2NvbnRpIC5zb2NpYWxzIHVsIHsgfVxyXG4gICAgICAgIC5pdGVtc19jb250aSAuc29jaWFscyB1bCBsaSwgLmJsb2dfY29udGlfcGFnZSBsaSAudG9fdGhlX3Bvc3RfY29udGkgLnNvY2lhbHMgdWwgbGksIC5mYXFfbGlua3MgdWwgbGksIC5zZXJ2aWNlX3NvY2lhbHMgLnNvY2lhbHMgbGkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1yaWdodDogMTBweDsgfVxyXG4gICAgICAgICAgICAuaXRlbXNfY29udGkgLnNvY2lhbHMgdWwgbGkgYSwgLmJsb2dfY29udGlfcGFnZSBsaSAudG9fdGhlX3Bvc3RfY29udGkgLnNvY2lhbHMgdWwgbGkgYSwgLmZhcV9saW5rcyB1bCBsaSBhLCAuc2VydmljZV9zb2NpYWxzIC5zb2NpYWxzIGxpIGEgeyBjb2xvcjogIzBiNTg5MDsgZm9udC1zaXplOiAxLjVlbTsgfVxyXG4gICAgICAgICAgICAuc2VydmljZV9zb2NpYWxzIC5zb2NpYWxzIGxpIGEgeyBmb250LXNpemU6IDIuNWVtOyB9XHJcbiAgICAgICAgICAgIC5pdGVtc19jb250aSAuc29jaWFscyB1bCBsaSBhIGksIC5ibG9nX2NvbnRpX3BhZ2UgbGkgLnRvX3RoZV9wb3N0X2NvbnRpIC5zb2NpYWxzIHVsIGxpIGEgaSwgLmZhcV9saW5rcyB1bCBsaSBpLCAuc2VydmljZV9zb2NpYWxzIC5zb2NpYWxzIGxpIGkgeyB9XHJcbiAgICAgICAgICAgIC5pdGVtc19jb250aSAuc29jaWFscyB1bCBsaSBhOmhvdmVyLCAuYmxvZ19jb250aV9wYWdlIGxpIC50b190aGVfcG9zdF9jb250aSAuc29jaWFscyB1bCBsaSBhOmhvdmVyLCAuZmFxX2xpbmtzIHVsIGxpIGEsIC5zZXJ2aWNlX3NvY2lhbHMgLnNvY2lhbHMgbGkgYTpob3ZlciB7IGNvbG9yOiAjMDBiYmY2OyB9XHJcblxyXG4uaXRlbXNfY29udGkgPiBsaSAubGlrZV9zZWxlY3QsIC5pdGVtc19jb250aSA+IC5saSAubGlrZV9zZWxlY3QsIC5yZWN0YW5nbGVfY29udGkgPiBsaSAubGlrZV9zZWxlY3QgeyBwYWRkaW5nOiA5cHggMTBweDsgfVxyXG4uaXRlbXNfY29udGkgPiBsaSBzZWxlY3QsIC5pdGVtc19jb250aSA+IC5saSBzZWxlY3QsIC5yZWN0YW5nbGVfY29udGkgPiBsaSBzZWxlY3QgeyBvcGFjaXR5OiAwOyB9XHJcblxyXG4vKlByb2R1Y3QgSW5uZXIgUGFnZSovXHJcbi5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBwYWRkaW5nOiA1cHggMTVweDsgd2lkdGg6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG1hcmdpbi1ib3R0b206IDEwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZm9udC1zaXplOiAwLjllbTsgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IG92ZXJmbG93OiBoaWRkZW47IGJvcmRlci1yYWRpdXM6IDVweDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgICAucHJvZHVjdF9pbm5lcl9wYWdlX2NvbnRpOjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogNHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDsgYmFja2dyb3VuZC1jb2xvcjogIzNkYzllZTsgdHJhbnNmb3JtOiBzY2FsZVkoMCk7IC1tcy10cmFuc2Zvcm06IHNjYWxlWSgwKTsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSk7IC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSk7IC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSk7IC1vLXRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4yMiwuNjEsLjM2LDEpOyB9XHJcbiAgICAucHJvZHVjdF9pbm5lcl9wYWdlX2NvbnRpID4gLnByb2R1Y3RfaW1hZ2VfY29udGkgeyB3aWR0aDogMTUwcHg7IGZsb2F0OiByaWdodDsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0b3A6IDA7IH1cclxuLmNsaWNrX3RvX2luYyB7IGZvbnQtc2l6ZTogMC44ZW07IGNvbG9yOiAjYTJhMmEyOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAuY2xpY2tfdG9faW5jIHNwYW4geyB9XHJcbiAgICAuY2xpY2tfdG9faW5jIGkgeyB9XHJcbi5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgPiAucHJvZHVjdF9pbWFnZV9jb250aSAuaW1hZ2VfY29udGkgeyB3aWR0aDogMTAwJTsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2EyYTJhMjsgbWFyZ2luLWJvdHRvbTogNXB4OyB9XHJcbi5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgPiAucHJvZHVjdF9pbWFnZV9jb250aSBhIHsgd2lkdGg6IDEwMCU7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJTsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgIC5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgPiAucHJvZHVjdF9pbWFnZV9jb250aSBhOjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nLWJvdHRvbTogMTAwJTsgfVxyXG4ucHJvZHVjdF9pbm5lcl9wYWdlX2NvbnRpID4gLnByb2R1Y3RfaW1hZ2VfY29udGkgaW1nIHsgfVxyXG4ucHJvZHVjdF9pbm5lcl9wYWdlX2NvbnRpID4gLnNtYWxsX2ltYWdlcyB7IH1cclxuICAgIC5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgPiAuc21hbGxfaW1hZ2VzIGxpIHsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgPiAuc21hbGxfaW1hZ2VzIGxpIGEgeyB9XHJcbi5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgPiAuaXRlbV9sZWZ0IHsgd2lkdGg6IDEwMCU7IHBhZGRpbmctcmlnaHQ6IDE4MHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAucHJvZHVjdF9pbm5lcl9wYWdlX2NvbnRpID4gLml0ZW1fbGVmdCA+IC5pdGVtX3RleHQgeyBwYWRkaW5nOiAwOyBtYXJnaW4tYm90dG9tOiAxMHB4IH1cclxuICAgICAgICAucHJvZHVjdF9pbm5lcl9wYWdlX2NvbnRpID4gLml0ZW1fbGVmdCA+IC5pdGVtX3RleHQgaDIgeyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogIzBiNTg5MDsgcGFkZGluZzogMDsgfVxyXG4gICAgLnByb2R1Y3RfaW5uZXJfcGFnZV9jb250aSA+IC5pdGVtX2xlZnQgPiAucHJvZHVjdF9uZXdfcmlnaHQgeyB9XHJcbiAgICAgICAgLnByb2R1Y3RfaW5uZXJfcGFnZV9jb250aSA+IC5pdGVtX2xlZnQgPiAucHJvZHVjdF9uZXdfcmlnaHQgLml0ZW1fdGV4dCB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgcGFkZGluZzogMDsgfVxyXG4gICAgICAgICAgICAucHJvZHVjdF9pbm5lcl9wYWdlX2NvbnRpID4gLml0ZW1fbGVmdCA+IC5wcm9kdWN0X25ld19yaWdodCAuaXRlbV90ZXh0IHAgeyB9XHJcbiAgICAgICAgLnByb2R1Y3RfaW5uZXJfcGFnZV9jb250aSA+IC5pdGVtX2xlZnQgPiAucHJvZHVjdF9uZXdfcmlnaHQgLnJpZ2h0M19jb250aSB7IG1hcmdpbi1ib3R0b206IDIwcHg7IGNvbG9yOiAjMDBiYmY2OyB9XHJcblxyXG4gICAgLnByb2R1Y3RfaW5uZXJfcGFnZV9jb250aSA+IC5pdGVtX2xlZnQgPiAucHJvZHVjdF9uZXdfbGVmdCB7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgICAgICAucHJvZHVjdF9pbm5lcl9wYWdlX2NvbnRpID4gLml0ZW1fbGVmdCA+IC5wcm9kdWN0X25ld19sZWZ0ID4gLmxlZnQzIHsgbWFyZ2luOiAwOyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgPiAuaXRlbV9sZWZ0ID4gLnByb2R1Y3RfbmV3X2xlZnQgLnByb2R1Y3RfcHJpY2UgeyB0ZXh0LWFsaWduOiBsZWZ0OyBmbG9hdDogbGVmdDsgcGFkZGluZy10b3A6IDVweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luOiAwOyB9XHJcbi5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgLmZyZWVfZGVsaXZlcnkgeyBjb2xvcjogIzAwYmJmNjsgZGlzcGxheTogYmxvY2s7IH1cclxuLnByb2R1Y3RfaW5uZXJfcGFnZV9jb250aSAuYW1vdW50X2FuZF9idXR0b25fY29udGkgeyB3aWR0aDogMTAwJTsgcGFkZGluZzogMTBweCAwOyBib3JkZXItdG9wOiAxcHggc29saWQgI2QwZDBkMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQwZDA7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuICAgIC5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgLmFtb3VudF9hbmRfYnV0dG9uX2NvbnRpIHNlbGVjdCB7IG9wYWNpdHk6IDA7IH1cclxuICAgIC5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgLmFtb3VudF9hbmRfYnV0dG9uX2NvbnRpIC5saWtlX3NlbGVjdCBpIHsgdG9wOiA3cHg7IH1cclxuICAgIC5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgLmFtb3VudF9hbmRfYnV0dG9uX2NvbnRpIC5zZWxlY3RfY29udGkgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiA1MHB4OyB9XHJcbi5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgLmJ1dHRvbiB7IHdpZHRoOiAxMDAlOyB9XHJcbi8qRW5kIFByb2R1Y3QgSW5uZXIgUGFnZSovXHJcbi5zaG9wX2hlYWRsaW5lIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgLyp3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA2NjBweDsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDAgMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsqLyB9XHJcbiAgICAuc2hvcF9oZWFkbGluZSBoMSB7IC8qZmxvYXQ6IHJpZ2h0OyovIGNvbG9yOiAjMGI1ODkwOyB9XHJcbiAgICAuc2hvcF9oZWFkbGluZSAuY2hvb3NlX2xpc3Rfc2hvdyB7IGZsb2F0OiBsZWZ0OyB9XHJcblxyXG4jZWxDYXRlZ29yeVNldHRpbmdzIHsgZGlzcGxheTogdGFibGU7IHdpZHRoOiAxMDAlOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBvdmVyZmxvdy14OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsgLypib3JkZXI6IDFweCBzb2xpZCAjZTZlN2U3OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4OyBib3JkZXItcmFkaXVzOiA1cHg7IHBhZGRpbmc6IDE1cHg7IG1hcmdpbi1ib3R0b206IDEwcHg7Ki8gfVxyXG4gICAgI2VsQ2F0ZWdvcnlTZXR0aW5ncyA+IGRpdiB7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cclxuICAgICAgICAjZWxDYXRlZ29yeVNldHRpbmdzID4gZGl2OmZpcnN0LWNoaWxkIHsgfVxyXG4gICAgICAgICNlbENhdGVnb3J5U2V0dGluZ3MgPiBkaXY6bGFzdC1jaGlsZCB7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBsZWZ0OyB9XHJcblxyXG4uY2hvb3NlX2xpc3Rfc2hvdyB7IC8qb3ZlcmZsb3c6IGhpZGRlbjsgcGFkZGluZzogOHB4IDAgMTBweCAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyovIH1cclxuICAgIC5jaG9vc2VfbGlzdF9zaG93IGgyIHsgZm9udC1zaXplOiAxZW07IH1cclxuICAgIC5jaG9vc2VfbGlzdF9zaG93IHVsIHsgfVxyXG4gICAgICAgIC5jaG9vc2VfbGlzdF9zaG93IHVsIGxpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tbGVmdDogNXB4OyB9XHJcbiAgICAgICAgICAgIC5jaG9vc2VfbGlzdF9zaG93IHVsIGxpOm50aC1jaGlsZCgyKSBhIHsgY29sb3I6ICNkNGQ0ZDQ7IH1cclxuICAgICAgICAgICAgLmNob29zZV9saXN0X3Nob3cgdWwgbGkgYSB7IGZvbnQtc2l6ZTogMS44ZW07IGNvbG9yOiAjZDRkNGQ0OyB9XHJcbiAgICAgICAgICAgICAgICAuY2hvb3NlX2xpc3Rfc2hvdyB1bCBsaSBhOmhvdmVyLCAuY2hvb3NlX2xpc3Rfc2hvdyB1bCBsaSBhOmZvY3VzLCAuY2hvb3NlX2xpc3Rfc2hvdyB1bCBsaSBhLmFjdGl2ZSB7IGNvbG9yOiAjMDBiYmY2OyB9XHJcbi5pdGVtc19jb250aTIgPiBsaSB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuXHJcbi5yZWN0YW5nbGVfY29udGkgeyAvKm92ZXJmbG93OiBoaWRkZW47Ki8gLyp3aWR0aDogMTAwJTsqLyB0ZXh0LWFsaWduOiBjZW50ZXI7IGRpc3BsYXk6IG5vbmU7IC8qYm94LXNpemluZzogYm9yZGVyLWJveDsqLyBtYXJnaW4tbGVmdDogLTIwcHg7IH1cclxuICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaSB7IHdpZHRoOiAyNSU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZsb2F0OiByaWdodDsgdmVydGljYWwtYWxpZ246IHRvcDsgcGFkZGluZy1sZWZ0OiAyMHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcbiAgICAgICAgLnJlY3RhbmdsZV9jb250aSA+IGxpID4gZGl2IHsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBwYWRkaW5nOiAxNXB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB0ZXh0LWFsaWduOiByaWdodDsgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7IGJvcmRlci1yYWRpdXM6IDVweDsgZm9udC1zaXplOiAwLjhlbTsgfVxyXG4gICAgICAgICAgICAucmVjdGFuZ2xlX2NvbnRpID4gbGkgPiBkaXY6OmFmdGVyIHsgY29udGVudDogXCJcIjsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogNHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0b3A6IDA7IGxlZnQ6IDA7IGJhY2tncm91bmQtY29sb3I6ICMzZGM5ZWU7IHRyYW5zZm9ybTogc2NhbGVYKDApOyAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoMCk7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4yMiwuNjEsLjM2LDEpOyAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4yMiwuNjEsLjM2LDEpOyAtbW96LXRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4yMiwuNjEsLjM2LDEpOyAtby10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMjIsLjYxLC4zNiwxKTsgfVxyXG4gICAgICAgICAgICAucmVjdGFuZ2xlX2NvbnRpID4gbGkgPiBkaXY6aG92ZXI6OmFmdGVyLCAucmVjdGFuZ2xlX2NvbnRpID4gbGkgPiBkaXY6Zm9jdXM6OmFmdGVyIHsgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IC1tcy10cmFuc2Zvcm06IHNjYWxlWCgxKTsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxyXG4gICAgICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaTpudGgtY2hpbGQoM24pID4gZGl2IHsgfVxyXG4gICAgICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaSA+IGRpdiA+IGEgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgYm90dG9tOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgfVxyXG4gICAgICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaSBoMiB7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiAjMGI1ODkwOyBmb250LXNpemU6IDEuMmVtOyBtYXJnaW4tYm90dG9tOiA1cHg7IGhlaWdodDogNDVweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gICAgICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaSBwIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4gICAgICAgICAgICAucmVjdGFuZ2xlX2NvbnRpID4gbGkgcCBzcGFuIHsgZm9udC13ZWlnaHQ6IDEwMDsgfVxyXG4gICAgICAgICAgICAucmVjdGFuZ2xlX2NvbnRpID4gbGkgcCBzdHJvbmcgeyB9XHJcbiAgICAgICAgLnJlY3RhbmdsZV9jb250aSA+IGxpIC5pbWFnZV9jb250aSB7IG1pbi1oZWlnaHQ6IDIxMnB4OyBtaW4taGVpZ2h0OiAyMTJweDsgbWF4LXdpZHRoOiAyMTJweDsgbWFyZ2luOiAwIGF1dG8gMjBweDsgLyogd2lkdGg6IDEwMCU7ICovIC8qIHBhZGRpbmc6IDMwcHg7ICovIC8qIGJveC1zaXppbmc6IGJvcmRlci1ib3g7ICovIC8qIGhlaWdodDogMDsgKi8gLyogcGFkZGluZy1ib3R0b206IDkwJTsgKi8gfVxyXG4gICAgICAgICAgICAucmVjdGFuZ2xlX2NvbnRpID4gbGkgLmltYWdlX2NvbnRpIGltZyB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAgICAgLnJlY3RhbmdsZV9jb250aSA+IGxpIC5wcmljZSB7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyBmb250LXdlaWdodDogNzAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogMS4yZW07IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuICAgICAgICAucmVjdGFuZ2xlX2NvbnRpID4gbGkgLnF1YW50aXR5X2NvbnRpIHsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuICAgICAgICAgICAgLnJlY3RhbmdsZV9jb250aSA+IGxpIC5xdWFudGl0eV9jb250aSAuc2VsZWN0X2NvbnRpIHsgd2lkdGg6IDYwcHg7IHRvcDogMDsgcmlnaHQ6IDA7IHotaW5kZXg6IDEwOyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cclxuICAgICAgICAgICAgICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaSAucXVhbnRpdHlfY29udGkgLnNlbGVjdF9jb250aSBzZWxlY3QgeyBib3JkZXItcmFkaXVzOiAxMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwOyBoZWlnaHQ6IDM5cHg7IH1cclxuICAgICAgICAgICAgLnJlY3RhbmdsZV9jb250aSA+IGxpIC5xdWFudGl0eV9jb250aSAuYWRkX3RvX2NhcnRfY29udGkgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgICAgICAucmVjdGFuZ2xlX2NvbnRpID4gbGkgLnF1YW50aXR5X2NvbnRpIC5hZGRfdG9fY2FydCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDEwMCU7IGNvbG9yOiAjZmZmOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZzogOXB4IDIwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtd2VpZ2h0OiA1MDA7IGJvcmRlci1yYWRpdXM6IDVweDsgYmFja2dyb3VuZC1jb2xvcjogIzBiNTg5MDsgYm9yZGVyOiBzb2xpZCAycHggIzAzOWNjYzsgfVxyXG4gICAgICAgICAgICAgICAgLnJlY3RhbmdsZV9jb250aSA+IGxpIC5xdWFudGl0eV9jb250aSAuYWRkX3RvX2NhcnQ6aG92ZXIsIC5yZWN0YW5nbGVfY29udGkgPiBsaSAucXVhbnRpdHlfY29udGkgLmFkZF90b19jYXJ0OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwYmJmNjsgfVxyXG4gICAgICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaSBzbWFsbCB7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyBjb2xvcjogI2EyYTJhMjsgZm9udC1zaXplOiAwLjllbTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgICAgICAucmVjdGFuZ2xlX2NvbnRpID4gbGkgc21hbGwuZnJlZSB7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDExcHg7IGNvbG9yOiAjZTg1NjVmOyB9XHJcbiAgICAgICAgLnJlY3RhbmdsZV9jb250aSA+IGxpIC5tb3JlX2RldGFpbHNfY29udGkgeyBwYWRkaW5nLXRvcDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gICAgICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaSAubm90X2luX3N0b2NrIC5tb3JlX2RldGFpbHNfY29udGkgeyBwYWRkaW5nLXRvcDogOTBweDsgfVxyXG4gICAgICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaSAubW9yZV9kZXRhaWxzX2NvbnRpIC5tb3JlX2luZm8geyBmbG9hdDogcmlnaHQ7IGNvbG9yOiAjMGI1ODkwOyBmb250LXdlaWdodDogNTAwOyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XHJcbiAgICAgICAgLnJlY3RhbmdsZV9jb250aSA+IGxpIC5tb3JlX2RldGFpbHNfY29udGkgLnNvY2lhbHMgeyBmbG9hdDogbGVmdDsgfVxyXG4gICAgICAgICAgICAucmVjdGFuZ2xlX2NvbnRpID4gbGkgLm1vcmVfZGV0YWlsc19jb250aSAuc29jaWFscyB1bCB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cclxuICAgICAgICAgICAgICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaSAubW9yZV9kZXRhaWxzX2NvbnRpIC5zb2NpYWxzIHVsIGxpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tcmlnaHQ6IDVweDsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaSAubW9yZV9kZXRhaWxzX2NvbnRpIC5zb2NpYWxzIHVsIGxpIGEgeyBjb2xvcjogIzBiNTg5MDsgZm9udC1zaXplOiAxLjJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaSAubW9yZV9kZXRhaWxzX2NvbnRpIC5zb2NpYWxzIHVsIGxpIGE6aG92ZXIgeyBjb2xvcjogIzAwYmJmNjsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVjdGFuZ2xlX2NvbnRpID4gbGkgLm1vcmVfZGV0YWlsc19jb250aSAuc29jaWFscyB1bCBsaSBhIGkgeyB9XHJcblxyXG4ubW9yZV9kZXRhaWxzX2NvbnRpIHsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IHBhZGRpbmctdG9wOiAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAubW9yZV9kZXRhaWxzX2NvbnRpIC5tb3JlX2RldGFpbHMgeyBkaXNwbGF5OiBub25lOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcblxyXG4ucmFuZG9tX3Byb2R1Y3RzIHsgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTdlNzsgZm9udC1zaXplOiAwLjllbTsgfVxyXG4gICAgLnJhbmRvbV9wcm9kdWN0cyA+IGgyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGNvbG9yOiAjMGI1ODkwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyBwYWRkaW5nOiAxMHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuICAgIC5yYW5kb21fcHJvZHVjdHMgbGkgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XHJcbiAgICAgICAgLnJhbmRvbV9wcm9kdWN0cyBsaTpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgLnJhbmRvbV9wcm9kdWN0cyBhIHsgZGlzcGxheTogYmxvY2s7IH1cclxuLnJhbmRvbV9wcm9kdWN0c19jb250aSB7IGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogNXB4IDVweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgd2lkdGg6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuLnJhbmRvbV9wcm9kdWN0cyBhIC5zcXVhcmUgeyB3aWR0aDogMzUlOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAwIGF1dG87IGZsb2F0OiByaWdodDsgfVxyXG4ubWluaV9wcm9kdWN0X3ByaWNlIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNjUlOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgcGFkZGluZzogMjNweCAxMHB4IDVweCA1cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5taW5pX3Byb2R1Y3RfcHJpY2UgcCB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDEuMWVtOyB9XHJcbi5yYW5kb21fcHJvZHVjdHMgcCBzdHJpa2UgeyBmb250LXdlaWdodDogMzAwOyB9XHJcbi5yYW5kb21fcHJvZHVjdHNfY29udGkgPiBkaXYgeyBmbG9hdDogcmlnaHQ7IGZvbnQtc2l6ZTogMC43ZW07IHdpZHRoOiA4NSU7IH1cclxuLnJhbmRvbV9wcm9kdWN0c19jb250aSA+IHNwYW4geyBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI1ODkwOyBjb2xvcjogI2ZmZjsgd2lkdGg6IDMwcHg7IGhlaWdodDogOTVweDsgbGluZS1oZWlnaHQ6IDk1cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IHRleHQtYWxpZ246IGNlbnRlcjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDA7IHRvcDogNTAlOyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgLW1vei10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IH1cclxuLnJhbmRvbV9wcm9kdWN0cyBwIHsgbWFyZ2luLWJvdHRvbTogMDsgZm9udC1zaXplOiAxZW07IGZvbnQtd2VpZ2h0OiA1MDA7IHBhZGRpbmc6IDVweCA1cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5yYW5kb21fcHJvZHVjdHMgcCAub3JhbmdlX2NvbG9yIHsgZm9udC1zaXplOiAxLjJlbTsgfVxyXG4ubWluaV9wcm9kdWN0X2hlYWRsaW5lIHsgYmFja2dyb3VuZC1jb2xvcjogI2QwZDBkMDsgfVxyXG4ucmFuZG9tX3Byb2R1Y3RzIGE6aG92ZXIgc3BhbiwgLnJhbmRvbV9wcm9kdWN0cyBhOmZvY3VzIHNwYW4geyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiYmY2OyB9XHJcbi8qLmV4dHJhX2RldGFpbHMgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9Ki9cclxuLyouZXh0cmFfZGV0YWlsc19idXR0b25zX2NvbnRpIHsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IHBhZGRpbmc6IDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG1hcmdpbi1ib3R0b206IDA7IH0qL1xyXG4vKi5leHRyYV9kZXRhaWxzX2J1dHRvbnNfY29udGkgdWwgeyB9Ki9cclxuLyouZXh0cmFfZGV0YWlscyBsaSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSovXHJcbi8qLmV4dHJhX2RldGFpbHMgbGkgYSB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXdlaWdodDogNTAwOyBmb250LXNpemU6IDEuMmVtOyBwYWRkaW5nOiAxMHB4IDE1cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0qL1xyXG4vKi5leHRyYV9kZXRhaWxzIGxpIGEuYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogIzRjOGJjMTsgfSovXHJcbi8qLnByb2R1Y3RfbG9uZ19kZXNjX2luc2lkZV9wYWdlIHsgYm9yZGVyOiAxcHggc29saWQgI2U2ZTdlNzsgcGFkZGluZzogMTVweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwLjk1ZW07IH0qL1xyXG4vKi5wcm9kdWN0X2xvbmdfZGVzY19pbnNpZGVfcGFnZSBoMyB7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1ib3R0b206IDEwcHg7IGZvbnQtc2l6ZTogMS4yZW07IH0qL1xyXG4vKi5hY3RpdmVfZXhzdHJhX2RldGFpbHMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdjYjNkICFpbXBvcnRhbnQ7IGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7IH0qL1xyXG4vKi5tb2RlbHMgeyBib3JkZXI6IDFweCBzb2xpZCAjZTZlN2U3OyB9Ki9cclxuLm1vZGVscyA+IHVsIHsgcGFkZGluZzogMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4ubW9kZWxzIHVsIHsgZGlzcGxheTogdGFibGU7IHdpZHRoOiAxMDAlOyBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cclxuLm1vZGVscyA+IHVsID4gbGkgeyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cclxuICAgIC5tb2RlbHMgPiB1bCA+IGxpOm50aC1jaGlsZCgzbikgeyBib3JkZXItbGVmdDogbm9uZTsgfVxyXG4gICAgLyoubW9kZWxzID4gdWwgPiBsaSB1bCB7IHBhZGRpbmc6IDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0qL1xyXG4gICAgLm1vZGVscyA+IHVsID4gbGkgdWwgbGkgeyBtYXJnaW4tYm90dG9tOiAwOyAvKmZvbnQtc2l6ZTogMC44ZW07Ki8gZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMTE1JTsgd2lkdGg6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBhZGRpbmc6IDVweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgICAgIC5tb2RlbHMgPiB1bCA+IGxpIHVsIGxpOmZpcnN0LWNoaWxkIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IHBhZGRpbmc6IDA7IH1cclxuICAgICAgICAubW9kZWxzID4gdWwgPiBsaSB1bCBsaTpudGgtY2hpbGQoZXZlbikgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XHJcbiAgICAgICAgLm1vZGVscyA+IHVsID4gbGkgdWwgbGkgaDMgeyBmb250LXdlaWdodDogNTAwOyBmb250LXNpemU6IDE2cHg7IG1hcmdpbi1yaWdodDogNXB4OyB9XHJcblxyXG5cclxuLmJpZ2dlcl9pbWFnZSB7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgei1pbmRleDogOTAwOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuOCk7IHRvcDogMDsgcmlnaHQ6IDA7IHBhZGRpbmctdG9wOiAxMCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGRpc3BsYXk6IG5vbmU7IH1cclxuLmJpZ2dlcl9pbWFnZV9jb250aSB7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDUwMHB4OyBtYXJnaW46IDAgYXV0bzsgfVxyXG4gICAgLmJpZ2dlcl9pbWFnZV9jb250aSBhIHsgd2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAuYmlnZ2VyX2ltYWdlX2NvbnRpIC56b29tIHsgd2lkdGg6IDEwMCU7IH1cclxuLmNsb3NlX2JpZ2dlcl9pbWFnZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgY29sb3I6ICNmZmY7IHJpZ2h0OiAyMHB4OyB0b3A6IDIwcHg7IG9wYWNpdHk6IDAuNTsgZm9udC1zaXplOiAyMHB4OyB9XHJcbiAgICAuY2xvc2VfYmlnZ2VyX2ltYWdlOmhvdmVyLCAuY2xvc2VfYmlnZ2VyX2ltYWdlOmZvY3VzIHsgb3BhY2l0eTogMTsgfVxyXG4vKm5ldyBzaG9wKi9cclxuLnByb2R1Y3RfYWxsX2RldGFpbHMgeyB3aWR0aDogNzUlOyBmbG9hdDogcmlnaHQ7IHBhZGRpbmc6IDEwcHggMjBweCAxMHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuICAgIC5wcm9kdWN0X2FsbF9kZXRhaWxzIGgyIHsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICMwYjU4OTA7IH1cclxuLm1hbnVmYWN0dXJlcl9jb250aSB7IG1hcmdpbi1ib3R0b206IDVweDsgfVxyXG4uaXRlbV9jYXRlbG9nIHsgY29sb3I6ICNhMmEyYTI7IGZvbnQtc2l6ZTogMC45NWVtOyBkaXNwbGF5OiBibG9jazsgfVxyXG4ucHJvZHVjdF9hbGxfZGV0YWlsc19yaWdodCB7IGZsb2F0OiByaWdodDsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogNTAlOyB9XHJcbiAgICAucHJvZHVjdF9hbGxfZGV0YWlsc19yaWdodCBhIHsgYm90dG9tOiAtMTAwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxyXG4ucHJvZHVjdF9hbGxfZGV0YWlsc19sZWZ0IHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiA1MCU7IH1cclxuICAgIC5wcm9kdWN0X2FsbF9kZXRhaWxzX2xlZnQgLnNlbGVjdF9jb250aSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZmxvYXQ6IGxlZnQ7IH1cclxuICAgICAgICAucHJvZHVjdF9hbGxfZGV0YWlsc19sZWZ0IC5zZWxlY3RfY29udGkgc2VsZWN0IHsgYm9yZGVyLXJhZGl1czogMTBweDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDsgaGVpZ2h0OiAzOXB4OyB9XHJcbiAgICAucHJvZHVjdF9hbGxfZGV0YWlsc19sZWZ0IC5hZGRfdG9fY2FydCB7IGJhY2tncm91bmQtY29sb3I6ICMwYjU4OTA7IGNvbG9yOiAjZmZmOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZzogOXB4IDE3cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtd2VpZ2h0OiA1MDA7IGZsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDEwcHg7IGJvcmRlci1yYWRpdXM6IDVweDsgYm9yZGVyOiBzb2xpZCAycHggIzAzOWNjYzsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2FsbF9kZXRhaWxzX2xlZnQgLmFkZF90b19jYXJ0OmhvdmVyLCAucHJvZHVjdF9hbGxfZGV0YWlsc19sZWZ0IC5hZGRfdG9fY2FydDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICMwMGJiZjY7IH1cclxuICAgIC5wcm9kdWN0X2FsbF9kZXRhaWxzX2xlZnQgc21hbGwgeyBjb2xvcjogI2EyYTJhMjsgZm9udC1zaXplOiAwLjk1ZW07IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nLXRvcDogMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgdGV4dC1hbGlnbjogbGVmdDsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IH1cclxuLnByb2R1Y3RfcHJpY2VfbmV3X3Nob3AgeyBvdmVyZmxvdzogaGlkZGVuOyBwYWRkaW5nLWxlZnQ6IDVweCAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB0ZXh0LWFsaWduOiBsZWZ0OyB3aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogMTBweDsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMS4yZW07IH1cclxuLypuZXcgc2hvcCovXHJcblxyXG4vKkVuZCBTaG9wKi9cclxuXHJcbi8qUG9wdXAgR2VuZXJhbCovXHJcbi5wb3B1cCB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzEsIDMwLCAzMCwgMC44KTsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IGZpeGVkOyByaWdodDogMDsgdG9wOiAwOyBwYWRkaW5nLXRvcDogMTAlOyB6LWluZGV4OiA5MDA7IGRpc3BsYXk6IG5vbmU7IGNvbG9yOiAjMzQzNjQyOyB9XHJcbi5wb3B1cF9jb250aSB7IGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IGJvcmRlci1yYWRpdXM6IDVweDsgcGFkZGluZzogNTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWF4LXdpZHRoOiA0NTBweDsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMCBhdXRvOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4uY2xvc2VfcG9wdXAgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGNvbG9yOiAjZjNmM2YzOyBmb250LXNpemU6IDI1cHg7IHRvcDogLTMwcHg7IHJpZ2h0OiAwOyB9XHJcbi5wb3B1cF9jb250aSBoMiB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuLnBvcHVwX2NvbnRpIC5idXR0b25zX2NvbnRpIHsgfVxyXG4gICAgLnBvcHVwX2NvbnRpIC5idXR0b25zX2NvbnRpIGxpIHsgd2lkdGg6IDQ5JTsgbWFyZ2luLWxlZnQ6IDIlOyBmbG9hdDogcmlnaHQ7IH1cclxuICAgICAgICAucG9wdXBfY29udGkgLmJ1dHRvbnNfY29udGkgbGk6bnRoLWNoaWxkKGV2ZW4pIHsgbWFyZ2luLWxlZnQ6IDA7IH1cclxuICAgICAgICAucG9wdXBfY29udGkgLmJ1dHRvbnNfY29udGkgbGkgLmJ1dHRvbiB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXdlaWdodDogNTAwOyB9XHJcbi8qRW5kIFBvcHVwIEdlbmVyYWwqL1xyXG4vKkNhdGVnb3J5IFBvcHVwKi9cclxuLmNhdGVnb3J5X3BvcHVwX2NvbnRpIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjgpOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBwb3NpdGlvbjogZml4ZWQ7IHJpZ2h0OiAwOyB0b3A6IDA7IHBhZGRpbmctdG9wOiAxMCU7IHotaW5kZXg6IDkwMDsgZGlzcGxheTogbm9uZTsgfVxyXG4uY2F0ZWdvcnlfcG9wdXAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNFQ0VDOyBib3JkZXItcmFkaXVzOiAyMHB4OyBwYWRkaW5nOiA1MHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXgtd2lkdGg6IDQ1MHB4OyB3aWR0aDogMTAwJTsgbWFyZ2luOiAwIGF1dG87IGNvbG9yOiAjMzQzNjQyOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgLmNhdGVnb3J5X3BvcHVwID4gZGl2IHsgZm9udC1zaXplOiAxLjFlbTsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4gICAgLmNhdGVnb3J5X3BvcHVwIHN0cm9uZyB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXdlaWdodDogNTAwOyB9XHJcbiAgICAuY2F0ZWdvcnlfcG9wdXAgc3BhbiB7IGZvbnQtd2VpZ2h0OiA1MDA7IHBhZGRpbmc6IDVweCAwOyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICAgIC5jYXRlZ29yeV9wb3B1cCBzcGFuIHN0cm9uZyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG4gICAgLmNhdGVnb3J5X3BvcHVwIC55ZWxsb3dfY29sb3IgeyBjb2xvcjogIzAwYmJmNjsgfVxyXG4gICAgLmNhdGVnb3J5X3BvcHVwIHAgeyB9XHJcbiAgICAuY2F0ZWdvcnlfcG9wdXAgZm9ybSB7IG1heC13aWR0aDogMjIwcHg7IG1hcmdpbjogMCBhdXRvOyB9XHJcbiAgICAgICAgLmNhdGVnb3J5X3BvcHVwIGZvcm0gdWwgeyB9XHJcbiAgICAgICAgICAgIC5jYXRlZ29yeV9wb3B1cCBmb3JtIHVsIGxpIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgICAgICAgICAgLmNhdGVnb3J5X3BvcHVwIGZvcm0gdWwgbGkgaSB7IGNvbG9yOiAjMzQzNjQyOyB9XHJcbiAgICAgICAgICAgICAgICAuY2F0ZWdvcnlfcG9wdXAgZm9ybSB1bCBsaSBzZWxlY3QgeyBib3JkZXItcmFkaXVzOiAxMHB4OyB9XHJcbiAgICAgICAgICAgICAgICAuY2F0ZWdvcnlfcG9wdXAgZm9ybSB1bCBsaSBidXR0b24geyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMS4xZW07IH1cclxuICAgICAgICAgICAgICAgICAgICAuY2F0ZWdvcnlfcG9wdXAgZm9ybSB1bCBsaSBidXR0b24gc3BhbiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5jYXRlZ29yeV9wb3B1cCBmb3JtIHVsIGxpIGJ1dHRvbiBpIHsgY29sb3I6ICNmZmY7IH1cclxuLnNob3dfZmlsdGVyX21vYmlsZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuLmNsb3NlX3NlYXJjaF9wb3VwIHsgcG9zaXRpb246IGFic29sdXRlOyBjb2xvcjogI2YzZjNmMzsgZm9udC1zaXplOiAyNXB4OyB0b3A6IC0zMHB4OyByaWdodDogMDsgZm9udC1mYW1pbHk6ICdSdWJpaycsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcbiNwb3B1cF9zZWFyY2hfZm9ybSAubGlrZV9zZWxlY3QgeyBwYWRkaW5nOiAwOyB9XHJcbi8qI3BvcHVwX3NlYXJjaF9mb3JtIC5saWtlX3NlbGVjdC5jb2xvcl9ncmF5IHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9Ki9cclxuI3BvcHVwX3NlYXJjaF9mb3JtIC5zZWxlY3RfY29udGkgeyBoZWlnaHQ6IDM4cHg7IH1cclxuICAgICNwb3B1cF9zZWFyY2hfZm9ybSAuc2VsZWN0X2NvbnRpIHNlbGVjdCB7IG9wYWNpdHk6IDA7IGhlaWdodDogMzlweDsgfVxyXG4vKkVuZCBDYXRlZ29yeSBQb3B1cCovXHJcblxyXG5cclxuLypDYXJ0IFBhZ2UqL1xyXG4uY2FydF9hbW91bnRfY29udGkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTBweDsgbGVmdDogMDsgd2lkdGg6IDMwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB6LWluZGV4OiA5MDA7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIC5jYXJ0X2Ftb3VudF9jb250aSAuZmEtY2FyZXQtdXAgeyBjb2xvcjogIzBiNTg4ZTsgZm9udC1zaXplOiA3MHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTQ1cHg7IGxlZnQ6IDIwcHg7IH1cclxuLmNhcnRfYW1vdW50X2hlYWRsaW5lIHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6ICMwYjU4OGU7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDEuMmVtOyB9XHJcbi5jYXJ0X2Ftb3VudF9jb250aSAucHJvZHVjdF9kZXRhaWxzX2NvbnRpIHsgcGFkZGluZzogMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IH1cclxuICAgIC5jYXJ0X2Ftb3VudF9jb250aSAucHJvZHVjdF9kZXRhaWxzX2NvbnRpIC5pbWFnZV9jb250aSB7IGJhY2tncm91bmQtY29sb3I6ICNlNmU4ZTc7IHdpZHRoOiAyNSU7IGhlaWdodDogMDsgcGFkZGluZy1ib3R0b206IDI1JTsgZmxvYXQ6IHJpZ2h0OyB9XHJcbi5jYXJ0X2Ftb3VudF9jb250aSAucHJvZHVjdF90ZXh0X2RldGFpbHMgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDc1JTsgcGFkZGluZy1yaWdodDogMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwLjg1ZW07IH1cclxuICAgIC5jYXJ0X2Ftb3VudF9jb250aSAucHJvZHVjdF90ZXh0X2RldGFpbHMgLnByb2R1Y3RfdGV4dF9oZWFkbGluZSB7IGNvbG9yOiAjMGI1ODhlOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogMTBweDsgZm9udC1zaXplOiAxLjFlbTsgfVxyXG4uY2FydF9hbW91bnRfY29udGkgLnByb2R1Y3RfdGV4dF9wcm9kdWN0X3ByaWNlIC5vcmFuZ2VfY29sb3IgeyB9XHJcbi5jYXJ0X2Ftb3VudF9jb250aSAucHJvZHVjdF90ZXh0X3Byb2R1Y3RfcHJpY2UgeyB9XHJcbi5wcm9kdWN0X3RleHRfcHJvZHVjdF9wcmljZSA+IGRpdiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG4uc2hpcGluZyB7IH1cclxuICAgIC5zaGlwaW5nIC5henVyZV9iZywgLnNoaXBpbmcgLmdyZWVuX2JnIHsgcGFkZGluZzogMjBweDsgY29sb3I6ICNmZmY7IGRpc3BsYXk6IGJsb2NrOyBib3JkZXItcmFkaXVzOiA1cHg7IH1cclxuLm9yYW5nX2J1dHRvbiB7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IGZsb2F0OiBub25lOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBtYXgtd2lkdGg6IDE1MHB4OyB3aWR0aDogMTAwJTsgfVxyXG5cclxuXHJcbi5jYXJ0X3BhZ2UgeyBvdmVyZmxvdzogaGlkZGVuOyB3aWR0aDogMTAwJTsgcGFkZGluZy10b3A6IDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5jYXJ0X3BhZ2UgLmJ1dHRvbnNfY29udGkgeyB3aWR0aDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gICAgICAgIC5jYXJ0X3BhZ2UgLmJ1dHRvbnNfY29udGkgYSB7IGZsb2F0OiBsZWZ0OyBmb250LXdlaWdodDogNzAwOyB9XHJcbi5jYXJ0X2l0ZW1zIHsgfVxyXG4gICAgLmNhcnRfaXRlbXMgbGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBwYWRkaW5nOiAyMHB4IDE1cHggNXB4IDE1cHg7IHdpZHRoOiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXJnaW4tYm90dG9tOiAyMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IGZvbnQtc2l6ZTogMC45ZW07IGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXItcmFkaXVzOiA1cHg7IH1cclxuICAgICAgICAuY2FydF9pdGVtcyBsaSAuaW1hZ2VfY29udGkgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAxMiU7IHBhZGRpbmctYm90dG9tOiAxMyU7IGhlaWdodDogMDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxyXG4gICAgICAgIC5jYXJ0X2l0ZW1zIGxpIC5jYXJ0X2l0ZW1zX2RldGFpbHMgeyB3aWR0aDogNjAlOyBmbG9hdDogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IDE1cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgICAgICAgICAgLmNhcnRfaXRlbXMgbGkgLmNhcnRfaXRlbXNfZGV0YWlscyAuY2FydF9pdGVtc19oZWFkbGluZSB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuICAgICAgICAgICAgICAgIC5jYXJ0X2l0ZW1zIGxpIC5jYXJ0X2l0ZW1zX2RldGFpbHMgLmNhcnRfaXRlbXNfaGVhZGxpbmUgaDIgeyBjb2xvcjogIzBiNTg5MDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiAgICAgICAgICAgICAgICAuY2FydF9pdGVtcyBsaSAuY2FydF9pdGVtc19kZXRhaWxzIC5jYXJ0X2l0ZW1zX2hlYWRsaW5lIHAgeyBjb2xvcjogI2EyYTJhMjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiAgICAgICAgLmNhcnRfaXRlbXMgbGkgLnByb2R1Y3RfcHJpY2VfY2FydF9jb250aSA+IGRpdiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG5cclxuLnByb2RjdXRfY2FydF9kZWxldGVfb3JfaW5jIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxNSU7IHBhZGRpbmctdG9wOiAyM3B4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAucHJvZGN1dF9jYXJ0X2RlbGV0ZV9vcl9pbmMgLnFTZWxlY3QgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiA3NXB4OyB9XHJcbiAgICAvKi5wcm9kY3V0X2NhcnRfZGVsZXRlX29yX2luYyAuc2VsZWN0X2NvbnRpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9Ki9cclxuICAgIC8qLnByb2RjdXRfY2FydF9kZWxldGVfb3JfaW5jIC5zZWxlY3RfY29udGkgc2VsZWN0IHsgYm9yZGVyLXJhZGl1czogMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDsgaGVpZ2h0OiAzOXB4OyBvcGFjaXR5OiAwOyB9Ki9cclxuICAgIC5wcm9kY3V0X2NhcnRfZGVsZXRlX29yX2luYyAuZGVsZXRlX2l0ZW0geyBmb250LXNpemU6IDEuNWVtOyBwYWRkaW5nOiA4cHggMTBweCAwIDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGRpc3BsYXk6IGJsb2NrOyBmbG9hdDogbGVmdDsgfVxyXG4gICAgLnByb2RjdXRfY2FydF9kZWxldGVfb3JfaW5jIC5saWtlX3NlbGVjdCB7IHBhZGRpbmc6IDlweCAxMHB4OyB9XHJcblxyXG4uY2FydF9wYWdlIC5zaGlwaW5nIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4uY2FydF90b3RhbF9wcmljZSB7IH1cclxuICAgIC5jYXJ0X3RvdGFsX3ByaWNlID4gZGl2IHsgbWFyZ2luLWJvdHRvbTogMTBweDsgZm9udC1zaXplOiAxLjFlbTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQwZDA7IHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XHJcbi5jdXBvbl9idXR0b24geyBtYXgtd2lkdGg6IDE2MHB4OyB3aWR0aDogMTAwJTsgYm9yZGVyLXJhZGl1czogMTBweDsgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiA5cHggMTBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbi5jYXJ0X3BhZ2UgLmNhcnRfdG90YWxfcHJpY2UgLm9yYW5nX2J1dHRvbiB7IG1hcmdpbi1yaWdodDogMDsgZmxvYXQ6IGxlZnQ7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuXHJcbi5hZGRfdG9fbmV3c2xsdGVyIHsgY29sb3I6ICMwMGJiZjY7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTogMTBweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQwZDA7IHBhZGRpbmctYm90dG9tOiAxMHB4OyB3aWR0aDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gICAgLmFkZF90b19uZXdzbGx0ZXIgLmNoZWNrYm94X2NvbnRpIHsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMDsgdG9wOiAwOyB9XHJcbiAgICAgICAgLmFkZF90b19uZXdzbGx0ZXIgLmNoZWNrYm94X2NvbnRpIHNwYW4geyBib3JkZXI6IDJweCBzb2xpZCAjMDBiYmY2OyB9XHJcbiAgICAuYWRkX3RvX25ld3NsbHRlciBsYWJlbCB7IHZlcnRpY2FsLWFsaWduOiB0b3A7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZy1yaWdodDogMjBweDsgfVxyXG4udG90YWxfcGF5bWVudCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IHRvcDsgcGFkZGluZy10b3A6IDE4cHg7IGZsb2F0OiBsZWZ0OyB9XHJcbi8qRW5kIENhcnQgUGFnZSovXHJcblxyXG4vKkJsb2cqL1xyXG4uYmxvZ19jb250aV9wYWdlIHsgcGFkZGluZy1sZWZ0OiAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkMGQwZDA7IH1cclxuICAgIC5ibG9nX2NvbnRpX3BhZ2UgPiB1bCA+IGxpICsgbGkgeyAvKmJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IGRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdzogaGlkZGVuOyovIG1hcmdpbi10b3A6IDIwcHg7IH1cclxuICAgIC5ibG9nX2NvbnRpX3BhZ2UgbGkgPiBkaXYgeyAvKnBhZGRpbmc6IDAgMjBweCAwIDIwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ki8gfVxyXG4gICAgLmJsb2dfY29udGlfcGFnZSA+IHVsID4gbGkgPiBkaXYgPiBoMiB7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMmVtOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBjb2xvcjogIzBiNTg5MDsgfVxyXG4gICAgLmJsb2dfY29udGlfcGFnZSA+IHVsID4gbGkgLmltYWdlX2NvbnRpIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XHJcbiAgICAuYmxvZ19jb250aV9wYWdlID4gdWwgPiBsaSAuYmxvZ19kYXRlIHsgZm9udC1zaXplOiAwLjllbTsgY29sb3I6ICM4NTg2ODY7IG1hcmdpbi1ib3R0b206IDIwcHg7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAvKi5ibG9nX2NvbnRpX3BhZ2UgbGkgYXJ0aWNsZSB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH0qL1xyXG4gICAgLmJsb2dfY29udGlfcGFnZSBsaSAudG9fdGhlX3Bvc3RfY29udGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyBvdmVyZmxvdzogaGlkZGVuOyB3aWR0aDogMTAwJTsgcGFkZGluZzogMTVweCAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBjb2xvcjogIzBiNTg5MDsgZGlzcGxheTogdGFibGU7IH1cclxuICAgICAgICAuYmxvZ19jb250aV9wYWdlIGxpIC50b190aGVfcG9zdF9jb250aSAudG9fdGhlX3Bvc3QgeyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XHJcbiAgICAgICAgICAgIC5ibG9nX2NvbnRpX3BhZ2UgbGkgLnRvX3RoZV9wb3N0X2NvbnRpIC50b190aGVfcG9zdCBzcGFuIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxyXG4gICAgICAgICAgICAuYmxvZ19jb250aV9wYWdlIGxpIC50b190aGVfcG9zdF9jb250aSAudG9fdGhlX3Bvc3QgaSB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcbi5ibG9nX2NvbnRpX3BhZSBsaSAudG9fdGhlX3Bvc3RfY29udGkgLnNvY2lhbHMgdWwgbGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxyXG4uYmxvZ19jb250aV9wYWdlIGxpIC50b190aGVfcG9zdF9jb250aV9JbnNpZGVQYWdlIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cclxuICAgIC5ibG9nX2NvbnRpX3BhZ2UgbGkgLnRvX3RoZV9wb3N0X2NvbnRpX0luc2lkZVBhZ2UgLnNvY2lhbHMgeyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XHJcbi5ibG9nX2NvbnRpX3BhZ2UgaDMgeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG4uYmxvZ19jb250aV9wYWdlIHAsIC5ibG9nX2NvbnRpX3BhZ2UgaDIsIC5ibG9nX2NvbnRpX3BhZ2UgaDMgeyBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XHJcbiAgICAuYmxvZ19jb250aV9wYWdlIHAgPiBpbWcgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbi8qLmJsb2dfY29udGlfcGFnZSBwID4gaW1nOm9ubHktY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAtMTVweDsgfSovXHJcbi5ibG9nX2NvbnRpX3BhZ2Ugc21hbGwgeyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cclxuLmJsb2dfY29udGlfcGFnZSBhcnRpY2xlIGEgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxyXG4uYmxvZ19jb250aV9wYWdlIGFydGljbGUgaDIgeyBmb250LXdlaWdodDogNzAwOyB9XHJcbi5ibG9nX2NvbnRpX3BhZ2UgYXJ0aWNsZSBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cclxuLmJsb2dfY29udGlfcGFnZSBsaSAudG9fdGhlX3Bvc3RfY29udGlfSW5zaWRlUGFnZSB7IHBhZGRpbmc6IDA7IH1cclxuLmJsb2dfY29udGlfcGFnZSBsaSAudG9fdGhlX3Bvc3RfY29udGkgLnNvY2lhbHMgdWwgbGk6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cclxuLmJsb2dfY29udGlfcGFnZSArIC5xQ29sdW1uIHsgd2lkdGg6IDI1MHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XHJcbiAgICAuYmxvZ19jb250aV9wYWdlICsgLnFDb2x1bW4gLm5ld3NsdGVyX2Zvcm0geyBwYWRkaW5nOiAwOyBtYXJnaW4tdG9wOiAxMHB4OyB9XHJcbiAgICAgICAgLmJsb2dfY29udGlfcGFnZSArIC5xQ29sdW1uIC5uZXdzbHRlcl9mb3JtIGgyIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cclxuXHJcbi5vdGhlcl9ibG9nID4gaDIgeyBmb250LXdlaWdodDogNzAwOyBtYXJnaW46IDE1cHggMDsgfVxyXG5cclxuLmRhdGVfb2ZfcHVibGlzaCB7IGNvbG9yOiAjODU4Njg2OyAvKnBhZGRpbmc6IDAgMjBweDsqLyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXdlaWdodDogNTAwOyB9XHJcbiAgICAuZGF0ZV9vZl9wdWJsaXNoIHAgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcblxyXG4ubW9yZV9ibG9nc19jb250aSB7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuICAgIC5tb3JlX2Jsb2dzX2NvbnRpIHVsIHsgfVxyXG4gICAgICAgIC5tb3JlX2Jsb2dzX2NvbnRpIHVsIGxpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMzIuMyU7IG1hcmdpbi1sZWZ0OiAxLjIlOyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG4gICAgICAgICAgICAubW9yZV9ibG9nc19jb250aSB1bCBsaSAuaW1hZ2VfY29udGkgeyB3aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgICAgICAubW9yZV9ibG9nc19jb250aSB1bCBsaTpudGgtY2hpbGQoM24pIHsgbWFyZ2luLWxlZnQ6IDA7IH1cclxuICAgICAgICAgICAgLm1vcmVfYmxvZ3NfY29udGkgdWwgbGkgYSB7IHBhZGRpbmc6IDMwcHggMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgICAgICAgICAubW9yZV9ibG9nc19jb250aSB1bCBsaSBhIGgyIHsgY29sb3I6ICMwYjU4OTA7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cclxuXHJcbi8qRW5kIEJsb2cqL1xyXG5cclxuLypBYm91dCovXHJcbi5nZW5lcmFsX2ltYWdlc19jb250aSB7IHBhZGRpbmc6IDMwcHggMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLmdlbmVyYWxfaW1hZ2VzX2NvbnRpIGxpIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4gICAgICAgIC5nZW5lcmFsX2ltYWdlc19jb250aSBsaSAuaW1hZ2VfY29udGkgeyBtYXJnaW4tYm90dG9tOiA1cHg7IH1cclxuICAgICAgICAuZ2VuZXJhbF9pbWFnZXNfY29udGkgbGk6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgICAgICAuZ2VuZXJhbF9pbWFnZXNfY29udGkgbGkgYSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgLmdlbmVyYWxfaW1hZ2VzX2NvbnRpIGxpIHAgeyBjb2xvcjogIzg1ODY4NjsgZm9udC1zaXplOiAwLjllbTsgfVxyXG5cclxuLmdlbmVyYWxfYmlnX2ltYWdlc19jb250aSB7IG1pbi1oZWlnaHQ6IDFweDsgfVxyXG4gICAgLmdlbmVyYWxfYmlnX2ltYWdlc19jb250aSBhIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAuZ2VuZXJhbF9iaWdfaW1hZ2VzX2NvbnRpIC5pbWFnZV9jb250aSB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAgICAgLmdlbmVyYWxfYmlnX2ltYWdlc19jb250aSAuaW1hZ2VfY29udGkgaW1nIHsgd2lkdGg6IDEwMCU7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cclxuICAgIC5nZW5lcmFsX2JpZ19pbWFnZXNfY29udGkgcCB7IGNvbG9yOiAjODU4Njg2OyBmb250LXNpemU6IDAuOWVtOyB9XHJcbi8qRW5kIEFib3V0Ki9cclxuXHJcbi8qRmFxKi9cclxuLmlfY29udGkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDVweDsgdG9wOiAxOHB4OyB9XHJcbiAgICAuaV9jb250aSBpIHsgZm9udC1zaXplOiAyZW07IGZvbnQtd2VpZ2h0OiBib2xkOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC01cHg7IHRvcDogLTdweDsgfVxyXG4gICAgLmlfY29udGkgLmZhLWFuZ2xlLWRvd24geyBjb2xvcjogI2RkZGRkZDsgfVxyXG4gICAgLmlfY29udGkgLmZhLWFuZ2xlLXVwIHsgY29sb3I6ICMwYjU4OTA7IGRpc3BsYXk6IG5vbmU7IH1cclxuLmFuc3dlciB7IGRpc3BsYXk6IG5vbmU7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cclxuICAgIC5hbnN3ZXIgYXJ0aWNsZSB7IHBhZGRpbmc6IDIwcHggMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgICAgIC5hbnN3ZXIgYXJ0aWNsZSBwIHsgZm9udC1zaXplOiAxZW07IH1cclxuXHJcbi5mYXFfYnlDYXRlZ29yeSB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwIDEwMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbi5wYWRkaW5nX2xpa2VfZmFxIHsgcGFkZGluZzogMCAxMDBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4uZmFxX2xpbmtzIHsgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgcGFkZGluZzogMTVweCAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBkaXNwbGF5OiBibG9jazsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IH1cclxuLmZhcV9saW5rc19ub19iZyB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcbi5mYXFfbGlua3MgdWwgbGkgYSB7IGZvbnQtc2l6ZTogMS41ZW07IH1cclxuLmZhcSA+IHVsID4gbGkgPiBhID4gc3BhbiB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nLWxlZnQ6IDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbi8qRW5kIEZhcSovXHJcbi8qU2VydmljZSovXHJcbi5zZXJ2aWNlIHsgcGFkZGluZzogMCA0MHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbi5zZXJ2aWNlX2Zvcm0geyBwYWRkaW5nLXRvcDogMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLnNlcnZpY2VfZm9ybSAuc2hvcnRfbGlfY29udGkgeyB3aWR0aDogODAlOyBvdmVyZmxvdzogaGlkZGVuOyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XHJcbiAgICAuc2VydmljZV9mb3JtIC5oYWxmX2xpX2NvbnRpIHsgd2lkdGg6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuICAgIC5zZXJ2aWNlX2Zvcm0gLnNob3J0X2xpX2NvbnRpIGxpIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMzIuNSU7IG1hcmdpbi1sZWZ0OiAxLjIlOyB9XHJcbiAgICAuc2VydmljZV9mb3JtIC5oYWxmX2xpX2NvbnRpIGxpIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNDklOyBtYXJnaW4tbGVmdDogMiU7IH1cclxuICAgIC5zZXJ2aWNlX2Zvcm0gLnNob3J0X2xpX2NvbnRpIGxpOmxhc3QtY2hpbGQgeyBtYXJnaW4tbGVmdDogMDsgfVxyXG4gICAgLnNlcnZpY2VfZm9ybSAuaGFsZl9saV9jb250aSBsaTpsYXN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDA7IH1cclxuXHJcbiAgICAuc2VydmljZV9mb3JtIC5sb25nX2xpX2NvbnRpIGxpIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgLnNlcnZpY2VfZm9ybSAuYnV0dG9uIHsgbWF4LXdpZHRoOiAyNTBweDsgd2lkdGg6IDEwMCU7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMS4yZW07IGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cclxuICAgICAgICAuc2VydmljZV9mb3JtIC5idXR0b24gaSB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcbiAgICAuc2VydmljZV9mb3JtID4gLmZvcm1fYnV0dG9ucyB7IGRpc3BsYXk6IHRhYmxlOyB9XHJcbiAgICAgICAgLnNlcnZpY2VfZm9ybSA+IC5mb3JtX2J1dHRvbnMgPiBsaSB7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cclxuICAgICAgICAgICAgLnNlcnZpY2VfZm9ybSA+IC5mb3JtX2J1dHRvbnMgPiBsaTpsYXN0LWNoaWxkIHsgcGFkZGluZy1yaWdodDogMTVweDsgY29sb3I6ICMwYjU4OTA7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMS4yZW07IGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cclxuICAgICAgICAgICAgICAgIC5zZXJ2aWNlX2Zvcm0gPiAuZm9ybV9idXR0b25zID4gbGk6bGFzdC1jaGlsZCA+IGE6aG92ZXIgeyBjb2xvcjogIzAwYmJmNjsgfVxyXG4vKkVuZCBTZXJ2aWNlKi9cclxuXHJcbi8qUmVnaXN0ZXIqL1xyXG4uZ2VuZXJhbF9yZWdfZm9ybSBoMiB7IGZvbnQtd2VpZ2h0OiA1MDA7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuICAgIC5nZW5lcmFsX3JlZ19mb3JtIGgyIGkgeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG4uZ2VuZXJhbF9yZWdfZm9ybSBhIHsgY29sb3I6ICMwYjU4OTA7IH1cclxuLmdlbmVyYWxfcmVnX2Zvcm0gbGkgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuLmdlbmVyYWxfcmVnX2Zvcm0gLnNob3J0X2xpX2NvbnRpIHsgd2lkdGg6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuICAgIC5nZW5lcmFsX3JlZ19mb3JtIC5zaG9ydF9saV9jb250aSBsaSwgLmdlbmVyYWxfcmVnX2Zvcm0gLnNob3J0X2xpX2J1dHRvbnNfY29udGkgbGkgeyB3aWR0aDogNDklOyBmbG9hdDogcmlnaHQ7IG1hcmdpbi1sZWZ0OiAyJTsgfVxyXG4gICAgICAgIC5nZW5lcmFsX3JlZ19mb3JtIC5zaG9ydF9saV9jb250aSBsaTpudGgtY2hpbGQoZXZlbiksIC5nZW5lcmFsX3JlZ19mb3JtIC5zaG9ydF9saV9idXR0b25zX2NvbnRpIGxpOm50aC1jaGlsZChldmVuKSB7IG1hcmdpbi1sZWZ0OiAwOyB9XHJcbi5nZW5lcmFsX3JlZ19mb3JtIC5zaG9ydF9saV9idXR0b25zX2NvbnRpIHsgd2lkdGg6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuICAgIC5nZW5lcmFsX3JlZ19mb3JtIC5zaG9ydF9saV9idXR0b25zX2NvbnRpIGxpIC5idXR0b24sIC5mdWxsX3dpZHRoX2xpX3RoaXJkIGxpIC5idXR0b24geyB3aWR0aDogMTAwJTsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxLjFlbTsgfVxyXG4gICAgLmdlbmVyYWxfcmVnX2Zvcm0gLnNob3J0X2xpX2J1dHRvbnNfY29udGkgbGk6bnRoLWNoaWxkKDIpIC5idXR0b24geyB3aWR0aDogODAlOyB9XHJcbiAgICAuZ2VuZXJhbF9yZWdfZm9ybSAuc2hvcnRfbGlfYnV0dG9uc19jb250aSBsaSAuYnV0dG9uIGkgeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG5cclxuLmdlbmVyYWxfcmVnX2Zvcm0gLmFkZHJlc19saV9jb250aSB7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAuZ2VuZXJhbF9yZWdfZm9ybSAuYWRkcmVzX2xpX2NvbnRpIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpLCAuZ2VuZXJhbF9yZWdfZm9ybSAuYWRkcmVzX2xpX2NvbnRpIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gbGkgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiA0OS41JTsgbWFyZ2luLWxlZnQ6IDElOyB9XHJcbiAgICAuZ2VuZXJhbF9yZWdfZm9ybSAuYWRkcmVzX2xpX2NvbnRpIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpLCAuZ2VuZXJhbF9yZWdfZm9ybSAuYWRkcmVzX2xpX2NvbnRpIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gbGkgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAzMi42JTsgbWFyZ2luLWxlZnQ6IDElOyB9XHJcblxyXG4gICAgLmdlbmVyYWxfcmVnX2Zvcm0gLmFkZHJlc19saV9jb250aSBsaTpudGgtY2hpbGQoMyksIC5nZW5lcmFsX3JlZ19mb3JtIC5hZGRyZXNfbGlfY29udGkgbGk6bnRoLWNoaWxkKDQpIHsgd2lkdGg6IDMwJTsgfVxyXG4gICAgLmdlbmVyYWxfcmVnX2Zvcm0gLmFkZHJlc19saV9jb250aSBsaTpsYXN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxyXG5cclxuLmdlbmVyYWxfcmVnX2Zvcm0gLnJhZGlvX2xpX2NvbnRpIHsgd2lkdGg6IDEwMCU7IG92ZXJmbG93OiBhdXRvOyB9XHJcbiAgICAuZ2VuZXJhbF9yZWdfZm9ybSAucmFkaW9fbGlfY29udGkgbGkgeyBmbG9hdDogcmlnaHQ7IG1hcmdpbi1sZWZ0OiAxJTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgICAgICAgLmdlbmVyYWxfcmVnX2Zvcm0gLnJhZGlvX2xpX2NvbnRpIGxpIGlucHV0W3R5cGU9cmFkaW9dIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTVweDsgaGVpZ2h0OiAxNXB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGN1cnNvcjogcG9pbnRlcjsgb3BhY2l0eTogMDsgfVxyXG4gICAgICAgICAgICAuZ2VuZXJhbF9yZWdfZm9ybSAucmFkaW9fbGlfY29udGkgbGkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIHNwYW4geyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XHJcbiAgICAgICAgLmdlbmVyYWxfcmVnX2Zvcm0gLnJhZGlvX2xpX2NvbnRpIGxpIHNwYW4geyBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyBib3JkZXItcmFkaXVzOiA1MCU7IGhlaWdodDogMTVweDsgd2lkdGg6IDE1cHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLWxlZnQ6IDVweDsgdmVydGljYWwtYWxpZ246IHRvcDsgY3Vyc29yOiBwb2ludGVyOyB9XHJcblxyXG5cclxuLypFbmQgUmVnaXN0ZXIqL1xyXG4vKkxvZ2luKi9cclxuLmxvZ2luX2Zvcm0geyBtYXJnaW4tYm90dG9tOiA0MHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbi5mdWxsX3dpZHRoX2xpX3RoaXJkIHsgd2lkdGg6IDMzJTsgfVxyXG4ubG9naW5fZm9ybV9jb250aSB7IHBhZGRpbmctbGVmdDogNDBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLmxvZ2luX2Zvcm1fY29udGkgdWwgeyB3aWR0aDogMTAwJTsgfVxyXG4vKkVuZCBMb2dpbiovXHJcblxyXG4vKlBheSBQYWdlKi9cclxuLnBheVBhZ2UgeyBwYWRkaW5nOiAwIDEwMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAucGF5UGFnZSBpZnJhbWUgeyB3aWR0aDogMTAwJTsgbWluLWhlaWdodDogNTAwcHg7IH1cclxuLypFbmQgUGF5IFBhZ2UqL1xyXG5cclxuLypUaGFuayBGb3IgUmVnaXN0ZXIqL1xyXG4udGhhbmtfbGlua3MgeyBwYWRkaW5nLXRvcDogMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cclxuICAgIC50aGFua19saW5rcyBsaSB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuICAgIC50aGFua19saW5rcyBhLCAuYXBwbGljYXRpb25fbnVtYmVyIGEgeyBjb2xvcjogIzBiNTg5MDsgZm9udC13ZWlnaHQ6IDcwMDsgfVxyXG4gICAgICAgIC50aGFua19saW5rcyBhIGksIC5hcHBsaWNhdGlvbl9udW1iZXIgYSBpIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuLypFbmQgVGhhbmsgRm9yIFJlZ2lzdGVyKi9cclxuXHJcbi8qVGhhbmtzIEZvciBDb250YWN0Ki9cclxuLmFwcGxpY2F0aW9uX251bWJlciB7IHBhZGRpbmctdG9wOiAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAuYXBwbGljYXRpb25fbnVtYmVyIC5saWtlX2lucHV0IHsgYm9yZGVyLXJhZGl1czogMTBweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLXdpZHRoOiAycHg7IGJvcmRlci1jb2xvcjogI2NmY2ZjZjsgYm94LXNpemluZzogYm9yZGVyLWJveDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgd2lkdGg6IDE4NXB4OyBoZWlnaHQ6IDQwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogNDBweDsgbGluZS1oZWlnaHQ6IDQwcHg7IGZvbnQtd2VpZ2h0OiA1MDA7IG1hcmdpbi10b3A6IDEwcHg7IH1cclxuLypFbmQgVGhhbmtzIEZvciBDb250YWN0Ki9cclxuXHJcbi8qRXJyb3IgUGFnZSovXHJcbi5taW5pX25hdiB7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuICAgIC5taW5pX25hdiBsaSB7IGNvbG9yOiAjMGI1ODkwOyBmbG9hdDogcmlnaHQ7IG1hcmdpbi1sZWZ0OiAxNXB4OyB9XHJcbiAgICAgICAgLm1pbmlfbmF2IGxpIGEgeyBkaXNwbGF5OiBibG9jazsgY29sb3I6ICMwYjU4OTA7IH1cclxuXHJcbiNlbEVycm9yUGFnZSB7IH1cclxuICAgICNlbEVycm9yUGFnZSAucGF5UGFnZSB7IHBhZGRpbmc6IDAgMzBweDsgfVxyXG4gICAgI2VsRXJyb3JQYWdlIHAgeyBmb250LXNpemU6IDFlbTsgfVxyXG4gICAgI2VsRXJyb3JQYWdlIC5lcnJvcl9wYWdlX3NlYXJjaCBoMiB7IGNvbG9yOiAjMDAwOyBtYXJnaW4tYm90dG9tOiA1cHg7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAjZWxFcnJvclBhZ2UgLmVycm9yX3BhZ2Vfc2VhcmNoIHVsIHsgLypmbG9hdDogcmlnaHQ7IHdpZHRoOiA5MCU7IHBhZGRpbmctcmlnaHQ6IDA7Ki8gfVxyXG4gICAgICAgICNlbEVycm9yUGFnZSAuZXJyb3JfcGFnZV9zZWFyY2ggdWwgbGk6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XHJcbi8qRW5kIEVycm9yIFBhZ2UqL1xyXG5cclxuLypQcm9kdWN0IEZpbHRlciovXHJcbi5tdWx0aXNlbGVjdCB7IHdpZHRoOiAyMDBweDsgfVxyXG4uc2VsZWN0Qm94IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgICAuc2VsZWN0Qm94IHNlbGVjdCB7IHdpZHRoOiAxMDAlOyB9XHJcbi5vdmVyU2VsZWN0IHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyByaWdodDogMDsgdG9wOiAwOyBib3R0b206IDA7IH1cclxuI2NoZWNrYm94ZXMgeyBib3JkZXI6IDFweCAjZGFkYWRhIHNvbGlkOyBvdmVyZmxvdy15OiBzY3JvbGw7IG1heC1oZWlnaHQ6IDEwMHB4OyB9XHJcbiAgICAjY2hlY2tib3hlcyBsYWJlbCB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgI2NoZWNrYm94ZXMgbGFiZWw6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU5MGZmOyB9XHJcbi8qRW5kIFByb2R1Y3QgRmlsdGVyKi9cclxuXHJcbi8qR2FsbGVyeSovXHJcbiNpdGVtcy1jb250YWluZXIgeyBwYWRkaW5nOiA1MHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgICNpdGVtcy1jb250YWluZXIgLml0ZW0geyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyBwYWRkaW5nOiAxNXB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwOyBtYXJnaW4tYm90dG9tOiAyNXB4ICFpbXBvcnRhbnQ7IH1cclxuLmdhbGNvbHVtbiB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBhZGRpbmc6IDAgMjVweDsgfVxyXG4jaXRlbXMtY29udGFpbmVyIC5pdGVtIC5ubGIgeyBtYXJnaW4tYm90dG9tOiAxNXB4OyBkaXNwbGF5OiBibG9jazsgfVxyXG4uaW1hZ2Vfc2hvcnRfZGVzY19jb250aSB7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAuaW1hZ2Vfc2hvcnRfZGVzY19jb250aSBoMiB7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cclxuICAgIC5pbWFnZV9zaG9ydF9kZXNjX2NvbnRpIC50ZXh0X2NvbnRpIHsgZmxvYXQ6IHJpZ2h0OyB9XHJcbiAgICAuaW1hZ2Vfc2hvcnRfZGVzY19jb250aSBhIHsgY29sb3I6ICMzNzMzMzM7IGZvbnQtd2VpZ2h0OiA1MDA7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMzAlOyBib3JkZXI6IDJweCBzb2xpZCAjZDBkMGQwOyBwYWRkaW5nOiA1cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGRpc3BsYXk6IGJsb2NrOyBib3JkZXItcmFkaXVzOiA1cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gICAgICAgIC5pbWFnZV9zaG9ydF9kZXNjX2NvbnRpIGE6aG92ZXIsIC5pbWFnZV9zaG9ydF9kZXNjX2NvbnRpIGE6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQwOyB9XHJcbiAgICAgICAgLmltYWdlX3Nob3J0X2Rlc2NfY29udGkgYSBpIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuXHJcbi5nYWxsZXJ5X2Rlc2NyaXB0aW9uIHsgcGFkZGluZzogMjBweCAxMHB4IDAgMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuLm1vcmVfZnJvbV9hcnRpc3QgeyB3aWR0aDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gICAgLm1vcmVfZnJvbV9hcnRpc3QgdWwgeyBmbG9hdDogbGVmdDsgfVxyXG4gICAgICAgIC5tb3JlX2Zyb21fYXJ0aXN0IHVsIGxpIHsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cclxuICAgICAgICAgICAgLm1vcmVfZnJvbV9hcnRpc3QgdWwgbGkgYSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgICAgIC5tb3JlX2Zyb21fYXJ0aXN0IHVsIGxpIC5mYWNlIHsgZGlzcGxheTogYmxvY2s7IGNvbG9yOiAjMGI1ODkwOyBmb250LXNpemU6IDJlbTsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxyXG4gICAgICAgICAgICAubW9yZV9mcm9tX2FydGlzdCB1bCBsaSAuYXJ0aXN0IHsgY29sb3I6ICMzNzMzMzM7IGZvbnQtd2VpZ2h0OiA1MDA7IGZsb2F0OiBsZWZ0OyBib3JkZXI6IDJweCBzb2xpZCAjZDBkMGQwOyBwYWRkaW5nOiA1cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGRpc3BsYXk6IGJsb2NrOyBib3JkZXItcmFkaXVzOiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuICAgICAgICAgICAgICAgIC5tb3JlX2Zyb21fYXJ0aXN0IHVsIGxpIC5hcnRpc3Q6aG92ZXIsIC5tb3JlX2Zyb21fYXJ0aXN0IHVsIGxpIC5hcnRpc3Q6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQwOyB9XHJcbiAgICAgICAgICAgIC5tb3JlX2Zyb21fYXJ0aXN0IHVsIGxpIC5mYWNlOmhvdmVyLCAubW9yZV9mcm9tX2FydGlzdCB1bCBsaSAuZmFjZTpmb2N1cyB7IGNvbG9yOiAjZDBkMGQwOyB9XHJcbi8qRW5kIEdhbGxlcnkqL1xyXG4vKkFudGlxdWVDYXJzKi9cclxuLnNlYXJjaF9hbnRpcXVlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuLnNlYXJjaF9hbnRpcXVlX2NoZWNrYm94IHsgZmxvYXQ6IHJpZ2h0OyBwYWRkaW5nLXRvcDogMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLnNlYXJjaF9hbnRpcXVlX2NoZWNrYm94IHVsIHsgfVxyXG4gICAgICAgIC5zZWFyY2hfYW50aXF1ZV9jaGVja2JveCB1bCBsaSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tbGVmdDogMTBweDsgfVxyXG4gICAgICAgICAgICAuc2VhcmNoX2FudGlxdWVfY2hlY2tib3ggdWwgbGkgc3BhbiB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxyXG4gICAgICAgICAgICAuc2VhcmNoX2FudGlxdWVfY2hlY2tib3ggdWwgbGkgaW5wdXRbdHlwZT1jaGVja2JveF0geyBwb3NpdGlvbjogYWJzb2x1dGU7IGN1cnNvcjogcG9pbnRlcjsgd2lkdGg6IDE1cHg7IGhlaWdodDogMTVweDsgcmlnaHQ6IDA7IHRvcDogMDsgb3BhY2l0eTogMDsgfVxyXG4gICAgICAgICAgICAgICAgLnNlYXJjaF9hbnRpcXVlX2NoZWNrYm94IHVsIGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBzcGFuOjphZnRlciB7IGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTsgY29udGVudDogXCJcXGYwMGNcIjsgfVxyXG4gICAgICAgICAgICAuc2VhcmNoX2FudGlxdWVfY2hlY2tib3ggdWwgbGkgbGFiZWwgeyBjb2xvcjogI2ZmZjsgfVxyXG5cclxuLnNlYXJjaF9hbnRpcXVlIGZvcm0geyBmbG9hdDogbGVmdDsgfVxyXG4gICAgLnNlYXJjaF9hbnRpcXVlIGZvcm0gdWwgeyB9XHJcbiAgICAgICAgLnNlYXJjaF9hbnRpcXVlIGZvcm0gdWwgbGkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1yaWdodDogMTBweDsgfVxyXG4gICAgICAgICAgICAuc2VhcmNoX2FudGlxdWUgZm9ybSB1bCBsaSBsYWJlbCB7IGNvbG9yOiAjZmZmOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1sZWZ0OiAxMHB4OyB9XHJcbiAgICAgICAgICAgIC5zZWFyY2hfYW50aXF1ZSBmb3JtIHVsIGxpIGlucHV0IHsgd2lkdGg6IGF1dG87IGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cclxuICAgICAgICAgICAgLnNlYXJjaF9hbnRpcXVlIGZvcm0gdWwgbGkgYnV0dG9uIHsgZm9udC13ZWlnaHQ6IDUwMDsgZm9udC1zaXplOiAxLjNlbTsgfVxyXG4gICAgICAgICAgICAgICAgLnNlYXJjaF9hbnRpcXVlIGZvcm0gdWwgbGkgYnV0dG9uIGkgeyBmb250LXdlaWdodDogYm9sZDsgfVxyXG5cclxuLmFudGlxdWVfY2Fyc19jb250aSB7IHBhZGRpbmc6IDUwcHggMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLmFudGlxdWVfY2Fyc19jb250aSA+IHVsIHsgfVxyXG4gICAgICAgIC5hbnRpcXVlX2NhcnNfY29udGkgPiB1bDo6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxcHg7IGRpc3BsYXk6IGJsb2NrOyBjbGVhcjogYm90aDsgfVxyXG4gICAgICAgIC5hbnRpcXVlX2NhcnNfY29udGkgPiB1bCA+IGxpIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMDAlOyBtYXJnaW4tYm90dG9tOiA1cHg7IGJhY2tncm91bmQtY29sb3I6ICNlMWUxZTE7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4uaW1hZ2Vfc2FsZV9idXkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAtMjNweDsgfVxyXG4uYW50aXF1ZV9jYXJzX2NvbnRpID4gdWwgPiAuY2FyX3NhbGUgeyBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjMGI1ODkwOyB9XHJcbi5hbnRpcXVlX2NhcnNfY29udGkgPiB1bCA+IC5jYXJfYnV5IHsgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzJkMmQyZDsgfVxyXG5cclxuLmFudGlxdWVfY2Fyc19jb250aSA+IHVsID4gbGkgLnJpZ2h0IHsgd2lkdGg6IDY2LjYlOyBwYWRkaW5nOiAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBmbG9hdDogcmlnaHQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAwOyBwYWRkaW5nLWJvdHRvbTogMTMlOyB9XHJcbi5hbnRpcXVlX2NhcnNfY29udGkgPiB1bCA+IGxpIC5sZWZ0IHsgd2lkdGg6IDMzLjMlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBmbG9hdDogbGVmdDsgfVxyXG4uYW50aXF1ZV9jYXJzX2NvbnRpID4gdWwgPiBsaSA+IGEgeyB9XHJcbi5hbnRpcXVlX2NhcnNfY29udGkgPiB1bCA+IC5jYXJfc2FsZSBhIGgyIHsgY29sb3I6ICMwYjU4OTA7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1ib3R0b206IDIwcHg7IGZvbnQtc2l6ZTogMS41ZW07IH1cclxuLmFudGlxdWVfY2Fyc19jb250aSA+IHVsID4gLmNhcl9idXkgYSBoMiB7IGNvbG9yOiAjMmQyZDJkOyBmb250LXdlaWdodDogNzAwOyBtYXJnaW4tYm90dG9tOiAyMHB4OyBmb250LXNpemU6IDEuNWVtOyB9XHJcbi5hbnRpcXVlX2NhcnNfY29udGkgPiB1bCA+IGxpIGE6aG92ZXIgaDIsIC5hbnRpcXVlX2NhcnNfY29udGkgPiB1bCA+IGxpIGE6Zm9jdXMgaDIgeyBjb2xvcjogI2ZmNjAwMCAhaW1wb3J0YW50OyB9XHJcbi5hbnRpcXVlX2NhcnNfY29udGkgPiB1bCA+IGxpIGFydGljbGUgeyB9XHJcbi5wcmljZV9hbmRfc29jaWFscyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAwOyB3aWR0aDogMTAwJTsgcmlnaHQ6IDA7IG92ZXJmbG93OiBoaWRkZW47IHBhZGRpbmc6IDIwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5wcmljZV9hbmRfc29jaWFscyBzdHJvbmcgeyBmbG9hdDogcmlnaHQ7IH1cclxuICAgIC5wcmljZV9hbmRfc29jaWFscyAuc29jaWFscyB7IGZsb2F0OiBsZWZ0OyB9XHJcbiAgICAgICAgLnByaWNlX2FuZF9zb2NpYWxzIC5zb2NpYWxzIGxpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cclxuICAgICAgICAgICAgLnByaWNlX2FuZF9zb2NpYWxzIC5zb2NpYWxzIGxpIGEgeyBjb2xvcjogIzBiNTg5MDsgfVxyXG5cclxuLm1lZ25lZnlHbGFzcyB7IGRpc3BsYXk6IG5vbmU7IH1cclxuLypFbmQgQW50aXF1ZUNhcnMqL1xyXG5cclxuLypBbnRpcXVlQ2FycyBJbnNpZGUgUGFnZSovXHJcbi5zbWFsbF9pbWFnZXMgeyB9XHJcbi5jYXJfdGh1bWJzIHsgb3ZlcmZsb3c6IGhpZGRlbjsgcGFkZGluZy10b3A6IDVweDsgfVxyXG4gICAgLmNhcl90aHVtYnMgbGkgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAzMyU7IG1hcmdpbi1sZWZ0OiAwLjUlOyB9XHJcbiAgICAgICAgLmNhcl90aHVtYnMgbGk6bnRoLWNoaWxkKDNuKSB7IG1hcmdpbi1sZWZ0OiAwOyB9XHJcbiAgICAgICAgLmNhcl90aHVtYnMgbGkgYSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgICAgIC5jYXJfdGh1bWJzIGxpIGEgaW1nIHsgd2lkdGg6IDEwMCU7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cclxuLmFudGlxdWVfY2Fyc19jb250aV9pbnNpZGVfcGFnZSB7IHBhZGRpbmctdG9wOiAwOyB9XHJcbiAgICAuYW50aXF1ZV9jYXJzX2NvbnRpX2luc2lkZV9wYWdlID4gdWwgPiBsaSAucmlnaHQgeyBoZWlnaHQ6IDEwMCU7IHBhZGRpbmctYm90dG9tOiA1MHB4OyB9XHJcbi8qRW5kIEFudGlxdWVDYXJzIEluc2lkZSBQYWdlKi9cclxuXHJcbi8qQ2hlY2tvdXQqL1xyXG4uY2hlY2tvdXRfZm9ybV9jb250aSB7IGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IG1hcmdpbjogMCBhdXRvIDIwcHggYXV0bzsgcGFkZGluZzogNDBweCAxMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbi5jaGVja291dF9mb3JtIHsgbWF4LXdpZHRoOiA5MDBweDsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMCBhdXRvOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuICAgIC5jaGVja291dF9mb3JtIGgyIHsgZGlzcGxheTogYmxvY2s7IHRleHQtYWxpZ246IHJpZ2h0OyBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxyXG4gICAgLmNoZWNrb3V0X2Zvcm0gdWwgbGkgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyBmbG9hdDogcmlnaHQ7IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcbiAgICAgICAgLmNoZWNrb3V0X2Zvcm0gdWwgbGkgc2VsZWN0IHsgb3BhY2l0eTogMDsgaGVpZ2h0OiA0MXB4OyB9XHJcbiAgICAgICAgLmNoZWNrb3V0X2Zvcm0gdWwgbGkgaW5wdXQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBjb2xvcjogI0NGQ0ZDRjsgd2lkdGg6IDEwMCU7IGJvcmRlci1yYWRpdXM6IDVweDsgYm9yZGVyOiAxcHggc29saWQgI0NGQ0ZDRiB9XHJcbiAgICAgICAgLmNoZWNrb3V0X2Zvcm0gdWwgbGkgLnNlbGVjdF9jb250aSB7IGhlaWdodDogNDZweDsgfVxyXG4gICAgICAgICAgICAuY2hlY2tvdXRfZm9ybSB1bCBsaSAuc2VsZWN0X2NvbnRpIC5saWtlX3NlbGVjdCB7IGhlaWdodDogNDZweDsgcGFkZGluZzogMTRweCAxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XHJcbiAgICAgICAgICAgICAgICAuY2hlY2tvdXRfZm9ybSB1bCBsaSAuc2VsZWN0X2NvbnRpIC5saWtlX3NlbGVjdCBpIHsgdG9wOiAxMnB4OyB9XHJcbiAgICAuY2hlY2tvdXRfZm9ybSAuc2hvcnRfbGlfY29udGkgeyB9XHJcbiAgICAgICAgLmNoZWNrb3V0X2Zvcm0gLnNob3J0X2xpX2NvbnRpIGxpIHsgd2lkdGg6IDQ5LjUlOyBtYXJnaW4tbGVmdDogMSU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgICAgICAgICAuY2hlY2tvdXRfZm9ybSAuc2hvcnRfbGlfY29udGkgbGk6bnRoLWNoaWxkKGV2ZW4pIHsgbWFyZ2luLWxlZnQ6IDA7IH1cclxuICAgIC5jaGVja291dF9mb3JtIC5mb3J0aF9saV9jb250aSBsaSB7IHdpZHRoOiAyNCU7IG1hcmdpbi1sZWZ0OiAxLjMzJTsgfVxyXG4gICAgICAgIC5jaGVja291dF9mb3JtIC5mb3J0aF9saV9jb250aSBsaTpudGgtY2hpbGQoNG4pIHsgbWFyZ2luLWxlZnQ6IDA7IH1cclxuICAgIC5jaGVja291dF9mb3JtIC5idXR0b24geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi10b3A6IDQwcHg7IGZvbnQtd2VpZ2h0OiA1MDA7IHdpZHRoOiAxNDBweDsgZm9udC1zaXplOiAxLjFlbTsgfVxyXG4gICAgLmNoZWNrb3V0X2Zvcm0gcCB7IHBhZGRpbmc6IDEwcHggMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZGlzcGxheTogYmxvY2s7IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcblxyXG4jZWxBY2NlcHRUZXJtcyA+IGxpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiNlbEFjY2VwdFRlcm1zIC5maWVsZC12YWxpZGF0aW9uLWVycm9yIHsgcmlnaHQ6IDEwMCU7IHdoaXRlLXNwYWNlOiBub3dyYXA7IGxlZnQ6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNXB4OyB9XHJcbi8qRW5kIENoZWNrb3V0Ki9cclxuLypwcm9kdWN0IHBhcnRpYWwqL1xyXG4ucHJvZHVjdF9pdGVtIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgcGFkZGluZzogMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAxZW07IGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXItcmFkaXVzOiA1cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogdGFibGU7IHRhYmxlLWxheW91dDogZml4ZWQ7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAucHJvZHVjdF9pdGVtOjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogNHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDsgYmFja2dyb3VuZC1jb2xvcjogIzNkYzllZTsgdHJhbnNmb3JtOiBzY2FsZVkoMCk7IC1tcy10cmFuc2Zvcm06IHNjYWxlWSgwKTsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSk7IC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSk7IC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSk7IC1vLXRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4yMiwuNjEsLjM2LDEpOyB9XHJcbiAgICAucHJvZHVjdF9pdGVtOmhvdmVyOjphZnRlciB7IHRyYW5zZm9ybTogc2NhbGVZKDEpOyAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoMSk7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7IH1cclxuICAgIC5wcm9kdWN0X2l0ZW0gPiBhIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGJvdHRvbTogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IH1cclxuICAgIC5wcm9kdWN0X2l0ZW0gLmltYWdlX2NvbnRpIHsgd2lkdGg6IDIwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgLypwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiA1cHg7IHRvcDogMDsqLyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBwYWRkaW5nLWxlZnQ6IDIwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgICAgICAucHJvZHVjdF9pdGVtIC5pbWFnZV9jb250aSBhIHsgZGlzcGxheTogYmxvY2s7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2l0ZW0gLmltYWdlX2NvbnRpID4gYSBpbWcgeyAvKndpZHRoOiAxMDAlOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDBkMDsgcGFkZGluZy1ib3R0b206IDA7IG1hcmdpbi1ib3R0b206IDVweDsqLyB9XHJcbiAgICAgICAgLnByb2R1Y3RfaXRlbSAuaW1hZ2VfY29udGkgYSBzcGFuIHsgZm9udC1zaXplOiAwLjhlbTsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2l0ZW0gLmltYWdlX2NvbnRpIGEgLm1hZ25lZnkgeyBmb250LXNpemU6IDFlbTsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMjBweDsgdG9wOiAyMHB4OyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2l0ZW0gLmltYWdlX2NvbnRpIGEgc3BhbiBpIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2l0ZW0gLmltYWdlX2NvbnRpIGE6aG92ZXIsIC5wcm9kdWN0X2l0ZW0gLmltYWdlX2NvbnRpIGE6Zm9jdXMgeyBvcGFjaXR5OiAwLjg7IH1cclxuLnByb2R1Y3RfcHJpY2VfYW5kX2RldGFpbHMgeyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB3aWR0aDogODAlOyBwYWRkaW5nLXJpZ2h0OiAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDBkMGQwOyB9XHJcbi5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfZGV0YWlscyB7IC8qZmxvYXQ6IGxlZnQ7IHdpZHRoOiA4MCU7IHBhZGRpbmctcmlnaHQ6IDMwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ki8gfVxyXG4gICAgLnByb2R1Y3RfaXRlbSAucHJvZHVjdF9kZXRhaWxzIGgyIHsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICMwYjU4OTA7IGZvbnQtc2l6ZTogMS4yZW07IG1hcmdpbi1ib3R0b206IDEwcHg7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X2RldGFpbHMgaDMgeyB9XHJcbiAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X2RldGFpbHMgaDQgeyBmb250LXNpemU6IDAuOWVtOyBtYXJnaW4tYm90dG9tOiA1cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cclxuICAgIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfZGV0YWlscyBwIHsgZm9udC1zaXplOiAwLjllbTsgbGluZS1oZWlnaHQ6IDE7IH1cclxuICAgIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfZGV0YWlscyBzbWFsbCB7IGNvbG9yOiAjMDBiYmY2OyBmb250LXNpemU6IDAuOGVtOyBkaXNwbGF5OiBibG9jazsgcGFkZGluZy10b3A6IDEwcHg7IH1cclxuICAgICAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X2RldGFpbHMgc21hbGwuZnJlZSB7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICNlODU2NWY7IH1cclxuLnByb2R1Y3RfaXRlbSAucHJvZHVjdF9wcmljZV9jb250aSB7IC8qZmxvYXQ6IGxlZnQ7IHdpZHRoOiA4MCU7IHBhZGRpbmctcmlnaHQ6IDMwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ki8gcGFkZGluZy10b3A6IDEwcHg7IH1cclxuICAgIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfcHJpY2VfY29udGkgPiBkaXYgeyBib3JkZXItdG9wOiAxcHggc29saWQgI2QwZDBkMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQwZDA7IHBhZGRpbmc6IDdweCAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB3aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfcHJpY2VfY29udGkgPiBkaXYgPiBhIHsgZmxvYXQ6IHJpZ2h0OyBwYWRkaW5nLXRvcDogMTBweDsgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cclxuICAgICAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpID4gZGl2IC5zZWxlY3RfY29udGkgeyB3aWR0aDogNjBweDsgZmxvYXQ6IHJpZ2h0OyB9XHJcbiAgICAgICAgICAgIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfcHJpY2VfY29udGkgPiBkaXYgLnNlbGVjdF9jb250aSBzZWxlY3QgeyBvcGFjaXR5OiAwOyBoZWlnaHQ6IDMzcHg7IH1cclxuICAgICAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpID4gZGl2IC5wcm9kdWN0X3ByaWNlIHsgZmxvYXQ6IHJpZ2h0OyBjb2xvcjogIzBiNTg5MDsgbWFyZ2luOiAwOyAvKnBhZGRpbmctdG9wOiA4cHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7Ki8gfVxyXG4gICAgICAgICAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpID4gZGl2IC5wcm9kdWN0X3ByaWNlID4gc3BhbiB7IH1cclxuICAgICAgICAgICAgLnByb2R1Y3RfaXRlbSAucHJvZHVjdF9wcmljZV9jb250aSA+IGRpdiAucHJvZHVjdF9wcmljZSBzdHJpa2UgeyB9XHJcbiAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpIC5idXR0b25zX2NvbnRpID4gbGkgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiA1MCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfcHJpY2VfY29udGkgLmJ1dHRvbnNfY29udGkgPiA6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLWxlZnQ6IDVweDsgfVxyXG4gICAgLnByb2R1Y3RfaXRlbSAucHJvZHVjdF9wcmljZV9jb250aSAuYnV0dG9uc19jb250aSA+IDpsYXN0LWNoaWxkIHsgcGFkZGluZy1yaWdodDogNXB4OyB9XHJcbiAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpIC5hZGRfdG9fY2FydCwgLnByb2R1Y3RfaXRlbSAucHJvZHVjdF9wcmljZV9jb250aSAuYnV0dG9uc19jb250aSBhIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuLnByb2R1Y3RfaXRlbSAuc29jaWFscyB7IC8qcGFkZGluZy10b3A6IDhweDsqLyBmbG9hdDogbGVmdDsgfVxyXG4gICAgLnByb2R1Y3RfaXRlbSAuc29jaWFscyB1bCB7IGZsb2F0OiBsZWZ0OyB9XHJcbiAgICAgICAgLnByb2R1Y3RfaXRlbSAuc29jaWFscyB1bCBsaSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxLjJlbTsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XHJcbiAgICAgICAgICAgIC5wcm9kdWN0X2l0ZW0gLnNvY2lhbHMgdWwgbGk6Zmlyc3QtY2hpbGQgeyBtYXJnaW46IDA7IH1cclxuICAgICAgICAgICAgLnByb2R1Y3RfaXRlbSAuc29jaWFscyB1bCBsaSBhIHsgZGlzcGxheTogYmxvY2s7IGNvbG9yOiAjMGI1ODkwOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAgICAgICAgICAgICAgIC5wcm9kdWN0X2l0ZW0gLnNvY2lhbHMgdWwgbGkgYTpob3ZlciwgLnByb2R1Y3RfaXRlbSAucHJvZHVjdF9wcmljZV9jb250aSAuc29jaWFscyB1bCBsaSBhOmZvY3VzIHsgY29sb3I6ICMwMGJiZjY7IH1cclxuICAgICAgICAgICAgICAgIC5wcm9kdWN0X2l0ZW0gLnNvY2lhbHMgdWwgbGkgYSBpIHsgfVxyXG5cclxubGlbZGF0YS1wcm9kdWN0XS5hZGRfZ2VzdHVyZSwgLnByb2R1Y3RfaXRlbS5hZGRfZ2VzdHVyZSB7IGFuaW1hdGlvbjogYW5pbTEgMC41cyBlYXNlIGZvcndhcmRzOyB0cmFuc2l0aW9uOiB0b3AgMC41cyBlYXNlLCBsZWZ0IDAuNXMgZWFzZTsgfVxyXG5cclxuQGtleWZyYW1lcyBhbmltMSB7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlWCgwZGVnKTsgfVxyXG4gICAgNzUlIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGVYKDc1ZGVnKTsgb3BhY2l0eTogMDsgfVxyXG59XHJcblxyXG4ucHJvZHVjdF9leHRyYV9pbWFnZXMgeyB3aWR0aDogMTAwJTsgZmxvYXQ6IHJpZ2h0OyB9XHJcbiAgICAucHJvZHVjdF9leHRyYV9pbWFnZXMgPiB1bCB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2V4dHJhX2ltYWdlcyA+IHVsID4gbGkgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAzMy4zJSAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgICAgIC5wcm9kdWN0X2V4dHJhX2ltYWdlcyA+IHVsID4gbGkgPiBhIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgICAgICAgICAgICAgIC5wcm9kdWN0X2V4dHJhX2ltYWdlcyA+IHVsID4gbGkgPiBhIGltZyB7IHdpZHRoOiAxMDAlOyB9XHJcbi8qZW5kIHByb2R1Y3QgcGFydGlhbCovXHJcblxyXG4vKiBQcm9kdWN0IElubmVyICovXHJcbi5wcm9kdWN0X2FuZF9icmFuZHMgeyBkaXNwbGF5OiB0YWJsZTsgfVxyXG4gICAgLnByb2R1Y3RfYW5kX2JyYW5kcyA+IGRpdiB7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgPiBkaXY6Zmlyc3QtY2hpbGQgeyB6LWluZGV4OiAxOyBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KTsgb3ZlcmZsb3c6IGhpZGRlbjsgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDA7IH1cclxuICAgICAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyA+IGRpdjpmaXJzdC1jaGlsZCA+IHVsIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgICAgICAgICAgICAgICAucHJvZHVjdF9hbmRfYnJhbmRzID4gZGl2OmZpcnN0LWNoaWxkID4gdWwgPiBsaSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHRyYW5zaXRpb246IHRvcCAwLjVzIGVhc2UtaW4tb3V0OyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyA+IGRpdjpmaXJzdC1jaGlsZCA+IHVsID4gbGkuYWN0aXZlIHsgdG9wOiAwOyB6LWluZGV4OiAyOyB9XHJcbiAgICAucHJvZHVjdF9hbmRfYnJhbmRzLmp1c3RfcHJvZHVjdCA+IGRpdjpmaXJzdC1jaGlsZCB7IHotaW5kZXg6IDE7IGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXItcmFkaXVzOiA1cHg7IH1cclxuICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLnByb2R1Y3RfaXRlbSB7IGhlaWdodDogMTAwJTsgYm9yZGVyLXJhZGl1czogMDsgYm94LXNoYWRvdzogMCAtNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjE2KTsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAucHJvZHVjdF9hbmRfYnJhbmRzIC5wcm9kdWN0X2l0ZW06YWZ0ZXIgeyBjb250ZW50OiBub25lOyB9XHJcbiAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAucHJvZHVjdF9pdGVtIC5pbWFnZV9jb250aSB7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAyMDBweDsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLnByb2R1Y3RfaXRlbSAucHJvZHVjdF9wcmljZV9jb250aSA+IGRpdiB7IGRpc3BsYXk6IHRhYmxlOyB9XHJcbiAgICAgICAgICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLnByb2R1Y3RfaXRlbSAucHJvZHVjdF9wcmljZV9jb250aSA+IGRpdiA+ICogeyBmbG9hdDogbm9uZTsgZGlzcGxheTogdGFibGUtY2VsbDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cclxuICAgICAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpID4gZGl2ID4gOmZpcnN0LWNoaWxkIHsgd2lkdGg6IDc1cHg7IH1cclxuICAgICAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpID4gZGl2ID4gLnByb2R1Y3RfcHJpY2UgeyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XHJcbiAgICAucHJvZHVjdF9hbmRfYnJhbmRzIC5icmFuZHMgeyB3aWR0aDogMjUwcHg7IGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7IGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4OyBwYWRkaW5nOiAxNXB4IDE3cHg7IGZvbnQtc2l6ZTogMTVweDsgb3ZlcmZsb3c6IGF1dG87IH1cclxuICAgICAgICAucHJvZHVjdF9hbmRfYnJhbmRzIC5icmFuZHMgaDIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbjogMDsgcGFkZGluZy1ib3R0b206IDE1cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjdiN2I3OyB9XHJcbiAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAuYnJhbmRzIHVsIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDYwcHg7IGJvdHRvbTogMTBweDsgbGVmdDogMTdweDsgcmlnaHQ6IDE3cHg7IH1cclxuICAgICAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAuYnJhbmRzIHVsIGxpIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgICAgICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLmJyYW5kcyB1bCBsaSArIGxpIHsgbWFyZ2luLXRvcDogMTBweDsgfVxyXG4gICAgICAgICAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAuYnJhbmRzIHVsIGxpIGEgeyBkaXNwbGF5OiB0YWJsZTsgaGVpZ2h0OiA0MHB4OyB3aWR0aDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYm9yZGVyLXJhZGl1czogNXB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgcG9zaXRpb246IHJlbGF0aXZlOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLmJyYW5kcyB1bCBsaSBhOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiAjMWM1OThmOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAuYnJhbmRzIHVsIGxpIGEuYWN0aXZlIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IGJhY2tncm91bmQtY29sb3I6ICMxYzU5OGY7IGNvbG9yOiAjZmZmOyBib3gtc2hhZG93OiAwIDFweCA2cHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAuYnJhbmRzIHVsIGxpIGE6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyB3aWR0aDogMDsgaGVpZ2h0OiAwOyBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItbGVmdDogMCBzb2xpZCAjZmZmOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBsZWZ0OiAxMDAlOyBtYXJnaW4tbGVmdDogMXB4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB0cmFuc2l0aW9uOiBib3JkZXItbGVmdC13aWR0aCAwLjE1cyBsaW5lYXIsIGJvcmRlci1sZWZ0LWNvbG9yIDAuMTVzIGxpbmVhcjsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLmJyYW5kcyB1bCBsaSBhLmFjdGl2ZTphZnRlciB7IGJvcmRlci1sZWZ0LXdpZHRoOiAxMHB4OyBib3JkZXItbGVmdC1jb2xvcjogIzFjNTk4ZjsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLmJyYW5kcyB1bCBsaSBhID4gZGl2IHsgZGlzcGxheTogdGFibGUtY2VsbDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucHJvZHVjdF9hbmRfYnJhbmRzIC5icmFuZHMgdWwgbGkgYSA+IGRpdjpmaXJzdC1jaGlsZCB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwIDVweDsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucHJvZHVjdF9hbmRfYnJhbmRzIC5icmFuZHMgdWwgbGkgYSA+IGRpdjpsYXN0LWNoaWxkIHsgcGFkZGluZzogMCAxMHB4OyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLmJyYW5kcyB1bCBsaSBhID4gZGl2ID4gaW1nIHsgaGVpZ2h0OiAzMnB4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XHJcblxyXG4uZXh0cmFfZGV0YWlsc19jb250aSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgbWFyZ2luLXRvcDogMTVweDsgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxyXG4gICAgLmV4dHJhX2RldGFpbHNfY29udGkgPiBsaSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyByaWdodDogMDsgbGVmdDogMDsgYm90dG9tOiAwOyBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47IHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyB9XHJcbiAgICAgICAgLmV4dHJhX2RldGFpbHNfY29udGkgPiBsaS5hY3RpdmUgeyBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB6LWluZGV4OiAyOyB9XHJcbiAgICAgICAgLmV4dHJhX2RldGFpbHNfY29udGkgPiBsaSA+IGRpdiB7IGRpc3BsYXk6IHRhYmxlOyB9XHJcbiAgICAgICAgICAgIC5leHRyYV9kZXRhaWxzX2NvbnRpID4gbGkgPiBkaXYgPiAqIHsgZGlzcGxheTogdGFibGUtY2VsbDsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxyXG4gICAgICAgICAgICAuZXh0cmFfZGV0YWlsc19jb250aSA+IGxpID4gZGl2ID4gLmV4dHJhX2RldGFpbHNfYnV0dG9uc19jb250aSB7IHdpZHRoOiBhdXRvOyBwYWRkaW5nLWxlZnQ6IDVweDsgbWluLXdpZHRoOiAyMjNweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgICAgICAgICAgICAgLmV4dHJhX2RldGFpbHNfY29udGkgPiBsaSA+IGRpdiA+IC5leHRyYV9kZXRhaWxzX2J1dHRvbnNfY29udGkgbGkgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB3aWR0aDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5leHRyYV9kZXRhaWxzX2NvbnRpID4gbGkgPiBkaXYgPiAuZXh0cmFfZGV0YWlsc19idXR0b25zX2NvbnRpIGxpICsgbGkgeyBtYXJnaW4tdG9wOiA1cHg7IH1cclxuICAgICAgICAgICAgICAgICAgICAuZXh0cmFfZGV0YWlsc19jb250aSA+IGxpID4gZGl2ID4gLmV4dHJhX2RldGFpbHNfYnV0dG9uc19jb250aSBsaSA+IGEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGJvcmRlcjogMXB4IHNvbGlkICNlNmU3ZTc7IGNvbG9yOiAjMWM1OThmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiAxMDA7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAxM3B4OyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5leHRyYV9kZXRhaWxzX2NvbnRpID4gbGkgPiBkaXYgPiAuZXh0cmFfZGV0YWlsc19idXR0b25zX2NvbnRpIGxpID4gYTphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IC02cHg7IHRvcDogMDsgYm90dG9tOiAwOyB3aWR0aDogNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMWM1OThmOyB0cmFuc2l0aW9uOiByaWdodCAwLjE1cyBlYXNlLW91dDsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZXh0cmFfZGV0YWlsc19jb250aSA+IGxpID4gZGl2ID4gLmV4dHJhX2RldGFpbHNfYnV0dG9uc19jb250aSBsaSA+IGEuYWN0aXZlIHsgcGFkZGluZy1yaWdodDogMThweDsgZm9udC13ZWlnaHQ6IDUwMDsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmV4dHJhX2RldGFpbHNfY29udGkgPiBsaSA+IGRpdiA+IC5leHRyYV9kZXRhaWxzX2J1dHRvbnNfY29udGkgbGkgPiBhLmFjdGl2ZTphZnRlciB7IHJpZ2h0OiAwOyB9XHJcbiAgICAgICAgICAgIC5leHRyYV9kZXRhaWxzX2NvbnRpID4gbGkgPiBkaXYgPiA6bGFzdC1jaGlsZCB7IHdpZHRoOiAxMDAlOyBib3JkZXI6IDFweCBzb2xpZCAjZTZlN2U3OyBwYWRkaW5nOiAxM3B4IDE3cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgICAgICAgICAgICAgLmV4dHJhX2RldGFpbHNfY29udGkgPiBsaSA+IGRpdiA+IDpsYXN0LWNoaWxkID4gKiB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgICAgICAgICAgICAgICAgICAuZXh0cmFfZGV0YWlsc19jb250aSA+IGxpID4gZGl2ID4gOmxhc3QtY2hpbGQgPiAqLmFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgICAgIC5leHRyYV9kZXRhaWxzX2NvbnRpID4gbGkgPiBkaXYgLnByb2R1Y3RfbG9uZ19kZXNjIHsgZm9udC1zaXplOiAxNHB4OyBtYXJnaW46IDA7IH1cclxuICAgICAgICAgICAgICAgIC5leHRyYV9kZXRhaWxzX2NvbnRpID4gbGkgPiBkaXYgLnByb2R1Y3RfbG9uZ19kZXNjID4gOmxhc3QtY2hpbGQsIC5leHRyYV9kZXRhaWxzX2NvbnRpID4gbGkgPiBkaXYgLnByb2R1Y3RfbG9uZ19kZXNjID4gdWw6bGFzdC1jaGlsZCA+IGxpOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICAgICAgICAgIC5leHRyYV9kZXRhaWxzX2NvbnRpID4gbGkgPiBkaXYgLnByb2R1Y3RfbG9uZ19kZXNjIGgzIHsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogYm9sZDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgICAgICAgICAgLmV4dHJhX2RldGFpbHNfY29udGkgPiBsaSA+IGRpdiAucHJvZHVjdF9sb25nX2Rlc2MgdWwgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmV4dHJhX2RldGFpbHNfY29udGkgPiBsaSA+IGRpdiAucHJvZHVjdF9sb25nX2Rlc2MgdWwgPiBsaSwgLmV4dHJhX2RldGFpbHNfY29udGkgPiBsaSA+IGRpdiA+IC5wcm9kdWN0X2xvbmdfZGVzYyBwIHsgZm9udC1zaXplOiAxNHB4OyB9XHJcbi5vdGhlcl9wcm9kdWN0cyA+IGgyIHsgYm9yZGVyOiAxcHggc29saWQgI2U2ZTdlNzsgY29sb3I6ICMxYzU5OGY7IGZvbnQtc2l6ZTogMTZweDsgcGFkZGluZzogMTNweDsgcGFkZGluZy1yaWdodDogMThweDsgZm9udC13ZWlnaHQ6IDUwMDsgbWFyZ2luLWJvdHRvbTogMTVweDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgICAub3RoZXJfcHJvZHVjdHMgPiBoMjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHRvcDogMDsgYm90dG9tOiAwOyB3aWR0aDogNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMWM1OThmOyB0cmFuc2l0aW9uOiByaWdodCAwLjE1cyBlYXNlLW91dDsgfVxyXG4ub3RoZXJfcHJvZHVjdHMgLnJlY3RhbmdsZV9jb250aSB7IG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxyXG4gICAgLm90aGVyX3Byb2R1Y3RzIC5yZWN0YW5nbGVfY29udGkgPiBsaSB7IHdpZHRoOiAyMCU7IHBhZGRpbmctbGVmdDogMTVweDsgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxyXG4gICAgICAgIC5vdGhlcl9wcm9kdWN0cyAucmVjdGFuZ2xlX2NvbnRpID4gbGkgPiBkaXYgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuICAgICAgICAub3RoZXJfcHJvZHVjdHMgLnJlY3RhbmdsZV9jb250aSA+IGxpIC5pbWFnZV9jb250aSB7IG1heC13aWR0aDogMTI1cHg7IH1cclxuICAgICAgICAub3RoZXJfcHJvZHVjdHMgLnJlY3RhbmdsZV9jb250aSA+IGxpIGgyLCAub3RoZXJfcHJvZHVjdHMgLnJlY3RhbmdsZV9jb250aSA+IGxpIC5wcmljZSB7IGZvbnQtc2l6ZTogMTRweDsgfVxyXG4gICAgICAgIC5vdGhlcl9wcm9kdWN0cyAucmVjdGFuZ2xlX2NvbnRpID4gbGkgLnF1YW50aXR5X2NvbnRpIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgICAgIC5vdGhlcl9wcm9kdWN0cyAucmVjdGFuZ2xlX2NvbnRpID4gbGkgLm1vcmVfZGV0YWlsc19jb250aSwgLm90aGVyX3Byb2R1Y3RzIC5yZWN0YW5nbGVfY29udGkgPiBsaSBwLCAub3RoZXJfcHJvZHVjdHMgLnJlY3RhbmdsZV9jb250aSA+IGxpIHNtYWxsIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLyogRW5kIFByb2R1Y3QgSW5uZXIgKi9cclxuLypBcnQqL1xyXG4uYXJ0X2dhbGxlcnlfY29udGkgeyB9XHJcbiAgICAuYXJ0X2dhbGxlcnlfY29udGkgPiB1bCB7IH1cclxuICAgICAgICAuYXJ0X2dhbGxlcnlfY29udGkgPiB1bCA+IGxpIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNTAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuICAgICAgICAgICAgLmFydF9nYWxsZXJ5X2NvbnRpID4gdWwgPiBsaTpudGgtY2hpbGQob2RkKSB7IHBhZGRpbmctbGVmdDogMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNzA3MDcwOyB9XHJcbiAgICAgICAgICAgIC5hcnRfZ2FsbGVyeV9jb250aSA+IHVsID4gbGk6bnRoLWNoaWxkKGV2ZW4pIHsgcGFkZGluZy1yaWdodDogMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgICAgICAgICAuYXJ0X2dhbGxlcnlfY29udGkgPiB1bCA+IGxpID4gYSB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAyMnB4OyBoZWlnaHQ6IDA7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IHBhZGRpbmctYm90dG9tOiA1OC41JTsgfVxyXG4gICAgICAgICAgICAgICAgLmFydF9nYWxsZXJ5X2NvbnRpID4gdWwgPiBsaSA+IGEgaW1nIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgICAgLmFydF9nYWxsZXJ5X2NvbnRpID4gdWwgPiBsaSA+IC5pbWFnZV9zaG9ydF9kZXNjX2NvbnRpIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgICAgICAgIC5hcnRfZ2FsbGVyeV9jb250aSA+IHVsID4gbGkgPiAuaW1hZ2Vfc2hvcnRfZGVzY19jb250aSAudGV4dF9jb250aSB7IHdpZHRoOiAxMDAlOyBmbG9hdDogbm9uZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5hcnRfZ2FsbGVyeV9jb250aSA+IHVsID4gbGkgPiAuaW1hZ2Vfc2hvcnRfZGVzY19jb250aSAudGV4dF9jb250aSBoMiB7IG1hcmdpbi1ib3R0b206IDEwcHg7IGZvbnQtc2l6ZTogMS40ZW07IH1cclxuICAgICAgICAgICAgICAgICAgICAuYXJ0X2dhbGxlcnlfY29udGkgPiB1bCA+IGxpID4gLmltYWdlX3Nob3J0X2Rlc2NfY29udGkgLnRleHRfY29udGkgcCB7IGZvbnQtc2l6ZTogMS4xZW07IH1cclxuICAgICAgICAgICAgICAgIC5hcnRfZ2FsbGVyeV9jb250aSA+IHVsID4gbGkgPiAuaW1hZ2Vfc2hvcnRfZGVzY19jb250aSAubGlrZV9hIHsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI1ODkwOyBjb2xvcjogI2ZmZjsgYm9yZGVyLXJhZGl1czogMjBweDsgd2lkdGg6IGF1dG87IHBhZGRpbmc6IDVweCAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAgICAgICAgIC5hcnRfZ2FsbGVyeV9jb250aSA+IHVsID4gbGkgLnNlZW5fYW5kX2RhdGUgeyBwYWRkaW5nLXRvcDogMjFweDsgbWFyZ2luLWJvdHRvbTogMjdweDsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMC45ZW07IH1cclxuICAgICAgICAgICAgICAgIC5hcnRfZ2FsbGVyeV9jb250aSA+IHVsID4gbGkgLnNlZW5fYW5kX2RhdGUgPiBzcGFuIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tbGVmdDogMzBweDsgY29sb3I6ICNBNUE1QTU7IH1cclxuICAgICAgICAgICAgICAgICAgICAuYXJ0X2dhbGxlcnlfY29udGkgPiB1bCA+IGxpIC5zZWVuX2FuZF9kYXRlID4gc3BhbjpudGgtb2YtdHlwZSgyKSB7IG1hcmdpbi1sZWZ0OiAwOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmFydF9nYWxsZXJ5X2NvbnRpID4gdWwgPiBsaSAuc2Vlbl9hbmRfZGF0ZSA+IHNwYW4gaW1nIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyBtYXJnaW4tbGVmdDogNXB4OyB9XHJcbi8qRW5kIEFydCovXHJcblxyXG4vKkRpc2Fzc2VtYmx5Ki9cclxuLmRpc2Fzc2VtYmx5X2Zvcm0geyB9XHJcbiAgICAuZGlzYXNzZW1ibHlfZm9ybSAubG9uZ19saV9jb250aSB7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuICAgICAgICAuZGlzYXNzZW1ibHlfZm9ybSAubG9uZ19saV9jb250aSBsaSB7IHdpZHRoOiAzMiU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW4tbGVmdDogMiU7IGhlaWdodDogNDZweDsgfVxyXG4gICAgICAgICAgICAuZGlzYXNzZW1ibHlfZm9ybSAubG9uZ19saV9jb250aSBsaTpsYXN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDA7IH1cclxuICAgIC5kaXNhc3NlbWJseV9mb3JtIHVsOmxhc3Qtb2YtdHlwZSBsaTpsYXN0LWNoaWxkIHsgfVxyXG4gICAgLmRpc2Fzc2VtYmx5X2Zvcm0gLmxvbmdfbGlfY29udGkgbGkgLnNlbGVjdF9jb250aSB7IH1cclxuICAgICAgICAuZGlzYXNzZW1ibHlfZm9ybSAubG9uZ19saV9jb250aSBsaSAuc2VsZWN0X2NvbnRpIC5saWtlX3NlbGVjdCB7IH1cclxuICAgICAgICAgICAgLmRpc2Fzc2VtYmx5X2Zvcm0gLmxvbmdfbGlfY29udGkgbGkgLnNlbGVjdF9jb250aSAubGlrZV9zZWxlY3Qgc3BhbiB7IHBhZGRpbmc6IDVweDsgfVxyXG4gICAgICAgICAgICAuZGlzYXNzZW1ibHlfZm9ybSAubG9uZ19saV9jb250aSBsaSAuc2VsZWN0X2NvbnRpIC5saWtlX3NlbGVjdCBpIHsgfVxyXG4gICAgICAgIC5kaXNhc3NlbWJseV9mb3JtIC5sb25nX2xpX2NvbnRpIGxpIC5zZWxlY3RfY29udGkgc2VsZWN0IHsgb3BhY2l0eTogMDsgaGVpZ2h0OiA0NnB4OyBsaW5lLWhlaWdodDogNDZweDsgfVxyXG4gICAgLmRpc2Fzc2VtYmx5X2Zvcm0gLmJ1dHRvbiB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiA1cHggMTNweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC13ZWlnaHQ6IDQwMDsgZm9udC1zaXplOiAxNXB4OyBib3JkZXItcmFkaXVzOiA4cHggMzBweCAzMHB4IDhweDsgYm9yZGVyOiBub25lOyBwb3NpdGlvbjogcmVsYXRpdmU7IGJhY2tncm91bmQtY29sb3I6ICMwYjU4OTA7IG1pbi1oZWlnaHQ6IDM0cHg7IGZsb2F0OiBsZWZ0OyBtYXgtd2lkdGg6IDE1MHB4OyB9XHJcbiAgICAgICAgLmRpc2Fzc2VtYmx5X2Zvcm0gLmJ1dHRvbiBpbWcgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiA0cHg7IHRvcDogNnB4OyB9XHJcbiAgICAuZGlzYXNzZW1ibHlfZm9ybSAucVRvb2x0aXBfY29udGFpbmVyIHsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxOyBsZWZ0OiAxMHB4OyB0b3A6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxyXG4gICAgLmRpc2Fzc2VtYmx5X2Zvcm0gLnFUb29sdGlwX3RyaWdnZXIgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI1ODkwOyBib3JkZXItcmFkaXVzOiAxMDAlOyB3aWR0aDogMTJweDsgcGFkZGluZzogMnB4OyBkaXNwbGF5OiBibG9jazsgdGV4dC1hbGlnbjogY2VudGVyOyBvcGFjaXR5OiAwLjc1OyB9XHJcbiAgICAgICAgLmRpc2Fzc2VtYmx5X2Zvcm0gLnFUb29sdGlwX3RyaWdnZXI6aG92ZXIsIC5kaXNhc3NlbWJseV9mb3JtIC5xVG9vbHRpcF90cmlnZ2VyOmZvY3VzIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgLmRpc2Fzc2VtYmx5X2Zvcm0gLnFUb29sdGlwIHsgd2lkdGg6IDIzM3B4OyB9XHJcbiAgICAuZGlzYXNzZW1ibHlfZm9ybSAucVNlbGVjdF9vdmVybGF5IHsgcGFkZGluZzogMTVweCAxM3B4OyB9XHJcbiAgICAgICAgLmRpc2Fzc2VtYmx5X2Zvcm0gLnFTZWxlY3Rfb3ZlcmxheSA+IHNwYW4geyBmb250LXNpemU6IDE3cHg7IH1cclxuXHJcbi5kaXNhc3NlbWJseV9tYWluX2Jhbm5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1ib3R0b206IDIwJTsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4uZGlzYXNzZW1ibHlfbWFpbl9iYW5uZXJfY2FyIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9Db250ZW50L05ld1Jlc291cmNlcy9kaXNhc3NlbWJseS9jYXIuanBnKTsgfVxyXG4uZGlzYXNzZW1ibHlfbWFpbl9iYW5uZXJfdHJ1Y2sgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL0NvbnRlbnQvTmV3UmVzb3VyY2VzL2Rpc2Fzc2VtYmx5L3RydWNrLmpwZyk7IH1cclxuLmRpc2Fzc2VtYmx5X21haW5fYmFubmVyIGgxIHsgZm9udC1zaXplOiA0ZW07IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMDsgbGVmdDogMDsgdG9wOiAwOyBwYWRkaW5nOiA1JSAxMCUgMCAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbi5kaXNhc3NlbWJseV9tYWluX2Jhbm5lcl90cnVjayBoMSB7IHdpZHRoOiA1MDBweDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAzJSAwIDAgMDsgfVxyXG4vKkVuZCBEaXNhc3NlbWJseSovXHJcblxyXG4vKk1haW4gU2VhcmNoIE5ldyovXHJcbi5tYWluX3NlYXJjaCB7IGJhY2tncm91bmQtY29sb3I6ICMwYjU4OTA7IGJvcmRlci1yYWRpdXM6IDVweDsgfVxyXG4ubWFpbl9zZWFyY2hfaW5kZXggeyBtYXJnaW4tdG9wOiAyMHB4OyB9XHJcbi5tYWluX3NlYXJjaCAuZ2VuZXJhbF9mb3JtIGgyIHsgY29sb3I6ICNmZmY7IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcbi5tYWluX3NlYXJjaCAuZ2VuZXJhbF9mb3JtIHVsIGxpIC5idXR0b24geyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiYmY2OyB9XHJcbiAgICAubWFpbl9zZWFyY2ggLmdlbmVyYWxfZm9ybSB1bCBsaSAuYnV0dG9uOmhvdmVyIHsgLypiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzICFpbXBvcnRhbnQ7Ki8gY29sb3I6ICMwYjU4OTAgIWltcG9ydGFudDsgfVxyXG4gICAgICAgIC5tYWluX3NlYXJjaCAuZ2VuZXJhbF9mb3JtIHVsIGxpIC5idXR0b246aG92ZXIgPiBpbWc6Zmlyc3Qtb2YtdHlwZSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgICAgICAubWFpbl9zZWFyY2ggLmdlbmVyYWxfZm9ybSB1bCBsaSAuYnV0dG9uOmhvdmVyID4gaW1nOmxhc3Qtb2YtdHlwZSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbi8qRW5kIE1haW4gU2VhcmNoIE5ldyovXHJcblxyXG4vKlNsaWRlIFNob3cqL1xyXG4uc2xpZGVfc2hvdyB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAuc2xpZGVfc2hvdyA+IHVsIHsgd2lkdGg6IDEwMCU7IHBhZGRpbmctYm90dG9tOiAzNS41JTsgaGVpZ2h0OiAwOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7IGJvcmRlci1yYWRpdXM6IDVweDsgfVxyXG4gICAgICAgIC5zbGlkZV9zaG93ID4gdWwgPiBsaSB7IHotaW5kZXg6IDE7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHRvcDogMDsgd2lkdGg6IDEwMCU7IHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7IC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgLW1vei10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGhlaWdodDogMTAwJTsgfVxyXG4gICAgICAgICAgICAuc2xpZGVfc2hvdyA+IHVsID4gbGk6bm90KC5hY3RpdmUpIHsgb3BhY2l0eTogMDsgei1pbmRleDogMDsgfVxyXG4gICAgICAgICAgICAuc2xpZGVfc2hvdyA+IHVsID4gbGkgPiBhIHsgZGlzcGxheTogdGFibGU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfVxyXG4gICAgICAgICAgICAgICAgLnNsaWRlX3Nob3cgPiB1bCA+IGxpID4gYSA+IGRpdiB7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cclxuICAgICAgICAgICAgICAgICAgICAuc2xpZGVfc2hvdyA+IHVsID4gbGkgPiBhID4gZGl2LmFsaWduX21pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cclxuICAgICAgICAgICAgICAgICAgICAuc2xpZGVfc2hvdyA+IHVsID4gbGkgPiBhID4gZGl2LmFsaWduX2NlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5zbGlkZV9zaG93ID4gdWwgPiBsaSA+IGEgPiBkaXYgPiBkaXYgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLnNsaWRlX3Nob3cgPiB1bCA+IGxpID4gYSA+IGRpdiA+IGRpdiBwIHsgbWFyZ2luOiAwOyBsaW5lLWhlaWdodDogMTsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2xpZGVfc2hvdyA+IHVsID4gbGkgPiBhID4gZGl2ID4gZGl2IGgyIHsgZm9udC1zaXplOiA3MHB4OyBmb250LXdlaWdodDogNTAwOyBtYXJnaW46IDA7IH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLnNsaWRlX3Nob3cgPiB1bCA+IGxpID4gYSA+IGRpdiA+IGRpdiBhcnRpY2xlIHsgZm9udC1zaXplOiA0M3B4OyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zbGlkZV9zaG93ID4gdWwgPiBsaSA+IGEgPiBkaXYgPiBkaXYgZGl2IHsgZm9udC1zaXplOiAyOHB4OyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2xpZGVfc2hvdyA+IHVsID4gbGkgPiBhID4gZGl2ID4gZGl2IGRpdiBzcGFuIHsgZm9udC13ZWlnaHQ6IDUwMDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAxMHB4IDIwcHg7IGJvcmRlci1yYWRpdXM6IDVweDsgfVxyXG4vKkVuZCBTbGlkZSBTaG93Ki9cclxuXHJcbi8qIFNpdGUgTWFwICovXHJcbi5saXN0X3Jlc2V0IHsgbGlzdC1zdHlsZTogbm9uZTsgcGFkZGluZzogMDsgbWFyZ2luOiAwOyB9XHJcbi5jb2x1bW5zIHsgZGlzcGxheTogdGFibGU7IHRhYmxlLWxheW91dDogZml4ZWQ7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAuY29sdW1ucyA+IC5jb2x1bW4sIHVsLmNvbHVtbnMgPiBsaSB7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cclxuXHJcbiNlbFNpdGVNYXAgaDIsICNlbFNpdGVNYXAgaDMgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyBmb250LXdlaWdodDogNTAwOyB9XHJcbiNlbFNpdGVNYXAgaDIgeyBmb250LXNpemU6IDEuMjVlbTsgfVxyXG4jZWxTaXRlTWFwIGEgc3BhbiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG4jZWxTaXRlTWFwIGFydGljbGUgdWwgPiBsaSA+IHVsIHsgbGlzdC1zdHlsZTogY2lyY2xlOyB9XHJcbiAgICAjZWxTaXRlTWFwIGFydGljbGUgdWwgPiBsaSA+IHVsLmNvbHVtbnMgPiBsaTpmaXJzdC1jaGlsZCB7IHdpZHRoOiAzMy4zMzMlOyB9XHJcbi8qIEVuZCBTaXRlIE1hcCAqL1xyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogMTUwMHB4KSB7IC8qQW50aXF1ZUNhcnMqL1xyXG4gICAgLyouZ2VuZXJhbF9zZWFyY2ggeyB3aWR0aDogMjUlOyB9Ki9cclxuICAgIC8qRW5kIEFudGlxdWVDYXJzKi9cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogMTM2NnB4KSB7XHJcbiAgICAvKkFudGlxdWVDYXJzKi9cclxuICAgIC5hbnRpcXVlX2NhcnNfY29udGkgPiB1bCA+IGxpIHsgd2lkdGg6IDk1JTsgfVxyXG4gICAgLypFbmQgQW50aXF1ZUNhcnMqL1xyXG5cclxuICAgIC50b3BfaGVhZGVyIC5sb2dvIHsgd2lkdGg6IDMwMHB4OyB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDExODBweCkge1xyXG4gICAgLypCdXJnZXIqL1xyXG4gICAgLmJ1cmdlciB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICBoZWFkZXIgbmF2IHsgd2lkdGg6IDEwMCU7IHotaW5kZXg6IDkwMDAwOyBwb3NpdGlvbjogZml4ZWQ7IGRpc3BsYXk6IG5vbmU7IHRvcDogMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgcGFkZGluZzogMDsgcmlnaHQ6IDA7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XHJcbiAgICAuZGlzcGxheV9tb2JpbGUgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XHJcbiAgICAuY2xvc2VfbmF2IHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMjVweDsgfVxyXG4gICAgbmF2ID4gZGl2IHsgYmFja2dyb3VuZC1jb2xvcjogIzBiNTg5MDsgbWF4LXdpZHRoOiAzMDBweDsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogLTMwMHB4OyB0b3A6IDA7IGJvdHRvbTogMDsgcGFkZGluZzogNDVweCAwIDAgMDsgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OyB9XHJcbiAgICAgICAgbmF2ID4gZGl2ID4gdWwgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiAxMDAlOyBwYWRkaW5nLXRvcDogMDsgbWFyZ2luOiAwOyBmb250LXNpemU6IDE4cHg7IHBhZGRpbmc6IDA7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgICAgIG5hdiA+IGRpdiA+IHVsID4gbGkgeyB3aWR0aDogMTAwJTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7IHBhZGRpbmc6IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDogMDsgYm9yZGVyLWxlZnQ6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgICAgICAgICBuYXYgPiBkaXYgPiB1bCA+IGxpOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7IH1cclxuICAgICAgICAgICAgbmF2ID4gZGl2ID4gdWwgPiAjZm9ybV9saV9jb250aSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgICAgICAgICAgbmF2ID4gZGl2ID4gdWwgPiBsaSBhIHsgY29sb3I6ICNmZmY7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGRpc3BsYXk6IGJsb2NrOyBib3JkZXItcmlnaHQ6IG5vbmU7IGJvcmRlci1sZWZ0OiBub25lOyBwYWRkaW5nOiAxMHB4IDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHRleHQtYWxpZ246IHJpZ2h0OyBoZWlnaHQ6IGF1dG87IH1cclxuICAgICAgICAgICAgICAgIG5hdiA+IGRpdiA+IHVsID4gbGkgYTpob3ZlciA+IHNwYW4geyBjb2xvcjogI2ZmZjsgfVxyXG4gICAgICAgICAgICAgICAgbmF2ID4gZGl2ID4gdWwgPiBsaSBhOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwYmJmNjsgfVxyXG4gICAgICAgICAgICAgICAgbmF2ID4gZGl2ID4gdWwgPiBsaSBhOjphZnRlciwgbmF2ID4gZGl2ID4gdWwgPiBsaSBhID4gLmZhIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgbmF2LmFjdGl2ZSA+IGRpdiB7IHJpZ2h0OiAwOyB9XHJcbiAgICAvKkVuZCBCdXJnZXIqL1xyXG5cclxuICAgIC8qR2VuZXJhbCBDbGFzc3NlcyovXHJcbiAgICAuYXV0b19tYXJnaW4geyBwYWRkaW5nOiAwIDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5kb250X21vYmlsZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG4gICAgLnNob3dfdGV4dCB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAuYnJlZF9jb250aSB7IHBhZGRpbmc6IDEwcHggMTBweCAwIDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XHJcbiAgICAvKi5nZW5lcmFsX2Zvcm0geyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDAgMTBweCAwIDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAgICAgLmdlbmVyYWxfZm9ybSBoMiB7IGZsb2F0OiBub25lOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBmb250LXNpemU6IDEuMmVtOyBwYWRkaW5nLXRvcDogMTBweDsgfVxyXG4gICAgICAgIC5nZW5lcmFsX2Zvcm0gdWwgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgICAgICAuZ2VuZXJhbF9mb3JtIHVsIGxpIHsgd2lkdGg6IDI0JSAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDogMS4zJTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgICAgICAgICAgLmdlbmVyYWxfZm9ybSB1bCBsaTpub3QoOm50aC1jaGlsZCgxKSkgeyB9XHJcbiAgICAgICAgICAgICAgICAuZ2VuZXJhbF9mb3JtIHVsIGxpOm50aC1jaGlsZCg0KSB7IG1hcmdpbi1sZWZ0OiAwOyB9XHJcbiAgICAgICAgICAgICAgICAuc2VhcmNoX2NvbnRpIC5nZW5lcmFsX2Zvcm0gZm9ybSA+IHVsID4gbGkubGFzdF9jaGlsZCwgLmdlbmVyYWxfZm9ybSB1bCBsaS5sYXN0X2NoaWxkIHsgd2lkdGg6IDQ5JSAhaW1wb3J0YW50OyBmbG9hdDogbGVmdDsgfVxyXG4gICAgICAgICAgICAgICAgLnNlYXJjaF9jb250aSAuZ2VuZXJhbF9mb3JtIGZvcm0gPiB1bCA+IGxpLmNsZWFyX2Zvcm0sIC5nZW5lcmFsX2Zvcm0gdWwgbGkuY2xlYXJfZm9ybSB7IHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IGxlZnQ6IC0xMHB4OyByaWdodDogaW5pdGlhbDsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDJweDsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5zZWFyY2hfY29udGkgLmdlbmVyYWxfZm9ybSBmb3JtID4gdWwgPiBsaS5jbGVhcl9mb3JtIGEsIC5nZW5lcmFsX2Zvcm0gdWwgbGkuY2xlYXJfZm9ybSBhIHsgcG9zaXRpb246IHN0YXRpYzsgfVxyXG4gICAgICAgIC5nZW5lcmFsX2Zvcm0gZm9ybSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1ib3R0b206IDI1cHg7IH0qL1xyXG4gICAgLnRvcF9hcnRpY2xlX2luc2lkZV9wYWdlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgbWF4LWhlaWdodDogNzBweDsgfVxyXG4gICAgLmxlZnQ0LCAucmlnaHQ0IHsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDEwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5nZW5lcmFsX2Zvcm0geyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAgIC8qLmNsZWFyX2Zvcm0gYSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNXB4OyBsZWZ0OiAxMHB4OyB9Ki9cclxuICAgIC5zaG93X2xvZ29zIHsgLypkaXNwbGF5OiBibG9jazsqLyB3aWR0aDogMTAwJTsgY29sb3I6ICMwYjU4OTA7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMTJweCAxMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDE4cHg7IH1cclxuICAgICAgICAuc2hvd19sb2dvcyBpbWcgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cclxuICAgICAgICAuc2hvd19sb2dvcyBzcGFuIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDE1cHg7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHBhZGRpbmctdG9wOiAycHg7IH1cclxuICAgIC8qLnByb2R1Y3RfcGFnZV9oZWFkbGluZSB7IHBhZGRpbmctYm90dG9tOiAwOyB9Ki9cclxuICAgIC5xQ29sdW1ucy5xQ29sdW1uc19icmVhaywgLnFDb2x1bW5zLnFDb2x1bW5zX2JyZWFrID4gLnFDb2x1bW4geyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgLyoucUNvbHVtbnMucUNvbHVtbnNfYnJlYWsgPiAucUNvbHVtbiB7IGRpc3BsYXk6IGJsb2NrOyB9Ki9cclxuXHJcbiAgICAvKkVuZCBHZW5lcmFsIENsYXNzc2VzKi9cclxuICAgIC8qSGVhZGVyKi9cclxuICAgIC50b3BfaGVhZGVyIHsgbWluLWhlaWdodDogNjRweDsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgIC5saW5rcyBsaTpub3QoOmxhc3QtY2hpbGQpIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgLmxpbmtzIGxpLmRpc3BsYXlfaW5fbW9iaWxlIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgLnRvcF9oZWFkZXIgLmxpbmtzIHsgd2lkdGg6IGF1dG87IHBhZGRpbmctcmlnaHQ6IDA7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDE1cHg7IHRvcDogMjBweDsgfVxyXG4gICAgICAgIC50b3BfaGVhZGVyIC5saW5rcyBsaSB7IC8qcGFkZGluZy1sZWZ0OiAxMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXJnaW4tdG9wOiAtMjBweDsqLyB9XHJcbiAgICAgICAgICAgIC50b3BfaGVhZGVyIC5saW5rcyBsaSBhIHsgdGV4dC1hbGlnbjogY2VudGVyOyBkaXNwbGF5OiBibG9jazsgLyp3aWR0aDogMjBweDsqLyB9XHJcbiAgICAgICAgICAgICAgICAudG9wX2hlYWRlciAubGlua3MgbGkgYSBzcGFuLCAudG9wX2hlYWRlciAubGlua3MgbGkgYSBpIHsgZGlzcGxheTogYmxvY2s7IGZsb2F0OiBub25lOyBtYXJnaW46IDA7IH1cclxuICAgICAgICAgICAgICAgIC50b3BfaGVhZGVyIC5saW5rcyBsaSBhIGkgeyBmb250LXNpemU6IDEuOGVtOyB9XHJcbiAgICAgICAgICAgICAgICAudG9wX2hlYWRlciAubGlua3MgbGkgYSBzcGFuOm5vdCguaXRlbV9pbl9jYXJ0KSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIC50b3BfaGVhZGVyIC5hY2Nlc3NpYmlsaXR5X2NvbnRpIHsgcG9zaXRpb246IGFic29sdXRlOyBkaXNwbGF5OiBibG9jazsgcmlnaHQ6IDUwcHg7IHRvcDogMTVweDsgfVxyXG4gICAgLnRvcF9oZWFkZXIgLmxvZ28geyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiBhdXRvOyBoZWlnaHQ6IDQzcHg7IHdpZHRoOiAxMzBweDsgbGVmdDogMDsgcmlnaHQ6IDA7IG1hcmdpbjogYXV0bzsgfVxyXG4gICAgICAgIC50b3BfaGVhZGVyIC5sb2dvIGltZyB7IG1hcmdpbjogMCBhdXRvOyB9XHJcbiAgICAudG9wX2hlYWRlciAubGlua3MgbGkgYSBpbWcgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cclxuICAgIC5jYXJ0X2Ftb3VudF9jb250aSB7IHRvcDogNjBweDsgfVxyXG4gICAgICAgIC5jYXJ0X2Ftb3VudF9jb250aSAuZmEtY2FyZXQtdXAgeyBsZWZ0OiAxMHB4OyB9XHJcbiAgICAuZHJvcF9tZW51IHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgLm9wZW5fc2VhcmNoIHsgfVxyXG4gICAgLyoub3Blbl9zZWFyY2ggaW1nIHsgd2lkdGg6IDIycHg7IH0qL1xyXG5cclxuICAgIC50b3BfaGVhZGVyIC5nZW5lcmFsX3NlYXJjaCB7IHdpZHRoOiAxMDAlOyAvKiBmbG9hdDogbGVmdDsgKi8gYm94LXNpemluZzogYm9yZGVyLWJveDsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAyMDsgdG9wOiAxMDAlOyBwYWRkaW5nOiAxNXB4IDVweDsgZGlzcGxheTogbm9uZTsgcmlnaHQ6IDA7IGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2ZjZmNmOyB9XHJcbiAgICAuY2xvc2VfZm9ybV9tb2JpbGUgeyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA1cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgI0NGQ0ZDRjsgdG9wOiAwOyBib3R0b206IDA7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IGxpbmUtaGVpZ2h0OiA0MHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogMjBweDsgY29sb3I6ICNjZmNmY2Y7IG1hcmdpbjogYXV0byAwOyB9XHJcbiAgICAuZ2VuZXJhbF9zZWFyY2ggPiB1bCB7IGNsZWFyOiBib3RoOyB9XHJcbiAgICAgICAgLmdlbmVyYWxfc2VhcmNoID4gdWwgPiBsaSB7IHBhZGRpbmctbGVmdDogMDsgfVxyXG4gICAgLmdlbmVyYWxfc2VhcmNoIGJ1dHRvbiB7IGxlZnQ6IDIxJTsgfVxyXG4gICAgLmdlbmVyYWxfc2VhcmNoID4gdWwgPiBsaSBpbnB1dCB7IHdpZHRoOiA4MCU7IH1cclxuICAgIC50b3BfaGVhZGVyIC5saW5rcyBsaSBhIC5pdGVtX2luX2NhcnQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTEycHg7IH1cclxuICAgIC5kZXNrdG9wIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgICAvKi50b3BfaGVhZGVyIHsgcGFkZGluZzogMTBweCAyMHB4IDIwcHggMjBweDsgfSovXHJcbiAgICAvKkVuZCBIZWFkZXIqL1xyXG4gICAgLypGb290ZXIqL1xyXG4gICAgLnJpZ2h0X3NpZGVfZm9vdGVyIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgIC5sZWZ0X3NpZGVfZm9vdGVyIHsgd2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogMjBweDsgcGFkZGluZzogMDsgfVxyXG4gICAgLmZvb3Rlcl9uYXYgPiBsaSB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IHBhZGRpbmctYm90dG9tOiAxMHB4OyBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM5YTljYWI7IG1hcmdpbi1ib3R0b206IDEwcHg7IGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7IGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50OyBwYWRkaW5nOiAwIDAgMTBweCAwICFpbXBvcnRhbnQ7IH1cclxuICAgIC5mb290ZXJfc29jaWFsIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAwOyB9XHJcbiAgICAuZm9vdGVyX2xvZ28gaW1nIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgIGZvb3RlciAuY3JlZGl0IHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbiAgICAuZm9vdGVyX25hdiA+IGxpID4gdWwgPiBsaSB7IHBhZGRpbmc6IDA7IH1cclxuICAgIC5mb290ZXJfbmF2ID4gbGk6bnRoLWNoaWxkKDIpIHVsIGxpIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgIC5mb290ZXJfbG9nbyB7IHBhZGRpbmc6IDA7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1heC13aWR0aDogMTAwJTsgfVxyXG4gICAgICAgIC5mb290ZXJfbG9nbyBpbWcgeyBtYXgtd2lkdGg6IDQwMHB4OyB9XHJcbiAgICAuZm9vdGVyX25hdiA+IGxpOm50aC1jaGlsZCgxKTo6YWZ0ZXIsIC5mb290ZXJfbmF2ID4gbGk6bnRoLWNoaWxkKDEpOjpiZWZvcmUsIC5mb290ZXJfbmF2ID4gbGk6bnRoLWNoaWxkKDMpOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIC8qRW5kIEZvb3RlciovXHJcbiAgICAvKkluZGV4Ki9cclxuICAgICNlbEZpbHRlcnMgLm1haW5fc2VhcmNoIHsgdHJhbnNpdGlvbjogcGFkZGluZy10b3AgMC4yNXMgZWFzZS1pbi1vdXQsIHBhZGRpbmctYm90dG9tIDAuMjVzIGVhc2UtaW4tb3V0OyAtd2Via2l0LXRyYW5zaXRpb246IHBhZGRpbmctdG9wIDAuMjVzIGVhc2UtaW4tb3V0LCBwYWRkaW5nLWJvdHRvbSAwLjI1cyBlYXNlLWluLW91dDsgLW8tdHJhbnNpdGlvbjogcGFkZGluZy10b3AgMC4yNXMgZWFzZS1pbi1vdXQsIHBhZGRpbmctYm90dG9tIDAuMjVzIGVhc2UtaW4tb3V0OyAtbW96LXRyYW5zaXRpb246IHBhZGRpbmctdG9wIDAuMjVzIGVhc2UtaW4tb3V0LCBwYWRkaW5nLWJvdHRvbSAwLjI1cyBlYXNlLWluLW91dDsgfVxyXG4gICAgICAgICNlbEZpbHRlcnMgLm1haW5fc2VhcmNoIC5nZW5lcmFsX2Zvcm0gaDIgeyBjdXJzb3I6IHBvaW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1yaWdodDogMTdweDsgfVxyXG4gICAgICAgICAgICAjZWxGaWx0ZXJzIC5tYWluX3NlYXJjaCAuZ2VuZXJhbF9mb3JtIGgyOmJlZm9yZSB7IGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTsgZm9udC1zaXplOiBpbmhlcml0OyB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IGNvbnRlbnQ6IFwiXFxmMDU2XCI7IGZvbnQtc2l6ZTogMTRweDsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMDsgdG9wOiAwOyBib3R0b206IDA7IGhlaWdodDogMTRweDsgbWFyZ2luOiBhdXRvIDA7IH1cclxuICAgICNlbEZpbHRlcnMubWluaW1pemVkIC5tYWluX3NlYXJjaCAuZ2VuZXJhbF9mb3JtIHVsIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgI2VsRmlsdGVycy5taW5pbWl6ZWQgLm1haW5fc2VhcmNoIHsgcGFkZGluZzogN3B4IDEwcHg7IH1cclxuICAgICAgICAjZWxGaWx0ZXJzLm1pbmltaXplZCAubWFpbl9zZWFyY2ggLmdlbmVyYWxfZm9ybSBoMjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA1NVwiOyB9XHJcbiAgICAgICAgI2VsRmlsdGVycy5taW5pbWl6ZWQgLm1haW5fc2VhcmNoIC5nZW5lcmFsX2Zvcm0gZm9ybSB7IG1heC13aWR0aDogMTAwJTsgfVxyXG4gICAgI2VsRmlsdGVycy5taW5pbWl6ZWQgPiBkaXY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7IGhlaWdodDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG5cclxuICAgIC5wYXJ0cyB7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDExMnB4OyBwYWRkaW5nOiAwOyBtYXJnaW4tYm90dG9tOiAyMHB4OyBib3JkZXI6IDA7IH1cclxuICAgICAgICAucGFydHMgbGkgeyB3aWR0aDogMjUlOyBtYXJnaW4tbGVmdDogMDsgZmxvYXQ6IHJpZ2h0OyB9XHJcbiAgICAgICAgICAgIC5wYXJ0cyBsaTpudGgtY2hpbGQoNG4pIGE6YWZ0ZXIgeyBjb250ZW50OiBub25lOyB9XHJcbiAgICAgICAgICAgIC5wYXJ0cyBsaTpudGgtY2hpbGQobis5KSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgICAgICAgICAgLnBhcnRzIGxpIGEgLmltYWdlX2NvbnRpIHsgaGVpZ2h0OiAxMDBweDsgfVxyXG4gICAgICAgICAgICAucGFydHMgbGkgYSAuY2F0ZWdvcnlfbmFtZSB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XHJcbiAgICAuc2hvd19tb3JlX3BhcnRzLCAuc2hvd19mYXFfbW9iaWxlIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgIC5zaG93X2ZhcV9tb2JpbGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxyXG4gICAgICAgIC5zaG93X2ZhcV9tb2JpbGUgaSB7IGNvbG9yOiAjZmY2MDAwOyB9XHJcbiAgICAuZmFxIHsgZGlzcGxheTogbm9uZTsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMCAwIDEwcHggMDsgfVxyXG4gICAgLmZhcV9pbmlzZGVfcGFnZSAuZmFxIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgIC5mYXFfYnlDYXRlZ29yeSB7IHBhZGRpbmc6IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5nb190b19wYWdlIHsgYmFja2dyb3VuZC1jb2xvcjogIzM0MzY0MjsgZGlzcGxheTogYmxvY2s7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC13ZWlnaHQ6IDUwMDsgcGFkZGluZzogMTVweCAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBjb2xvcjogI2ZmZjsgd2lkdGg6IDEwMCU7IGZvbnQtc2l6ZTogMS4xZW07IH1cclxuXHJcbiAgICAub3Blbl9jb250YWN0X2Zvcm0gYXJ0aWNsZSB7IGZvbnQtc2l6ZTogMWVtOyB9XHJcblxyXG4gICAgLnRlc3RhbW9uaWFscyB7IHBhZGRpbmc6IDEwcHggMCAxNTdweCAwOyBmb250LXNpemU6IDAuOTVlbTsgfVxyXG4gICAgICAgIC50ZXN0YW1vbmlhbHMgPiB1bCA+IGxpIHsgd2lkdGg6IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcGFkZGluZzogMCAzMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAgICAgICAgIC50ZXN0YW1vbmlhbHMgPiB1bCA+IGxpOm5vdCg6bnRoLWNoaWxkKDEpKSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIC5uYXZfYnV0dG9ucyB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogNjAlOyB3aWR0aDogMTAwJTsgcmlnaHQ6IDA7IGxlZnQ6IDA7IG1hcmdpbjogMCBhdXRvOyB9XHJcblxyXG4gICAgLm91cl9jbGllbnRzIHVsIGxpIGEgaW1nIHsgd2lkdGg6IDgwJTsgfVxyXG5cclxuXHJcblxyXG4gICAgLm1haW5fY29udGVudCB7IG1hcmdpbi10b3A6IDA7IHBhZGRpbmc6IDAgMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgICAgIC5tYWluX2NvbnRlbnQgYXJ0aWNsZSB7IC8qbWFyZ2luLXRvcDogLTEwcHg7Ki8gcGFkZGluZzogMTVweDsgfVxyXG5cclxuICAgIC8qRW5kIEluZGV4Ki9cclxuICAgIC8qc2hvcCBieSBjYXRlZ29yeSovXHJcbiAgICAuaXRlbXNfY29udGkgPiBsaSAucmlnaHQzLCAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCAucmlnaHQzIHsgd2lkdGg6IDc1JTsgcGFkZGluZy1yaWdodDogMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4gICAgLml0ZW1zX2NvbnRpID4gbGkgLmxlZnQzLCAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCAubGVmdDMgeyB3aWR0aDogMTAwJTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbiAgICAuaXRlbXNfY29udGkgPiBsaSAucmlnaHQzIHNtYWxsLCAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCBzbWFsbCB7IG1hcmdpbi1ib3R0b206IDA7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG4gICAgLml0ZW1zX2NvbnRpID4gbGkgLm1vcmVfaW5mbyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG4gICAgLml0ZW1zX2NvbnRpID4gbGkgLml0ZW1fcHJpY2UgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgLml0ZW1zX2NvbnRpID4gbGkgLmxlZnQzIC5zZWxlY3RfY29udGksIC5pdGVtc19jb250aSA+IC5saSAuaXRlbV9sZWZ0IC5sZWZ0MyAuc2VsZWN0X2NvbnRpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmbG9hdDogbm9uZTsgfVxyXG4gICAgLyouaXRlbXNfY29udGkgPiBsaSAubGVmdDMgLmFkZF90b19jYXJ0LCAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCAubGVmdDMgLmFkZF90b19jYXJ0IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmbG9hdDogbm9uZTsgfSovXHJcbiAgICAuaXRlbXNfY29udGkgPiBsaSAubGVmdDMgPiBzbWFsbCwgLml0ZW1zX2NvbnRpID4gLmxpIC5pdGVtX2xlZnQgLmxlZnQzID4gc21hbGwgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuICAgIC5pdGVtc19jb250aSAuc29jaWFscyB7IGZsb2F0OiBub25lOyB9XHJcbiAgICAuaXRlbXNfY29udGkyID4gbGkgeyBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XHJcbiAgICAucmlnaHQyIHsgd2lkdGg6IDc1JTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLmxlZnQyIHsgd2lkdGg6IDI1JTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbiAgICAuY2VudGVyIHsgd2lkdGg6IDEwMCU7IHBhZGRpbmctdG9wOiAyMHB4OyB9XHJcbiAgICAgICAgLmNlbnRlci5mdWxsX3dpZHRoSW5uZXIgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XHJcbiAgICAuc2hvd19maWx0ZXJfbW9iaWxlIHsgZGlzcGxheTogYmxvY2s7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiAxLjllbTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLmZpbHRlciB7IHBhZGRpbmc6IDE1cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHdpZHRoOiBhdXRvOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwJTsgbWFyZ2luLXRvcDogMTBweDsgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgcmlnaHQ6IC0xMDAlOyBtYXJnaW4tcmlnaHQ6IC0xMXB4OyB6LWluZGV4OiAxMDsgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7IGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7IGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsMCwwLDAuMTYpOyB0cmFuc2l0aW9uOiBhbGwgMC4zMzNzIGVhc2UtaW4tb3V0OyAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMzM3MgZWFzZS1pbi1vdXQ7IC1vLXRyYW5zaXRpb246IGFsbCAwLjMzM3MgZWFzZS1pbi1vdXQ7IC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzMzcyBlYXNlLWluLW91dDsgfVxyXG4gICAgICAgIC5maWx0ZXIgPiBkaXYgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICAgIC5maWx0ZXIgI2VsRmlsdGVyU29ydCArIGRpdiB7IHBhZGRpbmc6IDA7IG1hcmdpbi10b3A6IDEwcHg7IG1heC13aWR0aDogMjU1cHg7IH1cclxuICAgICAgICAuZmlsdGVyICNlbEZpbHRlclNvcnQgdWwsIC5maWx0ZXIgI2VsRmlsdGVyU29ydCB1bCBsaSB7IH1cclxuXHJcbiAgICAucmFuZG9tX3Byb2R1Y3RzIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAucmFuZG9tX3Byb2R1Y3RzIGEgLnNxdWFyZSB7IG1heC13aWR0aDogMTAwcHg7IH1cclxuXHJcbiAgICAuc2hvcF9oZWFkbGluZSB7IG1heC13aWR0aDogMTAwJTsgfVxyXG4gICAgLyplbmQgc2hvcCBieSBjYXRlZ29yeSovXHJcblxyXG4gICAgLypnZW5lcmFsIGZvcm0qL1xyXG4gICAgLmdyYXlfc3Ryb2sgeyBwYWRkaW5nOiAxMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAvKmVuZCBnZW5lcmFsIGZvcm0qL1xyXG5cclxuICAgIC8qUHJvZHVjdCBQYWdlKi9cclxuICAgIC8qLml0ZW1zX2NvbnRpID4gLmxpIC5pdGVtX2xlZnQgeyB3aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogMjBweDsgcGFkZGluZzogMDsgfVxyXG4gICAgLml0ZW1zX2NvbnRpID4gLmxpIC5pbWFnZV9jb250aV9wcm9kdWN0X3BhZ2UgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgIC5pdGVtc19jb250aSA+IC5saSAuaW1hZ2VfY29udGlfcHJvZHVjdF9wYWdlID4gLmltYWdlX2NvbnRpIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgLml0ZW1zX2NvbnRpID4gLmxpIC5pbWFnZV9jb250aV9wcm9kdWN0X3BhZ2VfbmV3ID4gLmltYWdlX2NvbnRpIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxNTBweDsgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvOyB9XHJcblxyXG4gICAgLml0ZW1zX2NvbnRpID4gLmxpIC5pdGVtX2xlZnQgc3Ryb25nIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiAgICAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCAucHJvZHVjdF9wcmljZSB7IHRleHQtYWxpZ246IGNlbnRlcjsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgIC5pdGVtc19jb250aSA+IC5saSAubW9yZV9kZXRhaWxzX2NvbnRpIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9Ki9cclxuICAgIC5sZWZ0MyB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwOyBtYXJnaW4tdG9wOiAyMHB4OyB9XHJcbiAgICAvKi5wcm9kdWN0X2xvbmdfZGVzYyB7IHBhZGRpbmc6IDAgMjBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSovXHJcbiAgICAvKkVuZCBQcm9kdWN0IFBhZ2UqL1xyXG5cclxuICAgIC8qR2FsbGVyeSovXHJcbiAgICAuZ2FsY29sdW1uIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgcGFkZGluZzogMDsgfVxyXG4gICAgLypFbmQgR2FsbGVyeSovXHJcblxyXG4gICAgLypBbnRpcXVlQ2FycyovXHJcbiAgICAuYW50aXF1ZV9jYXJzX2NvbnRpID4gdWwgPiBsaSAubGVmdCB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAuYW50aXF1ZV9jYXJzX2NvbnRpID4gdWwgPiBsaSAucmlnaHQgeyB3aWR0aDogMTAwJTsgcGFkZGluZzogMjBweCAyMHB4IDgwcHggMjBweDs7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGhlaWdodDogMTAwJTsgfVxyXG5cclxuICAgIC5tZWduZWZ5R2xhc3MgeyBkaXNwbGF5OiBibG9jazsgZmxvYXQ6IGxlZnQ7IGNvbG9yOiAjZmZmOyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMCAxMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDEuNWVtOyB9XHJcbiAgICAuc2VhcmNoX2FudGlxdWVfY2hlY2tib3ggeyBwYWRkaW5nOiA1cHggMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLnNlYXJjaF9hbnRpcXVlIGZvcm0geyBkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogZml4ZWQ7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTEsIDg4LCAxNDQsIDAuOCk7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHRvcDogMDsgei1pbmRleDogOTAwOyBwYWRkaW5nOiA4MHB4IDIwcHggMjBweCAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAgICAgLnNlYXJjaF9hbnRpcXVlIGZvcm0gdWwgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogNTAwcHg7IG1hcmdpbjogMCBhdXRvOyB9XHJcbiAgICAgICAgICAgIC5zZWFyY2hfYW50aXF1ZSBmb3JtIHVsIGxpIHsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuICAgICAgICAgICAgICAgIC5zZWFyY2hfYW50aXF1ZSBmb3JtIHVsIGxpIGxhYmVsIHsgd2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogMS4yZW07IH1cclxuICAgICAgICAgICAgICAgIC5zZWFyY2hfYW50aXF1ZSBmb3JtIHVsIGxpIGlucHV0IHsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgICAgICAgIC5zZWFyY2hfYW50aXF1ZSBmb3JtIHVsIGxpIGJ1dHRvbiB7IHdpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdjYjNkICFpbXBvcnRhbnQ7IH1cclxuICAgIC8qRW5kIEFudGlxdWVDYXJzKi9cclxuICAgIC5jYXRlZ29yaWVzX2NvbnRpX3Nob3BfaW5fbW9iaWxlIGxpIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxyXG4gICAgLmxlZnRfbW9iaWxlX2Z1bGwsIC5yaWdodF9tb2JpbGVfZnVsbCB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDIwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJvcmRlci1sZWZ0OiAwOyB9XHJcbiAgICAgICAgLnJpZ2h0X21vYmlsZV9mdWxsIGltZyB7IG1heC13aWR0aDogMzQwcHg7IG1hcmdpbjogMCBhdXRvOyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgLyouZ2FsbGVyeV9saW5rcyB7IHBhZGRpbmc6IDAgMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSovXHJcbiAgICAuYmxvZ19tYWluX2NvbnRpIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgcGFkZGluZzogMDsgfVxyXG4gICAgLmJsb2dfY29udGlfcGFnZSB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nLWxlZnQ6IDA7IGJvcmRlci1sZWZ0OiAwOyBtYXJnaW4tdG9wOiAyMHB4OyB9XHJcbiAgICAgICAgLmJsb2dfY29udGlfcGFnZSBwID4gaW1nIHsgbWF4LXdpZHRoOiA1MDBweDsgfVxyXG4gICAgICAgIC5ibG9nX2NvbnRpX3BhZ2UgbGkgLmltYWdlX2NvbnRpIGltZyB7IG1heC1oZWlnaHQ6IDQwMHB4OyB9XHJcbiAgICAgICAgLmJsb2dfY29udGlfcGFnZSArIC5xQ29sdW1uIHsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDA7IG1hcmdpbjogMTVweCAwOyB9XHJcbiAgICAgICAgICAgIC5ibG9nX2NvbnRpX3BhZ2UgKyAucUNvbHVtbiAuZGF0ZV9vZl9wdWJsaXNoID4gcCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG4gICAgICAgICAgICAuYmxvZ19jb250aV9wYWdlICsgLnFDb2x1bW4gLm5ld3NsdGVyX2Zvcm0gaDIgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6MTA4MHB4KSB7XHJcblxyXG4gICAgLnNob3dfc2VhcmNoX2Zvcm0geyBmb250LXdlaWdodDogNTAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDEycHggMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgYW5pbWF0aW9uOiBib3VuY2UgMC44cyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGUgZm9yd2FyZHMgMnM7IC13ZWJraXQtYW5pbWF0aW9uOiBib3VuY2UgMC44cyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGUgZm9yd2FyZHMgMnM7IHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyBmb250LXNpemU6IDE1cHg7IGJhY2tncm91bmQtY29sb3I6ICMwYjU4OTA7IGNvbG9yOiAjZmZmOyB9XHJcbiAgICAuc2VhcmNoX2NvbnRpIC5nZW5lcmFsX2Zvcm0gLnNob3dfc2VhcmNoX2Zvcm0geyBkaXNwbGF5OiBub25lOyB9XHJcbiAgICAuc2hvd19zZWFyY2hfZm9ybSBpIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuICAgIC5zZWFyY2hfY29udGkgLmdlbmVyYWxfZm9ybSB7IGRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiBzdGF0aWM7IHdpZHRoOiAxMDAlOyBib3JkZXItcmFkaXVzOiAwOyBwYWRkaW5nLXRvcDogMTBweDsgfVxyXG4gICAgICAgIC5zZWFyY2hfY29udGkgLmdlbmVyYWxfZm9ybSBwIGJyIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgLyojbWFpbl9zZWFyY2hfZm9ybSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgICAgICAjbWFpbl9zZWFyY2hfZm9ybSBoMiB7IGRpc3BsYXk6IG5vbmU7IH0qL1xyXG4gICAgLmJsYWNrX3N0cm9rIHsgcGFkZGluZzogMDsgfVxyXG4gICAgLm1haW5fc2VhcmNoIHsgcGFkZGluZzogMTVweDsgfVxyXG4gICAgICAgIC5tYWluX3NlYXJjaCAuZ2VuZXJhbF9mb3JtIGgyIHsgLypmb250LXNpemU6IDE4cHg7Ki8gdmVydGljYWwtYWxpZ246IHRvcDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgIC5tYWluX3NlYXJjaCAuZ2VuZXJhbF9mb3JtIGgyLCAubWFpbl9zZWFyY2ggLmdlbmVyYWxfZm9ybSB1bCB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgLm1haW5fc2VhcmNoIC5nZW5lcmFsX2Zvcm0gdWwgeyB6b29tOiAxOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XHJcbiAgICAgICAgICAgIC5tYWluX3NlYXJjaCAuZ2VuZXJhbF9mb3JtIHVsOmJlZm9yZSxcclxuICAgICAgICAgICAgLm1haW5fc2VhcmNoIC5nZW5lcmFsX2Zvcm0gdWw6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyBkaXNwbGF5OiB0YWJsZTsgfVxyXG4gICAgICAgICAgICAubWFpbl9zZWFyY2ggLmdlbmVyYWxfZm9ybSB1bDphZnRlciB7IGNsZWFyOiBib3RoOyB9XHJcbiAgICAgICAgICAgIC5tYWluX3NlYXJjaCAuZ2VuZXJhbF9mb3JtIHVsIGxpIHsgZGlzcGxheTogYmxvY2s7IGZsb2F0OiByaWdodDsgd2lkdGg6IDUwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgICAgICAgICAgLm1haW5fc2VhcmNoIC5nZW5lcmFsX2Zvcm0gdWwgbGk6bnRoLWNoaWxkKDJuICsgMSkgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XHJcbiAgICAgICAgICAgICAgICAubWFpbl9zZWFyY2ggLmdlbmVyYWxfZm9ybSB1bCBsaS5sYXN0X2NoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgICAgICAgICAgICAubWFpbl9zZWFyY2ggLmdlbmVyYWxfZm9ybSB1bCBsaS5sYXN0X2NoaWxkID4gYnV0dG9uIHsgcGFkZGluZy1sZWZ0OiAxM3B4OyB9XHJcbiAgICAgICAgICAgICAgICAubWFpbl9zZWFyY2ggLmdlbmVyYWxfZm9ybSB1bCBsaS5jbGVhcl9mb3JtIHsgdGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDogYXV0bzsgLypsaW5lLWhlaWdodDogMzNweDsqLyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyBmbG9hdDogbm9uZTsgfVxyXG4gICAgLyoubWFpbl9zZWFyY2ggLmdlbmVyYWxfZm9ybSB1bCBsaS5jbGVhcl9mb3JtID4gYSB7IGJhY2tncm91bmQtY29sb3I6ICNkMGQwZDA7IGJvcmRlci1yYWRpdXM6IDVweDsgY29sb3I6ICMzNDM2NDI7IGZvbnQtc2l6ZTogMTVweDsgb3BhY2l0eTogMC41OyB9Ki9cclxuICAgIC8qLm1haW5fc2VhcmNoIC5nZW5lcmFsX2Zvcm0gdWwgbGkuY2xlYXJfZm9ybSA+IGEuYWN0aXZlIHsgb3BhY2l0eTogMTsgfSovXHJcbiAgICAjZWxGaWx0ZXJzLm1pbmltaXplZCAubWFpbl9zZWFyY2ggLmdlbmVyYWxfZm9ybSBoMiB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuXHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcclxuICAgICAgICAwJSB7IGNvbG9yOiAjMDBiYmY2OyB9XHJcbiAgICAgICAgMTAwJSB7IGNvbG9yOiAjZmZmOyB9XHJcbiAgICB9XHJcblxyXG4gICAgQGtleWZyYW1lcyBib3VuY2Uge1xyXG4gICAgICAgIDAlIHsgY29sb3I6ICMwMGJiZjY7IH1cclxuICAgICAgICAxMDAlIHsgY29sb3I6ICNmZmY7IH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTUwcHgpIHtcclxuICAgIC8qIFNMSURFU0hPVyAqL1xyXG4gICAgLnNsaWRlX3Nob3cgPiB1bCA+IGxpID4gYSA+IGRpdiA+IGRpdiBoMiB7IGZvbnQtc2l6ZTogNDBweDsgfVxyXG4gICAgLnNsaWRlX3Nob3cgPiB1bCA+IGxpID4gYSA+IGRpdiA+IGRpdiBhcnRpY2xlIHsgZm9udC1zaXplOiAyNHB4OyB9XHJcbiAgICAuc2xpZGVfc2hvdyA+IHVsID4gbGkgPiBhID4gZGl2ID4gZGl2IGRpdiBzcGFuIHsgZm9udC1zaXplOiAxOHB4OyBwYWRkaW5nOiA3cHggMTVweDsgfVxyXG4gICAgLyogRU5EIFNMSURFU0hPVyAqL1xyXG5cclxuICAgIC5sb2dvIHsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAucmlnaHQ1LCAubGVmdDUgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgLmxvZ2luX2Zvcm1fY29udGkgeyBwYWRkaW5nOiA0MHB4IDAgMCAwOyB9XHJcbiAgICAudG9wX2hlYWRlciB7IHBhZGRpbmc6IDEwcHggMjBweCAyMHB4IDIwcHg7IH1cclxuXHJcbiAgICAucHJvZHVjdF9hbmRfYnJhbmRzLCAucHJvZHVjdF9hbmRfYnJhbmRzID4gZGl2IHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgICAgICAucHJvZHVjdF9hbmRfYnJhbmRzID4gZGl2OmZpcnN0LWNoaWxkIHsgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7IH1cclxuICAgICAgICAucHJvZHVjdF9hbmRfYnJhbmRzIC5icmFuZHMgeyB3aWR0aDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgcGFkZGluZzogMCAxN3B4IDcuNXB4IDE3cHg7IGJvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4OyB9XHJcbiAgICAgICAgICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLmJyYW5kcyA+IGRpdiB7IG92ZXJmbG93OiBhdXRvOyB9XHJcbiAgICAgICAgICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLmJyYW5kcyBoMiB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgICAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAuYnJhbmRzIHVsIHsgcG9zaXRpb246IHN0YXRpYzsgZGlzcGxheTogdGFibGU7IHRhYmxlLWxheW91dDogZml4ZWQ7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAgICAgICAgICAgICAucHJvZHVjdF9hbmRfYnJhbmRzIC5icmFuZHMgdWwgbGkgeyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB3aWR0aDogMjAwcHg7IHBhZGRpbmc6IDE1cHggMCA3LjVweCAwOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAuYnJhbmRzIHVsIGxpICsgbGkgeyBtYXJnaW46IDA7IHBhZGRpbmctcmlnaHQ6IDdweDsgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLmJyYW5kcyB1bCBsaSBhOmFmdGVyIHsgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLWJvdHRvbTogMCBzb2xpZCAjZmZmOyB0b3A6IGluaXRpYWw7IGxlZnQ6IDA7IHJpZ2h0OiA1MCU7IGJvdHRvbTogMTAwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDApOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTsgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbS13aWR0aCAwLjE1cyBsaW5lYXIsIGJvcmRlci1ib3R0b20tY29sb3IgMC4xNXMgbGluZWFyOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAuYnJhbmRzIHVsIGxpIGEuYWN0aXZlOmFmdGVyIHsgYm9yZGVyLWJvdHRvbS13aWR0aDogMTBweDsgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzFjNTk4ZjsgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcbiAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAucHJvZHVjdF9pdGVtIC5pbWFnZV9jb250aSB7IHdpZHRoOiAyMCU7IH1cclxuICAgICAgICAucHJvZHVjdF9hbmRfYnJhbmRzIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfcHJpY2VfY29udGkgPiBkaXYgPiA6Zmlyc3QtY2hpbGQgeyB3aWR0aDogNTBweDsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLnByb2R1Y3RfaXRlbSAucHJvZHVjdF9wcmljZV9jb250aSA+IGRpdiA+IC5wcm9kdWN0X3ByaWNlIHsgZm9udC1zaXplOiAxNnB4OyB9XHJcbiAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpID4gZGl2ID4gLnNvY2lhbHMgPiB1bCA+IGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cclxuICAgICAgICAucHJvZHVjdF9hbmRfYnJhbmRzIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfcHJpY2VfY29udGkgLnFTZWxlY3QgLnFTZWxlY3Rfb3ZlcmxheSB7IHBhZGRpbmc6IDVweCA4cHg7IH1cclxuICAgICAgICAgICAgLnByb2R1Y3RfYW5kX2JyYW5kcyAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpIC5xU2VsZWN0IC5xU2VsZWN0X292ZXJsYXkgc3BhbiB7IGZvbnQtc2l6ZTogMTJweDsgfVxyXG4gICAgICAgICAgICAucHJvZHVjdF9hbmRfYnJhbmRzIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfcHJpY2VfY29udGkgLnFTZWxlY3QgLnFTZWxlY3Rfb3ZlcmxheSBpIHsgZm9udC1zaXplOiAxNnB4OyB3aWR0aDogOXB4OyBwYWRkaW5nLXRvcDogMDsgfVxyXG4gICAgLnJlY3RhbmdsZV9jb250aSA+IGxpIHsgd2lkdGg6IDMzLjMzJTsgfVxyXG4gICAgLm90aGVyX3Byb2R1Y3RzIC5yZWN0YW5nbGVfY29udGkgPiBsaSB7IHdpZHRoOiAyNSU7IH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDo4MzBweCkge1xyXG4gICAgLypEaXNhc3NlbWJseSovXHJcbiAgICAuZGlzYXNzZW1ibHlfbWFpbl9iYW5uZXIgaDEgeyBmb250LXNpemU6IDNlbTsgcGFkZGluZzogMyUgMTAlIDAgMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLmRpc2Fzc2VtYmx5X21haW5fYmFubmVyX3RydWNrIGgxIHsgd2lkdGg6IDQwMHB4OyBwYWRkaW5nOiAxJSAwIDAgMDsgfVxyXG4gICAgLypFbmQgRGlzYXNzZW1ibHkqL1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOjc2OHB4KSB7XHJcbiAgICAvKiBTTElERVNIT1cgKi9cclxuICAgIC5zbGlkZV9zaG93ID4gdWwgPiBsaSA+IGEgPiBkaXYgPiBkaXYgaDIgeyBmb250LXNpemU6IDMzcHg7IH1cclxuICAgIC5zbGlkZV9zaG93ID4gdWwgPiBsaSA+IGEgPiBkaXYgPiBkaXYgYXJ0aWNsZSB7IGZvbnQtc2l6ZTogMjBweDsgfVxyXG4gICAgLyogRU5EIFNMSURFU0hPVyAqL1xyXG5cclxuICAgIC5zZXJ2aWNlcyB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgICAgICAuc2VydmljZXMgdWwgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG4gICAgICAgICAgICAuc2VydmljZXMgdWwgbGkgeyB3aWR0aDogMTAwJTsgcG9zaXRpb246IHJlbGF0aXZlOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDBkMDsgfVxyXG4gICAgICAgICAgICAgICAgLnNlcnZpY2VzIHVsIGxpIGEgLmltYWdlX2NvbnRpIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogNTNweDsgcGFkZGluZzogMTBweCAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgcmlnaHQ6IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gICAgICAgICAgICAgICAgLnNlcnZpY2VzIHVsIGxpIGEgLnRleHQgeyBmbG9hdDogcmlnaHQ7IHdpZHRoOiA4MCU7IHRleHQtYWxpZ246IHJpZ2h0OyB3aWR0aDogMTAwJTsgcGFkZGluZy1yaWdodDogNjVweDsgfVxyXG4gICAgICAgICAgICAgICAgLnNlcnZpY2VzIHVsIGxpIGEgLmltYWdlX2NvbnRpIGltZyB7IG1hcmdpbjogMCBhdXRvOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cclxuICAgIC5zaG93X3NlcnZpY2VzX21vYmlsZSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAuc2VydmljZXMgdWwgbGkgPiBkaXYgLmltYWdlX2NvbnRpIHsgd2lkdGg6IDgwcHg7IH1cclxuICAgIC5zZXJ2aWNlcyB1bCBsaSA+IGRpdiAudGV4dCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcblxyXG4gICAgLmV4dHJhX2RldGFpbHNfY29udGkgPiBsaSA+IGRpdiB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgLmV4dHJhX2RldGFpbHNfY29udGkgPiBsaSA+IGRpdiA+IC5leHRyYV9kZXRhaWxzX2J1dHRvbnNfY29udGkgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogNXB4OyBtYXJnaW4tbGVmdDogLTVweDsgcGFkZGluZy1sZWZ0OiAwOyB9XHJcbiAgICAgICAgICAgIC5leHRyYV9kZXRhaWxzX2NvbnRpID4gbGkgPiBkaXYgPiAuZXh0cmFfZGV0YWlsc19idXR0b25zX2NvbnRpID4gdWwgeyBkaXNwbGF5OiB0YWJsZTsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAgICAgICAgIC5leHRyYV9kZXRhaWxzX2NvbnRpID4gbGkgPiBkaXYgPiAuZXh0cmFfZGV0YWlsc19idXR0b25zX2NvbnRpID4gdWwgPiBsaSB7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IHdpZHRoOiA1MCU7IHBhZGRpbmctbGVmdDogNXB4OyB9XHJcbiAgICAgICAgLmV4dHJhX2RldGFpbHNfY29udGkgPiBsaSA+IGRpdiA+IDpsYXN0LWNoaWxkIHsgZGlzcGxheTogYmxvY2s7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5vdGhlcl9wcm9kdWN0cyAucmVjdGFuZ2xlX2NvbnRpID4gbGkgeyB3aWR0aDogMzMuMzMzJTsgfVxyXG5cclxuXHJcbiAgICAuYmxvZ19jb250aSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgICAgIC8qLmJsb2dfY29udGkgdWwgeyB3aWR0aDogMTAwJTsgcGFkZGluZzogMCAzMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9Ki9cclxuICAgICAgICAuYmxvZ19jb250aSB1bCBsaSB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyp0ZXh0LWFsaWduOiBjZW50ZXI7Ki8gZmxvYXQ6IG5vbmU7IH1cclxuICAgICAgICAgICAgLmJsb2dfY29udGkgdWwgbGkgKyBsaSB7IG1hcmdpbi10b3A6IDE1cHg7IH1cclxuXHJcbiAgICAgICAgICAgIC5ibG9nX2NvbnRpIHVsIGxpIGEgeyBwYWRkaW5nOiAxNXB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAgICAgICAgICAgICAvKi5ibG9nX2NvbnRpIHVsIGxpIGEgYXJ0aWNsZSB7IHBhZGRpbmc6IDAgMjBweDsgfSovXHJcbiAgICAgICAgICAgICAgICAuYmxvZ19jb250aSB1bCBsaSBhIC5pbWFnZV9jb250aTphZnRlciB7IC8qY29udGVudDogbm9uZTsqLyB9XHJcbiAgICAvKi5ibG9nX2NvbnRpIHVsIGxpOm5vdCguYWN0aXZlKSB7IGRpc3BsYXk6IG5vbmU7IH0qL1xyXG4gICAgLyouYmxvZ19jb250aSB1bCBsaSArIGxpIHsgbWFyZ2luLXRvcDogMTBweDsgfSovXHJcbiAgICAvKi5ibG9nX2NvbnRpIHVsIGxpIGEgLmltYWdlX2NvbnRpIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgbWF4LWhlaWdodDogMjAwcHg7IH1cclxuICAgICAgICAgICAgICAgIC5ibG9nX2NvbnRpIHVsIGxpIGEgLmltYWdlX2NvbnRpLCAuYmxvZ19jb250aSB1bCBsaSBhIGFydGljbGUgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBwYWRkaW5nOiAwOyB9XHJcbiAgICAgICAgICAgICAgICAuYmxvZ19jb250aSB1bCBsaSBhIC5pbWFnZV9jb250aSB7IGhlaWdodDogMjAwcHg7IH1cclxuICAgICAgICAgICAgICAgIC5ibG9nX2NvbnRpIHVsIGxpIGEgLmFycm93X2xlZnRfY29udGkgeyBkaXNwbGF5OiBub25lOyB9Ki9cclxuICAgIC5nYWxsZXJ5X2xpbmtzIGxpIHsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMCAwIDE4cHggMDsgfVxyXG5cclxuICAgICNlbFNpdGVNYXAgLmNvbHVtbnMgPiAuY29sdW1uLCAjZWxTaXRlTWFwIHVsLmNvbHVtbnMgPiBsaSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAjZWxTaXRlTWFwIGFydGljbGUgdWwgPiBsaSA+IHVsLmNvbHVtbnMgPiBsaTpmaXJzdC1jaGlsZCB7IHdpZHRoOiAxMDAlOyB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6NjUwcHgpIHtcclxuICAgIC8qbmV3IHNob3AqL1xyXG4gICAgLyouaW1hZ2VfY29udGlfbmV3X3Nob3AgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyBtYXJnaW46IDAgYXV0bzsgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7IH0qL1xyXG4gICAgLyoucHJvZHVjdF9hbGxfZGV0YWlscyB7IHdpZHRoOiAxMDAlOyBmbG9hdDogcmlnaHQ7IHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG92ZXJmbG93OiBoaWRkZW47IH0qL1xyXG4gICAgLnByb2R1Y3RfYWxsX2RldGFpbHMgaDIgeyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogIzBiNTg5MDsgfVxyXG4gICAgLm1hbnVmYWN0dXJlcl9jb250aSB7IG1hcmdpbi1ib3R0b206IDVweDsgfVxyXG4gICAgLml0ZW1fY2F0ZWxvZyB7IGNvbG9yOiAjYTJhMmEyOyBmb250LXNpemU6IDAuOWVtOyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgLnByb2R1Y3RfYWxsX2RldGFpbHNfcmlnaHQgeyBmbG9hdDogcmlnaHQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuICAgICAgICAucHJvZHVjdF9hbGxfZGV0YWlsc19yaWdodCBhIHsgYm90dG9tOiAtMTE1cHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxyXG4gICAgLnByb2R1Y3RfYWxsX2RldGFpbHNfbGVmdCB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2FsbF9kZXRhaWxzX2xlZnQgLnNlbGVjdF9jb250aSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZmxvYXQ6IGxlZnQ7IH1cclxuICAgICAgICAgICAgLnByb2R1Y3RfYWxsX2RldGFpbHNfbGVmdCAuc2VsZWN0X2NvbnRpIHNlbGVjdCB7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkICNhMmEyYTI7IH1cclxuICAgICAgICAucHJvZHVjdF9hbGxfZGV0YWlsc19sZWZ0IC5hZGRfdG9fY2FydCB7IGNvbG9yOiAjZmZmOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZmxvYXQ6IGxlZnQ7IG1hcmdpbi1yaWdodDogMTBweDsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2FsbF9kZXRhaWxzX2xlZnQgc21hbGwgeyBjb2xvcjogI2EyYTJhMjsgZm9udC1zaXplOiAwLjg1ZW07IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nLXRvcDogMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgdGV4dC1hbGlnbjogbGVmdDsgb3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgICAucHJvZHVjdF9hbGxfZGV0YWlsc19sZWZ0IC5tb3JlX2RldGFpbHNfY29udGkgeyB3aWR0aDogNTAlOyBmbG9hdDogbGVmdDsgfVxyXG4gICAgICAgICAgICAucHJvZHVjdF9hbGxfZGV0YWlsc19sZWZ0IC5tb3JlX2RldGFpbHNfY29udGkgLnNvY2lhbHMgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XHJcbiAgICAvKm5ldyBzaG9wKi9cclxuXHJcbiAgICAvKlByb2R1Y3QgSW5uZXIgUGFnZSovXHJcbiAgICAucHJvZHVjdF9pbm5lcl9wYWdlX2NvbnRpIHsgZm9udC1zaXplOiAwLjdlbTsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgPiAuaXRlbV9sZWZ0ID4gLnByb2R1Y3RfbmV3X2xlZnQgeyBwYWRkaW5nOiAwOyB9XHJcbiAgICAgICAgLnByb2R1Y3RfaW5uZXJfcGFnZV9jb250aSAuYW1vdW50X2FuZF9idXR0b25fY29udGkgeyBtYXJnaW46IDEwcHggMDsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2lubmVyX3BhZ2VfY29udGkgPiAuaXRlbV9sZWZ0ID4gLnByb2R1Y3RfbmV3X2xlZnQgLnByb2R1Y3RfcHJpY2UgeyBwYWRkaW5nLXRvcDogMTBweDsgZm9udC1zaXplOiAxZW07IH1cclxuICAgICAgICAucHJvZHVjdF9pbm5lcl9wYWdlX2NvbnRpID4gLnByb2R1Y3RfaW1hZ2VfY29udGkgeyB3aWR0aDogMTAwcHg7IH1cclxuICAgICAgICAucHJvZHVjdF9pbm5lcl9wYWdlX2NvbnRpID4gLml0ZW1fbGVmdCB7IHBhZGRpbmctcmlnaHQ6IDExMHB4OyB9XHJcbiAgICAgICAgLnByb2R1Y3RfaW5uZXJfcGFnZV9jb250aSAubGlrZV9zZWxlY3QgaSB7IHRvcDogNXB4OyB9XHJcbiAgICAgICAgLnByb2R1Y3RfaW5uZXJfcGFnZV9jb250aSAuYW1vdW50X2FuZF9idXR0b25fY29udGkgLnNlbGVjdF9jb250aSB7IHdpZHRoOiA0NXB4OyB9XHJcblxyXG4gICAgLml0ZW1zX2NvbnRpID4gbGkgLml0ZW1fbGVmdCwgLml0ZW1zX2NvbnRpID4gLmxpIC5pdGVtX2xlZnQgeyBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxyXG4gICAgLypFbmQgUHJvZHVjdCBJbm5lciBQYWdlKi9cclxuXHJcbiAgICAudGhlbWUtYmFyLnNsaWRlci13cmFwcGVyIHsgYm9yZGVyLXJhZGl1czogMDsgYm9yZGVyOiBub25lOyB9XHJcbiAgICAucGFydF9jYXRlZ29yaWVzIHsgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxyXG5cclxuICAgIC5yZWN0YW5nbGVfY29udGkgPiBsaSB7IHdpZHRoOiA1MCU7IH1cclxuICAgIC5wcm9kdWN0X2l0ZW0gLmltYWdlX2NvbnRpLCAucHJvZHVjdF9hbmRfYnJhbmRzIC5wcm9kdWN0X2l0ZW0gLmltYWdlX2NvbnRpIHsgd2lkdGg6IDMwJTsgfVxyXG4gICAgLnByb2R1Y3RfcHJpY2VfYW5kX2RldGFpbHMgeyB3aWR0aDogNzAlOyB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICAgIC5zY3JvbGxfdXAgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgLndoYXRzYXBwIHsgZGlzcGxheTogYmxvY2s7IH1cclxuXHJcblxyXG4gICAgLnRvcF9oZWFkZXIgLmxpbmtzIHsgbGVmdDogMTVweDsgfVxyXG5cclxuICAgIC8qLnRvcF9oZWFkZXIgLmxpbmtzIGxpIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDMycHg7IH0qL1xyXG5cclxuICAgIC5zb29uX2xvZ29fZ2VhciB7IHdpZHRoOiAyOTBweDsgbWFyZ2luOiAwIGF1dG8gMjBweCBhdXRvOyBoZWlnaHQ6IDE1N3B4OyB9XHJcbiAgICAgICAgLnNvb25fbG9nb19nZWFyIGltZyB7IHdpZHRoOiAyOTBweDsgfVxyXG4gICAgICAgIC5zb29uX2xvZ29fZ2VhciAuZ2VhciB7IHdpZHRoOiAxMzBweDsgbGVmdDogMTMwcHg7IHRvcDogMTJweDsgfVxyXG4gICAgICAgIC5zb29uX2xvZ29fZ2VhciAuc29vbl9jYXJ0IHsgd2lkdGg6IDc1cHg7IGxlZnQ6IDExN3B4OyB0b3A6IDQycHg7IH1cclxuXHJcbiAgICBoMSB7IGZvbnQtc2l6ZTogMS4yZW07IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuXHJcbiAgICAucmFuZG9tX3Byb2R1Y3RzIHsgd2lkdGg6IDEwMCU7IGJvcmRlci1sZWZ0OiBub25lOyB9XHJcbiAgICAubW9kZWxzMiB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuICAgIC5tb2RlbHMgdWwgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMDsgfVxyXG4gICAgLm1vZGVscyA+IHVsID4gbGkgeyB3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDAgMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuICAgICAgICAubW9kZWxzID4gdWwgPiBsaSB1bCB7IGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzMzMzsgfVxyXG5cclxuICAgIC5wcm9kdWN0X25ld19yaWdodCB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDEwMCU7IH1cclxuICAgIC5wcm9kdWN0X25ld19sZWZ0IHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAuaXRlbXNfY29udGkgPiAubGkgLml0ZW1fbGVmdCAucHJvZHVjdF9uZXdfbGVmdCAubGVmdDMgeyB3aWR0aDogMTAwJTsgfVxyXG5cclxuICAgIC5pdGVtc19jb250aSA+IGxpIC5tb3JlX2luZm8geyBib3R0b206IC0xNDZweDsgfVxyXG4gICAgLm1vcmVfYmxvZ3NfY29udGkgdWwgbGkgeyB3aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG5cclxuICAgIC5zZXJ2aWNlIHsgcGFkZGluZzogMDsgfVxyXG4gICAgLnNlcnZpY2VfZm9ybSAuc2hvcnRfbGlfY29udGkgeyB3aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgICAgIC5zZXJ2aWNlX2Zvcm0gLnNob3J0X2xpX2NvbnRpIGxpIHsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuXHJcbiAgICAubG9naW5fZm9ybSAuZnVsbF93aWR0aF9saV90aGlyZCB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAuZ2VuZXJhbF9yZWdfZm9ybSB1bCBsaSB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuICAgIC5nZW5lcmFsX3JlZ19mb3JtIC5zaG9ydF9saV9jb250aSB7IHdpZHRoOiAxMDAlOyB9XHJcblxyXG4gICAgLyouZ2VuZXJhbF9zZWFyY2ggYnV0dG9uIHsgd2lkdGg6IDM1cHg7IGhlaWdodDogMzVweDsgfVxyXG4gICAgICAgIC5nZW5lcmFsX3NlYXJjaCBidXR0b24gaW1nIHsgd2lkdGg6IDIwcHg7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH0qL1xyXG5cclxuXHJcbiAgICAucmVhZF9tb3JlX2Fib3V0IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiAgICAubWFpbl9jb250ZW50IGFydGljbGUgaDEgeyBmb250LXNpemU6IDIwcHg7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuICAgIC5tYWluX2NvbnRlbnQgYXJ0aWNsZSBoMiB7IGZvbnQtc2l6ZTogMTdweDsgfVxyXG4gICAgLm1haW5fY29udGVudCBhcnRpY2xlIHAgeyBtYXgtaGVpZ2h0OiAzM3B4OyBvdmVyZmxvdzogaGlkZGVuOyB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7IC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0OyAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7IC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0OyBmb250LXNpemU6IDE0cHg7IH1cclxuICAgICAgICAubWFpbl9jb250ZW50IGFydGljbGUgcCBiciB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgICAgICAubWFpbl9jb250ZW50IGFydGljbGUgcC5oZWlnaHQgeyBtYXgtaGVpZ2h0OiAxMDAwcHg7IH1cclxuXHJcbiAgICAuc2hvcF9oZWFkbGluZSAuY2hvb3NlX2xpc3Rfc2hvdyB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbiAgICAvKnByb2R1Y3QgcGFydGlhbCovXHJcbiAgICAucHJvZHVjdF9pdGVtIHsgLypmb250LXNpemU6IDAuOGVtOyovIHBhZGRpbmc6IDE1cHg7IH1cclxuICAgICAgICAucHJvZHVjdF9pdGVtIC5pbWFnZV9jb250aSB7IHBhZGRpbmctbGVmdDogMTVweDsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfcHJpY2VfYW5kX2RldGFpbHMgeyBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XHJcbiAgICAgICAgLnByb2R1Y3RfaXRlbSAucHJvZHVjdF9wcmljZV9jb250aSA+IGRpdiAucHJvZHVjdF9wcmljZSwgLnByb2R1Y3RfYW5kX2JyYW5kcyAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpID4gZGl2ID4gLnByb2R1Y3RfcHJpY2UgeyBmb250LXNpemU6IDFlbTsgbGluZS1oZWlnaHQ6IDE1cHg7IH1cclxuICAgICAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpID4gZGl2IC5zZWxlY3RfY29udGkgeyB3aWR0aDogNDBweDsgfVxyXG4gICAgICAgICAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpID4gZGl2IC5zZWxlY3RfY29udGkgLmxpa2Vfc2VsZWN0IHsgcGFkZGluZzogNXB4OyB9XHJcbiAgICAgICAgICAgICAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpID4gZGl2IC5zZWxlY3RfY29udGkgLmxpa2Vfc2VsZWN0IGkgeyB0b3A6IDJweDsgfVxyXG4gICAgICAgICAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpID4gZGl2IC5zZWxlY3RfY29udGkgc2VsZWN0IHsgaGVpZ2h0OiAyNnB4OyB9XHJcbiAgICAgICAgLnByb2R1Y3RfaXRlbSAuc29jaWFscyB7IC8qcGFkZGluZy10b3A6IDZweDsqLyB9XHJcbiAgICAvKmVuZCBwcm9kdWN0IHBhcnRpYWwqL1xyXG5cclxuICAgIC8qQXJ0Ki9cclxuICAgIC5hcnRfZ2FsbGVyeV9jb250aSB7IHBhZGRpbmc6IDAgMTBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgICAgIC5hcnRfZ2FsbGVyeV9jb250aSA+IHVsID4gbGkuaXRlbSB7IG1hcmdpbjogMCAwIDIwcHggMDsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDA7IGJvcmRlcjogbm9uZTsgZm9udC1zaXplOiAwLjhlbTsgfVxyXG4gICAgICAgIC5hcnRfZ2FsbGVyeV9jb250aSA+IHVsID4gbGkgKyBsaS5pdGVtIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhMmEyYTI7IHBhZGRpbmctdG9wOiAyMHB4OyB9XHJcbiAgICAgICAgLmFydF9nYWxsZXJ5X2NvbnRpID4gdWwgPiBsaSA+IGEgeyB3aWR0aDogMzUlOyBmbG9hdDogcmlnaHQ7IHBhZGRpbmctYm90dG9tOiAzMCU7IH1cclxuICAgICAgICAuYXJ0X2dhbGxlcnlfY29udGkgPiB1bCA+IGxpID4gLmltYWdlX3Nob3J0X2Rlc2NfY29udGkgeyB3aWR0aDogNjAlOyBmbG9hdDogbGVmdDsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cclxuICAgICAgICAuYXJ0X2dhbGxlcnlfY29udGkgPiB1bCA+IGxpIC5zZWVuX2FuZF9kYXRlIHsgcGFkZGluZy10b3A6IDVweDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgIC5hcnRfZ2FsbGVyeV9jb250aSA+IHVsID4gbGkgPiAuaW1hZ2Vfc2hvcnRfZGVzY19jb250aSAubGlrZV9hIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgIC8qRW5kIEFydCovXHJcblxyXG4gICAgLypTbGlkZXIqL1xyXG4gICAgLnRoZW1lLWJhciAubml2by1jb250cm9sTmF2IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgICAvKkVuZCBTbGlkZXIqL1xyXG5cclxuICAgIC8qR2VuZXJhbCBGb3JtKi9cclxuICAgIC5tYWluX3NlYXJjaCAuZ2VuZXJhbF9mb3JtIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbiAgICAgICAgLm1haW5fc2VhcmNoIC5nZW5lcmFsX2Zvcm0gdWwgbGksIC5tYWluX3NlYXJjaCAuZ2VuZXJhbF9mb3JtIHVsIGxpLmxhc3RfY2hpbGQgeyB3aWR0aDogMTAwJTsgcGFkZGluZzogMDsgfVxyXG4gICAgICAgICAgICAubWFpbl9zZWFyY2ggLmdlbmVyYWxfZm9ybSB1bCBsaSAucVNlbGVjdF9vdmVybGF5IHsgcGFkZGluZy1yaWdodDogMjFweDsgfVxyXG4gICAgICAgIC5tYWluX3NlYXJjaCAuZ2VuZXJhbF9mb3JtLmhhc19jYXRlZ29yeSB1bCBsaTpudGgtY2hpbGQoMykgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cclxuXHJcbiAgICAjZWxGaWx0ZXJzLm1pbmltaXplZCAubWFpbl9zZWFyY2ggLmdlbmVyYWxfZm9ybSB7IHBhZGRpbmctYm90dG9tOiAwOyB9XHJcbiAgICAvKi5zZWFyY2hfY29udGkgLmdlbmVyYWxfZm9ybSBmb3JtID4gdWwgPiBsaS5sYXN0X2NoaWxkLCAuZ2VuZXJhbF9mb3JtIHVsIGxpLmxhc3RfY2hpbGQgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgLnNlYXJjaF9jb250aSAuZ2VuZXJhbF9mb3JtIGZvcm0gPiB1bCA+IGxpLmNsZWFyX2Zvcm0sIC5nZW5lcmFsX2Zvcm0gdWwgbGkuY2xlYXJfZm9ybSB7IGxlZnQ6IDA7IH0qL1xyXG4gICAgLypFbmQgR2VuZXJhbCBGb3JtKi9cclxuXHJcbiAgICAvKlNsaWRlIFNob3cqL1xyXG4gICAgLnNsaWRlX3Nob3cgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgIC5zbGlkZV9zaG93ID4gdWwgeyBwYWRkaW5nLWJvdHRvbTogMDsgaGVpZ2h0OiAyMjBweDsgfVxyXG4gICAgICAgICAgICAuc2xpZGVfc2hvdyA+IHVsID4gbGkgeyBiYWNrZ3JvdW5kLXNpemU6IDYwMHB4IDIyMHB4OyBoZWlnaHQ6IDEwMCU7IH1cclxuICAgIC8qRW5kIFNsaWRlIFNob3cqL1xyXG5cclxuICAgIC5vdGhlcl9wcm9kdWN0cyAucmVjdGFuZ2xlX2NvbnRpID4gbGkgeyB3aWR0aDogNTAlOyB9XHJcblxyXG4gICAgLypEaXNhc3NlbWJseSovXHJcbiAgICAuZGlzYXNzZW1ibHlfbWFpbl9iYW5uZXIgaDEgeyBmb250LXNpemU6IDJlbTsgcGFkZGluZzogMyUgMTAlIDAgMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLmRpc2Fzc2VtYmx5X21haW5fYmFubmVyX3RydWNrIGgxIHsgd2lkdGg6IDIwMHB4OyBwYWRkaW5nOiAxJSAwIDAgMDsgfVxyXG4gICAgLypFbmQgRGlzYXNzZW1ibHkqL1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XHJcbiAgICAvKiBTTElERVNIT1cgKi9cclxuICAgIC5zbGlkZV9zaG93ID4gdWwgPiBsaS5iZ19hbGlnbl9jZW50ZXIgeyB9XHJcbiAgICAuc2xpZGVfc2hvdyA+IHVsID4gbGkuYmdfYWxpZ25fcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7IH1cclxuICAgIC5zbGlkZV9zaG93ID4gdWwgPiBsaS5iZ19hbGlnbl9sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7IH1cclxuICAgIC5zbGlkZV9zaG93ID4gdWwgPiBsaSA+IGEgPiBkaXYgPiBkaXYgaDIgeyBmb250LXNpemU6IDI2cHg7IH1cclxuICAgIC5zbGlkZV9zaG93ID4gdWwgPiBsaSA+IGEgPiBkaXYgPiBkaXYgYXJ0aWNsZSB7IGZvbnQtc2l6ZTogMTZweDsgfVxyXG4gICAgLnNsaWRlX3Nob3cgPiB1bCA+IGxpID4gYSA+IGRpdiA+IGRpdiBkaXYgc3BhbiB7IGZvbnQtc2l6ZTogMTRweDsgcGFkZGluZzogNXB4IDEwcHg7IH1cclxuICAgIC8qIEVORCBTTElERVNIT1cgKi9cclxuXHJcbiAgICAuY2FydF9pdGVtcyBsaSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgICAgIC5jYXJ0X2l0ZW1zIGxpIC5pbWFnZV9jb250aSB7IHdpZHRoOiAyMDBweDsgcGFkZGluZy1ib3R0b206IDA7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvOyBmbG9hdDogbm9uZTsgfVxyXG4gICAgICAgIC5jYXJ0X2l0ZW1zIGxpIC5jYXJ0X2l0ZW1zX2RldGFpbHMgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgICAgICAgICAuY2FydF9pdGVtcyBsaSAuY2FydF9pdGVtc19kZXRhaWxzIC5jYXJ0X2l0ZW1zX2hlYWRsaW5lIHsgd2lkdGg6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuICAgIC5wcm9kY3V0X2NhcnRfZGVsZXRlX29yX2luYyAuZGVsZXRlX2l0ZW0geyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDEwcHg7IHRvcDogMTBweDsgfVxyXG5cclxuICAgIC5wYXJ0cyBsaSBhIHsgZm9udC1zaXplOiAwLjhlbTsgfVxyXG4gICAgLmNhdGVnb3J5X3BvcHVwX2NvbnRpIHsgcGFkZGluZzogMTAlIDEwcHggMCAxMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcbiAgICAuY2F0ZWdvcnlfcG9wdXAgeyBwYWRkaW5nOiAyMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG4gICAgLypDaGVja291dCovXHJcbiAgICAuY2hlY2tvdXRfZm9ybSB1bCBsaSB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cclxuICAgIC8qRW5kIENoZWNrb3V0Ki9cclxuXHJcbiAgICAvKi5wYXJ0cyBsaSBhIC5pbWFnZV9jb250aSB7IHBhZGRpbmc6IDAgNXB4OyB9Ki9cclxuICAgIC5wcm9kY3V0X2NhcnRfZGVsZXRlX29yX2luYyB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgICAgICAgLnByb2RjdXRfY2FydF9kZWxldGVfb3JfaW5jIC5zZWxlY3RfY29udGkgeyB3aWR0aDogMTAwJTsgfVxyXG5cclxuICAgIC8qcHJvZHVjdCBwYXJ0aWFsKi9cclxuICAgIC5wcm9kdWN0X2l0ZW0geyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICAgIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfcHJpY2VfY29udGkgPiBkaXYgPiBhIHsgcGFkZGluZy10b3A6IDdweDsgfVxyXG4gICAgICAgIC8qLnByb2R1Y3RfaXRlbSAuaW1hZ2VfY29udGkgeyB3aWR0aDogMTAwcHg7IH1cclxuICAgIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfZGV0YWlscyB7IHBhZGRpbmctcmlnaHQ6IDEwMHB4OyBtaW4taGVpZ2h0OiAxMzBweDsgfSovXHJcbiAgICAgICAgLnByb2R1Y3RfaXRlbSAucHJvZHVjdF9wcmljZV9jb250aSB7IHBhZGRpbmctcmlnaHQ6IDA7IHdpZHRoOiAxMDAlIH1cclxuICAgIC5wcm9kdWN0X2FuZF9icmFuZHMgLnByb2R1Y3RfaXRlbSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2FuZF9kZXRhaWxzIHsgcGFkZGluZy1yaWdodDogMDsgfVxyXG4gICAgLnByb2R1Y3RfaXRlbSAuaW1hZ2VfY29udGksIC5wcm9kdWN0X2FuZF9icmFuZHMgLnByb2R1Y3RfaXRlbSAuaW1hZ2VfY29udGkgeyB3aWR0aDogMTUwcHg7IG1hcmdpbjogMCBhdXRvOyB9XHJcbiAgICAucHJvZHVjdF9pdGVtIC5pbWFnZV9jb250aSwgLnByb2R1Y3RfYW5kX2JyYW5kcyAucHJvZHVjdF9pdGVtIC5pbWFnZV9jb250aSwgLnByb2R1Y3RfcHJpY2VfYW5kX2RldGFpbHMgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMDsgfVxyXG4gICAgLnByb2R1Y3RfcHJpY2VfYW5kX2RldGFpbHMgeyB3aWR0aDogMTAwJTsgYm9yZGVyLXJpZ2h0OiAwOyBib3JkZXItdG9wOiAxcHggc29saWQgI2QwZDBkMDsgcGFkZGluZy10b3A6IDEwcHg7IG1hcmdpbi10b3A6IDEwcHg7IH1cclxuICAgIC5wcm9kdWN0X2l0ZW0gLnByb2R1Y3RfcHJpY2VfY29udGkgLmJ1dHRvbnNfY29udGkgPiBsaSB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X3ByaWNlX2NvbnRpIC5idXR0b25zX2NvbnRpID4gbGkgKyBsaSB7IG1hcmdpbi10b3A6IDVweDsgfVxyXG4gICAgLyplbmQgcHJvZHVjdCBwYXJ0aWFsKi9cclxuXHJcbiAgICAucGFydHMgbGkgeyB3aWR0aDogMzMuMzMzJTsgfVxyXG4gICAgICAgIC5wYXJ0cyBsaTpudGgtY2hpbGQoNG4pIGE6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyB9XHJcbiAgICAgICAgLnBhcnRzIGxpOm50aC1jaGlsZCgzbikgYTphZnRlciB7IGNvbnRlbnQ6IG5vbmU7IH1cclxuICAgIC8qLnBhcnRzIGxpIGEgLmltYWdlX2NvbnRpIC5zdmcgeyB3aWR0aDogOTAlICFpbXBvcnRhbnQ7IGhlaWdodDogOTAlICFpbXBvcnRhbnQ7IG1hcmdpbjogMCBhdXRvOyBkaXNwbGF5OiBibG9jazsgfSovXHJcblxyXG4gICAgLmJsb2dfY29udGkgdWwgbGkgYSB7IH1cclxuICAgICAgICAuYmxvZ19jb250aSB1bCBsaSBhIC5pbWFnZV9jb250aSwgLmJsb2dfY29udGkgdWwgbGkgYSBhcnRpY2xlIHsgd2lkdGg6IDEwMCU7IGZsb2F0OiBub25lOyB9XHJcbiAgICAgICAgLmJsb2dfY29udGkgdWwgbGkgYSAuaW1hZ2VfY29udGkgeyBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XHJcbiAgICAgICAgICAgIC5ibG9nX2NvbnRpIHVsIGxpIGEgLmltYWdlX2NvbnRpOmFmdGVyIHsgcGFkZGluZy1ib3R0b206IDUwJTsgfVxyXG4gICAgICAgIC5ibG9nX2NvbnRpIHVsIGxpIGEgYXJ0aWNsZSB7IHBhZGRpbmc6IDA7IH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDo0NDBweCkge1xyXG4gICAgLyogU0xJREVTSE9XICovXHJcbiAgICAvKi5zbGlkZV9zaG93ID4gdWwgPiBsaSBoMiA+IHNwYW4geyBmb250LXNpemU6IDMycHggIWltcG9ydGFudDsgfVxyXG4gICAgLnNsaWRlX3Nob3cgPiB1bCA+IGxpIHAgPiBzcGFuIHsgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7IH1cclxuICAgIC5zbGlkZV9zaG93ID4gdWwgPiBsaSBkaXYgPiBzcGFuIHsgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IH0qL1xyXG4gICAgLyogRU5EIFNMSURFU0hPVyAqL1xyXG5cclxuICAgIC8qLmxvZ28geyAgcGFkZGluZy1ib3R0b206IDA7IHBhZGRpbmctcmlnaHQ6IDMwcHg7IHBhZGRpbmctdG9wOiAycHg7IH0qL1xyXG4gICAgLnRvcF9oZWFkZXIgLmxpbmtzIGxpIHsgcGFkZGluZy1sZWZ0OiAwOyB9XHJcbiAgICAuZXh0cmFfZGV0YWlscyBsaSBhIHsgZm9udC1zaXplOiAxZW07IH1cclxuXHJcbiAgICAvKkRpc2Fzc2VtYmx5Ki9cclxuICAgIC5kaXNhc3NlbWJseV9mb3JtIC5sb25nX2xpX2NvbnRpIGxpIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgbWFyZ2luOiAwIDAgMTBweCAwOyB9XHJcbiAgICAuZGlzYXNzZW1ibHlfZm9ybSAubG9uZ19saV9jb250aSB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgIC5kaXNhc3NlbWJseV9mb3JtIC5xVG9vbHRpcF90cmlnZ2VyICsgLnFUb29sdGlwLnFUb29sdGlwX3JpZ2h0IHsgYm90dG9tOiAxMDAlOyB0cmFuc2Zvcm06IHVuc2V0OyAtbXMtdHJhbnNmb3JtOiB1bnNldDsgLXdlYmtpdC10cmFuc2Zvcm06IHVuc2V0OyBsZWZ0OiAtN3B4OyB0b3A6IGluaXRpYWw7IHJpZ2h0OiBpbml0aWFsOyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XHJcbiAgICAgICAgLmRpc2Fzc2VtYmx5X2Zvcm0gLnFUb29sdGlwX3RyaWdnZXIgKyAucVRvb2x0aXAucVRvb2x0aXBfcmlnaHQ6YWZ0ZXIgeyBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC44KTsgbGVmdDogMTBweDsgdG9wOiAxMDAlOyByaWdodDogaW5pdGlhbDsgdHJhbnNmb3JtOiB1bnNldDsgfVxyXG4gICAgLypFbmQgRGlzYXNzZW1ibHkqL1xyXG5cclxuICAgIC5pdGVtc19jb250aTIgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XHJcbiAgICAucmVjdGFuZ2xlX2NvbnRpIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgICAub3RoZXJfcHJvZHVjdHMgPiBoMiB7IG1hcmdpbi1ib3R0b206IDVweDsgcGFkZGluZzogMTNweDsgYmFja2dyb3VuZC1jb2xvcjogIzFjNTk4ZjsgY29sb3I6ICNmZmY7IGJvcmRlcjogMDsgfVxyXG4gICAgICAgIC5vdGhlcl9wcm9kdWN0cyA+IGgyOmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgLm90aGVyX3Byb2R1Y3RzIC5yZWN0YW5nbGVfY29udGkgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDogMDsgfVxyXG4gICAgICAgIC5vdGhlcl9wcm9kdWN0cyAucmVjdGFuZ2xlX2NvbnRpID4gbGkgeyB3aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogNXB4OyBib3JkZXI6IDFweCBzb2xpZCAjZTZlN2U3OyBwYWRkaW5nOiAwOyB9XHJcbiAgICAgICAgICAgIC5vdGhlcl9wcm9kdWN0cyAucmVjdGFuZ2xlX2NvbnRpID4gbGkgPiBkaXYgeyBib3gtc2hhZG93OiB1bnNldDsgYm9yZGVyLXJhZGl1czogMDsgfVxyXG4gICAgICAgICAgICAub3RoZXJfcHJvZHVjdHMgLnJlY3RhbmdsZV9jb250aSA+IGxpIGgyIHsgaGVpZ2h0OiBhdXRvOyB9XHJcbiAgICAgICAgICAgIC5vdGhlcl9wcm9kdWN0cyAucmVjdGFuZ2xlX2NvbnRpID4gbGkgcCB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiA1cHg7IH1cclxuICAgICAgICAgICAgLm90aGVyX3Byb2R1Y3RzIC5yZWN0YW5nbGVfY29udGkgPiBsaSAuaW1hZ2VfY29udGkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgYm90dG9tOiAwOyByaWdodDogMTVweDsgaGVpZ2h0OiA4NXB4OyBtYXJnaW46IGF1dG8gMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cclxuICAgICAgICAgICAgICAgIC5vdGhlcl9wcm9kdWN0cyAucmVjdGFuZ2xlX2NvbnRpID4gbGkgLmltYWdlX2NvbnRpID4gaW1nIHsgd2lkdGg6IGF1dG87IGhlaWdodDogMTAwJTsgfVxyXG4gICAgICAgICAgICAub3RoZXJfcHJvZHVjdHMgLnJlY3RhbmdsZV9jb250aSA+IGxpIGgyLCAub3RoZXJfcHJvZHVjdHMgLnJlY3RhbmdsZV9jb250aSA+IGxpIHAsIC5vdGhlcl9wcm9kdWN0cyAucmVjdGFuZ2xlX2NvbnRpID4gbGkgLnF1YW50aXR5X2NvbnRpLCAub3RoZXJfcHJvZHVjdHMgLnJlY3RhbmdsZV9jb250aSA+IGxpIC5wcmljZSB7IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgd2lkdGg6IGF1dG87IH1cclxuICAgICAgICAgICAgLm90aGVyX3Byb2R1Y3RzIC5yZWN0YW5nbGVfY29udGkgPiBsaSAucXVhbnRpdHlfY29udGkgeyB9XHJcbiAgICAuc2hvcF9oZWFkbGluZSB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gICAgI2VsQ2F0ZWdvcnlTZXR0aW5ncyA+IGRpdjpsYXN0LWNoaWxkIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuICAgIC8qIENvbnRhY3QgRm9ybSovXHJcblxyXG4gICAgLnNlcnZpY2VfZm9ybSA+IC5mb3JtX2J1dHRvbnMgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuICAgICAgICAuc2VydmljZV9mb3JtID4gLmZvcm1fYnV0dG9ucyA+IGxpOmZpcnN0LWNoaWxkIHsgZGlzcGxheTogdGFibGUtY2FwdGlvbjsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgICAgIC5zZXJ2aWNlX2Zvcm0gPiAuZm9ybV9idXR0b25zID4gbGkgeyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDozOTBweCkge1xyXG4gICAgLypuZXcgc2hvcCovXHJcbiAgICAuaW1hZ2VfY29udGlfbmV3X3Nob3AgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyBtYXJnaW46IDAgYXV0bzsgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7IH1cclxuICAgIC5wcm9kdWN0X2FsbF9kZXRhaWxzIHsgd2lkdGg6IDEwMCU7IGZsb2F0OiByaWdodDsgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG5cclxuICAgIC8qLml0ZW1zX2NvbnRpID4gLmxpIC5pbWFnZV9jb250aV9wcm9kdWN0X3BhZ2UgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgLml0ZW1zX2NvbnRpID4gbGkgLml0ZW1fbGVmdCwgLml0ZW1zX2NvbnRpID4gLmxpIC5pdGVtX2xlZnQgeyB3aWR0aDogMTAwJTsgfSovXHJcbiAgICAvKi5ibG9nX2NvbnRpIHVsIHsgcGFkZGluZzogMCA2MHB4OyB9Ki9cclxuXHJcbiAgICAuZ2VuZXJhbF9zZWFyY2ggPiB1bCA+IGxpIGlucHV0IHsgZm9udC1zaXplOiAxNHB4OyB9XHJcbiAgICAuY2xvc2VfZm9ybV9tb2JpbGUgeyB3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4OyBsaW5lLWhlaWdodDogMzBweDsgZm9udC1zaXplOiAxNnB4OyB9XHJcblxyXG4gICAgLnBhcnRzIGxpIHsgd2lkdGg6IDUwJTsgfVxyXG4gICAgICAgIC5wYXJ0cyBsaTpudGgtY2hpbGQoM24pIGE6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyB9XHJcbiAgICAgICAgLnBhcnRzIGxpOm50aC1jaGlsZCgybikgYTphZnRlciB7IGNvbnRlbnQ6IG5vbmU7IH1cclxuXHJcbiAgICAvKkRpc2Fzc2VtYmx5Ki9cclxuICAgIC5kaXNhc3NlbWJseV9tYWluX2Jhbm5lciBoMSB7IGZvbnQtc2l6ZTogMS41ZW07IHBhZGRpbmc6IDMlIDEwJSAwIDA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5kaXNhc3NlbWJseV9tYWluX2Jhbm5lcl90cnVjayBoMSB7IHdpZHRoOiAyMDBweDsgcGFkZGluZzogMSUgMCAwIDA7IH1cclxuICAgIC8qRW5kIERpc2Fzc2VtYmx5Ki9cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDozNTVweCkge1xyXG5cclxuICAgIC8qcHJvZHVjdCBwYXJ0aWFsKi9cclxuICAgIC8qLnByb2R1Y3RfaXRlbSB7IGZvbnQtc2l6ZTogMC44ZW07IH1cclxuICAgICAgICAucHJvZHVjdF9pdGVtIC5pbWFnZV9jb250aSB7IHdpZHRoOiAyNSU7IH1cclxuICAgICAgICAucHJvZHVjdF9pdGVtIC5wcm9kdWN0X2RldGFpbHMgeyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBtaW4taGVpZ2h0OiAxMDBweDsgd2lkdGg6IDc1JSB9XHJcbiAgICAgICAgLnByb2R1Y3RfaXRlbSAuaW1hZ2VfY29udGkgYSBzcGFuIHsgZm9udC1zaXplOiAxMHB4OyB9Ki9cclxuICAgIC8qZW5kIHByb2R1Y3QgcGFydGlhbCovXHJcbn1cclxuIl19 */

    @media only screen and (max-width :340px) {
        /*General Form*/
        .main_search .general_form ul li, .main_search .general_form ul li.last_child { width: 100%; padding: 0; }
        /*End General Form*/
    }

    /*corrections*/
    @media only screen and (min-width: 1024px) {
        .sale_cotni .percent > strong { font-size: 1.3em; }
    }

    .whatsapp_aside span { display: inline-block; color: #FFF; font-weight: 500; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); vertical-align: top; margin-top: 3px; background: #4ecb5c; padding: 10px; margin-left: -13px; }
    .whatsapp_aside span { margin-left: -13px; z-index: -1; position: absolute; left: 35px; width: 110px; text-align: right; }

    .product_details h4:nth-child(2), .product_details i.fa:nth-child(3) { display: inline-block; vertical-align: baseline; }
    .product_details i.fa:nth-child(3) { padding: 0px 4px; background: #8BA5BB; border-radius: 50%; cursor: pointer; color: #FFF; }
    .extra_details_conti > li.active { z-index: auto; }


    @media only screen and (max-width :1024px) {
        .switch-index { z-index: 1; }
    }



    .search-log { }
        .search-log .date-from, .search-log .date-to { display: inline-block; }
    .search-logs { margin: 20px 0; }
    #exportResult a { color: #0b5890; text-decoration: underline; }
        #exportResult a > i { padding-left: 10px; }
        #exportResult a:hover { color: #0b5890; text-decoration: none; }
