@charset "UTF-8";
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; } }

.signature { margin: 20px 0 20px 30px; }

.signature li { margin-bottom: 30px; }

.logo_list { margin: 20px 0 0 12px; }

.logo_list li { margin-bottom: 15px; }

.imgType { margin: 0 0 0 -1%; display: block; }

.imgType:before, .imgType:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

.imgType .img, .imgType > li { float: left; width: 99%; text-align: center; margin: 0 0 1% 1%; line-height: 1.2; }

.imgType .img .txt, .imgType > li .txt { display: block; text-align: center; margin: 5px 0 10px 0; }

.imgType .img .txt > span, .imgType > li .txt > span { display: inline-block; background: url(/static/images/common/bu_arr_up.gif) 0 7px no-repeat; padding-left: 12px; color: #666; font-size: 1em; }

.imgType.type2 .img, .imgType.type2 > li { float: left; width: 49%; }

@media (max-width: 700px) { .imgType.type2 .img, .imgType.type2 > li { width: 99%; } }

.imgType.type3 .img, .imgType.type3 > li { float: left; width: 32.33%; }

@media (max-width: 700px) { .imgType.type3 .img, .imgType.type3 > li { width: 49%; }
  .imgType.type3 .img:nth-child(odd), .imgType.type3 > li:nth-child(odd) { clear: both; } }

.imgType.type4 .img, .imgType.type4 > li { float: left; width: 24%; }

@media (max-width: 700px) { .imgType.type4 .img, .imgType.type4 > li { width: 49%; } }

.about { overflow: hidden; }

.about h3 { text-align: center; font-weight: 500; font-size: 2.1em; letter-spacing: -1px; color: #787d9a; margin-bottom: 4%; }

@media (max-width: 640px) { .about h3 { font-size: 1.6em; line-height: 1.3; }
  .about h3 span { display: block; } }

.about .aboutL { float: left; width: 47%; text-align: center; letter-spacing: -1px; line-height: 1.3; margin-right: 3%; }

@media (max-width: 700px) { .about .aboutL { float: none; width: 100%; margin: 0; } }

.about .aboutL > div { text-align: center; display: inline-block; }

.about .aboutL > div .txt1 { color: #666; margin-top: 20px; font-size: 0.95em; text-align: right; }

.about .aboutL > div .txt2 { font-size: 1.6em; color: #666; font-weight: 600; text-align: right; }

.about .aboutR { float: left; width: 50%; font-size: 1em; line-height: 1.5; }

@media (max-width: 700px) { .about .aboutR { float: none; width: 100%; margin-top: 3%; } }

.about .aboutR p { margin-bottom: 12px; color: #5d5d5d; }

.vision { text-align: center; }

.vision .vistionT { background: url(/static/images/portal/sub/bg_vision.gif) no-repeat center top; padding: 110px 0 0 0; height: 350px; position: relative; }

@media (max-width: 640px) { .vision .vistionT { background-size: auto 100%; padding: 80px 0 0 0; height: 250px; } }

.vision .vistionT h3 { font-size: 2.2em; font-weight: 500; letter-spacing: -1px; }

@media (max-width: 640px) { .vision .vistionT h3 { font-size: 1.7em; } }

.vision .vistionCon { border: 1px solid #8789a4; background: #f3f3f3; border-radius: 5px; }

.vision .vistionCon .title { font-size: 2em; color: #5b6184; padding: 1%; }

.vision .vistionCon > ul { display: block; margin-top: 60px; }

.vision .vistionCon > ul:before, .vision .vistionCon > ul:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

.vision .vistionCon > ul > li { float: left; position: relative; margin: 1% 0 1% 1%; width: 31.8%; border: 1px solid #b2b4bf; background: #fff; padding: 2% 1.5% 0 2%; border-radius: 5px; }

@media (max-width: 1023px) { .vision .vistionCon > ul > li { padding: 2% 1.5% 2% 2%; } }

@media (max-width: 640px) { .vision .vistionCon > ul > li { float: none; display: block; width: 96%; margin: 80px 2% 2% 2%; padding: 20px; }
  .vision .vistionCon > ul > li:first-child { margin-top: 2%; } }

.vision .vistionCon > ul > li dl { text-align: center; min-height: 160px; width: 100%; }

@media (max-width: 640px) { .vision .vistionCon > ul > li dl { min-height: auto; } }

.vision .vistionCon > ul > li dl dt { display: inline-block; width: 140px; height: 140px; padding: 45px 20px; border-radius: 100px; color: #fff; font-weight: bold; font-size: 1.1em; margin-top: -90px; background: #787d9a url(/static/images/portal/sub/bu_vision.png) no-repeat center 20px; font-size: 1.05em; }

.vision .vistionCon > ul > li dl dd { text-align: left; padding-top: 20px; letter-spacing: 0; }

.vision .vistionCon > ul > li dl dd li:before { content: "- "; display: inline-block; text-indent: -10px; padding-left: 0; }

.gnb_allMenu2 { padding: 0; overflow: hidden; clear: both; margin-left: -1%; }

.gnb_allMenu2 dl { float: left; padding: 13px; width: 24%; margin-left: 1%; background: #f3f3f3; margin-bottom: 10px; }

.gnb_allMenu2 dl:nth-child(4n+5) { clear: both; }

@media (max-width: 1023px) { .gnb_allMenu2 dl { width: 32.33%; }
  .gnb_allMenu2 dl:nth-child(3n+4) { clear: both; }
  .gnb_allMenu2 dl:nth-child(4n+5) { clear: none; } }

@media (max-width: 640px) { .gnb_allMenu2 dl { width: 49%; }
  .gnb_allMenu2 dl:nth-child(3n+4) { clear: none; }
  .gnb_allMenu2 dl:nth-child(4n+5) { clear: none; }
  .gnb_allMenu2 dl:nth-child(odd) { clear: both; } }

.gnb_allMenu2 dl dt { font-size: 1.2em; font-weight: bold; margin-bottom: 18px; border-bottom: 1px solid #e6e7eb; text-align: center; padding: 5px 0 10px 0; }

.gnb_allMenu2 dl dt a { color: #f05291; display: block; }

.gnb_allMenu2 dl dd > ul > li { margin-bottom: 3px; background: url(/static/images/common/bu_pink.gif) no-repeat 0 9px; padding-left: 10px; }

.gnb_allMenu2 dl dd > ul > li > a { color: #333; font-size: 1.05em; }

.gnb_allMenu2 dl dd > ul > li > ul { margin: 5px 0 10px 5px; }

.gnb_allMenu2 dl dd > ul > li > ul > li { padding-left: 8px; background: url(/static/images/common/bu_line.gif) no-repeat 0 9px; }

.gnb_allMenu2 dl dd > ul > li > ul > li > a { font-size: 1em; color: #666; }

ol.nec08_02 { margin-bottom: 20px; }

ol.nec08_02 li { text-indent: -12px; margin: 0 0 10px 12px; }

ol.nec08_02 li ol li { margin-bottom: 2px; }

.memberBox { clear: both; display: block; margin: 30px 0; }

.memberBox > li { float: left; margin-left: 2%; width: 48%; text-align: center; }

.memberBox > li.mem1 a { background: #f2f2f2 url(/static/images/portal/sub/img_mem1_off.png) no-repeat center 40%; }

.memberBox > li.mem1 a .bg { line-height: 1.2; background: url(/static/images/portal/sub/bu_arr_gray.png) no-repeat right center; padding-right: 20px; display: inline-block; }

.memberBox > li.mem1 a:hover { background: #474a5b url(/static/images/portal/sub/img_mem1_on.png) no-repeat center 40%; color: #fff; }

.memberBox > li.mem1 a:hover > .bg { background: url(/static/images/portal/sub/bu_arr_white.png) no-repeat right center; }

.memberBox > li.mem2 a { background: #f2f2f2 url(/static/images/portal/sub/img_mem2_off.png) no-repeat center 30%; }

.memberBox > li.mem2 a .bg { line-height: 1.2; background: url(/static/images/portal/sub/bu_arr_gray.png) no-repeat right center; padding-right: 20px; display: inline-block; }

.memberBox > li.mem2 a .bg > span { background: none; }

@media (max-width: 480px) { .memberBox > li.mem2 a .bg > span { display: block; } }

.memberBox > li.mem2 a:hover { background: #474a5b url(/static/images/portal/sub/img_mem2_on.png) no-repeat center 30%; color: #fff; }

.memberBox > li.mem2 a:hover > .bg { background: url(/static/images/portal/sub/bu_arr_white.png) no-repeat right center; }

.memberBox > li > a { display: block; background: #f2f2f2; border: 1px solid #bfc2cf; min-height: 170px; padding-top: 110px; color: #787d9a; font-size: 1.15em; font-weight: bold; display: block; }

.memberBox2 { overflow: hidden; margin: 1.5em 0; position: relative; margin-right: -2%; }

.memberBox2 .mem { float: left; width: 48%; margin-right: 2%; background: #fff; min-height: 260px; border: 1px solid #e5e5e5; padding: 1em 1.5em 1.5em; position: relative; }

.memberBox2 .mem:before { display: block; content: ""; border: 1px solid #fff; position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 0; }

.memberBox2 .mem:hover { border: 1px solid #464d5d; }

.memberBox2 .mem:hover:before { display: block; content: ""; border: 1px solid #464d5d; }

.memberBox2 .mem:hover .btn-basic { background: #2894e0; }

.memberBox2 .mem:hover .btn-default { background: #1598dc; border: 1px solid #1598dc; }

.memberBox2 .mem dl { z-index: 1; position: relative; }

.memberBox2 .mem dl dt { font-weight: 500; font-size: 2.1em; border-bottom: 1px solid #ddd; text-align: center; padding-bottom: 10px; letter-spacing: -1px; }

.memberBox2 .mem dl dd { padding: 20px 0; }

.memberBox2 .mem button { position: absolute; bottom: 10px; width: 93%; }

.memberBox2 .mem .btn-default { display: block; padding: 9px 0; position: absolute; bottom: 20px; width: 92%; left: 4%; }

.memberBox2 .mem .boxGray { padding-left: 15px; }

.memberBox2 .mem:hover:before { display: block; content: ""; border: 1px solid #464d5d; }

.agreebtn { border-top: 1px solid #e5e5e5; margin-top: 2em; padding-top: 2em; text-align: center; }

.txt_area { border: 1px solid #e5e5e5; width: 100%; padding: 10px; line-height: 18px; }

.scrollBox { height: 250px; overflow: auto; background: #f5f6fa; border: 1px solid #bfc2cf; padding: 12px; }

.scrollBox h6 { color: #438de0; font-size: 1.05em; margin: 20px 0; }

.scrollBox h6:first-child { margin-top: 0; }

.scrollBox .fn { font-weight: normal; }

.scrollBox > ol > li { margin-bottom: 10px; font-weight: bold; }

.scrollBox > ol > li > ol > li { font-weight: normal; }

.scrollBox > ol > li > ol > li > ol > li { margin-left: 12px; }

.fs { font-size: 0.95em; }

.logW { margin-left: -1%; overflow: hidden; }

@media (max-width: 700px) { .logW { margin-left: 0; } }

.logW .logHalf { width: 49%; margin-left: 1%; float: left; }

@media (max-width: 700px) { .logW .logHalf { width: 100%; margin-left: 0; margin-bottom: 10px; } }

.loginSet { border: 1px solid #bfc2cf; border-top: 2px solid #787d9a; padding: 1em 2em; width: 100%; margin: 0 auto; overflow: hidden; }

@media (max-width: 320px) { .loginSet { padding: 1em; } }

.loginSet .memBox { float: left; width: 50%; padding-left: 3.5%; font-size: 0.95em; line-height: 1.35; min-height: 150px; position: relative; }

@media (max-width: 700px) { .loginSet .memBox { min-height: auto; } }

.loginSet .memBox.type { width: 100%; border: 0 !important; padding: 0 !important; }

.loginSet .memBox.type .tac { text-align: center; border-bottom: 1px solid #ddd; padding: 10px 0 20px 0; }

.loginSet .memBox.type .tac > p { display: inline-block; min-width: 150px; }

.loginSet .memBox.type .part { text-align: center; margin: 10px 0; }

.loginSet .memBox:first-child { border-right: 1px solid #dbdce0; padding: 0 3.5% 0 0; }

.loginSet .memBox .btn { width: 100%; background: #438de0; border: 0; padding: 10px; font-size: 1.15em; font-weight: bold; }

.loginSet .memBox .tac { margin-bottom: 10px; }

.loginSet .memBox .link { position: absolute; bottom: 5px; left: 0; background: url(/static/images/portal/common/bu_arr.png) right center no-repeat; font-weight: bold; display: inline-block; padding-right: 20px; }

@media (max-width: 700px) { .loginSet .memBox .link { position: inherit; bottom: inherit; left: inherit; } }

.loginSet .loginBox { position: relative; }

.loginSet .loginBox p.ex { display: block; margin-bottom: 15px; font-size: 0.95em; }

.loginSet .loginBox p.log { margin-bottom: 3px; }

.loginSet .loginBox p.log span { display: block; margin: 0 95px 0 0; }

.loginSet .loginBox p.log span .form-control { width: 95%; background: #f2f2f2; border: 1px solid #dbdce0; dislay: block; height: 34px; min-height: 34px; }

.loginSet .loginBox .btn_login { width: 100px; height: 72px; position: absolute; right: 0; top: 33px; background: #f05291; border: 0; color: #fff; font-weight: bold; font-size: 1.2em; border-radius: 3px; }

.loginSet .moreLink { text-align: center; margin: 1.3em 0 0.5em 0; }

.loginSet .moreLink a { padding: 0 6px 0 10px; background: url(/static/images/common/line.gif) left center no-repeat; font-size: 0.95em; }

.loginSet .moreLink a:first-child { background: none; }

.loginSet .moreLink a span { background: url(/static/images/portal/common/bu_arr.png) right center no-repeat; display: inline-block; padding-right: 16px; }

.tit_txt { font-size: 2.2em; color: #787d9a; font-weight: 400; letter-spacing: -1px; text-align: center; line-height: 1.3; }

@media (max-width: 767px) { .tit_txt { font-size: 1.5em; } }

.tit_txt1 { font-size: 2em; font-weight: 400; letter-spacing: -1px; line-height: 1.3; }

.fbig { font-size: 1.15em; }

.memberOk { text-align: center; }

.memberOk .img { margin: 5% 0; }

.memberOk .fBig { font-size: 1.05em; }

.stepTab { background: url(/static/images/portal/common/bg_step.gif) center center repeat-x; overflow: hidden; text-align: center; margin: 20px 0 10px 0; }

.stepTab > ul { text-align: center; }

.stepTab > ul > li { display: inline-block; border: 4px solid #b2b4bf; background: #fff; border-radius: 30px; padding: 6px 15px; font-size: 1.15em; margin: 0 2px; }

@media (max-width: 767px) { .stepTab > ul > li { padding: 3px 7px; margin: 0; } }

.stepTab > ul > li.on { background: #f05291; border: 4px solid #f05291; padding-left: 0; color: #fff; font-weight: bold; }

.stepTab > ul > li.on .num { background: #fff; border-radius: 30px; padding: 6px 14px; color: #333; }

.stepTab > ul > li.on .check { display: inline-block; padding-left: 5px; min-width: 100px; }

@media (max-width: 767px) { .stepTab > ul > li.on .check { min-width: auto; } }

.stepTab > ul > li.on .check > span { /* display: none; */ text-indent:-9999px; position:absolute; }

.stepTab > ul > li .num { font-size: 1.15em; color: #787d9a; font-weight: bold; }

.stepTab > ul > li .check { display: none; }

.bxType { border-bottom: 5px solid #f3f3f3; min-height: 190px; margin-bottom: 20px; padding-right: 330px; }

@media (max-width: 700px) { .bxType { padding-right: 0; min-height: auto; padding-bottom: 20px; } }

.bxType .tit_text { font-size: 2.3em; color: #474a5b; margin-bottom: 10px; }

@media (max-width: 700px) { .bxType .tit_text { font-size: 1.7em; } }

.bxType .txt1 { font-size: 1.1em; color: #f05291; }

.bxType .txt2 { font-size: 1.1em; line-height: 1.3; color: #767676; }

.bxType.bg1 { background: url(/static/images/portal/sub/img_report1.jpg) right bottom no-repeat; }

.bxType.bg2 { background: url(/static/images/portal/sub/img_report2.jpg) right bottom no-repeat; }

.bxType.bg3 { background: url(/static/images/portal/sub/img_report3.jpg) right bottom no-repeat; }

@media (max-width: 700px) { .bxType.bg1, .bxType.bg2, .bxType.bg3 { background: none; } }

.bxType .btn_set { margin: 30px 0 20px 0; }

.bxType .btn_set .btn { min-width: 125px; }

.calendar { overflow: hidden; margin-top: 10px; }

.calendar .fl { width: 64%; margin-right: 1%; background: #f8f8f8; padding: 3%; border-right: 3px solid #fff; }

@media (max-width: 700px) { .calendar .fl { width: 100%; margin-right: 0; } }

.calendar .fl .calendar_table2 { width: 100%; }

.calendar .fl .calendar_table2 table { width: 100%; }

.calendar .fl .calendar_table2 table th, .calendar .fl .calendar_table2 table td { border: 1px solid #ddd; }

.calendar .fl .calendar_table2 table th { font-weight: bold; color: #fff; text-align: center; padding: 10px 0; background: #767676; }

.calendar .fl .calendar_table2 table td { text-align: center; padding: 4px 0; height: 46px; font-weight: bold; vertical-align: top; background: #fff; }

.calendar .fl .calendar_table2 table .sun { background: #e74c4c; color: #fff; }

.calendar .fl .calendar_table2 table .sat { background: #6880c3; color: #fff; }

.calendar .fr { width: 35%; position: relative; background: #f8f8f8; padding: 3%; min-height: 390px; }

@media (max-width: 700px) { .calendar .fr { width: 100%; min-height: auto; margin-top: 5px; } }

.calendar .fr .view { font-weight: bold; font-size: 14px; padding: 0 0 12px 0; margin-bottom: 25px; border-bottom: 1px solid #ddd; }

.calendar .fr dl { overflow: hidden; margin-bottom: 30px; }

.calendar .fr dl dt { width: 100px; display: inline-block; float: left; }

.calendar .fr dl dd { float: left; border: 1px solid #d9d9e1; background-color: #f7f7fa; padding: 4px; width: 120px; background: #fff; }

.calendar .btn { position: absolute; bottom: 20px; width: 80%; right: 10%; }

@media (max-width: 700px) { .calendar .btn { position: inherit; bottom: inherit; right: inherit; } }

.calendar .clear { padding-bottom: 3px; }

.calendar .calendar_table2 .sun, .calendar .calendar_table2 .sat { color: #909090; }

.dl_num { margin-bottom: 20px; }

.dl_num.type1 dt { text-indent: -25px; margin-left: 28px; line-height: 20px; font-weight: bold; font-size: 1.05em; }

.dl_num.type1 dt .num { background: #f05291; padding: 1px 5px; font-size: 12px; color: #fff; line-height: 1.1; }

.dl_num.type1 dd { margin-left: 25px; }

/* 홈페이지이용 */
.vdList { overflow: hidden; margin-left: -1.5%; margin-top: 3%; }

.vdList li { float: left; margin: 0 0 0 1.5%; width: 31.5%; min-height: 170px; }

.vdList li:nth-child(3n+4) { clear: both; }

@media (max-width: 1023px) { .vdList li { width: 48.5%; }
  .vdList li:nth-child(3n+4) { clear: none; }
  .vdList li:nth-child(add) { clear: both; } }

@media (max-width: 480px) { .vdList li { width: 98.5%; } }

.vdList li .vdListArea { overflow: hidden; }

.vdList li .vdListArea .img { float: left; width: 30%; margin-right: 2%; max-width: 90px; }

.vdList li .vdListArea .txt { float: left; width: 68%; }

.vdList li .vdListArea .txt dt { font-weight: bold; margin-bottom: 5px; }

.vdList li .vdListArea .txt dd { color: #767676; font-size: 0.9em; }

.vdList li .down { clear: both; background: url(/static/images/common/dot.gif) repeat-x left top; padding: 15px 0; margin-top: 15px; }

.vdList li .down span { line-height: 1.42857; }

.mediaList ul { margin-left: -1.5%; }

.mediaList ul li { float: left; border: 1px solid #ddd; padding: 15px 12% 0 15px; margin: 0 0 2% 1.5%; width: 31.8%; min-height: 170px; position: relative; }

@media (max-width: 940px) { .mediaList ul li { width: 48.5%; } }

@media (max-width: 480px) { .mediaList ul li { width: 98.5%; padding-right: 105px; } }

.mediaList ul li .tit { display: block; font-weight: bold; padding-bottom: 10px; font-size: 1.1em; }

.mediaList ul li a { line-height: 1.3; }

.mediaList ul .bg1 { background: url(/static/images/portal/sub/bg_media01.gif) no-repeat right top; padding: 87px 70px 0 15px; background-size: 100%; }

.mediaList ul .bg3 { background: url(/static/images/portal/sub/bg_media03.gif) no-repeat 93% 20px; }

.mediaList ul .bg4 { background: url(/static/images/portal/sub/bg_media04.gif) no-repeat 93% 20px; }

.mediaList ul .bg5 { background: url(/static/images/portal/sub/bg_media05.gif) no-repeat 93% 20px; }

@media (max-width: 700px) { .mediaList ul .bg2, .mediaList ul .bg3, .mediaList ul .bg4, .mediaList ul .bg5 { background-size: 20%; } }

@media (max-width: 480px) { .mediaList ul .bg2, .mediaList ul .bg3, .mediaList ul .bg4, .mediaList ul .bg5 { background-size: auto; } }

.mediaList ul .btn { position: absolute; bottom: 15px; left: 15px; }

.banner_list { margin-left: -1%; }

.banner_list li { float: left; margin: 0 0 2% 1%; width: 24%; text-align: center; }

@media (max-width: 767px) { .banner_list li { width: 32.3%; } }

@media (max-width: 640px) { .banner_list li { width: 32.3%; } }

@media (max-width: 480px) { .banner_list li { width: 49%; } }

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

.people_infoW .thum_list { overflow: hidden; border-bottom: 1px dashed #cccecf; padding-bottom: 7px; margin: 0 0 10px 15px; padding-bottom: 7px; }

.people_infoW .thum_list li { float: left; padding: 0 4px 7px; width: 15.3%; }

.people_infoW .thum_list .active { opacity: 1; }

.people_infoW .people_info { width: 68%; margin-left: 2%; float: left; }

@media (max-width: 480px) { .people_infoW .people_info { width: 100%; margin-left: 0; } }

.people_infoW .people_info li.noline, .people_infoW .people_info li li { background: none; padding: 0; }

.people_infoW .people_info li.noline span, .people_infoW .people_info li li span { padding-right: 10px; }

.people_infoW .people_info li ul { padding-bottom: 0; }

.people_infoW #largeImage { width: 30%; float: left; }

@media (max-width: 480px) { .people_infoW #largeImage { width: 100%; text-align: center; float: none; } }

@media (max-width: 480px) { .people_infoW #largeImage img { max-width: 200px; } }

.keyList { overflow: hidden; padding: 10px; margin-right: -2%; }

.keyList li { float: left; width: 48%; background: url(/images/common/dot.gif) repeat-x left bottom; padding: 15px 0; margin: 1% 2% 0 0; }

@media (max-width: 767px) { .keyList li { width: 98%; } }

.keyList li .img { float: left; width: 40%; max-width: 200px; text-align: right; margin-right: 3%; }

@media (max-width: 480px) { .keyList li .img { float: none; width: 100%; max-width: auto; } }

.keyList li dl { margin-left: 44%; }

@media (max-width: 480px) { .keyList li dl { margin-left: 0; } }

.keyList li dt { font-weight: bold; margin-bottom: 5px; background: url(/static/images/common/bu_ring_pink.png) no-repeat left 5px; font-size: 1.1em; padding-left: 15px; }

.keyList li dd { margin-left: 15px; }

.keyList li.htype { height: 90px; }

@media (max-width: 480px) { .keyList li.htype { height: auto; } }

.mwType { margin: 2%; }

.mwType img { max-width: 155px; margin-bottom: 5px; }

@media (max-width: 480px) { .mwType img { max-width: 140px; } }

.mwType .imgs1 { max-width: 340px; }

@media (max-width: 480px) { .mwType .imgs1 { max-width: 300px; } }

.chartStyle { width: 100%; }

.chartStyle text { font-size: 1.1em; font-family: "맑은고딕","malgun gothic","나눔고딕","Nanum Gothic","AppleGothic","돋움","dotum",Helvetica,Arial,sans-serif; }

.popup_news { margin-bottom: 20px; }

.popup_news .tab_popup { padding: 0; }

.popup_news .pop_01, .popup_news .pop_02 { border: 1px solid #b2b4bf; border-top: 0; padding: 20px 20px 10px 20px; }

.popup_news .popup_news_close { text-align: center; font-weight: bold; font-weight: bold; }

.popup_news .selectbox1 { vertical-align: top; }

.popup_news .selectbox1 select { height: 26px; }

/*로그인 서비스 추가 180319*/
.loginService li{overflow:hidden; box-sizing: border-box; min-height:295px;  border:1px solid #dbdce0; margin-bottom:10px; width:24%; display:inline-block; text-align: center; margin-right:3px;  position: relative}

.loginService li .loginS_Vcenter{position: absolute; top: 50%; transform: translateY(-50%);  width: 100%; padding:3% 1.5%; }

.loginS_tit{font-size: 1.4em; color: #303030; font-weight: 800; margin: 30px 0 20px; letter-spacing: -2px}
.loginS_btn{width: 85%; line-height: 30px; display: inline-block; margin-bottom: 5px;}
.loginService li> .loginService_icon{display: inline-block; width:80px; text-align: center;padding: 0;}
.loginS_Ltit{ letter-spacing: -3.5px}


@media (max-width: 767px) {
   .loginService li{ width:32%;}
   .loginS_tit{font-size: 1.2em;}
   .loginS_Ltit{ letter-spacing: -2.5px}
}

@media (max-width: 480px) {
   .loginService li{ width:48%;}
}

/*조직구성 모바일 수정 10425*/
.orgList_New { width: 285px;  margin: 0 auto; overflow: hidden; padding: 0;  list-style: none; background:url(/static/images/portal/sub/org_line.gif) no-repeat; background-position: center 26px}
.orgList_New li { display:block; text-align: center; margin-bottom: 10%; }
.orgList_New li.org1 { margin-top: 1.5em }
.orgList_New li.org1 .name { background: #f05291; color: #fff; display: inline-block; padding: 1em 2em; border-radius: 3px; font-size: 1.15em;margin-bottom: 0.6em }

.orgList_New li.org2 {  }
.orgList_New li.org2 .name { background: #474a5b; color: #fff; display: inline-block; padding: 1em 4.5em; border-radius: 3px; font-size: 1.15em; margin-bottom: 0.6em }

.orgList_New li.org3 { }
.orgList_New li.org3 .name { background: #cccfdc; border: 2px solid #787d9a; color: #313131; display: inline-block; padding:0.8em 3em; border-radius: 3px; font-size: 1.15em; margin-bottom: 0.6em}

.orgList_New li.org4 { margin-bottom: 0 }
.orgList_New li.org4 .name { background: #cccfdc; border: 2px solid #787d9a; color: #787d9a; display: inline-block; padding: 10px; border-radius: 3px; font-size: 1.15em; }

.orgList_New li.org4 ul{padding: 0;}
.orgList_New li.org4 ul li {display:inline-block; width:90px; padding: 1em; background:#fff; border: 1px solid #787d9a; border-radius:3px; margin-bottom: 0;margin-bottom: 0.6em}

.orgList_New li .info { display: block; }
.orgList_New li .info a{position:relative; padding: 0  1.8em; color:#474a5b; background: #f3f3f3; }
.orgList_New li .info a:after{content:"+";position:absolute; right:0;top:1px;width:16px;height:16px;display:block;border-radius:10px; background:#f3f3f3; vertical-align:middle;text-align:center; line-height:0.6em; font-size:14px; font-weight: 800; border: solid #474a5b 2px; letter-spacing:0}


/*사무처 조직구성 모바일 수정 10425*/
.orgList_Dept { width: 285px;  margin: 0 auto; padding: 0; list-style: none; background:url(/static/images/portal/sub/dept_line.gif) no-repeat; background-position: center 0px; position: relative; min-height: 1329px; }

.orgList_Dept li{position:absolute; display: inline-block; border-radius: 3px; margin-bottom: 0.6em; box-sizing: border-box; font-weight: bold}

.dept1{background: #f05291; font-size: 1.15rem; width: 100%; top: 0; left: 0; line-height: 2.8em;  }

.dept2_1, .dept2_2{background: #787d9a; font-size: 1rem; width: 44%; line-height: 2.8em;top: 60px; }
.dept2_1{left: 0 }
.dept2_2{ right: 0 }
.dept2_3{background: #474a5b; font-size: 1rem; width: 100%; top: 130px; left: 0; line-height: 3.3em;  }

.dept1 a, .dept2_1 a, .dept2_2 a, .dept2_3 a{color: #fff;}

.dept3_1, .dept3_4, .dept4_1, .dept4_2, .dept4_3, .dept4_4, .dept4_5, .dept4_6{background: #cccfdc; border: solid 1px #787d9a; line-height: 2em; font-size: 0.9rem; }
.dept3_1 a, .dept3_4 a, .dept4_1 a, .dept4_2 a, .dept4_3 a, .dept4_4 a, .dept4_5 a, .dept4_6 a{color: #474a5b !important}

.dept3_1{top: 60px; right: 0; width: 43%; }

.dept3_1_1, .dept3_1_2, .dept3_1_3, .dept3_4_1, .dept5_1, .dept5_2, .dept5_3, .dept5_4, .dept5_5, .dept5_6 {background: #fff; border: solid 1px #787d9a; font-size: 0.8rem; width: 100%; right: 0; text-align: left}
.dept3_1_1, .dept3_1_2, .dept3_1_3{line-height: 3em; padding: 0 1em;}

.dept3_1_1{top: 31px;}
.dept3_1_2{top: 81px;}
.dept3_1_3{top: 131px;}


.dept3_4_1, .dept5_1, .dept5_2, .dept5_3, .dept5_4, .dept5_5, .dept5_6 {position: absolute}
.dept3_4_1 li, .dept5_1 li, .dept5_2 li, .dept5_3 li, .dept5_4 li, .dept5_5 li, .dept5_6 li {position:relative; font-size:0.75rem; padding:0.3em 1em 0; line-height: 11px; display: block;}


.dept3_2, .dept3_3{background: #fff; border: solid 2px #787d9a; font-size: 0.9rem; width: 43%; line-height: 2.5em;}
.dept3_2 a, .dept3_3 a{color: #999cb1;}

.dept3_2{top: 242px; left: 27px;}
.dept3_3{top: 643px; left: 27px;}
.dept3_4{top: 1093px; right: 0;width: 43%;}

.dept4_1, .dept4_2, .dept4_3, .dept4_4, .dept4_5, .dept4_6{ width: 102%; left: 134px;}

.dept4_1, .dept4_4{top:48px; }
.dept4_2{top:165px; }
.dept4_3{top:282px; }
.dept4_5{top:170px; }
.dept4_6{top:306px; }

.dept5_1, .dept5_2, .dept5_3, .dept5_4, .dept5_5, .dept5_6, .dept3_4_1 {top:31px }
.dept5_1 li:first-child, .dept5_2 li:first-child, .dept5_3 li:first-child, .dept5_4 li:first-child, .dept5_5 li:first-child, .dept5_6 li:first-child, .dept3_4_1 li:first-child {padding-top:8px }


/*폰트 스타일 10425*/
.fw_bold{font-weight: bold}

.vision .vistionCon > ul > li{padding:2% 1% 0 2%;}
.vision .vistionCon > ul > li dl dt{padding:55px 20px;background:#787d9a url(/static/images/portal/sub/bu_vision.png) no-repeat center 35px;}
.vision .vistionCon > ul > li dl dd{padding:20px 0 10px;letter-spacing:-.5px;}
@media (max-width: 640px){
.vision .vistionCon > ul > li {padding:20px;}
}

/* 정책선거란 추가 20200914 */
.iist-flow li:after{content: '';position: absolute;background: url("/static/images/portal/sub/ico-sprite.png") no-repeat 0;background-size: 25rem;}
.iist-flow{display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap; flex-wrap: wrap;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;padding-top: .5rem;}
.iist-flow li {position: relative;display: inline-block;text-align: center;padding-top: 8rem;margin: 0 0 1rem;-webkit-box-flex: 33.3333%;-ms-flex: 33.3333% 0 0px;flex: 33.3333% 0 0;}
.iist-flow li:before{content: '';position: absolute;top: 0;left: 50%;margin: 0 0 0 -4rem;width: 8rem;height: 8rem;border-radius: 8rem;background: #fff;}
.iist-flow li:nth-child(1):after{top: 1.8rem;left: 50%;margin: 0 0 0 -2rem;width: 4.8rem;height: 4.7rem;background-position: 0 -1.3rem;}
.iist-flow li:nth-child(2):after{top: 1.8rem;left: 50%;margin: 0 0 0 -2rem;width: 3.7rem;height: 4.7rem;background-position: -4.9rem -1.3rem;}
.iist-flow li:nth-child(3):after{top: 1.8rem;left: 50%;margin: 0 0 0 -2rem;width: 4.2rem;height: 4.7rem;background-position: -8.7rem -1.3rem;}
.iist-flow li:nth-child(4):after{top: 1.8rem;left: 50%;margin: 0 0 0 -2.5rem;width: 4.9rem;height: 4.7rem;background-position: -13rem -1.3rem;}
.iist-flow li:nth-child(5):after{top: 1.8rem;left: 50%;margin: 0 0 0 -1.6rem;width: 3.5rem;height: 4.7rem;background-position: -18rem -1.3rem;}
.iist-flow li:nth-child(1) dl:before,
.iist-flow li:nth-child(1) dl:after{content: none;}
.iist-flow li dl:before{content: '';position: absolute;top: 3.5rem;left: -.5rem;width: 1.2rem;height: .2rem;border-radius: .2rem;background: #6f5cc1;-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);-ms-transform: rotate(45deg);-o-transform: rotate(45deg);transform: rotate(45deg);}
.iist-flow li dl:after{content: '';position: absolute;top: 4.2rem;left: -.5rem;width: 1.2rem;height: .2rem;border-radius: .2rem;background: #6f5cc1;-webkit-transform: rotate(-45deg);-moz-transform: rotate(-45deg);-ms-transform: rotate(-45deg);-o-transform: rotate(-45deg);transform: rotate(-45deg);}
.iist-flow li dt {position: relative;width: 7rem;margin: -.6rem auto 5px;font-size: 15px;font-weight: 700;padding: .35rem 0;color: #fff;background: #6f5cc1;border-radius: 1.5rem;text-align: center;}
@media (min-width: 1200px) {
	.iist-flow{display: table;width: 100%;table-layout: fixed;}
	.iist-flow li {margin: 0 0 1rem;display: table-cell;}
}

/*
.popup .popArea{padding:3%;background:#fff;position:relative;}
.popup .popArea>.p1{padding:5%;}
.popup .popArea>.p2{padding:3% 3% 0 3%;}
.popup .perInfo{overflow:hidden;}
.popup .perInfo  .img img{float:left;width:120px;border:3px solid #e5e5e5;}
.popup .perInfo .imgCon{border:1px solid #e5e5e5;padding:3%;border-top:2px solid #333; margin:0 auto;margin-left:130px;}
.popup .perInfo .imgCon dt{position:relative;background: url(/static/img/gw/common/bu1.png) left 11px no-repeat;float:left;display:block;width:98px;color:#777;padding:4px 0 4px 8px;}
.popup .perInfo .imgCon dt:after{content:" : ";display:inline-block;width:3px;height:10px;position:absolute;right:0;}
.popup .perInfo .imgCon dd{margin-left:99px;padding:4px;}
.popup .scroll_1{overflow: auto;height:80px;}
.popup .scroll_2{overflow: auto;height:150px;}
.popup .btnRd{white-space: nowrap;}
.popup .scroll_3{overflow: auto;height:120px;padding:0.7em 0;}
.popup .scroll_3 ul li a{padding:2px 0;display:block;background: url(/static/img/gw/common/bu1.png) 10px 10px no-repeat;padding-left:20px;line-height:159%;}
.popup .scroll_3 ul li a:hover{background-color:#f3f3f3;}
.popup .scroll_3 ul li em{color:#4ca8e1;font-weight:bold;}
.popup .listT{border-top:2px solid #333;margin-top:12px;}
.popup .listT li{border-bottom:1px solid #ddd;padding:2%;position:relative;line-height:119%;}
.popup .listT li .name{margin-bottom:3px;}
.popup .listT li span.btn{display:inline-block;float:right;margin-top:-45px;}
.popup .listT li:nth-child(even){background:#f8f8f8;}
.popup .btnSet{padding-top:1.5em;margin:1em 0;}
.popup .popup_photo {display:block;}
.popup .popup_photo li{float:left;height:auto;}
.popup .popup_photo li img{width:100%;height:100%;}
.popup .schW.schAll .part2{margin:0 25px 0 90px;display:block;}

.popup .ctrl button{width:72px;height:72px;}
.popup .ctrl button span{position:absolute;z-index: -1;text-indent: -999em;}
.popup .ctrl button.IVleft{background:url(/static/img/gw/common/ctrl_photoLeft.png) no-repeat left top;position:absolute; top:45%;left:0;}
.popup .ctrl button.IVright{background:url(/static/img/gw/common/ctrl_photoRight.png) no-repeat left top;position: absolute;top:45%;right:0;}
.popup_type{width:100%; font-size:0.90em;position:relative;}
.popup_type h1{background:#464d5d;color:#fff;font-size:2.5em;padding:20px 0;text-align:center;}
.popup_type>.popArea{padding:2%;}


*/
/*

.multi{padding:10px;position:relative}

.multi h4{background:url(/static/images/portal/contents/bg_contents_search.gif) repeat-x 0 13px;padding:0}

.multi h4 span{background:#fff url(/static/images/portal/contents/ico_contents_search.gif) no-repeat 0 5px;padding:0 10px 0 12px;display:inline-block;color:#0052a9}

.multi ul{padding:10px 0 10px 16px}

.multi ul li{position:relative;padding-left:146px;height:100px}

.multi ul li .img{position:absolute;top:0;left:0}

.multi ul li .img img{border:1px solid #d4d4d4;width:122px;height:72px;padding:1px}

.multi ul li .title{font-weight:bold;display:block;padding-bottom:4px;font-size:14px}

.multi ul li .title .multi_page{font-weight:normal;color:#666;font-size:11px;display:inline-block;padding:0 10px}

.multi .more{background:#fff url(/static/images/portal/contents/ico_sh_more.gif) no-repeat 10px 10px;position:absolute;top:0;right:0;padding:8px 0 8px 32px;font-weight:bold;display:block}

*/
/*portal_list_typec*/
/* gallery_list_typea */
/* gallery_list_typeb */
/* vod_list_typea */
/* move_title */
/*.top_info_list h3 a{float:left;padding:4px 20px;border-top:1px solid #dcdcdc;border-left:1px solid #dcdcdc;border-right:1px solid #dcdcdc;border-bottom:1px solid #b4b4b4;display:block;text-align:center;font-weight:normal;background-color:#f9f9f9;font-size:12px}

.top_info_list h3.on a,

.top_info_list h3 a:hover{color:#000;font-weight:bold;background-color:#fff;border-bottom-color:#fff;border-top-color:#b4b4b4;border-left-color:#b4b4b4;border-right-color:#b4b4b4;text-decoration:none}

*/
/* 2013-09-03*/
/* 2013-09-23 */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsL3N1YnMuY3NzIiwic291cmNlcyI6WyJwb3J0YWwvc3Vicy5zY3NzIiwiX2JyZWFrcG9pbnQuc2NzcyIsImJyZWFrcG9pbnQvX3NldHRpbmdzLnNjc3MiLCJicmVha3BvaW50L19jb250ZXh0LnNjc3MiLCJicmVha3BvaW50L19oZWxwZXJzLnNjc3MiLCJicmVha3BvaW50L19wYXJzZXJzLnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvX3F1ZXJ5LnNjc3MiLCJicmVha3BvaW50L3BhcnNlcnMvX3NpbmdsZS5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL3NpbmdsZS9fZGVmYXVsdC5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL19kb3VibGUuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9kb3VibGUvX2RlZmF1bHQtcGFpci5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL2RvdWJsZS9fZG91YmxlLXN0cmluZy5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL2RvdWJsZS9fZGVmYXVsdC5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL190cmlwbGUuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy90cmlwbGUvX2RlZmF1bHQuc2NzcyIsImJyZWFrcG9pbnQvcGFyc2Vycy9fcmVzb2x1dGlvbi5zY3NzIiwiYnJlYWtwb2ludC9wYXJzZXJzL3Jlc29sdXRpb24vX3Jlc29sdXRpb24uc2NzcyIsImJyZWFrcG9pbnQvX25vLXF1ZXJ5LnNjc3MiLCJicmVha3BvaW50L19yZXNwb25kLXRvLnNjc3MiLCJicmVha3BvaW50L19sZWdhY3ktc2V0dGluZ3Muc2NzcyIsInBvcnRhbC9iYXNlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJ1dGYtOFwiO1xyXG5AaW1wb3J0ICcuLi9icmVha3BvaW50JztcclxuQGltcG9ydCAnYmFzZS5zY3NzJztcclxuXHJcbi5zaWduYXR1cmV7bWFyZ2luOjIwcHggMCAyMHB4IDMwcHg7XHJcblx0bGl7bWFyZ2luLWJvdHRvbTozMHB4OyB9XHJcbn1cclxuLy8gLmVtYmxlbV9saXN0e292ZXJmbG93OmhpZGRlbjtcclxuLy8gXHRcdGxpe2Zsb2F0OmxlZnQ7d2lkdGg6MjQlO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowLjUlO1xyXG4vLyBcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZyl7XHJcbi8vIFx0XHRcdFx0d2lkdGg6MzIuMyU7XHJcbi8vIFx0XHRcdH1cclxuLy8gXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG4vLyBcdFx0XHRcdHdpZHRoOjQ5JTtcclxuLy8gXHRcdFx0fVxyXG4vLyBcdFx0fVxyXG4vLyBcdH1cclxuLy8gLmNvbG9yX2xpc3R7b3ZlcmZsb3c6aGlkZGVuO1xyXG4vLyBcdFx0bGl7ZmxvYXQ6bGVmdDt3aWR0aDoyNCU7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjAuNSU7XHJcbi8vIFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKXtcclxuLy8gXHRcdFx0XHR3aWR0aDozMi4zJTtcclxuLy8gXHRcdFx0fVxyXG4vLyBcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCl7XHJcbi8vIFx0XHRcdFx0d2lkdGg6NDklO1xyXG4vLyBcdFx0XHR9XHJcbi8vIFx0XHR9XHJcbi8vIFx0fVxyXG5cclxuXHJcbi5sb2dvX2xpc3R7bWFyZ2luOjIwcHggMCAwIDEycHg7XHJcblx0bGl7bWFyZ2luLWJvdHRvbToxNXB4O31cclxufVxyXG4uaW1nVHlwZXttYXJnaW46MCAwIDAgLTElO0BpbmNsdWRlIGNsZWFyZml4O1xyXG5cdC5pbWcsID5saXtmbG9hdDpsZWZ0O3dpZHRoOjk5JTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCAwIDElIDElO2xpbmUtaGVpZ2h0OjEuMjtcclxuXHRcdC50eHR7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46NXB4IDAgMTBweCAwO1xyXG5cdFx0XHQ+c3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYnVfYXJyX3VwLmdpZikgMCA3cHggbm8tcmVwZWF0O3BhZGRpbmctbGVmdDoxMnB4O2NvbG9yOiM2NjY7Zm9udC1zaXplOjFlbTt9XHJcblx0XHR9XHJcblx0fVxyXG5cdCYudHlwZTJ7XHJcblx0XHQuaW1nLCA+bGl7ZmxvYXQ6bGVmdDt3aWR0aDo0OSU7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCl7XHJcblx0XHRcdFx0d2lkdGg6OTklO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdCYudHlwZTN7XHJcblx0XHQuaW1nLCA+bGl7ZmxvYXQ6bGVmdDt3aWR0aDozMi4zMyU7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCl7XHJcblx0XHRcdFx0d2lkdGg6NDklO1xyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKG9kZCl7Y2xlYXI6Ym90aDt9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Ji50eXBlNHtcclxuXHRcdC5pbWcsID5saXtmbG9hdDpsZWZ0O3dpZHRoOjI0JTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGd4KXtcclxuXHRcdFx0XHR3aWR0aDo0OSU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmFib3V0e292ZXJmbG93OmhpZGRlbjtcclxuXHRoM3t0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjIuMWVtO2xldHRlci1zcGFjaW5nOi0xcHg7Y29sb3I6Izc4N2Q5YTttYXJnaW4tYm90dG9tOjQlO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWcpe1xyXG5cdFx0XHRmb250LXNpemU6MS42ZW07bGluZS1oZWlnaHQ6MS4zO1xyXG5cdFx0XHRzcGFue2Rpc3BsYXk6YmxvY2s7fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuYWJvdXRMe2Zsb2F0OmxlZnQ7d2lkdGg6NDclO3RleHQtYWxpZ246Y2VudGVyO2xldHRlci1zcGFjaW5nOi0xcHg7bGluZS1oZWlnaHQ6MS4zO21hcmdpbi1yaWdodDozJTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCl7XHJcblx0XHRcdGZsb2F0Om5vbmU7d2lkdGg6MTAwJTttYXJnaW46MDtcclxuXHRcdH1cclxuXHRcdD5kaXZ7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdC50eHQxe2NvbG9yOiM2NjY7bWFyZ2luLXRvcDoyMHB4O2ZvbnQtc2l6ZTowLjk1ZW07dGV4dC1hbGlnbjpyaWdodDt9XHJcblx0XHRcdC50eHQye2ZvbnQtc2l6ZToxLjZlbTtjb2xvcjojNjY2O2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LWFsaWduOnJpZ2h0O31cclxuXHRcdH1cclxuXHR9XHJcblx0LmFib3V0UntmbG9hdDpsZWZ0O3dpZHRoOjUwJTtmb250LXNpemU6MWVtO2xpbmUtaGVpZ2h0OjEuNTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCl7XHJcblx0XHRcdGZsb2F0Om5vbmU7d2lkdGg6MTAwJTttYXJnaW4tdG9wOjMlO1xyXG5cdFx0fVxyXG5cdFx0cHttYXJnaW4tYm90dG9tOjEycHg7Y29sb3I6IzVkNWQ1ZH1cclxuXHR9XHJcbn1cclxuXHJcbi52aXNpb257dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0LnZpc3Rpb25Ue2JhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvc3ViL2JnX3Zpc2lvbi5naWYpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO3BhZGRpbmc6MTEwcHggMCAwIDA7aGVpZ2h0OjM1MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWcpe1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOmF1dG8gMTAwJTtwYWRkaW5nOjgwcHggMCAwIDA7aGVpZ2h0OjI1MHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdGgze2ZvbnQtc2l6ZToyLjJlbTtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6LTFweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWcpe1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOjEuN2VtO1xyXG5cdFx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LnZpc3Rpb25Db257Ym9yZGVyOjFweCBzb2xpZCAjODc4OWE0O2JhY2tncm91bmQ6I2YzZjNmMztib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0XHQudGl0bGV7Zm9udC1zaXplOjJlbTtjb2xvcjojNWI2MTg0O3BhZGRpbmc6MSU7fVxyXG5cdFx0PnVse0BpbmNsdWRlIGNsZWFyZml4O21hcmdpbi10b3A6NjBweDtcclxuXHRcdFx0Pmxpe2Zsb2F0OmxlZnQ7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOjElIDAgMSUgMSU7d2lkdGg6MzEuOCU7Ym9yZGVyOjFweCBzb2xpZCAjYjJiNGJmO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjIlIDEuNSUgMCAyJTtib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcyKXtcclxuXHRcdFx0XHRcdHBhZGRpbmc6MiUgMS41JSAyJSAyJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWcpe1xyXG5cdFx0XHRcdFx0ZmxvYXQ6bm9uZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjk2JTttYXJnaW46ODBweCAyJSAyJSAyJVxyXG5cdFx0XHRcdFx0O3BhZGRpbmc6MjBweDtcclxuXHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDoyJTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRkbHt0ZXh0LWFsaWduOmNlbnRlcjttaW4taGVpZ2h0OjE2MHB4O3dpZHRoOjEwMCU7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZyl7XHJcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6YXV0bztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGR0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjE0MHB4O2hlaWdodDoxNDBweDtwYWRkaW5nOjQ1cHggMjBweDtib3JkZXItcmFkaXVzOiAxMDBweDtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjEuMWVtO21hcmdpbi10b3A6LTkwcHg7YmFja2dyb3VuZDojNzg3ZDlhIHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvc3ViL2J1X3Zpc2lvbi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgMjBweDtmb250LXNpemU6MS4wNWVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZGR7dGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmctdG9wOjIwcHg7bGV0dGVyLXNwYWNpbmc6MDtcclxuXHRcdFx0XHRcdFx0bGk6YmVmb3Jle2NvbnRlbnQ6XCItIFwiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtaW5kZW50Oi0xMHB4O3BhZGRpbmctbGVmdDowO31cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmduYl9hbGxNZW51MntwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO2NsZWFyOmJvdGg7bWFyZ2luLWxlZnQ6LTElO1xyXG5cdGRse2Zsb2F0OmxlZnQ7cGFkZGluZzoxM3B4O3dpZHRoOjI0JTttYXJnaW4tbGVmdDoxJTtiYWNrZ3JvdW5kOiNmM2YzZjM7bWFyZ2luLWJvdHRvbToxMHB4O1xyXG5cdFx0JjpudGgtY2hpbGQoNG4rNSl7Y2xlYXI6Ym90aDt9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpe1xyXG5cdFx0XHR3aWR0aDozMi4zMyU7XHJcblx0XHRcdCY6bnRoLWNoaWxkKDNuKzQpe2NsZWFyOmJvdGg7fVxyXG5cdFx0XHQmOm50aC1jaGlsZCg0bis1KXtjbGVhcjpub25lO31cclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1nKXtcclxuXHRcdFx0d2lkdGg6NDklO1xyXG5cdFx0XHQmOm50aC1jaGlsZCgzbis0KXtjbGVhcjpub25lO31cclxuXHRcdFx0JjpudGgtY2hpbGQoNG4rNSl7Y2xlYXI6bm9uZTt9XHJcblx0XHRcdCY6bnRoLWNoaWxkKG9kZCl7Y2xlYXI6Ym90aDt9XHJcblx0XHR9XHJcblx0XHRkdHtmb250LXNpemU6MS4yZW07Zm9udC13ZWlnaHQ6Ym9sZDttYXJnaW4tYm90dG9tOjE4cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U2ZTdlYjt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjVweCAwIDEwcHggMDtcclxuXHRcdFx0YXtjb2xvcjokY29yX3Bpbms7ZGlzcGxheTpibG9jazt9XHJcblx0XHR9XHJcblx0XHRkZHtcclxuXHRcdFx0PnVse1xyXG5cdFx0XHRcdD5saXttYXJnaW4tYm90dG9tOjNweDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYnVfcGluay5naWYpIG5vLXJlcGVhdCAwIDlweDtwYWRkaW5nLWxlZnQ6MTBweDtcclxuXHRcdFx0XHRcdD5he2NvbG9yOiMzMzM7Zm9udC1zaXplOjEuMDVlbTt9XHJcblx0XHRcdFx0XHQ+dWx7bWFyZ2luOjVweCAwIDEwcHggNXB4O1xyXG5cdFx0XHRcdFx0XHQ+bGl7cGFkZGluZy1sZWZ0OjhweDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vYnVfbGluZS5naWYpIG5vLXJlcGVhdCAwIDlweDtcclxuXHRcdFx0XHRcdFx0XHQ+YXtmb250LXNpemU6MWVtO2NvbG9yOiM2NjY7XHJcblx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyAuZ25iX2FsbE1lbnUye21hcmdpbi10b3A6NnB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xlYXI6Ym90aDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvZ25iX2FsbE1lbnUyX2JneS5naWYpIDAgMCByZXBlYXQteX1cclxuLy8gLmduYl9hbGxNZW51MiBkbHtmbG9hdDpsZWZ0O3BhZGRpbmc6MCAxM3B4O3dpZHRoOjIzJTttYXJnaW46MCAxJX1cclxuLy8gLmduYl9hbGxNZW51MiAucHJue3BhZGRpbmctcmlnaHQ6MH1cclxuLy8gLmduYl9hbGxNZW51MiBkbCBkdHtwYWRkaW5nLWJvdHRvbToyMHB4fVxyXG4vLyAuZ25iX2FsbE1lbnUyIGRsIGRkIGxpe2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9nbmIvYnVfMDEuZ2lmKSBuby1yZXBlYXQgMCA2cHg7cGFkZGluZzowIDAgMTBweCAxMHB4fVxyXG4vLyAuZ25iX2FsbE1lbnUyIGRsIGRkIGxpIGF7Y29sb3I6IzJkMzc0MDtmb250LXdlaWdodDpib2xkfVxyXG4vLyAuZ25iX2FsbE1lbnUyIGRsIGRkIGxpIHVsIGxpe2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9nbmIvYnVfMDIuZ2lmKSBuby1yZXBlYXQgMCA2cHg7cGFkZGluZzowIDAgMCAxMHB4fVxyXG4vLyAuZ25iX2FsbE1lbnUyIGRsIGRkIGxpIHVsIGxpIGF7Y29sb3I6IzU0NjI2ZTtmb250LXdlaWdodDpub3JtYWx9XHJcblxyXG5vbC5uZWMwOF8wMnttYXJnaW4tYm90dG9tOjIwcHh9XHJcbm9sLm5lYzA4XzAyIGxpe3RleHQtaW5kZW50Oi0xMnB4O21hcmdpbjowIDAgMTBweCAxMnB4fVxyXG5vbC5uZWMwOF8wMiBsaSBvbCBsaXttYXJnaW4tYm90dG9tOjJweH1cclxuXHJcbi8vIO2ajOybkFxyXG4ubWVtYmVyQm94e2NsZWFyOmJvdGg7ZGlzcGxheTpibG9jazttYXJnaW46MzBweCAwO1xyXG5cdD5saXtmbG9hdDpsZWZ0O21hcmdpbi1sZWZ0OjIlO3dpZHRoOjQ4JTt0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdCYubWVtMXtcclxuXHRcdFx0YXtiYWNrZ3JvdW5kOiNmMmYyZjIgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9zdWIvaW1nX21lbTFfb2ZmLnBuZykgbm8tcmVwZWF0IGNlbnRlciA0MCU7XHJcblx0XHRcdFx0LmJne2xpbmUtaGVpZ2h0OjEuMjtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvc3ViL2J1X2Fycl9ncmF5LnBuZykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtwYWRkaW5nLXJpZ2h0OjIwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCY6aG92ZXJ7YmFja2dyb3VuZDojNDc0YTViIHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvc3ViL2ltZ19tZW0xX29uLnBuZykgbm8tcmVwZWF0IGNlbnRlciA0MCU7Y29sb3I6I2ZmZjtcclxuXHRcdFx0XHRcdD4uYmd7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL3N1Yi9idV9hcnJfd2hpdGUucG5nKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHRcdCYubWVtMntcclxuXHRcdFx0YXtiYWNrZ3JvdW5kOiNmMmYyZjIgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9zdWIvaW1nX21lbTJfb2ZmLnBuZykgbm8tcmVwZWF0IGNlbnRlciAzMCU7XHJcblx0XHRcdFx0LmJne2xpbmUtaGVpZ2h0OjEuMjtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvc3ViL2J1X2Fycl9ncmF5LnBuZykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtwYWRkaW5nLXJpZ2h0OjIwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHQ+c3BhbntiYWNrZ3JvdW5kOm5vbmU7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpe1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCY6aG92ZXJ7YmFja2dyb3VuZDojNDc0YTViIHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvc3ViL2ltZ19tZW0yX29uLnBuZykgbm8tcmVwZWF0IGNlbnRlciAzMCU7Y29sb3I6I2ZmZjtcclxuXHRcdFx0XHRcdD4uYmd7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL3N1Yi9idV9hcnJfd2hpdGUucG5nKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblx0XHQ+YXtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6I2YyZjJmMjtib3JkZXI6MXB4IHNvbGlkICNiZmMyY2Y7bWluLWhlaWdodDoxNzBweDtwYWRkaW5nLXRvcDoxMTBweDtjb2xvcjojNzg3ZDlhO2ZvbnQtc2l6ZToxLjE1ZW07Zm9udC13ZWlnaHQ6Ym9sZDtkaXNwbGF5OmJsb2NrO31cclxuXHR9XHJcbn1cclxuLm1lbWJlckJveDIge292ZXJmbG93OmhpZGRlbjttYXJnaW46MS41ZW0gMDtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tcmlnaHQ6LTIlO1xyXG5cdC5tZW17ZmxvYXQ6bGVmdDt3aWR0aDo0OCU7bWFyZ2luLXJpZ2h0OjIlO2JhY2tncm91bmQ6I2ZmZjttaW4taGVpZ2h0OjI2MHB4O2JvcmRlcjoxcHggc29saWQgI2U1ZTVlNTtwYWRkaW5nOjFlbSAxLjVlbSAxLjVlbTtwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdCY6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7Y29udGVudDpcIlwiO2JvcmRlcjoxcHggc29saWQgI2ZmZjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MDt6LWluZGV4OjA7fVxyXG5cdFx0Jjpob3Zlcntib3JkZXI6MXB4IHNvbGlkICM0NjRkNWQ7XHJcblx0XHRcdCY6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7Y29udGVudDpcIlwiO2JvcmRlcjoxcHggc29saWQgIzQ2NGQ1ZDt9XHJcblx0XHRcdC5idG4tYmFzaWN7YmFja2dyb3VuZDojMjg5NGUwO31cclxuXHRcdFx0LmJ0bi1kZWZhdWx0e2JhY2tncm91bmQ6IzE1OThkYztib3JkZXI6MXB4IHNvbGlkICMxNTk4ZGM7fVxyXG5cdFx0fVxyXG5cdFx0ZGx7ei1pbmRleDoxO3Bvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0ZHR7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToyLjFlbTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmctYm90dG9tOjEwcHg7bGV0dGVyLXNwYWNpbmc6IC0xcHh9XHJcblx0XHRcdGRke3BhZGRpbmc6MjBweCAwO31cclxuXHRcdH1cclxuXHRcdGJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTBweDt3aWR0aDo5MyU7fVxyXG5cdFx0LmJ0bi1kZWZhdWx0e2Rpc3BsYXk6YmxvY2s7cGFkZGluZzo5cHggMDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MjBweDt3aWR0aDo5MiU7bGVmdDo0JTt9XHJcblx0XHQuYm94R3JheXtwYWRkaW5nLWxlZnQ6MTVweDt9XHJcblx0fVxyXG5cdC5tZW06aG92ZXI6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7Y29udGVudDpcIlwiO2JvcmRlcjoxcHggc29saWQgIzQ2NGQ1ZDt9XHJcbn1cclxuLmFncmVlYnRue2JvcmRlci10b3A6MXB4IHNvbGlkICNlNWU1ZTU7bWFyZ2luLXRvcDoyZW07cGFkZGluZy10b3A6MmVtO3RleHQtYWxpZ246Y2VudGVyO31cclxuLnR4dF9hcmVhe2JvcmRlcjoxcHggc29saWQgI2U1ZTVlNTt3aWR0aDoxMDAlO3BhZGRpbmc6MTBweDtsaW5lLWhlaWdodDoxOHB4fVxyXG4uc2Nyb2xsQm94e2hlaWdodDoyNTBweDtvdmVyZmxvdzphdXRvO2JhY2tncm91bmQ6I2Y1ZjZmYTtib3JkZXI6MXB4IHNvbGlkICNiZmMyY2Y7cGFkZGluZzoxMnB4O1xyXG5cdGg2e2NvbG9yOiM0MzhkZTA7Zm9udC1zaXplOjEuMDVlbTttYXJnaW46MjBweCAwO1xyXG5cdFx0JjpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjA7fVxyXG5cdH1cclxuXHQuZm57Zm9udC13ZWlnaHQ6bm9ybWFsfVxyXG5cdD5vbHtcclxuXHRcdD5saXtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbToxMHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7XHJcblx0XHRcdD5vbHtcclxuXHRcdFx0XHQ+bGl7Zm9udC13ZWlnaHQ6bm9ybWFsO1xyXG5cdFx0XHRcdFx0Pm9se1xyXG5cdFx0XHRcdFx0XHQ+bGl7bWFyZ2luLWxlZnQ6MTJweDt9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi8vbWVtYmVyXHJcbi5mc3tmb250LXNpemU6MC45NWVtfVxyXG5cclxuLmxvZ1d7bWFyZ2luLWxlZnQ6LTElO292ZXJmbG93OmhpZGRlbjtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZ3gpIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6MDtcclxuXHRcdH1cclxuXHQubG9nSGFsZnt3aWR0aDo0OSU7bWFyZ2luLWxlZnQ6MSU7ZmxvYXQ6bGVmdDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCkge1xyXG5cdFx0XHR3aWR0aDoxMDAlO21hcmdpbi1sZWZ0OjA7bWFyZ2luLWJvdHRvbToxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubG9naW5TZXR7Ym9yZGVyOjFweCBzb2xpZCAjYmZjMmNmOyBib3JkZXItdG9wOjJweCBzb2xpZCAjNzg3ZDlhO3BhZGRpbmc6MWVtIDJlbTt3aWR0aDoxMDAlO21hcmdpbjowIGF1dG87b3ZlcmZsb3c6aGlkZGVuO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzKSB7XHJcblx0XHRcdHBhZGRpbmc6MWVtO1xyXG5cdFx0fVxyXG5cdC5tZW1Cb3h7ZmxvYXQ6bGVmdDt3aWR0aDo1MCU7cGFkZGluZy1sZWZ0OjMuNSU7Zm9udC1zaXplOjAuOTVlbTtsaW5lLWhlaWdodDoxLjM1O21pbi1oZWlnaHQ6MTUwcHg7cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZ3gpIHtcclxuXHRcdFx0bWluLWhlaWdodDphdXRvO1xyXG5cdFx0fVxyXG5cdFx0Ji50eXBle3dpZHRoOjEwMCU7Ym9yZGVyOjAgIWltcG9ydGFudDtwYWRkaW5nOjAgIWltcG9ydGFudDtcclxuXHRcdFx0LnRhY3t0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkO3BhZGRpbmc6MTBweCAwIDIwcHggMDtcclxuXHRcdFx0XHQ+cHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6MTUwcHg7fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5wYXJ0e3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjoxMHB4IDA7fVxyXG5cdFx0fVxyXG5cdFx0JjpmaXJzdC1jaGlsZHtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkYmRjZTA7cGFkZGluZzowIDMuNSUgMCAwO31cclxuXHRcdC5idG57d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOiM0MzhkZTA7Ym9yZGVyOjA7cGFkZGluZzoxMHB4O2ZvbnQtc2l6ZToxLjE1ZW07Zm9udC13ZWlnaHQ6Ym9sZDt9XHJcblx0XHQudGFje21hcmdpbi1ib3R0b206MTBweDt9XHJcblx0XHQubGlua3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NXB4O2xlZnQ6MDtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi9idV9hcnIucG5nKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O2ZvbnQtd2VpZ2h0OmJvbGQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy1yaWdodDoyMHB4O1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZ3gpIHtcclxuXHRcdFx0XHRwb3NpdGlvbjppbmhlcml0O2JvdHRvbTppbmhlcml0O2xlZnQ6aW5oZXJpdDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQubG9naW5Cb3h7cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRwLmV4e2Rpc3BsYXk6IGJsb2NrO21hcmdpbi1ib3R0b206MTVweDtmb250LXNpemU6MC45NWVtfVxyXG5cdFx0cC5sb2cge21hcmdpbi1ib3R0b206M3B4O1xyXG5cdFx0XHRzcGFue2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjAgOTVweCAwIDA7XHJcblx0XHRcdFx0LmZvcm0tY29udHJvbHt3aWR0aDo5NSU7YmFja2dyb3VuZDojZjJmMmYyO2JvcmRlcjoxcHggc29saWQgI2RiZGNlMDtkaXNsYXk6YmxvY2s7aGVpZ2h0OjM0cHg7bWluLWhlaWdodDozNHB4O31cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmJ0bl9sb2dpbnt3aWR0aDoxMDBweDtoZWlnaHQ6NzJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDozM3B4O2JhY2tncm91bmQ6I2YwNTI5MTtib3JkZXI6MDtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjEuMmVtO2JvcmRlci1yYWRpdXM6IDNweDt9XHJcblx0fVxyXG5cdC5tb3JlTGlua3t0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MS4zZW0gMCAwLjVlbSAwO1xyXG5cdFx0YXtwYWRkaW5nOjAgNnB4IDAgMTBweDtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvY29tbW9uL2xpbmUuZ2lmKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7Zm9udC1zaXplOjAuOTVlbTtcclxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7YmFja2dyb3VuZDpub25lO31cclxuXHRcdFx0c3BhbntiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi9idV9hcnIucG5nKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctcmlnaHQ6MTZweDt9XHJcblx0XHR9XHRcclxuXHR9XHJcbn1cclxuLnRpdF90eHR7Zm9udC1zaXplOjIuMmVtO2NvbG9yOiM3ODdkOWE7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi0xcHg7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MS4zO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRmb250LXNpemU6MS41ZW07XHJcblx0fVxyXG59XHJcbi50aXRfdHh0MXtmb250LXNpemU6MmVtO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzotMXB4O2xpbmUtaGVpZ2h0OjEuMzt9XHJcbi5mYmlne2ZvbnQtc2l6ZToxLjE1ZW19XHJcbi5tZW1iZXJPa3t0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHQuaW1ne21hcmdpbjo1JSAwO31cclxuXHQuZkJpZ3tmb250LXNpemU6MS4wNWVtfVxyXG59XHJcbi5zdGVwVGFie2JhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29tbW9uL2JnX3N0ZXAuZ2lmKSBjZW50ZXIgY2VudGVyIHJlcGVhdC14O292ZXJmbG93OmhpZGRlbjt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MjBweCAwIDEwcHggMDtcclxuXHQ+dWx7dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHQ+bGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyOjRweCBzb2xpZCAjYjJiNGJmO2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOiAzMHB4O3BhZGRpbmc6NnB4IDE1cHg7Zm9udC1zaXplOjEuMTVlbTttYXJnaW46MCAycHg7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdFx0cGFkZGluZzozcHggN3B4O21hcmdpbjowO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYub257YmFja2dyb3VuZDojZjA1MjkxO2JvcmRlcjo0cHggc29saWQgI2YwNTI5MTtwYWRkaW5nLWxlZnQ6MDtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OmJvbGQ7XHJcblx0XHRcdFx0Lm51bXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czogMzBweDtwYWRkaW5nOjZweCAxNHB4O2NvbG9yOiMzMzM7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5jaGVja3tkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLWxlZnQ6NXB4O21pbi13aWR0aDoxMDBweDtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRcdFx0XHRcdG1pbi13aWR0aDphdXRvO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PnNwYW57ZGlzcGxheTpub25lO31cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Lm51bXtmb250LXNpemU6MS4xNWVtO2NvbG9yOiM3ODdkOWE7Zm9udC13ZWlnaHQ6Ym9sZDt9XHJcblx0XHRcdC5jaGVja3tkaXNwbGF5Om5vbmU7fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuLmJ4VHlwZXtib3JkZXItYm90dG9tOjVweCBzb2xpZCAjZjNmM2YzO21pbi1oZWlnaHQ6MTkwcHg7bWFyZ2luLWJvdHRvbToyMHB4O3BhZGRpbmctcmlnaHQ6MzMwcHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGd4KSB7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6MDttaW4taGVpZ2h0OmF1dG87cGFkZGluZy1ib3R0b206MjBweDtcclxuXHRcdH1cclxuXHQudGl0X3RleHR7Zm9udC1zaXplOjIuM2VtO2NvbG9yOiM0NzRhNWI7bWFyZ2luLWJvdHRvbToxMHB4O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGd4KSB7XHJcblx0XHRcdGZvbnQtc2l6ZToxLjdlbTtcclxuXHRcdH1cclxuXHR9XHJcblx0LnR4dDF7Zm9udC1zaXplOjEuMWVtO2NvbG9yOiNmMDUyOTF9XHJcblx0LnR4dDJ7Zm9udC1zaXplOjEuMWVtO2xpbmUtaGVpZ2h0OjEuMztjb2xvcjojNzY3Njc2fVxyXG5cdCYuYmcxe2JhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvc3ViL2ltZ19yZXBvcnQxLmpwZykgcmlnaHQgYm90dG9tIG5vLXJlcGVhdDtcclxuXHR9XHJcblx0Ji5iZzJ7YmFja2dyb3VuZDogdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9zdWIvaW1nX3JlcG9ydDIuanBnKSByaWdodCBib3R0b20gbm8tcmVwZWF0O1xyXG5cdH1cclxuXHQmLmJnM3tiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL3N1Yi9pbWdfcmVwb3J0My5qcGcpIHJpZ2h0IGJvdHRvbSBuby1yZXBlYXQ7XHJcblx0fVxyXG5cdFxyXG5cdCYuYmcxLCAmLmJnMiwgJi5iZzN7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZ3gpIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOm5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHQuYnRuX3NldHttYXJnaW46MzBweCAwIDIwcHggMDtcclxuXHRcdC5idG57bWluLXdpZHRoOjEyNXB4O31cclxuXHR9XHJcbn1cclxuXHJcbi5jYWxlbmRhciB7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi10b3A6MTBweDtcclxuXHQuZmx7d2lkdGg6NjQlO21hcmdpbi1yaWdodDoxJTtiYWNrZ3JvdW5kOiNmOGY4Zjg7cGFkZGluZzozJTtib3JkZXItcmlnaHQ6M3B4IHNvbGlkICNmZmY7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZ3gpIHtcclxuXHRcdFx0XHR3aWR0aDoxMDAlO21hcmdpbi1yaWdodDowO1xyXG5cdFx0XHR9XHJcblx0XHQuY2FsZW5kYXJfdGFibGUye3dpZHRoOjEwMCU7XHJcblx0XHRcdHRhYmxle3dpZHRoOjEwMCU7XHJcblx0XHRcdFx0dGgsdGR7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfVxyXG5cdFx0XHRcdHRoe2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjEwcHggMDtiYWNrZ3JvdW5kOiM5OTl9XHJcblx0XHRcdFx0dGR7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzo0cHggMDtoZWlnaHQ6NDZweDtmb250LXdlaWdodDpib2xkO3ZlcnRpY2FsLWFsaWduOnRvcDtiYWNrZ3JvdW5kOiNmZmZ9XHJcblx0XHRcdFx0LnN1bntiYWNrZ3JvdW5kOiNlNzRjNGM7Y29sb3I6I2ZmZn1cclxuXHRcdFx0XHQuc2F0e2JhY2tncm91bmQ6IzY4ODBjMztjb2xvcjojZmZmfVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5mcnt3aWR0aDozNSU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDojZjhmOGY4O3BhZGRpbmc6MyU7bWluLWhlaWdodDozOTBweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCkge1xyXG5cdFx0XHRcdHdpZHRoOjEwMCU7bWluLWhlaWdodDphdXRvO21hcmdpbi10b3A6NXB4O1xyXG5cdFx0XHR9XHJcblx0XHQudmlld3tmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmc6MCAwIDEycHggMCA7bWFyZ2luLWJvdHRvbToyNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ7fVxyXG5cdFx0ZGx7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi1ib3R0b206MzBweDtcclxuXHRcdFx0ZHR7d2lkdGg6MTAwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bGVmdH1cclxuXHRcdFx0ZGR7ZmxvYXQ6bGVmdDtib3JkZXI6MXB4IHNvbGlkICNkOWQ5ZTE7YmFja2dyb3VuZC1jb2xvcjojZjdmN2ZhO3BhZGRpbmc6NHB4O3dpZHRoOjEyMHB4O2JhY2tncm91bmQ6I2ZmZn1cclxuXHRcdH1cclxuXHR9XHJcblx0LmJ0bntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MjBweDt3aWR0aDo4MCU7cmlnaHQ6MTAlO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGd4KSB7XHJcblx0XHRcdFx0cG9zaXRpb246aW5oZXJpdDtib3R0b206aW5oZXJpdDtyaWdodDppbmhlcml0O1xyXG5cdFx0XHR9XHJcblx0fVxyXG5cdC5jbGVhcntwYWRkaW5nLWJvdHRvbTozcHg7fVxyXG59XHJcbi5jYWxlbmRhciAuY2FsZW5kYXJfdGFibGUyIC5zdW4sIC5jYWxlbmRhciAuY2FsZW5kYXJfdGFibGUyIC5zYXR7Y29sb3I6IzkwOTA5MH1cclxuXHJcbi5kbF9udW17bWFyZ2luLWJvdHRvbToyMHB4fVxyXG4uZGxfbnVtLnR5cGUxIGR0e3RleHQtaW5kZW50Oi0yNXB4O21hcmdpbi1sZWZ0OjI4cHg7bGluZS1oZWlnaHQ6MjBweDtmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToxLjA1ZW07XHJcblx0Lm51bXtiYWNrZ3JvdW5kOiNmMDUyOTE7cGFkZGluZzoxcHggNXB4O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MS4xfVxyXG59XHJcbi5kbF9udW0udHlwZTEgZGR7bWFyZ2luLWxlZnQ6MjVweH1cclxuXHJcbi8qIO2ZiO2OmOydtOyngOydtOyaqSAqL1xyXG4udmRMaXN0e292ZXJmbG93OmhpZGRlbjttYXJnaW4tbGVmdDotMS41JTttYXJnaW4tdG9wOjMlO1xyXG5cdGxpe2Zsb2F0OmxlZnQ7bWFyZ2luOjAgMCAwIDEuNSU7d2lkdGg6MzEuNSU7bWluLWhlaWdodDoxNzBweDtcclxuXHRcdCY6bnRoLWNoaWxkKDNuKzQpe2NsZWFyOmJvdGh9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpIHtcclxuXHRcdFx0d2lkdGg6NDguNSU7XHJcblx0XHRcdCY6bnRoLWNoaWxkKDNuKzQpe2NsZWFyOm5vbmV9XHJcblx0XHRcdCY6bnRoLWNoaWxkKGFkZCl7Y2xlYXI6Ym90aH1cclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKSB7XHJcblx0XHRcdHdpZHRoOjk4LjUlO1xyXG5cdFx0fVxyXG5cdFx0LnZkTGlzdEFyZWF7b3ZlcmZsb3c6aGlkZGVuO1xyXG5cdFx0XHQuaW1ne2Zsb2F0OmxlZnQ7d2lkdGg6MzAlO21hcmdpbi1yaWdodDoyJTttYXgtd2lkdGg6OTBweH1cclxuXHRcdFx0LnR4dHtmbG9hdDpsZWZ0O3dpZHRoOjY4JTtcclxuXHRcdFx0XHRkdHtmb250LXdlaWdodDpib2xkO21hcmdpbi1ib3R0b206NXB4O31cclxuXHRcdFx0XHRkZHtjb2xvcjojNzY3Njc2O2ZvbnQtc2l6ZTowLjllbX1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmRvd257Y2xlYXI6Ym90aDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9jb21tb24vZG90LmdpZikgcmVwZWF0LXggbGVmdCB0b3A7cGFkZGluZzoxNXB4IDA7bWFyZ2luLXRvcDoxNXB4O1xyXG5cdFx0XHRzcGFue2xpbmUtaGVpZ2h0OjEuNDI4NTc7fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubWVkaWFMaXN0e1xyXG5cdHVse21hcmdpbi1sZWZ0Oi0xLjUlO1xyXG5cdFx0bGl7ZmxvYXQ6bGVmdDtib3JkZXI6MXB4IHNvbGlkICNkZGQ7cGFkZGluZzoxNXB4IDEyJSAwIDE1cHg7bWFyZ2luOjAgMCAyJSAxLjUlO3dpZHRoOjMxLjglO1xyXG5cdFx0XHRtaW4taGVpZ2h0OjE3MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtcclxuXHRcdFx0XHR3aWR0aDo0OC41JVxyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKSB7XHJcblx0XHRcdFx0d2lkdGg6OTguNSU7cGFkZGluZy1yaWdodDoxMDVweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQudGl0e2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6Ym9sZDtwYWRkaW5nLWJvdHRvbToxMHB4O2ZvbnQtc2l6ZToxLjFlbTt9XHJcblx0XHRcdGF7bGluZS1oZWlnaHQ6MS4zfVxyXG5cdFx0fVxyXG5cdFx0LmJnMXtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvc3ViL2JnX21lZGlhMDEuZ2lmKSBuby1yZXBlYXQgcmlnaHQgdG9wO3BhZGRpbmc6ODdweCA3MHB4IDAgMTVweDtiYWNrZ3JvdW5kLXNpemU6MTAwJX1cclxuXHRcdC5iZzN7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL3N1Yi9iZ19tZWRpYTAzLmdpZikgbm8tcmVwZWF0IDkzJSAyMHB4O31cclxuXHRcdC5iZzR7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL3N1Yi9iZ19tZWRpYTA0LmdpZikgbm8tcmVwZWF0IDkzJSAyMHB4O31cclxuXHRcdC5iZzV7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL3N1Yi9iZ19tZWRpYTA1LmdpZikgbm8tcmVwZWF0IDkzJSAyMHB4O31cclxuXHRcdC5iZzIsIC5iZzMsIC5iZzQsIC5iZzV7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCkge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZToyMCU7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6YXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmJ0bntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTVweDtsZWZ0OjE1cHg7fVxyXG5cdH1cclxufVxyXG4uYmFubmVyX2xpc3R7bWFyZ2luLWxlZnQ6LTElO1xyXG5cdGxpe2Zsb2F0OmxlZnQ7bWFyZ2luOjAgMCAyJSAxJTt3aWR0aDoyNCU7dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0XHRcdHdpZHRoOjMyLjMlXHJcblx0XHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1nKSB7XHJcblx0XHRcdFx0d2lkdGg6MzIuMyVcclxuXHRcdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpIHtcclxuXHRcdFx0XHR3aWR0aDo0OSVcclxuXHRcdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5wZW9wbGVfaW5mb1d7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47XHJcblx0LnRodW1fbGlzdHtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLWJvdHRvbToxcHggZGFzaGVkICNjY2NlY2Y7cGFkZGluZy1ib3R0b206N3B4O21hcmdpbjowIDAgMTBweCAxNXB4O3BhZGRpbmctYm90dG9tOjdweDtcclxuXHRcdCBsaXtmbG9hdDpsZWZ0O3BhZGRpbmc6MCA0cHggN3B4O3dpZHRoOjE1LjMlO31cclxuXHRcdCAuYWN0aXZle29wYWNpdHk6MX1cclxuXHRcdFxyXG5cdH1cclxuXHQucGVvcGxlX2luZm97d2lkdGg6NjglO21hcmdpbi1sZWZ0OjIlO2Zsb2F0OmxlZnQ7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCkge1xyXG5cdFx0XHRcdHdpZHRoOjEwMCU7bWFyZ2luLWxlZnQ6MDtcclxuXHRcdFx0fVxyXG5cdH1cclxuXHQucGVvcGxlX2luZm8gbGkubm9saW5lLFxyXG5cdC5wZW9wbGVfaW5mbyBsaSBsaXtcclxuXHRcdGJhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjA7XHJcblx0XHRzcGFue3BhZGRpbmctcmlnaHQ6MTBweH1cclxuXHR9XHJcblx0LnBlb3BsZV9pbmZvIGxpIHVse3BhZGRpbmctYm90dG9tOjB9XHJcblx0I2xhcmdlSW1hZ2V7d2lkdGg6MzAlO2Zsb2F0OmxlZnQ7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCkge1xyXG5cdFx0XHRcdHdpZHRoOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXI7ZmxvYXQ6bm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0IGltZ3tcclxuXHRcdCBcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKSB7XHJcblx0XHQgXHRcdG1heC13aWR0aDoyMDBweDtcclxuXHRcdFx0fVxyXG5cdFx0IH1cclxuXHR9XHJcbn1cclxuXHJcbi5rZXlMaXN0e292ZXJmbG93OmhpZGRlbjs7cGFkZGluZzoxMHB4O21hcmdpbi1yaWdodDotMiU7XHJcblx0bGl7ZmxvYXQ6bGVmdDt3aWR0aDo0OCU7YmFja2dyb3VuZDp1cmwoL2ltYWdlcy9jb21tb24vZG90LmdpZikgcmVwZWF0LXggbGVmdCBib3R0b207cGFkZGluZzoxNXB4IDA7bWFyZ2luOjElIDIlIDAgMDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHQgXHRcdHdpZHRoOjk4JTtcclxuXHRcdFx0fVxyXG5cdFx0LmltZ3tmbG9hdDpsZWZ0O3dpZHRoOjQwJTttYXgtd2lkdGg6MjAwcHg7dGV4dC1hbGlnbjpyaWdodDttYXJnaW4tcmlnaHQ6MyU7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKSB7XHJcblx0XHQgXHRcdGZsb2F0Om5vbmU7d2lkdGg6MTAwJTttYXgtd2lkdGg6YXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0ZGx7bWFyZ2luLWxlZnQ6NDQlO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCkge1xyXG5cdFx0IFx0XHRtYXJnaW4tbGVmdDowO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRkdHtmb250LXdlaWdodDpib2xkO21hcmdpbi1ib3R0b206NXB4O2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL2NvbW1vbi9idV9yaW5nX3BpbmsucG5nKSBuby1yZXBlYXQgbGVmdCA1cHg7Zm9udC1zaXplOjEuMWVtO3BhZGRpbmctbGVmdDoxNXB4fVxyXG5cdFx0ZGR7bWFyZ2luLWxlZnQ6MTVweDt9XHJcblx0XHQmLmh0eXBle2hlaWdodDo5MHB4O1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCkge1xyXG5cdFx0IFx0XHRoZWlnaHQ6YXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4vLyAuaW1nc3ttYXgtd2lkdGg6MTU1cHg7XHJcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpIHtcclxuLy8gIFx0XHRtYXgtd2lkdGg6MTQwcHg7XHJcbi8vIFx0fVxyXG4vLyB9XHJcbi8vIC5pbWdzMXttYXgtd2lkdGg6MzYwcHg7XHJcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpIHtcclxuLy8gIFx0XHRtYXgtd2lkdGg6MzAwcHg7XHJcbi8vIFx0fVxyXG4vLyB9XHJcbi5td1R5cGV7bWFyZ2luOjIlO1xyXG5cdGltZ3ttYXgtd2lkdGg6MTU1cHg7bWFyZ2luLWJvdHRvbTo1cHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZCkge1xyXG4gXHRcdFx0bWF4LXdpZHRoOjE0MHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaW1nczF7bWF4LXdpZHRoOjM0MHB4O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpIHtcclxuXHQgXHRcdG1heC13aWR0aDozMDBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmNoYXJ0U3R5bGV7d2lkdGg6MTAwJTtcclxuXHR0ZXh0e2ZvbnQtc2l6ZToxLjFlbTtmb250LWZhbWlseTpcIuunkeydgOqzoOuUlVwiLFwibWFsZ3VuIGdvdGhpY1wiLFwi64KY64iU6rOg65SVXCIsXCJOYW51bSBHb3RoaWNcIixcIkFwcGxlR290aGljXCIsXCLrj4vsm4BcIixcImRvdHVtXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWZ9XHJcbn1cclxuXHJcbi5wb3B1cF9uZXdzIHttYXJnaW4tYm90dG9tOjIwcHg7XHJcblx0LnRhYl9wb3B1cHtwYWRkaW5nOjB9XHJcblx0LnBvcF8wMSwgLnBvcF8wMntib3JkZXI6MXB4IHNvbGlkICNiMmI0YmY7Ym9yZGVyLXRvcDowO3BhZGRpbmc6MjBweCAyMHB4IDEwcHggMjBweDt9XHJcblx0LnBvcHVwX25ld3NfY2xvc2V7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXdlaWdodDpib2xkO31cclxuXHQuc2VsZWN0Ym94MXt2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcblx0XHQgc2VsZWN0e2hlaWdodDoyNnB4fVxyXG5cdH1cclxufVxyXG4vLyAubWVkaWFMaXN0IGxpW2NsYXNzKj1cImJnXCJde3dpZHRoOjE1cHg7cGFkZGluZy1sZWZ0OjIxcHg7fSBcclxuLy8gLm5lYzA4XzA1e2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9iZ19uZWMwOF8wNV8wMS5naWYpIG5vLXJlcGVhdCAwIDA7cGFkZGluZzoyMHB4IDAgMCAxMjBweDtoZWlnaHQ6MTAwcHh9XHJcbi8vIC5uZWMwOF8wOF8wMXtvdmVyZmxvdzpoaWRkZW59XHJcbi8vIC5uZWMwOF8wOF8wMSBsaXtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYmdfbmVjMDhfMDhfMDEuZ2lmKSBuby1yZXBlYXQgMCAwO3dpZHRoOjMxN3B4O2hlaWdodDoxNjJweDtwYWRkaW5nOjAgMjRweCAxMHB4IDA7ZmxvYXQ6bGVmdH1cclxuLy8gLm5lYzA4XzA4XzAxIGxpIGF7ZGlzcGxheTpibG9jazt3aWR0aDoyNzJweDtoZWlnaHQ6MTEycHg7cGFkZGluZzoyNXB4IDI1cHggMjVweCAyMHB4O3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtd2VpZ2h0OmJvbGR9XHJcbi8vIC5uZWMwOF8wOF8wMSBsaSBhIC50aXR7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpibG9jaztwYWRkaW5nLWJvdHRvbToxNnB4O2NsZWFyOmJvdGh9XHJcbi8vIC5uZWMwOF8wOF8wMSBsaS5iZzF7YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9XHJcbi8vIC5uZWMwOF8wOF8wMSBsaS5iZzJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMzUycHggMH1cclxuLy8gLm5lYzA4XzA4XzAxIGxpLmJnM3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTE3MnB4fVxyXG4vLyAubmVjMDhfMDhfMDEgbGkuYmc0e2JhY2tncm91bmQtcG9zaXRpb246LTM1MnB4IC0xNzJweH1cclxuLy8gLm5lYzA4XzA4XzAxIGxpLmJnNXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTM0NHB4fVxyXG4vLyAubmVjMDhfMDhfMDEgbGkuYmc2e2JhY2tncm91bmQtcG9zaXRpb246MCAtMzQ0cHh9XHJcblxyXG4vKlxyXG4ucG9wdXAgLnBvcEFyZWF7cGFkZGluZzozJTtiYWNrZ3JvdW5kOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7fVxyXG4ucG9wdXAgLnBvcEFyZWE+LnAxe3BhZGRpbmc6NSU7fVxyXG4ucG9wdXAgLnBvcEFyZWE+LnAye3BhZGRpbmc6MyUgMyUgMCAzJTt9XHJcbi5wb3B1cCAucGVySW5mb3tvdmVyZmxvdzpoaWRkZW47fVxyXG4ucG9wdXAgLnBlckluZm8gIC5pbWcgaW1ne2Zsb2F0OmxlZnQ7d2lkdGg6MTIwcHg7Ym9yZGVyOjNweCBzb2xpZCAjZTVlNWU1O31cclxuLnBvcHVwIC5wZXJJbmZvIC5pbWdDb257Ym9yZGVyOjFweCBzb2xpZCAjZTVlNWU1O3BhZGRpbmc6MyU7Ym9yZGVyLXRvcDoycHggc29saWQgIzMzMzsgbWFyZ2luOjAgYXV0bzttYXJnaW4tbGVmdDoxMzBweDt9XHJcbi5wb3B1cCAucGVySW5mbyAuaW1nQ29uIGR0e3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltZy9ndy9jb21tb24vYnUxLnBuZykgbGVmdCAxMXB4IG5vLXJlcGVhdDtmbG9hdDpsZWZ0O2Rpc3BsYXk6YmxvY2s7d2lkdGg6OThweDtjb2xvcjojNzc3O3BhZGRpbmc6NHB4IDAgNHB4IDhweDt9XHJcbi5wb3B1cCAucGVySW5mbyAuaW1nQ29uIGR0OmFmdGVye2NvbnRlbnQ6XCIgOiBcIjtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDozcHg7aGVpZ2h0OjEwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt9XHJcbi5wb3B1cCAucGVySW5mbyAuaW1nQ29uIGRke21hcmdpbi1sZWZ0Ojk5cHg7cGFkZGluZzo0cHg7fVxyXG4ucG9wdXAgLnNjcm9sbF8xe292ZXJmbG93OiBhdXRvO2hlaWdodDo4MHB4O31cclxuLnBvcHVwIC5zY3JvbGxfMntvdmVyZmxvdzogYXV0bztoZWlnaHQ6MTUwcHg7fVxyXG4ucG9wdXAgLmJ0blJke3doaXRlLXNwYWNlOiBub3dyYXA7fVxyXG4ucG9wdXAgLnNjcm9sbF8ze292ZXJmbG93OiBhdXRvO2hlaWdodDoxMjBweDtwYWRkaW5nOjAuN2VtIDA7fVxyXG4ucG9wdXAgLnNjcm9sbF8zIHVsIGxpIGF7cGFkZGluZzoycHggMDtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltZy9ndy9jb21tb24vYnUxLnBuZykgMTBweCAxMHB4IG5vLXJlcGVhdDtwYWRkaW5nLWxlZnQ6MjBweDtsaW5lLWhlaWdodDoxNTklO31cclxuLnBvcHVwIC5zY3JvbGxfMyB1bCBsaSBhOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2YzZjNmMzt9XHJcbi5wb3B1cCAuc2Nyb2xsXzMgdWwgbGkgZW17Y29sb3I6IzRjYThlMTtmb250LXdlaWdodDpib2xkO31cclxuLnBvcHVwIC5saXN0VHtib3JkZXItdG9wOjJweCBzb2xpZCAjMzMzO21hcmdpbi10b3A6MTJweDt9XHJcbi5wb3B1cCAubGlzdFQgbGl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtwYWRkaW5nOjIlO3Bvc2l0aW9uOnJlbGF0aXZlO2xpbmUtaGVpZ2h0OjExOSU7fVxyXG4ucG9wdXAgLmxpc3RUIGxpIC5uYW1le21hcmdpbi1ib3R0b206M3B4O31cclxuLnBvcHVwIC5saXN0VCBsaSBzcGFuLmJ0bntkaXNwbGF5OmlubGluZS1ibG9jaztmbG9hdDpyaWdodDttYXJnaW4tdG9wOi00NXB4O31cclxuLnBvcHVwIC5saXN0VCBsaTpudGgtY2hpbGQoZXZlbil7YmFja2dyb3VuZDojZjhmOGY4O31cclxuLnBvcHVwIC5idG5TZXR7cGFkZGluZy10b3A6MS41ZW07bWFyZ2luOjFlbSAwO31cclxuLnBvcHVwIC5wb3B1cF9waG90byB7ZGlzcGxheTpibG9jazt9XHJcbi5wb3B1cCAucG9wdXBfcGhvdG8gbGl7ZmxvYXQ6bGVmdDtoZWlnaHQ6YXV0bzt9XHJcbi5wb3B1cCAucG9wdXBfcGhvdG8gbGkgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7fVxyXG4ucG9wdXAgLnNjaFcuc2NoQWxsIC5wYXJ0MnttYXJnaW46MCAyNXB4IDAgOTBweDtkaXNwbGF5OmJsb2NrO31cclxuXHJcbi5wb3B1cCAuY3RybCBidXR0b257d2lkdGg6NzJweDtoZWlnaHQ6NzJweDt9XHJcbi5wb3B1cCAuY3RybCBidXR0b24gc3Bhbntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OiAtMTt0ZXh0LWluZGVudDogLTk5OWVtO31cclxuLnBvcHVwIC5jdHJsIGJ1dHRvbi5JVmxlZnR7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWcvZ3cvY29tbW9uL2N0cmxfcGhvdG9MZWZ0LnBuZykgbm8tcmVwZWF0IGxlZnQgdG9wO3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6NDUlO2xlZnQ6MDt9XHJcbi5wb3B1cCAuY3RybCBidXR0b24uSVZyaWdodHtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltZy9ndy9jb21tb24vY3RybF9waG90b1JpZ2h0LnBuZykgbm8tcmVwZWF0IGxlZnQgdG9wO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6NDUlO3JpZ2h0OjA7fVxyXG4ucG9wdXBfdHlwZXt3aWR0aDoxMDAlOyBmb250LXNpemU6MC45MGVtO3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuLnBvcHVwX3R5cGUgaDF7YmFja2dyb3VuZDojNDY0ZDVkO2NvbG9yOiNmZmY7Zm9udC1zaXplOjIuNWVtO3BhZGRpbmc6MjBweCAwO3RleHQtYWxpZ246Y2VudGVyO31cclxuLnBvcHVwX3R5cGU+LnBvcEFyZWF7cGFkZGluZzoyJTt9XHJcblxyXG5cclxuKi9cclxuXHJcblxyXG4vKlxyXG5cclxuLm11bHRpe3BhZGRpbmc6MTBweDtwb3NpdGlvbjpyZWxhdGl2ZX1cclxuXHJcbi5tdWx0aSBoNHtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYmdfY29udGVudHNfc2VhcmNoLmdpZikgcmVwZWF0LXggMCAxM3B4O3BhZGRpbmc6MH1cclxuXHJcbi5tdWx0aSBoNCBzcGFue2JhY2tncm91bmQ6I2ZmZiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2ljb19jb250ZW50c19zZWFyY2guZ2lmKSBuby1yZXBlYXQgMCA1cHg7cGFkZGluZzowIDEwcHggMCAxMnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiMwMDUyYTl9XHJcblxyXG4ubXVsdGkgdWx7cGFkZGluZzoxMHB4IDAgMTBweCAxNnB4fVxyXG5cclxuLm11bHRpIHVsIGxpe3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctbGVmdDoxNDZweDtoZWlnaHQ6MTAwcHh9XHJcblxyXG4ubXVsdGkgdWwgbGkgLmltZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjB9XHJcblxyXG4ubXVsdGkgdWwgbGkgLmltZyBpbWd7Ym9yZGVyOjFweCBzb2xpZCAjZDRkNGQ0O3dpZHRoOjEyMnB4O2hlaWdodDo3MnB4O3BhZGRpbmc6MXB4fVxyXG5cclxuLm11bHRpIHVsIGxpIC50aXRsZXtmb250LXdlaWdodDpib2xkO2Rpc3BsYXk6YmxvY2s7cGFkZGluZy1ib3R0b206NHB4O2ZvbnQtc2l6ZToxNHB4fVxyXG5cclxuLm11bHRpIHVsIGxpIC50aXRsZSAubXVsdGlfcGFnZXtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzY2Njtmb250LXNpemU6MTFweDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjAgMTBweH1cclxuXHJcbi5tdWx0aSAubW9yZXtiYWNrZ3JvdW5kOiNmZmYgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9pY29fc2hfbW9yZS5naWYpIG5vLXJlcGVhdCAxMHB4IDEwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtwYWRkaW5nOjhweCAwIDhweCAzMnB4O2ZvbnQtd2VpZ2h0OmJvbGQ7ZGlzcGxheTpibG9ja31cclxuXHJcbiovXHJcblxyXG5cclxuXHJcbi8vIC5zdWJfcmlnaHQgaDMudHh0e2ZvbnQtc2l6ZToxMnB4O2JhY2tncm91bmQ6bm9uZX1cclxuLy8gLmdyaWR7Ym9yZGVyOjFweCBzb2xpZCAjZDhkOGUwO3Bvc2l0aW9uOnJlbGF0aXZlfVxyXG4vLyAuZ3JpZDJ7Ym9yZGVyOjRweCBzb2xpZCAjZjVmNWY1O3Bvc2l0aW9uOnJlbGF0aXZlfVxyXG4vLyAuZ3JpZF9iYntib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZDhkOGUwfVxyXG4vLyAuZ3JpZF9iYjJ7Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkICNkOGQ4ZTB9XHJcbi8vIC5yaWdodF9saXN0e3dpZHRoOjI2N3B4O3BhZGRpbmc6MTVweCAwO3Bvc2l0aW9uOnJlbGF0aXZlfVxyXG4vLyAucmlnaHRfbGlzdCBsaXtwYWRkaW5nLWxlZnQ6OHB4O2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vYnVfZG90LmdpZikgbm8tcmVwZWF0IDAgMTBweDtsaW5lLWhlaWdodDoyNHB4fVxyXG4vLyAuZ3JpZF9tb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjIwcHg7Zm9udC1zaXplOjExcHg7cGFkZGluZy1yaWdodDoxMHB4O2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2J1bGwuZ2lmKSBuby1yZXBlYXQgMTA1JSA1cHh9XHJcbi8vIC5wb3B1cHpvbmV7aGVpZ2h0OjIxM3B4O19oZWlnaHQ6MjAzcHg7cGFkZGluZzoxM3B4IDAgMCAwO3Bvc2l0aW9uOnJlbGF0aXZlfVxyXG4vLyAuYmFubmVyem9uZSBsaXtoZWlnaHQ6MTcycHh9XHJcbi8vIC50cG9wem9uZXtkaXNwbGF5OmJsb2NrO2ZvbnQtd2VpZ2h0OmJvbGQ7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MjhweDtoZWlnaHQ6MjhweDtjbGVhcjpib3RofVxyXG4vLyAucG9wdXB6b25lIHNwYW4udGFye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE2cHg7cmlnaHQ6NzRweDt6LWluZGV4OjEwO3dpZHRoOjEyMHB4fVxyXG4vLyAuc3BvcGNvbnRyb2x7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE1cHg7cmlnaHQ6MTNweDt6LWluZGV4OjEwO3dpZHRoOjUzcHh9XHJcbi8vIC5zcG9wY29udHJvbCBsaXtoZWlnaHQ6MTdweDt3aWR0aDoxN3B4O2JhY2tncm91bmQ6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7ZmxvYXQ6bGVmdH1cclxuLy8gLnNwb3Bjb250cm9sIGxpIGF7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vcG9wem9uZV9jb250cm9sLmdpZikgbm8tcmVwZWF0O3dpZHRoOjE2cHg7aGVpZ2h0OjE3cHg7dGV4dC1pbmRlbnQ6MTAwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjA7ZGlzcGxheTpibG9ja31cclxuLy8gLnNwb3Bjb250cm9sIGxpIGEuczF7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7d2lkdGg6MTdweH1cclxuLy8gLnNwb3Bjb250cm9sIGxpIGEuczJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMTdweCAwfVxyXG4vLyAuc3BvcGNvbnRyb2wgbGkgYS5zM3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zM3B4IDB9XHJcbi8vIC5idXNpbmVzc19saXN0e3BhZGRpbmc6MTVweCAwO3Bvc2l0aW9uOnJlbGF0aXZlfVxyXG4vLyAuYnVzaW5lc3NfbGlzdCB1bHttYXJnaW4tdG9wOjEwcHg7d2lkdGg6MjU3cHg7aGVpZ2h0OjUycHg7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi9iZ19idXNpbmVzcy5naWYpIG5vLXJlcGVhdCAwIDA7b3ZlcmZsb3c6aGlkZGVufVxyXG4vLyAuYnVzaW5lc3NfbGlzdCB1bCBsaXtmbG9hdDpsZWZ0O3dpZHRoOjEwMHB4O3BhZGRpbmc6MjBweCAwIDAgMjBweH1cclxuLy8gLmJ1c2luZXNzX2xpc3QgLmNvbnRyb2xsX2J1c2luZXNze3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxOHB4O3JpZ2h0OjVweH1cclxuLy8gLmJ1c2luZXNzX2xpc3QgYnV0dG9ue2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vY29udHJvbGxfYnVzaW5lc3MuZ2lmKSBuby1yZXBlYXQgMCAwO2hlaWdodDoxNHB4O2JvcmRlcjpub25lO3BhZGRpbmc6MDt2aXNpYmlsaXR5OnZpc2libGU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcn1cclxuLy8gLmJ1c2luZXNzX2xpc3QgYnV0dG9uICp7dmlzaWJpbGl0eTpoaWRkZW59XHJcbi8vIC5idXNpbmVzc19saXN0IGJ1dHRvbi5wcmV2X2J1c2luZXNze2JhY2tncm91bmQtcG9zaXRpb246MCAwO3dpZHRoOjE2cHh9XHJcbi8vIC5idXNpbmVzc19saXN0IGJ1dHRvbi5uZXh0X2J1c2luZXNze2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggMDt3aWR0aDoxN3B4fVxyXG4vLyAuY29udHJvbGxfdmlzaXR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE4cHg7cmlnaHQ6NXB4fVxyXG4vLyAuY29udHJvbGxfdmlzaXQgYnV0dG9ue2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vY29udHJvbGxfYnVzaW5lc3MuZ2lmKSBuby1yZXBlYXQgMCAwO2hlaWdodDoxNHB4O2JvcmRlcjpub25lO3BhZGRpbmc6MDt2aXNpYmlsaXR5OnZpc2libGU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcn1cclxuLy8gLmNvbnRyb2xsX3Zpc2l0IGJ1dHRvbiAqe3Zpc2liaWxpdHk6aGlkZGVufVxyXG4vLyAuY29udHJvbGxfdmlzaXQgYnV0dG9uLnByZXZfdmlzaXR7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7d2lkdGg6MTZweH1cclxuLy8gLmNvbnRyb2xsX3Zpc2l0IGJ1dHRvbi5uZXh0X3Zpc2l0e2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggMDt3aWR0aDoxN3B4fVxyXG4vLyAvKiDqsozsi5ztjJAgKi9cclxuXHJcbi8vIC5ib2FyZF9zZWxlY3R7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci10b3A6MnB4IHNvbGlkIGJsYWNrO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkOGQ4ZTA7cGFkZGluZzoxMHB4IDB9XHJcbi8vIC5ib2FyZF9zZWxlY3QgYnV0dG9uICp7dmlzaWJpbGl0eTpoaWRkZW59XHJcbi8vIC5ib2FyZF9zZWxlY3QgYnV0dG9uLnllYXJfcHJldntiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvYnRuX3llYXJfcHJldi5naWYpIG5vLXJlcGVhdCAwIDA7d2lkdGg6MTdweDtoZWlnaHQ6MTZweDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7dmlzaWJpbGl0eTp2aXNpYmxlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luLXJpZ2h0OjEwcHh9XHJcbi8vIC5ib2FyZF9zZWxlY3QgYnV0dG9uLnllYXJfbmV4dHtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvYnRuX3llYXJfbmV4dC5naWYpIG5vLXJlcGVhdCAwIDA7d2lkdGg6MTdweDtoZWlnaHQ6MTZweDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7dmlzaWJpbGl0eTp2aXNpYmxlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luLWxlZnQ6MTBweH1cclxuLy8gLmJvYXJkX3NlbGVjdCAubW9udGh7ZmxvYXQ6bGVmdH1cclxuLy8gLmJvYXJkX3NlbGVjdCAubW9udGggbGl7ZmxvYXQ6bGVmdH1cclxuLy8gLmJvYXJkX3NlbGVjdCAubW9udGggbGkgYXt3aWR0aDozOHB4O2hlaWdodDoyMHB4O2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTpibG9ja31cclxuLy8gLmJvYXJkX3NlbGVjdCAubW9udGggbGkgYTpob3ZlciBzcGFue2NvbG9yOiNmZmZ9XHJcbi8vIC5ib2FyZF9zZWxlY3QgLm1vbnRoIGxpLm9uIGEsICAuYm9hcmRfc2VsZWN0IC5tb250aCBsaSBhOmhvdmVye2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9ib2FyZC9iZ19zZWxlY3RfbW9udGguZ2lmKSBuby1yZXBlYXQgMCAwO2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6Ym9sZDt0ZXh0LWRlY29yYXRpb246bm9uZX1cclxuLy8gLmJvYXJkX3NlbGVjdCBsYWJlbHtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvbWFpbi9idV9ib2FyZC5naWYpIG5vLXJlcGVhdCAwIDNweDtwYWRkaW5nLWxlZnQ6MTBweDtmb250LXdlaWdodDpib2xkfVxyXG4vLyAuYm9hcmRfc2VhcmNoe292ZXJmbG93OmhpZGRlbjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZDhkOGUwO3BhZGRpbmc6MTBweCAwfVxyXG4vLyAuYm9hcmRfc2VhcmNoMntvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXRvcDoycHggc29saWQgYmxhY2s7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q4ZDhlMDtwYWRkaW5nOjEwcHggMH1cclxuLy8gLmJvYXJkX3NlYXJjaDIgaW1nLCAgLmJvYXJkX3NlYXJjaCBpbWd7dmVydGljYWwtYWxpZ246bWlkZGxlfVxyXG4vLyAvKiBib2FyZCB0eXBlQSAqL1xyXG5cclxuLy8gLmJvYXJkX2xpc3RfdHlwZWF7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2JvYXJkL2JnX2JvYXJkX2xpc3RfdHlwZWEuZ2lmKSBuby1yZXBlYXQgMCAwO3dpZHRoOjY5M3B4fVxyXG4vLyAuYm9hcmRfbGlzdF90eXBlYSB0YWJsZXt3aWR0aDoxMDAlO2JvcmRlcjowfVxyXG4vLyAuYm9hcmRfbGlzdF90eXBlYSB0aGVhZCB0aHt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDpib2xkO2hlaWdodDozNXB4O2xpbmUtaGVpZ2h0OjM1cHg7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2JvYXJkL3RoX2JvYXJkX2xpc3RfdHlwZWEuZ2lmKSBuby1yZXBlYXQgcmlnaHQgMH1cclxuLy8gLmJvYXJkX2xpc3RfdHlwZWEgdGJvZHkgdGR7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RjZGNkYztwYWRkaW5nOjhweDt0ZXh0LWFsaWduOmNlbnRlcn1cclxuLy8gLmJvYXJkX2xpc3RfdHlwZWEgdGJvZHkgdGQudGFse3BhZGRpbmctbGVmdDo4cHh9XHJcbi8vIC5ib2FyZF92aWV3X3R5cGVhe2JvcmRlci10b3A6MnB4IHNvbGlkICMwMDA7Ym9yZGVyLWJvdHRvbToycHggc29saWQgIzAwMDttYXJnaW4tYm90dG9tOjEwcHg7d2lkdGg6MTAwJX1cclxuLy8gLmJvYXJkX3ZpZXdfdHlwZWEgdGFibGV7d2lkdGg6MTAwJTtib3JkZXI6MH1cclxuLy8gLmJvYXJkX3ZpZXdfdHlwZWEgdGhlYWQgdGh7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzkwOTA5MDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojMDAwO3BhZGRpbmc6MTBweCAwO2ZvbnQtc2l6ZToxOHB4fVxyXG4vLyAuYm9hcmRfdmlld190eXBlYSB0aGVhZCB0aC50aXRsZXt0ZXh0LWFsaWduOmxlZnQ7Zm9udC1zaXplOjIwcHg7cGFkZGluZzoxOXB4IDAgMjBweCA3cHh9XHJcbi8vIC5ib2FyZF92aWV3X3R5cGVhIHRoZWFkIHRoLmJne2JhY2tncm91bmQtY29sb3I6I2VmZWZlZjtib3JkZXItbGVmdDoxcHggc29saWQgI2RjZGNkYztib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkY2RjZGN9XHJcbi8vIC5ib2FyZF92aWV3X3R5cGVhIHRoZWFkIHRke3BhZGRpbmc6MTBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTA5MDkwO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9tYWluL2xpbmVfaDIuZ2lmKSBuby1yZXBlYXQgbGVmdCBjZW50ZXJ9XHJcbi8vIC5ib2FyZF92aWV3X3R5cGVhIHRib2R5IHRoe3BhZGRpbmc6MTBweCAwO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2VmZWZlZjtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkY2RjZGM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RjZGNkY31cclxuLy8gLmJvYXJkX3ZpZXdfdHlwZWEgdGJvZHkgdGR7cGFkZGluZzoxMHB4IDZweDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkY2RjZGM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RjZGNkY31cclxuLy8gLmJvYXJkX3ZpZXdfdHlwZWEgdGJvZHkgdGQgI2RiX2RhdGV7bGluZS1oZWlnaHQ6MThweDt3b3JkLWJyZWFrOmJyZWFrLWFsbDt3aWR0aDo2NzBweH1cclxuLy8gLmJvYXJkX3ZpZXdfdHlwZWEgdGJvZHkgdGQgI2RiX2RhdGUgaW1ne21heC13aWR0aDoxMDAlfVxyXG4vLyAuYm9hcmRfdmlld190eXBlYSB0Ym9keSB0ZCAjZGJfZGF0ZSBoNXttYXJnaW4tbGVmdDowfVxyXG4vLyAuYm9hcmRfdmlld190eXBlYSB0Ym9keSB0ZCAjZGJfZGF0ZSB0YWJsZS5ub25lLCAuYm9hcmRfdmlld190eXBlYSB0Ym9keSB0ZCAjZGJfZGF0ZSB0YWJsZS5ub25lIHRkLCAuYm9hcmRfdmlld190eXBlYSB0Ym9keSB0ZCAjZGJfZGF0ZSB0YWJsZS5ub25lIHRoe2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MH1cclxuLy8gLmJvYXJkX3ZpZXdfdHlwZWEgdGJvZHkgdGQgI3ZpZXdfcGRme3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MH1cclxuLy8gLmJvYXJkX3ZpZXdfdHlwZWEgdGJvZHkgdGQgI3ZpZXdfcGRmIGlmcmFtZXt3aWR0aDoxMDAlO2hlaWdodDo4MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9XHJcbi8vIC5ib2FyZF92aWV3X3R5cGVhIHRib2R5IHRkLmJkdHtib3JkZXItdG9wOjFweCBzb2xpZCAjZGNkY2RjfVxyXG4vLyAuYm9hcmRfdmlld190eXBlYSBpbnB1dFt0eXBlPVwicmFkaW9cIl17bWFyZ2luOjAgMnB4IDAgNXB4fVxyXG4vLyAuYm9hcmRfdmlld190eXBlYSBsYWJlbHt9XHJcbi8vIC8qMjAxMy0wOS0wNCovXHJcblxyXG4vLyAuYm9hcmRfYm90dG9tX3N0eWxlIHRoZWFkIHRoLCAuYm9hcmRfYm90dG9tX3N0eWxlIHRoZWFkIHRke2JvcmRlci1ib3R0b20tY29sb3I6I2VjZWNlYyAhaW1wb3J0YW50fVxyXG4vLyAuYm9hcmRfYm90dG9tX3N0eWxlIHRoZWFkIHRoe2xldHRlci1zcGFjaW5nOi0ycHh9XHJcbi8vIC5ib2FyZF9ib3R0b21fc3R5bGUgLnRhYmxlXzA0IHRoe2ZvbnQtc2l6ZToxMnB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkY2RjZGMgIWltcG9ydGFudH1cclxuLy8gLyogMjAxMy0xMC0yMyAqL1xyXG5cclxuLy8gLmJvYXJkX2xpc3RfdHlwZWEye2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9ib2FyZC9iZ19ib2FyZF9saXN0X3R5cGVhMi5naWYpIG5vLXJlcGVhdCAwIDA7d2lkdGg6MTAwMHB4fVxyXG4vLyAuYm9hcmRfdmlld190eXBlYTJ7d2lkdGg6MTAwMHB4fVxyXG4vLyAvKiBib2FyZCB0eXBlQiAqL1xyXG5cclxuLy8gLmJvYXJkX2xpc3RfdHlwZWJ7bWFyZ2luLWJvdHRvbTozMHB4fVxyXG4vLyAuYm9hcmRfbGlzdF90eXBlYiBsaXtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvYnVfbmV3cy5naWYpIG5vLXJlcGVhdCAwIDEycHg7cGFkZGluZzoycHggMCAycHggMTBweDtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MjJweH1cclxuLy8gLmJvYXJkX2xpc3RfdHlwZWIgbGkgLmZse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjQ2MHB4fVxyXG4vLyAuYm9hcmRfbGlzdF90eXBlYiBsaSAuZmwgc3Bhbntmb250LXNpemU6MTFweDtjb2xvcjojNjY2O3BhZGRpbmc6MCAycHh9XHJcbi8vIC5ib2FyZF9saXN0X3R5cGViIGxpIC5mbCAuY2F0ZWdvcnl7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6ODJweH1cclxuLy8gLmJvYXJkX2xpc3RfdHlwZWIgbGkgLmZsIHNwYW4uY29sX2dyYXl7Y29sb3I6I2Q4ZDhlMH1cclxuLy8gLmJvYXJkX2xpc3RfdHlwZWIgbGkuYmd7Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkICNkOGQ4ZTA7cGFkZGluZy1ib3R0b206OHB4O21hcmdpbi1ib3R0b206NnB4fVxyXG4vLyAvKnBvcnRhbF9saXN0X3R5cGVhKi9cclxuXHJcbi8vIC5wb3J0YWxfbGlzdF90eXBlYSBkbHtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzoxMHB4IDEwcHggMTBweCAyMjBweDttaW4taGVpZ2h0OjE0MHB4OyBib3JkZXI6MXB4IHNvbGlkICNkYmRjZTA7bWFyZ2luLWJvdHRvbToxMHB4O1xyXG4vLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCkge1xyXG4vLyBcdCAgIHBhZGRpbmc6MTBweCAxMHB4IDEwcHggMTYwcHg7XHJcbi8vIFx0ICAgbWluLWhlaWdodDoxMjBweDsgXHJcbi8vIFx0fVxyXG4vLyB9XHJcbi8vIC5wb3J0YWxfbGlzdF90eXBlYSBkbDpob3Zlcnt0ZXh0LWRlY29yYXRpb246IG5vbmU7Ym9yZGVyOjFweCBzb2xpZCAjZjU5MGI5O2JhY2tncm91bmQ6I2Y0ZWRmMH1cclxuLy8gLnBvcnRhbF9saXN0X3R5cGVhIGRsOmhvdmVyOmJlZm9yZXtjb250ZW50OicnO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOjJweCBzb2xpZCAjZjU5MGI5O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO31cclxuLy8gLnBvcnRhbF9saXN0X3R5cGVhIGRsIGR0e2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OmJvbGQ7cGFkZGluZy1ib3R0b206NHB4fVxyXG4vLyAucG9ydGFsX2xpc3RfdHlwZWEgZGwgZHQgYXtmb250LXNpemU6MTRweH1cclxuLy8gLnBvcnRhbF9saXN0X3R5cGVhIGRsIGR0IHNwYW57Zm9udC13ZWlnaHQ6bm9ybWFsfVxyXG4vLyAucG9ydGFsX2xpc3RfdHlwZWEgZGwgZGQucGhvdG97cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4fVxyXG4vLyAucG9ydGFsX2xpc3RfdHlwZWEgZGwgZGQucGhvdG8gaW1ne2JvcmRlcjoxcHggc29saWQgI2Q4ZDhkODt3aWR0aDoxOTBweDtoZWlnaHQ6MTIwcHg7XHJcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGd4KSB7XHJcbi8vIFx0ICB3aWR0aDoxMzBweDtoZWlnaHQ6OTBweDtcclxuLy8gXHQgIH1cclxuLy8gfVxyXG5cclxuLy8gLnBvcnRhbF9saXN0X3R5cGVhIGRsIGRkLmNvbnR7Y2xlYXI6Ym90aDttYXJnaW46MDtwYWRkaW5nOjA7Zm9udC1zaXplOjAuOTVlbTtoZWlnaHQ6NzVweDtvdmVyZmxvdzpoaWRkZW47XHJcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGd4KSB7XHJcbi8vIFx0ICAgaGVpZ2h0OjUzcHhcclxuLy8gXHQgIH1cclxuLy8gfVxyXG4vLyAucG9ydGFsX2xpc3RfdHlwZWEgZGwgZGQuZGF0ZXtmb250LXNpemU6MC45NWVtO3BhZGRpbmctdG9wOjRweDtjb2xvcjojNzc3fVxyXG4vLyAucG9ydGFsX2xpc3RfdHlwZWEgZGwgZGQuZGF0ZSBzcGFue2NvbG9yOiNjMGMwYzA7cGFkZGluZzowIDVweH1cclxuLy8gLnBvcnRhbF9saXN0X3R5cGVhIGRsIGRkLmJ0bntwYWRkaW5nLXRvcDoxNHB4O292ZXJmbG93OmhpZGRlbn1cclxuLy8gLnBvcnRhbF9saXN0X3R5cGVhMiBkbHtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoyMHB4IDAgMjBweCAxMHB4O2JvcmRlci1ib3R0b206MXB4IGRhc2hlZCAjZDdkN2Q3fVxyXG4vLyAucG9ydGFsX2xpc3RfdHlwZWEyIGRsIGR0e2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7cGFkZGluZy1ib3R0b206MnB4fVxyXG4vLyAucG9ydGFsX2xpc3RfdHlwZWEyIGRsIGRkLmNvbnR7Y2xlYXI6Ym90aH1cclxuLypwb3J0YWxfbGlzdF90eXBlYyovXHJcblxyXG4vLyAucG9ydGFsX2xpc3RfdHlwZWN7b3ZlcmZsb3c6aGlkZGVufVxyXG4vLyAucG9ydGFsX2xpc3RfdHlwZWMgLm5ld3tmbG9hdDpsZWZ0O3dpZHRoOjMwMnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vZG90X2xpbmVfYmcuZ2lmKSBuby1yZXBlYXQgMCAtNDJweH1cclxuLy8gLnBvcnRhbF9saXN0X3R5cGVjIC5zZWxlY3RfbWFwe2Zsb2F0OmxlZnQ7d2lkdGg6MzYwcHg7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi9kb3RfbGluZV9iZy5naWYpIG5vLXJlcGVhdCAwIC00MnB4fVxyXG4vLyAucG9ydGFsX2xpc3RfdHlwZWMgaDN7Zm9udC1zaXplOjEycHg7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vYnVfdHh0Mi5naWYpIG5vLXJlcGVhdCAwIDRweDtwYWRkaW5nOjFweCAwIDZweCAyMHB4fVxyXG4vLyAucG9ydGFsX2xpc3RfdHlwZWMgLmRvdF9saXN0e21hcmdpbi1ib3R0b206MjBweH1cclxuLy8gLnBvcnRhbF9saXN0X3R5cGVjIC5kb3RfbGlzdCBsaXtwYWRkaW5nLWxlZnQ6OHB4O2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vYnVfZG90LmdpZikgbm8tcmVwZWF0IDAgOXB4O2xpbmUtaGVpZ2h0OjI2cHh9XHJcbi8vIC5wb3J0YWxfbGlzdF90eXBlYyAuZG90X2xpc3QgbGkgc3BhbntjdXJzb3I6cG9pbnRlcn1cclxuLy8gLnBvcnRhbF9saXN0X3R5cGVjIC5kb3RfbGlzdCBsaSBzcGFuLnRpdGxle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjE5MHB4fVxyXG4vLyAucG9ydGFsX2xpc3RfdHlwZWMgLmRvdF9saXN0IGxpIHNwYW4uYXJlYXt0ZXh0LWFsaWduOnJpZ2h0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMHB4O2ZvbnQtc2l6ZToxMXB4fVxyXG4vLyAubmV3X2N0bHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O3JpZ2h0OjIwcHh9XHJcbi8vIC5uZXdfY3Rse3Bvc2l0aW9uOmFic29sdXRlO3RvcDoycHg7cmlnaHQ6MjBweH1cclxuLy8gLm5ld19jdGwgYnV0dG9ue2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9uZXdfY3RsLmdpZikgbm8tcmVwZWF0IDAgMDtoZWlnaHQ6MTRweDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7dmlzaWJpbGl0eTp2aXNpYmxlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXJ9XHJcbi8vIC5uZXdfY3RsIGJ1dHRvbiAqe3Zpc2liaWxpdHk6aGlkZGVufVxyXG4vLyAubmV3X2N0bCBidXR0b24ubmV3X3ByZXZ7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7d2lkdGg6MThweH1cclxuLy8gLm5ld19jdGwgYnV0dG9uLm5ld19uZXh0e2JhY2tncm91bmQtcG9zaXRpb246LTE3cHggMDt3aWR0aDoxOHB4fVxyXG4vLyAuc2VsZWN0X21hcHtvdmVyZmxvdzpoaWRkZW47bWFyZ2luLWJvdHRvbToxMHB4fVxyXG4vLyAuc2VhcmNoX21hcHtmbG9hdDpyaWdodDt3aWR0aDoyMDBweDtwYWRkaW5nLXRvcDoyNHB4fVxyXG4vLyAuc2VhcmNoX21hcCBwe21hcmdpbi1ib3R0b206N3B4fVxyXG4vLyAuc2VhcmNoX21hcCAuaW5wdXRfc2VsZWN0e3dpZHRoOjEwMCV9XHJcbi8qIGdhbGxlcnlfbGlzdF90eXBlYSAqL1xyXG5cclxuLy8gLmdhbGxlcnlfbGlzdF90eXBlYXtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2JvYXJkL2JnX2dhbGxlcnkuZ2lmKSByZXBlYXR9XHJcbi8vIC5nYWxsZXJ5X2xpc3RfdHlwZWEgbGl7ZmxvYXQ6bGVmdDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvYmdfbGlfZ2FsbGVyeS5naWYpIG5vLXJlcGVhdCAwIDA7d2lkdGg6MjEycHg7aGVpZ2h0OjIxMnB4O21hcmdpbjoyMHB4IDI0cHggMjBweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9XHJcbi8vIC5nYWxsZXJ5X2xpc3RfdHlwZWEgbGkgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX1cclxuLy8gLmdhbGxlcnlfbGlzdF90eXBlYSBsaSAuZGF0ZXtkaXNwbGF5OmJsb2NrO2Zsb2F0OnJpZ2h0O2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjI2cHg7cGFkZGluZy1yaWdodDoxMHB4fVxyXG4vLyAuZ2FsbGVyeV9saXN0X3R5cGVhIGxpIC5vbmFpcntmbG9hdDpsZWZ0O3BhZGRpbmc6NHB4IDAgMCA0cHh9XHJcbi8vIC5nYWxsZXJ5X2xpc3RfdHlwZWEgbGkgLnBpY3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjZweDtsZWZ0OjFweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlfVxyXG4vLyAuZ2FsbGVyeV9saXN0X3R5cGVhIGxpIC5waWMgaW1ne3dpZHRoOjIxMHB4O2hlaWdodDoxMzlweH1cclxuLy8gLmdhbGxlcnlfbGlzdF90eXBlYSBsaSAudGl0bGV7ZGlzcGxheTpibG9jaztmb250LXdlaWdodDpib2xkO3BhZGRpbmctdG9wOjE1NXB4OypwYWRkaW5nLXRvcDoxNTBweDt0ZXh0LWFsaWduOmNlbnRlcjtjbGVhcjpib3RofVxyXG4vLyAuZ2FsbGVyeV9saXN0X3R5cGVhIGxpIC50aXRsZSBhe2Rpc3BsYXk6YmxvY2s7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9XHJcbi8vIC5nYWxsZXJ5X2xpc3RfdHlwZWEgbGkgLnRpdGxlIGltZ3twYWRkaW5nLWJvdHRvbToycHh9XHJcbi8vIC5nYWxsZXJ5X2xpc3RfdHlwZWEgbGkgLm1hc2t7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vYmdfbmVjX3ZvZC5wbmcpIG5vLXJlcGVhdCAwIDA7d2lkdGg6NDFweDtoZWlnaHQ6NDJweDtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NzBweDtyaWdodDoxNXB4fVxyXG4vLyAuZ2FsbGVyeV92aWV3X3R5cGVhe2JvcmRlci10b3A6MnB4IHNvbGlkICM5MDkwOTA7Ym9yZGVyLWJvdHRvbToycHggc29saWQgIzkwOTA5MDtwYWRkaW5nLWJvdHRvbToxMHB4fVxyXG4vLyAuZ2FsbGVyeV92aWV3X3R5cGVhIGR0e2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM5MDkwOTA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6Ym9sZDtwYWRkaW5nOjZweCAwfVxyXG4vLyAuZ2FsbGVyeV92aWV3X3R5cGVhIGRke3BhZGRpbmc6MTBweCAycHh9XHJcbi8vIC5nYWxsZXJ5X3ZpZXdfdHlwZWEgZGQgLmdhbGxlcnlfZGF0YXtsaW5lLWhlaWdodDoxOHB4O3dvcmQtYnJlYWs6YnJlYWstYWxsO3dpZHRoOjEwMCV9XHJcbi8vIC5nYWxsZXJ5X3ZpZXdfdHlwZWEgZGQuaW5mb3t0ZXh0LWFsaWduOnJpZ2h0O2xpbmUtaGVpZ2h0OjIycHh9XHJcbi8vIC5nYWxsZXJ5X3ZpZXdfdHlwZWEgZGQuaW5mbyBzcGFue2NvbG9yOiNjMGMwYzA7cGFkZGluZzowIDJweH1cclxuLyogZ2FsbGVyeV9saXN0X3R5cGViICovXHJcblxyXG4vLyAuZ2FsbGVyeV9saXN0X3R5cGVie292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvYmdfZ2FsbGVyeV9iLmdpZikgcmVwZWF0fVxyXG4vLyAuZ2FsbGVyeV9saXN0X3R5cGViIGxpe2Zsb2F0OmxlZnQ7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2JvYXJkL2JnX3Bob3RvX2xpc3RfdHlwZWIuZ2lmKSBuby1yZXBlYXQgMCAwO3dpZHRoOjE2MnB4O2hlaWdodDoyMzFweDttYXJnaW46MjBweCAxMHB4IDIwcHggM3B4O3BhZGRpbmctdG9wOjExcHg7cG9zaXRpb246cmVsYXRpdmV9XHJcbi8vIC5nYWxsZXJ5X2xpc3RfdHlwZWIgbGkgLmltZ190aXR7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6Ym9sZDtwYWRkaW5nOjAgMTJweDtjbGVhcjpib3RoO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MTZweDtoZWlnaHQ6MTk5cHh9XHJcbi8vIC5nYWxsZXJ5X2xpc3RfdHlwZWIgbGkgLmltZ190aXQgaW1ne3dpZHRoOjE0MHB4O2hlaWdodDoxNTRweDtwYWRkaW5nLWJvdHRvbTo2cHg7Y2xlYXI6Ym90aDtkaXNwbGF5OmJsb2NrfVxyXG4vLyAuZ2FsbGVyeV9saXN0X3R5cGViIGxpIC5idG57ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjE0cHg7dGV4dC1hbGlnbjpjZW50ZXJ9XHJcbi8vIC5nYWxsZXJ5X2xpc3RfdHlwZWIgbGkgLmJ0biBhe3RleHQtZGVjb3JhdGlvbjpub25lfVxyXG4vKiB2b2RfbGlzdF90eXBlYSAqL1xyXG5cclxuLy8gLnZvZF9saXN0X3R5cGVhe2JvcmRlci10b3A6MnB4IHNvbGlkICM5MDkwOTA7bWFyZ2luLWJvdHRvbToyMHB4fVxyXG4vLyAudm9kX2xpc3RfdHlwZWEgZGx7b3ZlcmZsb3c6aGlkZGVufVxyXG4vLyAudm9kX2xpc3RfdHlwZWEgZHR7ZGlzcGxheTpibG9jaztmbG9hdDpsZWZ0O3BhZGRpbmc6NnB4IDAgNnB4IDEwcHg7Zm9udC13ZWlnaHQ6Ym9sZDt3aWR0aDo0NjBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjYWZhZmFmO2xpbmUtaGVpZ2h0OjIwcHh9XHJcbi8vIC52b2RfbGlzdF90eXBlYSBkZC5kYXRle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjIxNHB4O3RleHQtYWxpZ246cmlnaHQ7cGFkZGluZzo2cHggMTBweCA2cHggMDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjYWZhZmFmO2ZvbnQtc2l6ZToxMXB4O2NvbG9yOiM2NjY7bGluZS1oZWlnaHQ6MjBweH1cclxuLy8gLnZvZF9saXN0X3R5cGVhIGRkLmRhdGUgc3Bhbntjb2xvcjojYzBjMGMwO3BhZGRpbmc6MCA1cHh9XHJcbi8vIC52b2RfbGlzdF90eXBlYSBkZC52b2R7bWFyZ2luLXRvcDo4cHg7ZGlzcGxheTpibG9jaztmbG9hdDpsZWZ0fVxyXG4vLyAudm9kX2xpc3RfdHlwZWEgaWZyYW1le3otaW5kZXg6MH1cclxuLy8gLnZvZF9saXN0X3R5cGVhIGRkLnRleHR7bWFyZ2luLXRvcDo4cHg7ZGlzcGxheTpibG9jazt3aWR0aDozMTRweDtoZWlnaHQ6Mjc0cHg7ZmxvYXQ6cmlnaHQ7b3ZlcmZsb3cteTphdXRvfVxyXG4vLyAud2FybmluZ3tiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvYmdfd2FybmluZy5naWYpIG5vLXJlcGVhdCAwIDA7d2lkdGg6NjU1cHg7aGVpZ2h0OjI5cHg7cGFkZGluZzoxM3B4IDAgMCAzOHB4O21hcmdpbi10b3A6NDBweDtmb250LXNpemU6MTFweH1cclxuLy8gLndhcm5pbmcye2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9iZ193YXJuaW5nLmdpZikgbm8tcmVwZWF0IDAgMDt3aWR0aDo5OTBweH1cclxuXHJcbi8vIC5wYWdpbmd7b3ZlcmZsb3c6aGlkZGVuO2NsZWFyOmJvdGg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjI5cHggMCAzMHB4O3RleHQtYWxpZ246Y2VudGVyO3pvb206MX1cclxuLy8gI2NvbnRlbnQgLnBhZ2luZyBpbWd7dmVydGljYWwtYWxpZ246Ym90dG9tO19tYXJnaW4tYm90dG9tOjJweH1cclxuLy8gLnBhZ2luZyBhe2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWJsb2NrO19wb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjAgMCAwIDVweDtjb2xvcjojNjY2O2ZvbnQtZmFtaWx5Oifrj4vsm4AnLCBEb3R1bTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDpib2xkO2xpbmUtaGVpZ2h0OjI1cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDsqdmVydGljYWwtYWxpZ246Ym90dG9tXHJcbi8vIH1cclxuLy8gLnBhZ2luZyBhOmhvdmVyLCAucGFnaW5nIGE6Zm9jdXMsIC5wYWdpbmcgYTphY3RpdmV7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2JvYXJkL2J0bl9wYWdpbmcuZ2lmKSBuby1yZXBlYXQgMCAwICFpbXBvcnRhbnQ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZX1cclxuLy8gLnBhZ2luZyBzdHJvbmd7ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtYmxvY2s7X3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowIDJweDtwYWRkaW5nOjAgMCAwIDVweDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvYnRuX3BhZ2luZy5naWYpIG5vLXJlcGVhdCAwIDAgIWltcG9ydGFudDtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5Oifrj4vsm4AnLCBEb3R1bTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDpib2xkO2xpbmUtaGVpZ2h0OjI1cHg7aGVpZ2h0OjI1cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudH1cclxuLy8gLnBhZ2luZyBzdHJvbmd7Y29sb3I6I2ZmZiAhaW1wb3J0YW50O3ZlcnRpY2FsLWFsaWduOnRvcDsqdmVydGljYWwtYWxpZ246Ym90dG9tXHJcbi8vIH1cclxuLy8gLnBhZ2luZyBhIHNwYW57ZGlzcGxheTpibG9jaztfZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmU7dG9wOjA7cGFkZGluZzowIDhweCAwIDNweDt6b29tOjE7ZmxvYXQ6bGVmdDsqdmVydGljYWwtYWxpZ246Ym90dG9tXHJcbi8vIH1cclxuLy8gLnBhZ2luZyBhOmhvdmVyIHNwYW4sIC5wYWdpbmcgYTpmb2N1cyBzcGFuLCAucGFnaW5nIGE6YWN0aXZlIHNwYW57YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2JvYXJkL2J0bl9wYWdpbmcuZ2lmKSBuby1yZXBlYXQgMTAwJSAwICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOnBvaW50ZXJ9XHJcbi8vIC5wYWdpbmcgc3Ryb25nIHNwYW57ZGlzcGxheTpibG9jaztfZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmU7dG9wOjA7cGFkZGluZzowIDhweCAwIDNweDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvYnRuX3BhZ2luZy5naWYpIG5vLXJlcGVhdCAxMDAlIDAgIWltcG9ydGFudDt6b29tOjF9XHJcbi8vIC5wYWdpbmcgYS5maXJzdCwgLnBhZ2luZyBhLm5leHQsIC5wYWdpbmcgYS5wcmV2LCAucGFnaW5nIGEubGFzdHtwb3NpdGlvbjpyZWxhdGl2ZTsvKnRvcDo5cHg7Ki8gYmFja2dyb3VuZDpub25lICFpbXBvcnRhbnQ7Zm9udC1mYW1pbHk6J+uPi+ybgCcsIERvdHVtLCAn6rW066a8JywgR3VsaW0sIEFwcGxlR290aGljLCBTYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fVxyXG4vLyAucGFnaW5nIGEucHJldnttYXJnaW4tcmlnaHQ6MTBweH1cclxuLy8gLnBhZ2luZyBhLm5leHR7bWFyZ2luLWxlZnQ6NHB4fVxyXG4vKiBtb3ZlX3RpdGxlICovXHJcblxyXG4vLyAubW92ZV90aXRsZXt3aWR0aDoxMDAlO2NsZWFyOmJvdGg7Ym9yZGVyLXRvcDoycHggc29saWQgIzkwOTA5MDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjOTA5MDkwO21hcmdpbi10b3A6MTdweH1cclxuLy8gLm1vdmVfdGl0bGUgZGx7b3ZlcmZsb3c6aGlkZGVufVxyXG4vLyAubW92ZV90aXRsZSBkbC5wcmV2IGR0e2Zsb2F0OmxlZnQ7d2lkdGg6NjBweDtiYWNrZ3JvdW5kOiNmMGYwZjAgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vaWNvX3VwLmdpZikgbm8tcmVwZWF0IDIwcHggMTZweDtwYWRkaW5nOjEwcHggMCAxMHB4IDM0cHg7Zm9udC13ZWlnaHQ6Ym9sZDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGNkY2RjfVxyXG4vLyAubW92ZV90aXRsZSBkbC5wcmV2IGRke2Zsb2F0OmxlZnQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RjZGNkYztwYWRkaW5nOjEwcHg7d2lkdGg6NTgwcHh9XHJcbi8vIC5tb3ZlX3RpdGxlIGRsLm5leHQgZHR7ZmxvYXQ6bGVmdDt3aWR0aDo2MHB4O2JhY2tncm91bmQ6I2YwZjBmMCB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi9pY29fZG93bi5naWYpIG5vLXJlcGVhdCAyMHB4IDE2cHg7cGFkZGluZzoxMHB4IDAgMTBweCAzNHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RjZGNkY31cclxuLy8gLm1vdmVfdGl0bGUgZGwubmV4dCBkZHtmbG9hdDpsZWZ0O3BhZGRpbmc6MTBweDt3aWR0aDo1ODBweH1cclxuLy8gLmJ0bl9zZXR7bWFyZ2luOjEwcHggMDtvdmVyZmxvdzpoaWRkZW59XHJcbi8vIC5yZWNfc2VydmljZXtwYWRkaW5nOjRweH1cclxuLy8gLnJlY19zZXJ2aWNlIGRpdntwYWRkaW5nOjE1cHg7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfVxyXG4vLyAucmVjX3NlcnZpY2UgbGl7cGFkZGluZy1sZWZ0OjE0cHg7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2JvYXJkL2ljb19yZWNfc2VydmljZS5naWYpIG5vLXJlcGVhdCAwIDZweDtsaW5lLWhlaWdodDoyNHB4fVxyXG4vLyAuZmF2b3JpdGV7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbToxMHB4fVxyXG4vLyAuZmF2b3JpdGUgZGl2e3Bvc2l0aW9uOnJlbGF0aXZlfVxyXG4vLyAudG9wX2luZm9fbGlzdCBoMntmb250LXNpemU6MTJweDtmb250LXdlaWdodDpib2xkO2JhY2tncm91bmQ6I2VmZWZlZiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2JvYXJkL2ljb19zZWFyY2hfdHh0LmdpZikgbm8tcmVwZWF0IDZweCA3cHg7cGFkZGluZzo4cHggMTBweCA4cHggMzBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZDhkOGQ4O2NvbG9yOiMwMDB9XHJcbi8vIC50b3BfaW5mb19saXN0IGgyIHNwYW57YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL3NlYXJjaC9pY29fc2VhcmNoX2Fyci5naWYpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQ7cGFkZGluZy1yaWdodDoxMHB4fVxyXG4vLyAudG9wX2luZm9fbGlzdHtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjQwMHB4O2JvcmRlcjoxcHggc29saWQgI2Q4ZDhkOH1cclxuLy8gLnRvcF9pbmZvX2xpc3QgLmJveHtwYWRkaW5nOjE1cHggMCAxNXB4IDE1cHh9XHJcbi8vIC50b3BfaW5mb19saXN0IC5tb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNjBweDtyaWdodDotMTNweDtmb250LXNpemU6MTFweDtwYWRkaW5nLXJpZ2h0OjEwcHg7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL21haW4vYnVsbC5naWYpIG5vLXJlcGVhdCAxMDUlIDVweDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7d2lkdGg6NDRweH1cclxuLyoudG9wX2luZm9fbGlzdCBoMyBhe2Zsb2F0OmxlZnQ7cGFkZGluZzo0cHggMjBweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlci1yaWdodDoxcHggc29saWQgI2RjZGNkYztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjYjRiNGI0O2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6bm9ybWFsO2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOTtmb250LXNpemU6MTJweH1cclxuXHJcbi50b3BfaW5mb19saXN0IGgzLm9uIGEsXHJcblxyXG4udG9wX2luZm9fbGlzdCBoMyBhOmhvdmVye2NvbG9yOiMwMDA7Zm9udC13ZWlnaHQ6Ym9sZDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmO2JvcmRlci10b3AtY29sb3I6I2I0YjRiNDtib3JkZXItbGVmdC1jb2xvcjojYjRiNGI0O2JvcmRlci1yaWdodC1jb2xvcjojYjRiNGI0O3RleHQtZGVjb3JhdGlvbjpub25lfVxyXG5cclxuKi9cclxuXHJcbi8vIC50b3BfaW5mb19saXN0IGgze2Zsb2F0OmxlZnR9XHJcbi8vIC50b3BfaW5mb19saXN0IG9sLm9ue2Rpc3BsYXk6YmxvY2t9XHJcbi8vIC50b3BfaW5mb19saXN0IG9se2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjJweDt0b3A6NDBweDt3aWR0aDoyMzNweH1cclxuLy8gLnRvcF9pbmZvX2xpc3Qgb2wgbGl7cGFkZGluZzo1cHggMCA1cHggMjBweDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvaWNvX251bS5naWYpIG5vLXJlcGVhdCAwIDA7Ym9yZGVyLWJvdHRvbToxcHggZGFzaGVkICNjZGNkY2R9XHJcbi8vIC50b3BfaW5mb19saXN0IG9sIGxpLm51bTF7YmFja2dyb3VuZC1wb3NpdGlvbjowIDdweH1cclxuLy8gLnRvcF9pbmZvX2xpc3Qgb2wgbGkubnVtMntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTcxcHh9XHJcbi8vIC50b3BfaW5mb19saXN0IG9sIGxpLm51bTN7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNTBweH1cclxuLy8gLnRvcF9pbmZvX2xpc3Qgb2wgbGkubnVtNHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTIyOXB4fVxyXG4vLyAudG9wX2luZm9fbGlzdCBvbCBsaS5udW01e2JhY2tncm91bmQtcG9zaXRpb246MCAtMzA4cHh9XHJcbi8vIC50b3BfaW5mb19saXN0IG9sIGxpLm51bTZ7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0zODhweH1cclxuLy8gLnRvcF9pbmZvX2xpc3Qgb2wgbGkubnVtN3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTQ2N3B4fVxyXG4vLyAudG9wX2luZm9fbGlzdCBvbCBsaS5udW04e2JhY2tncm91bmQtcG9zaXRpb246MCAtNTQ2cHh9XHJcbi8vIC50b3BfaW5mb19saXN0IG9sIGxpLm51bTl7YmFja2dyb3VuZC1wb3NpdGlvbjowIC02MjRweH1cclxuLy8gLnRvcF9pbmZvX2xpc3Qgb2wgbGkubnVtMTB7YmFja2dyb3VuZC1wb3NpdGlvbjowIC03MDNweDtib3JkZXItYm90dG9tOm5vbmV9XHJcbi8vIC5zZWFyY2hfdHh0e2JvcmRlcjoxcHggc29saWQgI2Q4ZDhkODttYXJnaW4tdG9wOjEwcHh9XHJcbi8vIC5zZWFyY2hfdHh0IGgze2JhY2tncm91bmQ6I2VmZWZlZiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2JvYXJkL2ljb19zZWFyY2hfdHh0LmdpZikgbm8tcmVwZWF0IDZweCA3cHg7cGFkZGluZzo4cHggMTBweCA4cHggMzBweDtmb250LXNpemU6MTJweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZDhkOGQ4fVxyXG4vLyAuc2VhcmNoX3R4dCBoMyBzcGFue2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9zZWFyY2gvaWNvX3NlYXJjaF9hcnIuZ2lmKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O3BhZGRpbmctcmlnaHQ6MTBweDtkaXNwbGF5OmlubGluZX1cclxuLy8gLnNlYXJjaF90eHQgdWx7cGFkZGluZzoxMHB4fVxyXG4vLyAuc2VhcmNoX3R4dCB1bCBsaXtwYWRkaW5nOjJweCAwIDJweCA4cHg7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi9idV9kb3QuZ2lmKSBuby1yZXBlYXQgMCAxMHB4O2xpbmUtaGVpZ2h0OjIycHg7Ym9yZGVyLWJvdHRvbToxcHggZGFzaGVkICNjZGNkY2R9XHJcbi8qIDIwMTMtMDktMDMqL1xyXG5cclxuLy8gLnNlYXJjaF90eHQgLmdvX3dyaXRle2JhY2tncm91bmQ6I2VmZWZlZiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi9pY29fcmlnaHRjb25fdGl0MDEuZ2lmKSA3cHggOXB4IG5vLXJlcGVhdH1cclxuLy8gLnNlYXJjaF90eHQgLmJlc3Rfdm9ke2JhY2tncm91bmQ6I2VmZWZlZiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi9pY29fcmlnaHRjb25fdGl0MDIuZ2lmKSAxMHB4IDhweCBuby1yZXBlYXR9XHJcbi8vIC5zZWFyY2hfdHh0IC5iZXN0X2RhdGF7YmFja2dyb3VuZDojZWZlZmVmIHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29tbW9uL2ljb19yaWdodGNvbl90aXQwMy5naWYpIDdweCA2cHggbm8tcmVwZWF0fVxyXG4vLyAuc2VhcmNoX3R4dCBsaSBzcGFue2Rpc3BsYXk6YmxvY2s7Y3Vyc29yOnBvaW50ZXJ9XHJcbi8vIC5zZWFyY2hfdHh0IGxpIHNwYW46aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1cclxuLy8gLnNlYXJjaF90eHQgLnJfaW1ne2JvcmRlcjoxcHggc29saWQgI2Q4ZDhkODttYXJnaW4tbGVmdDotMTVweDtmbG9hdDpsZWZ0O21hcmdpbi10b3A6M3B4O3dpZHRoOjEwMHB4O2hlaWdodDo2MXB4fVxyXG4vLyAuc2VhcmNoX3R4dCAucl9pbWcgaW1ne3dpZHRoOjEwMHB4O2hlaWdodDo2MXB4fVxyXG4vLyAuc2VhcmNoX3R4dCAucl90eHR7ZmxvYXQ6bGVmdDt3aWR0aDoxMTBweDtwYWRkaW5nOjAgMCAwIDI4cHh9XHJcbi8vIC5zZWFyY2hfdHh0IG9se21hcmdpbi10b3A6NXB4fVxyXG4vLyAuc2VhcmNoX3R4dCBvbCBsaXtwYWRkaW5nOjExcHggMCAxMXB4IDIwcHg7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2JvYXJkL2ljb19udW0uZ2lmKSBuby1yZXBlYXQgMCAwO2JvcmRlci1ib3R0b206MXB4IGRhc2hlZCAjY2RjZGNkO292ZXJmbG93OmhpZGRlbjttYXJnaW46MCA5cHggMCA3cHh9XHJcbi8vIC5zZWFyY2hfdHh0IG9sIC5udW0xe2JhY2tncm91bmQtcG9zaXRpb246MTEzcHggMTRweH1cclxuLy8gLnNlYXJjaF90eHQgb2wgLm51bTJ7YmFja2dyb3VuZC1wb3NpdGlvbjoxMTNweCAtNjVweH1cclxuLy8gLnNlYXJjaF90eHQgb2wgLm51bTN7YmFja2dyb3VuZC1wb3NpdGlvbjoxMTNweCAtMTQ0cHh9XHJcbi8vIC5zZWFyY2hfdHh0IG9sIC5udW00e2JhY2tncm91bmQtcG9zaXRpb246MTEzcHggLTIyM3B4fVxyXG4vLyAuc2VhcmNoX3R4dCBvbCAubnVtNXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjExM3B4IC0zMDFweDtib3JkZXI6bm9uZX1cclxuLy8gLmJvYXJkX2xpc3RfdHlwZXt0ZXh0LWFsaWduOnJpZ2h0fVxyXG4vLyAuYm9hcmRfbGlzdF90eXBlIGF7fVxyXG4vLyAuYm9hcmRfbGlzdF90eXBlIGEudGl0bGV7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2JvYXJkL2ljb190aXRsZS5naWYpIG5vLXJlcGVhdCAwIDNweDtwYWRkaW5nLWxlZnQ6MjBweDtkaXNwbGF5OmlubGluZS1ibG9ja31cclxuLy8gLmJvYXJkX2xpc3RfdHlwZSBhLmNvbntiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvaWNvX2Nvbi5naWYpIG5vLXJlcGVhdCAwIDNweDtwYWRkaW5nLWxlZnQ6MjBweDtkaXNwbGF5OmlubGluZS1ibG9ja31cclxuLy8gLmNhbGVuZGFye292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYmdfY2FsZW5kYXIuZ2lmKSBuby1yZXBlYXQgMCAwO3dpZHRoOjY2OXB4O2hlaWdodDozNzVweDtwYWRkaW5nOjEycHg7bWFyZ2luLXRvcDoxMHB4fVxyXG4vLyAuY2FsZW5kYXIgLmZse3dpZHRoOjQ0OHB4O3Bvc2l0aW9uOnJlbGF0aXZlfVxyXG4vLyAuY2FsZW5kYXIgLmZsIC5wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNnB4O2xlZnQ6MTM1cHh9XHJcbi8vIC5jYWxlbmRhciAuZmwgLm5leHR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE2cHg7bGVmdDoyODlweH1cclxuLy8gLmNhbGVuZGFyIC5mbCAubW9udGh7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTVweDtwYWRkaW5nLXRvcDoxNHB4fVxyXG4vLyAuY2FsZW5kYXIgLmNhbGVuZGFyX3RhYmxlMnt3aWR0aDo0NDlweDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvdGhfY2FsZW5kYXIuZ2lmKSBuby1yZXBlYXQgMCAwfVxyXG4vLyAuY2FsZW5kYXIgLmNhbGVuZGFyX3RhYmxlMiB0YWJsZXt3aWR0aDoxMDAlfVxyXG4vLyAuY2FsZW5kYXIgLmNhbGVuZGFyX3RhYmxlMiB0aHtmb250LXdlaWdodDpib2xkO2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzoxMHB4IDB9XHJcbi8vIC5jYWxlbmRhciAuY2FsZW5kYXJfdGFibGUyIHRke3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6NHB4IDA7aGVpZ2h0OjQ2cHg7Zm9udC13ZWlnaHQ6Ym9sZDt2ZXJ0aWNhbC1hbGlnbjp0b3B9XHJcbi8vIC5jYWxlbmRhciAuY2FsZW5kYXJfdGFibGUyIC5zdW4sIC5jYWxlbmRhciAuY2FsZW5kYXJfdGFibGUyIC5zYXR7Y29sb3I6IzkwOTA5MH1cclxuLy8gLmNhbGVuZGFyIC5mcnt3aWR0aDoxOTVweDttYXJnaW4tbGVmdDoyNXB4O3Bvc2l0aW9uOnJlbGF0aXZlfVxyXG4vLyAuY2FsZW5kYXIgLmJ0bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MzEwcHg7bGVmdDo0OHB4fVxyXG4vLyAuY2FsZW5kYXIgLmZyIC52aWV3e2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjE0cHg7cGFkZGluZzo2cHggMCAyMHB4IDB9XHJcbi8vIC5jYWxlbmRhciAuZnIgZGx7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi1ib3R0b206MzBweH1cclxuLy8gLmNhbGVuZGFyIC5mciBkbCBkdHt3aWR0aDo4MHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0OmxlZnR9XHJcbi8vIC5jYWxlbmRhciAuZnIgZGwgZGR7ZmxvYXQ6bGVmdDtib3JkZXI6MXB4IHNvbGlkICNkOWQ5ZTE7YmFja2dyb3VuZC1jb2xvcjojZjdmN2ZhO3BhZGRpbmc6NHB4O3dpZHRoOjEwMHB4fVxyXG4vLyAvKiBCdXR0b24gUmVzZXQgKi9cclxuXHJcbi8vIC5idXR0b24sICAuYnV0dG9uIGEsICAuYnV0dG9uIGlucHV0e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyOjA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6VGFob21hLCBTYW5zLXNlcmlmO3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYmdfYnRuX3NldC5naWYpIG5vLXJlcGVhdDtvdmVyZmxvdzp2aXNpYmxlO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6Ym9sZH1cclxuLy8gLmJ1dHRvbiwgIC5idXR0b24gaW5wdXR7aGVpZ2h0OjI1cHg7cGFkZGluZzowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6MnB4O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCB0b3B9XHJcbi8vIC5idXR0b24gYSwgIC5idXR0b24gaW5wdXR7bGVmdDoycHg7dmVydGljYWwtYWxpZ246dG9wO2N1cnNvcjpwb2ludGVyO2hlaWdodDoyNXB4O3BhZGRpbmc6MCAxNnB4IDAgMTRweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoyNXB4O2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgdG9wfVxyXG4vLyAuYnV0dG9uMntiYWNrZ3JvdW5kLXBvc2l0aW9uOmxlZnQgLTM1cHh9XHJcbi8vIC5idXR0b24yIGEsICAuYnV0dG9uMiBhOmxpbmssICAuYnV0dG9uMiBpbnB1dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IC0zNXB4O2NvbG9yOiMzMzM7bGVmdDoycHg7fVxyXG4vLyAuYnV0dG9uM3tiYWNrZ3JvdW5kLXBvc2l0aW9uOmxlZnQgLTcwcHh9XHJcbi8vIC5idXR0b24zIGEsICAuYnV0dG9uMyBhOmxpbmssICAuYnV0dG9uMyBpbnB1dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IC03MHB4O2NvbG9yOiMzMzM7bGVmdDoxNHB4O3BhZGRpbmc6MCAxMHB4IDAgNHB4fVxyXG4vLyAuYm9yZGVyMXtib3JkZXI6M3B4IHNvbGlkICNmMWYxZjR9XHJcbi8vIC5ib3JkZXIye2JvcmRlcjoxcHggc29saWQgI2NjY31cclxuLy8gLmxvZ2lue2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9iZ19sb2dpbi5naWYpIG5vLXJlcGVhdCAwIDM1cHg7Y2xlYXI6Ym90aDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1ib3R0b206MzBweDsgd2lkdGg6MTAwMHB4O31cclxuLy8gLmxvZ2luIC5mbHtwYWRkaW5nOjY1cHggMCAxMHB4IDE2OHB4O3Bvc2l0aW9uOnJlbGF0aXZlfVxyXG4vLyAubG9naW4gLmZye3dpZHRoOjQyMHB4O3BhZGRpbmc6MjBweCAzM3B4IDAgMjBweH1cclxuLy8gLmxvZ2luIGxpe3BhZGRpbmctYm90dG9tOjRweH1cclxuLy8gLmxvZ2luIGlucHV0e3dpZHRoOjE3MHB4O2hlaWdodDoyNnB4O2JvcmRlcjoxcHggc29saWQgI2Q4ZDhlMH1cclxuLy8gLmxvZ2luIC5sb2dpbl9idG57cG9zaXRpb246YWJzb2x1dGU7dG9wOjY1cHg7bGVmdDo0MDdweH1cclxuLy8gLmxvZ2luIC5sb2dpbl9idG4ye21hcmdpbi1sZWZ0OjY0cHg7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW59XHJcbi8vIC5sb2dpbiAubG9naW5fYnRuMiBhe2Zsb2F0OmxlZnR9XHJcbi8vIC5sb2dpbiAubG9naW5fdGl0e3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjMyOXB4O3RvcDowfVxyXG4vLyAubG9naW4gLmZyIC5waG9uZXtmb250LXNpemU6MTFweDttYXJnaW4tdG9wOjEzcHg7cGFkZGluZy10b3A6MTNweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZDhkOGUwfVxyXG4vLyAuc3VydmF5IGRse2JvcmRlci10b3A6MXB4IHNvbGlkICM5MDkwOTB9XHJcbi8vIC5zdXJ2YXkgZGwgZHR7cGFkZGluZzo2cHggMTBweDtmb250LXdlaWdodDpib2xkO2NvbG9yOiMyZDM3NDA7Ym9yZGVyLWJvdHRvbTojZGNkY2RjIDFweCBzb2xpZH1cclxuLy8gLnN1cnZheSBkbCBkdCBzcGFue2NvbG9yOiMxZDdlYzA7Zm9udC1zaXplOjE0cHh9XHJcbi8vIC5zdXJ2YXkgZGwgZGQuZW5kZWR7cGFkZGluZzoxMHB4IDEwcHggMTBweCA0MHB4O2JvcmRlci1ib3R0b206I2RjZGNkYyAxcHggc29saWQ7fVxyXG4vLyAuc3VydmF5IGRsIGRkIG9se3BhZGRpbmc6MTBweCAxMHB4IDEwcHggNDBweDtib3JkZXItYm90dG9tOiNkY2RjZGMgMXB4IHNvbGlkO2xpbmUtaGVpZ2h0OjIycHh9XHJcbi8vIC5zdXJ2YXkgZGwgZGQgdGFibGV7d2lkdGg6MTAwJX1cclxuLy8gLnN1cnZheSBkbCBkZCB0YWJsZSB0ZHtjb2xvcjojNzA3MDcwO3BhZGRpbmc6NnB4IDEwcHg7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkY2RjZGN9XHJcbi8vIC5zdXJ2YXkgZGwgZGQgdGFibGUgdGQgLnN1cnZheV9iZ3t3aWR0aDoxMDAlO2hlaWdodDoxM3B4O2Rpc3BsYXk6aW5saW5lLWJsb2NrfVxyXG4vLyAuc3VydmF5IGRsIGRkIHRhYmxlIHRkIC5zdXJ2YXlfYmFyMXtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvc3VydmF5X2JhcjEuZ2lmKSByZXBlYXQteDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxM3B4fVxyXG4vLyAuc3VydmF5IGRsIGRkIHRhYmxlIHRkIC5zdXJ2YXlfYmFyMntiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvc3VydmF5X2JhcjIuZ2lmKSByZXBlYXQteDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxM3B4fVxyXG4vLyAuc3VydmF5IGRsIGRkIHRhYmxlIHRkIC5zdXJ2YXlfYmFyM3tiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvc3VydmF5X2JhcjMuZ2lmKSByZXBlYXQteDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxM3B4fVxyXG4vLyAuc3VydmF5IGRsIGRkIHRhYmxlIHRkIC5zdXJ2YXlfYmFyNHtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvc3VydmF5X2JhcjQuZ2lmKSByZXBlYXQteDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxM3B4fVxyXG4vLyAuc3VydmF5IGRsIGRkIHRhYmxlIHRkIC5zdXJ2YXlfYmFyNXtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvYm9hcmQvc3VydmF5X2JhcjUuZ2lmKSByZXBlYXQteDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxM3B4fVxyXG4vLyAuc3VydmF5IGxpe3BhZGRpbmctYm90dG9tOjZweH1cclxuLy8gLnN1cnZheSAuaW5wdXRfcmFkaW97dmVydGljYWwtYWxpZ246dG9wfVxyXG4vLyAudzI4cGVye3dpZHRoOjI4JX1cclxuLy8gLncyNHBlcnt3aWR0aDoyNCV9XHJcbi8vIC53MTBwZXJ7d2lkdGg6MTAlfVxyXG4vLyAudzE4cGVye3dpZHRoOjE4JX1cclxuLy8gLnN1cnZheV9we2JvcmRlci1ib3R0b206I2RjZGNkYyAxcHggc29saWQ7bGluZS1oZWlnaHQ6MjJweDtwYWRkaW5nOjEwcHh9XHJcbi8vIC5zdXJ2YXlfcCAuc3VydmF5X2Jne3dpZHRoOjU4MHB4O2hlaWdodDoxN3B4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDoxMHB4O2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9zdXJ2YXlfYmcuZ2lmKSBuby1yZXBlYXQgMCAwfVxyXG4vLyAuc3VydmF5X2JhcjZ7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL3N1cnZheS5naWYpIHJlcGVhdC14O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE3cHh9XHJcblxyXG4vLyAuYm94X3R5cGV7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjElO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luLWJvdHRvbToyMHB4fVxyXG4vLyAuYm94X291dGVye2JvcmRlcjozcHggc29saWQgI2YxZjFmNH1cclxuLy8gLmJveF9vdXRlcjF7Ym9yZGVyOjNweCBzb2xpZCAjZjFmMWY0O3BhZGRpbmc6MC43ZW07bWFyZ2luLWJvdHRvbToxZW19XHJcbi8vIC5ib3hfdHlwZXtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSU7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tYm90dG9tOjIwcHh9XHJcbi8vIC5ib3hfb3V0ZXJ7Ym9yZGVyOjNweCBzb2xpZCAjZjFmMWY0fVxyXG4vLyAuYm94X3R5cGUgLmJveF9pbm5lcntib3JkZXI6MXB4IHNvbGlkICNjY2M7cGFkZGluZzoxMHB4fVxyXG4vLyAuYm94X3R5cGUgcHtwYWRkaW5nOjEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjBweH1cclxuLy8gLmJveF90eXBlIC5sdHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTNweDtsZWZ0Oi0zcHg7d2lkdGg6N3B4O2hlaWdodDo3cHg7YmFja2dyb3VuZDojZmZmIHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYmdfYm9yZGVyLnBuZykgbm8tcmVwZWF0IDAgMDtmb250LXNpemU6MH1cclxuLy8gLmJveF90eXBlIC5ydHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTNweDtyaWdodDotM3B4O19yaWdodDpleHByZXNzaW9uKC10aGlzLnBhcmVudE5vZGUub2Zmc2V0V2lkdGggJSAyIC0gNCArICdweCcpO1xyXG4vLyB3aWR0aDo3cHg7aGVpZ2h0OjdweDtiYWNrZ3JvdW5kOiNmZmYgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9iZ19ib3JkZXIucG5nKSBuby1yZXBlYXQgMTAwJSAwO2ZvbnQtc2l6ZTowfVxyXG4vLyAuYm94X3R5cGUgLmxie3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTNweDtib3R0b206LTNweDtfYm90dG9tOmV4cHJlc3Npb24oLXRoaXMucGFyZW50Tm9kZS5vZmZzZXRIZWlnaHQgJSAyIC0gNCArICdweCcpO1xyXG4vLyB3aWR0aDo3cHg7aGVpZ2h0OjdweDtiYWNrZ3JvdW5kOiNmZmYgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9iZ19ib3JkZXIucG5nKSBuby1yZXBlYXQgMCAxMDAlO2ZvbnQtc2l6ZTowfVxyXG4vLyAuYm94X3R5cGUgLnJie3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi0zcHg7X3JpZ2h0OmV4cHJlc3Npb24oLXRoaXMucGFyZW50Tm9kZS5vZmZzZXRXaWR0aCAlIDIgLSA0ICsgJ3B4Jyk7XHJcbi8vIGJvdHRvbTotM3B4O3dpZHRoOjdweDtoZWlnaHQ6N3B4O2JhY2tncm91bmQ6I2ZmZiB1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2JnX2JvcmRlci5wbmcpIG5vLXJlcGVhdCAxMDAlIDEwMCU7Zm9udC1zaXplOjB9XHJcbi8vIC5qb2luX3R4dHtwYWRkaW5nOjI1cHg7bGluZS1oZWlnaHQ6MjBweH1cclxuLy8gLmJveF90eXBlMntwb3NpdGlvbjpyZWxhdGl2ZTtsaW5lLWhlaWdodDoxNHB4O3BhZGRpbmc6MTBweDttYXJnaW46NnB4IDAgMTBweCAzNnB4O2JhY2tncm91bmQ6I2Y4ZjhmODtib3JkZXItcmFkaXVzOiA1cHg7Ym9yZGVyOjFweCBzb2xpZCAjZDdkN2Q3O2JveC1zaGFkb3c6IDNweCAzcHggNXB4ICNjY2N9XHJcbi8vIC5ib3hfdHlwZTIgLmxpc3RfdHlwZTF7bWFyZ2luOjB9XHJcbi8vIC5ib3hfdHlwZTN7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2JveF90eXBlM19jZW4uZ2lmKSByZXBlYXQteTt3aWR0aDo2OTJweDttYXJnaW4tYm90dG9tOjIwcHh9XHJcbi8vIC5ib3hfdHlwZTNfdG9we3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9ib3hfdHlwZTNfdG9wLmdpZikgbm8tcmVwZWF0IDAgMDtoZWlnaHQ6MTBweDtkaXNwbGF5OmJsb2NrO3BhZGRpbmctYm90dG9tOjIwcHh9XHJcbi8vIC5ib3hfdHlwZTNfYm90dG9te3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9ib3hfdHlwZTNfYm90dG9tLmdpZikgbm8tcmVwZWF0IDAgYm90dG9tO2hlaWdodDoxMHB4O2Rpc3BsYXk6YmxvY2s7cGFkZGluZy10b3A6MjBweH1cclxuLy8gLmJveF90eXBlMyAuaW5wdXRfdGV4dGFyZWF7d2lkdGg6MTAwJTtsaW5lLWhlaWdodDoyMHB4O2hlaWdodDo2MHB4fVxyXG4vKiAyMDEzLTA5LTIzICovXHJcblxyXG4vLyAuYm94X2xvbmdUeXBle3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9ib3hfbG9uZ1R5cGVfY2VuLmdpZikgcmVwZWF0LXk7d2lkdGg6OTkwcHg7bWFyZ2luLWJvdHRvbToyMHB4fVxyXG4vLyAuYm94X2xvbmdUeXBlX3RvcHtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYm94X2xvbmdUeXBlX3RvcC5naWYpIG5vLXJlcGVhdCAwIDA7aGVpZ2h0OjEwcHg7ZGlzcGxheTpibG9jaztwYWRkaW5nLWJvdHRvbToyMHB4fVxyXG4vLyAuYm94X2xvbmdUeXBlX2JvdHRvbXtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYm94X2xvbmdUeXBlX2JvdHRvbS5naWYpIG5vLXJlcGVhdCAwIGJvdHRvbTtoZWlnaHQ6MTBweDtkaXNwbGF5OmJsb2NrO3BhZGRpbmctdG9wOjIwcHh9XHJcbi8vIC5ib3hfaXBpbntwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYm94X3R5cGUzX2Nlbl9pcGluLmdpZikgcmVwZWF0LXk7d2lkdGg6NjkycHg7bWFyZ2luLWJvdHRvbToyMHB4fVxyXG4vLyAuYm94X2lwaW4gLmlwaW57cGFkZGluZzowIDUwcHg7b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZToxMXB4fVxyXG4vLyAuYm94X2lwaW4gLmlwaW4gLmZse3dpZHRoOjI2NHB4O3BhZGRpbmctcmlnaHQ6NDVweH1cclxuLy8gLmJveF9pcGluIC5pcGluIC5mcnt3aWR0aDoyNTBweDtwYWRkaW5nLWxlZnQ6MjBweH1cclxuLy8gLmJveF9pcGluIC5pcGluIGR0e2NvbG9yOiMwMDRlOWU7cGFkZGluZy1ib3R0b206MTBweDtmb250LXdlaWdodDpib2xkfVxyXG4vLyAuYm94X3NlYXJjaHtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYm94X3R5cGUzX2Nlbl9pcGluLmdpZikgcmVwZWF0LXk7d2lkdGg6NjkycHg7bWFyZ2luLWJvdHRvbToyMHB4fVxyXG4vLyAuYm94X3NlYXJjaCAuaWR7cGFkZGluZzowIDMwcHg7b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZToxMXB4fVxyXG4vLyAuYm94X3NlYXJjaCAuaWQgLmZse3dpZHRoOjI2NHB4O3BhZGRpbmctcmlnaHQ6NDVweH1cclxuLy8gLmJveF9zZWFyY2ggLmlkIC5mcnt3aWR0aDoyOTBweDtwYWRkaW5nLWxlZnQ6MjBweH1cclxuLy8gLmJveF9zZWFyY2ggLmlkIGR0e2JvcmRlci1ib3R0b206MXB4IGRhc2hlZCAjY2NjZWNmO3BhZGRpbmc6MCAxMHB4IDEwcHggMTBweH1cclxuLy8gLmJveF9zZWFyY2ggLmlkIGRke3BhZGRpbmc6MTBweH1cclxuLy8gLyogMjAxMy0wOS0yMyAqL1xyXG5cclxuLy8gLmJveF9zZWFyY2gye3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9ib3hfbG9uZ1R5cGVfY2VuX2lwaW4uZ2lmKSByZXBlYXQteTt3aWR0aDo5OTBweDttYXJnaW4tYm90dG9tOjIwcHg7b3ZlcmZsb3c6aGlkZGVufVxyXG4vLyAuYm94X3NlYXJjaDIgLmlkIC5mbCwgLmJveF9zZWFyY2gyIC5pZCAuZnJ7d2lkdGg6NDMwcHh9XHJcbi8vIC8qIDIwMTMtMTAtMTEgKi9cclxuXHJcbi8vIC5ib3hfWXR5cGVfdG9we2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9ib3hfWXR5cGVfdG9wLmdpZikgbGVmdCB0b3Agbm8tcmVwZWF0O3BhZGRpbmctdG9wOjEwcHh9XHJcbi8vIC5ib3hfWXR5cGVfY2Vue2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9ib3hfWXR5cGVfY2VuLmdpZikgbGVmdCB0b3AgcmVwZWF0LXk7bWFyZ2luOjEwcHggMH1cclxuLy8gLmJveF9ZdHlwZV9ib3R0b217YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2JveF9ZdHlwZV9ib3R0b20uZ2lmKSBsZWZ0IGJvdHRvbSBuby1yZXBlYXQ7aGVpZ2h0OjhweH1cclxuLy8gLmxhd3t3aWR0aDo2MzVweDtib3JkZXI6MnB4IHNvbGlkICNkOWQ5ZDk7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjIyNXB4O3BhZGRpbmc6NXB4O292ZXJmbG93OmF1dG87Zm9udC13ZWlnaHQ6bm9ybWFsO2xpbmUtaGVpZ2h0OjE5cHh9XHJcbi8vIC5kYXNoZWRfbGluZXtib3JkZXItYm90dG9tOjFweCBkYXNoZWQgI2MyYzJjMjtoZWlnaHQ6MXB4O2Rpc3BsYXk6YmxvY2t9XHJcbi8vIC5uZWMwNF9jYWxlbmRhciAudGFje2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbToyMHB4fVxyXG5cclxuLy8gLnN1Yl9zZWFyY2hfdGl0bGV7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q4ZDhlMDtsaW5lLWhlaWdodDozMHB4O292ZXJmbG93OmhpZGRlbjttYXJnaW4tYm90dG9tOjIwcHg7cGFkZGluZy1ib3R0b206MTBweH1cclxuLy8gLnN1Yl9zZWFyY2hfdGl0bGUgaDR7ZmxvYXQ6bGVmdDtwYWRkaW5nLXJpZ2h0OjEwcHh9XHJcbi8vIC5zdWJfc2VhcmNoX3RpdGxlIC5idG4gaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtwYWRkaW5nLWxlZnQ6M3B4fVxyXG4vLyAuaWZyYW1lX25lYzA0XzAzXzA1X2xlZnR7ZmxvYXQ6bGVmdDtwYWRkaW5nLXJpZ2h0OjIwcHg7cGFkZGluZy1ib3R0b206NTBweH1cclxuLy8gLm5lYzA0X2xuYntiYWNrZ3JvdW5kOiM0YjUzNmYgdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9iZ19uZWMwNF9sbmIuZ2lmKSAwIDAgbm8tcmVwZWF0O3dpZHRoOjI2M3B4O2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OjQ0cHg7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy10b3A6MTFweDtoZWlnaHQ6MTEwMHB4fVxyXG4vLyAubmVjMDRfbG5iIHVse3BhZGRpbmc6MTBweCAwIDAgMTBweH1cclxuLy8gLm5lYzA0X2xuYiB1bCBsaXt9XHJcbi8vIC5uZWMwNF9sbmIgdWwgbGkubmVjMDRfbG5iMDF7cG9zaXRpb246YWJzb2x1dGU7dG9wOjExcHg7bGVmdDoxMHB4fVxyXG4vLyAubmVjMDRfbG5iIHVsIGxpLm5lYzA0X2xuYjAye3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMXB4O2xlZnQ6ODRweH1cclxuLy8gLm5lYzA0X2xuYiB1bCBsaS5uZWMwNF9sbmIwMiB1bHttYXJnaW4tbGVmdDotNzJweH1cclxuLy8gLm5lYzA0X2xuYiB1bCBsaSB1bHtkaXNwbGF5Om5vbmU7bGluZS1oZWlnaHQ6MjRweH1cclxuLy8gLm5lYzA0X2xuYiB1bCBsaS5vbiB1bHtkaXNwbGF5OmJsb2NrO3dpZHRoOjI0MHB4fVxyXG4vLyAubmVjMDRfbG5iIHVsIGxpLm9uIHVsIGxpe3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctbGVmdDoxNnB4O3dpZHRoOjIyNHB4O2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9pY29fbG5iLmdpZikgbm8tcmVwZWF0IDAgNnB4fVxyXG4vLyAubmVjMDRfbG5iIHVsIGxpLm9uIHVsIGxpIGF7Y29sb3I6I2ZmZn1cclxuLy8gLm5lYzA0X2xuYiB1bCBsaS5vbiB1bCBsaSB1bHtkaXNwbGF5Om5vbmU7cGFkZGluZzowIDAgMTBweCAwO21hcmdpbjowO3dpZHRoOjIwMHB4O2xpbmUtaGVpZ2h0OjIwcHh9XHJcbi8vIC5uZWMwNF9sbmIgdWwgbGkub24gdWwgbGkgdWwgbGl7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2ljb19zbG5iLmdpZikgbm8tcmVwZWF0IDAgN3B4O3BhZGRpbmc6MCAwIDAgMTBweH1cclxuLy8gLm5lYzA0X2xuYiB1bCBsaS5vbiB1bCBsaS5vbiB1bHtkaXNwbGF5OmJsb2NrfVxyXG4vLyAubmVjMDRfY29udGVudHNfcntmbG9hdDpsZWZ0O3dpZHRoOjY5MHB4fVxyXG4vLyAubmVjMDRfY29udGVudHNfciAubGluZXtib3JkZXItdG9wOjFweCBzb2xpZCAjZDhkOGUwO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkOGQ4ZTA7cGFkZGluZzoxMHB4IDB9XHJcbi8vIC5uZWMwNF9jb250ZW50c19yIGxpe3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1ib3R0b206MXB4IGRhc2hlZCAjY2NjZWNmO3BhZGRpbmc6MTdweCAwIDE3cHggMTgwcHg7bWluLWhlaWdodDoxMDJweH1cclxuLy8gLm5lYzA0X2NvbnRlbnRzX3IgbGkgLmltZ3tib3JkZXI6MXB4IHNvbGlkICNkOGQ4ZTA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE3cHg7bGVmdDowfVxyXG4vLyAubmVjMDRfY29udGVudHNfciBsaSAuaW1nIGltZ3t3aWR0aDoxNjBweDtoZWlnaHQ6MTAwcHh9XHJcbi8vIC5uZWMwNF9jb250ZW50c19yIGxpIC50aXRsZXtmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6YmxvY2s7cGFkZGluZy1ib3R0b206MTBweH1cclxuLy8gLm5lYzA0X2NvbnRlbnRzX3IgbGkgLmluZm97bGluZS1oZWlnaHQ6MTZweDtkaXNwbGF5OmJsb2NrfVxyXG4vLyAvKiAyMDEzLTEwLTEwICovXHJcblxyXG4vLyAubmVjMDRfY29udGVudHNfcjJ7ZmxvYXQ6bGVmdDt3aWR0aDo2NzNweH1cclxuLy8gLm5lYzA0X2NvbnRlbnRzX3IyIGRse3BhZGRpbmctbGVmdDowIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50fVxyXG4vLyAubmVjMDRfY29udGVudHNfcjIgZGwubGFzdHtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6YmxhY2t9XHJcbi8vIC5uZWMwNF9jb250ZW50c19yMiBkbCAucW57cGFkZGluZzowIDAgMCAxMHB4O2Zsb2F0OmxlZnQ7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbW1vbi9saW5lX2dsb2JhbC5naWYpIGxlZnQgNHB4IG5vLXJlcGVhdDttYXJnaW46NXB4IDAgMTBweCAxMHB4O2ZvbnQtc2l6ZToxMXB4O3dpZHRoOjEwMCV9XHJcbi8vIC5uZWMwNF9jb250ZW50c19yMiBoMXt0ZXh0LWFsaWduOmNlbnRlcn1cclxuLy8gLm5lYzA0X2NvbnRlbnRzX3IyIC50eXBlMXttYXJnaW4tbGVmdDoyMHB4fVxyXG4vLyAubmVjMDRfY29udGVudHNfcjIgLnR5cGUxIGRpdiwgIC5uZWMwNF9jb250ZW50c19yMiAudHlwZTEgLnRleHQgLnN0ZXAyLCAgLm5lYzA0X2NvbnRlbnRzX3IyIC50ZXh0IHRhYmxlLnRlbXAsICAubmVjMDRfY29udGVudHNfcjIgLnR5cGUxIHRhYmxlIHRhYmxlLCAgLm5lYzA0X2NvbnRlbnRzX3IyIC5zdGVwMiAudGV4dHttYXJnaW4tbGVmdDowO3dpZHRoOmF1dG8gIWltcG9ydGFudH1cclxuLy8gLm5lYzA0X2NvbnRlbnRzX3IyIC50eXBlMnttYXJnaW4tdG9wOjEwcHh9XHJcbi8vIC5uZWMwNF9jb250ZW50c19yMiAuc3RlcDEsICAubmVjMDRfY29udGVudHNfcjIgLnN0ZXAye21hcmdpbjoxMHB4IDAgNXB4IDE1cHh9XHJcbi8vIC5uZWMwNF9jb250ZW50c19yMiAuc3RlcDEgbGksICAubmVjMDRfY29udGVudHNfcjIgLnN0ZXAyIGxpe2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9idV9saXN0X3R5cGUxLmdpZikgbm8tcmVwZWF0IDAgN3B4O3BhZGRpbmctbGVmdDoxMHB4O2xpbmUtaGVpZ2h0OjIycHh9XHJcbi8vIC5uZWMwNF9jb250ZW50c19yMiAuc3RlcDEgdWwsICAubmVjMDRfY29udGVudHNfcjIgLnN0ZXAyIHVse3BhZGRpbmctYm90dG9tOjEwcHh9XHJcbi8vIC5uZWMwNF9jb250ZW50c19yMiAuc3RlcDEgbGkgbGksICAubmVjMDRfY29udGVudHNfcjIgLnN0ZXAyIGxpIGxpe2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9idV9saXN0X3R5cGUyLmdpZikgbm8tcmVwZWF0IDAgOXB4O3BhZGRpbmctbGVmdDoxMHB4O2xpbmUtaGVpZ2h0OjIycHh9XHJcbi8vIC5uZWMwNF9jb250ZW50c19yMiAuc3RlcDEgbGkgbGkgbGksICAubmVjMDRfY29udGVudHNfcjIgLnN0ZXAyIGxpIGxpIGxpe2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9idV9saXN0X3R5cGUzLmdpZikgbm8tcmVwZWF0IDAgOXB4O3BhZGRpbmctbGVmdDoxMHB4O2xpbmUtaGVpZ2h0OjIwcHh9XHJcbi8vIC5ib2FyZF9zZWFyY2gyIC5tb3JlIC50ZXh0LCAgLm5lYzA0X2NvbnRlbnRzX3IyIC5zdGVwMSAubW9yZSAudGV4dCwgIC5uZWMwNF9jb250ZW50c19yMiAudHlwZTEgLm1vcmUgLnRleHR7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOTtib3JkZXItcmFkaXVzOjNweDttYXJnaW4tdG9wOjEwcHg7cGFkZGluZzoxMHB4fVxyXG4vLyAubmVjMDRfY29udGVudHNfcjIgLnF1aWNrbGlua3tiYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjc7cGFkZGluZzoyMHB4O2JvcmRlcjoxcHggc29saWQgI2U0ZTRlNDtib3JkZXItcmFkaXVzOjNweH1cclxuLy8gLm5lYzA0X2NvbnRlbnRzX3IyIC5xdWlja2xpbmsgdWx7cGFkZGluZy10b3A6MTBweH1cclxuLy8gLm5lYzA0X2NvbnRlbnRzX3IyIHRhYmxlLCAgLm5lYzA0X2NvbnRlbnRzX3IyIHRhYmxlIHRoLCAgLm5lYzA0X2NvbnRlbnRzX3IyIHRhYmxlIHRkLCAgLm5lYzA0X2NvbnRlbnRzX3IyIHRhYmxlIHRhYmxlLCAgLm5lYzA0X2NvbnRlbnRzX3IyIHRhYmxlIHRhYmxlIHRoLCAgLm5lYzA0X2NvbnRlbnRzX3IyIHRhYmxlIHRhYmxlIHRkLCAgLm5lYzA0X2NvbnRlbnRzX3IyIHRhYmxlLnRlbXAsICAubmVjMDRfY29udGVudHNfcjIgdGFibGUudGVtcCB0aCwgIC5uZWMwNF9jb250ZW50c19yMiB0YWJsZS50ZW1wIHRkLCAgLm5lYzA0X2NvbnRlbnRzX3IyIHRhYmxlLmRlZmF1bCB0ZCAudGVtcCB0aCwgIC5uZWMwNF9jb250ZW50c19yMiB0YWJsZS5kZWZhdWwgdGQgLnRlbXAgdGR7Ym9yZGVyOm5vbmU7d2lkdGg6YXV0byAhaW1wb3J0YW50fVxyXG4vLyAubmVjMDRfY29udGVudHNfcjIgdGFibGUudGVtcCAuZGVmYXVsLCAgLm5lYzA0X2NvbnRlbnRzX3IyIHRhYmxlLmRlZmF1bHt3aWR0aDoxMDAlIWltcG9ydGFudDtib3JkZXI6MXB4IHNvbGlkICNlNGU0ZTR9XHJcbi8vIC5uZWMwNF9jb250ZW50c19yMiB0YWJsZS50ZW1wIC5kZWZhdWwgdGgsICAubmVjMDRfY29udGVudHNfcjIgdGFibGUuZGVmYXVsIHRoe2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNGU0ZTQ7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZTRlNGU0O2NvbG9yOiMyZDM3NDA7YmFja2dyb3VuZC1jb2xvcjojZWZlZmVmO3RleHQtYWxpZ246Y2VudGVyfVxyXG4vLyAubmVjMDRfY29udGVudHNfcjIgdGFibGUudGVtcCAuZGVmYXVsIHRkLCAgLm5lYzA0X2NvbnRlbnRzX3IyIHRhYmxlLmRlZmF1bCB0ZHtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTRlNGU0O2JvcmRlci1yaWdodDoxcHggc29saWQgI2U0ZTRlNH1cclxuLy8gLm5lYzA0X2NvbnRlbnRzX3IyIC5kZWZhdWwgdGR7YmFja2dyb3VuZC1jb2xvcjojZmZmfVxyXG4vLyAubmVjMDRfY29udGVudHNfcjIgLnR5cGUxIC5tb3JlIC50ZXh0IHRhYmxlIHRkIGRpdiBpbWd7bWF4LXdpZHRoOjEwMCV9XHJcbi8vIC5uZWMwNl8wMl8wMV8wMXtvdmVyZmxvdzpoaWRkZW59XHJcbi8vIC5uZWMwNl8wMl8wMV8wMSBwe2Zsb2F0OmxlZnQ7cGFkZGluZzowIDAgMCAxOHB4fVxyXG4vLyAubmVjMDZfMDJfMDFfMDEgdWx7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi1sZWZ0OjIwMHB4fVxyXG4vLyAubmVjMDZfMDJfMDFfMDEgdWwgbGl7bGluZS1oZWlnaHQ6MjJweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWFlYWVjO3BhZGRpbmc6NHB4IDAgNHB4IDEwcHh9XHJcbi8vIC5uZWMwNl8wMl8wMV8wMSB1bCAueWVhcntkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXdlaWdodDpib2xkO2NvbG9yOiMyZDM3NDA7d2lkdGg6MTEwcHh9XHJcbi8vIC5uZWMwNl8wMl8wMV8wMl9saXN0e292ZXJmbG93OmhpZGRlbn1cclxuLy8gLm5lYzA2XzAyXzAxXzAyX2xpc3QgbGl7ZmxvYXQ6bGVmdDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoyMTZweDttYXJnaW46MCAyMHB4IDAgMDtwYWRkaW5nOjE0cHggMCAyNHB4IDExMHB4O2JvcmRlci1ib3R0b206MXB4IGRhc2hlZCAjY2NjZWNmfVxyXG4vLyAubmVjMDZfMDJfMDFfMDJfbGlzdCBsaSAuaW1ne2JvcmRlcjoxcHggc29saWQgI2Q4ZDhlMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTRweDtsZWZ0OjB9XHJcbi8vIC5uZWMwNl8wMl8wMV8wMl9saXN0IGxpIC5pbWcgaW1ne3dpZHRoOjkzcHg7aGVpZ2h0OjEwOHB4fVxyXG4vLyAubmVjMDZfMDJfMDFfMDJfbGlzdCBsaSAudGl0bGV7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTRweDtkaXNwbGF5OmJsb2NrO3BhZGRpbmctYm90dG9tOjEwcHh9XHJcbi8vIC5uZWMwNl8wMl8wMV8wMl9saXN0IGxpIC5pbmZve2xpbmUtaGVpZ2h0OjE2cHg7ZGlzcGxheTpibG9ja31cclxuLy8gLm5lYzA2XzAyXzAxXzAyX2xpc3QgbGkgLmluZm8gLmxpc3RfdHlwZTF7bWFyZ2luOjB9XHJcbi8vIC5uZWMwNl8wMl8wMV8wMl9saXN0IGxpIC5pbmZvIGxpe2Zsb2F0Om5vbmU7d2lkdGg6YXV0bztwYWRkaW5nOjAgMCAwIDEwcHg7bWFyZ2luOjA7Ym9yZGVyOm5vbmV9XHJcbi8vIC50YWJsZV9pbmZve2JvcmRlci10b3A6MnB4IHNvbGlkICMyZDM3NDA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U0ZTRlNDttYXJnaW4tYm90dG9tOjIwcHh9XHJcbi8vIC50YWJsZV9pbmZvIHRhYmxle3dpZHRoOjEwMCV9XHJcbi8vIC50YWJsZV9pbmZvIHRhYmxlIHRoLCAgLnRhYmxlX2luZm8gdGFibGUgdGR7cGFkZGluZzo4cHggMTBweH1cclxuLy8gLnRhYmxlX2luZm8gdGFibGUgLmJye2JvcmRlci1yaWdodDoxcHggc29saWQgI2U0ZTRlNDt9XHJcbi8vIC50YWJsZV9pbmZvIHRhYmxlIC50aXRsZXtmb250LXNpemU6MTRweDt0ZXh0LWFsaWduOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7Ym9yZGVyLXJpZ2h0Om5vbmU7YmFja2dyb3VuZC1jb2xvcjojZWZlZmVmfVxyXG4vLyAudGFibGVfaW5mbyB0YWJsZSB0aHtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTRlNGU0O2JvcmRlci1yaWdodDoxcHggc29saWQgI2U0ZTRlNDtjb2xvcjojMmQzNzQwO2JhY2tncm91bmQtY29sb3I6I2Y3ZjdmN31cclxuLy8gLnRhYmxlX2luZm8gdGFibGUgdGR7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U0ZTRlNDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9XHJcbi8vIC50YWJsZV9pbmZvIHRhYmxlIC5pbWd7Ym9yZGVyOjFweCBzb2xpZCAjZDhkOGUwfVxyXG4vLyAubmVjMDZfMDNfMDF7cG9zaXRpb246cmVsYXRpdmV9XHJcbi8vIC5uZWMwNl8wM18wMSBwe3otaW5kZXg6MH1cclxuLy8gLm5lYzA2XzAzXzAxIGF7ei1pbmRleDoxMDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjExcHh9XHJcbi8vIC5uZWMwNl8wM18wMSBhLm5lYzA2XzAzXzAxXzAxe3RvcDoyMHB4fVxyXG4vLyAubmVjMDZfMDNfMDEgYS5uZWMwNl8wM18wMV8wMnt0b3A6OTVweH1cclxuLy8gLm5lYzA2XzAzXzAxIGEubmVjMDZfMDNfMDFfMDN7dG9wOjE2MXB4fVxyXG4vLyAubmVjMDZfMDNfMDEgYS5uZWMwNl8wM18wMV8wNHt0b3A6MjQ2cHh9XHJcbi8vIC5jb21tZW50c3ttYXJnaW46MzBweCAwIDEwcHggMH1cclxuLy8gLmNvbnRlbnRzIC5jb21tZW50cyBoNHtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYnVfY29tbWVudF90aXQuZ2lmKSBuby1yZXBlYXQgMCA2cHg7Zm9udC1zaXplOjEycHg7cGFkZGluZzowIDZweCAxMHB4IDEwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bGVmdH1cclxuLy8gLmNvbW1lbnRzIC5jb21tZW50c19saXN0e2JvcmRlci10b3A6MnB4IHNvbGlkICM5MDkwOTA7Ym9yZGVyLWJvdHRvbToycHggc29saWQgIzkwOTA5MDtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmF9XHJcbi8vIC5jb21tZW50cyAuY29tbWVudHNfbGlzdCBsaXtib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgIzkwOTA5MDtwYWRkaW5nOjE1cHggMH1cclxuLy8gLmNvbW1lbnRzIC5jb21tZW50c19saXN0IC5mbHtwYWRkaW5nLWxlZnQ6MjBweH1cclxuLy8gLmNvbW1lbnRzIC5jb21tZW50c19saXN0IC5mcntwYWRkaW5nLXJpZ2h0OjIwcHh9XHJcbi8vIC5jb21tZW50cyAuY29tbWVudHNfbGlzdCAubmFtZXtmb250LXdlaWdodDpib2xkO2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb21tb24vbGluZV9nbG9iYWwuZ2lmKSBuby1yZXBlYXQgcmlnaHQgNXB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctcmlnaHQ6MTBweH1cclxuLy8gLmNvbW1lbnRzIC5jb21tZW50c19saXN0IC5kYXRle3BhZGRpbmctbGVmdDo2cHh9XHJcbi8vIC5jb21tZW50cyAuY29tbWVudHNfbGlzdCAuY29tbWVudF9hcmVhe2NsZWFyOmJvdGg7cGFkZGluZzoxMHB4IDIwcHggMCAyMHB4fVxyXG4vLyAuY29tbWVudHMgLmNvbW1lbnRzX3dyaXRle3BhZGRpbmc6MCAyMHB4fVxyXG4vLyAuY29tbWVudHMgLmlucHV0X3RleHRhcmVhe3dpZHRoOjU4MHB4O2hlaWdodDo1NHB4O2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OjEwcHh9XHJcbi8vIC5jb21tZW50cyAuaW5wdXRfdGV4dGFyZWF7d2lkdGg6NTgwcHg7aGVpZ2h0OjU0cHg7ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6MTBweH1cclxuLy8gLmNvbW1lbnRzIC5udW17dGV4dC1hbGlnbjpyaWdodDtwYWRkaW5nOjZweCA3MHB4IDZweCAwO2ZvbnQtZmFtaWx5OlRhaG9tYSwgU2Fucy1zZXJpZn1cclxuLy8gLmNvbW1lbnRzX3BhZ2luZ3twYWRkaW5nOjE1cHggMDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDpub3JtYWx9XHJcbi8vIC5jb21tZW50c19wYWdpbmcgKntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MCAtMnB4O3BhZGRpbmc6MnB4IDRweDtmb250LXNpemU6MTFweDtmb250LWZhbWlseTpUYWhvbWEsIFNhbnMtc2VyaWY7Y29sb3I6IzMzMztsaW5lLWhlaWdodDpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfVxyXG4vLyAuY29tbWVudHNfcGFnaW5nIGE6aG92ZXIsICAuY29tbWVudHNfcGFnaW5nIGE6YWN0aXZlLCAgLmNvbW1lbnRzX3BhZ2luZyBhOmZvY3Vze2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmOH1cclxuLy8gLmNvbW1lbnRzX3BhZ2luZyBzdHJvbmd7Y29sb3I6I2ZmNjYwMH1cclxuLy8gLmNvbW1lbnRzX3BhZ2luZyAuZGlyZWN0aW9ue3BhZGRpbmc6MH1cclxuLy8gLmNvbW1lbnRzX3BhZ2luZyAuZGlyZWN0aW9uOmhvdmVyLCAgLmNvbW1lbnRzX3BhZ2luZyAuZGlyZWN0aW9uOmFjdGl2ZSwgIC5jb21tZW50c19wYWdpbmcgLmRpcmVjdGlvbjpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Y29sb3I6IzMzM31cclxuLy8gLmNvbW1lbnRzX3BhZ2luZyAuZGlyZWN0aW9uIHNwYW57b3ZlcmZsb3c6aGlkZGVuO3Zpc2liaWxpdHk6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDtmb250LXNpemU6MDtsaW5lLWhlaWdodDowfVxyXG4vLyAud29yZHN7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4IDAgMTBweCAyMHB4O2ZvbnQtc2l6ZToxMXB4fVxyXG4vLyAud29yZHMgZHR7d2lkdGg6NzBweDtmbG9hdDpsZWZ0O2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6Ym9sZH1cclxuLy8gLndvcmRzIGRke2Zsb2F0OmxlZnQ7d2lkdGg6NTQwcHg7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxOHB4fVxyXG4vLyAud29yZHMgZGQgbGl7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2J1X3dvcmRzLmdpZikgbm8tcmVwZWF0IDAgNnB4O3BhZGRpbmc6MCAwIDAgMTBweH1cclxuLy8gLm5lYzA3XzAzXzAye292ZXJmbG93OmhpZGRlbn1cclxuLy8gLm5lYzA3XzAzXzAyIGRse2JvcmRlcjoxcHggc29saWQgI2U2ZTZlNjtwYWRkaW5nOjIwcHg7b3ZlcmZsb3c6aGlkZGVufVxyXG4vLyAubmVjMDdfMDNfMDIgZGwuYmcxe2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOX1cclxuLy8gLm5lYzA3XzAzXzAyIGR0e2Zsb2F0OmxlZnQ7d2lkdGg6MTMwcHg7cGFkZGluZy1yaWdodDoxMHB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6I2E0NWUyOTtmb250LXNpemU6MTRweH1cclxuLy8gLm5lYzA3XzAzXzAyIGRke2Zsb2F0OnJpZ2h0O3dpZHRoOjUxMHB4fVxyXG4vLyAuYWdyZWVtZW50e2NsZWFyOmJvdGg7b3ZlcmZsb3cteTpzY3JvbGw7aGVpZ2h0OjIwNXB4O21hcmdpbjoxMHB4IDAgMDtwYWRkaW5nOjAgMjBweCAyMHB4O2JvcmRlcjoxcHggc29saWQgI2U2ZTZlNn1cclxuLy8gLmFncmVlbWVudCBoNHtoZWlnaHQ6MThweDtjb2xvcjojODg4ODg4O21hcmdpbjowO3BhZGRpbmc6MjBweCAwIDA7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTJweDtiYWNrZ3JvdW5kOm5vbmV9XHJcbi8vIC5hZ3JlZW1lbnQgcHtsaW5lLWhlaWdodDoxLjV9XHJcbi8vIC5hZ3JlZW1lbnQgb2x7fVxyXG4vLyAuYWdyZWVtZW50IGxpe2xpbmUtaGVpZ2h0OjEuNX1cclxuLy8gLnR4dF9hcmVhe2ZvbnQtc2l6ZToxMnB4O2JvcmRlcjoxcHggc29saWQgI2U1ZTVlNTt3aWR0aDo2MTRweDtwYWRkaW5nOjEwcHg7bGluZS1oZWlnaHQ6MThweH1cclxuLy8gLnR4dF9hcmVhMnt3aWR0aDo5MjlweH1cclxuLy8gb2wubmVjMDhfMDJ7bWFyZ2luLWJvdHRvbToyMHB4fVxyXG4vLyBvbC5uZWMwOF8wMiBsaXt0ZXh0LWluZGVudDotMTJweDttYXJnaW46MCAwIDEwcHggMTJweH1cclxuLy8gb2wubmVjMDhfMDIgbGkgb2wgbGl7bWFyZ2luLWJvdHRvbToycHh9XHJcbi8vIC5uZWMwOF8wNXtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYmdfbmVjMDhfMDVfMDEuZ2lmKSBuby1yZXBlYXQgMCAwO3BhZGRpbmc6MjBweCAwIDAgMTIwcHg7aGVpZ2h0OjEwMHB4fVxyXG4vLyAubmVjMDhfMDhfMDF7b3ZlcmZsb3c6aGlkZGVufVxyXG4vLyAubmVjMDhfMDhfMDEgbGl7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2JnX25lYzA4XzA4XzAxLmdpZikgbm8tcmVwZWF0IDAgMDt3aWR0aDozMTdweDtoZWlnaHQ6MTYycHg7cGFkZGluZzowIDI0cHggMTBweCAwO2Zsb2F0OmxlZnR9XHJcbi8vIC5uZWMwOF8wOF8wMSBsaSBhe2Rpc3BsYXk6YmxvY2s7d2lkdGg6MjcycHg7aGVpZ2h0OjExMnB4O3BhZGRpbmc6MjVweCAyNXB4IDI1cHggMjBweDt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LXdlaWdodDpib2xkfVxyXG4vLyAubmVjMDhfMDhfMDEgbGkgYSAudGl0e2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6YmxvY2s7cGFkZGluZy1ib3R0b206MTZweDtjbGVhcjpib3RofVxyXG4vLyAubmVjMDhfMDhfMDEgbGkuYmcxe2JhY2tncm91bmQtcG9zaXRpb246MCAwfVxyXG4vLyAubmVjMDhfMDhfMDEgbGkuYmcye2JhY2tncm91bmQtcG9zaXRpb246LTM1MnB4IDB9XHJcbi8vIC5uZWMwOF8wOF8wMSBsaS5iZzN7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNzJweH1cclxuLy8gLm5lYzA4XzA4XzAxIGxpLmJnNHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zNTJweCAtMTcycHh9XHJcbi8vIC5uZWMwOF8wOF8wMSBsaS5iZzV7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0zNDRweH1cclxuLy8gLm5lYzA4XzA4XzAxIGxpLmJnNntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTM0NHB4fVxyXG4vLyAuYmdfbmVjMDhfMDl7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2JnX25lYzA4XzA5LmdpZikgbm8tcmVwZWF0IDg0OHB4IGNlbnRlcn1cclxuLy8gLm5lYzA4XzA5IGxpe3BhZGRpbmc6MTZweCAwIDE2cHggMTAwcHg7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkICNjY2NlY2Y7aGVpZ2h0OjcycHh9XHJcbi8vIC5uZWMwOF8wOSBsaSAudGl0bGV7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2J1X2xpc3RfdHlwZTEuZ2lmKSBuby1yZXBlYXQgMCA1cHg7cGFkZGluZy1sZWZ0OjEwcHg7Zm9udC13ZWlnaHQ6Ym9sZDtkaXNwbGF5OmJsb2NrfVxyXG4vLyAubmVjMDhfMDkgbGkgLmltZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTZweDtsZWZ0OjB9XHJcbi8vIC5uZWMwOF8wOSBsaSAudHh0e2Rpc3BsYXk6YmxvY2s7cGFkZGluZzoxMHB4IDAgMCAxMHB4fVxyXG4vLyAuaWRfY29uZmlybXtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzozMHB4IDB9XHJcbi8vIC5qb2luX3N0ZXB7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctbGVmdDoxOHB4O3BhZGRpbmctYm90dG9tOjIwcHh9XHJcbi8vIC5qb2luX3N0ZXAgbGl7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2Fycm93X3JpZ2h0LmdpZikgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtwYWRkaW5nOjAgMzBweCAwIDZweDtmbG9hdDpsZWZ0fVxyXG4vLyAuam9pbl90eXBle292ZXJmbG93OmhpZGRlbjtjbGVhcjpib3RofVxyXG4vLyAuam9pbl90eXBlIHVse31cclxuLy8gLmpvaW5fdHlwZSBsaXtmbG9hdDpsZWZ0fVxyXG4vLyAuc2VhcmNoVGFwe3Bvc2l0aW9uOmFic29sdXRlO3RvcDozM3B4O2xlZnQ6MDtiYWNrZ3JvdW5kOndoaXRlIHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29tbW9uL2JneF9zZWFyY2hUYWIuZ2lmKSAwIDAgcmVwZWF0LXg7ei1pbmRleDoxMDAxO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMjVweH1cclxuLy8gLnNlYXJjaFRhcF9jb257d2lkdGg6NDU3cHg7bWFyZ2luOjIwMHB4IGF1dG87cG9zaXRpb246cmVsYXRpdmV9XHJcbi8vIC50X3NoMnt3aWR0aDo0NTRweDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29tbW9uL2JnX3NlYXJjaDIuZ2lmKSBuby1yZXBlYXQgMCAwO3BhZGRpbmc6NHB4IDAgMCA0cHg7aGVpZ2h0OjY0cHh9XHJcbi8vIC50X3NoMiAuaW5wdXRfdHh0e3dpZHRoOjM2NXB4O2hlaWdodDozM3B4O2xpbmUtaGVpZ2h0OjMzcHg7ZmxvYXQ6bGVmdH1cclxuLy8gLnRfc2gyIC5zaF9zdWJtaXR7d2lkdGg6ODFweDtoZWlnaHQ6MzVweH1cclxuLy8gLnRfc2gyIC5pbnB1dF9zdWJtaXR7d2lkdGg6ODFweDtoZWlnaHQ6MzZweDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29tbW9uL2J0bi9idG5fc2VhcmNoLmdpZikgbm8tcmVwZWF0IDAgMDtjdXJzb3I6cG9pbnRlcn1cclxuLy8gLnRfc2gyIGRse2Zsb2F0OnJpZ2h0fVxyXG4vLyAudF9zaDIgZGwgZGQgYXtmb250LXdlaWdodDpib2xkO3RleHQtZGVjb3JhdGlvbjpub25lfVxyXG4vLyAuYWR2aWNle2Zsb2F0OmxlZnQ7bWFyZ2luOjUwcHggMCAwIDVweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotNjVweH1cclxuLy8gLnBvcHVwX25ld3N7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE2M3B4O2xlZnQ6MTIwcHg7d2lkdGg6NDQ0cHg7aGVpZ2h0OjM2MHB4O2JvcmRlcjo3cHggc29saWQgI2Q4ZDhlMDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ei1pbmRleDoxMH1cclxuLy8gLnBvcHVwX25ld3MgLnRhYl9wb3B1cHtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2JnX3RhYl9wb3B1cC5naWYpIHJlcGVhdC14O21hcmdpbi1ib3R0b206MjBweH1cclxuLy8gLnBvcHVwX25ld3MgLnRhYl9wb3B1cCBsaXtmbG9hdDpsZWZ0fVxyXG4vLyAucG9wdXBfbmV3cyAudGFiX3BvcHVwIGxpIGF7cGFkZGluZzo2cHggMjBweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlci1yaWdodDoxcHggc29saWQgI2RjZGNkYztib3JkZXItYm90dG9tOm5vbmU7ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9XHJcbi8vIC5wb3B1cF9uZXdzIC50YWJfcG9wdXAgbGkub24gYXtwYWRkaW5nOjZweCAyMHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICNiMWIzYjc7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNiMWIzYjc7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjYjFiM2I3O2JvcmRlci1ib3R0b206MXB4IHNvbGlkI2ZmZjtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6I2ZmZjtmb250LXdlaWdodDpib2xkfVxyXG4vLyAucG9wdXBfbmV3cyAucmVse3BhZGRpbmc6MTBweH1cclxuLy8gLnBvcHVwX25ld3MgLmNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjB9XHJcbi8vIGRpdi5ibGtfbGluZXtib3JkZXItdG9wOjJweCBzb2xpZCAjMDAwO3BhZGRpbmc6MTdweCAwIDhweH1cclxuLy8gLmNvbnRlbnRzIGg1LmJ1X2g1X3JlZHtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYnVfaDVfcmVkLmdpZikgMCA1cHggbm8tcmVwZWF0fVxyXG4vLyAuaG9tZUd1aWRle2JhY2tncm91bmQ6bm9uZSAhaW1wb3J0YW50fVxyXG4vLyAuaG9tZUd1aWRlIC5zdWJfbGVmdHt3aWR0aDoxMDAlfVxyXG4vLyAuYWxsTWVudV9saW5le3BhZGRpbmctdG9wOjI2cHg7Ym9yZGVyLXRvcDoycHggc29saWQgYmxhY2s7bWFyZ2luLXRvcDozMHB4fVxyXG4vLyAuZ25iX2FsbE1lbnV7bWFyZ2luLXRvcDowO3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xlYXI6Ym90aDtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvZ25iL2JnX2duYl9hbGwuZ2lmKSAwIDI2cHggcmVwZWF0LXl9XHJcbi8vIC5nbmJfYWxsTWVudSBkbHtmbG9hdDpsZWZ0O3BhZGRpbmc6MCAxMHB4IDAgMjBweDt3aWR0aDoxMzBweH1cclxuLy8gLmduYl9hbGxNZW51IGRsIGR0e3BhZGRpbmctYm90dG9tOjIwcHh9XHJcbi8vIC5nbmJfYWxsTWVudSBkbCBkZCBsaXtiYWNrZ3JvdW5kOnVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvZ25iL2J1XzAxLmdpZikgbm8tcmVwZWF0IDAgNnB4O3BhZGRpbmc6MCAwIDEwcHggMTBweH1cclxuLy8gLmduYl9hbGxNZW51IGRsIGRkIGxpIGF7Y29sb3I6IzJkMzc0MDtmb250LXdlaWdodDpib2xkfVxyXG4vLyAuZ25iX2FsbE1lbnUgZGwgZGQgbGkgdWwgbGl7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2duYi9idV8wMi5naWYpIG5vLXJlcGVhdCAwIDZweDtwYWRkaW5nOjAgMCAwIDEwcHh9XHJcbi8vIC5nbmJfYWxsTWVudSBkbCBkZCBsaSB1bCBsaSBhe2NvbG9yOiM1NDYyNmU7Zm9udC13ZWlnaHQ6bm9ybWFsfVxyXG4vLyAjZ2FsbGVyeV9kYXRhe31cclxuLy8gLmduYl9hbGxNZW51MnttYXJnaW4tdG9wOjZweDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO2NsZWFyOmJvdGg7YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2duYl9hbGxNZW51Ml9iZ3kuZ2lmKSAwIDAgcmVwZWF0LXl9XHJcbi8vIC5nbmJfYWxsTWVudTIgZGx7ZmxvYXQ6bGVmdDtwYWRkaW5nOjAgMTNweDt3aWR0aDoxMzVweH1cclxuLy8gLmduYl9hbGxNZW51MiAucHJue3BhZGRpbmctcmlnaHQ6MH1cclxuLy8gLmduYl9hbGxNZW51MiBkbCBkdHtwYWRkaW5nLWJvdHRvbToyMHB4fVxyXG4vLyAuZ25iX2FsbE1lbnUyIGRsIGRkIGxpe2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9nbmIvYnVfMDEuZ2lmKSBuby1yZXBlYXQgMCA2cHg7cGFkZGluZzowIDAgMTBweCAxMHB4fVxyXG4vLyAuZ25iX2FsbE1lbnUyIGRsIGRkIGxpIGF7Y29sb3I6IzJkMzc0MDtmb250LXdlaWdodDpib2xkfVxyXG4vLyAuZ25iX2FsbE1lbnUyIGRsIGRkIGxpIHVsIGxpe2JhY2tncm91bmQ6dXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9nbmIvYnVfMDIuZ2lmKSBuby1yZXBlYXQgMCA2cHg7cGFkZGluZzowIDAgMCAxMHB4fVxyXG4vLyAuZ25iX2FsbE1lbnUyIGRsIGRkIGxpIHVsIGxpIGF7Y29sb3I6IzU0NjI2ZTtmb250LXdlaWdodDpub3JtYWx9XHJcbi8vIGRpdi5ibGtfbGluZTJ7bWFyZ2luOjIwcHggMDtib3JkZXItdG9wOjFweCBzb2xpZCAjZDhkOGUwfVxyXG4vLyBkaXYuYmxrX2xpbmUyIGR0e31cclxuLy8gZGl2LmJsa19saW5lMiBkbHt9XHJcbi8vIC5yZXF1aXNpdGlvbl9lZHV7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbTozMHB4fVxyXG4vLyAucmVxdWlzaXRpb25fZWR1IHB7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206NXB4O3dpZHRoOjE4NXB4fVxyXG4vLyAudzg4NiBkZHt3aWR0aDo4ODZweCAhaW1wb3J0YW50fVxyXG4vLyAuZWxlY3Rpb25fdGFibGV7bWFyZ2luOjAgMCAyMHB4IDIwcHh9XHJcbi8vIC5lbGVjdGlvbl90YWJsZSBzcGFue2Zsb2F0OmxlZnQ7Zm9udC1zaXplOjAuOTVlbX1cclxuLy8gLmVsZWN0aW9uX3RhYmxlIC5idG5fd2hpdGUgYSwgLmVsZWN0aW9uX3RhYmxlIHNwYW4uYnRuX3doaXRle3dpZHRoOmF1dG8gIWltcG9ydGFudH1cclxuLy8gLmVsZWN0aW9uX2luZm97YmFja2dyb3VuZDp1cmwoL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2NvbnRlbnRzL2JnX2VsZWN0aW9uLmdpZikgMjBweCAwIG5vLXJlcGVhdDtwYWRkaW5nOjEwcHggMjBweCAyMHB4IDEyMHB4fVxyXG5cclxuLy8gIC8qIDIwMTQtMDItMDcg7Zic66Co7LaU6rCAICovXHJcbi8vIC5kYXNoZWRfYm94IHsgYm9yZGVyLXRvcDoxcHggZGFzaGVkICNiN2I3Yjc7IGJvcmRlci1ib3R0b206MXB4IGRhc2hlZCAjYjdiN2I3OyBiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjg7IHBhZGRpbmc6MjBweCAyMHB4IDIwcHggMTBweDt9XHJcblxyXG4vLyAuY2FuZGlkYXRlX3ZpZXcge2JvcmRlci10b3A6MnB4IHNvbGlkICMwMDA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzAwMDtvdmVyZmxvdzpoaWRkZW47Y2xlYXI6Ym90aDttYXJnaW4tYm90dG9tOjIwcHg7cG9zaXRpb246cmVsYXRpdmU7fVxyXG4vLyAuY2FuZGlkYXRlX3ZpZXcgZGx7O3BhZGRpbmc6MTBweCAxMHB4IDEwcHggMTMwcHh9XHJcbi8vIC5jYW5kaWRhdGVfdmlldyBkdHtmb250LXNpemU6MTZweDtmb250LXdlaWdodDpib2xkfVxyXG4vLyAuY2FuZGlkYXRlX3ZpZXcgZHQgc3Bhbntmb250LXNpemU6MjBweH1cclxuLy8gLmNhbmRpZGF0ZV92aWV3IGRkIHNwYW57fVxyXG4vLyAuY2FuZGlkYXRlX3ZpZXcgZGQgLmxpc3RfdHlwZTIgLmZsIHsgd2lkdGg6IDI2NXB4O31cclxuLy8gLmNhbmRpZGF0ZV92aWV3IGRkIC5saXN0X3R5cGUyIC5jbGVhciB7IHRleHQtaW5kZW50Oi02OHB4OyBwYWRkaW5nLWxlZnQ6NzhweH1cclxuLy8gLmNhbmRpZGF0ZV92aWV3IC5waWN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4fVxyXG4vLyAuY2FuZGlkYXRlX3ZpZXcgLnBpYyBpbWd7Ym9yZGVyOjFweCBzb2xpZCAjZDhkOGUwO3BhZGRpbmc6NHB4fVxyXG4vLyAuY2FuZGlkYXRlX3ZpZXcgLnBpYyAuYnRuIHsgcGFkZGluZy10b3A6MTBweDsgd2lkdGg6IDEwNHB4O31cclxuLy8gLmNhbmRpZGF0ZV92aWV3IC5waWMgLmJ0biBpbWcge2JvcmRlcjpub25lOyBwYWRkaW5nOjAgMCAzcHggMCB9XHJcbi8vIC5jYW5kaWRhdGVfdmlldyAucHJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjIwcHg7cmlnaHQ6MTBweH1cclxuLy8gLmNhbmRpZGF0ZV92aWV3IC5jYWRpZGF0ZV9maWxlIHtwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTQwcHg7IGxlZnQ6IDEwcHg7IHdpZHRoOiAxMDRweDt9XHJcbi8vIC5jYW5kaWRhdGVfdmlldyAuc2xvZ2FuIHsgbWFyZ2luLXRvcDo4cHg7IHBhZGRpbmc6IDEwcHggMTBweCAyMHB4IDEwcHg7IGJhY2tncm91bmQ6IHVybCgvc3RhdGljL2ltYWdlcy9wb3J0YWwvY29udGVudHMvYmdfc2xvZ2FuLmdpZikgbm8tcmVwZWF0IDAgMDt9XHJcbi8vIC5jYW5kaWRhdGVfdmlldyAuc2xvZ2FuIHAgeyBmb250LXNpemU6MTRweDsgZm9udC13ZWlnaHQ6Ym9sZDsgfVxyXG5cclxuXHJcbi8vIC5jYW5kaWRhdGVfcGhvdG8geyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMDAwO2NsZWFyOmJvdGg7bWFyZ2luLWJvdHRvbTozMHB4OyBwYWRkaW5nLWJvdHRvbToyMHB4fVxyXG4vLyAuY2FuZGlkYXRlX3Bob3RvIHVsIHsgb3ZlcmZsb3c6IGhpZGRlbjt9XHJcbi8vIC5jYW5kaWRhdGVfcGhvdG8gbGkgeyBmbG9hdDpsZWZ0OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMTUwcHg7IG1hcmdpbi1sZWZ0OjE2cHg7IHBhZGRpbmc6NXB4O2JvcmRlcjoxcHggc29saWQgI2M2YzZjZTt9XHJcbi8vIC5jYW5kaWRhdGVfcGhvdG8gbGkgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjpub25lfVxyXG4vLyAuY2FuZGlkYXRlX3Bob3RvIGxpIC5waWMgaW1nIHsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDE1MHB4O31cclxuXHJcbi8vIC5ib2FyZF92aWV3X3R5cGVhIC5pbnB1dF9zZWxlY3QsXHJcbi8vIC5ib2FyZF92aWV3X3R5cGVhIC5pbnB1dF90eHQsXHJcbi8vIC5ib2FyZF92aWV3X3R5cGVhIC5pbnB1dF90ZXh0YXJlYXsgYm9yZGVyOjFweCBzb2xpZCAjZDhkOGUwO31cclxuXHJcbi8vIC5iYXNpY19wb2xpY3lfbm8geyBib3JkZXItdG9wOjFweCBzb2xpZCAjYTlhOWIxOyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjYTlhOWIxOyBwYWRkaW5nOjEwcHggMjBweDsgZm9udC13ZWlnaHQ6Ym9sZH1cclxuXHJcbi8vIC5jYW5kaWRhdGVfaW5mbyAub2ggeyBmb250LXdlaWdodDpib2xkOyBwYWRkaW5nOjEwcHh9XHJcbi8vIC5jYW5kaWRhdGVfaW5mbyAub2ggLmZsIHsgZm9udC1zaXplOjE2cHh9XHJcblxyXG5cclxuXHJcbi8vICAvKiBteXBhZ2UgKi9cclxuLy8gLm15X2NhbmRpZGF0ZV92aWV3IHtib3JkZXItdG9wOjJweCBzb2xpZCAjMDAwO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMwMDA7b3ZlcmZsb3c6aGlkZGVuO2NsZWFyOmJvdGg7bWFyZ2luLWJvdHRvbToyMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuLy8gLm15X2NhbmRpZGF0ZV92aWV3IGRseztwYWRkaW5nOjEwcHggMTBweCAxMHB4IDEzMHB4fVxyXG4vLyAubXlfY2FuZGlkYXRlX3ZpZXcgZHR7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6Ym9sZH1cclxuLy8gLm15X2NhbmRpZGF0ZV92aWV3IGR0IHNwYW57Zm9udC1zaXplOjIwcHh9XHJcbi8vIC5teV9jYW5kaWRhdGVfdmlldyBkZCBzcGFue31cclxuLy8gLm15X2NhbmRpZGF0ZV92aWV3IGRkIC5saXN0X3R5cGUyIC5mbCB7IHdpZHRoOiA0MjBweDt9XHJcbi8vIC5teV9jYW5kaWRhdGVfdmlldyBkZCAubGlzdF90eXBlMiAuY2xlYXIgeyB0ZXh0LWluZGVudDotNjhweDsgcGFkZGluZy1sZWZ0Ojc4cHh9XHJcbi8vIC5teV9jYW5kaWRhdGVfdmlldyAucGlje3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweH1cclxuLy8gLm15X2NhbmRpZGF0ZV92aWV3IC5waWMgaW1ne2JvcmRlcjoxcHggc29saWQgI2Q4ZDhlMDtwYWRkaW5nOjRweH1cclxuLy8gLm15X2NhbmRpZGF0ZV92aWV3IC5waWMgLmJ0biB7IHBhZGRpbmctdG9wOjEwcHg7IHdpZHRoOiAxMDRweDt9XHJcbi8vIC5teV9jYW5kaWRhdGVfdmlldyAucGljIC5idG4gaW1nIHtib3JkZXI6bm9uZTsgcGFkZGluZzowIDAgM3B4IDAgfVxyXG4vLyAubXlfY2FuZGlkYXRlX3ZpZXcgLnBye3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyMHB4O3JpZ2h0OjEwcHh9XHJcbi8vIC5teV9jYW5kaWRhdGVfdmlldyAuY2FkaWRhdGVfZmlsZSB7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE0MHB4OyBsZWZ0OiAxMHB4OyB3aWR0aDogMTA0cHg7fVxyXG4vLyAubXlfY2FuZGlkYXRlX3ZpZXcgLnNsb2dhbiB7IHBhZGRpbmc6IDEwcHggMTBweCAyMHB4IDEwcHg7IH1cclxuLy8gLm15X2NhbmRpZGF0ZV92aWV3IC5zbG9nYW4gZGl2LmJvcmRlciB7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmNlO31cclxuLy8gLm15X2NhbmRpZGF0ZV92aWV3IC5zbG9nYW4gZGl2LmJvcmRlcjJ7Ym9yZGVyOjVweCBzb2xpZCAjZjBmMGYzfVxyXG4vLyAubXlfY2FuZGlkYXRlX3ZpZXcgLnNsb2dhbiBwIHsgZm9udC1zaXplOjE0cHg7IGZvbnQtd2VpZ2h0OmJvbGQ7IHBhZGRpbmc6NXB4IH1cclxuXHJcbi8vIC5teV9jYW5kaWRhdGVfcGhvdG8geyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMDAwO2NsZWFyOmJvdGg7bWFyZ2luLWJvdHRvbTozMHB4OyBwYWRkaW5nLWJvdHRvbToyMHB4fVxyXG4vLyAubXlfY2FuZGlkYXRlX3Bob3RvIHVsIHsgb3ZlcmZsb3c6IGhpZGRlbjt9XHJcbi8vIC5teV9jYW5kaWRhdGVfcGhvdG8gbGkgeyBmbG9hdDpsZWZ0OyB3aWR0aDogMzAwcHg7IGhlaWdodDogMjAwcHg7IG1hcmdpbi1sZWZ0OjIwcHg7IHBhZGRpbmc6NXB4OyBib3JkZXI6MXB4IHNvbGlkICNjNmM2Y2U7fVxyXG4vLyAubXlfY2FuZGlkYXRlX3Bob3RvIGxpIGE6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246bm9uZX1cclxuLy8gLm15X2NhbmRpZGF0ZV9waG90byBsaSBpbWcgeyB3aWR0aDogMzAwcHg7IGhlaWdodDogMjAwcHg7fVxyXG5cclxuLy8gLyogMjAxNC0wMi0yMSBkdWNrc+y2lOqwgCAqL1xyXG4vLyAuZGFzaGVkX2JveDIgeyBib3JkZXItdG9wOjFweCBkYXNoZWQgI2I3YjdiNzsgYm9yZGVyLWJvdHRvbToxcHggZGFzaGVkICNiN2I3Yjc7IGJhY2tncm91bmQtY29sb3I6I2Y4ZjhmODsgcGFkZGluZzoxMHB4IDIwcHggMTBweCAxMHB4O31cclxuLy8gLmxpc3RfdHlwZTN7bWFyZ2luOjAgMCAwcHggMTVweH1cclxuLy8gLmxpc3RfdHlwZTMgLmZvbnQxNHtmb250LXNpemU6MTRweH1cclxuXHJcblxyXG4vLyAuZWxlY3Rpb257Ym9yZGVyLXRvcDoxcHggc29saWQgI2E5YTliMTtjbGVhcjpib3RofVxyXG4vLyAuZWxlY3Rpb24gbGkge3Bvc2l0aW9uOnJlbGF0aXZlfVxyXG4vLyAuZWxlY3Rpb24gbGkgLmVsZWN0aW9uX2J0bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo5NHB4fVxyXG4vLyAuZWxlY3Rpb24gaDZ7cGFkZGluZzowO21hcmdpbjowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkOGQ4ZTA7Zm9udC13ZWlnaHQ6Ym9sZDtwYWRkaW5nOjEwcHggMjBweDtvdmVyZmxvdzpoaWRkZW47IGZvbnQtc2l6ZToxMnB4fVxyXG4vLyAgLmVsZWN0aW9uIGg2IC5kYXRlIHtmb250LXdlaWdodDpub3JtYWx9XHJcbi8vIC5lbGVjdGlvbiBkaXZ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q4ZDhlMDtiYWNrZ3JvdW5kOiNmOGY4ZjggdXJsKC9zdGF0aWMvaW1hZ2VzL3BvcnRhbC9jb250ZW50cy9idV9saXN0X3R5cGUyLmdpZikgbm8tcmVwZWF0IDIzcHggMjZweDtwYWRkaW5nOjE5cHggMzBweH1cclxuLy8gLmVsZWN0aW9uIGRpdi5sYXN0e2JvcmRlci1ib3R0b20tY29sb3I6I2E5YTliMX1cclxuLy8gLmVsZWN0aW9uIGg2IGEge2Rpc3BsYXk6YmxvY2s7IG92ZXJmbG93OmhpZGRlbn1cclxuXHJcbi8vICAvKiAyMDE0MDQwMyDshKDqtIDsnIQg7ISg7YOdIHNlbGVjdCovXHJcbi8vIGRpdi5zZWxlY3RfZ3UgeyB3aWR0aDoyNjhweDsgbWFyZ2luOjAgMCAxMHB4OyB9XHJcbi8vIGRpdi5zZWxlY3RfZ3UgcC5ndVRpdCB7IHdpZHRoOjEwMCU7IGhlaWdodDoyNHB4OyBwYWRkaW5nOjdweCAwIDA7IGJhY2tncm91bmQ6IzNiM2U0MTsgY29sb3I6I2ZlZmVmZTsgZm9udC1zaXplOjE0cHg7IHRleHQtYWxpZ246Y2VudGVyOyBmb250LXdlaWdodDpib2xkOyBmbG9hdDpsZWZ0OyB9XHJcblxyXG4vLyBkaXYuc0d1IHsgd2lkdGg6MjM4cHg7IGhlaWdodDozN3B4OyBwYWRkaW5nOjE1cHggMTVweCAwIDEzcHg7IGJvcmRlcjoxcHggc29saWQgI2MwYzBjMDsgZGlzcGxheTppbmxpbmUtYmxvY2s7IH1cclxuLy8gZGl2LnNHdSBzZWxlY3Qge3dpZHRoOjE5NXB4OyB9XHJcblxyXG5cclxuXHJcbi8vICNwZGZfbmV4dHtkaXNwbGF5OmJsb2NrO3dpZHRoOiAxMDAlO31cclxuXHJcbi8vICNjb250ZW50IHtvdmVyZmxvdzp2aXNpYmxlO31cclxuLy8gI2NvbnRlbnQ6YWZ0ZXIge2NvbnRlbnQ6JyAnOyBkaXNwbGF5OmJsb2NrOyBjbGVhcjpib3RoO31cclxuXHJcbi8vIC8qIDIwMTUtMDMtMzAg7LaU6rCAICovXHJcbi8vIC5kYXRhX2xpY2Vuc2UgeyB3aWR0aDogNjY5cHg7IGhlaWdodDogNTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZDogdXJsKC4uL3N0YXRpYy9pbWFnZXMvcG9ydGFsL2JvYXJkL2JnX2xpY2Vuc2Vfa29nbC5naWYpIG5vLXJlcGVhdCAwIDA7IHBhZGRpbmcgOiAxM3B4IDEwcHggMCAxNHB4OyBtYXJnaW46IDQwcHggMCAxMHB4OyBmb250LXNpemU6IDExcHg7fVxyXG4vLyAuZGF0YV9saWNlbnNlIC5saWNlbnNlX2xvZ28ge2Zsb2F0IDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAxMHB4O31cclxuLy8gLmRhdGFfbGljZW5zZSAudHh0IHtsaW5lLWhlaWdodCA6IDE2cHg7fVxyXG5cclxuLy8gLnN1X29yZ3t0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZmZmO1xyXG4vLyBcdCBoM3tib3JkZXItcmFkaXVzOiAzcHg7YmFja2dyb3VuZDojNDc0YTViO3BhZGRpbmc6MS41ZW07ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjFlbTttaW4td2lkdGg6MTgwcHg7XHJcbi8vIFx0IFx0Lm5hbWV7Y29sb3I6I2ZmNmJhNn1cclxuLy8gXHRcdHB7Y2xlYXI6Ym90aDtib3JkZXItdG9wOjFweCBzb2xpZCAjNjc2OTc4O3BhZGRpbmctdG9wOjFlbTttYXJnaW4tdG9wOjFlbTtmb250LXNpemU6MC45NWVtO2ZvbnQtd2VpZ2h0Om5vcm1hbDt9XHJcbi8vIFx0IH1cclxuLy8gXHQgdWx7cGFkZGluZy10b3A6MjBweDtiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9pbWFnZXMvc3UvY29udGVudHMvYmdfb3JnTGluZS5naWYpIG5vLXJlcGVhdCBjZW50ZXIgMDtcclxuLy8gXHQgXHRsaXtkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXI6MXB4IHNvbGlkICM3ODdkOWE7YmFja2dyb3VuZDojY2NjZmRjO3BhZGRpbmc6MWVtO2JvcmRlci1yYWRpdXM6IDNweDttaW4td2lkdGg6MTQwcHg7Y29sb3I6IzQ3NGE1Yjtmb250LXdlaWdodDpib2xkO21hcmdpbjowIDE4cHg7fVxyXG4vLyBcdCB9XHJcbi8vIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjQwcHgpe1xyXG4vLyAgIC5oaXN0b3J5IGxpe2JhY2tncm91bmQ6bm9uZX1cclxuLy8gICAuaGlzdG9yeSBsaSAueWVhcntmbG9hdDpub25lfVxyXG4vLyAgIC5oaXN0b3J5IGxpIGRse21hcmdpbi1sZWZ0OjB9XHJcbi8vICAgLm5lYzA2XzAyXzAxXzAxIHB7ZmxvYXQ6bm9uZTtwYWRkaW5nOjAgMCAwIDE4cHg7dGV4dC1hbGlnbjpjZW50ZXI7fVxyXG4vLyAgIC5uZWMwNl8wMl8wMV8wMSB1bHtvdmVyZmxvdzpoaWRkZW47bWFyZ2luLWxlZnQ6MH1cclxuLy8gICAubmVjMDZfMDJfMDFfMDEgdWwgLnllYXJ7d2lkdGg6ODBweDt2ZXJ0aWNhbC1hbGlnbjogdG9wfVxyXG5cclxuLy8gfVxyXG5cclxuLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo0ODBweCl7XHJcbi8vIH1cclxuXHJcbi8vIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MzYwcHgpe1xyXG4vLyAgICNkYl9kYXRlIGltZ3ttYXgtd2lkdGg6YXV0bzt3aWR0aDoxMDAlfVxyXG4vLyB9XHJcblxyXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjMyMHB4KXtcclxuLy8gfVxyXG5cclxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGFzIFNldHRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaGFzKCRzZXR0aW5nKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludCwgJHNldHRpbmcpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZXQgU2V0dGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0KCRzZXR0aW5nKSB7XG4gIEBpZiBicmVha3BvaW50LWhhcygkc2V0dGluZykge1xuICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludCwgJHNldHRpbmcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJEJyZWFrcG9pbnQtU2V0dGluZ3MsICRzZXR0aW5nKTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNldCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaWYgKHN0ci1pbmRleCgkc2V0dGluZywgJy0nKSBvciBzdHItaW5kZXgoJHNldHRpbmcsICdfJykpIGFuZCBzdHItaW5kZXgoJHNldHRpbmcsICcgJykgPT0gbnVsbCB7XG4gICAgQHdhcm4gXCJXb3JkcyBpbiBCcmVha3BvaW50IHNldHRpbmdzIHNob3VsZCBiZSBzZXBhcmF0ZWQgYnkgc3BhY2VzLCBub3QgZGFzaGVzIG9yIHVuZGVyc2NvcmVzLiBQbGVhc2UgcmVwbGFjZSBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzIGJldHdlZW4gd29yZHMgd2l0aCBzcGFjZXMuIFNldHRpbmdzIHdpbGwgbm90IHdvcmsgYXMgZXhwZWN0ZWQgdW50aWwgY2hhbmdlZC5cIjtcbiAgfVxuICAkYnJlYWtwb2ludDogbWFwLW1lcmdlKCRicmVha3BvaW50LCAoJHNldHRpbmc6ICR2YWx1ZSkpICFnbG9iYWw7XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgJGJyZWFrcG9pbnQtY2hhbmdlOiBicmVha3BvaW50LXNldCgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuQG1peGluIGJyZWFrcG9pbnQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbkBtaXhpbiBia3B0LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuQG1peGluIGJrcHQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVtb3ZlIFNldHRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAxIHtcbiAgICAkc2V0dGluZ3M6IG50aCgkc2V0dGluZ3MsIDEpO1xuICB9XG5cbiAgQGVhY2ggJHNldHRpbmcgaW4gJHNldHRpbmdzIHtcbiAgICAkYnJlYWtwb2ludDogbWFwLXJlbW92ZSgkYnJlYWtwb2ludCwgJHNldHRpbmcpICFnbG9iYWw7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MuLi4pIHtcbiAgJGJyZWFrcG9pbnQtcmVzZXQ6IGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzKTtcbn1cblxuQG1peGluIGJrcHQtcmVzZXQoJHNldHRpbmdzLi4uKSB7XG4gICRicmVha3BvaW50LXJlc2V0OiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncyk7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIEJyZWFrcG9pbnQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpO1xuJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEhhcyBDb250ZXh0XG4vLyBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHlvdSBhcmUgaW5zaWRlIGEgQnJlYWtwb2ludCBxdWVyeVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1oYXMtY29udGV4dCgpIHtcbiAgQGlmIGxlbmd0aCgkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50KSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBHZXQgQ29udGV4dFxuLy8gJGZlYXR1cmU6IElucHV0IGZlYXR1cmUgdG8gZ2V0IGl0J3MgY3VycmVudCBNUSBjb250ZXh0LiBSZXR1cm5zIGZhbHNlIGlmIG5vIGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJGZlYXR1cmUpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKSB7XG4gICAgJGdldDogbWFwLWdldCgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSk7XG4gICAgLy8gU3BlY2lhbCBoYW5kbGluZyBvZiBuby1xdWVyeSBmcm9tIGdldCBzaWRlIHNvIC9mYWxzZS8gcHJlcGVuZHMgYXJlbid0IHJldHVybmVkXG4gICAgQGlmICRmZWF0dXJlID09ICduby1xdWVyeScge1xuICAgICAgQGlmIHR5cGUtb2YoJGdldCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJGdldCkgPiAxIGFuZCBudGgoJGdldCwgMSkgPT0gZmFsc2Uge1xuICAgICAgICAkZ2V0OiBudGgoJGdldCwgbGVuZ3RoKCRnZXQpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkZ2V0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgYnJlYWtwb2ludC1oYXMtY29udGV4dCgpIGFuZCAkZmVhdHVyZSA9PSAnbWVkaWEnIHtcbiAgICAgIEByZXR1cm4gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIGZ1bmN0aW9uIHRvIHNldCBjb250ZXh0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSkge1xuICBAaWYgJHZhbHVlID09ICdtb25vY2hyb21lJyB7XG4gICAgJGZlYXR1cmU6ICdtb25vY2hyb21lJztcbiAgfVxuXG4gICRjdXJyZW50OiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgQGlmICRjdXJyZW50IGFuZCBsZW5ndGgoJGN1cnJlbnQpID09ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgIEB3YXJuIFwiWW91IGhhdmUgYWxyZWFkeSBxdWVyaWVkIGFnYWluc3QgYCN7JGZlYXR1cmV9YC4gVW5leHBlY3RlZCB0aGluZ3MgbWF5IGhhcHBlbiBpZiB5b3UgcXVlcnkgYWdhaW5zdCB0aGUgc2FtZSBmZWF0dXJlIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIGBhbmRgIHF1ZXJ5LiBCcmVha3BvaW50IGlzIG92ZXJ3cml0aW5nIHRoZSBjdXJyZW50IGNvbnRleHQgd2l0aCBgI3skdmFsdWV9YFwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAkZmVhdHVyZSkge1xuICAgICR2LWhvbGRlcjogKCk7XG4gICAgQGZvciAkaSBmcm9tIDEgdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsICR2YWx1ZSk7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZmVhdHVyZTogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHYtaG9sZGVyOiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJHYtaG9sZGVyKTtcbiAgICBAZm9yICRpIGZyb20gJGxlbmd0aCB0byAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IC0gMSB7XG4gICAgICBAaWYgJGZlYXR1cmUgPT0gJ21lZGlhJyB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsICR2YWx1ZSk7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLW1lcmdlKCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICgkZmVhdHVyZTogJHYtaG9sZGVyKSkgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQcml2YXRlIGZ1bmN0aW9uIHRvIHJlc2V0IGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cyB7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWdsb2JhbDtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbnZlcnRzIHRoZSBpbnB1dCB2YWx1ZSB0byBCYXNlIEVNc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC10by1iYXNlLWVtKCR2YWx1ZSkge1xuICAkdmFsdWUtdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIC8vIFdpbGwgY29udmVydCByZWxhdGl2ZSBFTXMgaW50byByb290IEVNcy5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpIGFuZCB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpKSA9PSAnbnVtYmVyJyBhbmQgJHZhbHVlLXVuaXQgPT0gJ2VtJyB7XG4gICAgJGJhc2UtdW5pdDogdW5pdChicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSk7XG5cbiAgICBAaWYgJGJhc2UtdW5pdCA9PSAncHgnIG9yICRiYXNlLXVuaXQgPT0gJyUnIG9yICRiYXNlLXVuaXQgPT0gJ2VtJyBvciAkYmFzZS11bml0ID09ICdwdCcge1xuICAgICAgQHJldHVybiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKSAvIGJhc2UtY29udmVyc2lvbihicmVha3BvaW50LWdldCgnYmFzZSBmb250IHNpemUnKSkgKiAxZW07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICcje2JyZWFrcG9pbnQtZ2V0KFxcJ2Jhc2UgZm9udCBzaXplXFwnKX0gaXMgbm90IHNldCBpbiB2YWxpZCB1bml0cyBmb3IgZm9udCBzaXplISc7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gYmFzZS1jb252ZXJzaW9uKCR2YWx1ZSkge1xuICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIEBpZiAkdW5pdCA9PSAncHgnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDE2cHggKiAxZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJyUnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDEwMCUgKiAxZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJ2VtJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gJ3B0JyB7XG4gICAgQHJldHVybiAkdmFsdWUgLyAxMnB0ICogMWVtO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbi8vICAgIEB3YXJuICdFdmVyeXRoaW5nIGlzIHRlcnJpYmxlISBXaGF0IGhhdmUgeW91IGRvbmU/ISc7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIGhhdmUgYSBtaW4vbWF4IHBhaXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtbWluLW1heC1mZWF0dXJlczogJ2NvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvci1pbmRleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtaGVpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2Utd2lkdGgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9ub2Nocm9tZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVzb2x1dGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4tbWF4KCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LW1pbi1tYXgtZmVhdHVyZXMge1xuICAgIEBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGNhbiBoYXZlIGEgc3RyaW5nIHZhbHVlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LXN0cmluZy1mZWF0dXJlczogICdvcmllbnRhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGV2aWNlLWFzcGVjdC1yYXRpbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbHVtaW5vc2l0eSc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXN0cmluZy12YWx1ZSgkZmVhdHVyZSkge1xuICBAZWFjaCAkaXRlbSBpbiAkYnJlYWtwb2ludC1zdHJpbmctZmVhdHVyZXMge1xuICAgIEBpZiBicmVha3BvaW50LW1pbi1tYXgoJGl0ZW0pIHtcbiAgICAgIEBpZiAkZmVhdHVyZSA9PSAnbWluLSN7JGl0ZW19JyBvciAkZmVhdHVyZSA9PSAnbWF4LSN7JGl0ZW19JyB7XG4gICAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGZlYXR1cmUgPT0gJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBpcyBhIG1lZGlhIHR5cGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtbWVkaWEtdHlwZXM6ICAnYWxsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JyYWlsbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnZW1ib3NzZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnaGFuZGhlbGQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJpbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvamVjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdzY3JlZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnc3BlZWNoJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R0eScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICd0dic7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWlzLW1lZGlhKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRtZWRpYSBpbiAkYnJlYWtwb2ludC1tZWRpYS10eXBlcyB7XG4gICAgQGlmICgkZmVhdHVyZSA9PSAkbWVkaWEpIG9yICgkZmVhdHVyZSA9PSAnbm90ICN7JG1lZGlhfScpIG9yICgkZmVhdHVyZSA9PSAnb25seSAjeyRtZWRpYX0nKSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIHN0YW5kIGFsb25lXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LXNpbmdsZS1zdHJpbmctZmVhdHVyZXM6ICdjb2xvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sb3ItaW5kZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dyaWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vbm9jaHJvbWUnO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LXNpbmdsZS1zdHJpbmctZmVhdHVyZXMge1xuICAgIEBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWlzLXJlc29sdXRpb24oJGZlYXR1cmUpIHtcbiAgJHJlc29sdXRpb25zOiAnZGV2aWNlLXBpeGVsLXJhdGlvJywgJ2Rwcic7XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSB7XG4gICAgJHJlc29sdXRpb25zOiBhcHBlbmQoJHJlc29sdXRpb25zLCAncmVzb2x1dGlvbicpO1xuICB9XG5cbiAgQGVhY2ggJHJlc28gaW4gJHJlc29sdXRpb25zIHtcbiAgICBAaWYgaW5kZXgoJGZlYXR1cmUsICRyZXNvKSBvciBpbmRleCgkZmVhdHVyZSwgJ21pbi0jeyRyZXNvfScpIG9yIGluZGV4KCRmZWF0dXJlLCAnbWF4LSN7JHJlc299Jykge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQYXJzZXIgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJwYXJzZXJzL3F1ZXJ5XCI7XG5AaW1wb3J0IFwicGFyc2Vycy9zaW5nbGVcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL2RvdWJsZVwiO1xuQGltcG9ydCBcInBhcnNlcnMvdHJpcGxlXCI7XG5AaW1wb3J0IFwicGFyc2Vycy9yZXNvbHV0aW9uXCI7XG5cbiRNZW1vLUV4aXN0czogZnVuY3Rpb24tZXhpc3RzKG1lbW8tZ2V0KSBhbmQgZnVuY3Rpb24tZXhpc3RzKG1lbW8tc2V0KTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50KCRxdWVyeSwgJGNvbnRleHRzLi4uKSB7XG4gICRydW46IHRydWU7XG4gICRyZXR1cm46ICgpO1xuXG4gIC8vIEdyYWIgdGhlIE1lbW8gT3V0cHV0IGlmIE1lbW9pemF0aW9uIGNhbiBiZSBhIHRoaW5nXG4gIEBpZiAkTWVtby1FeGlzdHMge1xuICAgICRyZXR1cm46IG1lbW8tZ2V0KGJyZWFrcG9pbnQsIGJyZWFrcG9pbnQgJHF1ZXJ5ICRjb250ZXh0cyk7XG5cbiAgICBAaWYgJHJldHVybiAhPSBudWxsIHtcbiAgICAgICRydW46IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJE1lbW8tRXhpc3RzIG9yICRydW4ge1xuICAgIC8vIEludGVybmFsIFZhcmlhYmxlc1xuICAgICRxdWVyeS1zdHJpbmc6ICcnO1xuICAgICRxdWVyeS1mYWxsYmFjazogZmFsc2U7XG4gICAgJHJldHVybjogKCk7XG5cbiAgICAvLyBSZXNlcnZlIEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRob2xkZXItY29udGV4dDogJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjtcbiAgICAkaG9sZGVyLXF1ZXJ5LWNvdW50OiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50O1xuXG4gICAgLy8gUmVzZXQgR2xvYmFsIFByaXZhdGUgQnJlYWtwb2ludCBDb250ZXh0XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCkgIWdsb2JhbDtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFnbG9iYWw7XG5cblxuICAgIC8vIFRlc3QgdG8gc2VlIGlmIGl0J3MgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuICAgICRvci1saXN0OiBpZihsaXN0LXNlcGFyYXRvcigkcXVlcnkpID09ICdjb21tYScsIHRydWUsIGZhbHNlKTtcblxuXG4gICAgQGlmICgkb3ItbGlzdCA9PSBmYWxzZSBhbmQgYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSA9PSBmYWxzZSkge1xuICAgICAgJHF1ZXJ5LXN0cmluZzogYnJlYWtwb2ludC1wYXJzZSgkcXVlcnkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkbGVuZ3RoOiBsZW5ndGgoJHF1ZXJ5KTtcblxuICAgICAgJGxhc3Q6IG50aCgkcXVlcnksICRsZW5ndGgpO1xuICAgICAgJHF1ZXJ5LWZhbGxiYWNrOiBicmVha3BvaW50LW5vLXF1ZXJ5KCRsYXN0KTtcblxuICAgICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIHtcbiAgICAgICAgJGxlbmd0aDogJGxlbmd0aCAtIDE7XG4gICAgICB9XG5cbiAgICAgIEBpZiAoYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSA9PSB0cnVlKSB7XG4gICAgICAgICRtcTogKCk7XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAkbXE6IGFwcGVuZCgkbXEsIG50aCgkcXVlcnksICRpKSwgY29tbWEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJHF1ZXJ5LXN0cmluZzogYnJlYWtwb2ludC1wYXJzZSgkbXEpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcXVlcnktc3RyaW5nOiAnJztcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcbiAgICAgICAgICAkcXVlcnktc3RyaW5nOiAkcXVlcnktc3RyaW5nICsgaWYoJGkgPT0gMSwgJycsICcsICcpICsgYnJlYWtwb2ludC1wYXJzZShudGgoJHF1ZXJ5LCAkaSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHJldHVybjogKCdxdWVyeSc6ICRxdWVyeS1zdHJpbmcsXG4gICAgICAgICdmYWxsYmFjayc6ICRxdWVyeS1mYWxsYmFjayxcbiAgICAgICAgJ2NvbnRleHQgaG9sZGVyJzogJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcixcbiAgICAgICAgJ3F1ZXJ5IGNvdW50JzogJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudFxuICAgICk7XG4gICAgQGlmIGxlbmd0aCgkY29udGV4dHMpID4gMCBhbmQgbnRoKCRjb250ZXh0cywgMSkgIT0gZmFsc2Uge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gICAgICB9XG4gICAgICAkY29udGV4dC1tYXA6ICgpO1xuICAgICAgQGVhY2ggJGNvbnRleHQgaW4gJGNvbnRleHRzIHtcbiAgICAgICAgJGNvbnRleHQtbWFwOiBtYXAtbWVyZ2UoJGNvbnRleHQtbWFwLCAoJGNvbnRleHQ6IGJyZWFrcG9pbnQtZ2V0LWNvbnRleHQoJGNvbnRleHQpKSk7XG4gICAgICB9XG4gICAgICAkcmV0dXJuOiBtYXAtbWVyZ2UoJHJldHVybiwgKGNvbnRleHQ6ICRjb250ZXh0LW1hcCkpO1xuICAgIH1cblxuICAgIC8vIFJlc2V0IEdsb2JhbCBQcml2YXRlIEJyZWFrcG9pbnQgQ29udGV4dFxuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6ICgpICFnbG9iYWw7XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZ2xvYmFsO1xuXG4gICAgQGlmICRNZW1vLUV4aXN0cyB7XG4gICAgICAkaG9sZGVyOiBtZW1vLXNldChicmVha3BvaW50LCBicmVha3BvaW50ICRxdWVyeSAkY29udGV4dHMsICRyZXR1cm4pO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZW5lcmFsIEJyZWFrcG9pbnQgUGFyc2VyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlKCRxdWVyeSkge1xuICAvLyBJbmNyZWFzZSBudW1iZXIgb2YgJ2FuZCcgcXVlcmllc1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50ICsgMSAhZ2xvYmFsO1xuXG4gIC8vIFNldCB1cCBNZWRpYSBUeXBlXG4gICRxdWVyeS1wcmludDogJyc7XG5cbiAgJGZvcmNlLWFsbDogKChicmVha3BvaW50LWdldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnKSA9PSB0cnVlKSBhbmQgKGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykgPT0gJ2FsbCcpKTtcbiAgJGVtcHR5LW1lZGlhOiB0cnVlO1xuICBAaWYgKCRmb3JjZS1hbGwgPT0gdHJ1ZSkgb3IgKGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykgIT0gJ2FsbCcpIHtcbiAgICAvLyBGb3JjZSB0aGUgcHJpbnQgb2YgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZSBpZiAoZm9yY2UgYWxsIGlzIHRydWUgYW5kIGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBhbGwpIG9yIChkZWZhdWx0IG1lZGlhIHR5cGUgaXMgbm90IGFsbClcbiAgICAkcXVlcnktcHJpbnQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJyk7XG4gICAgJGVtcHR5LW1lZGlhOiBmYWxzZTtcbiAgfVxuXG5cbiAgJHF1ZXJ5LXJlc29sdXRpb246IGZhbHNlO1xuXG4gICRxdWVyeS1ob2xkZXI6IGJyZWFrcG9pbnQtcGFyc2UtcXVlcnkoJHF1ZXJ5KTtcblxuXG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggcGFyc2VkIG91dCBxdWVyeSBhbmQgd3JpdGUgaXQgdG8gJHF1ZXJ5LXByaW50XG4gICRmaXJzdDogdHJ1ZTtcblxuICBAZWFjaCAkZmVhdHVyZSBpbiAkcXVlcnktaG9sZGVyIHtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJGZlYXR1cmUpO1xuXG4gICAgLy8gUGFyc2UgYSBzaW5nbGUgZmVhdHVyZVxuICAgIEBpZiAoJGxlbmd0aCA9PSAxKSB7XG4gICAgICAvLyBGZWF0dXJlIGlzIGN1cnJlbnRseSBhIGxpc3QsIGdyYWIgdGhlIGFjdHVhbCB2YWx1ZVxuICAgICAgJGZlYXR1cmU6IG50aCgkZmVhdHVyZSwgMSk7XG5cbiAgICAgIC8vIE1lZGlhIFR5cGUgbXVzdCBieSBjb252ZW50aW9uIGJlIHRoZSBmaXJzdCBpdGVtLCBzbyBpdCdzIHNhZmUgdG8gZmxhdCBvdmVycmlkZSAkcXVlcnktcHJpbnQsIHdoaWNoIHJpZ2h0IG5vdyBzaG91bGQgb25seSBiZSB0aGUgZGVmYXVsdCBtZWRpYSB0eXBlXG4gICAgICBAaWYgKGJyZWFrcG9pbnQtaXMtbWVkaWEoJGZlYXR1cmUpKSB7XG4gICAgICAgIEBpZiAoJGZvcmNlLWFsbCA9PSB0cnVlKSBvciAoJGZlYXR1cmUgIT0gJ2FsbCcpIHtcbiAgICAgICAgICAvLyBGb3JjZSB0aGUgcHJpbnQgb2YgdGhlIGRlZmF1bHQgbWVkaWEgdHlwZSBpZiAoZm9yY2UgYWxsIGlzIHRydWUgYW5kIGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBhbGwpIG9yIChkZWZhdWx0IG1lZGlhIHR5cGUgaXMgbm90IGFsbClcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICRmZWF0dXJlO1xuICAgICAgICAgICRlbXB0eS1tZWRpYTogZmFsc2U7XG5cbiAgICAgICAgICAvLyBTZXQgQ29udGV4dFxuICAgICAgICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1lZGlhLCAkcXVlcnktcHJpbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUGFyc2UgYSBkb3VibGUgZmVhdHVyZVxuICAgIEBlbHNlIGlmICgkbGVuZ3RoID09IDIpIHtcbiAgICAgIEBpZiAoYnJlYWtwb2ludC1pcy1yZXNvbHV0aW9uKCRmZWF0dXJlKSAhPSBmYWxzZSkge1xuICAgICAgICAkcXVlcnktcmVzb2x1dGlvbjogJGZlYXR1cmU7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwYXJzZWQ6IG51bGw7XG4gICAgICAgIC8vIElmIGl0J3MgYSBzdHJpbmcvbnVtYmVyIHBhaXIsXG4gICAgICAgIC8vIHdlIGNoZWNrIHRvIHNlZSBpZiBvbmUgaXMgYSBzaW5nbGUtc3RyaW5nIHZhbHVlLFxuICAgICAgICAvLyB0aGVuIHdlIHBhcnNlIGl0IGFzIGEgbm9ybWFsIGRvdWJsZVxuICAgICAgICAkYWxwaGE6IG50aCgkZmVhdHVyZSwgMSk7XG4gICAgICAgICRiZXRhOiBudGgoJGZlYXR1cmUsIDIpO1xuICAgICAgICBAaWYgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRhbHBoYSkgb3IgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRiZXRhKSB7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGFscGhhLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGJldGEsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUGFyc2UgYSB0cmlwbGUgZmVhdHVyZVxuICAgIEBlbHNlIGlmICgkbGVuZ3RoID09IDMpIHtcbiAgICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCk7XG4gICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgIH1cblxuICB9XG5cbiAgQGlmICgkcXVlcnktcmVzb2x1dGlvbiAhPSBmYWxzZSkge1xuICAgICRxdWVyeS1wcmludDogYnJlYWtwb2ludC1idWlsZC1yZXNvbHV0aW9uKCRxdWVyeS1wcmludCwgJHF1ZXJ5LXJlc29sdXRpb24sICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCBlYWNoIGZlYXR1cmUgdGhhdCdzIGJlZW4gZGV0ZWN0ZWQgc28gZmFyIGFuZCBhcHBlbmQgJ2ZhbHNlJyB0byB0aGUgdGhlIHZhbHVlIGxpc3QgdG8gaW5jcmVtZW50IHRoZWlyIGNvdW50ZXJzXG4gIEBlYWNoICRmLCAkdiBpbiAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyIHtcbiAgICAkdi1ob2xkZXI6ICR2O1xuICAgICRsZW5ndGg6IGxlbmd0aCgkdi1ob2xkZXIpO1xuICAgIEBpZiBsZW5ndGgoJHYtaG9sZGVyKSA8ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQge1xuICAgICAgQGZvciAkaSBmcm9tICRsZW5ndGggdG8gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICAgIEBpZiAkZiA9PSAnbWVkaWEnIHtcbiAgICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkdi1ob2xkZXI6IGFwcGVuZCgkdi1ob2xkZXIsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtbWVyZ2UoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgKCRmOiAkdi1ob2xkZXIpKSAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiAkcXVlcnktcHJpbnQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1xdWVyeSgkcXVlcnkpIHtcbiAgLy8gUGFyc2UgZmVhdHVyZXMgb3V0IG9mIGFuIGluZGl2aWR1YWwgcXVlcnlcbiAgJGZlYXR1cmUtaG9sZGVyOiAoKTtcbiAgJHF1ZXJ5LWhvbGRlcjogKCk7XG4gICRsZW5ndGg6IGxlbmd0aCgkcXVlcnkpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgIC8vIElmIHdlJ3ZlIGdvdCBhIHN0cmluZy9udW1iZXIsIG51bWJlci9zdHJpbmcsIGNoZWNrIHRvIHNlZSBpZiBpdCdzIGEgdmFsaWQgc3RyaW5nL251bWJlciBwYWlyIG9yIHR3byBzaW5nbGVzXG4gICAgQGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnc3RyaW5nJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ251bWJlcicpIG9yICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ3N0cmluZycpIHtcblxuICAgICAgJG51bWJlcjogJyc7XG4gICAgICAkdmFsdWU6ICcnO1xuXG4gICAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ3N0cmluZycge1xuICAgICAgICAkbnVtYmVyOiBudGgoJHF1ZXJ5LCAyKTtcbiAgICAgICAgJHZhbHVlOiBudGgoJHF1ZXJ5LCAxKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG51bWJlcjogbnRoKCRxdWVyeSwgMSk7XG4gICAgICAgICR2YWx1ZTogbnRoKCRxdWVyeSwgMik7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBzdHJpbmcgdmFsdWUgY2FuIGJlIGEgc2luZ2xlIHZhbHVlLCBjaGVjayB0byBzZWUgaWYgdGhlIG51bWJlciBwYXNzZWQgaW4gaXMgYSB2YWxpZCBpbnB1dCBmb3Igc2FpZCBzaW5nbGUgdmFsdWUuIEZvcnR1bmF0ZWx5LCBhbGwgY3VycmVudCBzaW5nbGUtdmFsdWUgb3B0aW9ucyBvbmx5IGFjY2VwdCB1bml0bGVzcyBudW1iZXJzLCBzbyB0aGlzIGNoZWNrIGlzIGVhc3kuXG4gICAgICBAaWYgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCR2YWx1ZSkge1xuICAgICAgICBAaWYgdW5pdGxlc3MoJG51bWJlcikge1xuICAgICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCR2YWx1ZSwgJG51bWJlciwgc3BhY2UpO1xuICAgICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIElmIHRoZSBzdHJpbmcgaXMgYSBtZWRpYSB0eXBlLCBzcGxpdCB0aGUgcXVlcnlcbiAgICAgIEBpZiBicmVha3BvaW50LWlzLW1lZGlhKCR2YWx1ZSkge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMSkpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgbnRoKCRxdWVyeSwgMikpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgICAvLyBJZiBpdCdzIG5vdCBhIHNpbmdsZSBmZWF0dXJlLCB3ZSdyZSBqdXN0IGdvaW5nIHRvIGFzc3VtZSBpdCdzIGEgcHJvcGVyIHN0cmluZy92YWx1ZSBwYWlyLCBhbmQgcm9sbCB3aXRoIGl0LlxuICAgICAgQGVsc2Uge1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZCgkdmFsdWUsICRudW1iZXIsIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG5cbiAgICB9XG4gICAgLy8gSWYgdGhleSdyZSBib3RoIG51bWJlcnMsIHdlIGFzc3VtZSBpdCdzIGEgZG91YmxlIGFuZCByb2xsIHdpdGggdGhhdFxuICAgIEBlbHNlIGlmICh0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAyKSkgPT0gJ251bWJlcicpIHtcbiAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgIH1cbiAgICAvLyBJZiB0aGV5J3JlIGJvdGggc3RyaW5ncyBhbmQgbmVpdGhlciBhcmUgc2luZ2xlcywgd2Ugcm9sbCB3aXRoIHRoYXQuXG4gICAgQGVsc2UgaWYgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDIpKSB7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDEpLCBudGgoJHF1ZXJ5LCAyKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHtcbiAgICAvLyBJZiB3ZSd2ZSBnb3QgdGhyZWUgaXRlbXMgYW5kIG5vbmUgaXMgYSBsaXN0LCB3ZSBjaGVjayB0byBzZWVcbiAgICBAaWYgdHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgIT0gJ2xpc3QnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSAhPSAnbGlzdCcgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMykpICE9ICdsaXN0JyB7XG4gICAgICAvLyBJZiBub25lIG9mIHRoZSBpdGVtcyBhcmUgc2luZ2xlIHN0cmluZyB2YWx1ZXMgYW5kIG5vbmUgb2YgdGhlIHZhbHVlcyBhcmUgbWVkaWEgdmFsdWVzLCB3ZSdyZSBnb29kLlxuICAgICAgQGlmIChub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDEpKSBhbmQgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAyKSkgYW5kIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMykpKSBhbmQgICgobm90IGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAyKSkgYW5kIG5vdCBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDMpKSkpIHtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMSksIG50aCgkcXVlcnksIDIpLCBzcGFjZSk7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCRmZWF0dXJlLWhvbGRlciwgbnRoKCRxdWVyeSwgMyksIHNwYWNlKTtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgICAvLyBsZXQncyBjaGVjayB0byBzZWUgaWYgdGhlIGZpcnN0IGl0ZW0gaXMgYSBtZWRpYSB0eXBlXG4gICAgICBAZWxzZSBpZiBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCBudGgoJHF1ZXJ5LCAxKSk7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKG50aCgkcXVlcnksIDIpLCBudGgoJHF1ZXJ5LCAzKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIGl0J3MgYSBzaW5nbGUgaXRlbSwgb3IgaWYgaXQncyBub3QgYSBzcGVjaWFsIGNhc2UgZG91YmxlIG9yIHRyaXBsZSwgd2UgY2FuIHNpbXBseSByZXR1cm4gdGhlIHF1ZXJ5LlxuICBAcmV0dXJuICRxdWVyeTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwic2luZ2xlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2Utc2luZ2xlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIC8vIElmIGl0J3MgYSBzaW5nbGUgZmVhdHVyZSB0aGF0IGNhbiBzdGFuZCBhbG9uZSwgd2UgbGV0IGl0XG4gIEBpZiAoYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKCRmZWF0dXJlKSkge1xuICAgICRwYXJzZWQ6ICRmZWF0dXJlO1xuICAgIC8vIFNldCBDb250ZXh0XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICRmZWF0dXJlKTtcbiAgfVxuICAvLyBJZiBpdCdzIG5vdCBhIHN0YW5kIGFsb25lIGZlYXR1cmUsIHdlIHBhc3MgaXQgb2ZmIHRvIHRoZSBkZWZhdWx0IGhhbmRsZXIuXG4gIEBlbHNlIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQoJGZlYXR1cmUpO1xuICB9XG5cbiAgQHJldHVybiAkbGVhZGVyICsgJygnICsgJHBhcnNlZCArICcpJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQoJGZlYXR1cmUpIHtcbiAgJGRlZmF1bHQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IGZlYXR1cmUnKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZGVmYXVsdCwgJGZlYXR1cmUpO1xuXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIGFuZCAodHlwZS1vZigkZmVhdHVyZSkgPT0gJ251bWJlcicpIHtcbiAgICBAcmV0dXJuICcjeyRkZWZhdWx0fTogI3ticmVha3BvaW50LXRvLWJhc2UtZW0oJGZlYXR1cmUpfSc7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJyN7JGRlZmF1bHR9OiAjeyRmZWF0dXJlfSc7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiZG91YmxlL2RlZmF1bHQtcGFpclwiO1xuQGltcG9ydCBcImRvdWJsZS9kb3VibGUtc3RyaW5nXCI7XG5AaW1wb3J0IFwiZG91YmxlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gICRmaXJzdDogbnRoKCRmZWF0dXJlLCAxKTtcbiAgJHNlY29uZDogbnRoKCRmZWF0dXJlLCAyKTtcblxuICAvLyBJZiB3ZSd2ZSBnb3QgdHdvIG51bWJlcnMsIHdlIGtub3cgd2UgbmVlZCB0byB1c2UgdGhlIGRlZmF1bHQgcGFpciBiZWNhdXNlIHRoZXJlIGFyZSBubyBtZWRpYSBxdWVyaWVzIHRoYXQgaGFzIGEgbWVkaWEgZmVhdHVyZSB0aGF0IGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCRmaXJzdCkgPT0gJ251bWJlcicgYW5kIHR5cGUtb2YoJHNlY29uZCkgPT0gJ251bWJlcicge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdC1wYWlyKCRmaXJzdCwgJHNlY29uZCk7XG4gIH1cbiAgLy8gSWYgdGhleSBhcmUgYm90aCBzdHJpbmdzLCB3ZSBzZW5kIGl0IHRocm91Z2ggdGhlIHN0cmluZyBwYXJzZXJcbiAgQGVsc2UgaWYgdHlwZS1vZigkZmlyc3QpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKCRzZWNvbmQpID09ICdzdHJpbmcnIHtcbiAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1zdHJpbmcoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuICAvLyBJZiBpdCdzIGEgc3RyaW5nL251bWJlciBwYWlyLCB3ZSBwYXJzZSBpdCBhcyBhIG5vcm1hbCBkb3VibGVcbiAgQGVsc2Uge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLWRlZmF1bHQoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxlYWRlciArICRwYXJzZWQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0LXBhaXIoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRkZWZhdWx0OiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBwYWlyJyk7XG4gICRtaW46ICcnO1xuICAkbWF4OiAnJztcblxuICAvLyBTb3J0IGludG8gbWluIGFuZCBtYXhcbiAgJG1pbjogbWluKCRmaXJzdCwgJHNlY29uZCk7XG4gICRtYXg6IG1heCgkZmlyc3QsICRzZWNvbmQpO1xuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1pbi0jeyRkZWZhdWx0fSwgJG1pbik7XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1heC0jeyRkZWZhdWx0fSwgJG1heCk7XG5cbiAgLy8gTWFrZSB0aGVtIEVNcyBpZiBuZWVkIGJlXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIHtcbiAgICAkbWluOiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1pbik7XG4gICAgJG1heDogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtYXgpO1xuICB9XG5cbiAgQHJldHVybiAnKG1pbi0jeyRkZWZhdWx0fTogI3skbWlufSkgYW5kIChtYXgtI3skZGVmYXVsdH06ICN7JG1heH0pJztcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1zdHJpbmcoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRmZWF0dXJlOiAnJztcbiAgJHZhbHVlOiAnJztcblxuICAvLyBUZXN0IHRvIHNlZSB3aGljaCBpcyB0aGUgZmVhdHVyZSBhbmQgd2hpY2ggaXMgdGhlIHZhbHVlXG4gIEBpZiAoYnJlYWtwb2ludC1zdHJpbmctdmFsdWUoJGZpcnN0KSA9PSB0cnVlKSB7XG4gICAgJGZlYXR1cmU6ICRmaXJzdDtcbiAgICAkdmFsdWU6ICRzZWNvbmQ7XG4gIH1cbiAgQGVsc2UgaWYgKGJyZWFrcG9pbnQtc3RyaW5nLXZhbHVlKCRzZWNvbmQpID09IHRydWUpIHtcbiAgICAkZmVhdHVyZTogJHNlY29uZDtcbiAgICAkdmFsdWU6ICRmaXJzdDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJOZWl0aGVyICN7JGZpcnN0fSBub3IgI3skc2Vjb25kfSBpcyBhIHZhbGlkIG1lZGlhIHF1ZXJ5IG5hbWUuXCI7XG4gIH1cblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJHZhbHVlKTtcblxuICBAcmV0dXJuICcoI3skZmVhdHVyZX06ICN7JHZhbHVlfSknO1xufSIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRvdWJsZS1kZWZhdWx0KCRmaXJzdCwgJHNlY29uZCkge1xuICAkZmVhdHVyZTogJyc7XG4gICR2YWx1ZTogJyc7XG5cbiAgQGlmIHR5cGUtb2YoJGZpcnN0KSA9PSAnc3RyaW5nJyB7XG4gICAgJGZlYXR1cmU6ICRmaXJzdDtcbiAgICAkdmFsdWU6ICRzZWNvbmQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICRmZWF0dXJlOiAkc2Vjb25kO1xuICAgICR2YWx1ZTogJGZpcnN0O1xuICB9XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJGZlYXR1cmUsICR2YWx1ZSk7XG5cbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkge1xuICAgICR2YWx1ZTogYnJlYWtwb2ludC10by1iYXNlLWVtKCR2YWx1ZSk7XG4gIH1cblxuICBAcmV0dXJuICcoI3skZmVhdHVyZX06ICN7JHZhbHVlfSknXG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydCBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInRyaXBsZS9kZWZhdWx0XCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXRyaXBsZSgkZmVhdHVyZSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJHBhcnNlZDogJyc7XG4gICRsZWFkZXI6ICcnO1xuXG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIC8vIHNlcGFyYXRlIHRoZSBzdHJpbmcgZmVhdHVyZXMgZnJvbSB0aGUgdmFsdWUgbnVtYmVyc1xuICAkc3RyaW5nOiBudWxsO1xuICAkbnVtYmVyczogbnVsbDtcbiAgQGVhY2ggJHZhbCBpbiAkZmVhdHVyZSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gc3RyaW5nIHtcbiAgICAgICRzdHJpbmc6ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiB0eXBlLW9mKCRudW1iZXJzKSA9PSAnbnVsbCcge1xuICAgICAgICAkbnVtYmVyczogJHZhbDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG51bWJlcnM6IGFwcGVuZCgkbnVtYmVycywgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS10cmlwbGUtZGVmYXVsdCgkc3RyaW5nLCBudGgoJG51bWJlcnMsIDEpLCBudGgoJG51bWJlcnMsIDIpKTtcblxuICBAcmV0dXJuICRsZWFkZXIgKyAkcGFyc2VkO1xuXG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS10cmlwbGUtZGVmYXVsdCgkZmVhdHVyZSwgJGZpcnN0LCAkc2Vjb25kKSB7XG5cbiAgLy8gU29ydCBpbnRvIG1pbiBhbmQgbWF4XG4gICRtaW46IG1pbigkZmlyc3QsICRzZWNvbmQpO1xuICAkbWF4OiBtYXgoJGZpcnN0LCAkc2Vjb25kKTtcblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtaW4tI3skZmVhdHVyZX0sICRtaW4pO1xuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dChtYXgtI3skZmVhdHVyZX0sICRtYXgpO1xuXG4gIC8vIE1ha2UgdGhlbSBFTXMgaWYgbmVlZCBiZVxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtaW4pO1xuICAgICRtYXg6IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWF4KTtcbiAgfVxuXG4gIEByZXR1cm4gJyhtaW4tI3skZmVhdHVyZX06ICN7JG1pbn0pIGFuZCAobWF4LSN7JGZlYXR1cmV9OiAjeyRtYXh9KSc7XG59XG4iLCJAaW1wb3J0IFwicmVzb2x1dGlvbi9yZXNvbHV0aW9uXCI7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWJ1aWxkLXJlc29sdXRpb24oJHF1ZXJ5LXByaW50LCAkcXVlcnktcmVzb2x1dGlvbiwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpIHtcbiAgJGxlYWRlcjogJyc7XG4gIC8vIElmIHdlJ3JlIGZvcmNpbmdcbiAgQGlmIG5vdCAoJGVtcHR5LW1lZGlhKSBvciBub3QgKCRmaXJzdCkge1xuICAgICRsZWFkZXI6ICdhbmQgJztcbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykgYW5kICRxdWVyeS1yZXNvbHV0aW9uIHtcbiAgICAkcmVzb2x1dGlvbnM6IGJyZWFrcG9pbnQtbWFrZS1yZXNvbHV0aW9ucygkcXVlcnktcmVzb2x1dGlvbik7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCRyZXNvbHV0aW9ucyk7XG4gICAgJHF1ZXJ5LWhvbGRlcjogJyc7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgJHF1ZXJ5OiAnI3skcXVlcnktcHJpbnR9ICN7JGxlYWRlcn0je250aCgkcmVzb2x1dGlvbnMsICRpKX0nO1xuICAgICAgQGlmICRpID09IDEge1xuICAgICAgICAkcXVlcnktaG9sZGVyOiAkcXVlcnk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6ICcjeyRxdWVyeS1ob2xkZXJ9LCAjeyRxdWVyeX0nO1xuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gUmV0dXJuIHdpdGggYXR0YWNoZWQgcmVzb2x1dGlvblxuICAgIEByZXR1cm4gJHF1ZXJ5LXByaW50O1xuICB9XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1tYWtlLXJlc29sdXRpb25zKCRyZXNvbHV0aW9uKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkcmVzb2x1dGlvbik7XG5cbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgJGZlYXR1cmU6ICcnO1xuICAgICR2YWx1ZTogJyc7XG5cbiAgICAvLyBGaW5kIHdoaWNoIGlzIG51bWJlclxuICAgIEBpZiB0eXBlLW9mKG50aCgkcmVzb2x1dGlvbiwgMSkpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogbnRoKCRyZXNvbHV0aW9uLCAxKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHZhbHVlOiBudGgoJHJlc29sdXRpb24sIDIpO1xuICAgIH1cblxuICAgIC8vIERldGVybWluZSBtaW4vbWF4L3N0YW5kYXJkXG4gICAgQGlmIGluZGV4KCRyZXNvbHV0aW9uLCAnbWluLXJlc29sdXRpb24nKSB7XG4gICAgICAkZmVhdHVyZTogJ21pbi0nO1xuICAgIH1cbiAgICBAZWxzZSBpZiBpbmRleCgkcmVzb2x1dGlvbiwgJ21heC1yZXNvbHV0aW9uJykge1xuICAgICAgJGZlYXR1cmU6ICdtYXgtJztcbiAgICB9XG5cbiAgICAkc3RhbmRhcmQ6ICcoI3skZmVhdHVyZX1yZXNvbHV0aW9uOiAjeyR2YWx1ZX0pJztcblxuICAgIC8vIElmIHdlJ3JlIG5vdCBkZWFsaW5nIHdpdGggZHBweCxcbiAgICBAaWYgdW5pdCgkdmFsdWUpICE9ICdkcHB4JyB7XG4gICAgICAkYmFzZTogOTZkcGk7XG4gICAgICBAaWYgdW5pdCgkdmFsdWUpID09ICdkcGNtJyB7XG4gICAgICAgICRiYXNlOiAyNDMuODRkcGNtO1xuICAgICAgfVxuICAgICAgLy8gV3JpdGUgb3V0IGZlYXR1cmUgdGVzdHNcbiAgICAgICR3ZWJraXQ6ICcnO1xuICAgICAgJG1vejogJyc7XG4gICAgICAkd2Via2l0OiAnKC13ZWJraXQtI3skZmVhdHVyZX1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gJGJhc2V9KSc7XG4gICAgICAkbW96OiAnKCN7JGZlYXR1cmV9LW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHZhbHVlIC8gJGJhc2V9KSc7XG4gICAgICAvLyBBcHBlbmQgdG8gb3V0cHV0XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHN0YW5kYXJkLCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHdlYmtpdCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRtb3osIHNwYWNlKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogJyc7XG4gICAgICAkbW96OiAnJztcbiAgICAgICR3ZWJraXQ6ICcoLXdlYmtpdC0jeyRmZWF0dXJlfWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAxZHBweH0pJztcbiAgICAgICRtb3o6ICcoI3skZmVhdHVyZX0tbW96LWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAxZHBweH0pJztcbiAgICAgICRmYWxsYmFjazogJygjeyRmZWF0dXJlfXJlc29sdXRpb246ICN7JHZhbHVlIC8gMWRwcHggKiA5NmRwaX0pJztcbiAgICAgIC8vIEFwcGVuZCB0byBvdXRwdXRcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkc3RhbmRhcmQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkd2Via2l0LCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJG1veiwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRmYWxsYmFjaywgc3BhY2UpO1xuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbm8tcXVlcnkoJHF1ZXJ5KSB7XG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gJ2xpc3QnIHtcbiAgICAka2V5d29yZDogbnRoKCRxdWVyeSwgMSk7XG5cbiAgICBAaWYgdHlwZS1vZigka2V5d29yZCkgPT0gJ3N0cmluZycgYW5kICgka2V5d29yZCA9PSAnbm8tcXVlcnknIG9yICRrZXl3b3JkID09ICdubyBxdWVyeScgb3IgJGtleXdvcmQgPT0gJ2ZhbGxiYWNrJykge1xuICAgICAgQHJldHVybiBudGgoJHF1ZXJ5LCAyKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCB0aGUgQnJlYWtwb2ludHMgdmFyaWFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcbiRCUkVBS1BPSU5UUzogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVzcG9uZC10byBBUEkgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIHJlc3BvbmQtdG8oJGNvbnRleHQsICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGlmIGxlbmd0aCgkYnJlYWtwb2ludHMpID4gMCBhbmQgbGVuZ3RoKCRCUkVBS1BPSU5UUykgPT0gMCB7XG4gICAgQHdhcm4gXCJJbiBvcmRlciB0byBhdm9pZCB2YXJpYWJsZSBuYW1lc3BhY2UgY29sbGlzaW9ucywgd2UgaGF2ZSB1cGRhdGVkIHRoZSB3YXkgdG8gYWRkIGJyZWFrcG9pbnRzIGZvciByZXNwb25kLXRvLiBQbGVhc2UgY2hhbmdlIGFsbCBpbnN0YW5jZXMgb2YgYCRicmVha3BvaW50czogYWRkLWJyZWFrcG9pbnQoKWAgdG8gYEBpbmNsdWRlIGFkZC1icmVha3BvaW50KClgLiBUaGUgYGFkZC1icmVha3BvaW50KClgIGZ1bmN0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLlwiO1xuICAgICRCUkVBS1BPSU5UUzogJGJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICAgJGJyZWFrcG9pbnRzOiAoKSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJEJSRUFLUE9JTlRTKSAhPSAnbWFwJyB7XG4gICAgLy8gSnVzdCBpbiBjYXNlIHNvbWVvbmUgd3JpdGVzIGdpYmJlcmlzaCB0byB0aGUgJGJyZWFrcG9pbnRzIHZhcmlhYmxlLlxuICAgIEB3YXJuIFwiWW91ciBicmVha3BvaW50cyBhcmVuJ3QgYSBtYXAhIGByZXNwb25kLXRvYCBleHBlY3RzIGEgbWFwLiBQbGVhc2UgY2hlY2sgdGhlIHZhbHVlIG9mICRCUkVBS1BPSU5UUyB2YXJpYWJsZS5cIjtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRjb250ZXh0KSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtYXAtZ2V0KCRCUkVBS1BPSU5UUywgJGNvbnRleHQpLCAkbm8tcXVlcnkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiBub3QgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkY29udGV4dCkge1xuICAgIEB3YXJuIFwiYCN7JGNvbnRleHR9YCBpc24ndCBhIGRlZmluZWQgYnJlYWtwb2ludCEgUGxlYXNlIGFkZCBpdCB1c2luZyBgJGJyZWFrcG9pbnRzOiBhZGQtYnJlYWtwb2ludChgI3skY29udGV4dH1gLCAkdmFsdWUpO2BcIjtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJZb3UgaGF2ZW4ndCBjcmVhdGVkIGFueSBicmVha3BvaW50cyB5ZXQhIE1ha2Ugc29tZSBhbHJlYWR5ISBgQGluY2x1ZGUgYWRkLWJyZWFrcG9pbnQoJG5hbWUsICRia3B0KWBcIjtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEFkZCBCcmVha3BvaW50IHRvIEJyZWFrcG9pbnRzXG4vLyBUT0RPOiBSZW1vdmUgZnVuY3Rpb24gaW4gbmV4dCByZWxlYXNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJGJrcHQsICRvdmVyd3JpdGU6IGZhbHNlKSB7XG4gICRvdXRwdXQ6ICgkbmFtZTogJGJrcHQpO1xuXG4gIEBpZiBsZW5ndGgoJGJyZWFrcG9pbnRzKSA9PSAwIHtcbiAgICBAcmV0dXJuICRvdXRwdXQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSBhbmQgJG92ZXJ3cml0ZSAhPSB0cnVlIHtcbiAgICAgIEB3YXJuIFwiWW91IGFscmVhZHkgaGF2ZSBhIGJyZWFrcG9pbnQgbmFtZWQgYCN7JG5hbWV9YCwgcGxlYXNlIGNob29zZSBhbm90aGVyIGJyZWFrcG9pbnQgbmFtZSwgb3IgcGFzcyBpbiBgJG92ZXJ3cml0ZTogdHJ1ZWAgdG8gb3ZlcndyaXRlIHRoZSBwcmV2aW91cyBicmVha3BvaW50LlwiO1xuICAgICAgQHJldHVybiAkYnJlYWtwb2ludHM7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSBvciAkb3ZlcndyaXRlID09IHRydWUge1xuICAgICAgQHJldHVybiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkb3V0cHV0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFkZC1icmVha3BvaW50KCRuYW1lLCAkYmtwdCwgJG92ZXJ3cml0ZTogZmFsc2UpIHtcbiAgJG91dHB1dDogKCRuYW1lOiAkYmtwdCk7XG5cbiAgQGlmIGxlbmd0aCgkQlJFQUtQT0lOVFMpID09IDAge1xuICAgICRCUkVBS1BPSU5UUzogJG91dHB1dCAhZ2xvYmFsO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJEJSRUFLUE9JTlRTLCAkbmFtZSkgYW5kICRvdmVyd3JpdGUgIT0gdHJ1ZSB7XG4gICAgICBAd2FybiBcIllvdSBhbHJlYWR5IGhhdmUgYSBicmVha3BvaW50IG5hbWVkIGAjeyRuYW1lfWAsIHBsZWFzZSBjaG9vc2UgYW5vdGhlciBicmVha3BvaW50IG5hbWUsIG9yIHBhc3MgaW4gYCRvdmVyd3JpdGU6IHRydWVgIHRvIG92ZXJ3cml0ZSB0aGUgcHJldmlvdXMgYnJlYWtwb2ludC5cIjtcbiAgICAgICRCUkVBS1BPSU5UUzogJEJSRUFLUE9JTlRTICFnbG9iYWw7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRuYW1lKSBvciAkb3ZlcndyaXRlID09IHRydWUge1xuICAgICAgJEJSRUFLUE9JTlRTOiBtYXAtbWVyZ2UoJEJSRUFLUE9JTlRTLCAkb3V0cHV0KSAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuXG5AZnVuY3Rpb24gZ2V0LWJyZWFrcG9pbnQoJG5hbWU6IGZhbHNlKSB7XG4gIEBpZiAkbmFtZSA9PSBmYWxzZSB7XG4gICAgQHJldHVybiAkQlJFQUtQT0lOVFM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkQlJFQUtQT0lOVFMsICRuYW1lKTtcbiAgfVxufVxuIiwiQG1peGluIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nIHtcbiAgJGxlZ2FjeVZhcnM6IChcbiAgICAnZGVmYXVsdC1tZWRpYSc6ICdkZWZhdWx0IG1lZGlhJyxcbiAgICAnZGVmYXVsdC1mZWF0dXJlJzogJ2RlZmF1bHQgZmVhdHVyZScsXG4gICAgJ2ZvcmNlLW1lZGlhLWFsbCc6ICdmb3JjZSBhbGwgbWVkaWEgdHlwZScsXG4gICAgJ3RvLWVtcyc6ICd0byBlbXMnLFxuICAgICdyZXNvbHV0aW9ucyc6ICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnLFxuICAgICduby1xdWVyaWVzJzogJ25vIHF1ZXJpZXMnLFxuICAgICduby1xdWVyeS1mYWxsYmFja3MnOiAnbm8gcXVlcnkgZmFsbGJhY2tzJyxcbiAgICAnYmFzZS1mb250LXNpemUnOiAnYmFzZSBmb250IHNpemUnLFxuICAgICdsZWdhY3ktc3ludGF4JzogJ2xlZ2FjeSBzeW50YXgnXG4gICk7XG5cbiAgQGVhY2ggJGxlZ2FjeSwgJG5ldyBpbiAkbGVnYWN5VmFycyB7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtJyArICRsZWdhY3kpIHtcbiAgICAgIEB3YXJuIFwiSW4gb3JkZXIgdG8gYXZvaWQgdmFyaWFibGUgbmFtc3BhY2UgY29sbGlzaW9ucywgd2UgaGF2ZSB1cGRhdGVkIHRoZSB3YXkgdG8gY2hhbmdlIHNldHRpbmdzIGZvciBCcmVha3BvaW50LiBQbGVhc2UgY2hhbmdlIGFsbCBpbnN0YW5jZXMgb2YgYCRicmVha3BvaW50LSN7JGxlZ2FjeX06IHt7c2V0dGluZ319YCB0byBgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJyN7JG5ld30nLCB7e3NldHRpbmd9fSlgLiBWYXJpYWJsZSBzZXR0aW5ncywgYXMgd2VsbCBhcyB0aGlzIHdhcm5pbmcgd2lsbCBiZSBkZXByZWNhdGVkIGluIGEgZnV0dXJlIHJlbGVhc2UuXCJcbiAgICB9XG4gIH07XG5cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIEhhbmQgY29ycmVjdCBlYWNoIHNldHRpbmdcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWRlZmF1bHQtbWVkaWEnKSBhbmQgJGJyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYSAhPSBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZGVmYXVsdCBtZWRpYScsICRicmVha3BvaW50LWRlZmF1bHQtbWVkaWEpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZScpIGFuZCAkYnJlYWtwb2ludC1kZWZhdWx0LWZlYXR1cmUgIT0gYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgZmVhdHVyZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZGVmYXVsdCBmZWF0dXJlJywgJGJyZWFrcG9pbnQtZGVmYXVsdC1mZWF0dXJlKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwnKSBhbmQgJGJyZWFrcG9pbnQtZm9yY2UtbWVkaWEtYWxsICE9IGJyZWFrcG9pbnQtZ2V0KCdmb3JjZSBhbGwgbWVkaWEgdHlwZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnZm9yY2UgYWxsIG1lZGlhIHR5cGUnLCAkYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LXRvLWVtcycpIGFuZCAkYnJlYWtwb2ludC10by1lbXMgIT0gYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgndG8gZW1zJywgJGJyZWFrcG9pbnQtdG8tZW1zKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1yZXNvbHV0aW9ucycpIGFuZCAkYnJlYWtwb2ludC1yZXNvbHV0aW9ucyAhPSBicmVha3BvaW50LWdldCgndHJhbnNmb3JtIHJlc29sdXRpb25zJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnLCAkYnJlYWtwb2ludC1yZXNvbHV0aW9ucyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbm8tcXVlcmllcycpIGFuZCAkYnJlYWtwb2ludC1uby1xdWVyaWVzICE9IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdubyBxdWVyaWVzJywgJGJyZWFrcG9pbnQtbm8tcXVlcmllcyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzJykgYW5kICRicmVha3BvaW50LW5vLXF1ZXJ5LWZhbGxiYWNrcyAhPSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdubyBxdWVyeSBmYWxsYmFja3MnLCAkYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWJhc2UtZm9udC1zaXplJykgYW5kICRicmVha3BvaW50LWJhc2UtZm9udC1zaXplICE9IGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnYmFzZSBmb250IHNpemUnLCAkYnJlYWtwb2ludC1iYXNlLWZvbnQtc2l6ZSk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtbGVnYWN5LXN5bnRheCcpIGFuZCAkYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4ICE9IGJyZWFrcG9pbnQtZ2V0KCdsZWdhY3kgc3ludGF4Jykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdsZWdhY3kgc3ludGF4JywgJGJyZWFrcG9pbnQtbGVnYWN5LXN5bnRheCk7XG4gIH1cbn0iLCJAaW1wb3J0ICcuLi9icmVha3BvaW50JztcclxuJGxnNCA6IG1heC13aWR0aCAgMTI2MHB4O1xyXG4kbGczIDogbWF4LXdpZHRoICAxNDAwcHg7XHJcbiRsZzIgOiBtYXgtd2lkdGggIDEwMjNweDtcclxuJGxnMSA6IG1heC13aWR0aCAgOTQwcHg7XHJcbiRsZyA6IG1heC13aWR0aCAgNzY3cHg7XHJcbiRsZ3ggOiBtYXgtd2lkdGggNzAwcHg7XHJcbiRtZyA6IG1heC13aWR0aCA2NDBweDtcclxuJG1kIDogbWF4LXdpZHRoIDQ4MHB4O1xyXG4kc20gOiBtYXgtd2lkdGggMzYwcHg7XHJcbiR4cyA6IG1heC13aWR0aCAzMjBweDtcclxuXHJcbiRjb3JfYmx1ZTojMzE0MzZiO1xyXG4kY29yX2JsdWUyOiM2MzdmZDI7XHJcbiRjb3JfcGluazojZjA1MjkxO1xyXG4kY29yX2dyYXk6IzVkNWQ1ZDtcclxuJGNvcl9kYXJrZ3JheTojMzMzO1xyXG4kY29yX2RhcmtibHVlOiM3ODdkOWE7XHJcblxyXG5he3BhZGRpbmc6MDt9XHJcbiAuam9obm55LXV0YWgge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxneCkge1xyXG4gICAgY29udGVudDogJ1dob2EuJztcclxuICB9XHJcbiAgXHJcbn1cclxuQG1peGluIGVsbHtcclxuIG92ZXJmbG93OmhpZGRlbjtcclxuIHdoaXRlLXNwYWNlOm5vd3JhcDtcclxuIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XHJcbiBkaXNwbGF5OmJsb2NrO1xyXG59XHJcbkBtaXhpbiBjbGVhcmZpeCB7IGRpc3BsYXk6IGJsb2NrOyBcclxuXHQmOmJlZm9yZSwmOmFmdGVyeyBjb250ZW50OiBcIi5cIjsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMDsgY2xlYXI6IGJvdGg7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9yMXtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcbn1cclxuXHJcbi5jbGVhci1sZzJ7Y2xlYXI6Ym90aDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtjbGVhcjpub25lfVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKSB7Y2xlYXI6Ym90aDt9XHJcbn1cclxuLmNsZWFyLWxnMXtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzIpIHtjbGVhcjpub25lfVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnMSkge2NsZWFyOmJvdGh9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGd4KSB7Y2xlYXI6bm9uZX1cclxufVxyXG4ubGcye2Rpc3BsYXk6YmxvY2s7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcxKSB7XHJcblx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdH1cclxufVxyXG4ubGcxe2Rpc3BsYXk6bm9uZTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZzEpIHtcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdH1cclxufVxyXG5cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QW9CbUJBLEFBQUEsQ0FBQyxDQUFBLEVBQUMsT0FBTyxFQUFDLENBQUMsR0FBSTs7QW5CNkNYLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJbUI1QzVCLEFBQUEsWUFBWSxDQUFDLEVBRVYsT0FBTyxFQUFFLE9BQU8sR0FHbkI7O0FBZUQsQUFBQSxVQUFVLENBQUEsRUFBQyxLQUFLLEVBQUMsSUFBSSxHQUdwQjs7QW5CcUJHLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJbUJ4QjdCLEFBQUEsVUFBVSxDQUFBLEVBQ2tCLEtBQUssRUFBQyxJQUFJLEdBRXJDOztBbkJxQkcsTUFBTSxFQUFHLFNBQVMsRUFBRSxLQUFLLEltQnhCN0IsQUFBQSxVQUFVLENBQUEsRUFFaUIsS0FBSyxFQUFDLElBQUksR0FDcEM7O0FuQnFCRyxNQUFNLEVBQUcsU0FBUyxFQUFFLE1BQU0sSW1CcEI5QixBQUFBLFVBQVUsQ0FBQSxFQUNrQixLQUFLLEVBQUMsSUFBSSxHQUdyQzs7QW5CZ0JHLE1BQU0sRUFBRyxTQUFTLEVBQUUsS0FBSyxJbUJwQjdCLEFBQUEsVUFBVSxDQUFBLEVBRWtCLEtBQUssRUFBQyxJQUFJLEdBRXJD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 */
