.alignnone{margin:5px 20px 20px 0}.aligncenter,div.aligncenter{display:block;margin:5px auto 5px auto}.alignright{float:right;margin:5px 0 20px 20px}.alignleft{float:left;margin:5px 20px 20px 0}a img.alignright{float:right;margin:5px 0 20px 20px}a img.alignnone{margin:5px 20px 20px 0}a img.alignleft{float:left;margin:5px 20px 20px 0}a img.aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-caption{background:#fff;border:1px solid #f0f0f0;max-width:96%;padding:5px 3px 10px;text-align:center}.wp-caption.alignnone{margin:5px 20px 20px 0}.wp-caption.alignleft{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{border:0 none;height:auto;margin:0;max-width:98.5%;padding:0;width:auto}.wp-caption p.wp-caption-text{font-size:11px;line-height:17px;margin:0;padding:0 4px 5px}.screen-reader-text{border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px;word-wrap:normal !important}.screen-reader-text:focus{background-color:#eee;clip:auto !important;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.button{background-color:#004084 !important;border-color:#004084 !important;color:#fff !important}.button:hover{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.button.orange{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.button.orange:hover{background-color:#004084 !important;border-color:#004084 !important;color:#fff !important}.button.white.hollow{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;color:#fff !important}.button.white.hollow:hover{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;color:#fff !important}@font-face{font-family:'Open Sans';font-weight:normal;font-style:normal;src:url("../fonts/opensans/opensans-regular-webfont.eot");src:url("../fonts/opensans/opensans-regular-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-regular-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-regular-webfont.woff") format("woff"),url("../fonts/opensans/opensans-regular-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-regular-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'Open Sans';font-weight:normal;font-style:italic;src:url("../fonts/opensans/opensans-italic-webfont.eot");src:url("../fonts/opensans/opensans-italic-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-italic-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-italic-webfont.woff") format("woff"),url("../fonts/opensans/opensans-italic-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-italic-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'Open Sans';font-weight:700;font-style:normal;src:url("../fonts/opensans/opensans-bold-webfont.eot");src:url("../fonts/opensans/opensans-bold-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-bold-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-bold-webfont.woff") format("woff"),url("../fonts/opensans/opensans-bold-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-bold-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'Open Sans';font-weight:700;font-style:italic;src:url("../fonts/opensans/opensans-bolditalic-webfont.eot");src:url("../fonts/opensans/opensans-bolditalic-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-bolditalic-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-bolditalic-webfont.woff") format("woff"),url("../fonts/opensans/opensans-bolditalic-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-bolditalic-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'DINNextLTPro-Condensed';font-weight:normal;font-style:normal;src:url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.eot");src:url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.eot?#iefix") format("embedded-opentype"),url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.woff") format("woff"),url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.ttf") format("truetype"),url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.svg#open_sansregular") format("svg")}@font-face{font-family:'Open Sans';font-weight:700;font-style:normal;src:url("../fonts/opensans/opensans-bold-webfont.eot");src:url("../fonts/opensans/opensans-bold-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-bold-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-bold-webfont.woff") format("woff"),url("../fonts/opensans/opensans-bold-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-bold-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'Heartwell';font-weight:normal;font-style:normal;src:url("../fonts/heartwell/heartwell-webfont.eot");src:url("../fonts/heartwell/heartwell-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/heartwell/heartwell-webfont.woff2") format("woff2"),url("../fonts/heartwell/heartwell-webfont.woff") format("woff"),url("../fonts/heartwell/heartwell-webfont.ttf") format("truetype"),url("../fonts/heartwell/heartwell-webfont.svg#open_sansregular") format("svg")}body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:unset}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase}.post-template-default h2,.post-template-default .h2{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:16px;text-transform:none}body{background-color:#f6f7fb}body{opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.no-js body{opacity:0}.menu li a{color:#004084}.menu li a:hover{color:#f60;text-decoration:underline}.logo{display:inline-block;width:100%;text-align:center}.see-all-link{text-transform:uppercase;font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.875em;line-height:1;letter-spacing:0.5px;color:#004084;text-decoration:underline}iframe{max-width:100%}.click-to-tweet{color:#8a8a8a}.click-to-tweet .fa-twitter{color:#55acee}.aspect-ratio-16x9{position:relative;overflow:hidden}.aspect-ratio-16x9:before{display:block;content:"";width:100%;padding-top:56.25%}.aspect-ratio-16x9>.content{position:absolute;top:0;left:0;right:0;bottom:0}.grid-container.single,.grid-container.single-narrow,.grid-container.sidebar{padding-top:1.875em;padding-bottom:1.875em}.grid-container.sidebar .sticky.is-stuck{z-index:4}.grid-container.single-narrow .module.posts-carousel .slides .slide .title-wrap .title,.grid-container.sidebar .module.posts-carousel .slides .slide .title-wrap .title{font-size:1rem}.grid-container.full{overflow-x:hidden}.grid-container .module{margin-bottom:1.875em}.grid-container .module:last-of-type{margin-bottom:0}body.single .grid-container{padding-top:0}body.single .grid-container #sidebar-anchor{background-color:white}body.single .grid-container .title{padding:16px;line-height:1.1;color:#4a4a4a}@media print, screen and (min-width: 40em){body.single .grid-container .title{padding:48px 96px}}body.single .grid-container .title .author-and-date{font-size:0.7em;color:#f60}body.single .grid-container .post-thumb img{width:100%}body.single .grid-container .the-content{padding:16px}body.single .grid-container .the-content .download-video-link{color:#f60}body.single .grid-container .the-content .title-share{text-align:center;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold}body.single .grid-container .the-content .social-share.partial>a{display:block;margin:1em auto;text-align:center}@media print, screen and (min-width: 40em){body.single .grid-container .the-content{padding:48px 96px}}body.single #mobile-share .sticky{padding-top:.5em;padding-bottom:1.5em;background-color:white;text-align:center}body.single #mobile-share .sticky .title-share{line-height:1}body.single #mobile-share .sticky .social-share.partial .badge{font-size:1em;margin:0 5px}@media screen and (max-width: 63.9375em){body.single #sidebar .is-at-bottom{top:0 !important}}body.single-video .grid-container .player-and-content{background-color:#fff}body.single-video .grid-container h1.title{line-height:1;color:#4a4a4a}@media print, screen and (min-width: 40em){body.single-video .grid-container h1.title{padding:0px 96px}}body.single-video .grid-container .download-video-link{color:#f60}body.single-video .grid-container .post-thumb{position:relative}@media print, screen and (min-width: 40em){body.single-video .grid-container .post-thumb{margin:0 96px}}body.single-video .grid-container .post-thumb:before{display:block;content:"";width:100%;padding-top:56.25%}body.single-video .grid-container .post-thumb>.content{position:absolute;top:0;left:0;right:0;bottom:0}body.single-video .grid-container .post-thumb .content iframe{width:100%;height:100%}body.search-results .title{background-color:white;padding:16px;line-height:1.1;color:#4a4a4a}@media print, screen and (min-width: 40em){body.search-results .title{padding:48px 96px}}body.search-results .title .query-string{font-size:0.7em;color:#f60}body.search-results .title .number-of-result{font-size:0.5em}@media print, screen and (min-width: 40em){body.search-results .posts.with-title{margin-top:-100px}body.search-results .posts .cell{margin-bottom:1.875em}body.search-results .posts .card{height:100%;margin:0}body.search-results .posts .card .date{color:#4a4a4a}}body.error404 .error-message{margin-top:5em;margin-bottom:5em}@media print, screen and (min-width: 40em){body.error404 .error-message{margin-bottom:50vh}}body.error404 .error-message .error-code{font-size:10em;line-height:1;color:#00346b}.partial.nav [data-sticky]{z-index:5;background-color:#004084}@media screen and (max-width: 63.9375em){.partial.nav [data-sticky] #headerRow1 .grid-container{padding:0}}.partial.nav [data-sticky] #headerRow1 .title-bar{background-color:transparent}.partial.nav [data-sticky] #headerRow1 .title-bar .logo img{max-width:125px}@media print, screen and (min-width: 40em){.partial.nav [data-sticky] #headerRow1 .title-bar .logo img{max-width:250px}}.partial.nav [data-sticky] #headerRow1 #headerContainer{background-color:white}@media print, screen and (min-width: 64em){.partial.nav [data-sticky] #headerRow1 #headerContainer{background-color:transparent;padding-top:.625rem;padding-bottom:.625rem}}.partial.nav [data-sticky] #headerRow1 #headerContainer .logo{width:125px}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li{border-bottom:1px solid #054873}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li a{color:#004084;font-weight:bold;font-size:.75em}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li a:hover{text-decoration:underline}@media print, screen and (min-width: 64em){.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li a{color:white}}@media screen and (min-width: 75em){.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li a{font-size:.875em}}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li.is-dropdown-submenu-parent a:after{border-color:#f60 transparent transparent}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li.is-drilldown-submenu-parent a:after{display:inline-block;position:initial;margin-left:.75rem;border-color:transparent transparent transparent #004084}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li.js-drilldown-back a:before{border-color:transparent #004084 transparent transparent}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu{border-color:#054873}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li:hover{background-color:#f60}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li:hover.is-dropdown-submenu-parent a:after{border-color:transparent transparent transparent white}@media print, screen and (min-width: 64em){.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li:hover>a{color:white}}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li.is-dropdown-submenu-parent a:after{border-color:transparent transparent transparent #f60}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li a{color:#054873}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerSocialIcons{padding:.625rem 0}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerSocialIcons .social-follow.partial{display:inline-block}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerSocialIcons .badge{font-size:.8em}@media print, screen and (min-width: 64em){.partial.nav [data-sticky] #headerRow1 #headerContainer #headerSocialIcons .badge{background-color:white;color:#004084}}.partial.nav [data-sticky] #headerRow2{background-color:white;border-bottom:2px solid #f60}.partial.nav [data-sticky] #headerRow2 #headerSubscriptionForm,.partial.nav [data-sticky] #headerRow2 .search-form.partial{background-color:white;padding:.625em 0}.partial.nav [data-sticky] #headerRow2 #headerSubscriptionForm label h4,.partial.nav [data-sticky] #headerRow2 #headerSubscriptionForm .input-group,.partial.nav [data-sticky] #headerRow2 .search-form.partial label h4,.partial.nav [data-sticky] #headerRow2 .search-form.partial .input-group{margin-bottom:0;line-height:1}.partial.nav [data-sticky] #headerRow2 #headerSubscriptionForm .button,.partial.nav [data-sticky] #headerRow2 .search-form.partial .button{min-width:120px}.partial.foot{padding:1.75em 0;background-color:white}.partial.foot .logo{width:81px}.partial.foot #footerSubscriptionForm .input-group{margin-bottom:0}.partial.foot #footerMenu .menu li a,.partial.foot #footerMenu .menu li a:hover{color:#5d6777;font-size:.75em;font-weight:bold;text-transform:uppercase}.partial.foot #footerSocialFollow{padding:.875em 0}.partial.foot #footerSocialFollow .social-follow.partial .badge{margin-right:10px}@media print, screen and (min-width: 64em){.partial.foot #footerSocialFollow .social-follow.partial .badge{margin-right:0}}.partial.social-follow .badge{font-size:.8em;background-color:#004084;color:white}.partial.social-share .badge{font-size:.8em;background-color:#004084;color:white}.partial.section-header{position:relative;text-align:center;margin-bottom:1.875em}.partial.section-header:before{content:' ';position:absolute;left:0;top:30%;width:100%;height:.75em}.partial.section-header .title-wrapper{display:inline-block;position:relative;background-color:#f6f7fb;padding:0 1em}.partial.section-header .title-wrapper .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;line-height:1;margin:0}.partial.section-header.blue{color:#004084}.partial.section-header.blue:before{background-color:#004084}.partial.section-header.orange{color:#f60}.partial.section-header.orange:before{background-color:#f60}.partial.subscription-form-popup{position:relative;background-color:white;max-width:700px;margin:0 auto;padding:20px}.module.banner{background-color:#ccc;position:relative}@media screen and (max-width: 39.9375em){.module.banner .slides .slide{position:relative}.module.banner .slides .slide:before{display:block;content:"";width:100%;padding-top:75%}.module.banner .slides .slide>.content{position:absolute;top:0;left:0;right:0;bottom:0}}@media screen and (min-width: 40em) and (max-width: 63.9375em){.module.banner .slides .slide{position:relative}.module.banner .slides .slide:before{display:block;content:"";width:100%;padding-top:31.25%}.module.banner .slides .slide>.content{position:absolute;top:0;left:0;right:0;bottom:0}}.module.banner .slides .slide .content{-webkit-background-size:100% auto;background-size:100% auto}@media print, screen and (min-width: 64em){.module.banner .slides .slide .content{height:320px;-webkit-background-size:cover;background-size:cover;background-position:center}}.module.banner .banner_title{position:absolute;width:100%;text-align:center;top:25%;color:#ffffff}.module.banner .banner_title h1{font-size:5.875rem;font-size:4.75rem}@media print, screen and (min-width: 40em){.module.banner .banner_title h1{font-size:5rem}}.module.banner .banner_title h2{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;text-transform:none}.module.load-more-post .title{background-color:#2ca4d7;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:white !important;line-height:1;padding-top:1em;padding-bottom:1em}@media print, screen and (min-width: 40em){.module.load-more-post .title{margin-bottom:0;padding-top:50px !important;padding-bottom:120px !important}}@media print, screen and (min-width: 40em){.module.load-more-post .posts.with-title{margin-top:-100px}.module.load-more-post .posts .cell{margin-bottom:1.875em}.module.load-more-post .posts .card{height:100%;margin:0}.module.load-more-post .posts .card .date{color:#4a4a4a}}.module.who-we-are .title{background-color:#2ca4d7;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:white;line-height:1;padding-top:1em;padding-bottom:1em}@media print, screen and (min-width: 40em){.module.who-we-are .title{margin-bottom:0;padding-top:50px;padding-bottom:120px}}.module.who-we-are .posts .cell .card .card-image img{width:100%}.module.who-we-are .posts .cell .card .card-section .name{color:#4a4a4a;margin-bottom:0;line-height:1}.module.who-we-are .posts .cell .card .card-section .author-title{color:#f60}.module.who-we-are .posts .cell .card .card-section .bio{color:#4a4a4a}@media print, screen and (min-width: 40em){.module.who-we-are .posts .cell{margin-bottom:1.875em}.module.who-we-are .posts .cell .card{height:100%;margin:0}.module.who-we-are .posts.with-title{margin-top:-100px}}.module.carousel .slides .slide{position:relative}.module.carousel .slides .slide:before{display:block;content:"";width:100%;padding-top:56.25%}.module.carousel .slides .slide>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.carousel .slides .slide .content{background-color:#ccc;-webkit-background-size:cover;background-size:cover;background-position:center;padding:2em}.module.carousel .slides .slide .content .overlay{background:-webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0,0,0,0.9)));background:-webkit-linear-gradient(transparent, rgba(0,0,0,0.9));background:linear-gradient(transparent, rgba(0,0,0,0.9));-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000,endColorstr=#E5000000);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000,endColorstr=#E5000000);position:absolute;top:80%;bottom:0;left:0;right:0}.module.carousel .slides .slide .content .overlay .title{position:absolute;left:1em;right:1em;bottom:1em;color:white;margin:0;line-height:1.1}.module.carousel .nav .nav-button{color:white;background-color:#004084;height:100%;padding:2em;margin:0;cursor:pointer;border-left:5px solid #004084}.module.carousel .nav .nav-button.active,.module.carousel .nav .nav-button:hover{background-color:#00346b;border-left:5px solid #f60}@media print, screen and (min-width: 40em){.module.carousel .nav .nav-button{border-top:5px solid #004084;border-left:0}.module.carousel .nav .nav-button.active,.module.carousel .nav .nav-button:hover{border-top:5px solid #f60;border-left:0}}@media print, screen and (min-width: 40em){.module.post-list .posts .cell{margin-bottom:1.875em}.module.post-list .posts .card{height:100%;margin:0}.module.post-list .posts .card .date{color:#4a4a4a}}.module.marquee .marquee-title-bar{color:white;background-color:#2ca4d7;background-position:center right;-webkit-background-size:auto 100%;background-size:auto 100%;background-repeat:no-repeat;height:185px}@media print, screen and (min-width: 40em){.module.marquee .marquee-title-bar{height:auto;background-position:center left}}.module.marquee .marquee-title-bar>.grid-x{padding:1em;height:auto}@media print, screen and (min-width: 40em){.module.marquee .marquee-title-bar>.grid-x{height:130px}}.module.marquee .marquee-title-bar>.grid-x .title{margin:0;font-size:1.9375rem;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold}.module.marquee .marquee-title-bar>.grid-x .see-all-link{color:white}.module.marquee .posts{background-color:white}.module.marquee .posts .cell{padding-top:.9375rem;padding-bottom:.9375rem}@media print, screen and (min-width: 40em){.module.marquee .posts .cell .card{margin-bottom:0;height:100%}}.module.thumbnails-marquee .thumbnail-marquee{margin-bottom:.875em;position:relative}.module.thumbnails-marquee .thumbnail-marquee:before{display:block;content:"";width:100%;padding-top:56.25%}.module.thumbnails-marquee .thumbnail-marquee>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.thumbnails-marquee .thumbnail-marquee .content{-webkit-background-size:cover;background-size:cover}.module.thumbnails-marquee .thumbnail-marquee .content .overlay{display:table;width:100%;height:100%}.module.thumbnails-marquee .thumbnail-marquee .content .overlay .title{display:table-cell;text-align:center;vertical-align:middle;color:white;font-weight:bold}.module.posts-carousel .left-col-wrap{background-color:white;height:100%}.module.posts-carousel .left-col-wrap .canvas{position:relative}.module.posts-carousel .left-col-wrap .canvas:before{display:block;content:"";width:100%;padding-top:56.25%}.module.posts-carousel .left-col-wrap .canvas>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.posts-carousel .left-col-wrap .canvas .content{-webkit-background-size:cover;background-size:cover}.module.posts-carousel .left-col-wrap .canvas .content iframe{width:100%;height:100%}.module.posts-carousel .left-col-wrap .info-box{padding:1em}.module.posts-carousel .left-col-wrap .info-box .title a{color:black}.module.posts-carousel .left-col-wrap .info-box .title a:hover{text-decoration:underline}.module.posts-carousel .left-col-wrap .info-box .share-title{margin-right:.5em;color:#f60}.module.posts-carousel .left-col-wrap .info-box .download-video-link{color:#f60}.module.posts-carousel .slides .slide{padding-bottom:1em;cursor:pointer;border:0}.module.posts-carousel .slides .slide[data-post-type="video"] .thumb .content img{opacity:.6}.module.posts-carousel .slides .slide .thumb{position:relative;z-index:-1}.module.posts-carousel .slides .slide .thumb:before{display:block;content:"";width:100%;padding-top:56.25%}.module.posts-carousel .slides .slide .thumb>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.posts-carousel .slides .slide .thumb .content{background-color:#ccc;-webkit-background-size:cover;background-size:cover;background-position:center}.module.posts-carousel .slides .slide .thumb .content img{width:30%;height:auto;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);opacity:0}.module.posts-carousel .slides .slide .title-wrap{background-color:rgba(255,255,255,0.5);padding:.5em;width:100%;margin:0 auto;margin-top:0}.module.posts-carousel .slides .slide .title-wrap .title{margin:0;line-height:1}@media screen and (max-width: 63.9375em){.module.posts-carousel .slides .slide{margin:0 !important;padding:0 5px}}.module.photo-button-card .the-card{background-color:white}.module.photo-button-card .the-card .photo{position:relative}.module.photo-button-card .the-card .photo:before{display:block;content:"";width:100%;padding-top:56.25%}.module.photo-button-card .the-card .photo>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.photo-button-card .the-card .photo .content{-webkit-background-size:cover;background-size:cover}.module.photo-button-card .the-card .button-wrapper{color:#4a4a4a;padding:3em}.module.post-widget{background-color:#004084;color:white;padding:1em 2.5em}.module.post-widget.white{background-color:white;color:#4a4a4a}.module.post-widget.white a{color:#4a4a4a}.module.post-widget.blue{background-color:#004084;color:#f6f7fb}.module.post-widget.blue a{color:white}.module.post-widget a{color:white}.module.post-widget a img{width:100%}.module.post-widget a .post-title{margin:.5em 0 1em 0}.module.ali-views{position:relative}.module.ali-views .content{color:white;position:absolute;top:0;bottom:0;left:0;right:0}.module.ali-views .content>.grid-x{height:100%}.module.ali-views .content .title{font-family:'heartwell';text-transform:capitalize}.module.ali-views .content .button{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;color:#fff !important}.module.ali-views .content .button:hover{background-color:#fff !important;border-color:#fff !important;color:#f60 !important}.module.text-and-button.blue{background-color:#2ca4d7;padding-top:1em}.module.text-and-button.blue .title{color:white;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif}.module.text-and-button.blue .button{background-color:#fff !important;border-color:#fff !important;color:#2ca4d7 !important}.module.text-and-button.blue .button:hover{background-color:#fff !important;border-color:#fff !important;color:#2ca4d7 !important}.module.text-and-button.no-bg{padding-top:1em;border-top:1px solid #5d6777;border-bottom:1px solid #5d6777}.module.text-and-button.no-bg .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:#5d6777}.module.text-and-button.no-bg .button{background-color:#004084 !important;border-color:#004084 !important;color:#fff !important}.module.text-and-button.no-bg .button:hover{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.module.external-links{background-color:#eee;padding:1em}.module.external-links .title{color:#004084}.module.external-links .link{color:#4a4a4a}.module.external-links .link:hover{text-decoration:underline}.module.external-links .source{color:#f60;text-transform:uppercase}.module.social-follow{padding:1.875em;background-color:#004084}.module.social-follow .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:white}.module.social-follow .partial.social-follow .badge{font-size:1em;background-color:white;color:#004084}.module.signup-widget{padding:.9375em;background-color:#004084}.module.signup-widget .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:white}.module.signup-widget .button{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.module.signup-widget .button:hover{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.module.gmv-2018 .gmv-mob-container{position:relative;width:100%;height:auto;max-width:690px}.module.gmv-2018 img{position:relative;height:auto;max-width:100%}.module.gmv-2018 .sidebar-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;position:absolute;height:100%;width:100%;padding:.5em;z-index:1;-webkit-box-pack:stretch;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.module.gmv-2018 .sidebar-inner-container{position:relative;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.module.gmv-2018 .sidebar-inner-container-3{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-flex:0.2;-webkit-flex:0.2;-ms-flex:0.2;flex:0.2}.module.gmv-2018 .sidebar-inner-container-4{-webkit-box-flex:0.5;-webkit-flex:0.5;-ms-flex:0.5;flex:0.5}.module.gmv-2018 .sidebar-inner-container-5{-webkit-box-flex:0.2;-webkit-flex:0.2;-ms-flex:0.2;flex:0.2}.module.gmv-2018 .sidebar-inner-container-6{-webkit-box-flex:0.5;-webkit-flex:0.5;-ms-flex:0.5;flex:0.5}.module.gmv-2018 .sidebar-container,.module.gmv-2018 .sidebar-inner-container,.module.gmv-2018 .gmv-mob-container h1,.module.gmv-2018 .gmv-mob-container h2,.module.gmv-2018 .gmv-mob-container h3,.module.gmv-2018 .gmv-mob-container h4,.module.gmv-2018 .gmv-mob-container h5,.module.gmv-2018 .gmv-mob-container p{text-align:center;margin:0;font-weight:bold}.module.gmv-2018 .gmv-mob-container h1{font-size:2.5em}.module.gmv-2018 .gmv-mob-container h2{font-size:1.5em}.module.gmv-2018 .gmv-mob-container h3{font-size:1.2em}.module.gmv-2018 .gmv-mob-container h4{font-size:1em}.module.gmv-2018 .gmv-mob-container h5{font-size:0.8em}.module.gmv-2018 .gmv-mob-container p{font-size:0.7em;line-height:1.2}.module.gmv-2018 .gmv-mob-container{font-size:20px}@media screen and (max-width: 650px){.module.gmv-2018 .gmv-mob-container{font-size:35px}}@media screen and (max-width: 600px){.module.gmv-2018 .gmv-mob-container{font-size:32px}}@media screen and (max-width: 550px){.module.gmv-2018 .gmv-mob-container{font-size:29px}}@media screen and (max-width: 500px){.module.gmv-2018 .gmv-mob-container{font-size:26px}}@media screen and (max-width: 450px){.module.gmv-2018 .gmv-mob-container{font-size:23px}}@media screen and (max-width: 400px){.module.gmv-2018 .gmv-mob-container{font-size:20px}}@media screen and (max-width: 350px){.module.gmv-2018 .gmv-mob-container{font-size:15px}}@media print, screen and (min-width: 40em){.module.gmv-2018 .gmv-mob-container{font-size:2.5em}}@media print, screen and (min-width: 64em){.module.gmv-2018 .gmv-mob-container{font-size:1em}}@media screen and (min-width: 75em){.module.gmv-2018 .gmv-mob-container{font-size:1em}}.module.gmv-2018-landscape .gmv-desk-container{position:relative;width:100%;height:auto}.module.gmv-2018-landscape img{position:relative;height:auto;max-width:100%}.module.gmv-2018-landscape .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;position:absolute;height:100%;width:100%;z-index:1;-webkit-box-pack:stretch;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.module.gmv-2018-landscape .inner-container{position:relative;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.module.gmv-2018-landscape .inner-container-3{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.module.gmv-2018-landscape .inner-block{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-align:center;margin:0}.module.gmv-2018-landscape .inner-block img,.module.gmv-2018-landscape .inner-block h1,.module.gmv-2018-landscape .inner-block h2,.module.gmv-2018-landscape .inner-block h3,.module.gmv-2018-landscape .inner-block h4,.module.gmv-2018-landscape .inner-block h5,.module.gmv-2018-landscape .inner-block p,.module.gmv-2018-landscape .inner-block span{position:relative;margin:0}.module.gmv-2018-landscape .gmv-desk-container h1{font-size:2.2em}.module.gmv-2018-landscape .gmv-desk-container h2{font-size:1.5em}.module.gmv-2018-landscape .gmv-desk-container h3{font-size:1.2em}.module.gmv-2018-landscape .gmv-desk-container h4{font-size:1em}.module.gmv-2018-landscape .gmv-desk-container h5{font-size:0.8em}.module.gmv-2018-landscape .gmv-desk-container p{font-size:0.6em;padding-bottom:0.8em;line-height:1.4}.module.gmv-2018-landscape .gmv-desk-container{font-size:22px}@media screen and (max-width: 650px){.module.gmv-2018-landscape .gmv-desk-container{font-size:19px}}@media screen and (max-width: 600px){.module.gmv-2018-landscape .gmv-desk-container{font-size:16px}}@media screen and (max-width: 550px){.module.gmv-2018-landscape .gmv-desk-container{font-size:13px}}@media screen and (max-width: 500px){.module.gmv-2018-landscape .gmv-desk-container{font-size:10px}}@media screen and (max-width: 450px){.module.gmv-2018-landscape .gmv-desk-container{font-size:10px}}@media screen and (max-width: 400px){.module.gmv-2018-landscape .gmv-desk-container{font-size:10px}}@media screen and (max-width: 350px){.module.gmv-2018-landscape .gmv-desk-container{font-size:10px}}.module.gmv-2019{position:relative;color:white;text-align:center}.module.gmv-2019>img{width:100%}.module.gmv-2019 .content-wrapper{position:absolute;width:100%;height:100%;overflow:hidden}.module.gmv-2019 .content-wrapper .aspect-ratio-16x9{position:relative}.module.gmv-2019 .content-wrapper .aspect-ratio-16x9:before{display:block;content:"";width:100%;padding-top:56.25%}.module.gmv-2019 .content-wrapper .aspect-ratio-16x9>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.gmv-2019 .content-wrapper .dollar-sign{font-size:.5em}.module.gmv-2019 .text-1{font-weight:bold;font-size:5.3vw;line-height:1;margin-top:0.7em}.module.gmv-2019 .text-2{font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:13vw;line-height:1;margin-top:0.3em;letter-spacing:0px}.module.gmv-2019 .text-3{font-size:6vw;line-height:0.7}.module.gmv-2019 .text-4{font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:13vw;line-height:1;margin-top:0.2em;letter-spacing:0px}.module.gmv-2019 .text-5{font-size:5vw;margin-top:.5em}.module.gmv-2019 .text-5 p{font-size:.8em;line-height:1.2}@media print, screen and (min-width: 64em){.module.gmv-2019 .text-1{font-size:.93em;margin-bottom:.5em}.module.gmv-2019 .text-2{font-size:2.5em}.module.gmv-2019 .text-3{font-size:1.5em;line-height:0.5}.module.gmv-2019 .text-4{font-size:2.5em;margin-top:0.3em}.module.gmv-2019 .text-5{padding:0 0.5em;font-size:0.8em}}.module.gmv-2019-landscape{background-color:purple;position:relative;color:white;text-align:center}.module.gmv-2019-landscape .content-wrapper{position:absolute;width:100%;height:100%;overflow:hidden}.module.gmv-2019-landscape .content-wrapper .dollar-sign{font-size:.5em}.module.gmv-2019-landscape .text-1{font-weight:bold;font-size:2.6vw;line-height:1;margin-top:0.4em}.module.gmv-2019-landscape .text-2{font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:5.4vw;line-height:1;margin-top:1.3em;padding:0 1em}.module.gmv-2019-landscape .text-5{font-size:1.5vw;margin-top:2.5em}.module.gmv-2019-landscape .text-5 p{font-size:.8em;line-height:1.2}@media screen and (min-width: 75em){.module.gmv-2019-landscape .text-1{font-size:1.9em}.module.gmv-2019-landscape .text-2{font-size:4em}.module.gmv-2019-landscape .text-5{font-size:1em;margin-top:4em}}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFsaXppbGEuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsV0FDSSxzQkFBdUIsQ0FDMUIsNkJBSUcsY0FDQSx3QkFBeUIsQ0FDNUIsWUFHRyxZQUNBLHNCQUF1QixDQUMxQixXQUdHLFdBQ0Esc0JBQXVCLENBQzFCLGlCQUdHLFlBQ0Esc0JBQXVCLENBQzFCLGdCQUdHLHNCQUF1QixDQUMxQixnQkFHRyxXQUNBLHNCQUF1QixDQUMxQixrQkFHRyxjQUNBLGlCQUNBLGlCQUFrQixDQUNyQixZQUdHLGdCQUNBLHlCQUNBLGNBQ0EscUJBQ0EsaUJBQWtCLENBQ3JCLHNCQUdHLHNCQUF1QixDQUMxQixzQkFHRyxzQkFBdUIsQ0FDMUIsdUJBR0csc0JBQXVCLENBQzFCLGdCQUdHLGNBQ0EsWUFDQSxTQUNBLGdCQUNBLFVBQ0EsVUFBVyxDQUNkLDhCQUdHLGVBQ0EsaUJBQ0EsU0FDQSxpQkFBa0IsQ0FDckIsb0JBSUMsU0FDQSw4QkFDQSw2QkFBQSxBQUNBLHFCQUFBLFdBQ0EsWUFDQSxnQkFDQSxVQUNBLDZCQUNBLFVBQ0EsMkJBQTRCLENBQzdCLDBCQUdDLHNCQUNBLHFCQUNBLHVCQUFBLEFBQ0EsZUFBQSxXQUNBLGNBQ0EsY0FDQSxZQUNBLFNBQ0EsbUJBQ0EsdUJBQ0EscUJBQ0EsUUFDQSxXQUNBLGNBQWUsQ0FFaEIsUUFvQ0Msb0NBQ0EsZ0NBQ0EscUJBQXdCLENBTTFCLGNBUkUsaUNBQ0EsNkJBQ0EscUJBQXdCLENBTTFCLGVBUkUsaUNBQ0EsNkJBQ0EscUJBQXdCLENBTTFCLHFCQVJFLG9DQUNBLGdDQUNBLHFCQUF3QixDQU0xQixxQkFSRSwwQ0FDQSw2QkFDQSxxQkFBd0IsQ0FNMUIsMkJBUkUsMENBQ0EsNkJBQ0EscUJBQXdCLENB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Q0EsZ0JBQ0EsY0FDQSxpQkFDQSxhQUFjLENBdnhCcEIsbUNBMHhCTSxnQkFDQSxnQkFBaUIsQ0EzeEJ2QixxQ0E2eEJRLGVBQ0EsZUFBZ0IsQ0FDakIsb0NBL3hCUCxtQ0FteUJRLGVBQWdCLENBbnlCeEIsbUNBc3lCUSxhQUFjLENBdHlCdEIsbUNBeXlCUSxjQUNBLGNBQWUsQ0FDaEIsQ0FBQSIsImZpbGUiOiJhbGl6aWxhLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdmb3VuZGF0aW9uJztcblxuLyogPVdvcmRQcmVzcyBDb3JlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFsaWdubm9uZSB7XG4gICAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbi5hbGlnbmNlbnRlcixcbmRpdi5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA1cHggYXV0byA1cHggYXV0bztcbn1cblxuLmFsaWducmlnaHQge1xuICAgIGZsb2F0OnJpZ2h0O1xuICAgIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuYSBpbWcuYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG5hIGltZy5hbGlnbm5vbmUge1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgIG1heC13aWR0aDogOTYlOyAvKiBJbWFnZSBkb2VzIG5vdCBvdmVyZmxvdyB0aGUgY29udGVudCBhcmVhICovXG4gICAgcGFkZGluZzogNXB4IDNweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25ub25lIHtcbiAgICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gICAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7XG59XG5cbi53cC1jYXB0aW9uIGltZyB7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDk4LjUlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi53cC1jYXB0aW9uIHAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgNHB4IDVweDtcbn1cblxuLyogVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDsgLyogTWFueSBzY3JlZW4gcmVhZGVyIGFuZCBicm93c2VyIGNvbWJpbmF0aW9ucyBhbm5vdW5jZSBicm9rZW4gd29yZHMgYXMgdGhleSB3b3VsZCBhcHBlYXIgdmlzdWFsbHkuICovXG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNsaXAtcGF0aDogbm9uZTtcbiAgY29sb3I6ICM0NDQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwO1xuICAvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xufVxuXG4vLyBcbi8vIENvbG9yIFBhbGV0dGVcbi8vIFxuJGFsaXppbGEtYmx1ZTogIzAwNDA4NDtcbiRhbGl6aWxhLWJsdWUtZGFyazogIzAwMzQ2YjtcbiRhbGl6aWxhLWJsdWUtbGlnaHQ6ICMyY2E0ZDc7XG4kYWxpemlsYS1kYXJrLWJsdWU6ICMwNTQ4NzM7XG4kYWxpemlsYS1vcmFuZ2U6ICNmZjY2MDA7XG4kYWxpemlsYS1ncmV5OiAjNWQ2Nzc3O1xuJGFsaXppbGEtZ3JleS1iZzogI2NjY2NjYztcbiRhbGl6aWxhLWdyZXktbGlnaHQ6ICNlZWVlZWU7XG4kYWxpemlsYS13aGl0ZTogI2Y2ZjdmYjtcbiRhbGl6aWxhLWJsYWNrOiAjNGE0YTRhO1xuXG4vLyBcbi8vIE1peGluc1xuLy8gXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xuICB9XG4gID4gLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cbkBtaXhpbiBidXR0b24oICRiZzogdHJhbnNwYXJlbnQsICRiZHI6ICRzeXUtZ3JlZW4sICRjb2xvcjogJHN5dS1ncmVlbiApIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGJkciAhaW1wb3J0YW50O1xuICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8vIFxuLy8gQnV0dG9uc1xuLy8gXG4uYnV0dG9uIHtcbiAgQGluY2x1ZGUgYnV0dG9uKCRhbGl6aWxhLWJsdWUsICRhbGl6aWxhLWJsdWUsIHdoaXRlKTtcbiAgJjpob3ZlciB7IEBpbmNsdWRlIGJ1dHRvbigkYWxpemlsYS1vcmFuZ2UsICRhbGl6aWxhLW9yYW5nZSwgd2hpdGUpOyB9XG4gICYub3JhbmdlIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJGFsaXppbGEtb3JhbmdlLCAkYWxpemlsYS1vcmFuZ2UsIHdoaXRlKTtcbiAgICAmOmhvdmVyIHsgQGluY2x1ZGUgYnV0dG9uKCRhbGl6aWxhLWJsdWUsICRhbGl6aWxhLWJsdWUsIHdoaXRlKTsgfVxuICB9XG4gICYud2hpdGUuaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24odHJhbnNwYXJlbnQsIHdoaXRlLCB3aGl0ZSk7XG4gICAgJjpob3ZlciB7IEBpbmNsdWRlIGJ1dHRvbih0cmFuc3BhcmVudCwgd2hpdGUsIHdoaXRlKTsgfVxuICB9XG59XG5cbi8vIFxuLy8gRm9udHNcbi8vIFxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtcmVndWxhci13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1yZWd1bGFyLXdlYmZvbnQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC5zdmcjb3Blbl9zYW5zcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHNyYzogdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1pdGFsaWMtd2ViZm9udC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtaXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1pdGFsaWMtd2ViZm9udC50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtaXRhbGljLXdlYmZvbnQuc3ZnI29wZW5fc2Fuc3JlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXdlaWdodDogNzAwO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZC13ZWJmb250LmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIFByZXR0eSBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZC13ZWJmb250LnN2ZyNvcGVuX3NhbnNyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZGl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC5zdmcjb3Blbl9zYW5zcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0RJTk5leHRMVFByby1Db25kZW5zZWQnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZGluLW5leHQtbHQtcHJvL0RJTk5leHRMVFByby1Db25kZW5zZWQuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2Rpbi1uZXh0LWx0LXByby9ESU5OZXh0TFRQcm8tQ29uZGVuc2VkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICAvLyB1cmwoJy4uL2ZvbnRzL2Rpbi1uZXh0LWx0LXByby9ESU5OZXh0TFRQcm8tQ29uZGVuc2VkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL2Rpbi1uZXh0LWx0LXByby9ESU5OZXh0TFRQcm8tQ29uZGVuc2VkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvZGluLW5leHQtbHQtcHJvL0RJTk5leHRMVFByby1Db25kZW5zZWQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL2Rpbi1uZXh0LWx0LXByby9ESU5OZXh0TFRQcm8tQ29uZGVuc2VkLnN2ZyNvcGVuX3NhbnNyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC5zdmcjb3Blbl9zYW5zcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0hlYXJ0d2VsbCc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKCcuLi9mb250cy9oZWFydHdlbGwvaGVhcnR3ZWxsLXdlYmZvbnQuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2hlYXJ0d2VsbC9oZWFydHdlbGwtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXG4gICAgICAgdXJsKCcuLi9mb250cy9oZWFydHdlbGwvaGVhcnR3ZWxsLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvaGVhcnR3ZWxsL2hlYXJ0d2VsbC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvaGVhcnR3ZWxsL2hlYXJ0d2VsbC13ZWJmb250LnR0ZicpICBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXG4gICAgICAgdXJsKCcuLi9mb250cy9oZWFydHdlbGwvaGVhcnR3ZWxsLXdlYmZvbnQuc3ZnI29wZW5fc2Fuc3JlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXG59XG5cbiRmb250LWZhbWlseS0xOiBcIk9wZW4gU2Fuc1wiLFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS0yOiBcIkRJTk5leHRMVFByby1Db25kZW5zZWRcIixcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiB1bnNldDtcbn1cbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQsIGg1LCAuaDUsIGg2LCAuaDYge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wb3N0LXRlbXBsYXRlLWRlZmF1bHQge1xuICBoMiwgLmgyIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTE7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi8vIFxuLy8gR2VuZXJhbFxuLy8gXG5ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtd2hpdGU7IH1cbmJvZHkgeyBvcGFjaXR5OiAxOyB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xczsgfVxuLm5vLWpzIHsgYm9keSB7IG9wYWNpdHk6IDA7IH0gfVxuLm1lbnUge1xuICBsaSB7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNlZS1hbGwtbGluayB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMjtcbiAgZm9udC1zaXplOiAuODc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGNvbG9yOiAjMDA0MDg0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbmlmcmFtZSB7IG1heC13aWR0aDogMTAwJTsgfVxuLmNsaWNrLXRvLXR3ZWV0IHtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIC5mYS10d2l0dGVyIHtcbiAgICBjb2xvcjogIzU1YWNlZTtcbiAgfVxufVxuLmFzcGVjdC1yYXRpby0xNng5IHtcbiAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvICgxNiw5KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gXG4vLyBMRVZFTDogUEFHRSBHUklEXG4vLyBcbi5ncmlkLWNvbnRhaW5lciB7XG4gICYuc2luZ2xlLCAmLnNpbmdsZS1uYXJyb3csICYuc2lkZWJhciB7XG4gICAgcGFkZGluZy10b3A6IDEuODc1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuODc1ZW07XG4gIH1cbiAgJi5zaWRlYmFyIHtcbiAgICAuc3RpY2t5LmlzLXN0dWNrIHsgei1pbmRleDogNDsgfVxuICB9XG4gICYuc2luZ2xlLW5hcnJvdywgJi5zaWRlYmFyIHtcbiAgICAubW9kdWxlIHtcbiAgICAgICYucG9zdHMtY2Fyb3VzZWwge1xuICAgICAgICAuc2xpZGVzIHtcbiAgICAgICAgICAuc2xpZGUge1xuICAgICAgICAgICAgLnRpdGxlLXdyYXAge1xuICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZ1bGwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgfVxuICAubW9kdWxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NWVtO1xuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFxuLy8gTEVWRUw6IFRFTVBMQVRFXG4vLyBcbmJvZHkge1xuICAmLnNpbmdsZSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgI3NpZGViYXItYW5jaG9yIHsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IDQ4cHggOTZweDtcbiAgICAgICAgfVxuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBjb2xvcjogJGFsaXppbGEtYmxhY2s7XG4gICAgICAgIC5hdXRob3ItYW5kLWRhdGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICAgICAgY29sb3I6ICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBvc3QtdGh1bWIge1xuICAgICAgICBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICAgICAgfVxuICAgICAgLnRoZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgLmRvd25sb2FkLXZpZGVvLWxpbmsge1xuICAgICAgICAgIGNvbG9yOiAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlLXNoYXJlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIC5zb2NpYWwtc2hhcmUucGFydGlhbCB7XG4gICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDFlbSBhdXRvO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiA0OHB4IDk2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI21vYmlsZS1zaGFyZSB7XG4gICAgICAuc3RpY2t5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IC41ZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLnRpdGxlLXNoYXJlIHsgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgICAgLnNvY2lhbC1zaGFyZS5wYXJ0aWFsIHtcbiAgICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xuICAgICAgI3NpZGViYXIge1xuICAgICAgICAuaXMtYXQtYm90dG9tIHtcbiAgICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvKiBib2R5LnNpbmdsZSAqL1xuICAmLnNpbmdsZS12aWRlbyB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIC5wbGF5ZXItYW5kLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgICAgaDEudGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHsgcGFkZGluZzogMHB4IDk2cHg7IH1cbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkYWxpemlsYS1ibGFjaztcbiAgICAgIH1cbiAgICAgIC5kb3dubG9hZC12aWRlby1saW5rIHtcbiAgICAgICAgY29sb3I6ICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgIH1cbiAgICAgIC5wb3N0LXRodW1iIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IG1hcmdpbjogMCA5NnB4OyB9XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyAoMTYsOSk7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IC8qIGJvZHkuc2luZ2xlLXZpZGVvICovXG4gICYuc2VhcmNoLXJlc3VsdHMge1xuICAgIC50aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogNDhweCA5NnB4O1xuICAgICAgfVxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS1ibGFjaztcbiAgICAgIC5xdWVyeS1zdHJpbmcge1xuICAgICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgICAgICBjb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgfVxuICAgICAgLm51bWJlci1vZi1yZXN1bHQge1xuICAgICAgICBmb250LXNpemU6IDAuNWVtOyAgICAgICAgXG4gICAgICB9XG4gICAgfVxuICAgIC5wb3N0cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgJi53aXRoLXRpdGxlIHsgbWFyZ2luLXRvcDogLTEwMHB4OyB9XG4gICAgICAgIC5jZWxsIHsgbWFyZ2luLWJvdHRvbTogMS44NzVlbTsgfVxuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGFsaXppbGEtYmxhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IC8qIGJvZHkuc2VhcmNoLXJlc3VsdHMgKi9cbiAgJi5lcnJvcjQwNCB7XG4gICAgLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNWVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206IDUwdmg7IH1cbiAgICAgIC5lcnJvci1jb2RlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMGVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsdWUtZGFyaztcbiAgICAgIH1cbiAgICB9XG4gIH0gLyogYm9keS5lcnJvcjQwNCAqL1xufVxuXG4vLyBcbi8vIExFVkVMOiBNT0RVTEUgLSAncGFydGlhbHMvJ1xuLy8gXG4ucGFydGlhbCB7XG4gICYubmF2IHtcbiAgICBbZGF0YS1zdGlja3ldIHtcbiAgICAgIHotaW5kZXg6IDU7IC8vIFRvIEZpeCB6ZiBEcm9wZG93biBNZW51IGJlaW5nIGhpZGUgdW5kZXIgb3RoZXIgcG9zaXRpb24gcmVsYXRpdmUgZWxlbWVudHNcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICAjaGVhZGVyUm93MSB7XG4gICAgICAgIFxuICAgICAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7IHBhZGRpbmc6IDA7IH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnRpdGxlLWJhciB7XG4gICAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgaW1nIHsgbWF4LXdpZHRoOiAxMjVweDsgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IGltZyB7IG1heC13aWR0aDogMjUwcHg7IH0gfVxuICAgICAgICAgIH1cbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgI2hlYWRlckNvbnRhaW5lciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IC42MjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjYyNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmxvZ28geyB3aWR0aDogMTI1cHg7IH1cbiAgICAgICAgICAjaGVhZGVyTWVudSB7XG4gICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFsaXppbGEtZGFyay1ibHVlO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7IGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7IGZvbnQtc2l6ZTogLjg3NWVtOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICAgICAgICAgICAgYTphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFsaXppbGEtb3JhbmdlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICAgICAgICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC43NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkYWxpemlsYS1ibHVlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmpzLWRyaWxsZG93bi1iYWNrIHtcbiAgICAgICAgICAgICAgICAgIGE6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkYWxpemlsYS1ibHVlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRhbGl6aWxhLWRhcmstYmx1ZTtcbiAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgeyBhOmFmdGVyIHsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB3aGl0ZTsgfSB9XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHsgJj5hIHsgY29sb3I6IHdoaXRlOyB9IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHsgYTphZnRlciB7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGFsaXppbGEtb3JhbmdlOyB9IH1cbiAgICAgICAgICAgICAgICAgICAgYSB7IGNvbG9yOiAkYWxpemlsYS1kYXJrLWJsdWU7IH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgI2hlYWRlclNvY2lhbEljb25zIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IC42MjVyZW0gMDtcbiAgICAgICAgICAgIC5zb2NpYWwtZm9sbG93LnBhcnRpYWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICAgIC5iYWRnZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgICNoZWFkZXJSb3cyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICAgICNoZWFkZXJTdWJzY3JpcHRpb25Gb3JtLCAuc2VhcmNoLWZvcm0ucGFydGlhbCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgcGFkZGluZzogLjYyNWVtIDA7XG4gICAgICAgICAgbGFiZWwgaDQsIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfSAvKiAubmF2LnBhcnRpYWwgKi9cbiAgJi5mb290IHtcbiAgICBwYWRkaW5nOiAxLjc1ZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAubG9nbyB7IHdpZHRoOiA4MXB4OyB9XG4gICAgI2Zvb3RlclN1YnNjcmlwdGlvbkZvcm0ge1xuICAgICAgLmlucHV0LWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgI2Zvb3Rlck1lbnUge1xuICAgICAgLm1lbnUge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYSwgYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGFsaXppbGEtZ3JleTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICNmb290ZXJTb2NpYWxGb2xsb3cge1xuICAgICAgcGFkZGluZzogLjg3NWVtIDA7XG4gICAgICAuc29jaWFsLWZvbGxvdy5wYXJ0aWFsIHtcbiAgICAgICAgLmJhZGdlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLmZvb3QucGFydGlhbCAqL1xuICAmLnNvY2lhbC1mb2xsb3cge1xuICAgIC5iYWRnZSB7XG4gICAgICBmb250LXNpemU6IC44ZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ibHVlO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfSAvKiAuc29jaWFsLWZvbGxvdy5wYXJ0aWFsICovXG4gICYuc29jaWFsLXNoYXJlIHtcbiAgICAuYmFkZ2Uge1xuICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH0gLyogLnNvY2lhbC1zaGFyZS5wYXJ0aWFsICovXG4gICYuc2VjdGlvbi1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVlbTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAzMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogLjc1ZW07XG4gICAgfVxuICAgIC50aXRsZS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLXdoaXRlO1xuICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmJsdWUge1xuICAgICAgY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICB9XG4gICAgfVxuICAgICYub3JhbmdlIHtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLnNlY3Rpb24taGVhZGVyLnBhcnRpYWwgKi9cbiAgJi5zdWJzY3JpcHRpb24tZm9ybS1wb3B1cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuXG4vLyBcbi8vIExFVkVMOiBNT0RVTEUgLSAnbW9kdWxlcy8nXG4vLyBcbi5tb2R1bGUge1xuICAvLyBcbiAgLy8gTEVWRUw6IE1PRFVMRSAtICdtb2R1bGVzL2Z1bGwtd2lkdGgvJ1xuICAvLyBcbiAgJi5iYW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWdyZXktYmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5zbGlkZXMge1xuICAgICAgLnNsaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkgeyBAaW5jbHVkZSBhc3BlY3QtcmF0aW8gKDk2MCw3MjApOyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBvbmx5KSB7IEBpbmNsdWRlIGFzcGVjdC1yYXRpbyAoMTAyNCwzMjApOyB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5iYW5uZXJfdGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IDI1JTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDUuODc1cmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCkgeyBcbiAgICAgICAgICBmb250LXNpemU6IDQuNzVyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IFxuICAgICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDIge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTE7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IFxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmxvYWQtbW9yZS1wb3N0IHtcbiAgICAudGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZS1saWdodDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAucG9zdHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICYud2l0aC10aXRsZSB7IG1hcmdpbi10b3A6IC0xMDBweDsgfVxuICAgICAgICAuY2VsbCB7IG1hcmdpbi1ib3R0b206IDEuODc1ZW07IH1cbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsYWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLndoby13ZS1hcmUge1xuICAgIC50aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ibHVlLWxpZ2h0O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5wb3N0cyB7XG4gICAgICAuY2VsbCB7XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAuY2FyZC1pbWFnZSB7XG4gICAgICAgICAgICBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1zZWN0aW9uIHtcbiAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsYWNrO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hdXRob3ItdGl0bGUgeyBjb2xvcjogJGFsaXppbGEtb3JhbmdlOyB9XG4gICAgICAgICAgICAuYmlvIHsgY29sb3I6ICRhbGl6aWxhLWJsYWNrOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgLmNlbGwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1ZW07XG4gICAgICAgICAgLmNhcmQge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLndpdGgtdGl0bGUgeyBtYXJnaW4tdG9wOiAtMTAwcHg7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBcbiAgLy8gTEVWRUw6IE1PRFVMRSAtICdtb2R1bGVzL21haW4tY29sdW1uLydcbiAgLy8gXG4gICYuY2Fyb3VzZWwge1xuICAgIC5zbGlkZXMge1xuICAgICAgLnNsaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvICgxNiw5KTtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWdyZXktYmc7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMmVtO1xuICAgICAgICAgIC5vdmVybGF5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLDAsMCwwLjkpKTtcbiAgICAgICAgICAgIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSMwMDAwMDAwMCxlbmRDb2xvcnN0cj0jRTUwMDAwMDApO1xuICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jMDAwMDAwMDAsZW5kQ29sb3JzdHI9I0U1MDAwMDAwKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogODAlOyBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwO1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBsZWZ0OiAxZW07XG4gICAgICAgICAgICAgIHJpZ2h0OiAxZW07XG4gICAgICAgICAgICAgIGJvdHRvbTogMWVtO1xuICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm5hdiB7XG4gICAgICAubmF2LWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRhbGl6aWxhLWJsdWU7XG4gICAgICAgICYuYWN0aXZlLCAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ibHVlLWRhcms7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRhbGl6aWxhLWJsdWU7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgJi5hY3RpdmUsICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvKiAuY2Fyb3VzZWwubW9kdWxlICovXG4gIFxuICAmLnBvc3QtbGlzdCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAucG9zdHMge1xuICAgICAgICAuY2VsbCB7IG1hcmdpbi1ib3R0b206IDEuODc1ZW07IH1cbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsYWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvKiAucG9zdC1saXN0Lm1vZHVsZSAqL1xuXG4gICYubWFycXVlZSB7XG4gICAgLm1hcnF1ZWUtdGl0bGUtYmFyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWUtbGlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBoZWlnaHQ6IDE4NXB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG4gICAgICB9XG4gICAgICA+IC5ncmlkLXgge1xuICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IGhlaWdodDogMTMwcHg7IH1cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjkzNzVyZW07XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIC5zZWUtYWxsLWxpbmsgeyBjb2xvcjogd2hpdGU7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnBvc3RzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgLmNlbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuOTM3NXJlbTtcbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLm1hcnF1ZWUubW9kdWxlICovXG5cbiAgJi50aHVtYm5haWxzLW1hcnF1ZWUge1xuICAgIC50aHVtYm5haWwtbWFycXVlZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuODc1ZW07XG4gICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8gKDE2LDkpO1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAub3ZlcmxheSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvKiAudGh1bWJuYWlscy1tYXJxdWVlLm1vZHVsZSAqL1xuXG4gICYucG9zdHMtY2Fyb3VzZWwge1xuICAgIC5sZWZ0LWNvbC13cmFwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgLmNhbnZhcyB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyAoMTYsOSk7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5pbmZvLWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2hhcmUtdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICAgICAgICBjb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgICB9XG4gICAgICAgIC5kb3dubG9hZC12aWRlby1saW5rIHtcbiAgICAgICAgICBjb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zbGlkZXMge1xuICAgICAgLnNsaWRlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ncmV5O1xuICAgICAgICB9XG4gICAgICAgICZbZGF0YS1wb3N0LXR5cGU9XCJ2aWRlb1wiXSB7IC50aHVtYiB7IC5jb250ZW50IHsgaW1nIHsgb3BhY2l0eTogLjY7IH0gfSB9IH1cbiAgICAgICAgLnRodW1iIHtcbiAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8gKDE2LDkpO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWdyZXktYmc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGl0bGUtd3JhcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gICAgICAgICAgcGFkZGluZzogLjVlbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvKiAucG9zdHMtY2Fyb3VzZWwubW9kdWxlICovXG5cbiAgJi5waG90by1idXR0b24tY2FyZCB7XG4gICAgLnRoZS1jYXJkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgLnBob3RvIHtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvICgxNiw5KTtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIGNvbG9yOiAkYWxpemlsYS1ibGFjaztcbiAgICAgICAgcGFkZGluZzogM2VtO1xuICAgICAgfVxuICAgIH1cbiAgfSAvKiAucGhvdG8tYnV0dG9uLWNhcmQubW9kdWxlICovXG4gIFxuICAvLyBcbiAgLy8gTEVWRUw6IE1PRFVMRSAtICdtb2R1bGVzL3NpZGViYXIvJ1xuICAvLyBcbiAgJi5wb3N0LXdpZGdldCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMWVtIDIuNWVtO1xuICAgIC8vIHBhZGRpbmctdG9wOiAyLjVlbTtcbiAgICAmLndoaXRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgY29sb3I6ICRhbGl6aWxhLWJsYWNrO1xuICAgICAgYSB7IGNvbG9yOiAkYWxpemlsYS1ibGFjazsgfVxuICAgIH1cbiAgICAmLmJsdWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS13aGl0ZTtcbiAgICAgIGEgeyBjb2xvcjogd2hpdGU7IH1cbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICAgICAgLnBvc3QtdGl0bGUgeyBtYXJnaW46IC41ZW0gMCAxZW0gMDsgfVxuICAgIH1cbiAgfVxuICAmLmFsaS12aWV3cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5jb250ZW50IHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgICYgPiAuZ3JpZC14IHsgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogJ2hlYXJ0d2VsbCc7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgfVxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbih0cmFuc3BhcmVudCwgd2hpdGUsIHdoaXRlKTtcbiAgICAgICAgJjpob3ZlciB7IEBpbmNsdWRlIGJ1dHRvbih3aGl0ZSwgd2hpdGUsICRhbGl6aWxhLW9yYW5nZSk7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi50ZXh0LWFuZC1idXR0b24ge1xuICAgICYuYmx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ibHVlLWxpZ2h0O1xuICAgICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgfVxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbih3aGl0ZSwgd2hpdGUsICRhbGl6aWxhLWJsdWUtbGlnaHQpO1xuICAgICAgICAmOmhvdmVyIHsgQGluY2x1ZGUgYnV0dG9uKHdoaXRlLCB3aGl0ZSwgJGFsaXppbGEtYmx1ZS1saWdodCk7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5uby1iZyB7XG4gICAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRhbGl6aWxhLWdyZXk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFsaXppbGEtZ3JleTtcbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAkYWxpemlsYS1ncmV5O1xuICAgICAgfVxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbigkYWxpemlsYS1ibHVlLCAkYWxpemlsYS1ibHVlLCB3aGl0ZSk7XG4gICAgICAgICY6aG92ZXIgeyBAaW5jbHVkZSBidXR0b24oJGFsaXppbGEtb3JhbmdlLCAkYWxpemlsYS1vcmFuZ2UsIHdoaXRlKTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmV4dGVybmFsLWxpbmtzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ncmV5LWxpZ2h0O1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICAudGl0bGUgeyBjb2xvcjogJGFsaXppbGEtYmx1ZTsgfVxuICAgIC5saW5rIHtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS1ibGFjaztcbiAgICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIH1cbiAgICAuc291cmNlIHtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuICAmLnNvY2lhbC1mb2xsb3cge1xuICAgIHBhZGRpbmc6IDEuODc1ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAudGl0bGUge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICAgIC5wYXJ0aWFsLnNvY2lhbC1mb2xsb3cgLmJhZGdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBjb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICB9XG4gIH1cbiAgJi5zaWdudXAtd2lkZ2V0IHtcbiAgICBwYWRkaW5nOiAuOTM3NWVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbigkYWxpemlsYS1vcmFuZ2UsICRhbGl6aWxhLW9yYW5nZSwgd2hpdGUpO1xuICAgICAgJjpob3ZlciB7IEBpbmNsdWRlIGJ1dHRvbigkYWxpemlsYS1vcmFuZ2UsICRhbGl6aWxhLW9yYW5nZSwgd2hpdGUpOyB9XG4gICAgfVxuICB9XG4gICYuZ212LTIwMTgge1xuICAgIC8qIEJhbm5lciBTdHlsZSAqL1xuICAgIC5nbXYtbW9iLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogNjkwcHg7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5zaWRlYmFyLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogLjVlbTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAuc2lkZWJhci1pbm5lci1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246ICBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG4gICAgLnNpZGViYXItaW5uZXItY29udGFpbmVyLTMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAwLjI7XG4gICAgfVxuICAgIC5zaWRlYmFyLWlubmVyLWNvbnRhaW5lci00IHtcbiAgICAgICAgZmxleDogMC41O1xuICAgIH1cbiAgICAuc2lkZWJhci1pbm5lci1jb250YWluZXItNSB7XG4gICAgICAgIGZsZXg6IDAuMjtcbiAgICB9XG4gICAgLnNpZGViYXItaW5uZXItY29udGFpbmVyLTYge1xuICAgICAgICBmbGV4OiAwLjU7XG4gICAgfVxuICAgIC5zaWRlYmFyLWNvbnRhaW5lciwgLnNpZGViYXItaW5uZXItY29udGFpbmVyLCAuZ212LW1vYi1jb250YWluZXIgaDEsIC5nbXYtbW9iLWNvbnRhaW5lciBoMiwgIC5nbXYtbW9iLWNvbnRhaW5lciBoMywgIC5nbXYtbW9iLWNvbnRhaW5lciBoNCwgLmdtdi1tb2ItY29udGFpbmVyIGg1LCAuZ212LW1vYi1jb250YWluZXIgcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAvKiBCYW5uZXIgRm9udCBzaXplIFJlc3BvbnNpdmUgKi8gICBcbiAgICAuZ212LW1vYi1jb250YWluZXIgaDEge1xuICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICB9XG4gICAgLmdtdi1tb2ItY29udGFpbmVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgfVxuICAgIC5nbXYtbW9iLWNvbnRhaW5lciBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cbiAgICAuZ212LW1vYi1jb250YWluZXIgaDQge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuICAgIC5nbXYtbW9iLWNvbnRhaW5lciBoNSB7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cbiAgICAuZ212LW1vYi1jb250YWluZXIgcCB7XG4gICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG4gICAgLmdtdi1tb2ItY29udGFpbmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NTBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTBweCkge1xuICAgICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgIC5nbXYtbW9iLWNvbnRhaW5lciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XG4gICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIH1cbiAgICB9XG4gIH0gLyouZ212LTIwMTgubW9kdWxlKi9cbiAgJi5nbXYtMjAxOC1sYW5kc2NhcGUge1xuICAgIC8qIEJhbm5lciBTdHlsZSAqL1xuICAgIC5nbXYtZGVzay1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAvLyBtYXgtd2lkdGg6IDg0NXB4O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIC5pbm5lci1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICB9XG4gICAgLmlubmVyLWNvbnRhaW5lci0zIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAuaW5uZXItYmxvY2sge1xuICAgICAgZmxleDoxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuaW5uZXItYmxvY2sgaW1nLCAuaW5uZXItYmxvY2sgaDEsICAuaW5uZXItYmxvY2sgaDIsICAuaW5uZXItYmxvY2sgaDMsICAuaW5uZXItYmxvY2sgaDQsICAuaW5uZXItYmxvY2sgaDUsICAuaW5uZXItYmxvY2sgcCwgLmlubmVyLWJsb2NrIHNwYW57XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG5cbiAgICAvKiBCYW5uZXIgRm9udCBzaXplIFJlc3BvbnNpdmUgKi9cbiAgICAuZ212LWRlc2stY29udGFpbmVyIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yZW07XG4gICAgfVxuICAgIC5nbXYtZGVzay1jb250YWluZXIgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICB9XG4gICAgLmdtdi1kZXNrLWNvbnRhaW5lciBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cbiAgICAuZ212LWRlc2stY29udGFpbmVyIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cbiAgICAuZ212LWRlc2stY29udGFpbmVyIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgfVxuICAgIC5nbXYtZGVzay1jb250YWluZXIgcCB7XG4gICAgICBmb250LXNpemU6IDAuNmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOGVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG4gICAgLmdtdi1kZXNrLWNvbnRhaW5lciB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgLmdtdi1kZXNrLWNvbnRhaW5lciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC5nbXYtZGVzay1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgICAgICAuZ212LWRlc2stY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgLmdtdi1kZXNrLWNvbnRhaW5lciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gICAgICAgIC5nbXYtZGVzay1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAuZ212LWRlc2stY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgICAgICAgLmdtdi1kZXNrLWNvbnRhaW5lciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICB9IC8qLmdtdi0yMDE4LWxhbmRzY2FwZS5tb2R1bGUqL1xuXG4gICYuZ212LTIwMTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICYgPiBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLmFzcGVjdC1yYXRpby0xNng5IHsgQGluY2x1ZGUgYXNwZWN0LXJhdGlvICgxNiw5KTsgfVxuICAgICAgLmRvbGxhci1zaWduIHsgZm9udC1zaXplOiAuNWVtOyB9XG4gICAgfVxuICAgIC8vIFJlc3BvbnNpdmUgZm9udCBzaXppbmdcbiAgICAudGV4dC0xIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiA1LjN2dztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luLXRvcDogMC43ZW07XG4gICAgfVxuICAgIC50ZXh0LTIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0yO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDEzdnc7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi10b3A6IDAuM2VtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgICB9XG4gICAgLnRleHQtMyB7XG4gICAgICBmb250LXNpemU6IDZ2dztcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjc7XG4gICAgfVxuICAgIC50ZXh0LTQge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0yO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDEzdnc7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi10b3A6IDAuMmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgICB9XG4gICAgLnRleHQtNSB7XG4gICAgICBmb250LXNpemU6IDV2dztcbiAgICAgIG1hcmdpbi10b3A6IC41ZW07XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgLnRleHQtMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjkzZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41ZW07XG4gICAgICB9XG4gICAgICAudGV4dC0yIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICAgIH1cbiAgICAgIC50ZXh0LTMge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC41O1xuICAgICAgfVxuICAgICAgLnRleHQtNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDAuM2VtO1xuICAgICAgfVxuICAgICAgLnRleHQtNSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICB9XG4gICAgfVxuICB9IC8qLmdtdi0yMDE5Lm1vZHVsZSovXG5cbiAgJi5nbXYtMjAxOS1sYW5kc2NhcGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHB1cnBsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAuY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC5kb2xsYXItc2lnbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjVlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUmVzcG9uc2l2ZSBmb250IHNpemluZ1xuICAgIC50ZXh0LTEge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDIuNnZ3O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW4tdG9wOiAwLjRlbTtcbiAgICB9XG4gICAgLnRleHQtMiB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogNS40dnc7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi10b3A6IDEuM2VtO1xuICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgfVxuICAgIC50ZXh0LTUge1xuICAgICAgZm9udC1zaXplOiAxLjV2dztcbiAgICAgIG1hcmdpbi10b3A6IDIuNWVtO1xuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XG4gICAgICAudGV4dC0xIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjllbTtcbiAgICAgIH1cbiAgICAgIC50ZXh0LTIge1xuICAgICAgICBmb250LXNpemU6IDRlbTtcbiAgICAgIH1cbiAgICAgIC50ZXh0LTUge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogNGVtO1xuICAgICAgfVxuICAgIH1cbiAgfSAvKi5nbXYtMjAxOS1sYW5kc2NhcGUubW9kdWxlKi9cbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIl19 */
