.nav.expanded{position:absolute;top:45%;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);z-index:2;text-align:center;width:795px;-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;-ms-transition:all 0.5s;transition:all 0.5s;}@media only screen and (max-width:800px){.nav.expanded{position:absolute;top:35%;left:50%}}.nav.expanded h1{font-size:60px;font-weight:700;margin:0;position:absolute;top:-140px;left:0;text-align:center;width:100%;white-space:nowrap;color:#fff;-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);-o-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);}@media only screen and (max-width:800px){.nav.expanded h1{line-height:1.2}}.nav.expanded h2.select{position:absolute;top:-160px;left:0;right:0;text-align:center;color:#fff;font-size:40px;font-weight:normal;margin:0;font-weight:200}.nav.expanded h5{position:absolute;top:-60px;left:0;right:0;font-size:22px;text-align:center;margin:0;color:#fff;font-weight:300}.nav.expanded button{background-color:#fff;color:#004dce;position:absolute;top:290px;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;border-radius:22px;letter-spacing:1px;padding:12px 64px;-webkit-appearance:none;line-height:1;border:2px solid #fff;cursor:pointer;}@media only screen and (max-width:800px){.nav.expanded button{top:260px}}.nav.expanded a.trial{background-color:transparent;color:#fff;position:absolute;top:350px;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;border-radius:22px;letter-spacing:1px;padding:12px 64px;border:2px solid #fff;text-decoration:none;line-height:1;width:auto;height:auto;margin:0;}@media only screen and (max-width:800px){.nav.expanded a.trial{width:95%;top:320px}}.nav.expanded a:not(.trial){width:calc(30% - 140px);height:200px;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;-ms-transition:all 0.3s;transition:all 0.3s;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;margin:0 70px;display:inline-block;-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-o-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;}@media only screen and (max-width:800px){.nav.expanded a:not(.trial){width:80%;margin:0 0 35px;height:50px;-webkit-background-size:contain;-moz-background-size:contain;background-size:contain;background-position:left center;padding-left:65px;text-align:left}}.nav.expanded a:not(.trial):hover{-webkit-transform:scale(1.15);-moz-transform:scale(1.15);-o-transform:scale(1.15);-ms-transform:scale(1.15);transform:scale(1.15)}.nav.expanded a:not(.trial) .icon{position:absolute;top:-7px;left:-7px;width:66px;height:66px;-webkit-transition:opacity 0.75s;-moz-transition:opacity 0.75s;-o-transition:opacity 0.75s;-ms-transition:opacity 0.75s;transition:opacity 0.75s;opacity:1;z-index:1}.nav.expanded a:not(.trial) .label{-webkit-transition:opacity 0.75s;-moz-transition:opacity 0.75s;-o-transition:opacity 0.75s;-ms-transition:opacity 0.75s;transition:opacity 0.75s;font-size:28px;font-weight:200;color:#fff;position:absolute;bottom:-20px;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);text-align:center;white-space:nowrap;-webkit-transition:opacity 0.3s;-moz-transition:opacity 0.3s;-o-transition:opacity 0.3s;-ms-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}@media only screen and (max-width:800px){.nav.expanded a:not(.trial) .label{position:relative;bottom:auto;left:auto;font-size:26px}}.nav.expanded .join{background:url("images_v2/icon_touch_to_join.svg") no-repeat center center/57%}.nav.expanded .huddle{background:url("images_v2/icon_iphone_wifi.svg") no-repeat center center/50%}.nav.expanded .central_management{background:url("images_v2/icon_central_management.svg") no-repeat center center/70%;width:calc(36% - 140px)}.nav.expanded.collapse{top:99px;left:-248px;opacity:0;}.nav.expanded.collapse a{border-width:0;padding:8px;}.nav.expanded.collapse a.active{border-width:12px;-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-o-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.nav.expanded.collapse a .label{opacity:0;}.nav.expanded.collapse a .inner_label{opacity:0;}.nav.expanded.collapse a .icon{opacity:0;}.nav.expanded.collapse h2.select,.nav.expanded.collapse h5,.nav.expanded.collapse button{opacity:0;}.nav.expanded.hide{pointer-events:none;opacity:0;}.nav.collapsed{position:absolute;top:100px;left:50px;width:100px;height:280px;z-index:3;opacity:0;pointer-events:none;-webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;-ms-transition:opacity 1s;transition:opacity 1s;}.nav.collapsed.active{opacity:1;pointer-events:auto}.nav.collapsed a{width:60px;height:60px;display:inline-block;border-radius:100%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;-ms-transition:all 0.5s;transition:all 0.5s;position:relative;-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-o-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;}.nav.collapsed a.join{background:url("images_v2/icon_touch_to_join-round-blue.svg") no-repeat center center/contain;position:absolute;top:0;left:50%;}.nav.collapsed a.huddle{background:url("images_v2/icon_iphone_wifi-round-blue.svg") no-repeat center center/contain;position:absolute;top:36%;left:50%;}.nav.collapsed a.central_management{background:url("images_v2/icon_central_management-round-blue.svg") no-repeat center center/contain;position:absolute;top:72%;left:50%;}.nav.collapsed a.active,.nav.collapsed a:hover{height:100px;width:100px}.nav.collapsed a:hover > .label{opacity:1;max-width:10000px}.nav.collapsed .label{overflow:hidden;position:absolute;left:calc(100% + 20px);top:50%;background-color:#fff;border-radius:4px;font-size:28px;color:#33495f;padding:15px 15px;opacity:0;white-space:nowrap;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-o-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);max-width:0;width:auto;-webkit-transform-origin:50% left;-moz-transform-origin:50% left;-o-transform-origin:50% left;-ms-transform-origin:50% left;transform-origin:50% left;-webkit-transition:all 300ms ease-in;-moz-transition:all 300ms ease-in;-o-transition:all 300ms ease-in;-ms-transition:all 300ms ease-in;transition:all 300ms ease-in;display:inline-block;-webkit-box-shadow:0 4px 20px #9cacc2;box-shadow:0 4px 20px #9cacc2}#pagination{position:absolute;bottom:35px;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);z-index:100;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;min-width:200px;}#pagination button{-webkit-appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:20px;width:20px;margin:0 12px;border-radius:500px;border:none;-webkit-box-shadow:inset 0 0 0 1px #00bbfe;box-shadow:inset 0 0 0 1px #00bbfe;padding:10px;background-color:transparent;display:inline-block;}#pagination button.unlocked{background-color:#00bbfe;cursor:pointer}#pagination button.current{border:4px solid #fff;margin:0 6px}@media only screen and (max-width:800px){#pagination{bottom:10px;width:100%;-webkit-transform:translateX(-25%);-moz-transform:translateX(-25%);-o-transform:translateX(-25%);-ms-transform:translateX(-25%);transform:translateX(-25%)}}#return{position:absolute;top:30px;right:30px;z-index:2;background-image:url("images_v2/return-btn.svg");background-repeat:no-repeat;background-position:left center;-webkit-background-size:contain;-moz-background-size:contain;background-size:contain;background-color:transparent;color:#86929f;-webkit-appearance:none;border:none;padding:0 0 0 35px;height:30px;cursor:pointer;font-size:14px;line-height:30px;font-weight:bold;}#return.white{background-image:url("images_v2/return-btn-white.svg");color:#fff}@media only screen and (max-width:800px){.nav.expanded{position:absolute;top:37%;left:50%;width:360px;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);max-width:95%;}.nav.expanded h1{top:-220px;font-size:38px;white-space:normal;-webkit-transform:none;-moz-transform:none;-o-transform:none;-ms-transform:none;transform:none;line-height:1.2}.nav.expanded h2.select{top:-120px;font-size:24px}.nav.expanded h5{font-size:18px}.nav.expanded a{width:calc(32% - 50px);height:125px;border-width:3px;margin:0 25px;}.nav.expanded a .label{font-size:12px;bottom:-15px}.nav.expanded a.active{border-width:6px}.nav.expanded button{width:95%}.nav.expanded.collapse{top:80px;left:-77px;-webkit-transform:scale(.53);-moz-transform:scale(.53);-o-transform:scale(.53);-ms-transform:scale(.53);transform:scale(.53);}.nav.expanded.collapse a{padding:8px;}.nav.expanded.collapse a.active{border-width:6px}.nav.collapsed{display:none !important;position:absolute;top:0;left:0;width:320px;height:100px;}.nav.collapsed a{-webkit-transform:translate(0,-50%);-moz-transform:translate(0,-50%);-o-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);}.nav.collapsed a.join{top:50%;left:calc(25% - 30px);}.nav.collapsed a.join:hover,.nav.collapsed a.join.active{left:calc(25% - 40px)}.nav.collapsed a.huddle{top:50%;left:calc(50% - 30px);}.nav.collapsed a.huddle:hover,.nav.collapsed a.huddle.active{left:calc(50% - 40px)}.nav.collapsed a.central_management{top:50%;left:calc(75% - 30px);}.nav.collapsed a.central_management:hover,.nav.collapsed a.central_management.active{left:calc(75% - 40px)}.nav.collapsed a.active,.nav.collapsed a:hover{height:80px;width:80px}.nav.collapsed a .label{display:none}.form_open #stage{z-index:99}#return{top:10px}}body{margin:0;font-family:'Mukta',Helvetica,sans-serif;width:100%;height:100%}*,*:after,*::before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}button:focus{outline:none}#app{opacity:0;-webkit-transition:opacity 0.5s;-moz-transition:opacity 0.5s;-o-transition:opacity 0.5s;-ms-transition:opacity 0.5s;transition:opacity 0.5s;width:100%;height:100%;overflow:hidden}body.loaded #loading{opacity:0;pointer-events:none}body.loaded #app{opacity:1;}.preload{position:fixed;top:-10000px;}#loading{opacity:1;-webkit-transition:opacity 0.5s;-moz-transition:opacity 0.5s;-o-transition:opacity 0.5s;-ms-transition:opacity 0.5s;transition:opacity 0.5s;z-index:5;position:fixed;top:0;right:0;bottom:0;left:0;background:url("images_v2/loading_background.jpg") no-repeat center center/cover;width:100%;height:100%;}#loading .loading_icon{background:url("images/loading_icon.svg") no-repeat center center/contain;width:95px;height:75px;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}#loading .loading_icon:before{content:' ';-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:200px;height:200px;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border:2px solid #fff;border-radius:100%}#loading .loading_icon .ring{border:2px solid #fff;width:200px;height:200px;position:absolute;top:50%;left:50%;margin:-100px 0 0 -100px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:100%}#loading .logo{position:absolute;top:62px;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);border:none;width:140px}#loading .loading_message{position:absolute;bottom:-200px;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:200px;font-weight:200;text-align:center;color:#fff;font-size:24px}#stage{height:100%;width:100%;position:fixed;top:0;left:0;}#stage .overlay{background:url("images_v2/loading_background.jpg") no-repeat center center/cover;width:100%;height:100%;z-index:3;position:fixed;top:0;left:0;}#stage #scene_1{background:url("images_v2/table.jpg") no-repeat bottom center/1440px auto;position:fixed;top:0;left:0;width:100%;height:100%;-webkit-transition:all 1s;-moz-transition:all 1s;-o-transition:all 1s;-ms-transition:all 1s;transition:all 1s;opacity:0;pointer-events:none;}#stage #scene_1 #tv{width:100vh;height:65vh;max-width:1000px;max-height:650px;position:absolute;bottom:190px;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);background:url("images_v2/bjn-rooms-tv-frame-2.png") no-repeat center center/contain;}#stage #scene_1 #tv:before{background:url("images_v2/tv-screen-idle-955.jpg") no-repeat bottom center/cover;width:91.7%;height:82%;position:absolute;left:4.25%;top:9.5%;border-radius:4px;-webkit-box-shadow:inset 0 2px 10px rgba(0,0,0,0.8);box-shadow:inset 0 2px 10px rgba(0,0,0,0.8);content:''}#stage #scene_1 #tv.section_2:before{background:url("images_v2/tv-screen-idle-1019.jpg") no-repeat bottom center/cover}#stage #scene_1 #tv #video{background:url("images_v2/scene_1_screen_meeting.jpg") no-repeat bottom center/cover;width:91.7%;height:82%;position:absolute;left:4.25%;top:9.5%;display:none;border-radius:4px;-webkit-box-shadow:inset 0 2px 10px rgba(0,0,0,0.8);box-shadow:inset 0 2px 10px rgba(0,0,0,0.8)}#stage #scene_1 #DCP{width:333px;height:133px;max-width:100%;position:fixed;bottom:50px;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;-ms-transition:all 0.5s;transition:all 0.5s;background:url("images_v2/DCP_idle_v2.png") no-repeat center center/contain;}#stage #scene_1 #DCP.step_1_1{background:url("images_v2/dcp-meetings_v2.png") no-repeat center center/contain}#stage #scene_1 #DCP.step_1_2{background:url("images_v2/dcp-meetings-join_v2.png") no-repeat center center/contain}#stage #scene_1 #DCP.step_1_3{background:url("images_v2/dcp-in-meeting_v2.png") no-repeat center center/contain}#stage #scene_1 #DCP.step_2_2{background:url("images_v2/dcp-smart-popup.png") no-repeat center center/contain}#stage #scene_1 #DCP.step_2_3{background:url("images_v2/dcp-meetings-join_v2.png") no-repeat center center/contain}#stage #scene_1 #DCP.step_2_4{background:url("images_v2/dcp-in-meeting_v2.png") no-repeat center center/contain}@media only screen and (max-width:800px){#stage #scene_1 #DCP{top:45vh;bottom:auto;max-width:33%;width:150px;height:100px}}#stage #scene_1 #DCP_wrapper{height:100%;width:100%;position:absolute;top:100%;left:100%;-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;-ms-transition:all 0.5s;transition:all 0.5s;opacity:0;pointer-events:none;}#stage #scene_1 #DCP_wrapper.reveal{opacity:1;pointer-events:visible}#stage #scene_1 #DCP_wrapper #DCP_screen{position:fixed;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);height:100%;width:calc(100% - 300px);max-width:800px;max-height:453px;}#stage #scene_1 #DCP_wrapper #DCP_screen:before{content:' ';background-color:#000;background-repeat:no-repeat;background-position:center center;position:absolute;top:0;left:0;height:100%;width:100%;opacity:1;}#stage #scene_1 #DCP_wrapper #DCP_screen.meeting_list:before{background:url("images_v2/scene_1_screen_1.jpg") no-repeat top center/contain}#stage #scene_1 #DCP_wrapper #DCP_screen.meeting_list_click:before{background:url("images_v2/scene_1_screen_2.jpg") no-repeat top center/contain}#stage #scene_1 #DCP_wrapper #DCP_screen.in_meeting:before{background:url("images_v2/scene_1_screen_2.jpg") no-repeat top center/contain}#stage #scene_1 #DCP_wrapper #DCP_screen.in_meeting_huddle:before{background:url("images_v2/proximity-meetings.jpg") no-repeat top center/contain}#stage #scene_1 #DCP_wrapper #DCP_screen.meeting_details:before{background:url("images/OneTouchMeetingListOpen.jpg") no-repeat top center/contain}#stage #scene_1 #DCP_wrapper #DCP_screen.controls_panel:before{background:url("images_v2/scene_1_screen_3.jpg") no-repeat top center/contain}#stage #scene_1 #DCP_wrapper #DCP_screen.quick_notification:before{background:url("images_v2/scene_2_screen_1.jpg") no-repeat top center/contain}#stage #scene_1 #DCP_wrapper #DCP_screen.welcome:before{background:url("images/HuddleQuickNotification.jpg") no-repeat top center/cover}#stage #scene_1 #hand{background:url("images_v2/hand.png") no-repeat center center;width:396px;height:579px;position:fixed;bottom:0;left:-396px;-webkit-transition:all 0.75s;-moz-transition:all 0.75s;-o-transition:all 0.75s;-ms-transition:all 0.75s;transition:all 0.75s;-webkit-background-size:contain;-moz-background-size:contain;background-size:contain;}#stage #scene_1 #hand.active{left:0}@media screen and (max-height:800px){#stage #scene_1 #hand .tooltip{margin-top:200px}}#stage #scene_1 #hand.done_beaming{z-index:-1}#stage #scene_1 #hand .beam{opacity:0;position:absolute;left:500px;top:90px;-webkit-transform:rotate(130deg);-moz-transform:rotate(130deg);-o-transform:rotate(130deg);-ms-transform:rotate(130deg);transform:rotate(130deg);-webkit-transition:opacity 0.5s;-moz-transition:opacity 0.5s;-o-transition:opacity 0.5s;-ms-transition:opacity 0.5s;transition:opacity 0.5s;}#stage #scene_1 #hand .beam .dot{background-color:#24cf5f;border-radius:100%;width:20px;height:20px;position:absolute;top:90px;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}#stage #scene_1 #hand .beam .pulse{overflow:hidden;height:50px;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);opacity:0;-webkit-transition:opacity 0.4s;-moz-transition:opacity 0.4s;-o-transition:opacity 0.4s;-ms-transition:opacity 0.4s;transition:opacity 0.4s;}#stage #scene_1 #hand .beam .pulse:before{content:' ';border-radius:100%;border:10px solid #24cf5f;width:130px;height:100px;position:absolute;top:0;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}#stage #scene_1 #hand .beam .pulse:nth-child(2){position:absolute;top:0;left:50%;width:90px;-webkit-transition-delay:.3s;-moz-transition-delay:.3s;-o-transition-delay:.3s;-ms-transition-delay:.3s;transition-delay:.3s}#stage #scene_1 #hand .beam .pulse:nth-child(3){position:absolute;top:30px;left:50%;width:70px;-webkit-transition-delay:.15s;-moz-transition-delay:.15s;-o-transition-delay:.15s;-ms-transition-delay:.15s;transition-delay:.15s}#stage #scene_1 #hand .beam .pulse:nth-child(4){position:absolute;top:60px;left:50%;width:50px;-webkit-transition-delay:0;-moz-transition-delay:0;-o-transition-delay:0;-ms-transition-delay:0;transition-delay:0}#stage #scene_1 #hand .beam.active{opacity:1;}#stage #scene_1 #hand .beam.blink .pulse{opacity:1;-webkit-transition-delay:0 !important;-moz-transition-delay:0 !important;-o-transition-delay:0 !important;-ms-transition-delay:0 !important;transition-delay:0 !important}#stage #scene_2{position:absolute;top:0;left:-100%;width:100%;height:100%;-webkit-transition:all 1s;-moz-transition:all 1s;-o-transition:all 1s;-ms-transition:all 1s;transition:all 1s;opacity:0;pointer-events:none;}#stage #scene_2 .form{pointer-events:none;position:absolute;top:50%;left:50%;background-color:#fff;padding:2rem 3rem 2rem 3rem;opacity:0;-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;-ms-transition:all 0.5s;transition:all 0.5s;-webkit-transform:translate(-50%);-moz-transform:translate(-50%);-o-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%);border-radius:8px;-webkit-box-shadow:0 5px 28px 6px rgba(0,0,0,0.2);box-shadow:0 5px 28px 6px rgba(0,0,0,0.2);width:78%;max-width:555px;z-index:5;text-align:center;}#stage #scene_2 .form.active{pointer-events:auto;opacity:1;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}#stage #scene_2 .form p{font-size:16px;color:#004dce;font-weight:700;letter-spacing:3px;margin-bottom:16px;text-transform:uppercase}#stage #scene_2 .form h2{font-size:32px;font-weight:700;line-height:1.3;margin-bottom:25px;margin-top:0}#stage #scene_2 .form a{background-color:#004dce;color:#fff;font-size:16px;padding:13px 70px;pointer-events:visible;margin-top:0;border-radius:100px;border:none;cursor:pointer;text-decoration:none;display:inline-block}#stage #scene_2 .form .close{position:absolute;top:15px;right:15px;font-size:24px;cursor:pointer}#stage #scene_2 .scene_background{background-color:#f0f1f3;position:absolute;top:0;left:0;width:100%;height:100%;background:-webkit-linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images/huddle_wall.jpg") center no-repeat/cover;background:-moz-linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images/huddle_wall.jpg") center no-repeat/cover;background:-o-linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images/huddle_wall.jpg") center no-repeat/cover;background:-ms-linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images/huddle_wall.jpg") center no-repeat/cover;background:linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images/huddle_wall.jpg") center no-repeat/cover;background-position:bottom center;-webkit-background-size:120% 100%;-moz-background-size:120% 100%;background-size:120% 100%;}#stage #scene_2 .scene_background img{position:absolute;bottom:0;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);height:100%;width:auto;opacity:0;}#stage #scene_2 .laptop_wrapper{position:absolute;bottom:-10%;left:50%;width:calc(16 / 9 * 100vh);height:100vh;opacity:0;-webkit-transition:opacity 0.5s;-moz-transition:opacity 0.5s;-o-transition:opacity 0.5s;-ms-transition:opacity 0.5s;transition:opacity 0.5s;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}#stage #scene_2 .laptop_wrapper.actived{opacity:1;}#stage #scene_2 .laptop_wrapper .screen{position:absolute;width:100%;height:100%;-webkit-transition:all 300ms ease-in;-moz-transition:all 300ms ease-in;-o-transition:all 300ms ease-in;-ms-transition:all 300ms ease-in;transition:all 300ms ease-in;}#stage #scene_2 .laptop_wrapper .screen.spotlight{overflow:hidden;-webkit-transition:all 300ms ease-in;-moz-transition:all 300ms ease-in;-o-transition:all 300ms ease-in;-ms-transition:all 300ms ease-in;transition:all 300ms ease-in}#stage #scene_2 .laptop_wrapper .screen .spotlight_interior{background:url("images_v2/scene_3_cc_1.jpg");-webkit-background-size:cover;-moz-background-size:cover;background-size:cover;background-repeat:no-repeat;background-position:center;-webkit-transition:all 300ms ease-in;-moz-transition:all 300ms ease-in;-o-transition:all 300ms ease-in;-ms-transition:all 300ms ease-in;transition:all 300ms ease-in}#stage #scene_2 .laptop_wrapper .screen.screen_2 .spotlight_interior{background:url("images_v2/scene_3_cc_2.jpg");-webkit-background-size:cover;-moz-background-size:cover;background-size:cover;background-repeat:no-repeat;background-position:center;-webkit-transition:all 300ms ease-in;-moz-transition:all 300ms ease-in;-o-transition:all 300ms ease-in;-ms-transition:all 300ms ease-in;transition:all 300ms ease-in}#stage #scene_2 .laptop_wrapper .screen.dark{background:-webkit-linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images_v2/scene_3_cc_1.jpg") center no-repeat/cover;background:-moz-linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images_v2/scene_3_cc_1.jpg") center no-repeat/cover;background:-o-linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images_v2/scene_3_cc_1.jpg") center no-repeat/cover;background:-ms-linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images_v2/scene_3_cc_1.jpg") center no-repeat/cover;background:linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images_v2/scene_3_cc_1.jpg") center no-repeat/cover;}#stage #scene_2 .laptop_wrapper .screen.dark.screen_2{background:-webkit-linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images_v2/scene_3_cc_2.jpg") center no-repeat/cover;background:-moz-linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images_v2/scene_3_cc_2.jpg") center no-repeat/cover;background:-o-linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images_v2/scene_3_cc_2.jpg") center no-repeat/cover;background:-ms-linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images_v2/scene_3_cc_2.jpg") center no-repeat/cover;background:linear-gradient(rgba(51,73,95,0.7), rgba(51,73,95,0.7)), url("images_v2/scene_3_cc_2.jpg") center no-repeat/cover}#stage #scene_2 .laptop_wrapper .laptop{position:absolute;top:0;left:0;width:100%;height:100%;background:url("images/laptop.png") no-repeat bottom center;-webkit-background-size:contain;-moz-background-size:contain;background-size:contain;}#stage #scene_2 .laptop_wrapper .laptop .screen_wrapper{position:absolute;bottom:24%;left:18.5%;right:18.5%;top:4.5%;background-color:#000}#stage.scene_1 #scene_1{opacity:1;pointer-events:auto}#stage.scene_2 #scene_1{left:100%}#stage.scene_2 #scene_2{left:0;opacity:1;pointer-events:auto}#stage .tooltip{width:342px;height:200px;position:absolute;-webkit-transform:translate(-50%,-100%);-moz-transform:translate(-50%,-100%);-o-transform:translate(-50%,-100%);-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transition:1200ms top ease-in, 1200ms left ease-in;-moz-transition:1200ms top ease-in, 1200ms left ease-in;-o-transition:1200ms top ease-in, 1200ms left ease-in;-ms-transition:1200ms top ease-in, 1200ms left ease-in;transition:1200ms top ease-in, 1200ms left ease-in;}#stage .tooltip.center_pip{top:50% !important;left:50% !important}#stage .tooltip .pip{cursor:pointer;position:absolute;bottom:-30px;left:50%;margin-left:-31px;opacity:.9;width:60px;height:60px;z-index:20;}#stage .tooltip .pip:before{content:' ';position:absolute;top:50%;left:50%;width:24px;height:24px;border-radius:100%;background-color:#ed3e69;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}#stage .tooltip .pip .ring{border:5px solid #ed3e69;width:26px;height:26px;position:absolute;top:50%;left:50%;margin:-13px 0 0 -13px;border-radius:100%;pointer-events:none}#stage .tooltip .content{position:absolute;top:50%;left:50%;width:80%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:left;}#stage .tooltip .content h2{margin:0 0 15px 0;color:#292929;font-size:22px;font-weight:700}#stage .tooltip .content p{margin:0;font-size:16px;color:#292929;line-height:1.5;font-weight:300}#stage .tooltip .content a{color:#004dce;text-decoration:none;display:block;font-size:12px;margin-top:8px}#stage .tooltip .content button{background-color:#004dce;color:#fff;-webkit-appearance:none;font-size:12px;padding:8px 26px;pointer-events:visible;float:right;margin-top:8px;border-radius:100px;border:none;cursor:pointer;font-weight:700}#stage .tooltip .background{background-color:#fff;-webkit-box-shadow:0 4px 20px rgba(156,172,194,0.5);box-shadow:0 4px 20px rgba(156,172,194,0.5);border-radius:5px;width:322px;height:200px;position:absolute;top:-30px;left:0;}#stage .tooltip .background:after{top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(255,255,255,0);border-top-color:#fff;border-width:15px;margin-left:-15px}#stage .tooltip .bubble_wrapper{opacity:0;height:100%;width:100%;position:absolute;bottom:0;left:0;-webkit-transform-origin:50% 100%;-moz-transform-origin:50% 100%;-o-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%;z-index:3}#stage .tooltip.shown{z-index:5}#stage .tooltip.tall{height:210px;}#stage .tooltip.tall .background{height:230px}#stage .tooltip.right{width:342px;height:200px;-webkit-transform:translate(0,-50%);-moz-transform:translate(0,-50%);-o-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);pointer-events:none;}#stage .tooltip.right .background{width:322px;height:200px;margin-left:20px;pointer-events:none;position:relative;top:auto;}#stage .tooltip.right .background:after{right:100%;left:auto;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(255,255,255,0);border-right-color:#fff;border-width:15px;margin-top:-15px}#stage .tooltip.right .bubble_wrapper{left:15px;-webkit-transform-origin:0% 50%;-moz-transform-origin:0% 50%;-o-transform-origin:0% 50%;-ms-transform-origin:0% 50%;transform-origin:0% 50%;pointer-events:none}#stage .tooltip.right .content{margin-left:3px;margin-top:0;top:50%;width:80%}#stage .tooltip.right .pip{position:absolute;left:-30px;top:50%;margin-left:0;margin-top:-31px;pointer-events:none}#stage .tooltip.right.active .background,#stage .tooltip.right.active .bubble_wrapper{pointer-events:auto}#stage .tooltip.bottom{-webkit-transform:translate(-50%,0);-moz-transform:translate(-50%,0);-o-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);pointer-events:none;}#stage .tooltip.bottom .pip{position:absolute;left:50%;top:-31px;margin-left:-31px;margin-top:0;pointer-events:none}#stage .tooltip.bottom .background{width:342px;height:200px;margin-top:40px;pointer-events:none;position:relative;top:auto;}#stage .tooltip.bottom .background:after{bottom:99%;top:auto;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:15px;margin-left:-15px}#stage .tooltip.bottom .background .bubble_wrapper{top:15px;-webkit-transform-origin:0% 50%;-moz-transform-origin:0% 50%;-o-transform-origin:0% 50%;-ms-transform-origin:0% 50%;transform-origin:0% 50%;pointer-events:none}@media only screen and (max-width:800px){#stage{height:100%;position:absolute;z-index:1;}#stage .tooltip{width:320px;position:fixed;height:27%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}#stage .tooltip .content h2{font-size:20px}#stage .tooltip .content p{font-size:14px}#stage .tooltip .content button{font-size:12px}#stage .tooltip .background{height:100%;top:auto}#stage .tooltip .background:after{display:none}#stage .tooltip.tall{height:30%}#stage #scene_1{height:60%;bottom:40vh;position:absolute;background:url("images_v2/table.jpg") no-repeat bottom center/400px auto;}#stage #scene_1 #tv{width:65vh;height:37vh;padding-bottom:0;top:10%;left:50%;max-width:auto;bottom:auto;}#stage #scene_1 #tv:before{width:80.5%;left:9.75%;height:81%;top:10%}#stage #scene_1 #tv #idle{width:80.5%;left:9.75%;height:81%;top:10%}#stage #scene_1 #tv #video{width:80.5%;left:9.75%;height:81%;top:10%}#stage #scene_1 #DCP{top:45%}#stage #scene_1 #DCP_wrapper{top:0;left:0;width:100%;height:100%;}#stage #scene_1 #DCP_wrapper #DCP_screen{top:15%;width:52vh;height:30vh;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-o-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);max-height:none}#stage #scene_1 #hand{height:300px;top:30%;bottom:auto;}#stage #scene_1 #hand.active{left:-180px;}#stage #scene_1 #hand.active .beam{left:385px}#stage #scene_1 #hand.done_beaming{left:-350px;z-index:-1;}#stage #scene_1 #hand.done_beaming .beam{display:none}#stage #scene_2 .laptop_wrapper{bottom:auto;top:30%;width:120vw;height:77vw;-webkit-transform-origin:left;-moz-transform-origin:left;-o-transform-origin:left;-ms-transform-origin:left;transform-origin:left;-webkit-transition:all 300ms ease-in;-moz-transition:all 300ms ease-in;-o-transition:all 300ms ease-in;-ms-transition:all 300ms ease-in;transition:all 300ms ease-in;}#stage #scene_2 .laptop_wrapper.zoom{top:20%;-webkit-transform:scale(1.2,1.2) translateX(-50%);-moz-transform:scale(1.2,1.2) translateX(-50%);-o-transform:scale(1.2,1.2) translateX(-50%);-ms-transform:scale(1.2,1.2) translateX(-50%);transform:scale(1.2,1.2) translateX(-50%);}#stage #scene_2 .laptop_wrapper.zoom.step_2{-webkit-transform:scale(2,2) translateX(-35%);-moz-transform:scale(2,2) translateX(-35%);-o-transform:scale(2,2) translateX(-35%);-ms-transform:scale(2,2) translateX(-35%);transform:scale(2,2) translateX(-35%);}#stage #scene_2 .laptop_wrapper.zoom.step_2 .spotlight_interior{-webkit-transform:scale(.5);-moz-transform:scale(.5);-o-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}#stage #scene_2 .laptop_wrapper.zoom.step_3{-webkit-transform:scale(2,2) translateX(-35%);-moz-transform:scale(2,2) translateX(-35%);-o-transform:scale(2,2) translateX(-35%);-ms-transform:scale(2,2) translateX(-35%);transform:scale(2,2) translateX(-35%);}#stage #scene_2 .laptop_wrapper.zoom.step_3 .spotlight_interior{-webkit-transform:scale(.5);-moz-transform:scale(.5);-o-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}#stage #scene_2 .laptop_wrapper.zoom.step_4{-webkit-transform:scale(2,2) translateX(-35%) translateY(-26%);-moz-transform:scale(2,2) translateX(-35%) translateY(-26%);-o-transform:scale(2,2) translateX(-35%) translateY(-26%);-ms-transform:scale(2,2) translateX(-35%) translateY(-26%);transform:scale(2,2) translateX(-35%) translateY(-26%);}#stage #scene_2 .laptop_wrapper.zoom.step_4 .spotlight_interior{-webkit-transform:scale(.5);-moz-transform:scale(.5);-o-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}#stage #scene_2 .laptop_wrapper.zoom.step_5{-webkit-transform:scale(2,2) translateX(-65%);-moz-transform:scale(2,2) translateX(-65%);-o-transform:scale(2,2) translateX(-65%);-ms-transform:scale(2,2) translateX(-65%);transform:scale(2,2) translateX(-65%);}#stage #scene_2 .laptop_wrapper.zoom.step_5 .spotlight_interior{-webkit-transform:scale(.5);-moz-transform:scale(.5);-o-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}#stage #scene_2 .laptop_wrapper.zoom .spotlight_interior{-webkit-transform-origin:top left;-moz-transform-origin:top left;-o-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left}#stage #scene_2 .laptop_wrapper .laptop{width:100%;height:100%;left:0%;}#stage #scene_2 .laptop_wrapper .laptop .screen_wrapper{top:4%;bottom:23%;left:14.25%;right:14.25%}#stage #scene_2 .form{padding-right:2rem;width:90%}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdi5zdHlsIiwiLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL3Bvc2l0aW9ucy5zdHlsIiwiLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL3ZlbmRvci5zdHlsIiwiLi4vbm9kZV9tb2R1bGVzL3J1cHR1cmUvcnVwdHVyZS9pbmRleC5zdHlsIiwiLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL2JvcmRlci1yYWRpdXMuc3R5bCIsIi4uL25vZGVfbW9kdWxlcy9uaWIvbGliL25pYi9ib3JkZXIuc3R5bCIsIi4uL25vZGVfbW9kdWxlcy9uaWIvbGliL25pYi9mbGV4LnN0eWwiLCIuLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvb3ZlcmZsb3cuc3R5bCIsImFwcC5zdHlsIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNDSUUsU0FBc0IsU0FHVixJQUE0QyxJQUE1QyxLQUE0QyxJQ29DeEMsa0JBQUcsaUJBQUgsZUFBRyxpQkFBSCxhQUFHLGlCQUFILGNBQUcsaUJBUk4sVUFBRyxpQkZoQ2pCLFFBQVMsRUFDVCxXQUFZLE9BQ1osTUFBTyxNRW9DVSxtQkFBc0MsU0FBdEMsZ0JBQXNDLFNBQXRDLGNBQXNDLFNBQXRDLGVBQXNDLFNBUnpDLFdBQStCLFVDOEduQyx5Q0FBQSxjRjNJVCxTQUFzQixTQUdWLElBQTRDLElBQTVDLEtBQTRDLEtERXpELGlCQUNDLFVBQVcsS0FDWCxZQUFhLElBQ2IsT0FBUSxFQ1JSLFNBQXNCLFNBR1YsSUFBNEMsT0FBNUMsS0FBNEMsRURPeEQsV0FBWSxPQUNaLE1BQU8sS0FDUCxZQUFhLE9BQ2IsTUFBTyxLRTBCUyxrQkFBRyxrQkFBSCxlQUFHLGtCQUFILGFBQUcsa0JBQUgsY0FBRyxrQkFSTixVQUFHLG1CQzRHUCx5Q0FBQSxpQkgzSFIsWUFBWSxLQUNkLHdCQ2pCQyxTQUFzQixTQUdWLElBQTRDLE9BQTVDLEtBQTRDLEVBQTVDLE1BQTRDLEVEZ0J4RCxXQUFZLE9BQ1osTUFBTyxLQUNQLFVBQVcsS0FDWCxZ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NEJBQUgsZUFBRyw0QkFBSCxhQUFHLDRCQUFILGNBQUcsNEJBUk4sVUFBRyw2Qk0wbUJaLGdFTmxtQlksa0JBQUcsVUFBSCxlQUFHLFVBQUgsYUFBRyxVQUFILGNBQUcsVUFSTixVQUFHLFVNNG1CYiw0Q05wbUJhLGtCQUFHLDRCQUFILGVBQUcsNEJBQUgsYUFBRyw0QkFBSCxjQUFHLDRCQVJOLFVBQUcsNkJNOG1CWixnRU50bUJZLGtCQUFHLFVBQUgsZUFBRyxVQUFILGFBQUcsVUFBSCxjQUFHLFVBUk4sVUFBRyxVTWduQmIsNENOeG1CYSxrQkFBRyw2Q0FBSCxlQUFHLDZDQUFILGFBQUcsNkNBQUgsY0FBRyw2Q0FSTixVQUFHLDhDTWtuQlosZ0VOMW1CWSxrQkFBRyxVQUFILGVBQUcsVUFBSCxhQUFHLFVBQUgsY0FBRyxVQVJOLFVBQUcsVU1vbkJiLDRDTjVtQmEsa0JBQUcsNEJBQUgsZUFBRyw0QkFBSCxhQUFHLDRCQUFILGNBQUcsNEJBUk4sVUFBRyw2Qk1zbkJaLGdFTjltQlksa0JBQUcsVUFBSCxlQUFHLFVBQUgsYUFBRyxVQUFILGNBQUcsVUFSTixVQUFHLFVNd25CYix5RE5obkJhLHlCQUFHLFNBQUgsc0JBQUcsU0FBSCxvQkFBRyxTQUFILHFCQUFHLFNBUk4saUJBQUcsU00wbkJkLHdDQUNDLE1BQU8sS0FDUCxPQUFRLEtBQ1IsS0FBTSxJQUNOLHdEQUNDLElBQUksR0FDSixPQUFPLElBQ1AsS0FBSyxPQUNMLE1BQU0sT0FDVCxzQkFDQyxjQUFlLEtBQ2YsTUFBTyIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5hdi5leHBhbmRlZFxuXHRhYnNvbHV0ZTogdG9wIDQ1JSBsZWZ0IDUwJVxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcblx0ei1pbmRleDogMlxuXHR0ZXh0LWFsaWduOiBjZW50ZXJcblx0d2lkdGg6IDc5NXB4XG5cdHRyYW5zaXRpb246IGFsbCAuNXNcblx0K2JlbG93KDgwMHB4KVxuXHRcdGFic29sdXRlIHRvcCAzNSUgbGVmdCA1MCVcblx0aDFcblx0XHRmb250LXNpemU6IDYwcHhcblx0XHRmb250LXdlaWdodDogNzAwXG5cdFx0bWFyZ2luOiAwXG5cdFx0YWJzb2x1dGU6IHRvcCAtMTQwcHggbGVmdCAwXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyXG5cdFx0d2lkdGg6IDEwMCVcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwXG5cdFx0Y29sb3I6IHdoaXRlXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKVxuXHRcdCtiZWxvdyg4MDBweClcblx0XHRcdGxpbmUtaGVpZ2h0IDEuMlxuXHRoMi5zZWxlY3Rcblx0XHRhYnNvbHV0ZTogdG9wIC0xNjBweCBsZWZ0IDAgcmlnaHQgMFxuXHRcdHRleHQtYWxpZ246IGNlbnRlclxuXHRcdGNvbG9yOiB3aGl0ZVxuXHRcdGZvbnQtc2l6ZTogNDBweFxuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWxcblx0XHRtYXJnaW4gMFxuXHRcdGZvbnQtd2VpZ2h0IDIwMFxuXHRoNVxuXHRcdGFic29sdXRlOiB0b3AgLTYwcHggbGVmdCAwIHJpZ2h0IDBcblx0XHRmb250LXNpemUgMjJweFxuXHRcdHRleHQtYWxpZ24gY2VudGVyXG5cdFx0bWFyZ2luIDBcblx0XHRjb2xvciB3aGl0ZVxuXHRcdGZvbnQtd2VpZ2h0OiAzMDBcblx0YnV0dG9uXG5cdFx0YmFja2dyb3VuZC1jb2xvciB3aGl0ZVxuXHRcdGNvbG9yICMwMDREQ0Vcblx0XHRhYnNvbHV0ZSB0b3AgMjkwcHggbGVmdCA1MCVcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcblx0XHRmb250LXNpemUgMTRweFxuXHRcdGJvcmRlci1yYWRpdXMgMjJweFxuXHRcdGxldHRlci1zcGFjaW5nIDFweFxuXHRcdHBhZGRpbmcgMTJweCA2NHB4XG5cdFx0LXdlYmtpdC1hcHBlYXJhbmNlIG5vbmVcblx0XHRsaW5lLWhlaWdodCAxXG5cdFx0Ym9yZGVyIDJweCBzb2xpZCB3aGl0ZVxuXHRcdGN1cnNvciBwb2ludGVyXG5cdFx0K2JlbG93KDgwMHB4KVxuXHRcdFx0dG9wIDI2MHB4XG5cdGEudHJpYWxcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIHRyYW5zcGFyZW50XG5cdFx0Y29sb3Igd2hpdGVcblx0XHRhYnNvbHV0ZSB0b3AgMzUwcHggbGVmdCA1MCVcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcblx0XHRmb250LXNpemUgMTRweFxuXHRcdGJvcmRlci1yYWRpdXMgMjJweFxuXHRcdGxldHRlci1zcGFjaW5nIDFweFxuXHRcdHBhZGRpbmcgMTJweCA2NHB4XG5cdFx0Ym9yZGVyIDJweCBzb2xpZCB3aGl0ZVxuXHRcdHRleHQtZGVjb3JhdGlvbiBub25lXG5cdFx0bGluZS1oZWlnaHQgMVxuXHRcdHdpZHRoIGF1dG9cblx0XHRoZWlnaHQgYXV0b1xuXHRcdG1hcmdpbiAwXG5cdFx0K2JlbG93KDgwMHB4KVxuXHRcdFx0d2lkdGggOTUlXG5cdFx0XHR0b3AgMzIwcHhcblx0YTpub3QoLnRyaWFsKVxuXHRcdHdpZHRoOiBjYWxjKDMwJSAtIDE0MHB4KVxuXHRcdGhlaWdodDogMjAwcHhcblx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveFxuXHRcdHBvc2l0aW9uIHJlbGF0aXZlXG5cdFx0bWFyZ2luIDAgNzBweFxuXHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0dHJhbnNmb3JtLW9yaWdpbiA1MCUgNTAlXG5cdFx0K2JlbG93KDgwMHB4KVxuXHRcdFx0d2lkdGggODAlXG5cdFx0XHRtYXJnaW4gMCAwIDM1cHhcblx0XHRcdGhlaWdodCA1MHB4XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemUgY29udGFpblxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbiBsZWZ0IGNlbnRlclxuXHRcdFx0cGFkZGluZy1sZWZ0IDY1cHhcblx0XHRcdHRleHQtYWxpZ24gbGVmdFxuXHRcdCY6aG92ZXJcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4xNSlcblx0XHQuaWNvblxuXHRcdFx0YWJzb2x1dGU6IHRvcCAtN3B4IGxlZnQgLTdweFxuXHRcdFx0d2lkdGg6IDY2cHhcblx0XHRcdGhlaWdodDogNjZweFxuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuNzVzXG5cdFx0XHRvcGFjaXR5OiAxXG5cdFx0XHR6LWluZGV4OiAxXG5cdFx0LmxhYmVsXG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC43NXNcblx0XHRcdGZvbnQtc2l6ZTogMjhweFxuXHRcdFx0Zm9udC13ZWlnaHQ6IDIwMFxuXHRcdFx0Y29sb3I6IHdoaXRlXG5cdFx0XHRhYnNvbHV0ZTogYm90dG9tIC0yMHB4IGxlZnQgNTAlXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlclxuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcFxuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuM3Ncblx0XHRcdG9wYWNpdHk6IDFcblx0XHRcdCtiZWxvdyg4MDBweClcblx0XHRcdFx0cG9zaXRpb24gcmVsYXRpdmVcblx0XHRcdFx0Ym90dG9tIGF1dG9cblx0XHRcdFx0bGVmdCBhdXRvXG5cdFx0XHRcdGZvbnQtc2l6ZSAyNnB4XG5cdC5qb2luXG5cdFx0YmcoJ2ltYWdlc192Mi9pY29uX3RvdWNoX3RvX2pvaW4uc3ZnJywgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgXFwvIDU3JSlcblx0Lmh1ZGRsZVxuXHRcdGJnKCdpbWFnZXNfdjIvaWNvbl9pcGhvbmVfd2lmaS5zdmcnLCBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBcXC8gNTAlKVxuXHQuY2VudHJhbF9tYW5hZ2VtZW50XG5cdFx0YmcoJ2ltYWdlc192Mi9pY29uX2NlbnRyYWxfbWFuYWdlbWVudC5zdmcnLCBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBcXC8gNzAlKVxuXHRcdHdpZHRoOiBjYWxjKDM2JSAtIDE0MHB4KVxuXHQmLmNvbGxhcHNlXG5cdFx0dG9wOiA5OXB4XG5cdFx0bGVmdDogLTI0OHB4XG5cdFx0b3BhY2l0eSAwXG5cdFx0YVxuXHRcdFx0Ym9yZGVyLXdpZHRoOiAwXG5cdFx0XHRwYWRkaW5nOiA4cHhcblx0XHRcdCYuYWN0aXZlXG5cdFx0XHRcdGJvcmRlci13aWR0aDogMTJweFxuXHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMSlcblx0XHRcdC5sYWJlbFxuXHRcdFx0XHRvcGFjaXR5OiAwXG5cdFx0XHQuaW5uZXJfbGFiZWxcblx0XHRcdFx0b3BhY2l0eTogMFxuXHRcdFx0Lmljb25cblx0XHRcdFx0b3BhY2l0eTogMFxuXG5cdFx0aDIuc2VsZWN0LCBoNSwgYnV0dG9uXG5cdFx0XHRvcGFjaXR5OiAwXG5cdCYuaGlkZVxuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lXG5cdFx0b3BhY2l0eSAwXG5cbi5uYXYuY29sbGFwc2VkXG5cdGFic29sdXRlOiB0b3AgMTAwcHggbGVmdCA1MHB4XG5cdHdpZHRoOiAxMDBweFxuXHRoZWlnaHQgMjgwcHhcblx0ei1pbmRleDogM1xuXHRvcGFjaXR5OiAwXG5cdHBvaW50ZXItZXZlbnRzOiBub25lXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMXNcblx0Ji5hY3RpdmVcblx0XHRvcGFjaXR5OiAxXG5cdFx0cG9pbnRlci1ldmVudHM6IGF1dG9cblx0YVxuXHRcdHdpZHRoOiA2MHB4XG5cdFx0aGVpZ2h0OiA2MHB4XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrXG5cdFx0Ym9yZGVyLXJhZGl1czogMTAwJVxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpXG5cdFx0dHJhbnNpdGlvbjogYWxsIC41c1xuXHRcdHBvc2l0aW9uIHJlbGF0aXZlXG5cdFx0dHJhbnNmb3JtLW9yaWdpbiA1MCUgNTAlXG5cdFx0Ji5qb2luXG5cdFx0XHRiZygnaW1hZ2VzX3YyL2ljb25fdG91Y2hfdG9fam9pbi1yb3VuZC1ibHVlLnN2ZycsIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIFxcLyBjb250YWluKVxuXHRcdFx0YWJzb2x1dGU6IHRvcCAwIGxlZnQgNTAlXG5cdFx0Ji5odWRkbGVcblx0XHRcdGJnKCdpbWFnZXNfdjIvaWNvbl9pcGhvbmVfd2lmaS1yb3VuZC1ibHVlLnN2ZycsIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIFxcLyBjb250YWluKVxuXHRcdFx0YWJzb2x1dGU6IHRvcCAzNiUgbGVmdCA1MCVcblx0XHQmLmNlbnRyYWxfbWFuYWdlbWVudFxuXHRcdFx0YmcoJ2ltYWdlc192Mi9pY29uX2NlbnRyYWxfbWFuYWdlbWVudC1yb3VuZC1ibHVlLnN2ZycsIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIFxcLyBjb250YWluKVxuXHRcdFx0YWJzb2x1dGU6IHRvcCA3MiUgbGVmdCA1MCVcblx0XHQmLmFjdGl2ZSwmOmhvdmVyXG5cdFx0XHRoZWlnaHQgMTAwcHhcblx0XHRcdHdpZHRoIDEwMHB4XG5cdFx0Jjpob3ZlciA+IC5sYWJlbFxuXHRcdFx0b3BhY2l0eSAxXG5cdFx0XHRtYXgtd2lkdGggMTAwMDBweFxuXHQubGFiZWxcblx0XHRvdmVyZmxvdyBoaWRkZW5cblx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRcdGxlZnQgY2FsYygxMDAlICsgMjBweClcblx0XHR0b3AgNTAlXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGVcblx0XHRib3JkZXItcmFkaXVzIDRweFxuXHRcdGZvbnQtc2l6ZTogMjhweFxuXHRcdGNvbG9yOiAjMzM0OTVmXG5cdFx0cGFkZGluZzogMTVweCAxNXB4XG5cdFx0b3BhY2l0eTogMFxuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXBcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSlcblx0XHRtYXgtd2lkdGg6IDBcblx0XHR3aWR0aDogYXV0b1xuXHRcdHRyYW5zZm9ybS1vcmlnaW4gNTAlIGxlZnRcblx0XHR0cmFuc2l0aW9uIGFsbCAzMDBtcyBlYXNlLWluXG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHRib3gtc2hhZG93IDAgNHB4IDIwcHggIzlDQUNDMlxuXG4jcGFnaW5hdGlvblxuXHRwb3NpdGlvbiBhYnNvbHV0ZVxuXHRib3R0b20gMzVweFxuXHRsZWZ0IDUwJVxuXHR0cmFuc2Zvcm0gdHJhbnNsYXRlWCgtNTAlKVxuXHR6LWluZGV4IDEwMFxuXHRib3gtc2l6aW5nIGJvcmRlci1ib3hcblx0bWluLXdpZHRoIDIwMHB4XG5cdGJ1dHRvblxuXHRcdC13ZWJraXQtYXBwZWFyYW5jZSBub25lXG5cdFx0Ym94LXNpemluZyBib3JkZXItYm94XG5cdFx0aGVpZ2h0IDIwcHhcblx0XHR3aWR0aCAyMHB4XG5cdFx0bWFyZ2luIDAgMTJweFxuXHRcdGJvcmRlci1yYWRpdXMgNTAwcHhcblx0XHRib3JkZXIgbm9uZVxuXHRcdGJveC1zaGFkb3c6aW5zZXQgMHB4IDBweCAwcHggMXB4ICMwMEJCRkVcblx0XHRwYWRkaW5nIDEwcHhcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIHRyYW5zcGFyZW50XG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcblx0XHQmLnVubG9ja2VkXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yICMwMEJCRkVcblx0XHRcdGN1cnNvciBwb2ludGVyXG5cdFx0Ji5jdXJyZW50XG5cdFx0XHRib3JkZXIgNHB4IHNvbGlkIHdoaXRlXG5cdFx0XHRtYXJnaW4gMCA2cHhcblx0K2JlbG93KDgwMHB4KVxuXHRcdGJvdHRvbSAxMHB4XG5cdFx0d2lkdGggMTAwJVxuXHRcdHRyYW5zZm9ybSB0cmFuc2xhdGVYKC0yNSUpXG4jcmV0dXJuXG5cdGFic29sdXRlIHRvcCAzMHB4IHJpZ2h0IDMwcHhcblx0ei1pbmRleCAyXG5cdGJhY2tncm91bmQtaW1hZ2UgdXJsKCdpbWFnZXNfdjIvcmV0dXJuLWJ0bi5zdmcnKVxuXHRiYWNrZ3JvdW5kLXJlcGVhdCBuby1yZXBlYXRcblx0YmFja2dyb3VuZC1wb3NpdGlvbiBsZWZ0IGNlbnRlclxuXHRiYWNrZ3JvdW5kLXNpemUgY29udGFpblxuXHRiYWNrZ3JvdW5kLWNvbG9yIHRyYW5zcGFyZW50XG5cdGNvbG9yICM4NjkyOWZcblx0LXdlYmtpdC1hcHBlYXJhbmNlIG5vbmVcblx0Ym9yZGVyIG5vbmVcblx0cGFkZGluZyAwIDAgMCAzNXB4XG5cdGhlaWdodCAzMHB4XG5cdGN1cnNvciBwb2ludGVyXG5cdGZvbnQtc2l6ZSAxNHB4XG5cdGxpbmUtaGVpZ2h0IDMwcHhcblx0Zm9udC13ZWlnaHQgYm9sZFxuXHQmLndoaXRlXG5cdFx0YmFja2dyb3VuZC1pbWFnZSB1cmwoJ2ltYWdlc192Mi9yZXR1cm4tYnRuLXdoaXRlLnN2ZycpXG5cdFx0Y29sb3Igd2hpdGVcbitiZWxvdyg4MDBweClcblx0Lm5hdi5leHBhbmRlZFxuXHRcdGFic29sdXRlOiB0b3AgMzclIGxlZnQgNTAlXG5cdFx0d2lkdGg6IDM2MHB4XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpXG5cdFx0bWF4LXdpZHRoIDk1JVxuXHRcdGgxXG5cdFx0XHR0b3A6IC0yMjBweFxuXHRcdFx0Zm9udC1zaXplOiAzOHB4XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsXG5cdFx0XHR0cmFuc2Zvcm0gbm9uZVxuXHRcdFx0bGluZS1oZWlnaHQgMS4yXG5cdFx0aDIuc2VsZWN0IFxuXHRcdFx0dG9wOiAtMTIwcHhcblx0XHRcdGZvbnQtc2l6ZSAyNHB4XG5cdFx0aDVcblx0XHRcdGZvbnQtc2l6ZSAxOHB4XG5cdFx0YVxuXHRcdFx0d2lkdGg6IGNhbGMoMzIlIC0gNTBweClcblx0XHRcdGhlaWdodDogMTI1cHhcblx0XHRcdGJvcmRlci13aWR0aDogM3B4XG5cdFx0XHRtYXJnaW4gMCAyNXB4XG5cdFx0XHQubGFiZWxcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4XG5cdFx0XHRcdGJvdHRvbTogLTE1cHhcblx0XHRcdCYuYWN0aXZlXG5cdFx0XHRcdGJvcmRlci13aWR0aDogNnB4XG5cdFx0YnV0dG9uXG5cdFx0XHR3aWR0aDogOTUlXG5cdFx0Ji5jb2xsYXBzZVxuXHRcdFx0dG9wOiA4MHB4XG5cdFx0XHRsZWZ0OiAtNzdweFxuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSguNTMpXG5cdFx0XHRhXG5cdFx0XHRcdHBhZGRpbmc6IDhweFxuXHRcdFx0XHQmLmFjdGl2ZVxuXHRcdFx0XHRcdGJvcmRlci13aWR0aDogNnB4XG5cdC5uYXYuY29sbGFwc2VkXG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cdFx0YWJzb2x1dGU6IHRvcCAwIGxlZnQgMFxuXHRcdHdpZHRoOiAzMjBweFxuXHRcdGhlaWdodCAxMDBweFxuXHRcdGFcblx0XHRcdHRyYW5zZm9ybSB0cmFuc2xhdGUoMCwgLTUwJSlcblx0XHRcdCYuam9pblxuXHRcdFx0XHR0b3AgNTAlXG5cdFx0XHRcdGxlZnQgY2FsYygyNSUgLSAzMHB4KVxuXHRcdFx0XHQmOmhvdmVyLCYuYWN0aXZlXG5cdFx0XHRcdFx0bGVmdCBjYWxjKDI1JSAtIDQwcHgpXG5cdFx0XHQmLmh1ZGRsZVxuXHRcdFx0XHR0b3AgNTAlXG5cdFx0XHRcdGxlZnQgY2FsYyg1MCUgLSAzMHB4KVxuXHRcdFx0XHQmOmhvdmVyLCYuYWN0aXZlXG5cdFx0XHRcdFx0bGVmdCBjYWxjKDUwJSAtIDQwcHgpXG5cdFx0XHQmLmNlbnRyYWxfbWFuYWdlbWVudFxuXHRcdFx0XHR0b3AgNTAlXG5cdFx0XHRcdGxlZnQgY2FsYyg3NSUgLSAzMHB4KVxuXHRcdFx0XHQmOmhvdmVyLCYuYWN0aXZlXG5cdFx0XHRcdFx0bGVmdCBjYWxjKDc1JSAtIDQwcHgpXG5cdFx0XHQmLmFjdGl2ZSwmOmhvdmVyXG5cdFx0XHRcdGhlaWdodCA4MHB4XG5cdFx0XHRcdHdpZHRoIDgwcHhcblx0XHRcdC5sYWJlbFxuXHRcdFx0XHRkaXNwbGF5IG5vbmVcblxuXHQuZm9ybV9vcGVuXG5cdFx0I3N0YWdlXG5cdFx0XHR6LWluZGV4OiA5OVxuXHQjcmV0dXJuXG5cdFx0dG9wIDEwcHhcbiIsIi8vIGhlbHBlclxuXG4tcG9zKHR5cGUsIGFyZ3MpXG4gIGkgPSAwXG4gIHBvc2l0aW9uOiB1bnF1b3RlKHR5cGUpXG4gIGZvciBqIGluICgxLi40KVxuICAgIGlmIGxlbmd0aChhcmdzKSA+IGlcbiAgICAgIHthcmdzW2ldfTogYXJnc1tpICsgMV0gaXMgYSAndW5pdCcgPyBhcmdzW2kgKz0gMV0gOiAwXG4gICAgaSArPSAxXG5cbi8qXG4gKiBQb3NpdGlvbiB1dGlsaXR5LlxuICpcbiAqIFN5bm9wc2lzOlxuICpcbiAqICAgZml4ZWQ6IDxwb3M+IFtuXSA8cG9zPiBbbl1cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICAgZml4ZWQ6IHRvcCBsZWZ0XG4gKiAgICAgZml4ZWQ6IHRvcCA1cHggbGVmdFxuICogICAgIGZpeGVkOiB0b3AgbGVmdCA1cHhcbiAqICAgICBmaXhlZDogdG9wIDVweCBsZWZ0IDVweFxuICpcbiAqL1xuXG5maXhlZCgpXG4gIC1wb3MoJ2ZpeGVkJywgYXJndW1lbnRzKVxuXG4vKlxuICogUG9zaXRpb24gdXRpbGl0eS5cbiAqXG4gKiBTeW5vcHNpczpcbiAqXG4gKiAgIGFic29sdXRlOiA8cG9zPiBbbl0gPHBvcz4gW25dXG4gKlxuICogRXhhbXBsZXM6XG4gKlxuICogICAgIGFic29sdXRlOiB0b3AgbGVmdFxuICogICAgIGFic29sdXRlOiB0b3AgNXB4IGxlZnRcbiAqICAgICBhYnNvbHV0ZTogdG9wIGxlZnQgNXB4XG4gKiAgICAgYWJzb2x1dGU6IHRvcCA1cHggbGVmdCA1cHhcbiAqXG4gKi9cblxuYWJzb2x1dGUoKVxuICAtcG9zKCdhYnNvbHV0ZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFBvc2l0aW9uIHV0aWxpdHkuXG4gKlxuICogU3lub3BzaXM6XG4gKlxuICogICByZWxhdGl2ZTogPHBvcz4gW25dIDxwb3M+IFtuXVxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqICAgICByZWxhdGl2ZTogdG9wIGxlZnRcbiAqICAgICByZWxhdGl2ZTogdG9wIDVweCBsZWZ0XG4gKiAgICAgcmVsYXRpdmU6IHRvcCBsZWZ0IDVweFxuICogICAgIHJlbGF0aXZlOiB0b3AgNXB4IGxlZnQgNXB4XG4gKlxuICovXG5cbnJlbGF0aXZlKClcbiAgLXBvcygncmVsYXRpdmUnLCBhcmd1bWVudHMpXG4iLCJ1c2UoJy4uL25vZGVzL3ZlbmRvci1oZWxwZXJzLmpzJylcbkBpbXBvcnQgJ2NvbmZpZydcblxuLypcbiAqIEFsaWFzIFwibm93cmFwXCIgYXMgXCJuby13cmFwXCIuXG4gKi9cblxubm8td3JhcCA9IHVucXVvdGUoJ25vd3JhcCcpXG5cbi8qXG4gKiBIZWxwZXIgdG8gZmluZCBvdXQgaWYgYSBnaXZlbiB2YWx1ZSBpcyBhIHdpZHRoXG4gKi9cblxuaXMtd2lkdGgodmFsKVxuICBpZiBhdXRvID09IHZhbFxuICAgIHJldHVybiB0cnVlXG4gIGVsc2UgaWYgdmFsICYmICd1bml0JyA9PSB0eXBlKHZhbClcbiAgICAvLyBTdHlsdXMgZG9lcyBub3Qgc2hvcnQgY2lyY3VpdCBzbyB3ZSBuZWVkIHRvIHBlcmZvcm0gdGhpcyBhcyBhIGRpc3RpbmN0XG4gICAgLy8gb3BlcmF0aW9uIHRvIHByZXZlbnQgZXJyb3JzXG4gICAgcmV0dXJuICcnICE9IHVuaXQodmFsKVxuICByZXR1cm4gZmFsc2VcblxuLypcbiAqIFZlbmRvciBzdXBwb3J0IGZvciB0aGUgZ2l2ZW4gcHJvcCAvIGFyZ3VtZW50cywgb3B0aW9uYWxseSBzcGVjaWZ5aW5nIHRoZVxuICogb25seSBwcmVmaXhlcyB0byB1dGlsaXplLCBvciB0aG9zZSB3aGljaCBzaG91bGQgYmUgaWdub3JlZC5cbiAqL1xuXG52ZW5kb3IocHJvcCwgYXJncywgb25seSA9IG51bGwsIGlnbm9yZSA9IG51bGwsIHZlbmRvci1wcm9wZXJ0eSA9IHRydWUpXG4gIG5lZWRfbm9ybWFsaXplID0gIXZlbmRvci1wcm9wZXJ0eSBvciBwcm9wIGluICgndHJhbnNpdGlvbicgJ3RyYW5zaXRpb24tcHJvcGVydHknICdib3JkZXItaW1hZ2UnICdib3JkZXItaW1hZ2Utc2xpY2UnKVxuICBmb3IgcHJlZml4IGluIHZlbmRvci1wcmVmaXhlc1xuICAgIHVubGVzcyAob25seSBhbmQgIShwcmVmaXggaW4gb25seSkpIG9yIChpZ25vcmUgYW5kIHByZWZpeCBpbiBpZ25vcmUpXG4gICAgICBpZiBvZmZpY2lhbCA9PSBwcmVmaXhcbiAgICAgICAgaWYgbmVlZF9ub3JtYWxpemVcbiAgICAgICAgICB7cHJvcH06IG5vcm1hbGl6ZShwcm9wLCgnJXMnICUgYXJncykpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICB7cHJvcH06IGFyZ3NcbiAgICAgIGVsc2VcbiAgICAgICAgbmV3cHJvcCA9IHByb3BcbiAgICAgICAgbmV3cHJvcCA9ICctJyArIHByZWZpeCArICctJyArIHByb3AgaWYgdmVuZG9yLXByb3BlcnR5XG5cbiAgICAgICAgaWYgbmVlZF9ub3JtYWxpemVcbiAgICAgICAgICB7bmV3cHJvcH06IG5vcm1hbGl6ZShwcm9wLCgnJXMnICUgYXJncykscHJlZml4KVxuICAgICAgICBlbHNlXG4gICAgICAgICAge25ld3Byb3B9OiBhcmdzXG4vKlxuICogVmVuZG9yaXplIHRoZSBnaXZlbiB2YWx1ZS5cbiAqL1xuXG52ZW5kb3ItdmFsdWUoYXJnLCBvbmx5ID0gbnVsbCwgaWdub3JlID0gbnVsbClcbiAgcHJvcCA9IGN1cnJlbnQtcHJvcGVydHlbMF1cbiAgZm9yIHByZWZpeCBpbiB2ZW5kb3ItcHJlZml4ZXNcbiAgICB1bmxlc3MgKG9ubHkgYW5kICEocHJlZml4IGluIG9ubHkpKSBvciAoaWdub3JlIGFuZCBwcmVmaXggaW4gaWdub3JlKSBvciBvZmZpY2lhbCA9PSBwcmVmaXhcbiAgICAgIGFkZC1wcm9wZXJ0eShwcm9wLCAnLSVzLSVzJyAlIChwcmVmaXggYXJnKSlcbiAgYXJnXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtc2hhZG93XCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtc2hhZG93KClcbiAgdmVuZG9yKCdib3gtc2hhZG93JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ1c2VyLXNlbGVjdFwiIHN1cHBvcnQuXG4gKi9cblxudXNlci1zZWxlY3QoKVxuICB2ZW5kb3IoJ3VzZXItc2VsZWN0JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLWNvdW50XCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tY291bnQoKVxuICB2ZW5kb3IoJ2NvbHVtbi1jb3VudCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1nYXBcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1nYXAoKVxuICB2ZW5kb3IoJ2NvbHVtbi1nYXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tcnVsZVwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXJ1bGUoKVxuICB2ZW5kb3IoJ2NvbHVtbi1ydWxlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXJ1bGUtY29sb3JcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1ydWxlLWNvbG9yKClcbiAgdmVuZG9yKCdjb2x1bW4tcnVsZS1jb2xvcicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1ydWxlLXdpZHRoXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tcnVsZS13aWR0aCgpXG4gIHZlbmRvcignY29sdW1uLXJ1bGUtd2lkdGgnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tcnVsZS1zdHlsZVwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXJ1bGUtc3R5bGUoKVxuICB2ZW5kb3IoJ2NvbHVtbi1ydWxlLXN0eWxlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXdpZHRoXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4td2lkdGgoKVxuICB2ZW5kb3IoJ2NvbHVtbi13aWR0aCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1zcGFuXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tc3BhbigpXG4gIHZlbmRvcignY29sdW1uLXNwYW4nLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1maWxsXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tZmlsbCgpXG4gIHZlbmRvcignY29sdW1uLWZpbGwnLCBhcmd1bWVudHMsIG9ubHk6IG1veilcblxuLypcbiAqIExlZ2FjeSBzeW50YXggc3VwcG9ydCBmb3IgYmFja2dyb3VuZC1jbGlwIGFuZCBiYWNrZ3JvdW5kLW9yaWdpblxuICovXG5cbmxlZ2FjeS1iZy12YWx1ZXMocHJvcGVydHksIGFyZ3MpXG4gIGxlZ2FjeV9hcmdzID0gKClcbiAgaW1wb3J0YW5jZSA9IHVucXVvdGUoJycpXG4gIGZvciBzdWJhcmdzIGluIGFyZ3NcbiAgICBmb3IgYXJnIGluIHN1YmFyZ3NcbiAgICAgIGlmIGFyZyBpbiAoYm9yZGVyLWJveCBwYWRkaW5nLWJveCBjb250ZW50LWJveClcbiAgICAgICAgYXJnID0gdW5xdW90ZSgnYm9yZGVyJykgIGlmIGFyZyA9PSBib3JkZXItYm94XG4gICAgICAgIGFyZyA9IHVucXVvdGUoJ3BhZGRpbmcnKSBpZiBhcmcgPT0gcGFkZGluZy1ib3hcbiAgICAgICAgYXJnID0gdW5xdW90ZSgnY29udGVudCcpIGlmIGFyZyA9PSBjb250ZW50LWJveFxuICAgICAgaWYgYXJnICE9ICchaW1wb3J0YW50J1xuICAgICAgICBwdXNoKGxlZ2FjeV9hcmdzLGFyZylcbiAgICAgIGVsc2VcbiAgICAgICAgaW1wb3J0YW5jZSA9ICFpbXBvcnRhbnRcbiAgdmVuZG9yKHByb3BlcnR5LCB1bnF1b3RlKGpvaW4oJywgJyxsZWdhY3lfYXJncykpIGltcG9ydGFuY2UsIG9ubHk6IG1veiB3ZWJraXQpXG5cbi8qXG4gKiBWZW5kb3IgXCJiYWNrZ3JvdW5kLWNsaXBcIiBzdXBwb3J0LlxuICovXG5cbmJhY2tncm91bmQtY2xpcCgpXG4gIGlmIGFyZ3VtZW50c1swXSA9PSB0ZXh0XG4gICAgdmVuZG9yKCdiYWNrZ3JvdW5kLWNsaXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdClcbiAgZWxzZVxuICAgIGxlZ2FjeS1iZy12YWx1ZXMoJ2JhY2tncm91bmQtY2xpcCcsIGFyZ3VtZW50cylcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwiYmFja2dyb3VuZC1vcmlnaW5cIiBzdXBwb3J0LlxuICovXG5cbmJhY2tncm91bmQtb3JpZ2luKClcbiAgbGVnYWN5LWJnLXZhbHVlcygnYmFja2dyb3VuZC1vcmlnaW4nLCBhcmd1bWVudHMpXG4gIGJhY2tncm91bmQtb3JpZ2luOiBhcmd1bWVudHNcblxuLypcbiAqIFZlbmRvciBcImJhY2tncm91bmQtc2l6ZVwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2dyb3VuZC1zaXplKClcbiAgdmVuZG9yKCdiYWNrZ3JvdW5kLXNpemUnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2Zvcm1cIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zZm9ybSgpXG4gIHZlbmRvcigndHJhbnNmb3JtJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNmb3JtLW9yaWdpblwiIHN1cHBvcnQuXG4gKi9cbnRyYW5zZm9ybS1vcmlnaW4oKVxuICAgIHZlbmRvcigndHJhbnNmb3JtLW9yaWdpbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zZm9ybS1zdHlsZVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNmb3JtLXN0eWxlKClcbiAgdmVuZG9yKCd0cmFuc2Zvcm0tc3R5bGUnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3JkZXItaW1hZ2VcIiBzdXBwb3J0LlxuICovXG5cbmJvcmRlci1pbWFnZSgpXG4gIHZlbmRvcignYm9yZGVyLWltYWdlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG8gb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uKClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNpdGlvbi1wcm9wZXJ0eVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi1wcm9wZXJ0eSgpXG4gIHZlbmRvcigndHJhbnNpdGlvbi1wcm9wZXJ0eScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb24tZHVyYXRpb25cIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zaXRpb24tZHVyYXRpb24oKVxuICB2ZW5kb3IoJ3RyYW5zaXRpb24tZHVyYXRpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvblwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oKVxuICB2ZW5kb3IoJ3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNpdGlvbi1kZWxheVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi1kZWxheSgpXG4gIHZlbmRvcigndHJhbnNpdGlvbi1kZWxheScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImJhY2tmYWNlLXZpc2liaWxpdHlcIiBzdXBwb3J0LlxuICovXG5cbmJhY2tmYWNlLXZpc2liaWxpdHkoKVxuICB2ZW5kb3IoJ2JhY2tmYWNlLXZpc2liaWxpdHknLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJwZXJzcGVjdGl2ZVwiIHN1cHBvcnQuXG4gKi9cblxucGVyc3BlY3RpdmUoKVxuICBpZiBtaXhpblxuICAgIHZlbmRvcigncGVyc3BlY3RpdmUnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG4gIGVsc2VcbiAgICAncGVyc3BlY3RpdmUoJXMpJyAlIGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwicGVyc3BlY3RpdmUtb3JpZ2luXCIgc3VwcG9ydC5cbiAqL1xuXG5wZXJzcGVjdGl2ZS1vcmlnaW4oKVxuICB2ZW5kb3IoJ3BlcnNwZWN0aXZlLW9yaWdpbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIE9wYWNpdHkgd2l0aCBjb25kaXRpb25hbCBJRSBzdXBwb3J0LlxuICovXG5cbm9wYWNpdHkobiwgYXJncy4uLilcbiAgb3BhY2l0eTogbiBhcmdzXG4gIGlmIHN1cHBvcnQtZm9yLWllXG4gICAgaWYgbiA9PSBpbmhlcml0IG9yIG4gPT0gaW5pdGlhbFxuICAgICAgLW1zLWZpbHRlcjogbiBhcmdzXG4gICAgICBmaWx0ZXI6IG4gYXJnc1xuICAgIGVsc2VcbiAgICAgIHZhbCA9IHJvdW5kKG4gKiAxMDApXG4gICAgICBpZiB2YWwgPT0gMTAwXG4gICAgICAgIC1tcy1maWx0ZXI6IG5vbmUgYXJnc1xuICAgICAgICBmaWx0ZXI6IG5vbmUgYXJnc1xuICAgICAgZWxzZVxuICAgICAgICAtbXMtZmlsdGVyOiAnXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0lcylcIicgJSB2YWwgYXJnc1xuICAgICAgICBmaWx0ZXI6ICdhbHBoYShvcGFjaXR5PSVzKScgJSB2YWwgYXJnc1xuXG4vKlxuICogVmVuZG9yIFwidGV4dC1zaXplLWFkanVzdFwiXG4gKi9cblxudGV4dC1zaXplLWFkanVzdCgpXG4gIHZlbmRvcigndGV4dC1zaXplLWFkanVzdCcsIGFyZ3VtZW50cylcblxuLypcbiAqIEFsaWFzIHRoZSBcIndoaXRlLXNwYWNlXCIgcHJvcGVydHkuXG4gKi9cblxud2hpdGVzcGFjZSgpXG4gIHdoaXRlLXNwYWNlOiBhcmd1bWVudHNcblxuLypcbiAqIFZlbmRvciBcImJveC1zaXppbmdcIiBzdXBwb3J0LlxuICovXG5cbmJveC1zaXppbmcoKVxuICB2ZW5kb3IoJ2JveC1zaXppbmcnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtb3JpZW50XCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtb3JpZW50KClcbiAgdmVuZG9yKCdib3gtb3JpZW50JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LWZsZXgtZ3JvdXBcIiBzdXBwb3J0LlxuICovXG5cbmJveC1mbGV4LWdyb3VwKClcbiAgdmVuZG9yKCdib3gtZmxleC1ncm91cCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1vcmRpbmFsLWdyb3VwXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtb3JkaW5hbC1ncm91cCgpXG4gIHZlbmRvcignYm94LW9yZGluYWwtZ3JvdXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cblxuLypcbiAqIFZlbmRvciBcImJveC1hbGlnblwiIHN1cHBvcnQuXG4gKi9cblxuYm94LWFsaWduKClcbiAgdmVuZG9yKCdib3gtYWxpZ24nLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtcGFja1wiIHN1cHBvcnQuXG4gKi9cblxuYm94LXBhY2soKVxuICB2ZW5kb3IoJ2JveC1wYWNrJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LWRpcmVjdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYm94LWRpcmVjdGlvbigpXG4gIHZlbmRvcignYm94LWRpcmVjdGlvbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uKClcbiAgdmVuZG9yKCdhbmltYXRpb24nLCBhcmd1bWVudHMpXG5cblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1uYW1lXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tbmFtZSgpXG4gIHZlbmRvcignYW5pbWF0aW9uLW5hbWUnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tZHVyYXRpb25cIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1kdXJhdGlvbigpXG4gIHZlbmRvcignYW5pbWF0aW9uLWR1cmF0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLWRlbGF5XCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tZGVsYXkoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1kZWxheScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1kaXJlY3Rpb25cIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1kaXJlY3Rpb24oKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1kaXJlY3Rpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24taXRlcmF0aW9uLWNvdW50XCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24taXRlcmF0aW9uLWNvdW50KClcbiAgdmVuZG9yKCdhbmltYXRpb24taXRlcmF0aW9uLWNvdW50JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigpXG4gIHZlbmRvcignYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1wbGF5LXN0YXRlXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tcGxheS1zdGF0ZSgpXG4gIHZlbmRvcignYW5pbWF0aW9uLXBsYXktc3RhdGUnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tZmlsbC1tb2RlXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tZmlsbC1tb2RlKClcbiAgdmVuZG9yKCdhbmltYXRpb24tZmlsbC1tb2RlJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiaHlwaGVuc1wiIHN1cHBvcnQuXG4gKi9cblxuaHlwaGVucygpXG4gIHZlbmRvcignaHlwaGVucycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImFwcGVhcmFuY2VcIiBzdXBwb3J0LlxuICovXG5cbmFwcGVhcmFuY2UoKVxuICB2ZW5kb3IoJ2FwcGVhcmFuY2UnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0YWItc2l6ZVwiIHN1cHBvcnQuXG4gKi9cblxudGFiLXNpemUoKVxuICB2ZW5kb3IoJ3RhYi1zaXplJywgYXJndW1lbnRzLCBvbmx5OiBtb3ogbyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcIm92ZXJmbG93LXNjcm9sbGluZ1wiIHN1cHBvcnQuXG4gKi9cblxub3ZlcmZsb3ctc2Nyb2xsaW5nKClcbiAgdmVuZG9yKCdvdmVyZmxvdy1zY3JvbGxpbmcnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRleHQtb3ZlcmZsb3dcIiBzdXBwb3J0LCAsIC1vLSBmb3Igb3BlcmEgOS4qIC0gMTAuKlxuICovXG5cbnRleHQtb3ZlcmZsb3coKVxuICB2ZW5kb3IoJ3RleHQtb3ZlcmZsb3cnLCBhcmd1bWVudHMsIG9ubHk6IG9mZmljaWFsIG8pXG5cbi8qXG4gKiBWZW5kb3IgXCJ0ZXh0LXNpemUtYWRqdXN0XCIgc3VwcG9ydC5cbiAqL1xudGV4dC1zaXplLWFkanVzdCgpXG4gIHZlbmRvcigndGV4dC1zaXplLWFkanVzdCcsIGFyZ3VtZW50cywgb25seTogb2ZmaWNpYWwgd2Via2l0IG1zKVxuXG4vKlxuICogVmVuZG9yIFwiZm9udC1zbW9vdGhpbmdcIiBzdXBwb3J0LCB3ZWJraXQgb25seS5cbiAqL1xuZm9udC1zbW9vdGhpbmcoKVxuICB2ZW5kb3IoJ2ZvbnQtc21vb3RoaW5nJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQpXG5cblxuLyoqXG4gKiBWZW5kb3IgaW5wdXQtcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIgc3VwcG9ydC5cbiAqXG4gKiBFeGFtcGxlczpcbiAqICAgIC8vIERlZmF1bHQgc3ludGF4XG4gKiAgICBib2R5XG4gKiAgICAgIHBsYWNlaG9sZGVyKGNvbG9yICMzMzMsIGZvbnQtd2VpZ2h0IG5vcm1hbClcbiAqXG4gKiAgICAvLyBUaGUgY29tbWEgaXMgaW1wb3J0YW50XG4gKiAgICAucGxhY2Vob2xkZXItcmVkXG4gKiAgICAgIHBsYWNlaG9sZGVyKGNvbG9yIHJlZCwpXG4gKlxuICogICAgLy8gV2UgY2FuIHBhc3MgYSBmdW5jdGlvblxuICogICAgZ3JlZW4tcGxhY2Vob2xkZXIoKVxuICogICAgICBjb2xvciBncmVlblxuICogICAgLnBsYWNlaG9sZGVyLWdyZWVuXG4gKiAgICAgIHBsYWNlaG9sZGVyKGdyZWVuLXBsYWNlaG9sZGVyKVxuICpcbiAqICAgIC8vIFdlIGNhbiBwYXNzIGEgaGFzaFxuICogICAgdGV4dGFyZWFcbiAqICAgICAgcGxhY2Vob2xkZXIoKGZvbnQtc3R5bGUgaXRhbGljKSAoZm9udC13ZWlnaHQgYm9sZCkgKHBhZGRpbmcgJzRweCAxMHB4JykpXG4gKi9cbnBsYWNlaG9sZGVyKClcbiAgZm9yIHYgaW4gJzotd2Via2l0LWlucHV0JyAnLW1veicgJzotbW96JyAnLW1zLWlucHV0J1xuICAgICY6e3Z9LXBsYWNlaG9sZGVyXG4gICAgICBmb3IgcGFpciBpbiBhcmd1bWVudHNcbiAgICAgICAgaWYgdHlwZW9mKHBhaXIpID09ICdmdW5jdGlvbidcbiAgICAgICAgICBwYWlyKClcbiAgICAgICAgZWxzZSBpZiBwYWlyIGlzIG5vdCBudWxsICYmIHBhaXJbMF0gaXMgbm90IG51bGxcbiAgICAgICAgICB7cGFpclswXX06IHR5cGUocGFpclsxXSkgPT0gJ3N0cmluZycgPyBzKHBhaXJbMV0pIDogcGFpclsxXVxuaW5wdXQtcGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlclxuXG4vKlxuICogVmVuZG9yIGJhY2tncm91bmQgc3VwcG9ydCAoZ3JhZGllbnRzKS5cbiAqL1xuXG5iYWNrZ3JvdW5kKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2JhY2tncm91bmQnLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBiYWNrZ3JvdW5kIGFyZ3VtZW50c1xuXG5iYWNrZ3JvdW5kLWltYWdlKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2JhY2tncm91bmQtaW1hZ2UnLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBiYWNrZ3JvdW5kLWltYWdlIGFyZ3VtZW50c1xuXG5jdXJzb3IoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignY3Vyc29yJywgYXJndW1lbnRzLCB2ZW5kb3ItcHJvcGVydHk6IGZhbHNlKVxuICBlbHNlXG4gICAgY3Vyc29yIGFyZ3VtZW50c1xuXG5saXN0LXN0eWxlKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2xpc3Qtc3R5bGUnLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBsaXN0LXN0eWxlIGFyZ3VtZW50c1xuXG5saXN0LXN0eWxlLWltYWdlKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2xpc3Qtc3R5bGUtaW1hZ2UnLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBsaXN0LXN0eWxlLWltYWdlIGFyZ3VtZW50c1xuIiwiYmFzZS1mb250LXNpemUgPz0gMTZweFxucmFzdGVyaXNlLW1lZGlhLXF1ZXJpZXMgPz0gZmFsc2VcblxucnVwdHVyZSA9IHtcbiAgcmFzdGVyaXNlLW1lZGlhLXF1ZXJpZXM6IHJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzXG4gIG1vYmlsZS1jdXRvZmY6IDQwMHB4XG4gIGRlc2t0b3AtY3V0b2ZmOiAxMDUwcHhcbiAgaGQtY3V0b2ZmOiAxODAwcHhcbiAgZW5hYmxlLWVtLWJyZWFrcG9pbnRzOiBmYWxzZVxuICBiYXNlLWZvbnQtc2l6ZTogYmFzZS1mb250LXNpemVcbiAgYW50aS1vdmVybGFwOiBmYWxzZVxuICBkZW5zaXR5LXF1ZXJpZXM6ICdkcHB4JyAnd2Via2l0JyAnbW96JyAnZHBpJ1xuICByZXRpbmEtZGVuc2l0eTogMS41XG4gIHVzZS1kZXZpY2Utd2lkdGg6IGZhbHNlXG59XG5ydXB0dXJlLnNjYWxlID0gMCAocnVwdHVyZS5tb2JpbGUtY3V0b2ZmKSA2MDBweCA4MDBweCAocnVwdHVyZS5kZXNrdG9wLWN1dG9mZikgKHJ1cHR1cmUuaGQtY3V0b2ZmKVxucnVwdHVyZS5zY2FsZS1uYW1lcyA9ICd4cycgJ3MnICdtJyAnbCcgJ3hsJyAnaGQnXG5cbi1pcy1zdHJpbmcodmFsKVxuICBpZiB0eXBlb2YodmFsKSBpcyBub3QgJ3VuaXQnXG4gICAgaWYgdmFsIGlzIGEgJ3N0cmluZycgb3IgdmFsIGlzIGEgJ2lkZW50J1xuICAgICAgdHJ1ZVxuICAgIGVsc2VcbiAgICAgIGZhbHNlXG4gIGVsc2VcbiAgICBmYWxzZVxuXG4tZ2V0LXNjYWxlLW51bWJlcihzY2FsZS1uYW1lKVxuICBmb3IgbGlzdC1pdGVtLCBpIGluIHJ1cHR1cmUuc2NhbGUtbmFtZXNcbiAgICBpZiBsaXN0LWl0ZW0gaXMgc2NhbGUtbmFtZVxuICAgICAgcmV0dXJuIGkgKyAxXG4gIHJldHVybiBmYWxzZVxuXG4tY29udmVydC10byh0by11bml0LCB2YWx1ZSwgY29udGV4dCA9IHJ1cHR1cmUuYmFzZS1mb250LXNpemUpXG4gIGZyb20tdW5pdCA9IHVuaXQodmFsdWUpXG4gIHJldHVybiB2YWx1ZSBpZiB0by11bml0IGlzIGZyb20tdW5pdFxuICBpZiB0by11bml0IGluICgnZW0nICdyZW0nKVxuICAgIHJldHVybiB2YWx1ZSBpZiBmcm9tLXVuaXQgaW4gKCdlbScgJ3JlbScpXG4gICAgcmV0dXJuIHVuaXQoKHZhbHVlIC8gY29udGV4dCksIHRvLXVuaXQpXG4gIGlmIHRvLXVuaXQgaXMgJ3B4J1xuICAgIHJldHVybiB1bml0KCh2YWx1ZSAqIGNvbnRleHQpLCAncHgnKVxuXG4tb24tc2NhbGUobilcbiAgcmV0dXJuIHVuaXQobikgaXMgJydcblxuLWxhcmdlci10aGFuLXNjYWxlKG4pXG4gIHJldHVybiAobiA+IChsZW5ndGgocnVwdHVyZS5zY2FsZSkgLSAxKSkgYW5kIC1vbi1zY2FsZShuKVxuXG4taXMtemVybyhuKVxuICByZXR1cm4gbiBpcyAwXG5cbi1vdmVybGFwLXNoaWZ0KGFudGktb3ZlcmxhcCwgbilcbiAgc2hpZnQtdW5pdCA9IHVuaXQobilcbiAgYW50aS1vdmVybGFwID0gMHB4IHVubGVzcyBhbnRpLW92ZXJsYXBcbiAgYW50aS1vdmVybGFwID0gMXB4IGlmIGFudGktb3ZlcmxhcCBpcyB0cnVlXG4gIGlmIGxlbmd0aChhbnRpLW92ZXJsYXApIGlzIDFcbiAgICByZXR1cm4gLWNvbnZlcnQtdG8oc2hpZnQtdW5pdCwgYW50aS1vdmVybGFwKVxuICBmb3IgdmFsIGluIGFudGktb3ZlcmxhcFxuICAgIHJldHVybiB2YWwgaWYgdW5pdCh2YWwpIGlzIHNoaWZ0LXVuaXRcblxuLWFkanVzdC1vdmVybGFwKGFudGktb3ZlcmxhcCwgbiwgc2lkZSA9ICdtaW4nKVxuICAtc2hpZnQgPSAtb3ZlcmxhcC1zaGlmdChhbnRpLW92ZXJsYXAsIG4pXG4gIGlmIChzaWRlIGlzICdtaW4nIGFuZCAtc2hpZnQgPiAwKSBvciAoc2lkZSBpcyAnbWF4JyBhbmQgLXNoaWZ0IDwgMClcbiAgICBuID0gbiArIC1zaGlmdFxuICByZXR1cm4gblxuXG4taXMtcG9zaXRpdmUobilcbiAgcmV0dXJuIG4gPj0gMFxuXG4tZGVuc2l0eS1xdWVyaWVzKGRlbnNpdHkpXG4gIGlmIHR5cGVvZihkZW5zaXR5KSBpcyBub3QgJ3VuaXQnXG4gICAgaWYgbm90IC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICAgIGRlbnNpdHkgPSAnJXMnICUgZGVuc2l0eVxuICBkZW5zaXR5ID0gcnVwdHVyZS5yZXRpbmEtZGVuc2l0eSBpZiBkZW5zaXR5IGlzICdyZXRpbmEnXG4gIHF1ZXJpZXMgPSAoKVxuICBmb3IgcXVlcnkgaW4gcnVwdHVyZS5kZW5zaXR5LXF1ZXJpZXNcbiAgICBpZiBxdWVyeSBpcyAnd2Via2l0J1xuICAgICAgcHVzaChxdWVyaWVzLCAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJXMpJyAlIChkZW5zaXR5KSlcbiAgICBlbHNlIGlmIHF1ZXJ5IGlzICdtb3onXG4gICAgICBwdXNoKHF1ZXJpZXMsICcobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAlcyknICUgKGRlbnNpdHkpKVxuICAgIGVsc2UgaWYgcXVlcnkgaXMgJ28nXG4gICAgICBwdXNoKHF1ZXJpZXMsICcoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogJXMvMSknICUgKGRlbnNpdHkpKVxuICAgIGVsc2UgaWYgcXVlcnkgaXMgJ3JhdGlvJ1xuICAgICAgcHVzaChxdWVyaWVzLCAnKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICVzKScgJSAoZGVuc2l0eSkpXG4gICAgZWxzZSBpZiBxdWVyeSBpcyAnZHBpJ1xuICAgICAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgICAgICBkZW5zaXR5PWNvbnZlcnQoZGVuc2l0eSlcbiAgICAgIHB1c2gocXVlcmllcywgJyhtaW4tcmVzb2x1dGlvbjogJXNkcGkpJyAlIChyb3VuZChkZW5zaXR5ICogOTYsIDEpKSlcbiAgICBlbHNlIGlmIHF1ZXJ5IGlzICdkcHB4J1xuICAgICAgcHVzaChxdWVyaWVzLCAnKG1pbi1yZXNvbHV0aW9uOiAlc2RwcHgpJyAlIChkZW5zaXR5KSlcbiAgcmV0dXJuIHF1ZXJpZXNcblxuY3JlYXRlLWZhbGxiYWNrLWNsYXNzKHNlbGVjdGVkLCBjbGFzcylcbiAgL3snJyArIGNsYXNzICsgJyAnICsgc2VsZWN0ZWR9XG4gICAge2Jsb2NrfVxuXG4vLyArYmV0d2VlbihtaW4sIG1heClcbi8vIHVzYWdlIChzY2FsZSBjYW4gYmUgbWl4ZWQgd2l0aCBjdXN0b20gdmFsdWVzKTpcbi8vICAgLSArYmV0d2VlbigxLCAzKSBzY2FsZTpzY2FsZVxuLy8gICAtICtiZXR3ZWVuKDAsIDMpIDAgd2lkdGg6c2NhbGVcbi8vICAgLSArYmV0d2VlbigyMDBweCwgNTAwcHgpIGN1c3RvbTpjdXN0b21cbi8vICAgLSArYmV0d2VlbigwLCAzMDBweCkgMCB3aWR0aDpjdXN0b21cbi8vICAgLSArYmV0d2VlbigxLCAzMDBweCkgc2NhbGU6Y3VzdG9tXG4vLyAgIC0gK2JldHdlZW4oMjAwcHgsIDQpIGN1c3RvbTpzY2FsZVxuXG5iZXR3ZWVuKG1pbiwgbWF4LCBhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBzZWxlY3RlZCA9IHNlbGVjdG9yKClcblxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gIGlmIC1pcy1zdHJpbmcobWluKVxuICAgIG1pbiA9IC1nZXQtc2NhbGUtbnVtYmVyKG1pbilcbiAgaWYgLWlzLXN0cmluZyhtYXgpXG4gICAgbWF4ID0gLWdldC1zY2FsZS1udW1iZXIobWF4KVxuXG4gIC1taW4gPSBydXB0dXJlLnNjYWxlW21pbiAtIDFdIHVubGVzcyAtaXMtemVybyhtaW4pIG9yIChub3QgLW9uLXNjYWxlKG1pbikpXG4gIC1tYXggPSBydXB0dXJlLnNjYWxlW21heF0gdW5sZXNzIG5vdCAtb24tc2NhbGUobWF4KVxuICAtbWluID89IG1pblxuICAtbWF4ID89IG1heFxuXG4gIGlmIChydXB0dXJlLnJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzKVxuICAgIGlmIG5vdCAoZGVuc2l0eSBvciAtbWF4IG9yIG9yaWVudGF0aW9uKVxuICAgICAge2Jsb2NrfVxuICBlbHNlXG4gICAgY29uZGl0aW9uID0gJ29ubHkgc2NyZWVuJ1xuICAgIHVzZS1kZXZpY2Utd2lkdGggPSB1c2UtZGV2aWNlLXdpZHRoID8gJ2RldmljZS0nIDogJydcbiAgICB1bmxlc3MgLW1pbiBpcyAwXG4gICAgICAtbWluID0gLWNvbnZlcnQtdG8oJ2VtJywgLW1pbikgaWYgcnVwdHVyZS5lbmFibGUtZW0tYnJlYWtwb2ludHNcbiAgICAgIC1taW4gPSAtYWRqdXN0LW92ZXJsYXAoYW50aS1vdmVybGFwLCAtbWluLCBzaWRlOiAnbWluJylcbiAgICAgIGNvbmRpdGlvbiA9IGNvbmRpdGlvbiArICcgYW5kIChtaW4tJyArIHVzZS1kZXZpY2Utd2lkdGggKyAnd2lkdGg6ICVzKScgJSAoLW1pbilcbiAgICB1bmxlc3MgLWxhcmdlci10aGFuLXNjYWxlKG1heClcbiAgICAgIC1tYXggPSAtY29udmVydC10bygnZW0nLCAtbWF4KSBpZiBydXB0dXJlLmVuYWJsZS1lbS1icmVha3BvaW50c1xuICAgICAgLW1heCA9IC1hZGp1c3Qtb3ZlcmxhcChhbnRpLW92ZXJsYXAsIC1tYXgsIHNpZGU6ICdtYXgnKVxuICAgICAgY29uZGl0aW9uID0gY29uZGl0aW9uICsgJyBhbmQgKG1heC0nICsgdXNlLWRldmljZS13aWR0aCArICd3aWR0aDogJXMpJyAlICgtbWF4KVxuICAgIGlmIG9yaWVudGF0aW9uXG4gICAgICBjb25kaXRpb24gPSBjb25kaXRpb24gKyAnIGFuZCAob3JpZW50YXRpb246ICVzKScgJSAob3JpZW50YXRpb24pXG4gICAgaWYgZGVuc2l0eVxuICAgICAgY29uZGl0aW9ucyA9ICgpXG4gICAgICBmb3IgcXVlcnkgaW4gLWRlbnNpdHktcXVlcmllcyhkZW5zaXR5KVxuICAgICAgICBwdXNoKGNvbmRpdGlvbnMsIGNvbmRpdGlvbiArICcgYW5kICVzJyAlIChxdWVyeSkpXG4gICAgICBjb25kaXRpb24gPSBqb2luKCcsICcsIGNvbmRpdGlvbnMpXG4gICAgQG1lZGlhIGNvbmRpdGlvblxuICAgICAge2Jsb2NrfVxuICBpZiBmYWxsYmFjay1jbGFzc1xuICAgICtjcmVhdGUtZmFsbGJhY2stY2xhc3Moc2VsZWN0ZWQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAge2Jsb2NrfVxuXG5hdChzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYmV0d2VlbihzY2FsZS1wb2ludCwgc2NhbGUtcG9pbnQsIGFudGktb3ZlcmxhcCwgZGVuc2l0eSwgb3JpZW50YXRpb24sIHVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzKVxuICAgIHtibG9ja31cblxuZnJvbS13aWR0aChzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYmV0d2VlbihzY2FsZS1wb2ludCwgbGVuZ3RoKHJ1cHR1cmUuc2NhbGUpLCBhbnRpLW92ZXJsYXAsIGRlbnNpdHksIG9yaWVudGF0aW9uLCB1c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcylcbiAgICB7YmxvY2t9XG5cbmFib3ZlID0gZnJvbS13aWR0aFxuXG50by13aWR0aChzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYmV0d2VlbigxLCBzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5iZWxvdyA9IHRvLXdpZHRoXG5cbm1vYmlsZShhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICtiZWxvdyhydXB0dXJlLm1vYmlsZS1jdXRvZmYsIGFudGktb3ZlcmxhcCwgZGVuc2l0eSwgb3JpZW50YXRpb24sIHVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzKVxuICAgIHtibG9ja31cblxudGFibGV0KGFudGktb3ZlcmxhcCA9IHJ1cHR1cmUuYW50aS1vdmVybGFwLCBkZW5zaXR5ID0gbnVsbCwgb3JpZW50YXRpb24gPSBudWxsLCB1c2UtZGV2aWNlLXdpZHRoID0gcnVwdHVyZS51c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIGlmIC1pcy1zdHJpbmcob3JpZW50YXRpb24pXG4gICAgb3JpZW50YXRpb24gPSBjb252ZXJ0KG9yaWVudGF0aW9uKVxuICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgZGVuc2l0eSA9IGNvbnZlcnQoZGVuc2l0eSlcbiAgK2JldHdlZW4ocnVwdHVyZS5tb2JpbGUtY3V0b2ZmLCBydXB0dXJlLmRlc2t0b3AtY3V0b2ZmLCBhbnRpLW92ZXJsYXAsIGRlbnNpdHksIG9yaWVudGF0aW9uLCB1c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcylcbiAgICB7YmxvY2t9XG5cbmRlc2t0b3AoYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYWJvdmUocnVwdHVyZS5kZXNrdG9wLWN1dG9mZiwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5oZChhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICthYm92ZShydXB0dXJlLmhkLWN1dG9mZiwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5kZW5zaXR5KGRlbnNpdHksIG9yaWVudGF0aW9uID0gbnVsbCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBzZWxlY3RlZCA9IHNlbGVjdG9yKClcbiAgaWYgbm90IChydXB0dXJlLnJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzKVxuICAgIGNvbmRpdGlvbnMgPSAoKVxuICAgIGZvciBxdWVyeSBpbiAtZGVuc2l0eS1xdWVyaWVzKGRlbnNpdHkpXG4gICAgICBjb25kaXRpb24gPSAnb25seSBzY3JlZW4gYW5kICVzJyAlIChxdWVyeSlcbiAgICAgIGlmIG9yaWVudGF0aW9uXG4gICAgICAgIGNvbmRpdGlvbiA9IGNvbmRpdGlvbiArICcgYW5kIChvcmllbnRhdGlvbjogJXMpJyAlIChvcmllbnRhdGlvbilcbiAgICAgIHB1c2goY29uZGl0aW9ucywgY29uZGl0aW9uKVxuICAgIGNvbmRpdGlvbiA9IGpvaW4oJywgJywgY29uZGl0aW9ucylcbiAgICBAbWVkaWEgY29uZGl0aW9uXG4gICAgICB7YmxvY2t9XG4gICAgaWYgZmFsbGJhY2stY2xhc3NcbiAgICAgICtjcmVhdGUtZmFsbGJhY2stY2xhc3Moc2VsZWN0ZWQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAgICB7YmxvY2t9XG5cbnBpeGVsLXJhdGlvID0gZGVuc2l0eVxuXG5yZXRpbmEob3JpZW50YXRpb24gPSBudWxsLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gICtkZW5zaXR5KCdyZXRpbmEnLCBvcmllbnRhdGlvbiwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5sYW5kc2NhcGUoZGVuc2l0eSA9IG51bGwsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgc2VsZWN0ZWQgPSBzZWxlY3RvcigpXG4gIGlmIG5vdCAocnVwdHVyZS5yYXN0ZXJpc2UtbWVkaWEtcXVlcmllcylcbiAgICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICAgIGlmIGRlbnNpdHlcbiAgICAgICtwaXhlbC1yYXRpbyhkZW5zaXR5LCBvcmllbnRhdGlvbjogbGFuZHNjYXBlLCBmYWxsYmFjay1jbGFzcylcbiAgICAgICAge2Jsb2NrfVxuICAgIGVsc2VcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpXG4gICAgICAgIHtibG9ja31cbiAgICAgIGlmIGZhbGxiYWNrLWNsYXNzXG4gICAgICAgICtjcmVhdGUtZmFsbGJhY2stY2xhc3Moc2VsZWN0ZWQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAgICAgIHtibG9ja31cblxucG9ydHJhaXQoZGVuc2l0eSA9IG51bGwsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgc2VsZWN0ZWQgPSBzZWxlY3RvcigpXG4gIGlmIG5vdCAocnVwdHVyZS5yYXN0ZXJpc2UtbWVkaWEtcXVlcmllcylcbiAgICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICAgIGlmIGRlbnNpdHlcbiAgICAgICtwaXhlbC1yYXRpbyhkZW5zaXR5LCBvcmllbnRhdGlvbjogcG9ydHJhaXQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAgICB7YmxvY2t9XG4gICAgZWxzZVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVxuICAgICAgICB7YmxvY2t9XG4gICAgICBpZiBmYWxsYmFjay1jbGFzc1xuICAgICAgICArY3JlYXRlLWZhbGxiYWNrLWNsYXNzKHNlbGVjdGVkLCBmYWxsYmFjay1jbGFzcylcbiAgICAgICAgICB7YmxvY2t9XG5cbnJ1cHR1cmUtaG92ZXIoZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBjb25kaXRpb24gPSBcIm9ubHkgc2NyZWVuIGFuZCAoaG92ZXI6IGhvdmVyKVwiO1xuICBAbWVkaWEgKHtjb25kaXRpb259KVxuICAgIHtibG9ja31cblxuaG92ZXIgPSBydXB0dXJlLWhvdmVyXG4iLCIvKlxuICogSGVscGVyIGZvciBib3JkZXItcmFkaXVzKCkuXG4gKi9cblxuLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuICBpZiBsZW5ndGgocG9zKSA9PSAzXG4gICAgLy8gYm9yZGVyLXJhZGl1czogPHRvcCB8IGJvdHRvbT4gPGxlZnQgfCByaWdodD4gPG4+XG4gICAgeSA9IHBvc1swXVxuICAgIHggPSBwb3NbMV1cbiAgICAvLyBXZSBkb24ndCB1c2UgdmVuZG9yIGZvciBib2Rlci1yYWRpdXMgYW55bW9yZVxuICAgIC8vIHZlbmRvcignYm9yZGVyLXJhZGl1cy0lcyVzJyAlIHBvcywgcG9zWzJdLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG4gICAgeydib3JkZXItJXMtJXMtcmFkaXVzJyAlIHBvc306IHBvc1syXSBpbXBvcnRhbmNlXG4gIGVsc2UgaWYgcG9zWzBdIGluICh0b3AgYm90dG9tKVxuICAgIC8vIGJvcmRlci1yYWRpdXM6IDx0b3AgfCBib3R0b20+IDxuPlxuICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvc1swXSBsZWZ0IHBvc1sxXSwgaW1wb3J0YW5jZSlcbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3NbMF0gcmlnaHQgcG9zWzFdLCBpbXBvcnRhbmNlKVxuICBlbHNlIGlmIHBvc1swXSBpbiAobGVmdCByaWdodClcbiAgICAvLyBib3JkZXItcmFkaXVzOiA8bGVmdCB8IHJpZ2h0PiA8bj5cbiAgICB1bnNoaWZ0KHBvcywgdG9wKTtcbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3MsIGltcG9ydGFuY2UpXG4gICAgcG9zWzBdID0gYm90dG9tXG4gICAgLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuXG4vKlxuICogYm9yZGVyLXJhZGl1cyBzdXBwb3J0aW5nIGF1Z21lbnRlZCBiZWhhdmlvci5cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICBib3JkZXItcmFkaXVzOiAycHggNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgNXB4IGJvdHRvbSAxMHB4XG4gKiAgICBib3JkZXItcmFkaXVzOiBsZWZ0IDVweFxuICogICAgYm9yZGVyLXJhZGl1czogdG9wIGxlZnQgNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgbGVmdCAxMHB4IGJvdHRvbSByaWdodCA1cHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IHRvcCBsZWZ0IDEwcHgsIGJvdHRvbSByaWdodCA1cHhcbiAqXG4gKi9cblxuYm9yZGVyLXJhZGl1cygpXG4gIHBvcyA9ICgpXG4gIGF1Z21lbnRlZCA9IGZhbHNlXG4gIGltcG9ydGFuY2UgPSBhcmd1bWVudHNbbGVuZ3RoKGFyZ3VtZW50cykgLSAxXSA9PSAhaW1wb3J0YW50ID8gIWltcG9ydGFudCA6IHVucXVvdGUoJycpXG5cbiAgZm9yIGFyZ3MgaW4gYXJndW1lbnRzXG4gICAgZm9yIGFyZyBpbiBhcmdzXG4gICAgICBpZiBhcmcgaXMgYSAnaWRlbnQnXG4gICAgICAgIGFwcGVuZChwb3MsIGFyZylcbiAgICAgICAgYXVnbWVudGVkID0gdHJ1ZVxuICAgICAgZWxzZVxuICAgICAgICBhcHBlbmQocG9zLCBhcmcpXG4gICAgICAgIGlmIGF1Z21lbnRlZFxuICAgICAgICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvcywgaW1wb3J0YW5jZSlcbiAgICAgICAgICBwb3MgPSAoKVxuICBib3JkZXItcmFkaXVzIHBvcyB1bmxlc3MgYXVnbWVudGVkXG4iLCIvKlxuICogYm9yZGVyOiA8Y29sb3I+XG4gKiBib3JkZXI6IC4uLlxuICovXG5cbmJvcmRlcihjb2xvciwgYXJncy4uLilcbiAgaWYgY29sb3IgaXMgYSAnY29sb3InXG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IgYXJnc1xuICBlbHNlXG4gICAgYm9yZGVyOiBhcmd1bWVudHNcbiIsIi8qXG4gKiBWZW5kb3IgXCJkaXNwbGF5OiBmbGV4XCIgc3VwcG9ydCB3aXRoIGZhbGxiYWNrIHRvIG9ic29sZXRlIHZlcnNpb25zLlxuICovXG5cbmZsZXgtdmVyc2lvbiA/PSBib3ggZmxleFxuXG4vL1xuLy8gMS4gRGlzcGxheSB2YWx1ZXNcbi8vICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94LyNmbGV4LWNvbnRhaW5lcnNcbi8vXG5kaXNwbGF5KHR5cGUsIGFyZ3MuLi4pXG4gIGlmIGZsZXggPT0gdHlwZSB8fCBpbmxpbmUtZmxleCA9PSB0eXBlXG4gICAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgICAgaWYgZmxleCA9PSB0eXBlXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94IGFyZ3NcbiAgICAgICAgZGlzcGxheTogdmVuZG9yLXZhbHVlKGJveCBhcmdzLCBvbmx5OiBtb3ogd2Via2l0KVxuICAgICAgZWxzZVxuICAgICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggYXJnc1xuICAgICAgICBkaXNwbGF5OiB2ZW5kb3ItdmFsdWUoaW5saW5lLWJveCBhcmdzLCBvbmx5OiBtb3ogd2Via2l0KVxuICAgIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgICBkaXNwbGF5OiB2ZW5kb3ItdmFsdWUoYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpIC8vIG92ZXJ3cml0ZXMgb2xkIHdlYmtpdFxuICBlbHNlXG4gICAgZGlzcGxheTogYXJndW1lbnRzXG5cbi8qXG4gKiBOZXcgc3ludGF4IGZvciBicm93c2VycyBsaWtlIEdvb2dsZSBDaHJvbWUuXG4gKiBQbHVzIGEgdHJhbnNsYXRpb24gdG8gdGhlIG9sZCBzeW50YXgsIGlmIHBvc3NpYmxlLlxuICovXG5cblxuLy9cbi8vIDUuIE9yZGVyaW5nIGFuZCBPcmllbnRhdGlvblxuLy8gICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI29yZGVyaW5nLWFuZC1vcmllbnRhdGlvblxuLy9cbi1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihkaXJlY3Rpb24pXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICBpZiByb3ctcmV2ZXJzZSA9PSBkaXJlY3Rpb24gfHwgY29sdW1uLXJldmVyc2UgPT0gZGlyZWN0aW9uXG4gICAgICB2ZW5kb3IoJ2JveC1kaXJlY3Rpb24nLCByZXZlcnNlLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4gICAgaWYgcm93ID09IGRpcmVjdGlvbiB8fCByb3ctcmV2ZXJzZSA9PSBkaXJlY3Rpb25cbiAgICAgIHZlbmRvcignYm94LW9yaWVudCcsIGhvcml6b250YWwsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG4gICAgZWxzZSBpZiBjb2x1bW4gPT0gZGlyZWN0aW9uIHx8IGNvbHVtbi1yZXZlcnNlID09IGRpcmVjdGlvblxuICAgICAgdmVuZG9yKCdib3gtb3JpZW50JywgdmVydGljYWwsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbi1mbGV4LW9ic29sZXRlLXdyYXAodmFsdWUpXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICAvLyBXQVJOOiB3cmFwLXJldmVyc2UgZG9lcyBub3QgaGF2ZSBhIGJveCBlcXVpdmFsZW50LiBUaGlzIHdpbGwgcmVuZGVyIGluIGRpZmZlcmVudCBtYW5uZXJzXG4gICAgLy8gICAgb24gYm94IHZzLiBmbGV4IHZhbHVlcy5cbiAgICBpZiAnd3JhcCcgPT0gdmFsdWUgfHwgd3JhcC1yZXZlcnNlID09IHZhbHVlXG4gICAgICB2ZW5kb3IoJ2JveC1saW5lcycsIG11bHRpcGxlLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuICAgIGVsc2UgaWYgbm93cmFwID09IHZhbHVlXG4gICAgICB2ZW5kb3IoJ2JveC1saW5lcycsIHNpbmdsZSwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuZmxleC1kaXJlY3Rpb24oZGlyZWN0aW9uKVxuICAvLyBvYnNvbGV0ZVxuICAtZmxleC1vYnNvbGV0ZS1kaXJlY3Rpb24oZGlyZWN0aW9uKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1kaXJlY3Rpb24nLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtcyBvZmZpY2lhbClcblxuZmxleC13cmFwKHZhbHVlKVxuICAvLyBvYnNvbGV0ZVxuICAtZmxleC1vYnNvbGV0ZS13cmFwKHZhbHVlKVxuXG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LXdyYXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtcyBvZmZpY2lhbClcblxuZmxleC1mbG93KClcbiAgLy8gb2Jzb2xldGVcbiAgLWZsZXgtb2Jzb2xldGUtZGlyZWN0aW9uKGFyZ3VtZW50c1swXSlcbiAgLWZsZXgtb2Jzb2xldGUtZGlyZWN0aW9uKGFyZ3VtZW50c1sxXSlcbiAgLWZsZXgtb2Jzb2xldGUtd3JhcChhcmd1bWVudHNbMF0pXG4gIC1mbGV4LW9ic29sZXRlLXdyYXAoYXJndW1lbnRzWzFdKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1mbG93JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbXMgb2ZmaWNpYWwpXG5cblxub3JkZXIoKVxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdib3gtb3JkaW5hbC1ncm91cCcsIGFyZ3VtZW50cywgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtb3JkZXInLCBhcmd1bWVudHMsIG9ubHk6IG1zKVxuICAgIHZlbmRvcignb3JkZXInLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuXG4vL1xuLy8gNy4gRmxleGliaWxpdHlcbi8vICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94LyNmbGV4aWJpbGl0eVxuLy9cbmZsZXgtZ3Jvdyhncm93dGgpXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2JveC1mbGV4JywgZ3Jvd3RoKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1ncm93JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmZsZXgtYmFzaXMoKVxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1iYXNpcycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5mbGV4LXNocmluaygpXG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LXNocmluaycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5mbGV4KGdyb3d0aClcblxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgc2hyaW5rID0gMVxuXG4gICAgaWYgbm9uZSA9PSBncm93dGggfHwgaW5pdGlhbCA9PSBncm93dGhcbiAgICAgIC8vIFdlbGwga25vd24gdmFsdWVzXG4gICAgICBzaHJpbmsgPSAwIGlmIG5vbmUgPT0gZ3Jvd3RoXG4gICAgICBncm93dGggPSAwXG4gICAgZWxzZSBpZiBpcy13aWR0aChncm93dGgpID09IHRydWVcbiAgICAgIC8vIEJhc2lzIGlzIGRlZmluZWQgYXMgdGhlIGZpcnN0IHBhcmFtZXRlclxuICAgICAgZ3Jvd3RoID0gYXJndW1lbnRzWzFdIHx8IDBcbiAgICAgIHNocmluayA9IGFyZ3VtZW50c1syXSBpZiAzIDw9IGxlbmd0aChhcmd1bWVudHMpXG4gICAgZWxzZSBpZiBhcmd1bWVudHNbMV0gJiYgaXMtd2lkdGgoYXJndW1lbnRzWzFdKSA9PSBmYWxzZVxuICAgICAgLy8gR3Jvd3RoIGlzIGZpcnN0IGFuZCBzaHJpbmsgaXMgc2Vjb25kXG4gICAgICBzaHJpbmsgPSBhcmd1bWVudHNbMV1cblxuICAgIC8vIFNpbmNlIHdlIGNhbid0IG1ha2UgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gZ3Jvd2luZyBhbmQgc2hyaW5raW5nIGluIHRoZSBib3ggbW9kZWwsIHRha2VcbiAgICAvLyB0aGUgb25lIHRoYXQgcHJvdmlkZXMgdGhlIG1vc3QgZmxleGliaWxpdHkuXG4gICAgdmVuZG9yKCdib3gtZmxleCcsIG1heChncm93dGgsIHNocmluayksIGlnbm9yZTogbXMpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbXMgb2ZmaWNpYWwpXG5cblxuLy8gY29udmVydHMgdGhlIGp1c3RpZmljYXRpb24gYWxpZ25tZW50XG4tY29udmVydC1qdXN0aWZ5KGFsaWduKVxuICBpZiBmbGV4LXN0YXJ0ID09IGFsaWduXG4gICAgcmV0dXJuIHN0YXJ0XG4gIGVsc2UgaWYgZmxleC1lbmQgPT0gYWxpZ25cbiAgICByZXR1cm4gZW5kXG4gIGVsc2UgaWYgc3BhY2UtYXJvdW5kID09IGFsaWduXG4gICAgcmV0dXJuIGRpc3RyaWJ1dGVcbiAgZWxzZSBpZiBzcGFjZS1iZXR3ZWVuID09IGFsaWduXG4gICAgcmV0dXJuIGp1c3RpZnlcbiAgZWxzZVxuICAgIHJldHVybiBhbGlnblxuXG4vL1xuLy8gOC4gQWxpZ25tZW50XG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jYWxpZ25tZW50XG4vL1xuanVzdGlmeS1jb250ZW50KGFsaWduKVxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdib3gtcGFjaycsIC1jb252ZXJ0LWp1c3RpZnkoYWxpZ24pLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1wYWNrJywgLWNvbnZlcnQtanVzdGlmeShhbGlnbiksIG9ubHk6IG1zKVxuICAgIHZlbmRvcignanVzdGlmeS1jb250ZW50JywgYWxpZ24sIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuYWxpZ24tY29udGVudChhbGlnbilcbiAgLy8gV0FSTjogT2Jzb2xldGUgc3BlYyBkb2VzIG5vdCBhbGxvdyBmb3IgYWRqdXN0bWVudCBoZXJlXG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWxpbmUtcGFjaycsIC1jb252ZXJ0LWp1c3RpZnkoYWxpZ24pLCBvbmx5OiBtcylcbiAgICB2ZW5kb3IoJ2FsaWduLWNvbnRlbnQnLCBhbGlnbiwgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG4vLyBjb252ZXJ0cyBhbGlnbm1lbnQgZnJvbSAnZmxleCcgdG8gbm9ybWFsIHZhbHVlXG4tY29udmVydC1hbGlnbm1lbnQoYWxpZ24pXG4gIGlmIGZsZXgtc3RhcnQgPT0gYWxpZ25cbiAgICByZXR1cm4gc3RhcnRcbiAgZWxzZSBpZiBmbGV4LWVuZCA9PSBhbGlnblxuICAgIHJldHVybiBlbmRcbiAgZWxzZVxuICAgIHJldHVybiBhbGlnblxuXG5hbGlnbi1pdGVtcyhhbGlnbilcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LWFsaWduJywgLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKSwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtYWxpZ24nLCAtY29udmVydC1hbGlnbm1lbnQoYWxpZ24pLCBvbmx5OiBtcylcbiAgICB2ZW5kb3IoJ2FsaWduLWl0ZW1zJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmFsaWduLXNlbGYoYWxpZ24pXG4gIC8vIFdBUk46IE9ic29sZXRlIHNwZWMgZG9lcyBub3QgYWxsb3cgZm9yIG92ZXJyaWRpbmcgYWxpZ25tZW50IG9uIGluZGl2aWR1YWwgaXRlbXMuXG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdhbGlnbi1zZWxmJywgYWxpZ24sIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcbiAgICB2ZW5kb3IoJ2ZsZXgtaXRlbS1hbGlnbicsIC1jb252ZXJ0LWFsaWdubWVudChhbGlnbiksIG9ubHk6IG1zKVxuIiwiLypcbiAqIE92ZXJmbG93IHV0aWxpdHkuIE1hcHMgdG8gcmVndWxhciBvdmVyZmxvdywgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdmFsdWUuXG4gKlxuICogU3lub3BzaXM6XG4gKlxuICogICBvdmVyZmxvdzogPHR5cGU+XG4gKlxuICogRXhhbXBsZXM6XG4gKlxuICogICAgIG92ZXJmbG93OiBhdXRvXG4gKiAgICAgb3ZlcmZsb3c6IGhpZGRlblxuICogICAgIG92ZXJmbG93OiBlbGxpcHNpc1xuICpcbiAqL1xuXG5vdmVyZmxvdygpXG4gIGlmIGFyZ3VtZW50c1swXSA9PSBlbGxpcHNpc1xuICAgIGVsbGlwc2lzKClcbiAgZWxzZVxuICAgIG92ZXJmbG93OiBhcmd1bWVudHNcbiIsIkBpbXBvcnQgJ25pYidcbkBpbXBvcnQgJ2plZXQnXG5AaW1wb3J0ICdydXB0dXJlJ1xuXG5AaW1wb3J0IFwibmF2LnN0eWxcIlxuLy8gQGltcG9ydCBcImltcG9ydHMvKlwiXG4vLyBAaW1wb3J0IFwiaW1wb3J0cy9jb21wb25lbnRzLypcIlxuYm9keVxuXHRtYXJnaW46IDBcblx0Zm9udC1mYW1pbHk6ICdNdWt0YScsIEhlbHZldGljYSwgc2Fucy1zZXJpZlxuXHR3aWR0aDogMTAwJVxuXHRoZWlnaHQ6IDEwMCVcbiosXG4qOmFmdGVyLFxuKjo6YmVmb3JlIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5idXR0b246Zm9jdXNcblx0b3V0bGluZSBub25lXG4jYXBwXG5cdG9wYWNpdHk6IDBcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAuNXNcblx0d2lkdGg6IDEwMCVcblx0aGVpZ2h0OiAxMDAlXG5cdG92ZXJmbG93IGhpZGRlblxuYm9keS5sb2FkZWRcblx0I2xvYWRpbmdcblx0XHRvcGFjaXR5OiAwXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmVcblx0I2FwcFxuXHRcdG9wYWNpdHk6IDFcblxuLnByZWxvYWRcblx0Zml4ZWQ6IHRvcCAtMTAwMDBweFxuI2xvYWRpbmdcblx0b3BhY2l0eTogMVxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IC41c1xuXHR6LWluZGV4OiA1XG5cdGZpeGVkOiB0b3AgMCByaWdodCAwIGJvdHRvbSAwIGxlZnQgMFxuXHRiZygnaW1hZ2VzX3YyL2xvYWRpbmdfYmFja2dyb3VuZC5qcGcnLCBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBcXC8gY292ZXIpXG5cdHdpZHRoOiAxMDAlXG5cdGhlaWdodDogMTAwJVxuXHQubG9hZGluZ19pY29uXG5cdFx0YmcoJ2ltYWdlcy9sb2FkaW5nX2ljb24uc3ZnJywgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgXFwvIGNvbnRhaW4pXG5cdFx0d2lkdGg6IDk1cHhcblx0XHRoZWlnaHQ6IDc1cHhcblx0XHRhYnNvbHV0ZTogdG9wIDUwJSBsZWZ0IDUwJVxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpXG5cdFx0JjpiZWZvcmVcblx0XHRcdGNvbnRlbnQ6ICcgJ1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveFxuXHRcdFx0d2lkdGg6IDIwMHB4XG5cdFx0XHRoZWlnaHQ6IDIwMHB4XG5cdFx0XHRhYnNvbHV0ZTogdG9wIDUwJSBsZWZ0IDUwJVxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSlcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlXG5cdFx0LnJpbmdcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICNmZmZcblx0XHRcdHdpZHRoOiAyMDBweFxuXHRcdFx0aGVpZ2h0OiAyMDBweFxuXHRcdFx0YWJzb2x1dGU6IHRvcCA1MCUgbGVmdCA1MCVcblx0XHRcdG1hcmdpbjogLTEwMHB4IDAgMCAtMTAwcHhcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3hcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCVcblx0LmxvZ29cblx0XHRhYnNvbHV0ZTogdG9wIDYycHggbGVmdCA1MCVcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcblx0XHRib3JkZXI6IG5vbmVcblx0XHR3aWR0aDogMTQwcHhcblx0LmxvYWRpbmdfbWVzc2FnZVxuXHRcdGFic29sdXRlOiBib3R0b20gLTIwMHB4IGxlZnQgNTAlXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpXG5cdFx0d2lkdGg6IDIwMHB4XG5cdFx0Zm9udC13ZWlnaHQ6IDIwMFxuXHRcdHRleHQtYWxpZ246IGNlbnRlclxuXHRcdGNvbG9yOiB3aGl0ZVxuXHRcdGZvbnQtc2l6ZTogMjRweFxuXG5cbiNzdGFnZVxuXHRoZWlnaHQ6IDEwMCVcblx0d2lkdGg6IDEwMCVcblx0Zml4ZWQ6IHRvcCAwIGxlZnQgMFxuXHQub3ZlcmxheVxuXHRcdGJnKCdpbWFnZXNfdjIvbG9hZGluZ19iYWNrZ3JvdW5kLmpwZycsIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIFxcLyBjb3Zlcilcblx0XHR3aWR0aDogMTAwJVxuXHRcdGhlaWdodDogMTAwJVxuXHRcdHotaW5kZXg6IDNcblx0XHRmaXhlZDogdG9wIDAgbGVmdCAwXG5cdCNzY2VuZV8xXG5cdFx0YmcoJ2ltYWdlc192Mi90YWJsZS5qcGcnLCBuby1yZXBlYXQgYm90dG9tIGNlbnRlciBcXC8gMTQ0MHB4IGF1dG8pXG5cdFx0Zml4ZWQ6IHRvcCAwIGxlZnQgMFxuXHRcdHdpZHRoOiAxMDAlXG5cdFx0aGVpZ2h0OiAxMDAlXG5cdFx0dHJhbnNpdGlvbjogYWxsIDFzXG5cdFx0b3BhY2l0eTogMFxuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lXG5cdFx0I3R2XG5cdFx0XHR3aWR0aDogMTAwdmhcblx0XHRcdGhlaWdodDogNjV2aFxuXHRcdFx0bWF4LXdpZHRoOiAxMDAwcHhcblx0XHRcdG1heC1oZWlnaHQ6IDY1MHB4XG5cdFx0XHRhYnNvbHV0ZTogYm90dG9tIDE5MHB4IGxlZnQgNTAlXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcblx0XHRcdGJnKCdpbWFnZXNfdjIvYmpuLXJvb21zLXR2LWZyYW1lLTIucG5nJywgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgXFwvIGNvbnRhaW4pXG5cdFx0XHQmOmJlZm9yZVxuXHRcdFx0XHRiZygnaW1hZ2VzX3YyL3R2LXNjcmVlbi1pZGxlLTk1NS5qcGcnLCBuby1yZXBlYXQgYm90dG9tIGNlbnRlciBcXC8gY292ZXIpXG5cdFx0XHRcdHdpZHRoOiA5MS43JVxuXHRcdFx0XHRoZWlnaHQ6IDgyJVxuXHRcdFx0XHRhYnNvbHV0ZTogbGVmdCA0LjI1JSB0b3AgOS41JVxuXHRcdFx0XHRib3JkZXItcmFkaXVzIDRweFxuXHRcdFx0XHRib3gtc2hhZG93IGluc2V0IDAgMnB4IDEwcHggcmdiYSgjMDAwMDAwLDAuOCk7XG5cdFx0XHRcdGNvbnRlbnQgJydcblx0XHRcdCYuc2VjdGlvbl8yOmJlZm9yZVxuXHRcdFx0XHRiZygnaW1hZ2VzX3YyL3R2LXNjcmVlbi1pZGxlLTEwMTkuanBnJywgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXIgXFwvIGNvdmVyKVxuXHRcdFx0I3ZpZGVvXG5cdFx0XHRcdGJnKCdpbWFnZXNfdjIvc2NlbmVfMV9zY3JlZW5fbWVldGluZy5qcGcnLCBuby1yZXBlYXQgYm90dG9tIGNlbnRlciBcXC8gY292ZXIpXG5cdFx0XHRcdHdpZHRoOiA5MS43JVxuXHRcdFx0XHRoZWlnaHQ6IDgyJVxuXHRcdFx0XHRhYnNvbHV0ZTogbGVmdCA0LjI1JSB0b3AgOS41JVxuXHRcdFx0XHRkaXNwbGF5OiBub25lXG5cdFx0XHRcdGJvcmRlci1yYWRpdXMgNHB4XG5cdFx0XHRcdGJveC1zaGFkb3cgaW5zZXQgMCAycHggMTBweCByZ2JhKCMwMDAwMDAsMC44KTtcblx0XHQjRENQXG5cdFx0XHR3aWR0aDogMzMzcHhcblx0XHRcdGhlaWdodDogMTMzcHhcblx0XHRcdG1heC13aWR0aDogMTAwJVxuXHRcdFx0Zml4ZWQ6IGJvdHRvbSA1MHB4IGxlZnQgNTAlXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcblx0XHRcdHRyYW5zaXRpb246IGFsbCAuNXNcblx0XHRcdGJnKCdpbWFnZXNfdjIvRENQX2lkbGVfdjIucG5nJywgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgXFwvIGNvbnRhaW4pXG5cdFx0XHQmLnN0ZXBfMV8xXG5cdFx0XHRcdGJnKCdpbWFnZXNfdjIvZGNwLW1lZXRpbmdzX3YyLnBuZycsIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIFxcLyBjb250YWluKVxuXHRcdFx0Ji5zdGVwXzFfMlxuXHRcdFx0XHRiZygnaW1hZ2VzX3YyL2RjcC1tZWV0aW5ncy1qb2luX3YyLnBuZycsIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIFxcLyBjb250YWluKVxuXHRcdFx0Ji5zdGVwXzFfM1xuXHRcdFx0XHRiZygnaW1hZ2VzX3YyL2RjcC1pbi1tZWV0aW5nX3YyLnBuZycsIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIFxcLyBjb250YWluKVxuXHRcdFx0Ji5zdGVwXzJfMlxuXHRcdFx0XHRiZygnaW1hZ2VzX3YyL2RjcC1zbWFydC1wb3B1cC5wbmcnLCBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBcXC8gY29udGFpbilcblx0XHRcdCYuc3RlcF8yXzNcblx0XHRcdFx0YmcoJ2ltYWdlc192Mi9kY3AtbWVldGluZ3Mtam9pbl92Mi5wbmcnLCBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBcXC8gY29udGFpbilcblx0XHRcdCYuc3RlcF8yXzRcblx0XHRcdFx0YmcoJ2ltYWdlc192Mi9kY3AtaW4tbWVldGluZ192Mi5wbmcnLCBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBcXC8gY29udGFpbilcblx0XHRcdCtiZWxvdyg4MDBweClcblx0XHRcdFx0dG9wOiA0NXZoXG5cdFx0XHRcdGJvdHRvbSBhdXRvXG5cdFx0XHRcdG1heC13aWR0aCAzMyVcblx0XHRcdFx0d2lkdGggMTUwcHhcblx0XHRcdFx0aGVpZ2h0IDEwMHB4XG5cdFx0I0RDUF93cmFwcGVyXG5cdFx0XHRoZWlnaHQgMTAwJVxuXHRcdFx0d2lkdGggMTAwJVxuXHRcdFx0YWJzb2x1dGUgdG9wIDEwMCUgbGVmdCAxMDAlXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjVzXG5cdFx0XHRvcGFjaXR5IDBcblx0XHRcdHBvaW50ZXItZXZlbnRzIG5vbmVcblx0XHRcdCYucmV2ZWFsXG5cdFx0XHRcdG9wYWNpdHkgMVxuXHRcdFx0XHRwb2ludGVyLWV2ZW50cyB2aXNpYmxlXG5cdFx0XHQjRENQX3NjcmVlblxuXHRcdFx0XHRmaXhlZDogdG9wIDUwJSBsZWZ0IDUwJVxuXHRcdFx0XHR0cmFuc2Zvcm0gdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpXG5cdFx0XHRcdGhlaWdodCAxMDAlXG5cdFx0XHRcdHdpZHRoIGNhbGMoMTAwJSAtIDMwMHB4KVxuXHRcdFx0XHRtYXgtd2lkdGggODAwcHhcblx0XHRcdFx0bWF4LWhlaWdodCA0NTNweFxuXHRcdFx0XHQmOmJlZm9yZVxuXHRcdFx0XHRcdGNvbnRlbnQ6ICcgJ1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDBcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlclxuXHRcdFx0XHRcdGFic29sdXRlOiB0b3AgMCBsZWZ0IDBcblx0XHRcdFx0XHRoZWlnaHQgMTAwJVxuXHRcdFx0XHRcdHdpZHRoIDEwMCVcblx0XHRcdFx0XHRvcGFjaXR5IDFcblx0XHRcdFx0Ji5tZWV0aW5nX2xpc3Rcblx0XHRcdFx0XHQmOmJlZm9yZVxuXHRcdFx0XHRcdFx0YmcoJ2ltYWdlc192Mi9zY2VuZV8xX3NjcmVlbl8xLmpwZycsIG5vLXJlcGVhdCB0b3AgY2VudGVyIFxcLyBjb250YWluKTtcblx0XHRcdFx0Ji5tZWV0aW5nX2xpc3RfY2xpY2tcblx0XHRcdFx0XHQmOmJlZm9yZVxuXHRcdFx0XHRcdFx0YmcoJ2ltYWdlc192Mi9zY2VuZV8xX3NjcmVlbl8yLmpwZycsIG5vLXJlcGVhdCB0b3AgY2VudGVyIFxcLyBjb250YWluKTtcblx0XHRcdFx0Ji5pbl9tZWV0aW5nXG5cdFx0XHRcdFx0JjpiZWZvcmVcblx0XHRcdFx0XHRcdGJnKCdpbWFnZXNfdjIvc2NlbmVfMV9zY3JlZW5fMi5qcGcnLCBuby1yZXBlYXQgdG9wIGNlbnRlciBcXC8gY29udGFpbik7XG5cdFx0XHRcdCYuaW5fbWVldGluZ19odWRkbGVcblx0XHRcdFx0XHQmOmJlZm9yZVxuXHRcdFx0XHRcdFx0YmcoJ2ltYWdlc192Mi9wcm94aW1pdHktbWVldGluZ3MuanBnJywgbm8tcmVwZWF0IHRvcCBjZW50ZXIgXFwvIGNvbnRhaW4pO1xuXHRcdFx0XHQmLm1lZXRpbmdfZGV0YWlsc1xuXHRcdFx0XHRcdCY6YmVmb3JlXG5cdFx0XHRcdFx0XHRiZygnaW1hZ2VzL09uZVRvdWNoTWVldGluZ0xpc3RPcGVuLmpwZycsIG5vLXJlcGVhdCB0b3AgY2VudGVyIFxcLyBjb250YWluKTtcblx0XHRcdFx0Ji5jb250cm9sc19wYW5lbFxuXHRcdFx0XHRcdCY6YmVmb3JlXG5cdFx0XHRcdFx0XHRiZygnaW1hZ2VzX3YyL3NjZW5lXzFfc2NyZWVuXzMuanBnJywgbm8tcmVwZWF0IHRvcCBjZW50ZXIgXFwvIGNvbnRhaW4pO1xuXHRcdFx0XHQmLnF1aWNrX25vdGlmaWNhdGlvblxuXHRcdFx0XHRcdCY6YmVmb3JlXG5cdFx0XHRcdFx0XHRiZygnaW1hZ2VzX3YyL3NjZW5lXzJfc2NyZWVuXzEuanBnJywgbm8tcmVwZWF0IHRvcCBjZW50ZXIgXFwvIGNvbnRhaW4pO1xuXHRcdFx0XHQmLndlbGNvbWVcblx0XHRcdFx0XHQmOmJlZm9yZVxuXHRcdFx0XHRcdFx0YmcoJ2ltYWdlcy9IdWRkbGVRdWlja05vdGlmaWNhdGlvbi5qcGcnLCBuby1yZXBlYXQgdG9wIGNlbnRlciBcXC8gY292ZXIpXG5cdFx0I2hhbmRcblx0XHRcdGJnKCdpbWFnZXNfdjIvaGFuZC5wbmcnLCBuby1yZXBlYXQgY2VudGVyIGNlbnRlcilcblx0XHRcdHdpZHRoOiAzOTZweFxuXHRcdFx0aGVpZ2h0OiA1NzlweFxuXHRcdFx0Zml4ZWQ6IGJvdHRvbSAwIGxlZnQgLTM5NnB4XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjc1c1xuXHRcdFx0YmFja2dyb3VuZC1zaXplIGNvbnRhaW5cblx0XHRcdCYuYWN0aXZlXG5cdFx0XHRcdGxlZnQ6IDBweFxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDgwMHB4KVxuXHRcdFx0XHQudG9vbHRpcFxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwMHB4XG5cdFx0XHQmLmRvbmVfYmVhbWluZ1xuXHRcdFx0XHR6LWluZGV4IC0xXG5cdFx0XHQuYmVhbVxuXHRcdFx0XHRvcGFjaXR5OiAwXG5cdFx0XHRcdGFic29sdXRlOiBsZWZ0IDUwMHB4IHRvcCA5MHB4XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDEzMGRlZylcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuNXNcblx0XHRcdFx0LmRvdFxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMyNGNmNWZcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlXG5cdFx0XHRcdFx0d2lkdGg6IDIwcHhcblx0XHRcdFx0XHRoZWlnaHQ6IDIwcHhcblx0XHRcdFx0XHRhYnNvbHV0ZTogdG9wIDkwcHggbGVmdCA1MCVcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcblx0XHRcdFx0LnB1bHNlXG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlblxuXHRcdFx0XHRcdGhlaWdodDogNTBweFxuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKVxuXHRcdFx0XHRcdG9wYWNpdHk6IDBcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC40c1xuXHRcdFx0XHRcdCY6YmVmb3JlXG5cdFx0XHRcdFx0XHRjb250ZW50OiAnICdcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCVcblx0XHRcdFx0XHRcdGJvcmRlcjogMTBweCBzb2xpZCAjMjRjZjVmXG5cdFx0XHRcdFx0XHR3aWR0aDogMTMwcHhcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwcHhcblx0XHRcdFx0XHRcdGFic29sdXRlOiB0b3AgMCBsZWZ0IDUwJVxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpXG5cdFx0XHRcdC5wdWxzZTpudGgtY2hpbGQoMilcblx0XHRcdFx0XHRhYnNvbHV0ZTogdG9wIDAgbGVmdCA1MCVcblx0XHRcdFx0XHR3aWR0aDogOTBweFxuXHRcdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IC4zc1xuXHRcdFx0XHQucHVsc2U6bnRoLWNoaWxkKDMpXG5cdFx0XHRcdFx0YWJzb2x1dGU6IHRvcCAzMHB4IGxlZnQgNTAlXG5cdFx0XHRcdFx0d2lkdGg6IDcwcHhcblx0XHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAuMTVzXG5cdFx0XHRcdC5wdWxzZTpudGgtY2hpbGQoNClcblx0XHRcdFx0XHRhYnNvbHV0ZTogdG9wIDYwcHggbGVmdCA1MCVcblx0XHRcdFx0XHR3aWR0aDogNTBweFxuXHRcdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBcblx0XHRcdFx0Ji5hY3RpdmVcblx0XHRcdFx0XHRvcGFjaXR5OiAxXG5cdFx0XHRcdCYuYmxpbmtcblx0XHRcdFx0XHQucHVsc2Vcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDFcblx0XHRcdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAhaW1wb3J0YW50XG5cblxuXHQjc2NlbmVfMlxuXHRcdGFic29sdXRlOiB0b3AgMCBsZWZ0IC0xMDAlXG5cdFx0d2lkdGg6IDEwMCVcblx0XHRoZWlnaHQ6IDEwMCVcblx0XHR0cmFuc2l0aW9uOiBhbGwgMXNcblx0XHRvcGFjaXR5OiAwXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmVcblx0XHQuZm9ybVxuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmVcblx0XHRcdGFic29sdXRlOiB0b3AgNTAlIGxlZnQgNTAlXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZVxuXHRcdFx0cGFkZGluZzogMnJlbSAzcmVtIDJyZW0gM3JlbVxuXHRcdFx0b3BhY2l0eTogMFxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIC41c1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSlcblx0XHRcdGJvcmRlci1yYWRpdXM6IDhweFxuXHRcdFx0Ym94LXNoYWRvdzogMHB4IDVweCAyOHB4IDZweCByZ2JhKDAsMCwwLDAuMilcblx0XHRcdHdpZHRoOiA3OCVcblx0XHRcdG1heC13aWR0aDogNTU1cHhcblx0XHRcdHotaW5kZXg6IDVcblx0XHRcdHRleHQtYWxpZ24gY2VudGVyXG5cdFx0XHQmLmFjdGl2ZVxuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogYXV0b1xuXHRcdFx0XHRvcGFjaXR5OiAxXG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpXG5cdFx0XHRwXG5cdFx0XHRcdGZvbnQtc2l6ZSAxNnB4XG5cdFx0XHRcdGNvbG9yICMwMDREQ0Vcblx0XHRcdFx0Zm9udC13ZWlnaHQgNzAwXG5cdFx0XHRcdGxldHRlci1zcGFjaW5nIDNweFxuXHRcdFx0XHRtYXJnaW4tYm90dG9tIDE2cHhcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG5cdFx0XHRoMlxuXHRcdFx0XHRmb250LXNpemUgMzJweFxuXHRcdFx0XHRmb250LXdlaWdodCA3MDBcblx0XHRcdFx0bGluZS1oZWlnaHQgMS4zXG5cdFx0XHRcdG1hcmdpbi1ib3R0b20gMjVweFxuXHRcdFx0XHRtYXJnaW4tdG9wIDBcblx0XHRcdGFcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwNERDRVxuXHRcdFx0XHRjb2xvciB3aGl0ZVxuXHRcdFx0XHRmb250LXNpemUgMTZweFxuXHRcdFx0XHRwYWRkaW5nIDEzcHggNzBweFxuXHRcdFx0XHRwb2ludGVyLWV2ZW50cyB2aXNpYmxlXG5cdFx0XHRcdG1hcmdpbi10b3AgMFxuXHRcdFx0XHRib3JkZXItcmFkaXVzIDEwMHB4XG5cdFx0XHRcdGJvcmRlciBub25lXG5cdFx0XHRcdGN1cnNvciBwb2ludGVyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbiBub25lXG5cdFx0XHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXG5cdFx0XHQuY2xvc2Vcblx0XHRcdFx0YWJzb2x1dGU6IHRvcCAxNXB4IHJpZ2h0IDE1cHhcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlclxuXG5cdFx0LnNjZW5lX2JhY2tncm91bmRcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmMGYxZjNcblx0XHRcdGFic29sdXRlOiB0b3AgMCBsZWZ0IDBcblx0XHRcdHdpZHRoOiAxMDAlXG5cdFx0XHRoZWlnaHQ6IDEwMCVcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKCMzMzQ5NUYsIDAuNykscmdiYSgjMzM0OTVGLCAwLjcpKSwgdXJsKCdpbWFnZXMvaHVkZGxlX3dhbGwuanBnJykgY2VudGVyIG5vLXJlcGVhdCAvIGNvdmVyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDEyMCUgMTAwJVxuXHRcdFx0aW1nXG5cdFx0XHRcdGFic29sdXRlOiBib3R0b20gMCBsZWZ0IDUwJVxuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcblx0XHRcdFx0aGVpZ2h0OiAxMDAlXG5cdFx0XHRcdHdpZHRoOiBhdXRvXG5cdFx0XHRcdG9wYWNpdHk6IDBcblx0XHQubGFwdG9wX3dyYXBwZXJcblx0XHRcdGFic29sdXRlOiBib3R0b20gLTEwJSBsZWZ0IDUwJVxuXHRcdFx0d2lkdGg6IGNhbGMoMTYvOSAqIDEwMHZoKVxuXHRcdFx0aGVpZ2h0OiAxMDB2aFxuXHRcdFx0b3BhY2l0eTogMFxuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuNXNcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKVxuXHRcdFx0Ji5hY3RpdmVkXG5cdFx0XHRcdG9wYWNpdHk6IDFcblx0XHRcdC5zY3JlZW5cblx0XHRcdFx0cG9zaXRpb24gYWJzb2x1dGVcblx0XHRcdFx0d2lkdGggMTAwJVxuXHRcdFx0XHRoZWlnaHQgMTAwJVxuXHRcdFx0XHR0cmFuc2l0aW9uIGFsbCAzMDBtcyBlYXNlLWluXG5cdFx0XHRcdCYuc3BvdGxpZ2h0XG5cdFx0XHRcdFx0b3ZlcmZsb3cgaGlkZGVuXG5cdFx0XHRcdFx0dHJhbnNpdGlvbiBhbGwgMzAwbXMgZWFzZS1pblxuXHRcdFx0XHQuc3BvdGxpZ2h0X2ludGVyaW9yXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdXJsKCdpbWFnZXNfdjIvc2NlbmVfM19jY18xLmpwZycpXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplIGNvdmVyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQgbm8tcmVwZWF0XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbiBjZW50ZXJcblx0XHRcdFx0XHR0cmFuc2l0aW9uIGFsbCAzMDBtcyBlYXNlLWluXG5cdFx0XHRcdCYuc2NyZWVuXzIgLnNwb3RsaWdodF9pbnRlcmlvclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHVybCgnaW1hZ2VzX3YyL3NjZW5lXzNfY2NfMi5qcGcnKVxuXHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZSBjb3ZlclxuXHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0IG5vLXJlcGVhdFxuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb24gY2VudGVyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbiBhbGwgMzAwbXMgZWFzZS1pblxuXHRcdFx0XHQmLmRhcmtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgjMzM0OTVGLCAwLjcpLHJnYmEoIzMzNDk1RiwgMC43KSksIHVybCgnaW1hZ2VzX3YyL3NjZW5lXzNfY2NfMS5qcGcnKSBjZW50ZXIgbm8tcmVwZWF0IC8gY292ZXJcblx0XHRcdFx0XHQmLnNjcmVlbl8yXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgjMzM0OTVGLCAwLjcpLHJnYmEoIzMzNDk1RiwgMC43KSksIHVybCgnaW1hZ2VzX3YyL3NjZW5lXzNfY2NfMi5qcGcnKSBjZW50ZXIgbm8tcmVwZWF0IC8gY292ZXJcblx0XHRcdC5sYXB0b3Bcblx0XHRcdFx0YWJzb2x1dGU6IHRvcCAwIGxlZnQgMFxuXHRcdFx0XHR3aWR0aDogMTAwJVxuXHRcdFx0XHRoZWlnaHQ6IDEwMCVcblx0XHRcdFx0YmcoJ2ltYWdlcy9sYXB0b3AucG5nJywgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXIpXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpblxuXHRcdFx0XHQuc2NyZWVuX3dyYXBwZXJcblx0XHRcdFx0XHRhYnNvbHV0ZTogYm90dG9tIDI0JSBsZWZ0IDE4LjUlIHJpZ2h0IDE4LjUlIHRvcCA0LjUlXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMFxuXHQmLnNjZW5lXzFcblx0XHQjc2NlbmVfMVxuXHRcdFx0b3BhY2l0eTogMVxuXHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG9cblx0Ji5zY2VuZV8yXG5cdFx0I3NjZW5lXzFcblx0XHRcdGxlZnQ6IDEwMCVcblx0XHQjc2NlbmVfMlxuXHRcdFx0bGVmdDogMFxuXHRcdFx0b3BhY2l0eTogMVxuXHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG9cblx0LnRvb2x0aXBcblx0XHR3aWR0aDogMzQycHhcblx0XHRoZWlnaHQ6IDIwMHB4XG5cdFx0cG9zaXRpb246IGFic29sdXRlXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpXG5cdFx0dHJhbnNpdGlvbiAxMjAwbXMgdG9wIGVhc2UtaW4sIDEyMDBtcyBsZWZ0IGVhc2UtaW5cblx0XHQmLmNlbnRlcl9waXBcblx0XHRcdHRvcCA1MCUgIWltcG9ydGFudFxuXHRcdFx0bGVmdCA1MCUgIWltcG9ydGFudFxuXHRcdC5waXBcblx0XHRcdGN1cnNvcjogcG9pbnRlclxuXHRcdFx0YWJzb2x1dGU6IGJvdHRvbSAtMzBweCBsZWZ0IDUwJVxuXHRcdFx0bWFyZ2luLWxlZnQ6IC0zMXB4XG5cdFx0XHRvcGFjaXR5OiAuOVxuXHRcdFx0d2lkdGg6IDYwcHhcblx0XHRcdGhlaWdodDogNjBweFxuXHRcdFx0ei1pbmRleDogMjBcblx0XHRcdCY6YmVmb3JlXG5cdFx0XHRcdGNvbnRlbnQ6ICcgJ1xuXHRcdFx0XHRhYnNvbHV0ZTogdG9wIDUwJSBsZWZ0IDUwJVxuXHRcdFx0XHR3aWR0aDogMjRweFxuXHRcdFx0XHRoZWlnaHQ6IDI0cHhcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJVxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWQzZTY5XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpXG5cdFx0XHQucmluZ1xuXHRcdFx0XHRib3JkZXI6IDVweCBzb2xpZCAjZWQzZTY5XG5cdFx0XHRcdHdpZHRoOiAyNnB4XG5cdFx0XHRcdGhlaWdodDogMjZweFxuXHRcdFx0XHRhYnNvbHV0ZTogdG9wIDUwJSBsZWZ0IDUwJVxuXHRcdFx0XHRtYXJnaW46IC0xM3B4IDAgMCAtMTNweFxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlXG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lXG5cdFx0LmNvbnRlbnRcblx0XHRcdGFic29sdXRlOiB0b3AgNTAlIGxlZnQgNTAlXG5cdFx0XHR3aWR0aDogODAlXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKVxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdFxuXHRcdFx0aDJcblx0XHRcdFx0bWFyZ2luOiAwIDAgMTVweCAwXG5cdFx0XHRcdGNvbG9yOiAjMjkyOTI5XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjJweFxuXHRcdFx0XHRmb250LXdlaWdodDogNzAwXG5cdFx0XHRwXG5cdFx0XHRcdG1hcmdpbjogMFxuXHRcdFx0XHRmb250LXNpemU6IDE2cHhcblx0XHRcdFx0Y29sb3I6ICMyOTI5Mjlcblx0XHRcdFx0bGluZS1oZWlnaHQgMS41XG5cdFx0XHRcdGZvbnQtd2VpZ2h0IDMwMFxuXHRcdFx0YVxuXHRcdFx0XHRjb2xvcjogIzAwNERDRVxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmVcblx0XHRcdFx0ZGlzcGxheTogYmxvY2tcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4XG5cdFx0XHRcdG1hcmdpbi10b3A6IDhweFxuXHRcdFx0YnV0dG9uXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDREQ0Vcblx0XHRcdFx0Y29sb3Igd2hpdGVcblx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlIG5vbmVcblx0XHRcdFx0Zm9udC1zaXplIDEycHhcblx0XHRcdFx0cGFkZGluZyA4cHggMjZweFxuXHRcdFx0XHRwb2ludGVyLWV2ZW50cyB2aXNpYmxlXG5cdFx0XHRcdGZsb2F0IHJpZ2h0XG5cdFx0XHRcdG1hcmdpbi10b3AgOHB4XG5cdFx0XHRcdGJvcmRlci1yYWRpdXMgMTAwcHhcblx0XHRcdFx0Ym9yZGVyIG5vbmVcblx0XHRcdFx0Y3Vyc29yIHBvaW50ZXJcblx0XHRcdFx0Zm9udC13ZWlnaHQgNzAwXG5cdFx0LmJhY2tncm91bmRcblx0XHRcdGJhY2tncm91bmQtY29sb3Igd2hpdGVcblx0XHRcdGJveC1zaGFkb3cgMCA0cHggMjBweCByZ2JhKCM5Q0FDQzIsLjUpXG5cdFx0XHRib3JkZXItcmFkaXVzIDVweFxuXHRcdFx0d2lkdGggMzIycHhcblx0XHRcdGhlaWdodCAyMDBweFxuXHRcdFx0YWJzb2x1dGU6IHRvcCAtMzBweCBsZWZ0IDBcblx0XHRcdCY6YWZ0ZXJcblx0XHRcdFx0dG9wOiAxMDAlXG5cdFx0XHRcdGxlZnQ6IDUwJVxuXHRcdFx0XHRib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50XG5cdFx0XHRcdGNvbnRlbnQ6IFwiIFwiXG5cdFx0XHRcdGhlaWdodDogMFxuXHRcdFx0XHR3aWR0aDogMFxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGVcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmVcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApXG5cdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICNmZmZmZmZcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAxNXB4XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMTVweFxuXHRcdC5idWJibGVfd3JhcHBlclxuXHRcdFx0b3BhY2l0eTogMFxuXHRcdFx0aGVpZ2h0OiAxMDAlXG5cdFx0XHR3aWR0aDogMTAwJVxuXHRcdFx0YWJzb2x1dGU6IGJvdHRvbSAwIGxlZnQgMFxuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCVcblx0XHRcdHotaW5kZXg6IDNcblx0XHQmLnNob3duXG5cdFx0XHR6LWluZGV4OiA1XG5cdFx0Ji50YWxsXG5cdFx0XHRoZWlnaHQgMjEwcHhcblx0XHRcdC5iYWNrZ3JvdW5kXG5cdFx0XHRcdGhlaWdodCAyMzBweFxuXHRcdCYucmlnaHRcblx0XHRcdHdpZHRoOiAzNDJweFxuXHRcdFx0aGVpZ2h0OiAyMDBweFxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSlcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lXG5cdFx0XHQuYmFja2dyb3VuZFxuXHRcdFx0XHR3aWR0aCAzMjJweFxuXHRcdFx0XHRoZWlnaHQgMjAwcHhcblx0XHRcdFx0bWFyZ2luLWxlZnQgMjBweFxuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZVxuXHRcdFx0XHRwb3NpdGlvbiByZWxhdGl2ZVxuXHRcdFx0XHR0b3AgYXV0b1xuXHRcdFx0XHQmOmFmdGVyXG5cdFx0XHRcdFx0cmlnaHQ6IDEwMCVcblx0XHRcdFx0XHRsZWZ0OiBhdXRvXG5cdFx0XHRcdFx0dG9wOiA1MCVcblx0XHRcdFx0XHRib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50XG5cdFx0XHRcdFx0Y29udGVudDogXCIgXCJcblx0XHRcdFx0XHRoZWlnaHQ6IDBcblx0XHRcdFx0XHR3aWR0aDogMFxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZVxuXHRcdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApXG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmZmZmXG5cdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAxNXB4XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLTE1cHhcblx0XHRcdC5idWJibGVfd3JhcHBlclxuXHRcdFx0XHRsZWZ0OiAxNXB4XG5cdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJVxuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZVxuXHRcdFx0LmNvbnRlbnRcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDNweFxuXHRcdFx0XHRtYXJnaW4tdG9wOiAwXG5cdFx0XHRcdHRvcDogNTAlXG5cdFx0XHRcdHdpZHRoOiA4MCVcblx0XHRcdC5waXBcblx0XHRcdFx0YWJzb2x1dGU6IGxlZnQgLTMwcHggdG9wIDUwJVxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMFxuXHRcdFx0XHRtYXJnaW4tdG9wOiAtMzFweFxuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZVxuXHRcdFx0Ji5hY3RpdmVcblx0XHRcdFx0LmJhY2tncm91bmQsIC5idWJibGVfd3JhcHBlclxuXHRcdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvXG5cdFx0Ji5ib3R0b21cblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApXG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZVxuXHRcdFx0LnBpcFxuXHRcdFx0XHRhYnNvbHV0ZTogbGVmdCA1MCUgdG9wIC0zMXB4XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMzFweFxuXHRcdFx0XHRtYXJnaW4tdG9wOiAwXG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lXG5cdFx0XHQuYmFja2dyb3VuZFxuXHRcdFx0XHR3aWR0aCAzNDJweFxuXHRcdFx0XHRoZWlnaHQgMjAwcHhcblx0XHRcdFx0bWFyZ2luLXRvcCA0MHB4XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lXG5cdFx0XHRcdHBvc2l0aW9uIHJlbGF0aXZlXG5cdFx0XHRcdHRvcCBhdXRvXG5cdFx0XHRcdCY6YWZ0ZXJcblx0XHRcdFx0XHRib3R0b206IDk5JVxuXHRcdFx0XHRcdHRvcCBhdXRvXG5cdFx0XHRcdFx0bGVmdDogNTAlXG5cdFx0XHRcdFx0Ym9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudFxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiIFwiXG5cdFx0XHRcdFx0aGVpZ2h0OiAwXG5cdFx0XHRcdFx0d2lkdGg6IDBcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGVcblx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZVxuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKVxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmZmZmZcblx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDE1cHhcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTE1cHhcblx0XHRcdFx0LmJ1YmJsZV93cmFwcGVyXG5cdFx0XHRcdFx0dG9wOiAxNXB4XG5cdFx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlXG5cdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmVcblxuK2JlbG93KDgwMHB4KVxuXHQjc3RhZ2Vcblx0XHRoZWlnaHQgMTAwJVxuXHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0ei1pbmRleCAxXG5cdFx0LnRvb2x0aXBcblx0XHRcdHdpZHRoIDMyMHB4XG5cdFx0XHRwb3NpdGlvbiBmaXhlZFxuXHRcdFx0aGVpZ2h0IDI3JVxuXHRcdFx0dHJhbnNmb3JtIHRyYW5zbGF0ZVgoLTUwJSlcblx0XHRcdC5jb250ZW50XG5cdFx0XHRcdGgyXG5cdFx0XHRcdFx0Zm9udC1zaXplIDIwcHhcblx0XHRcdFx0cFxuXHRcdFx0XHRcdGZvbnQtc2l6ZSAxNHB4XG5cdFx0XHRcdGJ1dHRvblxuXHRcdFx0XHRcdGZvbnQtc2l6ZSAxMnB4XG5cdFx0XHQuYmFja2dyb3VuZFxuXHRcdFx0XHRoZWlnaHQgMTAwJVxuXHRcdFx0XHR0b3AgYXV0b1xuXHRcdFx0LmJhY2tncm91bmQ6YWZ0ZXJcblx0XHRcdFx0ZGlzcGxheSBub25lXG5cdFx0XHQmLnRhbGxcblx0XHRcdFx0aGVpZ2h0OiAzMCVcblx0XHQjc2NlbmVfMVxuXHRcdFx0aGVpZ2h0IDYwJVxuXHRcdFx0Ym90dG9tIDQwdmhcblx0XHRcdHBvc2l0aW9uIGFic29sdXRlXG5cdFx0XHRiZygnaW1hZ2VzX3YyL3RhYmxlLmpwZycsIG5vLXJlcGVhdCBib3R0b20gY2VudGVyIFxcLyA0MDBweCBhdXRvKVxuXHRcdFx0I3R2XG5cdFx0XHRcdHdpZHRoOiA2NXZoXG5cdFx0XHRcdGhlaWdodDogMzd2aFxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMFxuXHRcdFx0XHR0b3A6IDEwJVxuXHRcdFx0XHRsZWZ0OiA1MCVcblx0XHRcdFx0bWF4LXdpZHRoOiBhdXRvXG5cdFx0XHRcdGJvdHRvbSBhdXRvXG5cdFx0XHRcdCY6YmVmb3JlXG5cdFx0XHRcdFx0d2lkdGggODAuNSVcblx0XHRcdFx0XHRsZWZ0IDkuNzUlXG5cdFx0XHRcdFx0aGVpZ2h0IDgxJVxuXHRcdFx0XHRcdHRvcCAxMCVcblx0XHRcdFx0I2lkbGVcblx0XHRcdFx0XHR3aWR0aCA4MC41JVxuXHRcdFx0XHRcdGxlZnQgOS43NSVcblx0XHRcdFx0XHRoZWlnaHQgODElXG5cdFx0XHRcdFx0dG9wIDEwJVxuXHRcdFx0XHQjdmlkZW9cblx0XHRcdFx0XHR3aWR0aCA4MC41JVxuXHRcdFx0XHRcdGxlZnQgOS43NSVcblx0XHRcdFx0XHRoZWlnaHQgODElXG5cdFx0XHRcdFx0dG9wIDEwJVxuXHRcdFx0I0RDUFxuXHRcdFx0XHR0b3AgNDUlXG5cdFx0XHQjRENQX3dyYXBwZXJcblx0XHRcdFx0dG9wIDBcblx0XHRcdFx0bGVmdCAwXG5cdFx0XHRcdHdpZHRoIDEwMCVcblx0XHRcdFx0aGVpZ2h0IDEwMCVcblx0XHRcdFx0I0RDUF9zY3JlZW5cblx0XHRcdFx0XHR0b3AgMTUlXG5cdFx0XHRcdFx0d2lkdGg6IDUydmhcblx0XHRcdFx0XHRoZWlnaHQ6IDMwdmhcblx0XHRcdFx0XHR0cmFuc2Zvcm0gdHJhbnNsYXRlWCgtNTAlKVxuXHRcdFx0XHRcdG1heC1oZWlnaHQgbm9uZVxuXHRcdFx0I2hhbmRcblx0XHRcdFx0aGVpZ2h0IDMwMHB4XG5cdFx0XHRcdHRvcCAzMCVcblx0XHRcdFx0Ym90dG9tIGF1dG9cblx0XHRcdFx0Ji5hY3RpdmVcblx0XHRcdFx0XHRsZWZ0OiAtMTgwcHhcblx0XHRcdFx0XHQuYmVhbVxuXHRcdFx0XHRcdFx0bGVmdCAzODVweFxuXHRcdFx0XHQmLmRvbmVfYmVhbWluZ1xuXHRcdFx0XHRcdGxlZnQ6IC0zNTBweFxuXHRcdFx0XHRcdHotaW5kZXggLTFcblx0XHRcdFx0XHQuYmVhbVxuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZVxuXHRcdCNzY2VuZV8yXG5cdFx0XHQubGFwdG9wX3dyYXBwZXJcblx0XHRcdFx0Ym90dG9tOiBhdXRvXG5cdFx0XHRcdHRvcDogMzAlXG5cdFx0XHRcdHdpZHRoOiAxMjB2d1xuXHRcdFx0XHRoZWlnaHQ6IDc3dndcblx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbiBsZWZ0XG5cdFx0XHRcdHRyYW5zaXRpb24gYWxsIDMwMG1zIGVhc2UtaW5cblx0XHRcdFx0Ji56b29tXG5cdFx0XHRcdFx0dG9wOjIwJVxuXHRcdFx0XHRcdHRyYW5zZm9ybSBzY2FsZSgxLjIsMS4yKSB0cmFuc2xhdGVYKC01MCUpXG5cdFx0XHRcdFx0Ji5zdGVwXzJcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMiwyKSB0cmFuc2xhdGVYKC0zNSUpXG5cdFx0XHRcdFx0XHQuc3BvdGxpZ2h0X2ludGVyaW9yXG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoLjUpO1xuXHRcdFx0XHRcdCYuc3RlcF8zXG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDIsMikgdHJhbnNsYXRlWCgtMzUlKVxuXHRcdFx0XHRcdFx0LnNwb3RsaWdodF9pbnRlcmlvclxuXHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKC41KTtcblx0XHRcdFx0XHQmLnN0ZXBfNFxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgyLDIpIHRyYW5zbGF0ZVgoLTM1JSkgdHJhbnNsYXRlWSgtMjYlKVxuXHRcdFx0XHRcdFx0LnNwb3RsaWdodF9pbnRlcmlvclxuXHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKC41KTtcblx0XHRcdFx0XHQmLnN0ZXBfNVxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgyLDIpIHRyYW5zbGF0ZVgoLTY1JSk7XG5cdFx0XHRcdFx0XHQuc3BvdGxpZ2h0X2ludGVyaW9yXG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoLjUpO1xuXHRcdFx0XHRcdC5zcG90bGlnaHRfaW50ZXJpb3Jcblx0XHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuXHRcdFx0XHQubGFwdG9wXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCVcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCVcblx0XHRcdFx0XHRsZWZ0OiAwJVxuXHRcdFx0XHRcdC5zY3JlZW5fd3JhcHBlclxuXHRcdFx0XHRcdFx0dG9wIDQlXG5cdFx0XHRcdFx0XHRib3R0b20gMjMlXG5cdFx0XHRcdFx0XHRsZWZ0IDE0LjI1JVxuXHRcdFx0XHRcdFx0cmlnaHQgMTQuMjUlXG5cdFx0XHQuZm9ybVxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAycmVtXG5cdFx0XHRcdHdpZHRoOiA5MCVcbiJdfQ== */