a { padding: 0; }

@media (max-width: 700px) { .johnny-utah { content: 'Whoa.'; } }

.clear-lg2 { clear: both; }

@media (max-width: 940px) { .clear-lg2 { clear: none; } }

@media (max-width: 480px) { .clear-lg2 { clear: both; } }

@media (max-width: 1023px) { .clear-lg1 { clear: none; } }

@media (max-width: 940px) { .clear-lg1 { clear: both; } }

@media (max-width: 700px) { .clear-lg1 { clear: none; } }

.lg2 { display: block; }

@media (max-width: 940px) { .lg2 { display: none; } }

.lg1 { display: none; }

@media (max-width: 940px) { .lg1 { display: block; } }

#wrapper { background: none; }

#header { margin-bottom: 0; }

@media (max-width: 767px) { #header { height: 104px; } }

.qMenu { top: 120px; }

#container { height: auto; width: 100%; max-width: 100%; padding-top: 0; margin: 0 auto; position: relative; }

.mainV { overflow: hidden; }

.mainV > .slick-list { overflow: hidden; }

.mainV .mainV * { outline-style: none; }

.mainV .main1, .mainV .main2, .mainV .main3 { width: 100%; max-width: 100%; float: left; background-size: 100% 100% !important; }

@media (max-width: 1023px) { .mainV .main1, .mainV .main2, .mainV .main3 { background-size: 100% auto; } }

@media (max-width: 767px) { .mainV .main1, .mainV .main2, .mainV .main3 { background: none !important; } }

.mainV .main1 .mainArea, .mainV .main2 .mainArea, .mainV .main3 .mainArea { max-width: 1260px; margin: 0 auto; position: relative; }

.mainV .main1 .mainAreaW, .mainV .main2 .mainAreaW, .mainV .main3 .mainAreaW { margin: 0 0 0 -1.49%; display: block; }

.mainV .main1 .mainAreaW:before, .mainV .main1 .mainAreaW:after, .mainV .main2 .mainAreaW:before, .mainV .main2 .mainAreaW:after, .mainV .main3 .mainAreaW:before, .mainV .main3 .mainAreaW:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

@media (max-width: 1260px) { .mainV .main1 .mainAreaMg, .mainV .main2 .mainAreaMg, .mainV .main3 .mainAreaMg { margin: 0 1%; padding-bottom: 30px; } }

#footer { margin-top: 0; }

.mainV_ctrl { margin: 0 auto; position: absolute; top: 0; width: 100%; }

@media (max-width: 1400px) { .mainV_ctrl { display: none; } }

.mainV_ctrl .mainV_ctrl_area { width: 1260px; position: relative; margin: 0 auto; }

.mainV_ctrl .mainV_ctrl_area .mainV_prev > a { position: absolute; top: 382px; left: -70px; background: url(/static/images/portal/main/mainV_btnPrev.png) no-repeat center 10px; width: 50px; height: 93px; background-color: rgba(0, 0, 0, 0.5); }

.mainV_ctrl .mainV_ctrl_area .mainV_next > a { position: absolute; top: 382px; right: -70px; background: url(/static/images/portal/main/mainV_btnNext.png) no-repeat center 10px; width: 50px; height: 93px; background-color: rgba(0, 0, 0, 0.5); }

.mainV_ctrl .mainV_ctrl_area a { color: #fff; padding: 70px 10px 0 10px; font-size: 0.9em; position: relative; z-index: 1; }

.mainV_ctrl .mainV_ctrl_area a:hover { background-color: rgba(35, 39, 58, 0.8); }

.mainV_ctrl .mainV_ctrl_area a:before { position: absolute; left: 0; bottom: 0; content: ''; display: block; border-top: 1px solid #fff; height: 25px; width: 100%; z-index: -1; }

.mainV_ctrl .mainV_ctrl_area a:hover:before { position: absolute; left: 0; bottom: 0; content: ''; display: block; background: #f05291; height: 25px; width: 100%; z-index: -1; }

/*180.15 ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½  ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½
.main_top { width: 98.5%; margin-left: 1.5%; height: 120px; display: block; position: relative; }
.main_top:before, .main_top:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
@media (max-width: 1023px) { .main_top { height: 100px; } }
*/

.main_top { width: 98.5%; margin-left: 1.5%;  display: block; position: relative; }

.main_top:before, .main_top:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

@media (max-width: 1023px) { .main_top { } }


.main_top .logo_election { padding: 2.5% 2%; position: absolute; }

@media (max-width: 1023px) { .main_top .logo_election { display: none; } }

.main_top .tit { text-align: center; padding: 1.5% 0; font-family: Helvetica,Arial,sans-serif; letter-spacing: -1px; }

@media (max-width: 1023px) { .main_top .tit { text-align: left; } }

@media (max-width: 767px) { .main_top .tit { text-align: center; margin-top: 8px; } }

@media (max-width: 480px) { .main_top .tit { margin-top: 6%; } }

@media (max-width: 1023px) { .main_top .tit img { max-width: 450px; width: 100%; } }

.main_top .tit .elDate { display: inline-block; color: #1a2851; line-height: 1.05; font-size: 1.5em; text-align: left; border-right: 1px solid #b5b5b5; padding-right: 15px; margin-right: 10px; }

.main_top .tit .elDate .dateDay { font-size: 1.5em; }

.main_top .tit .elDate2 { display: inline-block; color: #1a2851; font-size: 4em; font-weight: 100; }

.main_top .tit .elDate2 .fb { font-weight: 400; }

@media (max-width: 767px) { .main_top .tit { font-size: 0.95em; } }

.menuSlide { position: relative; max-width: 1260px; margin: 0 auto; z-index: 100; }

@media (max-width: 1260px) { .menuSlide { right: 5px; } }

@media (max-width: 767px) { .menuSlide { right: 0; } }

.menuSlide ul { position: absolute; top: 35px; right: 0; width: 340px; }

@media (max-width: 767px) { .menuSlide ul { width: 100%; top: -40px; } }

.menuSlide ul li { float: left; margin: 0 0 0 2%; position: relative; }

@media (max-width: 767px) { .menuSlide ul li { width: 33.33%; margin: 0; } }

.menuSlide ul li a { display: block; background: #f05291; padding: 0.6em 1.5em; border-radius: 25px; color: #fff; font-weight: bold; min-width: 100px; text-align: center; font-size: 1.15em; /* outline-style: none; */ }

@media (max-width: 767px) { .menuSlide ul li a { width: 100%; border-radius: 0; padding: 0.6; border-left: 1px solid #fff; } }

.menuSlide ul li a span { display: inline-block; text-align: center; }

.menuSlide ul li a.active:after { color: #1a2851; background: url(/static/images/portal/main/bu_navSlide.png) no-repeat left top; width: 9px; height: 6px; position: absolute; bottom: -6px; right: 20px; content: ""; display: inline-block; }

@media (max-width: 767px) { .menuSlide ul li a.active:after { display: none; } }

.menuSlide ul li.nav1 > a.active span { background: #f05291 url(/static/images/portal/main/ico_navSlide1.png) no-repeat left center; padding-left: 25px; color: #1a2851; }

.menuSlide ul li.nav2 > a.active span { background: #f05291 url(/static/images/portal/main/ico_navSlide3.png) no-repeat left center; padding-left: 22px; color: #1a2851; }

.menuSlide ul li.nav3 > a.active span { background: #f05291 url(/static/images/portal/main/ico_navSlide2.png) no-repeat left center; padding-left: 20px; color: #1a2851; }

.slick-dots li { position: relative; display: inline-block; margin: 0; padding: 0; cursor: pointer; text-align: center; float: none; }

.slick-dots li button { background: url(/static/images/portal/main/slidePaging_off.png) no-repeat left top; text-indent: -99999em; margin: 0; display: inline-block; width: 14px; padding: 0; text-align: center; height: 10px; border: 0; padding: 1px; }

.slick-dots li.slick-active button, .slick-dots li.slick-active button:hover { background: url(/static/images/portal/main/slidePaging_on.png) no-repeat left top; width: 33px; }

.storyR { float: left; width: 23.5%; margin: 0 0 1.5% 1.5%; }

@media (max-width: 940px) { .storyR { float: left; width: 31.8%; margin: 25px 0 0 1.5%; } }

@media (max-width: 767px) { .storyR { width: 98.5%; float: none; } }

.storyR .popupList { position: relative; }

@media (max-width: 767px) { .storyR .popupList { width: 100%; float: left; } }

@media (max-width: 480px) { .storyR .popupList { width: 100%; float: none; } }

.storyR .popupList .slick-dots { position: absolute; right: 25px; top: -25px; }

@media (max-width: 767px) {
.storyR .popupList .slick-dots { position: absolute; right: 8%; top:1%; }
}

.storyR .popupList .popupList_ctrl { position: absolute; right: 0; top: -18px; }

@media (max-width: 767px) {
.storyR .popupList .popupList_ctrl { position: absolute; right: 3%; top:3%; }
}

.storyR .popupList .popupList_ctrl button { width: 15px; height: 15px; z-index: 100; display: block; text-indent: -99999em; padding: 0; }

.storyR .popupList .popupList_ctrl .btnStop_pop { background: url(http://www.nec.go.kr/static/images/portal/main/pop_stopBtn.png) no-repeat left top; }

.storyR .popupList .popupList_ctrl .btnStop_pop.paused { display: none; }

.storyR .popupList .popupList_ctrl .btnPlay_pop { display: none; background: url(http://www.nec.go.kr/static/images/portal/main/pop_playBtn.png) no-repeat left top; }

.storyR .popupList .popupList_ctrl .btnPlay_pop.on { display: block; }

.storyR .popupList > ul { overflow: hidden; }

.storyR .popupList li { float: left; }

.storyR .popupList li img { width: 100%; }

.storyR .popupList li a { display: block; }

/* ÃƒÂ¬Ã¢â‚¬ÂºÃ‚Â¹ ÃƒÂ¬Ã‚Â Ã¢â‚¬ËœÃƒÂªÃ‚Â·Ã‚Â¼ÃƒÂ¬Ã¢â‚¬Å¾Ã‚Â± */

.bx-clone { visibility:hidden; }


/*ÃƒÂ¯Ã‚Â¿Ã‚Â½Ãƒâ„¢Ã‚Â·ÃƒÅ½Ã‚Â°ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½Ãƒâ€¦Ã‚Â©ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ 180305
.storyR .service { width: 100%; overflow: hidden; }

@media (max-width: 767px) { .storyR .service { width: 30%; float: left; } }

@media (max-width: 480px) { .storyR .service { width: 100%; float: none; margin-bottom: 1em; } }

.storyR .service li { float: left; width: 50%; margin-top: 3%; }

@media (max-width: 767px) { .storyR .service li { float: none; width: 100%; padding: 5% 0; } }

@media (max-width: 480px) { .storyR .service li { float: left; width: 50%; padding: 0; } }

.storyR .service li:first-child { border-right: 1px solid #ddd; }

@media (max-width: 767px) { .storyR .service li:first-child { border: 0; } }

@media (max-width: 480px) { .storyR .service li:first-child { border-right: 1px solid #ddd; } }

.storyR .service li a { display: block; color: #f05291; text-align: center; font-weight: bold; }

.storyR .service li a span { display: block; padding-top: 5px; }

@media (max-width: 1023px) { .storyR .service li img { width: 55%; } }

@media (max-width: 480px) { .storyR .service li img { width: inherit; max-width: 100%; } }*/

/*
.storyR .linkList{  white-space: nowrap; text-overflow: ellipsis; margin-top: 3%;}
@media (max-width: 940px) {.storyR .linkList { width:100%; } }
@media (max-width: 767px) {.storyR .linkList { } }

.storyR .linkList li { float: left; border: 1px solid #fff; border-width: 1px 1px 0 0; width: 50%; background: #586eb7; background-position: right center;  background-size:18%; background-repeat: no-repeat  }
.storyR .linkList li.LL01 {  background-image: url(/static/images/portal/main/linkList1.png);}
.storyR .linkList li.LL02 { background-image: url(/static/images/portal/main/linkList2.png);}
.storyR .linkList li.LL03 { background-image: url(/static/images/portal/main/linkList3.png); }
.storyR .linkList li.LL04 { background-image: url(/static/images/portal/main/linkList4.png);}

@media (max-width: 940px) { }
@media (max-width: 767px) { .storyR .linkList li {background-size:12%;}}

.storyR .linkList li a{ display: block; padding:8%  5.5px; color: #fff; font-size: 0.95em; font-weight: bold; letter-spacing: -0.05em}
@media (max-width: 940px) {.storyR .linkList li a { padding:1em  5.5px; } }
@media (max-width: 767px) {.storyR .linkList li a  { padding:1em 5.5px; } }
@media (max-width: 700px) {.storyR .linkList li a  { padding: 1em 3%; } }
*/

.storyR ul.linkList{display: block; width: 100%;  margin-top: 3%;}
.storyR ul.linkList li { display: inline-block; border: 1px solid #fff; width:50%; background:#586eb7 url(http://www.nec.go.kr/static/images/common/bu_arr.png) no-repeat 95% 50%; white-space: nowrap; text-overflow: ellipsis; box-sizing: border-box}

.storyR  ul.linkList li a{ display: block; padding:8%  5.5px; color: #fff; font-size: 0.95em; font-weight: bold; letter-spacing: -0.05em}













.noticeBox { float: left; background: #fff; padding: 12px 14px; width: 23.5%; border: 1px solid #e9e9e9; margin-left: 1.5%; position: relative; min-width: 200px; min-height: 325px; }

@media (max-width: 940px) { .noticeBox { width: 31.8%; margin-top: 25px; } }

@media (max-width: 767px) { .noticeBox { width: 48.5%; margin-top: 10px; } }

@media (max-width: 480px) { .noticeBox { width: 98.5%; } }

.noticeBox.first { clear: both; }

@media (max-width: 940px) { .noticeBox.first { clear: none; float: left; } }

@media (max-width: 480px) { .noticeBox.first { float: none; } }

.noticeBox.last { overflow: hidden; }

@media (max-width: 940px) { .noticeBox.last { width: 65%; clear: both; } }

@media (max-width: 767px) { .noticeBox.last { width: 48.5%; } }

@media (max-width: 480px) { .noticeBox.last { width: 98.5%; } }

.noticeBox h3 { background: url(/static/images/portal/main/bu1.gif) no-repeat left 2px; padding-left: 15px; font-size: 1.1em; margin-bottom: 12px; }

.noticeBox .img { display: block; }

.noticeBox .img img { max-width: 100%; max-height: 180px; }

@media (max-width: 940px) { .noticeBox .img img { max-height: none; max-width: none; width: 100%; height: 100%; } }

.noticeBox .tit { clear: both; }

.noticeBox .tit a { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; margin: 10px 0; padding-bottom: 10px; font-weight: bold; border-bottom: 1px solid #efefef; }

.noticeBox .tit_1 { clear: both; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; margin: 10px 0 9px 0; padding-top: 10px; font-weight: bold; }

.noticeBox .noticeList li a { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; background: url(/static/images/portal/main/bu2.gif) no-repeat left 50%; font-size: 0.9em; padding: 3px 0 2px 10px; }

@media (max-width: 940px) { .noticeBox .movieW { float: left; width: 68.5%; } }

@media (max-width: 767px) { .noticeBox .movieW { width: 100%; } }

.noticeBox .movieW .movieImg { width: 100%; position: relative; padding: 55.5% 0 0 !important; height: 0; line-height: 0; margin-top: 0; background: #000; }

.noticeBox .movieW .movieImg iframe, .noticeBox .movieW .movieImg #ooyalaplayer, .noticeBox .movieW .movieImg #ooyalaplayer1 { width: 100%; height: 100%; border: 0; position: absolute; top: 0; left: 0; }

.noticeBox .movieW .movieImg iframe .oo_promo div.oo_start_button, .noticeBox .movieW .movieImg #ooyalaplayer .oo_promo div.oo_start_button, .noticeBox .movieW .movieImg #ooyalaplayer1 .oo_promo div.oo_start_button { margin-left: 40% !important; margin-top: 18% !important; bottom: inherit !important; left: 0 !important; }

.noticeBox .movieList { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; }

@media (max-width: 940px) { .noticeBox .movieList { float: right; width: 30%; } }

@media (max-width: 767px) { .noticeBox .movieList { float: none; width: 100%; } }

.noticeBox .movieList li { float: left; border: 2px solid #fff; border-width: 2px 2px 0 0; width: 50%; }

@media (max-width: 940px) { .noticeBox .movieList li { float: none; width: 100%; } }

@media (max-width: 767px) { .noticeBox .movieList li { float: left; width: 50%; } }

.noticeBox .movieList li a { display: block; background: #787d9a url(/static/images/common/bu_arr.png) no-repeat 95% 50%; padding: 13.5px 5.5px; color: #fff; font-size: 0.95em; }

@media (max-width: 940px) { .noticeBox .movieList li a { padding: 1em 5.5px; } }

@media (max-width: 767px) { .noticeBox .movieList li a { padding: 5.5px; } }

@media (max-width: 700px) { .noticeBox .movieList li a { padding: 9.5% 3%; } }

.noticeBox .movieScroll { height: 85px; overflow: auto; font-size: 0.9em; letter-spacing: -1px; }

@media (max-width: 940px) { .noticeBox .movieScroll { margin-left: 1.5%; float: left; width: 30%; } }

@media (max-width: 767px) { .noticeBox .movieScroll { margin-left: 0; width: auto; } }

.noticeBox.type1 { padding: 12px 14px 8px 15px; }

.noticeBox.type1 .img { display: block; }

.noticeBox.type1 .img img { max-height: 270px; }

@media (max-width: 480px) { .noticeBox.type1 .img img { max-height: inherit; } }

.noticeBox.type1 .tit a { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; margin: 10px 0 5px 0; padding-bottom: 0; border: 0; }

.noticeBox.type1 .date { display: block; text-align: right; color: #666; font-size: 0.9em; margin: 3.5% 0; }

.main1 .main1_con1 { width: 100%; display: block; }

.main1 .main1_con1:before, .main1 .main1_con1:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

.main1 .main1_con1 .storyL { float: left; width: 73.5%; margin: 0 0 1.5% 1.5%; background: #474a5b; position: relative; }

@media (max-width: 940px) { .main1 .main1_con1 .storyL { width: 98.5%; max-width: 98.5%; float: none; } }

@media (max-width: 640px) { .main1 .main1_con1 .storyL { background: #fff; } }

.main1 .main1_con1 .storyL .mobile { display: none !important; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .mobile { display: block !important; } }

.main1 .main1_con1 .storyL .pcweb { display: block !important; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .pcweb { display: none !important; } }

.main1 .main1_con1 .storyL .slick-prev { position: absolute; left: 32.8%; top: 40%; background: url(/static/images/portal/main/btn_story_prev.png) no-repeat left top; width: 40px; height: 40px; font-size: 0; text-indent: -999em; z-index: 1001; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .slick-prev { left: 0; } }

.main1 .main1_con1 .storyL .slick-next { position: absolute; right: 0; top: 40%; background: url(/static/images/portal/main/btn_story_next.png) no-repeat left top; width: 40px; height: 40px; font-size: 0; text-indent: -999em; z-index: 1000; }

.main1 .main1_con1 .storyL .story_pagination { position: absolute; bottom: 0; right: 0; background-color: rgba(0, 0, 0, 0.9); padding: 0; color: #fff; font-size: 0.95em; z-index: 1000; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .story_pagination { top: 0; bottom: auto; } }

.main1 .main1_con1 .storyL .story_pagination .story_paging { float: left; padding: 4px 8px; }

.main1 .main1_con1 .storyL .story_pagination .story_paging > span { font-weight: bold; color: #f05291; }

.main1 .main1_con1 .storyL .story_pagination .story_btn { float: right; }

.main1 .main1_con1 .storyL .story_pagination .story_btn .btnStop { background: url(/static/images/portal/main/btn_story_stop.gif) no-repeat left top; width: 30px; height: 30px; z-index: 100; display: block; text-indent: -99999em; }

.main1 .main1_con1 .storyL .story_pagination .story_btn .btnStop.paused { display: none; }

.main1 .main1_con1 .storyL .story_pagination .story_btn .btnPlay { display: none; background: url(/static/images/portal/main/btn_story_play.gif) no-repeat left top; width: 30px; height: 30px; z-index: 100; text-indent: -99999em; }

.main1 .main1_con1 .storyL .story_pagination .story_btn .btnPlay.on { display: block; }

.main1 .main1_con1 .storyL .storyArea { overflow: hidden; background: #474a5b; width: 100%; }

.main1 .main1_con1 .storyL .storyArea li { float: left; }

.main1 .main1_con1 .storyL .storyArea .slick-list { width: 100%; }

.main1 .main1_con1 .storyL .storyArea .storyArea_slide { float: left; }

.main1 .main1_con1 .storyL .storyArea .story_txt { float: left; width: 32.8%; background: #474a5b; color: #fff; padding: 2%; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_txt { width: 98%; margin: 0 1%; } }

.main1 .main1_con1 .storyL .storyArea .story_txt.pcweb { display: block; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_txt.pcweb { display: none; } }

.main1 .main1_con1 .storyL .storyArea .story_txt.mobile { display: none; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_txt.mobile { display: block; } }

.main1 .main1_con1 .storyL .storyArea .story_txt .slick-list { width: 100%; }

.main1 .main1_con1 .storyL .storyArea .story_txt ul { width: 100%; }

.main1 .main1_con1 .storyL .storyArea .story_txt li { float: left; position: relative; z-index: 1000; }

.main1 .main1_con1 .storyL .storyArea .story_txt h3 { font-weight: 400; background: url(/static/images/portal/main/bu_story.png) no-repeat right 5px; color: #fff; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid #585b6b; }

.main1 .main1_con1 .storyL .storyArea .story_txt .storyBox { background: #373a49; padding-bottom: 9px; margin-bottom: 12px; }

.main1 .main1_con1 .storyL .storyArea .story_txt .storyBox .story_p { background: url(/static/images/portal/main/bu_story1.png) no-repeat right 0; text-align: center; padding: 0 12px 0 15px; margin: 8px 0 0 -3px; display: inline-block; min-width: 110px; color: #fff; height: 26px; overflow: hidden; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_txt .storyBox .story_p { display: none; } }

.main1 .main1_con1 .storyL .storyArea .story_txt .storyBox p { padding: 7px 12px; color: #ff80b3; font-weight: bold; font-size: 1.05em; line-height: 1.3; letter-spacing: -1px; height: 45px; overflow: hidden; display: block; }

.main1 .main1_con1 .storyL .storyArea .story_txt .storyBox p a { color: #ff80b3; }

.main1 .main1_con1 .storyL .storyArea .story_txt h4 { font-weight: 600; color: #ff80b3; font-weight: bold; font-size: 1.1em; margin: 6px 0 12px 0; }

.main1 .main1_con1 .storyL .storyArea .story_txt p { color: #efefef; font-size: 0.95em; height: 143px; overflow: hidden; }

@media (max-width: 1400px) { .main1 .main1_con1 .storyL .storyArea .story_txt p { height: 60px; } }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_txt p { display: none; } }

.main1 .main1_con1 .storyL .storyArea .story_txt .btnStory { background: #9ea0ab; color: #474a5b; padding: 2%; text-align: center; margin: 7% 0; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_txt .btnStory { margin: 3% 0; } }

.main1 .main1_con1 .storyL .storyArea .story_img { float: left; width: 67.2%; position: relative; overflow: hidden; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .story_img { width: 100%; float: none; } }

.main1 .main1_con1 .storyL .storyArea .story_img ul { width: 100%; overflow: hidden; }

.main1 .main1_con1 .storyL .storyArea .story_img ul li { float: left; }

.main1 .main1_con1 .storyL .storyArea .story_img ul li img { width: 100%; }

.main1 .main1_con1 .storyL .storyArea .bx-controls > div { z-index: 100; }

.main1 .main1_con1 .storyL .storyArea .bx-controls .bx-controls-direction { position: absolute; top: 43%; width: 100%; }

.main1 .main1_con1 .storyL .storyArea .bx-controls .bx-pager { position: absolute; bottom: 0; right: 30px; background-color: rgba(0, 0, 0, 0.9); padding: 5px; color: #fff; font-size: 0.95em; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .bx-controls .bx-pager { top: 0; bottom: auto; } }

.main1 .main1_con1 .storyL .storyArea .bx-controls .bx-controls-auto { position: absolute; bottom: 0; right: 0; }

@media (max-width: 640px) { .main1 .main1_con1 .storyL .storyArea .bx-controls .bx-controls-auto { top: 0; bottom: auto; } }

.main1 .main1_con1 .storyL .storyArea .bx-controls .bx-controls-auto .bx-stop { background: url(/static/images/portal/main/btn_story_stop.gif) no-repeat left top; width: 30px; height: 30px; z-index: 100; display: block; text-indent: -999em; }

.main1 .main1_con1 .storyL .storyArea .bx-controls .bx-controls-auto .bx-stop.active { display: none; }

.main1 .main1_con1 .storyL .storyArea .bx-controls .bx-controls-auto .bx-start { background: url(/static/images/portal/main/btn_story_play.gif) no-repeat left top; width: 30px; height: 30px; z-index: 100; display: block; text-indent: -999em; }

.main1 .main1_con1 .storyL .storyArea .bx-controls .bx-controls-auto .bx-start.active { display: none; }

.main1 .main1_con1 .storyR { float: left; }

.main1 .main1_con1 .main1_con2R { float: left; width: 23.5%; margin-left: 1.5%; margin-bottom: 20px; }

@media (max-width: 940px) { .main1 .main1_con1 .main1_con2R { float: right; width: 31.8%; margin-top: 25px; } }

@media (max-width: 767px) { .main1 .main1_con1 .main1_con2R { float: right; width: 48.5%; margin-top: 10px; margin-bottom: 0; } }

@media (max-width: 480px) { .main1 .main1_con1 .main1_con2R { width: 98.5%; } }

.main1 .main1_con1 .main1_con2R .tabInfo { background: #fff; height: 195px; border: 1px solid #e9e9e9; border-top: 0; margin-bottom: 6%; }

@media (max-width: 767px) { .main1 .main1_con1 .main1_con2R .tabInfo { margin-bottom: 4%; } }

.main1 .main1_con1 .main1_con2R .tabInfo > ul { position: relative; }

.main1 .main1_con1 .main1_con2R .tabInfo > ul > li { float: left; margin-left: 1px; margin: 0 0 1.5% 0; width: 33.33%; }

.main1 .main1_con1 .main1_con2R .tabInfo > ul > li > a { display: block; text-align: center; color: #5c5c5c; letter-spacing: -1px; padding: 7px 0; background: #d9dbde; border: 1px solid #e9e9e9; font-size: 1em; }

.main1 .main1_con1 .main1_con2R .tabInfo > ul > li > a.on { color: #333; border-bottom: 1px solid #fff; background: url(/static/images/portal/common/bu_arr_down.png) no-repeat center bottom; padding: 7px 0 7px 0; margin-left: -1px; }

.main1 .main1_con1 .main1_con2R .tabInfo_area { position: absolute; top: 32px; left: 0; width: 100%; padding: 13px 2% 0 15px; display: none; }

.main1 .main1_con1 .main1_con2R .tabInfo_area > ul > li { margin: 0.6em 0; float: none; overflow: hidden; }

.main1 .main1_con1 .main1_con2R .tabInfo_area > ul > li > a { font-size: 0.95em; text-align: left; line-height: 129%; color: #666; background: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; background: url(/static/images/portal/main/bu2.gif) no-repeat left 8px; padding-left: 10px; }

.main1 .main1_con1 .main1_con2R .tabInfo_area .tabmore { margin-top: 14px; }

.main1 .main1_con1 .main1_con2R .tabInfo_area .tabmore a { text-align: center; display: block; color: #969696; font-size: 0.95em; border-top: 1px solid #ddd; padding-top: 3px; }

.main1 .main1_con1 .main1_con2R .popup2List { position: relative; }

@media (max-width: 480px) { .main1 .main1_con1 .main1_con2R .popup2List { display: none !important; } }

.main1 .main1_con1 .main1_con2R .popup2List .popup2List_ctrl { position: absolute; bottom: 1px; right: 0; }

.main1 .main1_con1 .main1_con2R .popup2List .popup2List_ctrl button { width: 15px; height: 15px; z-index: 100; display: block; text-indent: -99999em; padding: 0; }

.main1 .main1_con1 .main1_con2R .popup2List .popup2List_ctrl .btnStop_pop2 { background: url(/static/images/portal/main/pop_stopBtn.png) no-repeat left top; }

.main1 .main1_con1 .main1_con2R .popup2List .popup2List_ctrl .btnStop_pop2.paused { display: none; }

.main1 .main1_con1 .main1_con2R .popup2List .popup2List_ctrl .btnPlay_pop2 { display: none; background: url(/static/images/portal/main/pop_playBtn.png) no-repeat left top; }

.main1 .main1_con1 .main1_con2R .popup2List .popup2List_ctrl .btnPlay_pop2.on { display: block; }

.main1 .main1_con1 .main1_con2R .popup2List .slick-dots { float: right; margin-right: 25px; }

.main1 .main1_con1 .main1_con2R .popup2List > ul { overflow: hidden; }

.main1 .main1_con1 .main1_con2R .popup2List li { float: left; }

.main1 .main1_con1 .main1_con2R .popup2List li img { width: 100%; height: 100%; }

.main1 .main1_con1 .main1_con2R .popup2List li a { display: block; }

.main1 .main1_con1 .main1_con2R.allimpopMobile .popup2List { display: none !important; }

@media (max-width: 480px) { .main1 .main1_con1 .main1_con2R.allimpopMobile .popup2List { display: block !important; } }

@media (max-width: 940px) { .main2 .storyR { margin-top: -17.5%; } }

@media (max-width: 767px) { .main2 .storyR { display: none; margin-top: 0%; overflow: hidden; } }

.main2_con2 > div { margin-top: -13%; }

@media (max-width: 940px) { .main2_con2 > div { margin-top: -17.5%; }
  .main2_con2 > div.last, .main2_con2 > div.issue { margin-top: 25px; } }

@media (max-width: 767px) { .main2_con2 > div { margin-top: 0; margin-bottom: 10px; }
  .main2_con2 > div.issue { margin-top: 0; } }

.main2_con2 .main2_con2_1 { float: left; min-width: 200px; margin-left: 1.5%; width: 23.5%; }

@media (max-width: 940px) { .main2_con2 .main2_con2_1 { width: 48.5%; margin-top: 25px; }
  .main2_con2 .main2_con2_1 .noticeBox { margin: 0; }
  .main2_con2 .main2_con2_1 .noticeBox .movieW { width: 100%; }
  .main2_con2 .main2_con2_1 .noticeBox .movieW img { width: 100%; } }

@media (max-width: 767px) { .main2_con2 .main2_con2_1 { width: 48.5%; margin-top: 0; } }

@media (max-width: 480px) { .main2_con2 .main2_con2_1 { width: 98.5%; } }

.main2_con2 .main2_con2_1 .noticeBox.type3 { min-height: inherit; padding: 12px 14px 6.5% 15px; width: 100%; margin-left: 0; }

@media (max-width: 940px) { .main2_con2 .main2_con2_1 .noticeBox.type3 { padding: 12px 14px 9.5% 15px; } }

@media (max-width: 480px) { .main2_con2 .main2_con2_1 .noticeBox.type3 { float: left; } }

.main2_con2 .main2_con2_1 .noticeBox.type3 .tit a { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }

.main2_con2 .issue1 { float: left; margin: 1.5% 0 0 0; width: 100%; line-height: 1.3; }

@media (max-width: 940px) { .main2_con2 .issue1 { margin-left: 0; } }

@media (max-width: 480px) { .main2_con2 .issue1 { margin-top: 10px; } }

.main2_con2 .issue1 li { overflow: hidden; position: relative; margin-top: 3px; }

.main2_con2 .issue1 li:first-child { margin-top: 0; }

.main2_con2 .issue1 li a { display: block; }

.main2_con2 .issue1 li a h3 { position: absolute; top: 10px; left: 0; background: #fff url(/static/images/portal/main/bu1.gif) no-repeat 10px 5px; padding: 5px 5px 5px 28px; font-size: 1.1em; }

.main2_con2 .issue1 li a img { width: 100%; }

@media (max-width: 480px) { .main2_con2 > div.noticeBox.type1 { clear: both; margin-bottom: 10px; } }

.visual2 { float: left; width: 73.5%; margin-left: 1.5%; }

.visual2 .visual_mobile { display: none; }

@media (max-width: 940px) { .visual2 { width: 100%; text-align: center; }
  .visual2 img { max-width: 100%; text-align: center; } }

@media (max-width: 767px) { .visual2 { float: none; }
  .visual2 .visual_pcweb { display: none; visibility: hidden; height: 0; position: absolute; }
  .visual2 .visual_mobile { display: inline-block; visibility: visible; } }

.issue { float: left; margin-left: 1.5%; width: 23.5%; line-height: 1.3; margin-bottom: 40px; margin-top: 25px; }

@media (max-width: 940px) { .issue { float: right; width: 48.5%; margin-left: 1.5%; margin-top: 0; } }

@media (max-width: 480px) { .issue { width: 98.5%; margin-top: 0 !important; } }

.issue li { overflow: hidden; position: relative; margin-top: 3px; background-size: 100% 100%; }

@media (max-width: 480px) { .issue li { margin-bottom: 3%; } }

.issue li:first-child { margin-top: 0; }

.issue li a { display: block; }

.issue li a h3 { position: absolute; top: 10px; left: 0; background: #fff url(/static/images/portal/main/bu1.gif) no-repeat 10px 6px; padding: 5px 8px 5px 23px; font-size: 1.1em; }

.issue li a img { width: 100%; }

/*.more { position: absolute; top: 0; right: 1.5%; }*/

.more a { display: block; padding: 10px; position: absolute; top: 0.4%; right: 1.5%; }

.main3 .storyR { margin-bottom: 0; }

@media (max-width: 767px) { .main3 .storyR { display: none; } }

.main3 .infoBox { float: left; background: #fff; padding: 15px 14px; width: 23.5%; margin-left: 1.5%; border: 1px solid #e9e9e9; position: relative; overflow: hidden; }

@media (max-width: 940px) { .main3 .infoBox { width: 31.8%; height: 350px; } }

@media (max-width: 767px) { .main3 .infoBox { width: 48.5%; height: auto; } }

@media (max-width: 480px) { .main3 .infoBox { width: 98.5%; float: none; margin-top: 10px; } }

.main3 .infoBox.first { clear: both; }

@media (max-width: 480px) { .main3 .infoBox.first { float: none; clear: both; margin-top: 0; } }

.main3 .infoBox h3 { font-size: 1.1em; margin-bottom: 15px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; }

.main3 .infoBox h3 span { font-size: 0.85em; font-weight: normal; color: #666; }

@media (max-width: 940px) { .main3 .infoBox h3 span { display: none; } }

.main3 .infoBox ul { line-height: 1.6; }

.main3 .infoBox ul > li { font-size: 1em; color: #fff; font-weight: bold; background: #474a5b; }

.main3 .infoBox ul > li > span { padding: 6px 12px; display: block; }

.main3 .infoBox ul > li > ul { background: #efefef; padding: 2.8% 0; }

.main3 .infoBox ul > li > ul > li { background: #efefef; padding-left: 15px; line-height: 1.7; }

.main3 .infoBox ul > li > ul > li > a { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; font-size: 0.95em; font-weight: normal; color: #666; letter-spacing: -1px; }

.main3 .infoBox ul > li > ul > li > a:before { display: inline-block; content: "- "; }

.main3 .infoBox ul > li.half { width: 50%; float: left; border-left: 1px solid #fff; }

/*.main3 .infoBox .more { position: absolute; top: 12px; right: 15px; }*/

.main3 .exvoting { float: left; background: url(http://www.nec.go.kr/static/images/portal/main/bg_exvoting.jpg) no-repeat left top; background-size: 100% 100%; padding: 2% 3.5% 10% 3.5%; width: 23.5%; margin-left: 1.5%; position: relative; max-height: 352px; }

@media (max-width: 940px) { .main3 .exvoting { width: 31.8%; max-height: inherit; background-size: 100% 100%; padding-bottom: 14.5%; height: 350px; } }

@media (max-width: 767px) { .main3 .exvoting { width: 98.5%; margin-top: 2%; height: auto; padding-bottom: 25%; } }

@media (max-width: 480px) { .main3 .exvoting { margin-top: 10px; } }

.main3 .exvoting h3 { text-align: center; font-weight: 500; margin-bottom: 10%; font-size: 2em; letter-spacing: -2px; }

@media (max-width: 767px) { .main3 .exvoting h3 { margin-bottom: 5%; } }

.main3 .exvoting ul li { margin-bottom: 1px; position: relative; }

.main3 .exvoting ul li a { display: block; background: rgba(26, 40, 81, 0.95); color: #fff; text-align: center; padding: 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; }

.main3 .exvoting ul li a:hover { font-weight: bold; }

.main3 .vService { clear: both; margin: 25px 0 1.5% 1.5%; background: #474a5b; float: left; padding: 0.6em; width: 98.5%; }

@media (max-width: 940px) { .main3 .vService { float: left; width: 98.5%;  clear: left; margin: 25px 0 0 1.5%; } } /*180619*/

@media (max-width: 767px) { .main3 .vService { float: left; margin-top: 10px; } }

.main3 .vService ul li { float: left; width: 11.11%; position: relative; }

@media (max-width: 940px) { .main3 .vService ul li { width: 33.3%; } }

@media (max-width: 480px) { .main3 .vService ul li { width: 31.5%; margin: 0 0.9% 1.8% 0.9%; } }

.main3 .vService ul li a { text-align: center; display: block; color: #fff; font-size: 0.85em; }

@media (max-width: 940px) { .main3 .vService ul li a { padding: 2%; } }

.main3 .vService ul li a p { display: block; padding: 0.5em 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; }

@media (max-width: 480px) { .main3 .vService ul li a p { letter-spacing: -1px; padding: 0.8em 0 0.3em 0; } }

.main3 .aboutBox { float: left; background: #fff; padding: 15px 14px; width: 23.5%; margin-left: 1.5%; position: relative; }

@media (max-width: 940px) { .main3 .aboutBox { width: 48.5%; margin-top: 25px; } }

@media (max-width: 767px) { .main3 .aboutBox { margin-top: 10px; } }

@media (max-width: 480px) { .main3 .aboutBox { width: 98.5%; } }

.main3 .aboutBox.first { margin-left: 1.5%; clear: both; background: #e3c4d5; }

.main3 .aboutBox.bg2 { background: #aecfe1; }

.main3 .aboutBox.bg3 { background: #c4dde3; }

.main3 .aboutBox.bg4 { background: #c2dfdb; }

.main3 .aboutBox h3 { font-size: 1.95em; font-weight: 400; color: #474a5b; text-align: center; margin: 1em 0 1.4em 0; letter-spacing: -1px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; }

.main3 .aboutBox ul li { float: left; width: 50%; }

.main3 .aboutBox ul li.type a { padding: 0.7em 0 0.5em; line-height: 1.1; }

.main3 .aboutBox ul li a { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; display: block; text-align: center; padding: 0.9em 0; background: #fff; font-size: 1.1em; color: #474a5b; letter-spacing: -1px; margin: 1px; }

.main3 .aboutBox .more1 { background: url(/static/images/portal/main/more1.png) no-repeat right center; padding-right: 17px; font-size: 0.9em; font-weight: 600; letter-spacing: -1px; position: absolute; top: 37%; right: 20px; }

.main3 .aboutBox .more1 a { color: #474a5b; }

.main3 .allim { float: left; width: 23.5%; border: 1px solid #e9e9e9; border-top: 3px solid #f05291; background: #fff; padding: 1.3em; margin-left: 1.5%; margin-bottom: 20px; }

@media (max-width: 940px) { .main3 .allim { width: 98.5%; margin-top: 25px; } }

@media (max-width: 767px) { .main3 .allim { width: 48.5%; } }

@media (max-width: 480px) { .main3 .allim { width: 98.5%; } }

.main3 .allim h3 { color: #f05291; background: url(/static/images/portal/main/dot.gif) repeat-x left bottom; font-size: 1.1em; padding-bottom: 1em; }

.main3 .allim h3 span { color: #000; }

.main3 .allim p { padding: 0.7em 0 1.2em 0; font-size: 1.4em; line-height: 119%; }

@media (max-width: 940px) { .main3 .allim p { float: left; } }

.main3 .allim p span { display: block; }

@media (max-width: 940px) { .main3 .allim p span { display: inline-block; } }

@media (max-width: 940px) { .main3 .allim ul { width: 60%; float: right; } }

@media (max-width: 767px) { .main3 .allim ul { width: 100%; } }

.main3 .allim ul li { float: left; width: 33.3%; border-left: 1px solid #fff; margin-left: -1px; }

.main3 .allim ul li a { display: block; background: #474a5b; text-align: center; color: #fff; padding: 1.4em 0; line-height: 119%; font-size: 1.05em; border-bottom: 3px solid #474a5b; }

.main3 .allim ul li a:hover { border-bottom: 3px solid #f05291; font-weight: bold; }

.main3 .allim ul li a span { display: block; }

@media (max-width: 940px) { .main3 .allim ul li a span { display: inline; } }

@media (max-width: 767px) { .main3 .allim ul li a span { display: block; } }

.f_menu { margin-top: 0; }

.bannerZone { border-bottom: 1px solid #e5e5e5; padding: 11px 0; position: relative; overflow: hidden; }

.bannerZone .banner_ctl { float: left; width: 200px; padding: 10px 0 0  32px; }

@media (max-width: 767px) { .bannerZone .banner_ctl { display: none; } }

.bannerZone .banner_ctl h2 { font-size: 1.05em; margin-bottom: 8px; color: #fff; }

@media (max-width: 767px) { .bannerZone .banner_ctl h2 { display: none; } }

@media (max-width: 767px) { .bannerZone .banner_btn { display: none; } }

.bannerZone .banner_btn a, .bannerZone .banner_btn button { display: inline-block; }

.bannerZone .banner_btn .btnStop { background: url(/static/images/common/btn_banner_stop.gif) no-repeat left top; width: 20px; height: 20px; z-index: 100; text-indent: -999em; }

.bannerZone .banner_btn .btnStop.paused { display: none; }

.bannerZone .banner_btn .btnPlay { display: none; background: url(/static/images/common/btn_banner_play.gif) no-repeat left top; width: 20px; height: 20px; z-index: 100; text-indent: -999em; }

.bannerZone .banner_btn .btnPlay.on { display: inline-block; }

.bannerZone .banner { overflow: hidden; margin: 0 40px; }

.bannerZone .banner ul li { float: left; margin: 5px 0; text-align: center; }

.bannerZone .banner ul li img { max-width: 100%; }

.bannerZone .banner .slick-prev { background: url(/static/images/common/btn_banner_left.gif) no-repeat left top; width: 22px; height: 46px; position: absolute; top: 50%; margin-top: -23px; left: 170px; text-indent: -999em; }

@media (max-width: 767px) { .bannerZone .banner .slick-prev { left: 12px; } }

.bannerZone .banner .slick-next { background: url(/static/images/common/btn_banner_right.gif) no-repeat left top; width: 22px; height: 46px; position: absolute; top: 50%; margin-top: -23px; right: 0; text-indent: -999em; }

@media (max-width: 1260px) { .bannerZone .banner .slick-next { right: 12px; } }

 /* ÃƒÂ¬Ã‚Â Ã¢â‚¬Å¾ÃƒÂªÃ‚ÂµÃ‚Â­ÃƒÂ«Ã‚ÂÃ¢â€žÂ¢ÃƒÂ¬Ã¢â‚¬Â¹Ã…â€œÃƒÂ¬Ã‚Â§Ã¢â€šÂ¬ÃƒÂ«Ã‚Â°Ã‚Â©ÃƒÂ¬Ã¢â‚¬Å¾Ã‚Â ÃƒÂªÃ‚Â±Ã‚Â° 180418*/
.main3 .elections_7th { float: left; background: url(/static/images/portal/main/bg_elections_7th.jpg) no-repeat left top; background-size: 100% 100%; padding: 69px 15px 15px; width: 23.5%; margin-left: 1.5%; position: relative; max-height: 352px; }
@media (max-width: 940px) { .main3 .elections_7th { width: 31.8%;  background-size: 100% 100%;  }  }
@media (max-width: 767px) { .main3 .elections_7th { width: 98.5%; margin-bottom: 2%; ;max-height:inherit; display: table;} }
@media (max-width: 480px) { .main3 .elections_7th { margin-top: 10px; } }

.elections_7th > ul{  display:table;table-layout:fixed;overflow:hidden;width:100%;border:1px solid #84c8c0 ;background:#f4fffe;border-radius:4px}
.elections_7th > ul > li {display:table-row; position: relative; }

.elections_7th > ul > li span{display:table-cell;vertical-align:middle;padding:2% 0;letter-spacing:-1px;font-size:13px;line-height:20px;border-top:1px solid #90d5d0;}
.elections_7th > ul > li .info_th{width:25%;font-weight:bold;color:#1b6862;text-align:center;background:#ddf4f2}
.elections_7th > ul > li .info_td{width:auto;color:#616161;box-sizing:border-box;padding:2% 15px;}
.elections_7th > ul > li ul.info_td{border-top:1px solid #90d5d0;}
.elections_7th > ul > li ul.info_td span{width: 90%;}
.elections_7th > ul > li .info_td li + li{margin-top:2px;border-top:1px dashed #dfdfdf;}
.elections_7th > ul > li .info_td li a{position:relative;display:block; letter-spacing:-1px;font-size:13px; line-height:2.2em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.elections_7th > ul > li .info_td li.end a{ white-space: inherit; text-overflow: clip}
.elections_7th > ul > li .info_td li a:after, .elections_7th > ul > li .info_td li.end a:after{content:"+";position:absolute; right:0;top:5px;width:14px;height:14px;display:block;border-radius:7px;background:#9fcbc6;color:#fff;vertical-align:middle;text-align:center;line-height:1em;font-size:12px;letter-spacing:0}

/*ÃƒÂ«Ã¢â‚¬ÂÃ¢â‚¬ÂÃƒÂ«Ã‚ÂÃ‚Â°ÃƒÂ¬Ã‚ÂÃ‚Â´ ÃƒÂ¬Ã¢â‚¬Å¡Ã‚Â½ÃƒÂ¬Ã…Â¾Ã¢â‚¬Â¦ 180315 s*/
.day_lg2 > .d_day{ position: absolute; top: 20px;  height: 52px;  background: #e3e5ee; padding: 1%; box-sizing: border-box; border-radius: 5px;display:table}
.day_lg1 > .d_day{margin:  5px auto 15px auto;  background: #e3e5ee; padding: 1.5% 20px; box-sizing: border-box; border-radius: 5px;display:table;}

.day_title{padding-right:20px;}
.day_title, .d_day .day_num{display:table-cell; vertical-align: middle;}
.day_num > span{display: inline-block;width: 30px;height: 32px;text-align: center;font-size: 24px;font-weight: 800;color: #fff;background: url(/static/images/portal/main/day_box.png)left center no-repeat;line-height: 28px;vertical-align:  top;}
.day_num > span:first-child{width: 28px;  background: url(/static/images/portal/main/day_box1.png) no-repeat; padding-right: 15px; box-sizing: content-box; vertical-align: top}

@media (max-width:920px) {
   .day_lg2 > .d_day{ position: absolute; top: 10px; padding: 1% 3%; }
   .day_lg2 > .d_day .day_title{margin-bottom: 5px; padding: 0}
   .day_lg2 > .d_day .day_title, .d_day .day_num{display:block; text-align: center;}
}

.day_lg2 { display: block; }
@media (max-width: 767px) { .day_lg2 { display: none; } }

.day_lg1 { display: none; }
@media (max-width: 767px) { .day_lg1 { display: block; } }



/* 180412  ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½Ãƒâ€¦Ã‚Â±ÃƒÂ¢Ã‚Â°Ã‚Â£ ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ÃƒÂ¯Ã‚Â¿Ã‚Â½ */
.storyR { float: left; width: 23.5%; margin: 0 0 1.5% 1.5%;}

.storyR_VtWrap{position: relative; width: 100%; text-align: center}
.storyR_VtWrap img{width: 100%; }
.storyR_VtWrap img.mh{ min-height: 335px;}


.storyR_VtWrap h3{position: absolute; top: 3%; left: 0%;  width: 100%;  font-size: 2.2em; color: #27375f; font-weight: 800; letter-spacing: -0.05em; line-height:0.9em;}
.storyR_VtWrap h3 span.Vt_h3s{font-size: 0.55em;}

.storyR_VtWrap ul.Vt_info{ position: absolute; left: 0; bottom: 3%; padding:0 5%; box-sizing: border-box; width: 100%; }
.storyR_VtWrap ul.Vt_info li{ background: rgba(26,41,82,0.80); font-size: 1.1em; line-height: 1.2em; display: inline-block; padding: 0.85em 0; width: 48.5%; margin-bottom: 1.5%;  color: #fff; }
.storyR_VtWrap ul.Vt_info li a{text-decoration: none;}


 .main3 .storyR .popupList li img{min-height: 250px;}

@media (max-width: 1200px){
.main3 .storyR_VtWrap h3{ font-size: 2em;}
.main3 .storyR_VtWrap ul.Vt_info li{ padding: 0.85em 0;}
}


@media (max-width: 1220px){
   .main1 .storyR_VtWrap h3{ font-size: 1.8em;}
   .main1 .storyR_VtWrap ul.Vt_info li{ padding: 0.7em 0;}
}

@media (max-width: 1090px){
    .main1 .storyR_VtWrap ul.Vt_info li{ font-size:1em; padding: 0.6em 0}
    .main2 .storyR{display: none}
}


@media (max-width: 940px) {
   .main1 .storyR { float: left; width: 31.8%; margin: 25px 0 0 0%; }

   .main3 .storyR { float: left; width: 31.8%; height: 350px; }


   .main3 .vt_mb25{margin-bottom: 25px; float: left}

   .main1 .storyR_VtWrap h3{ font-size: 2.2em;}
   .main1 .storyR_VtWrap ul.Vt_info li{ padding: 0.85em 0; font-size: 1.1em;}

   .main2 .noticeBox.type1{width: 48.5%}


}

@media (max-width: 900px){
   .main1 .storyR_VtWrap h3{ font-size: 2em;}
   .main1 .storyR_VtWrap ul.Vt_info li{ padding: 0.8em 0;}
}



@media (max-width: 767px) {
    .main1 .storyR { width:100%; float: none; box-sizing: border-box}
   .main3 .vt_mb25{float: none}
   .main3 .vService{margin-top: 10px !important;}

   .main3 .storyR{display: block !important; width: 100%;box-sizing: border-box; height: auto; padding: 0 1.5% 0 0; margin-top: 2%}


   .storyR_VtWrap{ background: url(../../../static/images/portal/main/banner_Vtbg.jpg) left center no-repeat; background-size: cover; padding: 2% 1.5%; box-sizing: border-box;  border: 1px solid #e9e9e9; margin-bottom: 2%}
   .storyR_VtWrap img{display: none;}

   .storyR_VtWrap h3{position: relative; margin-bottom: 3%;}
   .storyR_VtWrap ul.Vt_info{position: relative; padding:0}
}



@media (max-width: 480px) {
   .main3 .infoBox{float: left}
   .main3 .storyR{margin-left: 1.5%}
   .main2 .noticeBox.type1{width: 100%}
}



.vt_lg3 { display: block; }
@media (max-width: 480px) { .vt_lg3 { display: none; } }

.vt_lg4 { display: none; }
@media (max-width: 480px) { .vt_lg4 { display: block; } }

@media (max-width: 480px){
   .noticeBox {  margin-top: 10px; clear: both}
   .mgl0{margin-left: 0 !important}
   .main1 .main1_con1 .storyR{float: none; margin-top: 2%;}
}

@media (max-width: 480px){
   .storyR {margin: 0;}
}




/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsL21haW4yLmNzcyIsInNvdXJjZXMiOlsicG9ydGFsL21haW4yLnNjc3MiLCJfYnJlYWtwb2ludC5zY3NzIiwiYnJlYWtwb2ludC9fc2V0dGluZ3Muc2NzcyIsImJyZWFrcG9pbnQvX2NvbnRleHQuc2NzcyIsImJyZWFrcG9pbnQvX2hlbHBlcnMuc2NzcyIsImJyZWFrcG9pbnQvX3BhcnNlcnMuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9fcXVlcnkuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9fc2luZ2xlLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvc2luZ2xlL19kZWZhdWx0LnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvX2RvdWJsZS5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL2RvdWJsZS9fZGVmYXVsdC1wYWlyLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvZG91YmxlL19kb3VibGUtc3RyaW5nLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvZG91YmxlL19kZWZhdWx0LnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvX3RyaXBsZS5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL3RyaXBsZS9fZGVmYXVsdC5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL19yZXNvbHV0aW9uLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvcmVzb2x1dGlvbi9fcmVzb2x1dGlvbi5zY3NzIiwiYnJlYWtwb2ludC9fbm8tcXVlcnkuc2NzcyIsImJyZWFrcG9pbnQvX3Jlc3BvbmQtdG8uc2NzcyIsImJyZWFrcG9pbnQvX2xlZ2FjeS1zZXR0aW5ncy5zY3NzIiwicG9ydGFsL2Jhc2Uuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcInV0Zi04XCI7XHJcbkBpbXBvcnQgJy4uL2JyZWFrcG9pbnQnO1xyXG5AaW1wb3J0ICdiYXNlLnNjc3MnO1xyXG5cclxuLy8gI2NvbnRhaW5lcntoZWlnaHQ6YXV0bzt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlfVxyXG4vLyAubWFpblZ7bWF4LXdpZHRoOjEyNjBweDttYXJnaW46MCBhdXRvbH1cclxuI3dyYXBwZXJ7YmFja2dyb3VuZDpub25lfVxyXG4jaGVhZGVye21hcmdpbi1ib3R0b206MDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7aGVpZ2h0OjEwNHB4O31cclxufVxyXG4ucU1lbnV7dG9wOjEyMHB4fVxyXG4jY29udGFpbmVye2hlaWdodDphdXRvO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy10b3A6MDttYXJnaW46MCBhdXRvO3Bvc2l0aW9uOnJlbGF0aXZlfVxyXG4ubWFpblZ7b3ZlcmZsb3c6aGlkZGVuO1xyXG5cdD4uc2xpY2stbGlzdHtvdmVyZmxvdzpoaWRkZW47fVxyXG5cdC5tYWluViAqIHtvdXRsaW5lLXN0eWxlOm5vbmV9XHJcblx0Lm1haW4xLCAubWFpbjIsIC5tYWluM3t3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO2Zsb2F0OmxlZnQ7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJSAhaW1wb3J0YW50O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOjEwMCUgYXV0bztcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0YmFja2dyb3VuZDpub25lICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblx0XHQubWFpbkFyZWF7bWF4LXdpZHRoOjEyNjBweDttYXJnaW46MCBhdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuXHRcdC5tYWluQXJlYVd7bWFyZ2luOjAgMCAwIC0xLjQ5JTsgQGluY2x1ZGUgY2xlYXJmaXg7fVxyXG5cdFx0Lm1haW5BcmVhTWd7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnNCl7XHJcblx0XHRcdFx0XHRtYXJnaW46MCAxJTtwYWRkaW5nLWJvdHRvbTozMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbiNmb290ZXJ7bWFyZ2luLXRvcDowO31cclxuLm1haW5WX2N0cmx7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMyl7XHJcblx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdH1cclxuXHQubWFpblZfY3RybF9hcmVhe3dpZHRoOjEyNjBweDtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MCBhdXRvO1xyXG5cdFx0Lm1haW5WX3ByZXY+YXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MzgycHg7bGVmdDotNzBweDtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vbWFpblZfYnRuUHJldi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgMTBweDsgd2lkdGg6NTBweDtoZWlnaHQ6OTNweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC41KTt9XHJcblx0XHQubWFpblZfbmV4dD5he3Bvc2l0aW9uOmFic29sdXRlO3RvcDozODJweDtyaWdodDotNzBweDtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vbWFpblZfYnRuTmV4dC5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgMTBweDsgd2lkdGg6NTBweDtoZWlnaHQ6OTNweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC41KTt9XHJcblx0XHRhe2NvbG9yOiNmZmY7cGFkZGluZzo3MHB4IDEwcHggMCAxMHB4O2ZvbnQtc2l6ZTowLjllbTtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9XHJcblx0XHRhOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzOSw1OCwwLjgpO31cclxuXHRcdGE6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtjb250ZW50OicnO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLXRvcDoxcHggc29saWQgI2ZmZjtoZWlnaHQ6MjVweDt3aWR0aDoxMDAlO3otaW5kZXg6LTF9XHJcblx0XHRhOmhvdmVyOmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7Y29udGVudDonJztkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6I2YwNTI5MTtoZWlnaHQ6MjVweDt3aWR0aDoxMDAlO3otaW5kZXg6LTF9XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi8vIC5tYWluVl9jb250cm9sV3ttYXJnaW46MCBhdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7XHJcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGczKXtcclxuLy8gXHRcdFx0ZGlzcGxheTpub25lO1xyXG4vLyBcdFx0fVxyXG4vLyBcdD4ubWFpblZfY29udHJvbHt3aWR0aDoxMjYwcHg7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOjAgYXV0bztcclxuLy8gXHRcdD5he2NvbG9yOiNmZmY7cGFkZGluZzo3MHB4IDEwcHggMCAxMHB4O2ZvbnQtc2l6ZTowLjllbTtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7Y3Vyc29yOiBwb2ludGVyOyB9XHJcbi8vIFx0XHQ+YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzksNTgsMC44KTt9XHJcbi8vIFx0XHQ+YTpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO2NvbnRlbnQ6Jyc7ZGlzcGxheTpibG9jaztib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmO2hlaWdodDoyNXB4O3dpZHRoOjEwMCU7ei1pbmRleDotMX1cclxuLy8gXHRcdD5hOmhvdmVyOmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7Y29udGVudDonJztkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6I2YwNTI5MTtoZWlnaHQ6MjVweDt3aWR0aDoxMDAlO3otaW5kZXg6LTF9XHJcbi8vIFx0XHQuZl9wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDozODJweDtsZWZ0Oi03MHB4O2JhY2tncm91bmQ6IzAwMCB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vbWFpblZfYnRuUHJldi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgMTBweDsgd2lkdGg6NTBweDtoZWlnaHQ6OTNweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC41KTt9XHJcbi8vIFx0XHQuZl9uZXh0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDozODJweDtyaWdodDotNzBweDtiYWNrZ3JvdW5kOiMwMDAgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL21haW5WX2J0bk5leHQucG5nKSBuby1yZXBlYXQgY2VudGVyIDEwcHg7IHdpZHRoOjUwcHg7aGVpZ2h0OjkzcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNSk7fVxyXG4vLyBcdH1cclxuLy8gfVxyXG5cclxuLm1haW5fdG9we3dpZHRoOjk4LjUlO21hcmdpbi1sZWZ0OjEuNSU7aGVpZ2h0OjEyMHB4O0BpbmNsdWRlIGNsZWFyZml4O3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHRoZWlnaHQ6MTAwcHg7XHJcblx0XHRcdH1cclxuXHRcdC5sb2dvX2VsZWN0aW9ue3BhZGRpbmc6Mi41JSAyJTtwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC50aXR7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzoxLjUlIDA7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTFweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOmxlZnQ7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdHRleHQtYWxpZ246Y2VudGVyO21hcmdpbi10b3A6OHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOjYlO1xyXG5cdFx0XHR9XHJcblx0XHRcdGltZ3tcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpe1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOjQ1MHB4O1xyXG5cdFx0XHRcdFx0d2lkdGg6MTAwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmVsRGF0ZXtkaXNwbGF5OmlubGluZS1ibG9jaztjb2xvcjojMWEyODUxO2xpbmUtaGVpZ2h0OjEuMDU7Zm9udC1zaXplOjEuNWVtO3RleHQtYWxpZ246bGVmdDsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjYjViNWI1O3BhZGRpbmctcmlnaHQ6MTVweDttYXJnaW4tcmlnaHQ6MTBweDtcclxuXHRcdFx0XHQuZGF0ZURheXtmb250LXNpemU6MS41ZW19XHJcblx0XHRcdH1cclxuXHRcdFx0LmVsRGF0ZTJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzFhMjg1MTtmb250LXNpemU6NGVtO2ZvbnQtd2VpZ2h0OjEwMDtcclxuXHRcdFx0XHQuZmJ7Zm9udC13ZWlnaHQ6NDAwfVxyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRmb250LXNpemU6MC45NWVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuLm1lbnVTbGlkZXtwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6MTI2MHB4O21hcmdpbjowIGF1dG87ei1pbmRleDoxMDA7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnNCl7XHJcblx0XHRyaWdodDo1cHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdHJpZ2h0OjA7XHJcblx0fVxyXG5cdHVse3Bvc2l0aW9uOmFic29sdXRlO3RvcDozNXB4O3JpZ2h0OjA7d2lkdGg6MzQwcHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0d2lkdGg6MTAwJTt0b3A6LTQwcHg7XHJcblx0XHRcdH1cclxuXHRcdGxpe2Zsb2F0OmxlZnQ7bWFyZ2luOjAgMCAwIDIlO3Bvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdHdpZHRoOjMzLjMzJTttYXJnaW46MDtcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyYuc2xpY2stY3VycmVudHtiYWNrZ3JvdW5kOnJlZH1cclxuXHRcdFx0YXtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6I2YwNTI5MTtwYWRkaW5nOjAuNmVtIDEuNWVtO2JvcmRlci1yYWRpdXM6IDI1cHg7Y29sb3I6I2ZmZjtmb250LXdlaWdodDpib2xkO21pbi13aWR0aDoxMDBweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MS4xNWVtO291dGxpbmUtc3R5bGU6bm9uZTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0XHR3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6IDA7cGFkZGluZzowLjY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNmZmY7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7fVxyXG5cdFx0XHRcdCYuYWN0aXZlOmFmdGVye2NvbG9yOiMxYTI4NTE7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vYnVfbmF2U2xpZGUucG5nKSBuby1yZXBlYXQgbGVmdCB0b3A7d2lkdGg6OXB4O2hlaWdodDo2cHg7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi02cHg7cmlnaHQ6MjBweDtjb250ZW50OlwiXCI7ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gJi5zbGljay1jdXJyZW50IGF7YmFja2dyb3VuZDojZjA1MjkxO2NvbG9yOiMxYTI4NTE7cGFkZGluZzowLjZlbSAxLjJlbTtcclxuXHRcdFx0Ly8gXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdC8vIFx0XHRwYWRkaW5nOjAuNmVtO2JhY2tncm91bmQ6I2YwNTI5MSB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi9idV9nbmJPbi5wbmcpIGNlbnRlciBib3R0b20gbm8tcmVwZWF0O1xyXG5cdFx0XHQvLyBcdH1cclxuXHRcdFx0Ly8gfVxyXG5cdFx0XHQvLyAmLnNsaWNrLWN1cnJlbnQ6YWZ0ZXJ7Y29sb3I6IzFhMjg1MTtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvbWFpbi9idV9uYXZTbGlkZS5wbmcpIG5vLXJlcGVhdCBsZWZ0IHRvcDt3aWR0aDo5cHg7aGVpZ2h0OjZweDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTZweDtyaWdodDoxNXB4O2NvbnRlbnQ6XCJcIjtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdC8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHQvLyBcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0Ly8gXHR9XHJcblx0XHRcdC8vIH0gXHJcblx0XHRcdCYubmF2MT5hLmFjdGl2ZSBzcGFue2JhY2tncm91bmQ6I2YwNTI5MSB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vaWNvX25hdlNsaWRlMS5wbmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtwYWRkaW5nLWxlZnQ6MjVweDtjb2xvcjojMWEyODUxO31cclxuXHRcdFx0Ji5uYXYyPmEuYWN0aXZlIHNwYW57YmFja2dyb3VuZDojZjA1MjkxIHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvbWFpbi9pY29fbmF2U2xpZGUzLnBuZykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO3BhZGRpbmctbGVmdDoyMnB4O2NvbG9yOiMxYTI4NTE7fVxyXG5cdFx0XHQmLm5hdjM+YS5hY3RpdmUgc3BhbntiYWNrZ3JvdW5kOiNmMDUyOTEgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2ljb19uYXZTbGlkZTIucG5nKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7cGFkZGluZy1sZWZ0OjIwcHg7Y29sb3I6IzFhMjg1MTt9XHJcblxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnNsaWNrLWRvdHMgbGl7cG9zaXRpb246IHJlbGF0aXZlO2Rpc3BsYXk6IGlubGluZS1ibG9jazttYXJnaW46IDA7cGFkZGluZzogMDtjdXJzb3I6IHBvaW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7ZmxvYXQ6bm9uZTt9XHJcbi5zbGljay1kb3RzIGxpIGJ1dHRvbntiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vc2xpZGVQYWdpbmdfb2ZmLnBuZykgbm8tcmVwZWF0IGxlZnQgdG9wO3RleHQtaW5kZW50Oi05OTk5OWVtO21hcmdpbjowO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjE0cHg7cGFkZGluZzowO3RleHQtYWxpZ246Y2VudGVyO2hlaWdodDoxMHB4O2JvcmRlcjowO3BhZGRpbmc6MXB4O31cclxuLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbiwgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vc2xpZGVQYWdpbmdfb24ucG5nKSBuby1yZXBlYXQgbGVmdCB0b3A7d2lkdGg6MzNweDt9XHJcbi5zdG9yeVJ7ZmxvYXQ6bGVmdDt3aWR0aDoyMy41JTttYXJnaW46MCAwIDEuNSUgMS41JTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRcdFx0ZmxvYXQ6bGVmdDt3aWR0aDozMS44JTttYXJnaW46MjVweCAwIDAgMS41JTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdFx0d2lkdGg6OTguNSU7ZmxvYXQ6bm9uZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdC5wb3B1cExpc3R7cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRcdHdpZHRoOjcwJTtmbG9hdDpsZWZ0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHRcdFx0XHR3aWR0aDoxMDAlO2Zsb2F0Om5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5zbGljay1kb3Rze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjI1cHg7dG9wOi0yNXB4fVxyXG5cdFx0XHRcdC5wb3B1cExpc3RfY3RybHtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDotMThweDtcclxuXHRcdFx0XHRcdGJ1dHRvbnt3aWR0aDoxNXB4O2hlaWdodDoxNXB4O3otaW5kZXg6MTAwO2Rpc3BsYXk6YmxvY2s7dGV4dC1pbmRlbnQ6LTk5OTk5ZW07cGFkZGluZzowO31cclxuXHRcdFx0XHRcdC5idG5TdG9wX3BvcHtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvbWFpbi9wb3Bfc3RvcEJ0bi5wbmcpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcclxuXHRcdFx0XHRcdFx0Ji5wYXVzZWR7ZGlzcGxheTpub25lO31cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC5idG5QbGF5X3BvcHtkaXNwbGF5Om5vbmU7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vcG9wX3BsYXlCdG4ucG5nKSBuby1yZXBlYXQgbGVmdCB0b3A7XHJcblx0XHRcdFx0XHRcdCYub257ZGlzcGxheTpibG9ja31cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnBvcHVwTGlzdD51bHtvdmVyZmxvdzpoaWRkZW47fVxyXG5cdFx0XHQucG9wdXBMaXN0IGxpe2Zsb2F0OmxlZnQ7fVxyXG5cdFx0XHQucG9wdXBMaXN0IGxpIGltZ3t3aWR0aDoxMDAlO31cclxuXHRcdFx0LnBvcHVwTGlzdCBsaSBhe2Rpc3BsYXk6YmxvY2s7fVxyXG5cdFx0XHQuc2VydmljZXt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0XHR3aWR0aDozMCU7ZmxvYXQ6bGVmdDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdFx0d2lkdGg6MTAwJTtmbG9hdDpub25lO21hcmdpbi1ib3R0b206MWVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRsaXtmbG9hdDpsZWZ0O3dpZHRoOjUwJTttYXJnaW4tdG9wOjMlO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdFx0XHRmbG9hdDpub25lO3dpZHRoOjEwMCU7cGFkZGluZzo1JSAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdFx0XHRmbG9hdDpsZWZ0O3dpZHRoOjUwJTtwYWRkaW5nOjA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxke2JvcmRlci1yaWdodDoxcHggc29saWQgI2RkZDtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlcjowO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkZGQ7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGF7ZGlzcGxheTpibG9jaztjb2xvcjojZjA1MjkxO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OmJvbGQ7XHJcblx0XHRcdFx0XHRcdHNwYW57ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDo1cHh9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpbWd7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMil7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6NTUlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDppbmhlcml0O21heC13aWR0aDoxMDAlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG4ubm90aWNlQm94e2Zsb2F0OmxlZnQ7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6MTJweCAxNHB4O3dpZHRoOjIzLjUlO2JvcmRlcjoxcHggc29saWQgI2U5ZTllOTttYXJnaW4tbGVmdDoxLjUlO3Bvc2l0aW9uOnJlbGF0aXZlO21pbi13aWR0aDoyMDBweDttaW4taGVpZ2h0OjMyNXB4O1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRcdHdpZHRoOjMxLjglO21hcmdpbi10b3A6MjVweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0d2lkdGg6NDguNSU7bWFyZ2luLXRvcDoxMHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0XHR3aWR0aDo5OC41JTtmbG9hdDpub25lO1xyXG5cdFx0XHR9XHJcblx0XHQmLmZpcnN0e2NsZWFyOmJvdGg7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdFx0Y2xlYXI6bm9uZTtmbG9hdDpsZWZ0O1xyXG5cdFx0XHR9XHJcblx0XHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0Ly8gXHRtYXJnaW4tbGVmdDowO1xyXG5cdFx0XHQvLyB9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0XHRmbG9hdDpub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLmxhc3R7b3ZlcmZsb3c6aGlkZGVuO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRcdHdpZHRoOjY1JTtcclxuXHRcdFx0XHRjbGVhcjpib3RoO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHR3aWR0aDo0OC41JTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHRcdFx0d2lkdGg6OTguNSU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGgze2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2J1MS5naWYpIG5vLXJlcGVhdCBsZWZ0IDJweDtwYWRkaW5nLWxlZnQ6MTVweDtmb250LXNpemU6MS4xZW07bWFyZ2luLWJvdHRvbToxMnB4fVxyXG5cdFx0LmltZ3tkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRpbWd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxODBweDtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRcdFx0bWF4LWhlaWdodDpub25lO1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOm5vbmU7XHJcblx0XHRcdFx0XHR3aWR0aDoxMDAlO2hlaWdodDoxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQudGl0e2NsZWFyOmJvdGg7fVxyXG5cdFx0LnRpdCBhe1xyXG5cdFx0XHRAaW5jbHVkZSBlbGw7bWFyZ2luOjEwcHggMDtwYWRkaW5nLWJvdHRvbToxMHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2VmZWZlZjtcclxuXHRcdH1cclxuXHRcdC50aXRfMXtjbGVhcjpib3RoO0BpbmNsdWRlIGVsbDttYXJnaW46MTBweCAwIDlweCAwO3BhZGRpbmctdG9wOjEwcHg7Zm9udC13ZWlnaHQ6Ym9sZDt9XHJcblx0XHQubm90aWNlTGlzdHtcclxuXHRcdFx0bGkgYXtAaW5jbHVkZSBlbGw7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vYnUyLmdpZikgbm8tcmVwZWF0IGxlZnQgNTAlO2ZvbnQtc2l6ZTowLjllbTtwYWRkaW5nOjNweCAwIDJweCAxMHB4O31cclxuXHRcdH1cclxuXHRcdC5tb3ZpZVd7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdFx0ZmxvYXQ6bGVmdDt3aWR0aDo2OC41JTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0d2lkdGg6MTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0XHQubW92aWVJbWd7d2lkdGg6IDEwMCU7cG9zaXRpb246IHJlbGF0aXZlO3BhZGRpbmc6NTUuNSUgMCAwICFpbXBvcnRhbnQ7aGVpZ2h0OiAwO2xpbmUtaGVpZ2h0OjA7bWFyZ2luLXRvcDowO2JhY2tncm91bmQ6IzAwMDtcclxuXHRcdFx0XHRpZnJhbWUsICNvb3lhbGFwbGF5ZXIsICNvb3lhbGFwbGF5ZXIxe3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO1xyXG5cdFx0XHRcdFx0Lm9vX3Byb21vIHtcclxuXHRcdFx0XHRcdFx0ZGl2Lm9vX3N0YXJ0X2J1dHRvbnttYXJnaW4tbGVmdDo0MCUgIWltcG9ydGFudDttYXJnaW4tdG9wOjE4JSAhaW1wb3J0YW50O2JvdHRvbTppbmhlcml0ICFpbXBvcnRhbnQ7bGVmdDowICFpbXBvcnRhbnQ7fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Lm1vdmllTGlzdHtAaW5jbHVkZSBlbGw7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdFx0ZmxvYXQ6cmlnaHQ7d2lkdGg6MzAlO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRmbG9hdDpub25lO3dpZHRoOjEwMCU7XHJcblx0XHRcdH1cclxuXHRcdFx0bGl7ZmxvYXQ6bGVmdDtib3JkZXI6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXdpZHRoOjJweCAycHggMCAwO3dpZHRoOjUwJTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRcdFx0ZmxvYXQ6bm9uZTt3aWR0aDoxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0XHRmbG9hdDpsZWZ0O3dpZHRoOjUwJTtcclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGF7ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kOiM3ODdkOWEgdXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9idV9hcnIucG5nKSBuby1yZXBlYXQgOTUlIDUwJTtwYWRkaW5nOjEzLjVweCA1LjVweDtjb2xvcjojZmZmO2ZvbnQtc2l6ZTowLjk1ZW07XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOjFlbSA1LjVweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzo1LjVweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCl7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6OS41JSAzJTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5tb3ZpZVNjcm9sbHtcclxuXHRcdFx0aGVpZ2h0Ojg1cHg7b3ZlcmZsb3c6YXV0bztmb250LXNpemU6MC45ZW07bGV0dGVyLXNwYWNpbmc6LTFweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKXtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDoxLjUlO1xyXG5cdFx0XHRcdGZsb2F0OmxlZnQ7XHJcblx0XHRcdFx0d2lkdGg6MzAlO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDowO1xyXG5cdFx0XHRcdC8vZmxvYXQ6bm9uZTtcclxuXHRcdFx0XHR3aWR0aDphdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG4ubm90aWNlQm94LnR5cGUxe3BhZGRpbmc6MTJweCAxNHB4IDhweCAxNXB4O1xyXG5cdC5pbWd7ZGlzcGxheTpibG9jaztcclxuXHRcdFx0aW1ne21heC1oZWlnaHQ6MjcwcHg7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdFx0bWF4LWhlaWdodDppbmhlcml0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdC50aXQgYXtcclxuXHRcdFx0QGluY2x1ZGUgZWxsO21hcmdpbjoxMHB4IDAgNXB4IDA7cGFkZGluZy1ib3R0b206MDtib3JkZXI6MDtcclxuXHRcdH1cclxuXHQuZGF0ZXtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246cmlnaHQ7Y29sb3I6IzY2Njtmb250LXNpemU6MC45ZW07bWFyZ2luOjMuNSUgMDt9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gLm5vdGljZUJveC50eXBlMntcclxuLy8gXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcbi8vIFx0XHR3aWR0aDo0OC41JTttYXJnaW4tbGVmdDoxLjUlO1xyXG4vLyBcdH1cclxuLy8gXHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcbi8vIFx0XHR3aWR0aDo5OC41JTtcclxuLy8gXHR9XHJcbi8vIH1cclxuLm1haW4xe1xyXG5cdFxyXG5cdC5tYWluMV9jb24xe3dpZHRoOjEwMCU7QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0XHQuc3RvcnlMe2Zsb2F0OmxlZnQ7d2lkdGg6NzMuNSU7bWFyZ2luOjAgMCAxLjUlIDEuNSU7YmFja2dyb3VuZDojNDc0YTViO3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRcdFx0d2lkdGg6OTguNSU7bWF4LXdpZHRoOjk4LjUlO2Zsb2F0Om5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1nKXtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6I2ZmZjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdC5tb2JpbGV7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWcpe1xyXG5cdFx0XHRcdFx0ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQucGN3ZWJ7ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1nKXtcclxuXHRcdFx0XHRcdGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuc2xpY2stcHJldntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjMyLjglO3RvcDo0MCU7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vYnRuX3N0b3J5X3ByZXYucG5nKSBuby1yZXBlYXQgbGVmdCB0b3A7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtmb250LXNpemU6MDt0ZXh0LWluZGVudDotOTk5ZW07ei1pbmRleDoxMDAxO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWcpe1xyXG5cdFx0XHRcdFx0XHRsZWZ0OjA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQuc2xpY2stbmV4dHtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDo0MCU7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vYnRuX3N0b3J5X25leHQucG5nKSBuby1yZXBlYXQgbGVmdCB0b3A7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtmb250LXNpemU6MDt0ZXh0LWluZGVudDotOTk5ZW07ei1pbmRleDoxMDAwO31cclxuXHRcdFx0LnN0b3J5X3BhZ2luYXRpb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDtiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAgLDAgLDAgLDAuOSk7cGFkZGluZzowO2NvbG9yOiNmZmY7Zm9udC1zaXplOjAuOTVlbTs7ei1pbmRleDoxMDAwO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1nKXtcclxuXHRcdFx0XHRcdHRvcDowO2JvdHRvbTphdXRvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuc3RvcnlfcGFnaW5ne2Zsb2F0OmxlZnQ7cGFkZGluZzo0cHggOHB4O1xyXG5cdFx0XHRcdFx0PnNwYW57Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjokY29yX3Bpbmt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5zdG9yeV9idG57ZmxvYXQ6cmlnaHQ7XHJcblx0XHRcdFx0XHRcdC5idG5TdG9we2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2J0bl9zdG9yeV9zdG9wLmdpZikgbm8tcmVwZWF0IGxlZnQgdG9wO3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7ei1pbmRleDoxMDA7ZGlzcGxheTpibG9jazt0ZXh0LWluZGVudDotOTk5OTllbTtcclxuXHRcdFx0XHRcdFx0Ji5wYXVzZWR7ZGlzcGxheTpub25lO31cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC5idG5QbGF5e2Rpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvbWFpbi9idG5fc3RvcnlfcGxheS5naWYpIG5vLXJlcGVhdCBsZWZ0IHRvcDt3aWR0aDozMHB4O2hlaWdodDozMHB4O3otaW5kZXg6MTAwO3RleHQtaW5kZW50Oi05OTk5OWVtO1xyXG5cdFx0XHRcdFx0XHQmLm9ue2Rpc3BsYXk6YmxvY2t9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5zdG9yeUFyZWF7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzQ3NGE1Yjt3aWR0aDoxMDAlO1xyXG5cdFx0XHRcdGxpe2Zsb2F0OmxlZnQ7fVxyXG5cdFx0XHRcdC5zbGljay1saXN0e3dpZHRoOjEwMCU7fVxyXG5cdFx0XHRcdFx0IFxyXG5cdFx0XHRcdC5zdG9yeUFyZWFfc2xpZGV7ZmxvYXQ6bGVmdDt9XHJcblx0XHRcdFx0LnN0b3J5X3R4dHtmbG9hdDpsZWZ0O3dpZHRoOjMyLjglO2JhY2tncm91bmQ6IzQ3NGE1Yjtjb2xvcjojZmZmO3BhZGRpbmc6MiU7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZyl7XHJcblx0XHRcdFx0XHRcdHdpZHRoOjk4JTttYXJnaW46MCAxJTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCYucGN3ZWJ7ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWcpe1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ji5tb2JpbGV7ZGlzcGxheTpub25lO1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZyl7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ly8gPmF7ZGlzcGxheTpub25lfVxyXG5cdFx0XHRcdFx0Ly8gPmEuYWN0aXZle2Rpc3BsYXk6YmxvY2s7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fVxyXG5cdFx0XHRcdFx0LnNsaWNrLWxpc3R7d2lkdGg6MTAwJTt9XHJcblx0XHRcdFx0XHR1bHt3aWR0aDoxMDAlO31cclxuXHRcdFx0XHRcdGxpe2Zsb2F0OmxlZnQ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxMDAwfVxyXG5cdFx0XHRcdFx0aDN7Zm9udC13ZWlnaHQ6NDAwO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2J1X3N0b3J5LnBuZykgbm8tcmVwZWF0IHJpZ2h0IDVweDtjb2xvcjojZmZmO21hcmdpbi1ib3R0b206MTVweDtwYWRkaW5nLWJvdHRvbToxNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1ODViNmJ9XHJcblx0XHRcdFx0XHQuc3RvcnlCb3h7YmFja2dyb3VuZDojMzczYTQ5O3BhZGRpbmctYm90dG9tOjlweDttYXJnaW4tYm90dG9tOjEycHg7XHJcblx0XHRcdFx0XHRcdC5zdG9yeV9we2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2J1X3N0b3J5MS5wbmcpIG5vLXJlcGVhdCByaWdodCAwO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MCAxMnB4IDAgMTVweDttYXJnaW46OHB4IDAgMCAtM3B4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDoxMTBweDtjb2xvcjojZmZmO2hlaWdodDoyNnB4O292ZXJmbG93OmhpZGRlbjtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZyl7XHJcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdHB7cGFkZGluZzo3cHggMTJweDtjb2xvcjojZmY4MGIzO2ZvbnQtd2VpZ2h0OiBib2xkO2ZvbnQtc2l6ZToxLjA1ZW07bGluZS1oZWlnaHQ6MS4zO2xldHRlci1zcGFjaW5nOi0xcHg7aGVpZ2h0OjQ1cHg7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0YXtjb2xvcjojZmY4MGIzfVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRoNHtmb250LXdlaWdodDo2MDA7Y29sb3I6I2ZmODBiMztmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToxLjFlbTttYXJnaW46NnB4IDAgMTJweCAwO31cclxuXHRcdFx0XHRcdHB7Y29sb3I6I2VmZWZlZjtmb250LXNpemU6MC45NWVtO2hlaWdodDoxNDNweDtvdmVyZmxvdzpoaWRkZW47XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMyl7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OjYwcHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWcpe1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTpub25lO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC5idG5TdG9yeXtiYWNrZ3JvdW5kOiM5ZWEwYWI7Y29sb3I6IzQ3NGE1YjtwYWRkaW5nOjIlO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjo3JSAwO1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZyl7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luOjMlIDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnN0b3J5X2ltZ3tmbG9hdDpsZWZ0O3dpZHRoOjY3LjIlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1nKXtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDoxMDAlO2Zsb2F0Om5vbmU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCB1bHt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjtcclxuXHRcdFx0XHRcdFx0IGxpe2Zsb2F0OmxlZnQ7XHJcblx0XHRcdFx0XHRcdFx0aW1ne3dpZHRoOjEwMCU7fVxyXG5cdFx0XHRcdFx0XHQgfVxyXG5cdFx0XHRcdFx0IH1cclxuXHRcdFx0XHRcdCBcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmJ4LWNvbnRyb2xze1xyXG5cdFx0XHRcdFx0PmRpdnt6LWluZGV4OjEwMH1cclxuXHRcdFx0XHRcdC5ieC1jb250cm9scy1kaXJlY3Rpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjQzJTt3aWR0aDoxMDAlO1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQuYngtcGFnZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MzBweDtiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAgLDAgLDAgLDAuOSk7cGFkZGluZzo1cHg7Y29sb3I6I2ZmZjtmb250LXNpemU6MC45NWVtO1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZyl7XHJcblx0XHRcdFx0XHRcdFx0dG9wOjA7Ym90dG9tOmF1dG87XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIC5ieC1jb250cm9scy1hdXRvLWl0ZW17cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDt9XHJcblx0XHRcdFx0XHQuYngtY29udHJvbHMtYXV0b3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZyl7XHJcblx0XHRcdFx0XHRcdFx0dG9wOjA7Ym90dG9tOmF1dG87XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0LmJ4LXN0b3B7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vYnRuX3N0b3J5X3N0b3AuZ2lmKSBuby1yZXBlYXQgbGVmdCB0b3A7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDt6LWluZGV4OjEwMDtkaXNwbGF5OmJsb2NrO3RleHQtaW5kZW50Oi05OTllbX1cclxuXHRcdFx0XHRcdFx0LmJ4LXN0b3AuYWN0aXZle2Rpc3BsYXk6bm9uZX1cclxuXHRcdFx0XHRcdFx0LmJ4LXN0YXJ0e2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2J0bl9zdG9yeV9wbGF5LmdpZikgbm8tcmVwZWF0IGxlZnQgdG9wO3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7ei1pbmRleDoxMDA7ZGlzcGxheTpibG9jazt0ZXh0LWluZGVudDotOTk5ZW19XHJcblx0XHRcdFx0XHRcdC5ieC1zdGFydC5hY3RpdmV7ZGlzcGxheTpub25lfVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuc3RvcnlSe2Zsb2F0OmxlZnQ7fVxyXG5cdFx0XHJcblx0XHQubWFpbjFfY29uMlJ7ZmxvYXQ6bGVmdDt3aWR0aDoyMy41JTttYXJnaW4tbGVmdDoxLjUlO21hcmdpbi1ib3R0b206MjBweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKXtcclxuXHRcdFx0XHRmbG9hdDpyaWdodDt3aWR0aDozMS44JTttYXJnaW4tdG9wOjI1cHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdGZsb2F0OnJpZ2h0O3dpZHRoOjQ4LjUlO21hcmdpbi10b3A6MTBweDttYXJnaW4tYm90dG9tOjA7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdFx0XHR3aWR0aDo5OC41JTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0LnRhYkluZm97YmFja2dyb3VuZDojZmZmO2hlaWdodDoxOTVweDtib3JkZXI6MXB4IHNvbGlkICNlOWU5ZTk7Ym9yZGVyLXRvcDowO21hcmdpbi1ib3R0b206NiU7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTo0JTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnRhYkluZm8+dWx7cG9zaXRpb246cmVsYXRpdmU7fVxyXG5cdFx0XHQudGFiSW5mbz51bCA+IGxpe2Zsb2F0OmxlZnQ7bWFyZ2luLWxlZnQ6MXB4O21hcmdpbjowIDAgMS41JSAwO3dpZHRoOjMzLjMzJX1cclxuXHRcdFx0LnRhYkluZm8+dWwgPiBsaSA+IGF7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojNWM1YzVjO2xldHRlci1zcGFjaW5nOi0xcHg7cGFkZGluZzo3cHggMDtiYWNrZ3JvdW5kOiNkOWRiZGU7Ym9yZGVyOjFweCBzb2xpZCAjZTllOWU5O2ZvbnQtc2l6ZToxZW07fVxyXG5cdFx0XHQudGFiSW5mbz4gdWwgPiBsaSA+IGEub257Y29sb3I6IzMzMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZmO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vYnVfYXJyX2Rvd24ucG5nKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTtwYWRkaW5nOjdweCAwIDdweCAwO21hcmdpbi1sZWZ0Oi0xcHg7fVxyXG5cdFx0XHQudGFiSW5mb19hcmVhe3Bvc2l0aW9uOmFic29sdXRlO3RvcDozMnB4O2xlZnQ6MDt3aWR0aDoxMDAlO3BhZGRpbmc6MTNweCAyJSAwIDE1cHg7ZGlzcGxheTpub25lO31cclxuXHRcdFx0LnRhYkluZm9fYXJlYT51bD5saXttYXJnaW46MC42ZW0gMDtmbG9hdDpub25lO292ZXJmbG93OmhpZGRlbjt9XHJcblx0XHRcdC50YWJJbmZvX2FyZWE+dWw+bGk+YXtmb250LXNpemU6MC45NWVtO3RleHQtYWxpZ246bGVmdDtsaW5lLWhlaWdodDoxMjklO2NvbG9yOiM2NjY7YmFja2dyb3VuZDpub25lOyBAaW5jbHVkZSBlbGw7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vYnUyLmdpZikgbm8tcmVwZWF0IGxlZnQgOHB4O3BhZGRpbmctbGVmdDoxMHB4O31cclxuXHRcdFx0LnRhYkluZm9fYXJlYSAudGFibW9yZXttYXJnaW4tdG9wOjE0cHg7fVxyXG5cdFx0XHQudGFiSW5mb19hcmVhIC50YWJtb3JlIGF7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTpibG9jaztjb2xvcjojOTY5Njk2O2ZvbnQtc2l6ZTowLjk1ZW07Ym9yZGVyLXRvcDoxcHggc29saWQgI2RkZDtwYWRkaW5nLXRvcDozcHg7fVxyXG5cdFx0XHRcclxuXHRcdFx0LnBvcHVwMkxpc3R7cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnBvcHVwMkxpc3RfY3RybHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MXB4O3JpZ2h0OjA7XHJcblx0XHRcdFx0XHRidXR0b257d2lkdGg6MTVweDtoZWlnaHQ6MTVweDt6LWluZGV4OjEwMDtkaXNwbGF5OmJsb2NrO3RleHQtaW5kZW50Oi05OTk5OWVtO3BhZGRpbmc6MDt9XHJcblx0XHRcdFx0XHQuYnRuU3RvcF9wb3Aye2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL3BvcF9zdG9wQnRuLnBuZykgbm8tcmVwZWF0IGxlZnQgdG9wO1xyXG5cdFx0XHRcdFx0XHQmLnBhdXNlZHtkaXNwbGF5Om5vbmU7fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0LmJ0blBsYXlfcG9wMntkaXNwbGF5Om5vbmU7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vcG9wX3BsYXlCdG4ucG5nKSBuby1yZXBlYXQgbGVmdCB0b3A7XHJcblx0XHRcdFx0XHRcdCYub257ZGlzcGxheTpibG9ja31cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnNsaWNrLWRvdHN7ZmxvYXQ6cmlnaHQ7bWFyZ2luLXJpZ2h0OjI1cHg7fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5wb3B1cDJMaXN0PnVse292ZXJmbG93OmhpZGRlbjt9XHJcblx0XHRcdC5wb3B1cDJMaXN0IGxpe2Zsb2F0OmxlZnQ7fVxyXG5cdFx0XHQucG9wdXAyTGlzdCBsaSBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt9XHJcblx0XHRcdC5wb3B1cDJMaXN0IGxpIGF7ZGlzcGxheTpibG9jazt9XHJcblx0XHRcdCYuYWxsaW1wb3BNb2JpbGV7XHJcblx0XHRcdFx0LnBvcHVwMkxpc3R7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5tYWluMntcclxuXHRcdFxyXG5cdC5zdG9yeVJ7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRtYXJnaW4tdG9wOi0xNy41JTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTttYXJnaW4tdG9wOjAlO292ZXJmbG93OmhpZGRlbjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHRcclxuXHJcbiAubWFpbjJfY29uMntcclxuXHQ+ZGl2e21hcmdpbi10b3A6LTEzJTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDotMTcuNSU7XHJcblx0XHRcdFx0ICYubGFzdCwgJi5pc3N1ZXttYXJnaW4tdG9wOjI1cHh9XHJcblx0XHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MTBweDtcclxuXHRcdFx0ICYuaXNzdWV7bWFyZ2luLXRvcDowfVxyXG5cdFx0fVxyXG5cdH1cdFxyXG5cdC5tYWluMl9jb24yXzF7ZmxvYXQ6bGVmdDttaW4td2lkdGg6MjAwcHg7bWFyZ2luLWxlZnQ6MS41JTt3aWR0aDoyMy41JTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdHdpZHRoOjQ4LjUlO21hcmdpbi10b3A6MjVweDtcclxuXHRcdFx0Lm5vdGljZUJveHttYXJnaW46MDtcclxuXHRcdFx0XHQubW92aWVXe3dpZHRoOjEwMCU7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdHdpZHRoOjQ4LjUlO21hcmdpbi10b3A6MDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0d2lkdGg6OTguNSU7XHJcblx0XHR9XHJcblx0XHQubm90aWNlQm94LnR5cGUze21pbi1oZWlnaHQ6aW5oZXJpdDtwYWRkaW5nOjEycHggMTRweCA2LjUlIDE1cHg7d2lkdGg6MTAwJTttYXJnaW4tbGVmdDowO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRcdHBhZGRpbmc6MTJweCAxNHB4IDkuNSUgMTVweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHRcdFx0ZmxvYXQ6bGVmdDtcclxuXHRcdFx0fVxyXG5cdFx0XHQudGl0IGF7cGFkZGluZy1ib3R0b206MDttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLWJvdHRvbTowfVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuaXNzdWUxe2Zsb2F0OmxlZnQ7bWFyZ2luOjEuNSUgMCAwIDA7d2lkdGg6MTAwJTtsaW5lLWhlaWdodDoxLjM7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRtYXJnaW4tbGVmdDowO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRtYXJnaW4tdG9wOjEwcHg7XHJcblx0XHR9XHJcblx0XHRsaXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDozcHg7XHJcblx0XHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0Ly8gXHQvLyBtYXJnaW4tYm90dG9tOjMlO1xyXG5cdFx0XHQvLyB9XHJcblx0XHRcdCY6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowO31cclxuXHRcdFx0YXtkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRcdGgze3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MDtiYWNrZ3JvdW5kOiNmZmYgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2J1MS5naWYpIG5vLXJlcGVhdCAxMHB4IDVweDtwYWRkaW5nOjVweCA1cHggNXB4IDI4cHg7Zm9udC1zaXplOjEuMWVtO31cclxuXHRcdFx0XHRpbWd7d2lkdGg6MTAwJTt9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0PmRpdi5ub3RpY2VCb3gudHlwZTF7XHJcblx0XHRcdGNsZWFyOmJvdGg7bWFyZ2luLWJvdHRvbToxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuIH1cclxuXHJcblxyXG4udmlzdWFsMntmbG9hdDpsZWZ0O3dpZHRoOjczLjUlO21hcmdpbi1sZWZ0OjEuNSU7XHRcclxuXHRcdC52aXN1YWxfbW9iaWxle2Rpc3BsYXk6bm9uZTt9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHR3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyO1xyXG5cdFx0XHRpbWd7bWF4LXdpZHRoOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXI7fVxyXG5cdFx0XHRcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0ZmxvYXQ6bm9uZTtcclxuXHRcdFx0LnZpc3VhbF9wY3dlYntkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW47aGVpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7fVxyXG5cdFx0XHQudmlzdWFsX21vYmlsZXtkaXNwbGF5OmlubGluZS1ibG9jazt2aXNpYmlsaXR5OnZpc2libGV9XHJcblx0XHR9XHJcblxyXG59XHJcbi5pc3N1ZXtmbG9hdDpsZWZ0O21hcmdpbi1sZWZ0OjEuNSU7d2lkdGg6MjMuNSU7bGluZS1oZWlnaHQ6MS4zO21hcmdpbi1ib3R0b206NDBweDttYXJnaW4tdG9wOjI1cHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKXtcclxuXHRcdGZsb2F0OnJpZ2h0O3dpZHRoOjQ4LjUlO21hcmdpbi1sZWZ0OjEuNSU7bWFyZ2luLXRvcDowO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHR3aWR0aDo5OC41JTttYXJnaW4tdG9wOjAgIWltcG9ydGFudDtcclxuXHR9XHJcblx0bGl7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6M3B4O2JhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206MyU7XHJcblx0XHR9XHJcblx0XHQmOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MDt9XHJcblx0XHRhe2Rpc3BsYXk6YmxvY2s7XHJcblx0XHRcdGgze3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MDtiYWNrZ3JvdW5kOiNmZmYgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2J1MS5naWYpIG5vLXJlcGVhdCAxMHB4IDZweDtwYWRkaW5nOjVweCA4cHggNXB4IDIzcHg7Zm9udC1zaXplOjEuMWVtO31cclxuXHRcdFx0aW1ne3dpZHRoOjEwMCU7fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5tb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjEuNSU7XHJcblx0YXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTBweDt9XHJcbn1cclxuXHJcbi5tYWluM3tcclxuXHQuc3RvcnlSIHttYXJnaW4tYm90dG9tOjA7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcclxuXHQuaW5mb0JveHtmbG9hdDpsZWZ0O2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjE1cHggMTRweDt3aWR0aDoyMy41JTttYXJnaW4tbGVmdDoxLjUlO2JvcmRlcjoxcHggc29saWQgI2U5ZTllOTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdFx0d2lkdGg6MzEuOCU7aGVpZ2h0OjM1MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHR3aWR0aDo0OC41JTtoZWlnaHQ6YXV0bztcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHRcdFx0d2lkdGg6OTguNSU7ZmxvYXQ6bm9uZTttYXJnaW4tdG9wOjEwcHg7XHJcblx0XHRcdH1cclxuXHRcdCYuZmlyc3R7Y2xlYXI6Ym90aDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdGZsb2F0Om5vbmU7Y2xlYXI6Ym90aDttYXJnaW4tdG9wOjA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0aDN7Zm9udC1zaXplOjEuMWVtO21hcmdpbi1ib3R0b206MTVweDtAaW5jbHVkZSBlbGw7XHJcblx0XHRcdHNwYW57Zm9udC1zaXplOjAuODVlbTtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzY2NjtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRcdFx0ZGlzcGxheTpub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0dWx7bGluZS1oZWlnaHQ6MS42O1xyXG5cdFx0XHQ+bGl7Zm9udC1zaXplOjFlbTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OmJvbGQ7YmFja2dyb3VuZDojNDc0YTViO1xyXG5cdFx0XHRcdD5zcGFue3BhZGRpbmc6NnB4IDEycHg7ZGlzcGxheTpibG9ja31cclxuXHRcdFx0XHQ+dWx7YmFja2dyb3VuZDojZWZlZmVmO3BhZGRpbmc6Mi44JSAwO1xyXG5cdFx0XHRcdFx0Pmxpe2JhY2tncm91bmQ6I2VmZWZlZjtwYWRkaW5nLWxlZnQ6MTVweDtsaW5lLWhlaWdodDoxLjc7XHJcblx0XHRcdFx0XHRcdD5he0BpbmNsdWRlIGVsbDtmb250LXNpemU6MC45NWVtO2ZvbnQtd2VpZ2h0Om5vcm1hbDtjb2xvcjojNjY2O2xldHRlci1zcGFjaW5nOi0xcHg7XHJcblx0XHRcdFx0XHRcdFx0JjpiZWZvcmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29udGVudDpcIi0gXCI7fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdD5saS5oYWxme3dpZHRoOjUwJTtmbG9hdDpsZWZ0O2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZmZmO31cclxuXHRcdH1cclxuXHRcdC5tb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMnB4O3JpZ2h0OjE1cHg7fVxyXG5cdH1cclxuXHQuZXh2b3Rpbmd7ZmxvYXQ6bGVmdDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvbWFpbi9iZ19leHZvdGluZy5qcGcpIG5vLXJlcGVhdCBsZWZ0IHRvcDtiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO3BhZGRpbmc6MiUgMy41JSAxMCUgMy41JTt3aWR0aDoyMy41JTttYXJnaW4tbGVmdDoxLjUlO3Bvc2l0aW9uOnJlbGF0aXZlO21heC1oZWlnaHQ6MzUycHg7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdFx0d2lkdGg6MzEuOCU7bWF4LWhlaWdodDppbmhlcml0O2JhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7cGFkZGluZy1ib3R0b206MTQuNSU7aGVpZ2h0OjM1MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0XHR3aWR0aDo5OC41JTttYXJnaW4tdG9wOjIlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjI1JTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDoxMHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0aDN7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1ib3R0b206MTAlO2ZvbnQtc2l6ZToyZW07bGV0dGVyLXNwYWNpbmc6LTJweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206NSU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHVse1xyXG5cdFx0XHRsaXttYXJnaW4tYm90dG9tOjFweDtwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFx0XHRhe2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDpyZ2JhKDI2LDQwLDgxLDAuOTUpO2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzoxMHB4O0BpbmNsdWRlIGVsbDtcclxuXHRcdFx0XHRcdCY6aG92ZXJ7Zm9udC13ZWlnaHQ6Ym9sZDt9XHJcblx0XHRcdFx0XHQvLyAmOmhvdmVyOmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7Y29udGVudDonJztkaXNwbGF5OmJsb2NrO2JvcmRlcjoycHggc29saWQgI2YwNTI5MTt3aWR0aDoxMDAlO31cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQudlNlcnZpY2V7Y2xlYXI6Ym90aDttYXJnaW46MjVweCAwIDEuNSUgMS41JTtiYWNrZ3JvdW5kOiM0NzRhNWI7ZmxvYXQ6bGVmdDtwYWRkaW5nOjAuNmVtO3dpZHRoOjk4LjUlO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKXtcclxuXHRcdFx0ZmxvYXQ6bGVmdDt3aWR0aDo2NSU7Y2xlYXI6bm9uZTttYXJnaW46MjVweCAwIDAgMS41JTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuXHRcdFx0ZmxvYXQ6bGVmdDt3aWR0aDo5OC41JTttYXJnaW4tdG9wOjEwcHg7XHJcblx0XHR9XHJcblx0XHR1bHtcclxuXHRcdFx0bGl7ZmxvYXQ6bGVmdDt3aWR0aDoxMS4xMSU7cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKXtcclxuXHRcdFx0XHRcdHdpZHRoOjMzLjMlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcblx0XHRcdFx0XHR3aWR0aDozMS41JTttYXJnaW46MCAwLjklIDEuOCUgMC45JTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YXt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmJsb2NrO2NvbG9yOiNmZmY7Zm9udC1zaXplOjAuODVlbTtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKXtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzoyJTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHJcblx0XHRcdFx0XHQvLyBcdCY6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNTUsMCwwLDAuMyk7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxMDtjb250ZW50OlwiIFwiO31cclxuXHRcdFx0XHRcdC8vIFx0ICY6YWZ0ZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgIzQ3NGE1Yjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MXB4O2JvdHRvbToyN3B4OyB6LWluZGV4OjExO2NvbnRlbnQ6XCIgXCI7fVxyXG5cdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRwe2Rpc3BsYXk6YmxvY2s7cGFkZGluZzowLjVlbSAwO0BpbmNsdWRlIGVsbDtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOi0xcHg7cGFkZGluZzowLjhlbSAwIDAuM2VtIDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5hYm91dEJveHtmbG9hdDpsZWZ0O2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjE1cHggMTRweDt3aWR0aDoyMy41JTttYXJnaW4tbGVmdDoxLjUlO3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRcdHdpZHRoOjQ4LjUlO21hcmdpbi10b3A6MjVweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDoxMHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0XHR3aWR0aDo5OC41JTtcclxuXHRcdFx0fVxyXG5cdFx0Ji5maXJzdHttYXJnaW4tbGVmdDoxLjUlO2NsZWFyOmJvdGg7YmFja2dyb3VuZDojZTNjNGQ1O31cclxuXHRcdCYuYmcye2JhY2tncm91bmQ6I2FlY2ZlMTt9XHJcblx0XHQmLmJnM3tiYWNrZ3JvdW5kOiNjNGRkZTM7fVxyXG5cdFx0Ji5iZzR7YmFja2dyb3VuZDojYzJkZmRiO31cclxuXHRcdFxyXG5cdFx0aDN7Zm9udC1zaXplOjEuOTVlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6IzQ3NGE1Yjt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MWVtIDAgMS40ZW0gMDtsZXR0ZXItc3BhY2luZzotMXB4O0BpbmNsdWRlIGVsbDt9XHJcblx0XHR1bHtcclxuXHRcdFx0bGl7ZmxvYXQ6bGVmdDt3aWR0aDo1MCU7XHJcblx0XHRcdFx0Ji50eXBlIGF7cGFkZGluZzowLjdlbSAwIDAuNWVtO2xpbmUtaGVpZ2h0OjEuMTsgfVxyXG5cdFx0XHRcdGF7QGluY2x1ZGUgZWxsO2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzowLjllbSAwO2JhY2tncm91bmQ6I2ZmZjtmb250LXNpemU6MS4xZW07Y29sb3I6IzQ3NGE1YjtsZXR0ZXItc3BhY2luZzotMXB4O21hcmdpbjoxcHg7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQubW9yZTF7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vbW9yZTEucG5nKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO3BhZGRpbmctcmlnaHQ6MTdweDtmb250LXNpemU6MC45ZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246IGFic29sdXRlO3RvcDozNyU7cmlnaHQ6MjBweDtcclxuXHRcdFx0YXtjb2xvcjojNDc0YTVifVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuYWxsaW17ZmxvYXQ6bGVmdDt3aWR0aDoyMy41JTtib3JkZXI6MXB4IHNvbGlkICNlOWU5ZTk7Ym9yZGVyLXRvcDozcHggc29saWQgI2YwNTI5MTtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzoxLjNlbTttYXJnaW4tbGVmdDoxLjUlO21hcmdpbi1ib3R0b206MjBweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdFx0d2lkdGg6OTguNSU7bWFyZ2luLXRvcDoyNXB4O1xyXG5cdFx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0d2lkdGg6NDguNSU7XHJcblx0XHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKXtcclxuXHRcdFx0XHR3aWR0aDo5OC41JTtcclxuXHRcdFx0fVxyXG5cdFx0aDN7Y29sb3I6I2YwNTI5MTtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvbWFpbi9kb3QuZ2lmKSByZXBlYXQteCBsZWZ0IGJvdHRvbTtmb250LXNpemU6MS4xZW07cGFkZGluZy1ib3R0b206MWVtO1xyXG5cdFx0XHRzcGFue2NvbG9yOiMwMDB9XHJcblx0XHR9XHJcblx0XHRwe3BhZGRpbmc6MC43ZW0gMCAxLjJlbSAwO2ZvbnQtc2l6ZToxLjRlbTtsaW5lLWhlaWdodDoxMTklO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpe1xyXG5cdFx0XHRcdGZsb2F0OmxlZnQ7XHJcblx0XHRcdH1cclxuXHRcdFx0c3BhbntkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHVse0BpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdFx0XHR3aWR0aDo2MCU7ZmxvYXQ6cmlnaHQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcblx0XHRcdFx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0bGl7ZmxvYXQ6bGVmdDt3aWR0aDozMy4zJTtib3JkZXItbGVmdDoxcHggc29saWQgI2ZmZjttYXJnaW4tbGVmdDotMXB4O1xyXG5cdFx0XHRcdGF7ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kOiM0NzRhNWI7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6I2ZmZjtwYWRkaW5nOjEuNGVtIDA7bGluZS1oZWlnaHQ6MTE5JTtmb250LXNpemU6MS4wNWVtO2JvcmRlci1ib3R0b206M3B4IHNvbGlkICM0NzRhNWI7XHJcblx0XHRcdFx0XHQmOmhvdmVye2JvcmRlci1ib3R0b206M3B4IHNvbGlkICNmMDUyOTE7Zm9udC13ZWlnaHQ6Ym9sZDt9XHJcblx0XHRcdFx0XHRzcGFue2Rpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSl7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTppbmxpbmU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpe1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmZfbWVudXttYXJnaW4tdG9wOjA7fVxyXG4uYmFubmVyWm9uZXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTVlNWU1O3BhZGRpbmc6MTFweCAwO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OiBoaWRkZW47XHJcblx0LmJhbm5lcl9jdGx7ZmxvYXQ6IGxlZnQ7IHdpZHRoOiAyMDBweDsgcGFkZGluZzoxMHB4IDAgMCAgMzJweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHQgXHRkaXNwbGF5Om5vbmU7XHJcblx0XHQgfVxyXG5cdFx0aDJ7Zm9udC1zaXplOjEuMDVlbTttYXJnaW4tYm90dG9tOjhweDtjb2xvcjojZmZmO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHQgXHRkaXNwbGF5Om5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmJhbm5lcl9idG57XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0IFx0ZGlzcGxheTpub25lO1xyXG5cdFx0fVxyXG5cdFx0YSwgYnV0dG9ue2Rpc3BsYXk6IGlubGluZS1ibG9ja31cclxuXHRcdC5idG5TdG9we2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9idG5fYmFubmVyX3N0b3AuZ2lmKSBuby1yZXBlYXQgbGVmdCB0b3A7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDt6LWluZGV4OjEwMDt0ZXh0LWluZGVudDotOTk5ZW07XHJcblx0XHQmLnBhdXNlZHtkaXNwbGF5Om5vbmU7fVxyXG5cdFx0fVxyXG5cdFx0LmJ0blBsYXl7ZGlzcGxheTpub25lO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9idG5fYmFubmVyX3BsYXkuZ2lmKSBuby1yZXBlYXQgbGVmdCB0b3A7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDt6LWluZGV4OjEwMDt0ZXh0LWluZGVudDotOTk5ZW07XHJcblx0XHRcdCYub257ZGlzcGxheTppbmxpbmUtYmxvY2t9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5iYW5uZXIge292ZXJmbG93OiBoaWRkZW47bWFyZ2luOjAgNDBweDtcclxuXHRcdHVse1xyXG5cdFx0XHRsaXsgZmxvYXQ6bGVmdDttYXJnaW46NXB4IDA7dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdGltZ3ttYXgtd2lkdGg6MTAwJTt9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5zbGljay1wcmV2e2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9idG5fYmFubmVyX2xlZnQuZ2lmKSBuby1yZXBlYXQgbGVmdCB0b3A7d2lkdGg6MjJweDtoZWlnaHQ6NDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LTIzcHg7bGVmdDoxNzBweDt0ZXh0LWluZGVudDotOTk5ZW07XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdCBcdGxlZnQ6MTJweDtcclxuXHRcdFx0IH1cclxuXHRcdH1cclxuXHRcdC5zbGljay1uZXh0e2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9idG5fYmFubmVyX3JpZ2h0LmdpZikgbm8tcmVwZWF0IGxlZnQgdG9wO3dpZHRoOjIycHg7aGVpZ2h0OjQ2cHg7cG9zaXRpb246YWJzb2x1dGU7O3RvcDo1MCU7bWFyZ2luLXRvcDotMjNweDtyaWdodDowOyB0ZXh0LWluZGVudDotOTk5ZW07XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnNCkge1xyXG5cdFx0XHQgXHRyaWdodDoxMnB4O1xyXG5cdFx0XHQgfVxyXG5cdFx0fVxyXG5cdH1cclxufVx0IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGFzIFNldHRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaGFzKCRzZXR0aW5nKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludCwgJHNldHRpbmcpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZXQgU2V0dGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0KCRzZXR0aW5nKSB7XG4gIEBpZiBicmVha3BvaW50LWhhcygkc2V0dGluZykge1xuICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludCwgJHNldHRpbmcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJEJyZWFrcG9pbnQtU2V0dGluZ3MsICRzZXR0aW5nKTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNldCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaWYgKHN0ci1pbmRleCgkc2V0dGluZywgJy0nKSBvciBzdHItaW5kZXgoJHNldHRpbmcsICdfJykpIGFuZCBzdHItaW5kZXgoJHNldHRpbmcsICcgJykgPT0gbnVsbCB7XG4gICAgQHdhcm4gXCJXb3JkcyBpbiBCcmVha3BvaW50IHNldHRpbmdzIHNob3VsZCBiZSBzZXBhcmF0ZWQgYnkgc3BhY2VzLCBub3QgZGFzaGVzIG9yIHVuZGVyc2NvcmVzLiBQbGVhc2UgcmVwbGFjZSBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzIGJldHdlZW4gd29yZHMgd2l0aCBzcGFjZXMuIFNldHRpbmdzIHdpbGwgbm90IHdvcmsgYXMgZXhwZWN0ZWQgdW50aWwgY2hhbmdlZC5cIjtcbiAgfVxuICAkYnJlYWtwb2ludDogbWFwLW1lcmdlKCRicmVha3BvaW50LCAoJHNldHRpbmc6ICR2YWx1ZSkpICFnbG9iYWw7XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgJGJyZWFrcG9pbnQtY2hhbmdlOiBicmVha3BvaW50LXNldCgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbkBtaXhpbiBia3B0LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuQG1peGluIGJrcHQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVtb3ZlIFNldHRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAxIHtcbiAgICAkc2V0dGluZ3M6IG50aCgkc2V0dGluZ3MsIDEpO1xuICB9XG5cbiAgQGVhY2ggJHNldHRpbmcgaW4gJHNldHRpbmdzIHtcbiAgICAkYnJlYWtwb2ludDogbWFwLXJlbW92ZSgkYnJlYWtwb2ludCwgJHNldHRpbmcpICFnbG9iYWw7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MuLi4pIHtcbiAgJGJyZWFrcG9pbnQtcmVzZXQ6IGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzKTtcbn1cblxuQG1peGluIGJrcHQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gICRicmVha3BvaW50LXJlc2V0OiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncyk7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIEJyZWFrcG9pbnQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpO1xuJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEhhcyBDb250ZXh0XG4vLyBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHlvdSBhcmUgaW5zaWRlIGEgQnJlYWtwb2ludCBxdWVyeVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1oYXMtY29udGV4dCgpIHtcbiAgQGlmIGxlbmd0aCgkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50KSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBHZXQgQ29udGV4dFxuLy8gJGZlYXR1cmU6IElucHV0IGZlYXR1cmUgdG8gZ2V0IGl0J3MgY3VycmVudCBNUSBjb250ZXh0LiBSZXR1cm5zIGZhbHNlIGlmIG5vIGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJGZlYXR1cmUpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKSB7XG4gICAgJGdldDogbWFwLWdldCgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSk7XG4gICAgLy8gU3BlY2lhbCBoYW5kbGluZyBvZiBuby1xdWVyeSBmcm9tIGdldCBzaWRlIHNvIC9mYWxzZS8gcHJlcGVuZHMgYXJlbid0IHJldHVybmVkXG4gICAgQGlmICRmZWF0dXJlID09ICduby1xdWVyeScge1xuICAgICAgQGlmIHR5cGUtb2YoJGdldCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJGdldCkgPiAxIGFuZCBudGgoJGdldCwgMSkgPT0gZmFsc2Uge1xuICAgICAgICAkZ2V0OiBudGgoJGdldCwgbGVuZ3RoKCRnZXQpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkZ2V0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgYnJlYWtwb2ludC1oYXMtY29udGV4dCgpIGFuZCAkZmVhdHVyZSA9PSAnbWVkaWEnIHtcbiAgICAgIEByZXR1cm4gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIGZ1bmN0aW9uIHRvIHNldCBjb250ZXh0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSkge1xuICBAaWYgJHZhbHVlID09ICdtb25vY2hyb21lJyB7XG4gICAgJGZlYXR1cmU6ICdtb25vY2hyb21lJztcbiAgfVxuXG4gICRjdXJyZW50OiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgQGlmICRjdXJyZW50IGFuZCBsZW5ndGgoJGN1cnJlbnQpID09ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgIEB3YXJuIFwiWW91IGhhdmUgYWxyZWFkeSBxdWVyaWVkIGFnYWluc3QgYCN7JGZlYXR1cmV9YC4gVW5leHBlY3RlZCB0aGluZ3MgbWF5IGhhcHBlbiBpZiB5b3UgcXVlcnkgYWdhaW5zdCB0aGUgc2FtZSBmZWF0dXJlIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIGBhbmRgIHF1ZXJ5LiBCcmVha3BvaW50IGlzIG92ZXJ3cml0aW5nIHRoZSBjdXJyZW50IGNvbnRleHQgd2l0aCBgI3skdmFsdWV9YFwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSkge1xuICAgICR2LWhvbGRlcjogKCk7XG4gICAgQGZvciAkaSBmcm9tIDEgdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsICR2YWx1ZSk7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZmVhdHVyZTogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHYtaG9sZGVyOiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJHYtaG9sZGVyKTtcbiAgICBAZm9yICRpIGZyb20gJGxlbmd0aCB0byAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IC0gMSB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsICR2YWx1ZSk7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZmVhdHVyZTogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIGZ1bmN0aW9uIHRvIHJlc2V0IGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cyB7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWdsb2JhbDtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbnZlcnRzIHRoZSBpbnB1dCB2YWx1ZSB0byBCYXNlIEVNc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC10by1iYXNlLWVtKCR2YWx1ZSkge1xuICAkdmFsdWUtdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIC8vIFdpbGwgY29udmVydCByZWxhdGl2ZSBFTXMgaW50byByb290IEVNcy5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpIGFuZCB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpKSA9PSAnbnVtYmVyJyBhbmQgJHZhbHVlLXVuaXQgPT0gJ2VtJyB7XG4gICAgJGJhc2UtdW5pdDogdW5pdChicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSk7XG5cbiAgICBAaWYgJGJhc2UtdW5pdCA9PSAncHgnIG9yICRiYXNlLXVuaXQgPT0gJyUnIG9yICRiYXNlLXVuaXQgPT0gJ2VtJyBvciAkYmFzZS11bml0ID09ICdwdCcge1xuICAgICAgQHJldHVybiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKSAvIGJhc2UtY29udmVyc2lvbihicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSkgKiAxZW07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICcje2JyZWFrcG9pbnQtZ2V0KFxcJ2Jhc2UgZm9udCBzaXplXFwnKX0gaXMgbm90IHNldCBpbiB2YWxpZCB1bml0cyBmb3IgZm9udCBzaXplISc7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gYmFzZS1jb252ZXJzaW9uKCR2YWx1ZSkge1xuICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIEBpZiAkdW5pdCA9PSAncHgnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDE2cHggKiAxZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJyUnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDEwMCUgKiAxZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJ2VtJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJ3B0JyB7XG4gICAgQHJldHVybiAkdmFsdWUgLyAxMnB0ICogMWVtO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbi8vICAgIEB3YXJuICdFdmVyeXRoaW5nIGlzIHRlcnJpYmxlISBXaGF0IGhhdmUgeW91IGRvbmU/ISc7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIGhhdmUgYSBtaW4vbWF4IHBhaXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtbWluLW1heC1mZWF0dXJlczogJ2NvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvci1pbmRleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtaGVpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2Utd2lkdGgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9ub2Nocm9tZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVzb2x1dGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4tbWF4KCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LW1pbi1tYXgtZmVhdHVyZXMge1xuICAgIEBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGNhbiBoYXZlIGEgc3RyaW5nIHZhbHVlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LXN0cmluZy1mZWF0dXJlczogICdvcmllbnRhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV2aWNlLWFzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbHVtaW5vc2l0eSc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXN0cmluZy12YWx1ZSgkZmVhdHVyZSkge1xuICBAZWFjaCAkaXRlbSBpbiAkYnJlYWtwb2ludC1zdHJpbmctZmVhdHVyZXMge1xuICAgIEBpZiBicmVha3BvaW50LW1pbi1tYXgoJGl0ZW0pIHtcbiAgICAgIEBpZiAkZmVhdHVyZSA9PSAnbWluLSN7JGl0ZW19JyBvciAkZmVhdHVyZSA9PSAnbWF4LSN7JGl0ZW19JyB7XG4gICAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGZlYXR1cmUgPT0gJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBpcyBhIG1lZGlhIHR5cGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtbWVkaWEtdHlwZXM6ICAnYWxsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JyYWlsbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnZW1ib3NzZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnaGFuZGhlbGQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJpbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvamVjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdzY3JlZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnc3BlZWNoJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R0eScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICd0dic7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWlzLW1lZGlhKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRtZWRpYSBpbiAkYnJlYWtwb2ludC1tZWRpYS10eXBlcyB7XG4gICAgQGlmICgkZmVhdHVyZSA9PSAkbWVkaWEpIG9yICgkZmVhdHVyZSA9PSAnbm90ICN7JG1lZGlhfScpIG9yICgkZmVhdHVyZSA9PSAnb25seSAjeyRtZWRpYX0nKSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIHN0YW5kIGFsb25lXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LXNpbmdsZS1zdHJpbmctZmVhdHVyZXM6ICdjb2xvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3ItaW5kZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dyaWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vbm9jaHJvbWUnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LXNpbmdsZS1zdHJpbmctZmVhdHVyZXMge1xuICAgIEBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWlzLXJlc29sdXRpb24oJGZlYXR1cmUpIHtcbiAgJHJlc29sdXRpb25zOiAnZGV2aWNlLXBpeGVsLXJhdGlvJywgJ2Rwcic7XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSB7XG4gICAgJHJlc29sdXRpb25zOiBhcHBlbmQoJHJlc29sdXRpb25zLCAncmVzb2x1dGlvbicpO1xuICB9XG5cbiAgQGVhY2ggJHJlc28gaW4gJHJlc29sdXRpb25zIHtcbiAgICBAaWYgaW5kZXgoJGZlYXR1cmUsICRyZXNvKSBvciBpbmRleCgkZmVhdHVyZSwgJ21pbi0jeyRyZXNvfScpIG9yIGluZGV4KCRmZWF0dXJlLCAnbWF4LSN7JHJlc299Jykge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQYXJzZXIgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJwYXJzZXJzL3F1ZXJ5XCI7XG5AaW1wb3J0IFwicGFyc2Vycy9zaW5nbGVcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL2RvdWJsZVwiO1xuQGltcG9ydCBcInBhcnNlcnMvdHJpcGxlXCI7XG5AaW1wb3J0IFwicGFyc2Vycy9yZXNvbHV0aW9uXCI7XG5cbiRNZW1vLUV4aXN0czogZnVuY3Rpb24tZXhpc3RzKG1lbW8tZ2V0KSBhbmQgZnVuY3Rpb24tZXhpc3RzKG1lbW8tc2V0KTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50KCRxdWVyeSwgJGNvbnRleHRzLi4uKSB7XG4gICRydW46IHRydWU7XG4gICRyZXR1cm46ICgpO1xuXG4gIC8vIEdyYWIgdGhlIE1lbW8gT3V0cHV0IGlmIE1lbW9pemF0aW9uIGNhbiBiZSBhIHRoaW5nXG4gIEBpZiAkTWVtby1FeGlzdHMge1xuICAgICRyZXR1cm46IG1lbW8tZ2V0KGJyZWFrcG9pbnQsIGJyZWFrcG9pbnQgJHF1ZXJ5ICRjb250ZXh0cyk7XG5cbiAgICBAaWYgJHJldHVybiAhPSBudWxsIHtcbiAgICAgICRydW46IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJE1lbW8tRXhpc3RzIG9yICRydW4ge1xuICAgIC8vIEludGVybmFsIFZhcmlhYmxlc1xuICAgICRxdWVyeS1zdHJpbmc6ICcnO1xuICAgICRxdWVyeS1mYWxsYmFjazogZmFsc2U7XG4gICAgJHJldHVybjogKCk7XG5cbiAgICAvLyBSZXNlcnZlIEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRob2xkZXItY29udGV4dDogJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjtcbiAgICAkaG9sZGVyLXF1ZXJ5LWNvdW50OiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50O1xuXG4gICAgLy8gUmVzZXQgR2xvYmFsIFByaXZhdGUgQnJlYWtwb2ludCBDb250ZXh0XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCkgIWdsb2JhbDtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFnbG9iYWw7XG5cblxuICAgIC8vIFRlc3QgdG8gc2VlIGlmIGl0J3MgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuICAgICRvci1saXN0OiBpZihsaXN0LXNlcGFyYXRvcigkcXVlcnkpID09ICdjb21tYScsIHRydWUsIGZhbHNlKTtcblxuXG4gICAgQGlmICgkb3ItbGlzdCA9PSBmYWxzZSBhbmQgYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSA9PSBmYWxzZSkge1xuICAgICAgJHF1ZXJ5LXN0cmluZzogYnJlYWtwb2ludC1wYXJzZSgkcXVlcnkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkbGVuZ3RoOiBsZW5ndGgoJHF1ZXJ5KTtcblxuICAgICAgJGxhc3Q6IG50aCgkcXVlcnksICRsZW5ndGgpO1xuICAgICAgJHF1ZXJ5LWZhbGxiYWNrOiBicmVha3BvaW50LW5vLXF1ZXJ5KCRsYXN0KTtcblxuICAgICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIHtcbiAgICAgICAgJGxlbmd0aDogJGxlbmd0aCAtIDE7XG4gICAgICB9XG5cbiAgICAgIEBpZiAoYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSA9PSB0cnVlKSB7XG4gICAgICAgICRtcTogKCk7XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAkbXE6IGFwcGVuZCgkbXEsIG50aCgkcXVlcnksICRpKSwgY29tbWEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJHF1ZXJ5LXN0cmluZzogYnJlYWtwb2ludC1wYXJzZSgkbXEpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcXVlcnktc3RyaW5nOiAnJztcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAkcXVlcnktc3RyaW5nOiAkcXVlcnktc3RyaW5nICsgaWYoJGkgPT0gMSwgJycsICcsICcpICsgYnJlYWtwb2ludC1wYXJzZShudGgoJHF1ZXJ5LCAkaSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHJldHVybjogKCdxdWVyeSc6ICRxdWVyeS1zdHJpbmcsXG4gICAgICAgICdmYWxsYmFjayc6ICRxdWVyeS1mYWxsYmFjayxcbiAgICAgICAgJ2NvbnRleHQgaG9sZGVyJzogJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcixcbiAgICAgICAgJ3F1ZXJ5IGNvdW50JzogJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudFxuICAgICk7XG4gICAgQGlmIGxlbmd0aCgkY29udGV4dHMpID4gMCBhbmQgbnRoKCRjb250ZXh0cywgMSkgIT0gZmFsc2Uge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gICAgICB9XG4gICAgICAkY29udGV4dC1tYXA6ICgpO1xuICAgICAgQGVhY2ggJGNvbnRleHQgaW4gJGNvbnRleHRzIHtcbiAgICAgICAgJGNvbnRleHQtbWFwOiBtYXAtbWVyZ2UoJGNvbnRleHQtbWFwLCAoJGNvbnRleHQ6IGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJGNvbnRleHQpKSk7XG4gICAgICB9XG4gICAgICAkcmV0dXJuOiBtYXAtbWVyZ2UoJHJldHVybiwgKGNvbnRleHQ6ICRjb250ZXh0LW1hcCkpO1xuICAgIH1cblxuICAgIC8vIFJlc2V0IEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZ2xvYmFsO1xuXG4gICAgQGlmICRNZW1vLUV4aXN0cyB7XG4gICAgICAkaG9sZGVyOiBtZW1vLXNldChicmVha3BvaW50LCBicmVha3BvaW50ICRxdWVyeSAkY29udGV4dHMsICRyZXR1cm4pO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZW5lcmFsIEJyZWFrcG9pbnQgUGFyc2VyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlKCRxdWVyeSkge1xuICAvLyBJbmNyZWFzZSBudW1iZXIgb2YgJ2FuZCcgcXVlcmllc1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50ICsgMSAhZ2xvYmFsO1xuXG4gIC8vIFNldCB1cCBNZWRpYSBUeXBlXG4gICRxdWVyeS1wcmludDogJyc7XG5cbiAgJGZvcmNlLWFsbDogKChicmVha3BvaW50LWdldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnKSA9PSB0cnVlKSBhbmQgKGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykgPT0gJ2FsbCcpKTtcbiAgJGVtcHR5LW1lZGlhOiB0cnVlO1xuICBAaWYgKCRmb3JjZS1hbGwgPT0gdHJ1ZSkgb3IgKGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykgIT0gJ2FsbCcpIHtcbiAgICAvLyBGb3JjZSB0aGUgcHJpbnQgb2YgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZSBpZiAoZm9yY2UgYWxsIGlzIHRydWUgYW5kIGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBhbGwpIG9yIChkZWZhdWx0IG1lZGlhIHR5cGUgaXMgbm90IGFsbClcbiAgICAkcXVlcnktcHJpbnQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJyk7XG4gICAgJGVtcHR5LW1lZGlhOiBmYWxzZTtcbiAgfVxuXG5cbiAgJHF1ZXJ5LXJlc29sdXRpb246IGZhbHNlO1xuXG4gICRxdWVyeS1ob2xkZXI6IGJyZWFrcG9pbnQtcGFyc2UtcXVlcnkoJHF1ZXJ5KTtcblxuXG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggcGFyc2VkIG91dCBxdWVyeSBhbmQgd3JpdGUgaXQgdG8gJHF1ZXJ5LXByaW50XG4gICRmaXJzdDogdHJ1ZTtcblxuICBAZWFjaCAkZmVhdHVyZSBpbiAkcXVlcnktaG9sZGVyIHtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJGZlYXR1cmUpO1xuXG4gICAgLy8gUGFyc2UgYSBzaW5nbGUgZmVhdHVyZVxuICAgIEBpZiAoJGxlbmd0aCA9PSAxKSB7XG4gICAgICAvLyBGZWF0dXJlIGlzIGN1cnJlbnRseSBhIGxpc3QsIGdyYWIgdGhlIGFjdHVhbCB2YWx1ZVxuICAgICAgJGZlYXR1cmU6IG50aCgkZmVhdHVyZSwgMSk7XG5cbiAgICAgIC8vIE1lZGlhIFR5cGUgbXVzdCBieSBjb252ZW50aW9uIGJlIHRoZSBmaXJzdCBpdGVtLCBzbyBpdCdzIHNhZmUgdG8gZmxhdCBvdmVycmlkZSAkcXVlcnktcHJpbnQsIHdoaWNoIHJpZ2h0IG5vdyBzaG91bGQgb25seSBiZSB0aGUgZGVmYXVsdCBtZWRpYSB0eXBlXG4gICAgICBAaWYgKGJyZWFrcG9pbnQtaXMtbWVkaWEoJGZlYXR1cmUpKSB7XG4gICAgICAgIEBpZiAoJGZvcmNlLWFsbCA9PSB0cnVlKSBvciAoJGZlYXR1cmUgIT0gJ2FsbCcpIHtcbiAgICAgICAgICAvLyBGb3JjZSB0aGUgcHJpbnQgb2YgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZSBpZiAoZm9yY2UgYWxsIGlzIHRydWUgYW5kIGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBhbGwpIG9yIChkZWZhdWx0IG1lZGlhIHR5cGUgaXMgbm90IGFsbClcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICRmZWF0dXJlO1xuICAgICAgICAgICRlbXB0eS1tZWRpYTogZmFsc2U7XG5cbiAgICAgICAgICAvLyBTZXQgQ29udGV4dFxuICAgICAgICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1lZGlhLCAkcXVlcnktcHJpbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUGFyc2UgYSBkb3VibGUgZmVhdHVyZVxuICAgIEBlbHNlIGlmICgkbGVuZ3RoID09IDIpIHtcbiAgICAgIEBpZiAoYnJlYWtwb2ludC1pcy1yZXNvbHV0aW9uKCRmZWF0dXJlKSAhPSBmYWxzZSkge1xuICAgICAgICAkcXVlcnktcmVzb2x1dGlvbjogJGZlYXR1cmU7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZWQ6IG51bGw7XG4gICAgICAgIC8vIElmIGl0J3MgYSBzdHJpbmcvbnVtYmVyIHBhaXIsXG4gICAgICAgIC8vIHdlIGNoZWNrIHRvIHNlZSBpZiBvbmUgaXMgYSBzaW5nbGUtc3RyaW5nIHZhbHVlLFxuICAgICAgICAvLyB0aGVuIHdlIHBhcnNlIGl0IGFzIGEgbm9ybWFsIGRvdWJsZVxuICAgICAgICAkYWxwaGE6IG50aCgkZmVhdHVyZSwgMSk7XG4gICAgICAgICRiZXRhOiBudGgoJGZlYXR1cmUsIDIpO1xuICAgICAgICBAaWYgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRhbHBoYSkgb3IgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRiZXRhKSB7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGFscGhhLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGJldGEsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUGFyc2UgYSB0cmlwbGUgZmVhdHVyZVxuICAgIEBlbHNlIGlmICgkbGVuZ3RoID09IDMpIHtcbiAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgIH1cblxuICB9XG5cbiAgQGlmICgkcXVlcnktcmVzb2x1dGlvbiAhPSBmYWxzZSkge1xuICAgICRxdWVyeS1wcmludDogYnJlYWtwb2ludC1idWlsZC1yZXNvbHV0aW9uKCRxdWVyeS1wcmludCwgJHF1ZXJ5LXJlc29sdXRpb24sICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCBlYWNoIGZlYXR1cmUgdGhhdCdzIGJlZW4gZGV0ZWN0ZWQgc28gZmFyIGFuZCBhcHBlbmQgJ2ZhbHNlJyB0byB0aGUgdGhlIHZhbHVlIGxpc3QgdG8gaW5jcmVtZW50IHRoZWlyIGNvdW50ZXJzXG4gIEBlYWNoICRmLCAkdiBpbiAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyIHtcbiAgICAkdi1ob2xkZXI6ICR2O1xuICAgICRsZW5ndGg6IGxlbmd0aCgkdi1ob2xkZXIpO1xuICAgIEBpZiBsZW5ndGgoJHYtaG9sZGVyKSA8ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgICAgQGZvciAkaSBmcm9tICRsZW5ndGggdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICAgIEBpZiAkZiA9PSAnbWVkaWEnIHtcbiAgICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtbWVyZ2UoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgKCRmOiAkdi1ob2xkZXIpKSAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiAkcXVlcnktcHJpbnQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1xdWVyeSgkcXVlcnkpIHtcbiAgLy8gUGFyc2UgZmVhdHVyZXMgb3V0IG9mIGFuIGluZGl2aWR1YWwgcXVlcnlcbiAgJGZlYXR1cmUtaG9sZGVyOiAoKTtcbiAgJHF1ZXJ5LWhvbGRlcjogKCk7XG4gICRsZW5ndGg6IGxlbmd0aCgkcXVlcnkpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgIC8vIElmIHdlJ3ZlIGdvdCBhIHN0cmluZy9udW1iZXIsIG51bWJlci9zdHJpbmcsIGNoZWNrIHRvIHNlZSBpZiBpdCdzIGEgdmFsaWQgc3RyaW5nL251bWJlciBwYWlyIG9yIHR3byBzaW5nbGVzXG4gICAgQGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnc3RyaW5nJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ251bWJlcicpIG9yICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ3N0cmluZycpIHtcblxuICAgICAgJG51bWJlcjogJyc7XG4gICAgICAkdmFsdWU6ICcnO1xuXG4gICAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ3N0cmluZycge1xuICAgICAgICAkbnVtYmVyOiBudGgoJHF1ZXJ5LCAyKTtcbiAgICAgICAgJHZhbHVlOiBudGgoJHF1ZXJ5LCAxKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG51bWJlcjogbnRoKCRxdWVyeSwgMSk7XG4gICAgICAgICR2YWx1ZTogbnRoKCRxdWVyeSwgMik7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBzdHJpbmcgdmFsdWUgY2FuIGJlIGEgc2luZ2xlIHZhbHVlLCBjaGVjayB0byBzZWUgaWYgdGhlIG51bWJlciBwYXNzZWQgaW4gaXMgYSB2YWxpZCBpbnB1dCBmb3Igc2FpZCBzaW5nbGUgdmFsdWUuIEZvcnR1bmF0ZWx5LCBhbGwgY3VycmVudCBzaW5nbGUtdmFsdWUgb3B0aW9ucyBvbmx5IGFjY2VwdCB1bml0bGVzcyBudW1iZXJzLCBzbyB0aGlzIGNoZWNrIGlzIGVhc3kuXG4gICAgICBAaWYgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCR2YWx1ZSkge1xuICAgICAgICBAaWYgdW5pdGxlc3MoJG51bWJlcikge1xuICAgICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCR2YWx1ZSwgJG51bWJlciwgc3BhY2UpO1xuICAgICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIElmIHRoZSBzdHJpbmcgaXMgYSBtZWRpYSB0eXBlLCBzcGxpdCB0aGUgcXVlcnlcbiAgICAgIEBpZiBicmVha3BvaW50LWlzLW1lZGlhKCR2YWx1ZSkge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMSkpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMikpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgICAvLyBJZiBpdCdzIG5vdCBhIHNpbmdsZSBmZWF0dXJlLCB3ZSdyZSBqdXN0IGdvaW5nIHRvIGFzc3VtZSBpdCdzIGEgcHJvcGVyIHN0cmluZy92YWx1ZSBwYWlyLCBhbmQgcm9sbCB3aXRoIGl0LlxuICAgICAgQGVsc2Uge1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZCgkdmFsdWUsICRudW1iZXIsIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG5cbiAgICB9XG4gICAgLy8gSWYgdGhleSdyZSBib3RoIG51bWJlcnMsIHdlIGFzc3VtZSBpdCdzIGEgZG91YmxlIGFuZCByb2xsIHdpdGggdGhhdFxuICAgIEBlbHNlIGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ251bWJlcicpIHtcbiAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgIH1cbiAgICAvLyBJZiB0aGV5J3JlIGJvdGggc3RyaW5ncyBhbmQgbmVpdGhlciBhcmUgc2luZ2xlcywgd2Ugcm9sbCB3aXRoIHRoYXQuXG4gICAgQGVsc2UgaWYgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDIpKSB7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHtcbiAgICAvLyBJZiB3ZSd2ZSBnb3QgdGhyZWUgaXRlbXMgYW5kIG5vbmUgaXMgYSBsaXN0LCB3ZSBjaGVjayB0byBzZWVcbiAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgIT0gJ2xpc3QnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSAhPSAnbGlzdCcgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMykpICE9ICdsaXN0JyB7XG4gICAgICAvLyBJZiBub25lIG9mIHRoZSBpdGVtcyBhcmUgc2luZ2xlIHN0cmluZyB2YWx1ZXMgYW5kIG5vbmUgb2YgdGhlIHZhbHVlcyBhcmUgbWVkaWEgdmFsdWVzLCB3ZSdyZSBnb29kLlxuICAgICAgQGlmIChub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDEpKSBhbmQgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAyKSkgYW5kIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMykpKSBhbmQgICgobm90IGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAyKSkgYW5kIG5vdCBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDMpKSkpIHtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMSksIG50aCgkcXVlcnksIDIpLCBzcGFjZSk7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCRmZWF0dXJlLWhvbGRlciwgbnRoKCRxdWVyeSwgMyksIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgICAvLyBsZXQncyBjaGVjayB0byBzZWUgaWYgdGhlIGZpcnN0IGl0ZW0gaXMgYSBtZWRpYSB0eXBlXG4gICAgICBAZWxzZSBpZiBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCBudGgoJHF1ZXJ5LCAxKSk7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDIpLCBudGgoJHF1ZXJ5LCAzKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIGl0J3MgYSBzaW5nbGUgaXRlbSwgb3IgaWYgaXQncyBub3QgYSBzcGVjaWFsIGNhc2UgZG91YmxlIG9yIHRyaXBsZSwgd2UgY2FuIHNpbXBseSByZXR1cm4gdGhlIHF1ZXJ5LlxuICBAcmV0dXJuICRxdWVyeTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwic2luZ2xlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIC8vIElmIGl0J3MgYSBzaW5nbGUgZmVhdHVyZSB0aGF0IGNhbiBzdGFuZCBhbG9uZSwgd2UgbGV0IGl0XG4gIEBpZiAoYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRmZWF0dXJlKSkge1xuICAgICRwYXJzZWQ6ICRmZWF0dXJlO1xuICAgIC8vIFNldCBDb250ZXh0XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICRmZWF0dXJlKTtcbiAgfVxuICAvLyBJZiBpdCdzIG5vdCBhIHN0YW5kIGFsb25lIGZlYXR1cmUsIHdlIHBhc3MgaXQgb2ZmIHRvIHRoZSBkZWZhdWx0IGhhbmRsZXIuXG4gIEBlbHNlIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQoJGZlYXR1cmUpO1xuICB9XG5cbiAgQHJldHVybiAkbGVhZGVyICsgJygnICsgJHBhcnNlZCArICcpJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQoJGZlYXR1cmUpIHtcbiAgJGRlZmF1bHQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IGZlYXR1cmUnKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZGVmYXVsdCwgJGZlYXR1cmUpO1xuXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIGFuZCAodHlwZS1vZigkZmVhdHVyZSkgPT0gJ251bWJlcicpIHtcbiAgICBAcmV0dXJuICcjeyRkZWZhdWx0fTogI3ticmVha3BvaW50LXRvLWJhc2UtZW0oJGZlYXR1cmUpfSc7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJyN7JGRlZmF1bHR9OiAjeyRmZWF0dXJlfSc7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiZG91YmxlL2RlZmF1bHQtcGFpclwiO1xuQGltcG9ydCBcImRvdWJsZS9kb3VibGUtc3RyaW5nXCI7XG5AaW1wb3J0IFwiZG91YmxlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gICRmaXJzdDogbnRoKCRmZWF0dXJlLCAxKTtcbiAgJHNlY29uZDogbnRoKCRmZWF0dXJlLCAyKTtcblxuICAvLyBJZiB3ZSd2ZSBnb3QgdHdvIG51bWJlcnMsIHdlIGtub3cgd2UgbmVlZCB0byB1c2UgdGhlIGRlZmF1bHQgcGFpciBiZWNhdXNlIHRoZXJlIGFyZSBubyBtZWRpYSBxdWVyaWVzIHRoYXQgaGFzIGEgbWVkaWEgZmVhdHVyZSB0aGF0IGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCRmaXJzdCkgPT0gJ251bWJlcicgYW5kIHR5cGUtb2YoJHNlY29uZCkgPT0gJ251bWJlcicge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdC1wYWlyKCRmaXJzdCwgJHNlY29uZCk7XG4gIH1cbiAgLy8gSWYgdGhleSBhcmUgYm90aCBzdHJpbmdzLCB3ZSBzZW5kIGl0IHRocm91Z2ggdGhlIHN0cmluZyBwYXJzZXJcbiAgQGVsc2UgaWYgdHlwZS1vZigkZmlyc3QpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKCRzZWNvbmQpID09ICdzdHJpbmcnIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1zdHJpbmcoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuICAvLyBJZiBpdCdzIGEgc3RyaW5nL251bWJlciBwYWlyLCB3ZSBwYXJzZSBpdCBhcyBhIG5vcm1hbCBkb3VibGVcbiAgQGVsc2Uge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLWRlZmF1bHQoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxlYWRlciArICRwYXJzZWQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0LXBhaXIoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRkZWZhdWx0OiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBwYWlyJyk7XG4gICRtaW46ICcnO1xuICAkbWF4OiAnJztcblxuICAvLyBTb3J0IGludG8gbWluIGFuZCBtYXhcbiAgJG1pbjogbWluKCRmaXJzdCwgJHNlY29uZCk7XG4gICRtYXg6IG1heCgkZmlyc3QsICRzZWNvbmQpO1xuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1pbi0jeyRkZWZhdWx0fSwgJG1pbik7XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1heC0jeyRkZWZhdWx0fSwgJG1heCk7XG5cbiAgLy8gTWFrZSB0aGVtIEVNcyBpZiBuZWVkIGJlXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIHtcbiAgICAkbWluOiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1pbik7XG4gICAgJG1heDogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtYXgpO1xuICB9XG5cbiAgQHJldHVybiAnKG1pbi0jeyRkZWZhdWx0fTogI3skbWlufSkgYW5kIChtYXgtI3skZGVmYXVsdH06ICN7JG1heH0pJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1zdHJpbmcoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRmZWF0dXJlOiAnJztcbiAgJHZhbHVlOiAnJztcblxuICAvLyBUZXN0IHRvIHNlZSB3aGljaCBpcyB0aGUgZmVhdHVyZSBhbmQgd2hpY2ggaXMgdGhlIHZhbHVlXG4gIEBpZiAoYnJlYWtwb2ludC1zdHJpbmctdmFsdWUoJGZpcnN0KSA9PSB0cnVlKSB7XG4gICAgJGZlYXR1cmU6ICRmaXJzdDtcbiAgICAkdmFsdWU6ICRzZWNvbmQ7XG4gIH1cbiAgQGVsc2UgaWYgKGJyZWFrcG9pbnQtc3RyaW5nLXZhbHVlKCRzZWNvbmQpID09IHRydWUpIHtcbiAgICAkZmVhdHVyZTogJHNlY29uZDtcbiAgICAkdmFsdWU6ICRmaXJzdDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJOZWl0aGVyICN7JGZpcnN0fSBub3IgI3skc2Vjb25kfSBpcyBhIHZhbGlkIG1lZGlhIHF1ZXJ5IG5hbWUuXCI7XG4gIH1cblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJHZhbHVlKTtcblxuICBAcmV0dXJuICcoI3skZmVhdHVyZX06ICN7JHZhbHVlfSknO1xufSIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1kZWZhdWx0KCRmaXJzdCwgJHNlY29uZCkge1xuICAkZmVhdHVyZTogJyc7XG4gICR2YWx1ZTogJyc7XG5cbiAgQGlmIHR5cGUtb2YoJGZpcnN0KSA9PSAnc3RyaW5nJyB7XG4gICAgJGZlYXR1cmU6ICRmaXJzdDtcbiAgICAkdmFsdWU6ICRzZWNvbmQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICRmZWF0dXJlOiAkc2Vjb25kO1xuICAgICR2YWx1ZTogJGZpcnN0O1xuICB9XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSk7XG5cbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkge1xuICAgICR2YWx1ZTogYnJlYWtwb2ludC10by1iYXNlLWVtKCR2YWx1ZSk7XG4gIH1cblxuICBAcmV0dXJuICcoI3skZmVhdHVyZX06ICN7JHZhbHVlfSknXG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInRyaXBsZS9kZWZhdWx0XCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXRyaXBsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJHBhcnNlZDogJyc7XG4gICRsZWFkZXI6ICcnO1xuXG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIC8vIHNlcGFyYXRlIHRoZSBzdHJpbmcgZmVhdHVyZXMgZnJvbSB0aGUgdmFsdWUgbnVtYmVyc1xuICAkc3RyaW5nOiBudWxsO1xuICAkbnVtYmVyczogbnVsbDtcbiAgQGVhY2ggJHZhbCBpbiAkZmVhdHVyZSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gc3RyaW5nIHtcbiAgICAgICRzdHJpbmc6ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiB0eXBlLW9mKCRudW1iZXJzKSA9PSAnbnVsbCcge1xuICAgICAgICAkbnVtYmVyczogJHZhbDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG51bWJlcnM6IGFwcGVuZCgkbnVtYmVycywgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS10cmlwbGUtZGVmYXVsdCgkc3RyaW5nLCBudGgoJG51bWJlcnMsIDEpLCBudGgoJG51bWJlcnMsIDIpKTtcblxuICBAcmV0dXJuICRsZWFkZXIgKyAkcGFyc2VkO1xuXG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS10cmlwbGUtZGVmYXVsdCgkZmVhdHVyZSwgJGZpcnN0LCAkc2Vjb25kKSB7XG5cbiAgLy8gU29ydCBpbnRvIG1pbiBhbmQgbWF4XG4gICRtaW46IG1pbigkZmlyc3QsICRzZWNvbmQpO1xuICAkbWF4OiBtYXgoJGZpcnN0LCAkc2Vjb25kKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtaW4tI3skZmVhdHVyZX0sICRtaW4pO1xuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtYXgtI3skZmVhdHVyZX0sICRtYXgpO1xuXG4gIC8vIE1ha2UgdGhlbSBFTXMgaWYgbmVlZCBiZVxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtaW4pO1xuICAgICRtYXg6IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWF4KTtcbiAgfVxuXG4gIEByZXR1cm4gJyhtaW4tI3skZmVhdHVyZX06ICN7JG1pbn0pIGFuZCAobWF4LSN7JGZlYXR1cmV9OiAjeyRtYXh9KSc7XG59XG4iLCJAaW1wb3J0IFwicmVzb2x1dGlvbi9yZXNvbHV0aW9uXCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWJ1aWxkLXJlc29sdXRpb24oJHF1ZXJ5LXByaW50LCAkcXVlcnktcmVzb2x1dGlvbiwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykgYW5kICRxdWVyeS1yZXNvbHV0aW9uIHtcbiAgICAkcmVzb2x1dGlvbnM6IGJyZWFrcG9pbnQtbWFrZS1yZXNvbHV0aW9ucygkcXVlcnktcmVzb2x1dGlvbik7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCRyZXNvbHV0aW9ucyk7XG4gICAgJHF1ZXJ5LWhvbGRlcjogJyc7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgJHF1ZXJ5OiAnI3skcXVlcnktcHJpbnR9ICN7JGxlYWRlcn0je250aCgkcmVzb2x1dGlvbnMsICRpKX0nO1xuICAgICAgQGlmICRpID09IDEge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiAkcXVlcnk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6ICcjeyRxdWVyeS1ob2xkZXJ9LCAjeyRxdWVyeX0nO1xuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gUmV0dXJuIHdpdGggYXR0YWNoZWQgcmVzb2x1dGlvblxuICAgIEByZXR1cm4gJHF1ZXJ5LXByaW50O1xuICB9XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1tYWtlLXJlc29sdXRpb25zKCRyZXNvbHV0aW9uKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkcmVzb2x1dGlvbik7XG5cbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgJGZlYXR1cmU6ICcnO1xuICAgICR2YWx1ZTogJyc7XG5cbiAgICAvLyBGaW5kIHdoaWNoIGlzIG51bWJlclxuICAgIEBpZiB0eXBlLW9mKG50aCgkcmVzb2x1dGlvbiwgMSkpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogbnRoKCRyZXNvbHV0aW9uLCAxKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHZhbHVlOiBudGgoJHJlc29sdXRpb24sIDIpO1xuICAgIH1cblxuICAgIC8vIERldGVybWluZSBtaW4vbWF4L3N0YW5kYXJkXG4gICAgQGlmIGluZGV4KCRyZXNvbHV0aW9uLCAnbWluLXJlc29sdXRpb24nKSB7XG4gICAgICAkZmVhdHVyZTogJ21pbi0nO1xuICAgIH1cbiAgICBAZWxzZSBpZiBpbmRleCgkcmVzb2x1dGlvbiwgJ21heC1yZXNvbHV0aW9uJykge1xuICAgICAgJGZlYXR1cmU6ICdtYXgtJztcbiAgICB9XG5cbiAgICAkc3RhbmRhcmQ6ICcoI3skZmVhdHVyZX1yZXNvbHV0aW9uOiAjeyR2YWx1ZX0pJztcblxuICAgIC8vIElmIHdlJ3JlIG5vdCBkZWFsaW5nIHdpdGggZHBweCxcbiAgICBAaWYgdW5pdCgkdmFsdWUpICE9ICdkcHB4JyB7XG4gICAgICAkYmFzZTogOTZkcGk7XG4gICAgICBAaWYgdW5pdCgkdmFsdWUpID09ICdkcGNtJyB7XG4gICAgICAgICRiYXNlOiAyNDMuODRkcGNtO1xuICAgICAgfVxuICAgICAgLy8gV3JpdGUgb3V0IGZlYXR1cmUgdGVzdHNcbiAgICAgICR3ZWJraXQ6ICcnO1xuICAgICAgJG1vejogJyc7XG4gICAgICAkd2Via2l0OiAnKC13ZWJraXQtI3skZmVhdHVyZX1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gJGJhc2V9KSc7XG4gICAgICAkbW96OiAnKCN7JGZlYXR1cmV9LW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gJGJhc2V9KSc7XG4gICAgICAvLyBBcHBlbmQgdG8gb3V0cHV0XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHN0YW5kYXJkLCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHdlYmtpdCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRtb3osIHNwYWNlKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogJyc7XG4gICAgICAkbW96OiAnJztcbiAgICAgICR3ZWJraXQ6ICcoLXdlYmtpdC0jeyRmZWF0dXJlfWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAxZHBweH0pJztcbiAgICAgICRtb3o6ICcoI3skZmVhdHVyZX0tbW96LWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAxZHBweH0pJztcbiAgICAgICRmYWxsYmFjazogJygjeyRmZWF0dXJlfXJlc29sdXRpb246ICN7JHZhbHVlIC8gMWRwcHggKiA5NmRwaX0pJztcbiAgICAgIC8vIEFwcGVuZCB0byBvdXRwdXRcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkc3RhbmRhcmQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkd2Via2l0LCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJG1veiwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRmYWxsYmFjaywgc3BhY2UpO1xuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbm8tcXVlcnkoJHF1ZXJ5KSB7XG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gJ2xpc3QnIHtcbiAgICAka2V5d29yZDogbnRoKCRxdWVyeSwgMSk7XG5cbiAgICBAaWYgdHlwZS1vZigka2V5d29yZCkgPT0gJ3N0cmluZycgYW5kICgka2V5d29yZCA9PSAnbm8tcXVlcnknIG9yICRrZXl3b3JkID09ICdubyBxdWVyeScgb3IgJGtleXdvcmQgPT0gJ2ZhbGxiYWNrJykge1xuICAgICAgQHJldHVybiBudGgoJHF1ZXJ5LCAyKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCB0aGUgQnJlYWtwb2ludHMgdmFyaWFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcbiRCUkVBS1BPSU5UUzogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVzcG9uZC10byBBUEkgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIHJlc3BvbmQtdG8oJGNvbnRleHQsICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGlmIGxlbmd0aCgkYnJlYWtwb2ludHMpID4gMCBhbmQgbGVuZ3RoKCRCUkVBS1BPSU5UUykgPT0gMCB7XG4gICAgQHdhcm4gXCJJbiBvcmRlciB0byBhdm9pZCB2YXJpYWJsZSBuYW1lc3BhY2UgY29sbGlzaW9ucywgd2UgaGF2ZSB1cGRhdGVkIHRoZSB3YXkgdG8gYWRkIGJyZWFrcG9pbnRzIGZvciByZXNwb25kLXRvLiBQbGVhc2UgY2hhbmdlIGFsbCBpbnN0YW5jZXMgb2YgYCRicmVha3BvaW50czogYWRkLWJyZWFrcG9pbnQoKWAgdG8gYEBpbmNsdWRlIGFkZC1icmVha3BvaW50KClgLiBUaGUgYGFkZC1icmVha3BvaW50KClgIGZ1bmN0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLlwiO1xuICAgICRCUkVBS1BPSU5UUzogJGJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICAgJGJyZWFrcG9pbnRzOiAoKSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJEJSRUFLUE9JTlRTKSAhPSAnbWFwJyB7XG4gICAgLy8gSnVzdCBpbiBjYXNlIHNvbWVvbmUgd3JpdGVzIGdpYmJlcmlzaCB0byB0aGUgJGJyZWFrcG9pbnRzIHZhcmlhYmxlLlxuICAgIEB3YXJuIFwiWW91ciBicmVha3BvaW50cyBhcmVuJ3QgYSBtYXAhIGByZXNwb25kLXRvYCBleHBlY3RzIGEgbWFwLiBQbGVhc2UgY2hlY2sgdGhlIHZhbHVlIG9mICRCUkVBS1BPSU5UUyB2YXJpYWJsZS5cIjtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRjb250ZXh0KSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXAtZ2V0KCRCUkVBS1BPSU5UUywgJGNvbnRleHQpLCAkbm8tcXVlcnkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiBub3QgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkY29udGV4dCkge1xuICAgIEB3YXJuIFwiYCN7JGNvbnRleHR9YCBpc24ndCBhIGRlZmluZWQgYnJlYWtwb2ludCEgUGxlYXNlIGFkZCBpdCB1c2luZyBgJGJyZWFrcG9pbnRzOiBhZGQtYnJlYWtwb2ludChgI3skY29udGV4dH1gLCAkdmFsdWUpO2BcIjtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJZb3UgaGF2ZW4ndCBjcmVhdGVkIGFueSBicmVha3BvaW50cyB5ZXQhIE1ha2Ugc29tZSBhbHJlYWR5ISBgQGluY2x1ZGUgYWRkLWJyZWFrcG9pbnQoJG5hbWUsICRia3B0KWBcIjtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEFkZCBCcmVha3BvaW50IHRvIEJyZWFrcG9pbnRzXG4vLyBUT0RPOiBSZW1vdmUgZnVuY3Rpb24gaW4gbmV4dCByZWxlYXNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJGJrcHQsICRvdmVyd3JpdGU6IGZhbHNlKSB7XG4gICRvdXRwdXQ6ICgkbmFtZTogJGJrcHQpO1xuXG4gIEBpZiBsZW5ndGgoJGJyZWFrcG9pbnRzKSA9PSAwIHtcbiAgICBAcmV0dXJuICRvdXRwdXQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSBhbmQgJG92ZXJ3cml0ZSAhPSB0cnVlIHtcbiAgICAgIEB3YXJuIFwiWW91IGFscmVhZHkgaGF2ZSBhIGJyZWFrcG9pbnQgbmFtZWQgYCN7JG5hbWV9YCwgcGxlYXNlIGNob29zZSBhbm90aGVyIGJyZWFrcG9pbnQgbmFtZSwgb3IgcGFzcyBpbiBgJG92ZXJ3cml0ZTogdHJ1ZWAgdG8gb3ZlcndyaXRlIHRoZSBwcmV2aW91cyBicmVha3BvaW50LlwiO1xuICAgICAgQHJldHVybiAkYnJlYWtwb2ludHM7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSBvciAkb3ZlcndyaXRlID09IHRydWUge1xuICAgICAgQHJldHVybiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkb3V0cHV0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFkZC1icmVha3BvaW50KCRuYW1lLCAkYmtwdCwgJG92ZXJ3cml0ZTogZmFsc2UpIHtcbiAgJG91dHB1dDogKCRuYW1lOiAkYmtwdCk7XG5cbiAgQGlmIGxlbmd0aCgkQlJFQUtQT0lOVFMpID09IDAge1xuICAgICRCUkVBS1BPSU5UUzogJG91dHB1dCAhZ2xvYmFsO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkbmFtZSkgYW5kICRvdmVyd3JpdGUgIT0gdHJ1ZSB7XG4gICAgICBAd2FybiBcIllvdSBhbHJlYWR5IGhhdmUgYSBicmVha3BvaW50IG5hbWVkIGAjeyRuYW1lfWAsIHBsZWFzZSBjaG9vc2UgYW5vdGhlciBicmVha3BvaW50IG5hbWUsIG9yIHBhc3MgaW4gYCRvdmVyd3JpdGU6IHRydWVgIHRvIG92ZXJ3cml0ZSB0aGUgcHJldmlvdXMgYnJlYWtwb2ludC5cIjtcbiAgICAgICRCUkVBS1BPSU5UUzogJEJSRUFLUE9JTlRTICFnbG9iYWw7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRuYW1lKSBvciAkb3ZlcndyaXRlID09IHRydWUge1xuICAgICAgJEJSRUFLUE9JTlRTOiBtYXAtbWVyZ2UoJEJSRUFLUE9JTlRTLCAkb3V0cHV0KSAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuXG5AZnVuY3Rpb24gZ2V0LWJyZWFrcG9pbnQoJG5hbWU6IGZhbHNlKSB7XG4gIEBpZiAkbmFtZSA9PSBmYWxzZSB7XG4gICAgQHJldHVybiAkQlJFQUtQT0lOVFM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkQlJFQUtQT0lOVFMsICRuYW1lKTtcbiAgfVxufVxuIiwiQG1peGluIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nIHtcbiAgJGxlZ2FjeVZhcnM6IChcbiAgICAnZGVmYXVsdC1tZWRpYSc6ICdkZWZhdWx0IG1lZGlhJyxcbiAgICAnZGVmYXVsdC1mZWF0dXJlJzogJ2RlZmF1bHQgZmVhdHVyZScsXG4gICAgJ2ZvcmNlLW1lZGlhLWFsbCc6ICdmb3JjZSBhbGwgbWVkaWEgdHlwZScsXG4gICAgJ3RvLWVtcyc6ICd0byBlbXMnLFxuICAgICdyZXNvbHV0aW9ucyc6ICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnLFxuICAgICduby1xdWVyaWVzJzogJ25vIHF1ZXJpZXMnLFxuICAgICduby1xdWVyeS1mYWxsYmFja3MnOiAnbm8gcXVlcnkgZmFsbGJhY2tzJyxcbiAgICAnYmFzZS1mb250LXNpemUnOiAnYmFzZSBmb250IHNpemUnLFxuICAgICdsZWdhY3ktc3ludGF4JzogJ2xlZ2FjeSBzeW50YXgnXG4gICk7XG5cbiAgQGVhY2ggJGxlZ2FjeSwgJG5ldyBpbiAkbGVnYWN5VmFycyB7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtJyArICRsZWdhY3kpIHtcbiAgICAgIEB3YXJuIFwiSW4gb3JkZXIgdG8gYXZvaWQgdmFyaWFibGUgbmFtc3BhY2UgY29sbGlzaW9ucywgd2UgaGF2ZSB1cGRhdGVkIHRoZSB3YXkgdG8gY2hhbmdlIHNldHRpbmdzIGZvciBCcmVha3BvaW50LiBQbGVhc2UgY2hhbmdlIGFsbCBpbnN0YW5jZXMgb2YgYCRicmVha3BvaW50LSN7JGxlZ2FjeX06IHt7c2V0dGluZ319YCB0byBgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJyN7JG5ld30nLCB7e3NldHRpbmd9fSlgLiBWYXJpYWJsZSBzZXR0aW5ncywgYXMgd2VsbCBhcyB0aGlzIHdhcm5pbmcgd2lsbCBiZSBkZXByZWNhdGVkIGluIGEgZnV0dXJlIHJlbGVhc2UuXCJcbiAgICB9XG4gIH07XG5cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIEhhbmQgY29ycmVjdCBlYWNoIHNldHRpbmdcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWRlZmF1bHQtbWVkaWEnKSBhbmQgJGJyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYSAhPSBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZGVmYXVsdCBtZWRpYScsICRicmVha3BvaW50LWRlZmF1bHQtbWVkaWEpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZScpIGFuZCAkYnJlYWtwb2ludC1kZWZhdWx0LWZlYXR1cmUgIT0gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgZmVhdHVyZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZGVmYXVsdCBmZWF0dXJlJywgJGJyZWFrcG9pbnQtZGVmYXVsdC1mZWF0dXJlKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwnKSBhbmQgJGJyZWFrcG9pbnQtZm9yY2UtbWVkaWEtYWxsICE9IGJyZWFrcG9pbnQtZ2V0KCdmb3JjZSBhbGwgbWVkaWEgdHlwZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnLCAkYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LXRvLWVtcycpIGFuZCAkYnJlYWtwb2ludC10by1lbXMgIT0gYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgndG8gZW1zJywgJGJyZWFrcG9pbnQtdG8tZW1zKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1yZXNvbHV0aW9ucycpIGFuZCAkYnJlYWtwb2ludC1yZXNvbHV0aW9ucyAhPSBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnLCAkYnJlYWtwb2ludC1yZXNvbHV0aW9ucyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbm8tcXVlcmllcycpIGFuZCAkYnJlYWtwb2ludC1uby1xdWVyaWVzICE9IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdubyBxdWVyaWVzJywgJGJyZWFrcG9pbnQtbm8tcXVlcmllcyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzJykgYW5kICRicmVha3BvaW50LW5vLXF1ZXJ5LWZhbGxiYWNrcyAhPSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdubyBxdWVyeSBmYWxsYmFja3MnLCAkYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWJhc2UtZm9udC1zaXplJykgYW5kICRicmVha3BvaW50LWJhc2UtZm9udC1zaXplICE9IGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnYmFzZSBmb250IHNpemUnLCAkYnJlYWtwb2ludC1iYXNlLWZvbnQtc2l6ZSk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbGVnYWN5LXN5bnRheCcpIGFuZCAkYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4ICE9IGJyZWFrcG9pbnQtZ2V0KCdsZWdhY3kgc3ludGF4Jykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdsZWdhY3kgc3ludGF4JywgJGJyZWFrcG9pbnQtbGVnYWN5LXN5bnRheCk7XG4gIH1cbn0iLCJAaW1wb3J0ICcuLi9icmVha3BvaW50JztcclxuJGxnNCA6IG1heC13aWR0aCAgMTI2MHB4O1xyXG4kbGczIDogbWF4LXdpZHRoICAxNDAwcHg7XHJcbiRsZzIgOiBtYXgtd2lkdGggIDEwMjNweDtcclxuJGxnMSA6IG1heC13aWR0aCAgOTQwcHg7XHJcbiRsZyA6IG1heC13aWR0aCAgNzY3cHg7XHJcbiRsZ3ggOiBtYXgtd2lkdGggNzAwcHg7XHJcbiRtZyA6IG1heC13aWR0aCA2NDBweDtcclxuJG1kIDogbWF4LXdpZHRoIDQ4MHB4O1xyXG4kc20gOiBtYXgtd2lkdGggMzYwcHg7XHJcbiR4cyA6IG1heC13aWR0aCAzMjBweDtcclxuXHJcbiRjb3JfYmx1ZTojMzE0MzZiO1xyXG4kY29yX2JsdWUyOiM2MzdmZDI7XHJcbiRjb3JfcGluazojZjA1MjkxO1xyXG4kY29yX2dyYXk6IzVkNWQ1ZDtcclxuJGNvcl9kYXJrZ3JheTojMzMzO1xyXG4kY29yX2RhcmtibHVlOiM3ODdkOWE7XHJcblxyXG5he3BhZGRpbmc6MDt9XHJcbiAuam9obm55LXV0YWgge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCkge1xyXG4gICAgY29udGVudDogJ1dob2EuJztcclxuICB9XHJcbiAgXHJcbn1cclxuQG1peGluIGVsbHtcclxuIG92ZXJmbG93OmhpZGRlbjtcclxuIHdoaXRlLXNwYWNlOm5vd3JhcDtcclxuIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XHJcbiBkaXNwbGF5OmJsb2NrO1xyXG59XHJcbkBtaXhpbiBjbGVhcmZpeCB7IGRpc3BsYXk6IGJsb2NrOyBcclxuXHQmOmJlZm9yZSwmOmFmdGVyeyBjb250ZW50OiBcIi5cIjsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMDsgY2xlYXI6IGJvdGg7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9yMXtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcbn1cclxuXHJcbi5jbGVhci1sZzJ7Y2xlYXI6Ym90aDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtjbGVhcjpub25lfVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKSB7Y2xlYXI6Ym90aDt9XHJcbn1cclxuLmNsZWFyLWxnMXtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpIHtjbGVhcjpub25lfVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge2NsZWFyOmJvdGh9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGd4KSB7Y2xlYXI6bm9uZX1cclxufVxyXG4ubGcye2Rpc3BsYXk6YmxvY2s7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKSB7XHJcblx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdH1cclxufVxyXG4ubGcxe2Rpc3BsYXk6bm9uZTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdH1cclxufVxyXG5cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBb0JtQkEsQUFBQSxDQUFDLENBQUEsRUFBQyxPQUFPLEVBQUMsQ0FBQyxHQUFJOztBbkI2Q1gsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLEltQjVDNUIsQUFBQSxZQUFZLENBQUMsRUFFVixPQUFPLEVBQUUsT0FBTyxHQUduQjs7QUFlRCxBQUFBLFVBQVUsQ0FBQSxFQUFDLEtBQUssRUFBQyxJQUFJLEdBR3BCOztBbkJxQkcs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 */
