/*!
 * ert-webstyle Global Header V2.0.17+d20191030145053b400s2
 * The global header are styles are separated from the ert-webstyle.css file
 * to prevent CSS bleeding with the GSSO Global Header, if they are using different
 * StyleGuide versions. If you want to have the Global Header styles in your project (without GSSO),
 * also include the ert-webstyle-global-header.css file!
 */.es-global-header .es-app-launcher-button{background:transparent;border:none;padding:0}.es-global-header .es-quicklinks ul,.es-global-header .es-app-launcher-links ul{list-style-type:none;margin:0;padding:0}.es-global-header:before{content:'';display:block;height:5rem}.es-global-header .es-fixed-global-header{background-color:#fff;border-bottom:1px solid #dedede;color:#494a4b;height:5rem;left:0;padding:1rem 5rem 1rem 5rem;position:fixed;right:0;top:0;width:100%;z-index:900}.es-global-header .es-fixed-global-header:after{content:"";display:table;clear:both}.es-global-header .es-global-header-content{white-space:nowrap;display:block;width:100%;text-align:right}.es-global-header .es-global-header-content:after{content:"";display:table;clear:both}.es-global-header .es-global-header-content .es-dropdown{margin-left:.25rem;margin-right:.25rem}.es-global-header .es-global-header-content>.es-label-stack{margin-left:.5rem;margin-right:.5rem;max-width:-webkit-calc(50% - 1rem);max-width:calc(50% - 1rem)}.es-global-header .es-loading-indicator{bottom:0;padding:1rem;min-height:0px;min-width:0px;position:absolute;right:0;top:0;width:5rem}.es-global-header .es-loading-indicator .es-loading-icon{height:3rem;width:3rem}.es-global-header .es-dropdown.-es-app-launcher{position:absolute;right:0;top:0;margin-right:initial;min-width:auto;max-width:auto}.es-global-header .es-app-launcher-button{color:#0092bc;padding:1rem}.es-global-header .es-app-launcher-button:hover,.es-global-header .es-app-launcher-button:focus{color:#4ec3e0}.es-global-header .es-app-launcher-button .es-icon{font-size:3rem;text-rendering:geometricPrecision}.es-global-header .es-company-logo{display:none;position:absolute;left:0;top:0;bottom:0;width:5rem}.es-global-header .es-company-logo:before{background:url(../images/ERT-Logo_RGB_small.svg) no-repeat;content:'';text-rendering:geometricPrecision;position:absolute;left:1rem;top:1rem;bottom:1rem;right:1rem}.es-global-header .es-label-title{display:none;float:left;text-align:left;max-width:25%}.es-global-header .es-label-title h1,.es-global-header .es-label-title h2,.es-global-header .es-label-title h3,.es-global-header .es-label-title h4{line-height:3rem;margin:0}.es-global-header .es-label-stack span{line-height:1.5rem}.es-global-header .es-dropdown-icon{vertical-align:top}.es-global-header .es-dropdown-icon .es-label-stack{display:none;min-height:3rem}.es-global-header .es-dropdown-icon .es-icon{color:#0092bc;min-height:3rem}.es-global-header .es-dropdown-icon:focus .es-icon,.es-global-header .es-dropdown-icon:hover .es-icon{color:#4ec3e0}@media screen and (min-width: 500px){.es-global-header .es-company-logo{display:inline-block}.es-global-header .es-dropdown .es-dropdown-content{top:-webkit-calc(100%);top:calc(100%)}}@media screen and (min-width: 500px){.es-global-header .es-dropdown-icon{vertical-align:middle;max-width:100%}.es-global-header .es-dropdown-icon .es-label-stack{display:block;width:initial}.es-global-header .es-global-header-content .es-dropdown{margin-left:.5rem;margin-right:.5rem;max-width:-webkit-calc(25% - 1rem);max-width:calc(25% - 1rem)}.es-global-header .es-global-header-content>.es-label-stack{margin-left:.5rem;margin-right:.5rem;max-width:-webkit-calc(25% - 1rem);max-width:calc(25% - 1rem)}}@media screen and (min-width: 768px){.es-global-header .es-fixed-global-header{padding:1rem 5rem 1rem 10rem}.es-global-header .es-company-logo{width:10rem}.es-global-header .es-company-logo:before{background:url("../images/ERT-Logo_RGB.svg") no-repeat}.es-global-header .es-label-title{display:block}.es-global-header .es-global-header-content{width:75%;float:right}}@media screen and (min-width: 1200px){.es-global-header .es-label-title{max-width:20%}.es-global-header .es-global-header-content{width:80%}.es-global-header .es-global-header-content .es-dropdown{margin-left:1rem;margin-right:1rem;max-width:-webkit-calc(25% - 2rem);max-width:calc(25% - 2rem)}.es-global-header .es-global-header-content>.es-label-stack{margin-left:1rem;margin-right:1rem;max-width:-webkit-calc(25% - 2rem);max-width:calc(25% - 2rem)}}.es-global-header .es-quicklinks ul,.es-global-header .es-app-launcher-links ul{margin:-.5rem}.es-global-header .es-quicklinks .es-quicklinks-item,.es-global-header .es-app-launcher-links .es-quicklinks-item,.es-global-header .es-app-launcher-links .es-app-launcher-link{display:inline-block;padding:.5rem;text-align:center;vertical-align:top}.es-global-header .es-quicklinks .es-quicklinks-item>.es-placeholder,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-placeholder,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-placeholder,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-placeholder,.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a,.es-global-header .es-quicklinks .es-quicklinks-item>a,.es-global-header .es-app-launcher-links .es-quicklinks-item>a,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>a,.es-global-header .es-app-launcher-links .es-app-launcher-link>a{background-color:#fff;border:2px solid;display:block;height:5rem;width:5rem}.es-global-header .es-quicklinks .es-quicklinks-item>.es-placeholder span+span,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-placeholder span+span,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-placeholder span+span,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-placeholder span+span,.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a span+span,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a span+span,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a span+span,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a span+span,.es-global-header .es-quicklinks .es-quicklinks-item>a span+span,.es-global-header .es-app-launcher-links .es-quicklinks-item>a span+span,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>a span+span,.es-global-header .es-app-launcher-links .es-app-launcher-link>a span+span{display:none;color:#494a4b;font-family:"Blender Pro",sans-serif;font-size:1.3rem;line-height:1em;overflow:hidden;position:relative;text-overflow:ellipsis;text-transform:uppercase;max-height:2.6rem;text-align:center}.es-global-header .es-quicklinks .es-quicklinks-item>.es-placeholder .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-placeholder .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-placeholder .es-icon,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-placeholder .es-icon,.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a .es-icon,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a .es-icon,.es-global-header .es-quicklinks .es-quicklinks-item>a .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks-item>a .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>a .es-icon,.es-global-header .es-app-launcher-links .es-app-launcher-link>a .es-icon{display:block}.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a,.es-global-header .es-quicklinks .es-quicklinks-item>a,.es-global-header .es-app-launcher-links .es-quicklinks-item>a,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>a,.es-global-header .es-app-launcher-links .es-app-launcher-link>a{color:#0092bc;padding:.5rem .25rem}.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a:hover,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a:hover,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a:hover,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a:hover,.es-global-header .es-quicklinks .es-quicklinks-item>a:hover,.es-global-header .es-app-launcher-links .es-quicklinks-item>a:hover,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>a:hover,.es-global-header .es-app-launcher-links .es-app-launcher-link>a:hover{color:#4ec3e0}.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a:hover span+span,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a:hover span+span,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a:hover span+span,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a:hover span+span,.es-global-header .es-quicklinks .es-quicklinks-item>a:hover span+span,.es-global-header .es-app-launcher-links .es-quicklinks-item>a:hover span+span,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>a:hover span+span,.es-global-header .es-app-launcher-links .es-app-launcher-link>a:hover span+span{color:#98999a}.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a:focus,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a:focus,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a:focus,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a:focus,.es-global-header .es-quicklinks .es-quicklinks-item>a:focus,.es-global-header .es-app-launcher-links .es-quicklinks-item>a:focus,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>a:focus,.es-global-header .es-app-launcher-links .es-app-launcher-link>a:focus{opacity:1}.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a .es-icon,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a .es-icon,.es-global-header .es-quicklinks .es-quicklinks-item>a .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks-item>a .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>a .es-icon,.es-global-header .es-app-launcher-links .es-app-launcher-link>a .es-icon{padding:.25rem 0;font-size:3rem}.es-global-header .es-quicklinks .es-quicklinks-item>.es-placeholder,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-placeholder,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-placeholder,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-placeholder{color:#dedede}.es-global-header .es-quicklinks .es-quicklinks-item>.es-placeholder .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-placeholder .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-placeholder .es-icon,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-placeholder .es-icon{font-size:3.6rem}.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a:after,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a:after,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a:after,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a:after{display:inline-block;font-family:ert-icons;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle;content:"\e3f0";font-size:.8rem;pointer-events:none;bottom:.2rem;color:#494a4b;left:-webkit-calc(50% - 4px);left:calc(50% - 4px);line-height:1em;position:absolute}.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a:hover:after,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a:hover:after,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a:hover:after,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a:hover:after{color:#98999a}.es-global-header .es-quicklinks .es-quicklinks-item.-es-type-service>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-quicklinks-item.-es-type-service>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-quicklinks .-es-type-service.es-app-launcher-link>.es-dropdown>a,.es-global-header .es-app-launcher-links .-es-type-service.es-app-launcher-link>.es-dropdown>a,.es-global-header .es-quicklinks .es-quicklinks-item.-es-type-service>a,.es-global-header .es-app-launcher-links .es-quicklinks-item.-es-type-service>a,.es-global-header .es-app-launcher-links .es-quicklinks .-es-type-service.es-app-launcher-link>a,.es-global-header .es-app-launcher-links .-es-type-service.es-app-launcher-link>a{color:#84BD00}.es-global-header .es-quicklinks .es-quicklinks-item.-es-type-service>.es-dropdown>a:hover,.es-global-header .es-app-launcher-links .es-quicklinks-item.-es-type-service>.es-dropdown>a:hover,.es-global-header .es-app-launcher-links .es-quicklinks .-es-type-service.es-app-launcher-link>.es-dropdown>a:hover,.es-global-header .es-app-launcher-links .-es-type-service.es-app-launcher-link>.es-dropdown>a:hover,.es-global-header .es-quicklinks .es-quicklinks-item.-es-type-service>a:hover,.es-global-header .es-app-launcher-links .es-quicklinks-item.-es-type-service>a:hover,.es-global-header .es-app-launcher-links .es-quicklinks .-es-type-service.es-app-launcher-link>a:hover,.es-global-header .es-app-launcher-links .-es-type-service.es-app-launcher-link>a:hover{color:#c4d600}.es-global-header .es-quicklinks .es-quicklinks-item.-es-clip,.es-global-header .es-app-launcher-links .es-quicklinks-item.-es-clip,.es-global-header .es-app-launcher-links .-es-clip.es-app-launcher-link{-webkit-clip-path:polygon(0 0, 28px 0, 36px 14px, 30px 24px, 36px 34px, 30px 45px, 37px 56px, 30px 68px, 37px 78px, 24px 100px, 100px 100px, 0 100px);clip-path:polygon(0 0, 28px 0, 36px 14px, 30px 24px, 36px 34px, 30px 45px, 37px 56px, 30px 68px, 37px 78px, 24px 100px, 100px 100px, 0 100px)}@media screen and (min-width: 768px){.es-global-header .es-quicklinks ul,.es-global-header .es-app-launcher-links ul{margin:-1rem}.es-global-header .es-quicklinks .es-quicklinks-item,.es-global-header .es-app-launcher-links .es-quicklinks-item,.es-global-header .es-app-launcher-links .es-app-launcher-link{padding:1rem}.es-global-header .es-quicklinks .es-quicklinks-item>.es-placeholder,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-placeholder,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-placeholder,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-placeholder,.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a,.es-global-header .es-quicklinks .es-quicklinks-item>a,.es-global-header .es-app-launcher-links .es-quicklinks-item>a,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>a,.es-global-header .es-app-launcher-links .es-app-launcher-link>a{border-width:4px;height:9rem;width:9rem}.es-global-header .es-quicklinks .es-quicklinks-item>.es-placeholder span+span,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-placeholder span+span,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-placeholder span+span,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-placeholder span+span,.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a span+span,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a span+span,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a span+span,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a span+span,.es-global-header .es-quicklinks .es-quicklinks-item>a span+span,.es-global-header .es-app-launcher-links .es-quicklinks-item>a span+span,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>a span+span,.es-global-header .es-app-launcher-links .es-app-launcher-link>a span+span{display:block}.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a,.es-global-header .es-quicklinks .es-quicklinks-item>a,.es-global-header .es-app-launcher-links .es-quicklinks-item>a,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>a,.es-global-header .es-app-launcher-links .es-app-launcher-link>a{padding:1rem .5rem}.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a .es-icon,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a .es-icon,.es-global-header .es-quicklinks .es-quicklinks-item>a .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks-item>a .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>a .es-icon,.es-global-header .es-app-launcher-links .es-app-launcher-link>a .es-icon{padding:.5rem 0}.es-global-header .es-quicklinks .es-quicklinks-item>.es-placeholder .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-placeholder .es-icon,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-placeholder .es-icon,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-placeholder .es-icon{font-size:7rem}.es-global-header .es-quicklinks .es-quicklinks-item>.es-dropdown>a:after,.es-global-header .es-app-launcher-links .es-quicklinks-item>.es-dropdown>a:after,.es-global-header .es-app-launcher-links .es-quicklinks .es-app-launcher-link>.es-dropdown>a:after,.es-global-header .es-app-launcher-links .es-app-launcher-link>.es-dropdown>a:after{bottom:.4rem}.es-global-header .es-quicklinks .es-quicklinks-item.-es-clip,.es-global-header .es-app-launcher-links .es-quicklinks-item.-es-clip,.es-global-header .es-app-launcher-links .-es-clip.es-app-launcher-link{-webkit-clip-path:polygon(0 0, 52px 0, 60px 14px, 54px 24px, 60px 34px, 54px 45px, 61px 56px, 53px 68px, 60px 78px, 47px 100px, 100px 100px, 0 100px);clip-path:polygon(0 0, 52px 0, 60px 14px, 54px 24px, 60px 34px, 54px 45px, 61px 56px, 53px 68px, 60px 78px, 47px 100px, 100px 100px, 0 100px)}}.es-global-header .es-app-launcher-links{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.es-global-header .es-app-launcher-links .es-app-launcher-link{padding:0}.es-global-header .es-app-launcher-links .es-app-launcher-link .es-placeholder,.es-global-header .es-app-launcher-links .es-app-launcher-link a{border:0;height:9rem;width:9rem}.es-global-header .es-app-launcher-links .es-app-launcher-link .es-placeholder span+span,.es-global-header .es-app-launcher-links .es-app-launcher-link a span+span{display:inherit}@media screen and (min-width: 500px){.es-global-header .es-app-launcher-links{width:27rem}}.es-global-header.-es-mode-navigator .es-company-logo{display:inline-block}.es-global-header.-es-mode-navigator .es-global-header-content{width:75%;float:right;padding-right:.5rem}.es-global-header.-es-mode-navigator .es-label-title{float:right;font-family:"Blender Pro",sans-serif;font-size:1.3rem;font-weight:500;line-height:3rem;padding:0 0 0 .5rem;position:relative;text-transform:uppercase}.es-global-header.-es-mode-navigator .es-label-title:before{border-left:1px solid #dedede;bottom:0;content:"";left:0;position:absolute;top:0}@media screen and (min-width: 500px){.es-global-header.-es-mode-navigator .es-fixed-global-header{padding:1rem 5rem 1rem 5rem}.es-global-header.-es-mode-navigator .es-label-title{display:block}}@media screen and (min-width: 768px){.es-global-header.-es-mode-navigator .es-fixed-global-header{padding:1rem 5rem 1rem 10rem}.es-global-header.-es-mode-navigator .es-global-header-content{padding-right:1rem}.es-global-header.-es-mode-navigator .es-label-title{font-size:1.4rem;padding:0 0 0 1rem}}@media screen and (min-width: 1200px){.es-global-header.-es-mode-navigator .es-label-title{font-size:1.8rem}}.es-app-launcher{background-color:#fff;display:block;margin:-.5rem;min-height:30rem;position:relative}.es-app-launcher:after{content:"";display:table;clear:both}.es-app-launcher .es-column-main,.es-app-launcher .es-column-side{display:inline-block;width:100%;vertical-align:top;padding:.5rem}.es-app-launcher .es-column-main a,.es-app-launcher .es-column-main button{background:none;border:0;color:#494a4b;display:block;font-size:1.6rem;font-weight:500;min-height:3.2rem;padding:.5rem 1rem;text-align:left;width:100%}.es-app-launcher .es-column-main a .es-icon,.es-app-launcher .es-column-main button .es-icon{font-size:2rem;margin:0 .5rem 0 0;position:relative;top:-.1em}.es-app-launcher .es-column-main a:hover,.es-app-launcher .es-column-main button:focus,.es-app-launcher .es-column-main button:hover{background:#4ec3e0;color:#fff}.es-app-launcher .es-column-side{color:white;position:relative;background:-webkit-gradient(linear, left top, left bottom, from(rgba(0,146,188,0.3)), to(rgba(0,146,188,0.3))),url(../images/backgroundimage-applauncher.jpg) no-repeat;background:-webkit-linear-gradient(rgba(0,146,188,0.3), rgba(0,146,188,0.3)),url(../images/backgroundimage-applauncher.jpg) no-repeat;background:linear-gradient(rgba(0,146,188,0.3), rgba(0,146,188,0.3)),url(../images/backgroundimage-applauncher.jpg) no-repeat;background-position:50% 50%;background-size:cover}.es-app-launcher .es-column-side-footer{text-align:center;width:100%;display:block;background:#003865;padding:2rem}.es-app-launcher .es-column-side-footer button{width:100%}.es-app-launcher .es-column-side-footer button:not(:last-child){margin:0 0 1rem 0}@media screen and (min-width: 500px){.es-app-launcher{width:50rem}}@media screen and (min-width: 500px){.es-app-launcher{max-width:90vw}.es-app-launcher .es-column-main{width:60%;margin-left:40%}.es-app-launcher .es-column-side{position:absolute;left:0;top:0;bottom:0;width:40%}.es-app-launcher .es-column-side-footer{position:absolute;bottom:0;left:0;width:40%}}@media screen and (min-width: 500px){.es-app-launcher{width:60rem}}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVydC13ZWJzdHlsZS1nbG9iYWwtaGVhZGVyLnNjc3MiLCJfbW9kdWxlcy9jb3JlL19wYXJ0cy5zY3NzIiwiX21vZHVsZXMvY29yZS9fcmVzZXQuc2NzcyIsImNvbXBvbmVudHMvX2dsb2JhbC1oZWFkZXIuc2NzcyIsIl9tb2R1bGVzL2NvcmUvX2NvbnZlcnNpb24uc2NzcyIsIl9jb25maWd1cmF0aW9uL19nZW5lcmFsLnNjc3MiLCJfbW9kdWxlcy9jb3JlL19oZWxwZXIuc2NzcyIsIl9jb25maWd1cmF0aW9uL2ZvdW5kYXRpb24vX2NvbG9yLXBhbGV0dGUuc2NzcyIsIl9tb2R1bGVzL2NvcmUvX3ZpZXdwb3J0LXJhbmdlLnNjc3MiLCJjb21wb25lbnRzL25hdmlnYXRpb24vX3F1aWNrbGlua3Muc2NzcyIsIl9tb2R1bGVzL2ZvdW5kYXRpb24vX2ljb24uc2NzcyIsIl9tb2R1bGVzL2NvbXBvbmVudHMvX2NvbnRyb2xzLnNjc3MiLCIuLi8uLi9idWlsZC9yZWxlYXNlL2ljb24tZm9udC9zY3NzL19pY29ucy5zY3NzIiwiX2NvbmZpZ3VyYXRpb24vZm91bmRhdGlvbi9fdHlwb2dyYXBoeS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7Ozs7R0FNRywwQ0NtSEQsdUJBQ0EsWUFDQSxTQUFVLENBQ1gsZ0ZDcEhHLHFCQUNBLFNBQ0EsU0FBVSxDQUNiLHlCQ2dERyxXQUNBLGNBQ0EsV0N4QnFFLENEbUJ6RSwwQ0FVSSxzQkFDQSxnQ0FDQSxjQUNBLFlBQ0EsT0FDQSw0QkFDQSxlQUNBLFFBQ0EsTUFDQSxXQUNBLFdFN0RxQixDQ0h2QixnREFDRSxXQUNBLGNBQ0EsVUFBVyxDQUNaLDRDSGlFQyxtQkFDQSxjQUNBLFdBQ0EsZ0JBQWlCLENHeEVuQixrREFDRSxXQUNBLGNBQ0EsVUFBVyxDQUNaLHlESHVFRyxtQkFDQSxtQkNuRG1FLENEbUJ6RSw0REFvQ00sa0JBQ0EsbUJBQ0EsbUNBQUEsQUFBc0QsMEJBQUEsQ0F0QzVELHdDQTJDSSxTQUNBLGFBQ0EsZUFDQSxjQUNBLGtCQUNBLFFBQ0EsTUFFQSxVQ3RFcUUsQ0RtQnpFLHlEQXNETSxZQUNBLFVDMUVtRSxDRG1CekUsZ0RBNkRJLGtCQUNBLFFBQ0EsTUFDQSxxQkFDQSxlQUNBLGNBQWUsQ0FsRW5CLDBDQXdFSSxjQUNBLFlDNUZxRSxDRG1CekUsZ0dBNkVNLGFJekhnQyxDSjRDdEMsbURBaUZNLGVBQ0EsaUNBQWtDLENBbEZ4QyxtQ0F3RkksYUFDQSxrQkFDQSxPQUNBLE1BQ0EsU0FDQSxVQ2hIcUUsQ0RtQnpFLDBDQStGTSwyREFDQSxXQUNBLGtDQUNBLGtCQUNBLFVBQ0EsU0FDQSxZQUNBLFVDekhtRSxDRG1CekUsa0NBNEdJLGFBQ0EsV0FDQSxnQkFDQSxhQUFjLENBL0dsQixvSkFrSE0saUJBQ0EsUUFBUyxDQW5IZix1Q0EySE0sa0JDOUltRSxDRG1CekUsb0NBaUlJLGtCQUFtQixDQWpJdkIsb0RBcUlNLGFBQ0EsZUN6Sm1FLENEbUJ6RSw2Q0F5SU0sY0FDQSxlQzdKbUUsQ0RtQnpFLHNHQWdKUSxhSTVMOEIsQ0NtQ3BDLHFDTFNGLG1DQXdKTSxvQkFBcUIsQ0F4SjNCLG9EQTRKTSx1QkFBQSxBQUFlLGNBQUEsQ0FDaEIsQ0t0S0gscUNMU0Ysb0NBbUtNLHNCQUNBLGNBQWUsQ0FwS3JCLG9EQXdLUSxjQUNBLGFBQWMsQ0F6S3RCLHlEQStLUSxrQkFDQSxtQkFDQSxtQ0FBQSxBQUFzRCwwQkFBQSxDQWpMOUQsNERBc0xRLGtCQUNBLG1CQUNBLG1DQUFBLEFBQXNELDBCQUFBLENBRXZELENLbk1MLHFDTFNGLDBDQWtNUSw0QkMvTHVFLENESC9FLG1DQXNNUSxXQ3pOaUUsQ0RtQnpFLDBDQXdNWSxzREFBb0UsQ0F4TWhGLGtDQTZNUSxhQUFjLENBN010Qiw0Q0FnTlEsVUFDQSxXQUFZLENBQ2IsQ0szTkwsc0NMU0Ysa0NBd05RLGFBQWMsQ0F4TnRCLDRDQTZOUSxTQUFVLENBN05sQix5REFnT1UsaUJBQ0Esa0JBQ0EsbUNBQUEsQUFBd0QsMEJBQUEsQ0FsT2xFLDREQXVPVSxpQkFDQSxrQkFDQSxtQ0FBQSxBQUF3RCwwQkFBQSxDQUV6RCxDQTNPVCxnRk1YRSxhTFJ1RSxDRG1CekUsaUxNTEUscUJBQ0EsY0FDQSxrQkFDQSxrQkFBbUIsQ05FckIsaTRCTUtHLHNCQUNBLGlCQUNBLGNBQ0EsWUFDQSxVTDVCc0UsQ0RtQnpFLHkvQk1ZSSxhQUNBLGNBQ0EscUNBQ0EsaUJBQ0EsZ0JBQ0EsZ0JBQ0Esa0JBQ0EsdUJBQ0EseUJBQ0Esa0JBQ0EsaUJBQWtCLENOdEJ0Qiw2K0JNMEJJLGFBQWMsQ04xQmxCLGtrQk1rQ0csY0FDQSxvQkxoQzRFLENESC9FLGtuQk1zQ0ksYUZsRmtDLENKNEN0Qyxrc0JNeUNLLGFGekMrQixDSkFwQyxrbkJNNkNJLFNBQVUsQ043Q2QsMG9CTWlESSxpQkFDQSxjTHJFcUUsQ0RtQnpFLCtUTXdERyxhRnRENEIsQ0pGL0IsbVdNMERJLGdCTDdFcUUsQ0RtQnpFLG1WT3hDRSxxQkFDQSxzQkFDQSxvQkFDQSxtQ0FDQSxrQ0FDQSxzQkNSQSxZQ3NJa0IsZ0JSOUdxRCxvQk90Qm5ELGFQc0JtRCxjR2lCekMsNkJBQUEsQUVzRStCLHFCQUFBLGdCQUMzQyxpQkFDTixDQUFRLDJXQUlYLGFGMUVrQixDQUFPLDBzQkVvRjlCLGFGaEh3QixDQUFPLDB2QkVrSDFCLGFGaEhhLENBQU8sNE1KdVJOLHNKQUFBLEFNaEtYLDZJQUFBLENBQW1JLHFDRHRHNUcsZ0ZDTGxDLFlMTHNCLENBQWdELGlMRGdSaEQsWUNoUkEsQ0FBZ0QsaTRCS3FCcEUsaUJBakQ0QixZTDRCd0MsVUFBaEQsQ0FBZ0QseS9CSzhCM0QsYUF5R0EsQ0FBSyxra0JBbEhkLGtCTENzQixDQUFvRCwwb0JLc0JwRSxlTGhDYyxDQUFDLG1XS2dDZixjTDVDYyxDQUFnRCxtVkttRi9ELFlMbkZlLENBQWdELDRNRGdSaEQsc0pBQUEsQU05R1YsNklBQUEsQ0FBbUksQ0FDOUkseUNOcUdvQixvQkFBQSxBQUtQLG9CQUxPLEFBS1AsYUFBQSw4QkFBQSxBQUNGLDZCQURFLEFBQ0YsdUJBREUsQUFDRixrQkFBQSxDQUFRLCtEQUVFLFNBR1YsQ0FBQyxnSkFHVCxTQUNVLFlDdlJ3RCxVQUFoRCxDQUFnRCxvS0RnU3RELGVBQ0EsQ0FBTyxxQ0t2UlcseUNMOFBiLFdDeFFDLENBQWdELENEMFN0RSxzREFZaUIsb0JBQ0wsQ0FBWSwrREFHRSxVQUNiLFlBQ0UsbUJDNVRPLENBQWdELHFERGlVeEQsWUFVQyxxQ1UxVzJCLGlCVCtCNEIsZ0JTZjVDLGlCVGU0QyxvQkFBQSxrQkRtVmpELHdCQUNGLENBQVMsNERBakJwQiw4Qkk5U29CLFNKZ1RkLFdBQ0MsT0FDSCxrQkFDTyxLQUNULENBQUMscUNLL1R1Qiw2RExpVlIsMkJDclVGLENBQW9ELHFERDJTOUQsYUErQkEsQ0FBSyxDQUNmLHFDS3ZWOEIsNkRMaVZSLDRCQ3JVRixDQUFvRCwrRERvU2xELGtCQzFUSixDQUFnRCxxRERpVXhELGlCQ2pVd0Qsa0JBQWhELENBQWdELENEb1hsRSxzQ0sxVytCLHFETHVUckIsZ0JDalVRLENBQWdELENENlhsRSxpQkFRUyxzQkk3V2dCLGNKeVhoQixjQ2paeUQsaUJBQUEsaUJEb1o3RCxDQUFRLHVCRzdhWCxXQUNNLGNBQ0csVUFDUCxDQUFJLGtFSDZhRSxxQkFDUSxXQUNWLG1CQUNRLGFDMVpFLENBQWdELDJFRGdhL0QsZ0JBQ2MsU0FDUCxjSWpaZSxjSm1aVixpQkNwYW1ELGdCRHNhakQsa0JDdGFpRCxtQkFzQk0sZ0JEbVp2RCxVQUNULENBQUksNkZBQ0gsZUMzYXlELG1CQVkvQyxrQkRtYUksU0MvYUwsQ0FBZ0QscUlEcWJ6RCxtQkk5Y3NCLFVBaURiLENBQU8saUNKbWFmLFlBQ0Qsa0JBQ00sd0tBQUEsQUFFUyxzSUFGVCxBQUVTLDhIQUFBLDRCQUNDLHFCQUNYLENBQUssd0NBR0Ysa0JBQ0YsV0FDUCxjQUNHLG1CSXBla0IsWUg2QlgsQ0FBZ0QsK0NEMmMvRCxVQUNHLENBQUksZ0VBQ1EsaUJDamNBLENBQUMscUNJRlcsaUJMMlhyQixXQ3JZUyxDQUFnRCxDRGtmeEUscUNLeGVvQyxpQkwyWHJCLGNBbUZELENBQUksaUNBRUEsVUFDSCxlQUNHLENBQUcsaUNBakNMLGtCQW9DTyxPQUNYLE1BQ0QsU0FDRyxTQUNGLENBQUcsd0NBL0JRLGtCQW1DQSxTQUNULE9BQ0YsU0FDQSxDQUFHLENBQ1gscUNLamVnQyxpQkwyWHJCLFdDcllTLENBQWdELENEa2Z4RSIsImZpbGUiOiJlcnQtd2Vic3R5bGUtZ2xvYmFsLWhlYWRlci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkZXJ0LXVpLXRvb2xraXQtdmVyc2lvbjogXCIyLjAuMTcrZDIwMTkxMDMwMTQ1MDUzYjQwMHMyXCI7XG4vL3BhdGggdG8gZGlyZWN0b3J5IGZvciBpbWFnZXMgYW5kIGZvbnRzXG4kZXMtcGF0aC10by1hc3NldHM6ICcuLi8nO1xuXG4vKiFcbiAqIGVydC13ZWJzdHlsZSBHbG9iYWwgSGVhZGVyIFYjeyRlcnQtdWktdG9vbGtpdC12ZXJzaW9ufVxuICogVGhlIGdsb2JhbCBoZWFkZXIgYXJlIHN0eWxlcyBhcmUgc2VwYXJhdGVkIGZyb20gdGhlIGVydC13ZWJzdHlsZS5jc3MgZmlsZVxuICogdG8gcHJldmVudCBDU1MgYmxlZWRpbmcgd2l0aCB0aGUgR1NTTyBHbG9iYWwgSGVhZGVyLCBpZiB0aGV5IGFyZSB1c2luZyBkaWZmZXJlbnRcbiAqIFN0eWxlR3VpZGUgdmVyc2lvbnMuIElmIHlvdSB3YW50IHRvIGhhdmUgdGhlIEdsb2JhbCBIZWFkZXIgc3R5bGVzIGluIHlvdXIgcHJvamVjdCAod2l0aG91dCBHU1NPKSxcbiAqIGFsc28gaW5jbHVkZSB0aGUgZXJ0LXdlYnN0eWxlLWdsb2JhbC1oZWFkZXIuY3NzIGZpbGUhXG4gKi9cblxuLy8gY29uZmlndXJhdGlvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJjb25maWd1cmF0aW9uXCI7XG5cblxuLy8gbWl4aW5zIGFuZCBmdW5jdGlvbnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgXCJtb2R1bGVzXCI7XG5cbi8vIEdsb2JhbCBIZWFkZXIgc3R5bGVzXG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2dsb2JhbC1oZWFkZXJcIjtcblxuLy8gUHJpbnQgc3R5bGVzIGZvciBnbG9iYWwgaGVhZGVyIGNhbiBiZSBmb3VuZCBpbiB0aGUgZ2VuZXJhbCBwcmludCBzdHlsZXMgc2FzcyBmaWxlXG4iLCIvLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vL1xuLy8vIG1peGlucyBhbmQgcGxhY2Vob2xkZXIgZm9yIGNvbW1vbiB0eXBlL2VsZW1lbnQtc3R5bGVzXG4vLy9cbi8vLyBAZ3JvdXAgbW9kdWxlc1xuLy8vIEBtb2R1bGUgc2Fzcy9tb2R1bGVzL2NvcmUvdHlwZXNcbi8vL1xuLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vIEZvcm1hdHMgZGVmaW5pdGlvbiBsaXN0LCBkaXNwbGF5cyB0ZXJtcyBhYmQgZGVmaW5pdGlvbnMgaW4tbGluZSAobmV4dCB0byBlYWNoIG90aGVyKVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0gZW0gWyRkdC13aWR0aF0gV2lkdGggcmVzZXJ2ZWQgZm9yIHRoZSB0ZXJtXG4vLy8gQHBhcmFtIGVtIFskZ3V0dGVyXSBHdXR0ZXIgYmV0d2VlbiB0ZXJtIGFuZCBkZWZpbml0aW9uXG4vLy8gQG91dHB1dHMgVGhlIGNhbGN1bGF0ZWQgYXR0cmlidXRlc1xuXG5AbWl4aW4gZXMtZGwtaW5saW5lKCRkdC1taW4td2lkdGg6IG51bGwsICRkdC1ndXR0ZXI6IG51bGwpe1xuICBkbCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIGR0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGlmICgkZHQtbWluLXdpZHRoKSB7XG4gICAgICBtaW4td2lkdGg6ICRkdC1taW4td2lkdGg7XG4gICAgfVxuICAgIEBpZiAoJGR0LWd1dHRlcikge1xuICAgICAgbWFyZ2luOiBlcy10by1yZW0oMCAkZHQtZ3V0dGVyIDAgMCk7XG4gICAgfVxuICB9XG4gIGRkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cbn1cblxuLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy8gU3R5bGluZyBmb3IgaW5saW5lLW5hdmlnYXRpb25cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtIHB4IFtmb250LXNpemVdIEZvbnQtc2l6ZVxuLy8vIEBwYXJhbSBlbSBbJGd1dHRlcl0gR3V0dGVyIGJldHdlZW4gdGVybSBhbmQgZGVmaW5pdGlvblxuLy8vIEBvdXRwdXRzIFRoZSBjYWxjdWxhdGVkIGF0dHJpYnV0ZXNcbkBtaXhpbiBlcy1jb250YWlucy1pbmxpbmUtbmF2IHtcbiAgICBuYXZ7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgbmF2IHVsLCBuYXYgbGl7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIG5hdiB1bHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXtcbiAgICAgICAgJiArIGxpe1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAgLjc1ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIEBpbmNsdWRlIGVzLXZpZXdwb3J0LXJhbmdlKG1vYmlsZS1sYXJnZS11cCl7XG4gICAgbGl7XG4gICAgICAmICsgbGk6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgbWFyZ2luOiAwIDFlbSAwIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy8gTWlzY2VsbGFuZW91c1xuXG5AbWl4aW4gZXMtbmF2LWl0ZW0oKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBidXR0b24sIGEge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgKiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBidXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICB1bHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmVzLWljb24ge1xuICAgIGZvbnQtc2l6ZTogZXMtdG8tcmVtKCRlcy1uYXYtaXRlbS1pY29uLXNpemUpO1xuICAgICYgKyBsYWJlbCB7XG4gICAgICBtYXJnaW4tbGVmdDogZXMtdG8tcmVtKCRlcy1zcGFjZS1kZWZhdWx0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGVzLW5hdi1pdGVtLWhlaWdodCgkaGVpZ2h0KSB7XG4gIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XG4gIGJ1dHRvbiwgYSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG59XG5cbiVlcy1kZWZhdWx0LWJ1dHRvbi1yZXNldCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiIsIi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vXG4vLy8gbWl4aW5zLCBleHRlbnNpb25zLCBmdW5jdGlvbnMgb3IgcGxhY2Vob2xkZXIgZm9yIHJlc2V0dGluZyBzdGFuZGFyZCBcbi8vLyBtYXJrdXAgZWxlbWVudHNcbi8vL1xuLy8vIEBncm91cCBtb2R1bGVzXG4vLy8gQG1vZHVsZSBzYXNzL21vZHVsZXMvY29yZS9yZXNldFxuLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIHJlc2V0IHVub3JkZXJlZCBsaXN0XG4lZXMtcmVzZXQtb2wsXG4lZXMtcmVzZXQtdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLy8gTmVlZGVkIHRvIGdldCByaWQgb2YgdGhlIHJvdW5kZWQgaW5wdXQgY29ybmVycyBhbmQgYm94c2hhZG93IG9uIHNhZmFyaVxuJWVzLWNvbnRyb2wtaW9zLWNzcy1yZXNldCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xufSIsIi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vXG4vLy8gR2xvYmFsIGhlYWRlciBvcmdhbmlzbSAoRVJUIEdsb2JhbCBIZWFkZXIpXG4vLy9cbi8vLyBAZ3JvdXAgcGF0dGVyblxuLy8vIEBtb2R1bGUgc2Fzcy9vcmdhbmlzbXMvZ2xvYmFsLWhlYWRlclxuLy8vXG4vLy8gQHJlcXVpcmUgbWl4aW4gZXMtYmFzZS1wYWdlLWhlYWRlclxuLy8vIEByZXF1aXJlIG1peGluIGVzLWRyb3Bkb3duLWNvbnRlbnRcbi8vLyBAcmVxdWlyZSBtaXhpbiBlcy1kcm9wZG93bi1vdmVybGF5XG4vLy8gQHJlcXVpcmUgbWl4aW4gZXMtaGVhZGVyLWRyb3Bkb3duLWJ1dHRvblxuLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIGRlZmF1bHQgZ2xvYmFsIGhlYWRlciBiYXNlIGNvbmZpZ3VyYXRpb25cbiRnbG9iYWwtaGVhZGVyLWhlaWdodDogJGVzLXBhZ2UtaGVhZGVyLWhlaWdodDtcbiRnbG9iYWwtaGVhZGVyLXotaW5kZXg6ICRlcy1nbG9iYWwtaGVhZGVyLXotaW5kZXg7XG4kZ2xvYmFsLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAkZXMtYmFja2dyb3VuZC1jb2xvcjtcbiRnbG9iYWwtaGVhZGVyLWJvcmRlcjogMXB4IHNvbGlkICRlcy1ib3JkZXItbGlnaHQtY29sb3I7XG5cbi8vIGZvbnQgc2l6ZXMgZm9yIGVsZW1lbnQgdGl0bGUgKG5hdmlnYXRvciBtb2RlKVxuJGdsb2JhbC1oZWFkZXItdGl0bGUtZm9udC1zaXplLXNtYWxsOiAxM3B4O1xuJGdsb2JhbC1oZWFkZXItdGl0bGUtZm9udC1zaXplLW1lZGl1bTogMTRweDtcbiRnbG9iYWwtaGVhZGVyLXRpdGxlLWZvbnQtc2l6ZS1sYXJnZTogJGVzLWg0LWZvbnQtc2l6ZTtcblxuLy8gYXBwIGxhdW5jaGVyIHdpdGhvdXQgYW55IHNwYWNpbmdzIChqdXN0IGljb24pXG4kZ2xvYmFsLWhlYWRlci1hcHAtbGF1bmNoZXItYnV0dG9uLXdpZHRoOiAkZ2xvYmFsLWhlYWRlci1oZWlnaHQgLSAyKiRlcy1zcGFjZS1kZWZhdWx0O1xuXG4vLyBsb2dvIG9uIGxlZnQgc2lkZSBzaG91bGQgaGF2ZSB0aGUgc2FtZSBkaW1lbnNpb25zIGFzIHRoZSBhcHAgbGF1bmNoZXJcbiRnbG9iYWwtaGVhZGVyLWNvbXBhbnktbG9nby13aWR0aC1zbWFsbDogJGdsb2JhbC1oZWFkZXItYXBwLWxhdW5jaGVyLWJ1dHRvbi13aWR0aDtcbiRnbG9iYWwtaGVhZGVyLWNvbXBhbnktbG9nby13aWR0aC1kZWZhdWx0OiA5MHB4O1xuXG4kZ2xvYmFsLWhlYWRlci1jb21wYW55LWxvZ28taW1hZ2Utc21hbGw6ICcjeyRlcy1wYXRoLXRvLWFzc2V0c31pbWFnZXMvRVJULUxvZ29fUkdCX3NtYWxsLnN2Zyc7XG4kZ2xvYmFsLWhlYWRlci1jb21wYW55LWxvZ28taW1hZ2UtZGVmYXVsdDogJyN7JGVzLXBhdGgtdG8tYXNzZXRzfWltYWdlcy9FUlQtTG9nb19SR0Iuc3ZnJztcblxuLy8gbG9hZGluZyBpbmRpY2F0b3Igd2lkdGhcbiRnbG9iYWwtaGVhZGVyLWFwcC1sYXVuY2hlci1sb2FkaW5nLWluZGljYXRvci13aWR0aDogJGdsb2JhbC1oZWFkZXItYXBwLWxhdW5jaGVyLWJ1dHRvbi13aWR0aDtcblxuLy8gaGVpZ2h0IG9mIGNvbnRlbnRcbiRnbG9iYWwtaGVhZGVyLWNvbnRlbnQtaGVpZ2h0OiAkZ2xvYmFsLWhlYWRlci1oZWlnaHQgLSAyKiRlcy1zcGFjZS1kZWZhdWx0O1xuXG4vLyBwYWRkaW5nIGlzIGluc2V0IHNxdWlzaCwgYnV0IGhhcyB0byBiZSBjYWxjdWxhdGVkIG1hbnVhbGx5XG4vLyBiZWNhdXNlIG9mIHRoZSBjYXJldCBhdCB0aGUgcmlnaHRcbiRnbG9iYWwtaGVhZGVyLWluc2V0LXJpZ2h0OiAkZ2xvYmFsLWhlYWRlci1hcHAtbGF1bmNoZXItYnV0dG9uLXdpZHRoICsgMiokZXMtc3BhY2UtZGVmYXVsdDtcblxuJGdsb2JhbC1oZWFkZXItaW5zZXQtZGVmYXVsdC1sZWZ0OiAkZ2xvYmFsLWhlYWRlci1jb21wYW55LWxvZ28td2lkdGgtZGVmYXVsdCArICRlcy1zcGFjZS1kZWZhdWx0O1xuJGdsb2JhbC1oZWFkZXItaW5zZXQtZGVmYXVsdDogJGVzLXNwYWNlLWRlZmF1bHQgJGdsb2JhbC1oZWFkZXItaW5zZXQtcmlnaHQgJGVzLXNwYWNlLWRlZmF1bHQgJGdsb2JhbC1oZWFkZXItaW5zZXQtZGVmYXVsdC1sZWZ0O1xuXG4kZ2xvYmFsLWhlYWRlci1pbnNldC1zbWFsbC1sZWZ0OiAkZ2xvYmFsLWhlYWRlci1jb21wYW55LWxvZ28td2lkdGgtc21hbGwgKyAyKiRlcy1zcGFjZS1kZWZhdWx0O1xuJGdsb2JhbC1oZWFkZXItaW5zZXQtc21hbGw6ICRlcy1zcGFjZS1kZWZhdWx0ICRnbG9iYWwtaGVhZGVyLWluc2V0LXJpZ2h0ICRlcy1zcGFjZS1kZWZhdWx0ICRnbG9iYWwtaGVhZGVyLWluc2V0LXNtYWxsLWxlZnQ7XG5cbiRnbG9iYWwtaGVhZGVyLWluc2V0LW5vbG9nbzogJGVzLXNwYWNlLWRlZmF1bHQgJGdsb2JhbC1oZWFkZXItaW5zZXQtcmlnaHQgJGVzLXNwYWNlLWRlZmF1bHQgJGVzLXNwYWNlLWRlZmF1bHQ7XG5cbiRnbG9iYWwtaGVhZGVyLWFwcC1sYXVuY2hlci1kZWZhdWx0LWNvbG9yOiAkZXMtYW5jaG9yLWNvbG9yO1xuJGdsb2JhbC1oZWFkZXItYXBwLWxhdW5jaGVyLWhvdmVyLWNvbG9yOiAkZXMtYW5jaG9yLWhvdmVyLWNvbG9yO1xuXG4kZ2xvYmFsLWhlYWRlci1pY29uLWRlZmF1bHQtY29sb3I6ICRlcy1hbmNob3ItY29sb3I7XG4kZ2xvYmFsLWhlYWRlci1pY29uLWhvdmVyLWNvbG9yOiAkZXMtYW5jaG9yLWhvdmVyLWNvbG9yO1xuXG4kZ2xvYmFsLWhlYWRlci10ZXh0LWRlZmF1bHQtY29sb3I6ICRlcy1mb250LWNvbG9yO1xuXG4uZXMtZ2xvYmFsLWhlYWRlciB7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogZXMtdG8tcmVtKCRnbG9iYWwtaGVhZGVyLWhlaWdodCk7XG4gIH1cblxuICAuZXMtZml4ZWQtZ2xvYmFsLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgZXMtY2xlYXJmaXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAkZ2xvYmFsLWhlYWRlci1ib3JkZXI7XG4gICAgY29sb3I6ICRnbG9iYWwtaGVhZGVyLXRleHQtZGVmYXVsdC1jb2xvcjtcbiAgICBoZWlnaHQ6IGVzLXRvLXJlbSgkZ2xvYmFsLWhlYWRlci1oZWlnaHQpO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogZXMtdG8tcmVtKCRnbG9iYWwtaGVhZGVyLWluc2V0LXNtYWxsKTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6ICRnbG9iYWwtaGVhZGVyLXotaW5kZXg7XG4gIH1cbiAgXG4gIC5lcy1nbG9iYWwtaGVhZGVyLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGVzLWNsZWFyZml4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAuZXMtZHJvcGRvd24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGVzLXRvLXJlbSgkZXMtc3BhY2UteHNtYWxsKTtcbiAgICAgIG1hcmdpbi1yaWdodDogZXMtdG8tcmVtKCRlcy1zcGFjZS14c21hbGwpO1xuICAgIH1cblxuICAgICYgPiAuZXMtbGFiZWwtc3RhY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IGVzLXRvLXJlbSgkZXMtc3BhY2Utc21hbGwpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBlcy10by1yZW0oJGVzLXNwYWNlLXNtYWxsKTtcbiAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAje2VzLXRvLXJlbSgyKiRlcy1zcGFjZS1zbWFsbCl9KTtcbiAgICB9XG4gIH1cblxuICAuZXMtbG9hZGluZy1pbmRpY2F0b3Ige1xuICAgIGJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiBlcy10by1yZW0oJGVzLXNwYWNlLWluc2V0LWRlZmF1bHQpO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIC8vIGxvYWRpbmcgaW5kaWNhdG9yIHRvIGJlIHNxdWFyZVxuICAgIHdpZHRoOiBlcy10by1yZW0oJGdsb2JhbC1oZWFkZXItaGVpZ2h0KTtcbiAgICBcbiAgICAuZXMtbG9hZGluZy1pY29uIHtcbiAgICAgIGhlaWdodDogZXMtdG8tcmVtKCRnbG9iYWwtaGVhZGVyLWFwcC1sYXVuY2hlci1sb2FkaW5nLWluZGljYXRvci13aWR0aCk7XG4gICAgICB3aWR0aDogZXMtdG8tcmVtKCRnbG9iYWwtaGVhZGVyLWFwcC1sYXVuY2hlci1sb2FkaW5nLWluZGljYXRvci13aWR0aCk7XG4gICAgfSAgICBcbiAgfVxuXG4gIC8vcG9zaXRpb24gYXBwIGxhdW5jaGVyXG4gIC5lcy1kcm9wZG93bi4tZXMtYXBwLWxhdW5jaGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogaW5pdGlhbDtcbiAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gc3R5bGVzIGZvciBhcHAgbGF1bmNoZXIgYnV0dG9uXG4gIC5lcy1hcHAtbGF1bmNoZXItYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVlcy1kZWZhdWx0LWJ1dHRvbi1yZXNldDtcbiAgICBjb2xvcjogJGdsb2JhbC1oZWFkZXItYXBwLWxhdW5jaGVyLWRlZmF1bHQtY29sb3I7XG4gICAgcGFkZGluZzogZXMtdG8tcmVtKCRlcy1zcGFjZS1pbnNldC1kZWZhdWx0KTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdsb2JhbC1oZWFkZXItYXBwLWxhdW5jaGVyLWhvdmVyLWNvbG9yO1xuICAgIH1cblxuICAgIC5lcy1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogZXMtdG8tcmVtKCRnbG9iYWwtaGVhZGVyLWFwcC1sYXVuY2hlci1idXR0b24td2lkdGgpO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6IGdlb21ldHJpY1ByZWNpc2lvbjtcbiAgICB9XG4gIH1cblxuICAvLyBjb21wYW55IGxvZ29cbiAgLmVzLWNvbXBhbnktbG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiBlcy10by1yZW0oJGdsb2JhbC1oZWFkZXItY29tcGFueS1sb2dvLXdpZHRoLXNtYWxsICsgMiokZXMtc3BhY2UtZGVmYXVsdCk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCN7JGdsb2JhbC1oZWFkZXItY29tcGFueS1sb2dvLWltYWdlLXNtYWxsfSkgbm8tcmVwZWF0OyAvL0lFMTAgc3VwcG9ydHMgU1ZHIG9ubHkgYXMgYmFja2dyb3VuZC1pbWFnZVxuICAgICAgY29udGVudDogJyc7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogZ2VvbWV0cmljUHJlY2lzaW9uO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogZXMtdG8tcmVtKCRlcy1zcGFjZS1kZWZhdWx0KTtcbiAgICAgIHRvcDogZXMtdG8tcmVtKCRlcy1zcGFjZS1kZWZhdWx0KTtcbiAgICAgIGJvdHRvbTogZXMtdG8tcmVtKCRlcy1zcGFjZS1kZWZhdWx0KTtcbiAgICAgIHJpZ2h0OiBlcy10by1yZW0oJGVzLXNwYWNlLWRlZmF1bHQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGFkanVzdCBsaW5lIGhlaWdodCBmb3IgdGl0bGUgbGFiZWxcbiAgLmVzLWxhYmVsLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyAvLyBieSBkZWZhdWx0IG5vdCB2aXNpYmxlXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXgtd2lkdGg6IDI1JTtcblxuICAgIGgxLCBoMiwgaDMsIGg0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBlcy10by1yZW0oJGdsb2JhbC1oZWFkZXItY29udGVudC1oZWlnaHQpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gYWRqdXN0IGxpbmUgaGVpZ2h0IGZvciB0aXRsZSBsYWJlbFxuICAuZXMtbGFiZWwtc3RhY2sge1xuICAgIHNwYW4ge1xuICAgICAgbGluZS1oZWlnaHQ6IGVzLXRvLXJlbSgkZ2xvYmFsLWhlYWRlci1jb250ZW50LWhlaWdodCAqIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBhZGp1c3QgbGluZSBoZWlnaHQgZm9yIGxhYmVscyBpbiBkcm9wIGRvd25zXG4gIC5lcy1kcm9wZG93bi1pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgLmVzLWxhYmVsLXN0YWNrIHtcbiAgICAgIC8vIGxhYmVsIHN0YWNrIG5vdCBkaXNwbGF5ZWQgb24gc21hbGwgZGV2aWNlc1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IGVzLXRvLXJlbSgkZ2xvYmFsLWhlYWRlci1jb250ZW50LWhlaWdodCk7XG4gICAgfVxuICAgIC5lcy1pY29uIHtcbiAgICAgIGNvbG9yOiAkZ2xvYmFsLWhlYWRlci1pY29uLWRlZmF1bHQtY29sb3I7XG4gICAgICBtaW4taGVpZ2h0OiBlcy10by1yZW0oJGdsb2JhbC1oZWFkZXItY29udGVudC1oZWlnaHQpOyAvLyArICRlcy1zcGFjZS1zbWFsbCk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIC5lcy1pY29uIHtcbiAgICAgICAgY29sb3I6ICRnbG9iYWwtaGVhZGVyLWljb24taG92ZXItY29sb3I7XG4gICAgICB9ICAgICAgICBcbiAgICB9XG4gIH1cblxuICAvLyByZXNwb25zaXZlbmVzc1xuICBAaW5jbHVkZSBlcy12aWV3cG9ydC1yYW5nZShtb2JpbGUtbGFyZ2UtdXApIHtcbiAgICAuZXMtY29tcGFueS1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuZXMtZHJvcGRvd24gLmVzLWRyb3Bkb3duLWNvbnRlbnQge1xuICAgICAgdG9wOiBjYWxjKDEwMCUpO1xuICAgIH1cbiAgfVxuICBcbiAgQGluY2x1ZGUgZXMtdmlld3BvcnQtcmFuZ2UobW9iaWxlLWxhcmdlLXVwKSB7XG5cbiAgICAuZXMtZHJvcGRvd24taWNvbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAvL2Rpc3BsYXkgbGFiZWwgb24gdGFibGV0XG4gICAgICAuZXMtbGFiZWwtc3RhY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICB9IFxuICAgIH1cbiAgXG4gICAgLmVzLWdsb2JhbC1oZWFkZXItY29udGVudCB7XG4gICAgICAuZXMtZHJvcGRvd24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogZXMtdG8tcmVtKCRlcy1zcGFjZS1zbWFsbCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZXMtdG8tcmVtKCRlcy1zcGFjZS1zbWFsbCk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygyNSUgLSAje2VzLXRvLXJlbSgyKiRlcy1zcGFjZS1zbWFsbCl9KTtcbiAgICAvLyAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgXG4gICAgICAmID4gLmVzLWxhYmVsLXN0YWNrIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGVzLXRvLXJlbSgkZXMtc3BhY2Utc21hbGwpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGVzLXRvLXJlbSgkZXMtc3BhY2Utc21hbGwpO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjUlIC0gI3tlcy10by1yZW0oMiokZXMtc3BhY2Utc21hbGwpfSk7XG4gIC8vICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICBcbiAgQGluY2x1ZGUgZXMtdmlld3BvcnQtcmFuZ2UodGFibGV0LXVwKSB7XG4gICAgICAvLyBuZXcgaW5zZXQgZm9yIGJpZ2dlciBsb2dvXG4gICAgICAuZXMtZml4ZWQtZ2xvYmFsLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IGVzLXRvLXJlbSgkZ2xvYmFsLWhlYWRlci1pbnNldC1kZWZhdWx0KTtcbiAgICAgIH1cblxuICAgICAgLmVzLWNvbXBhbnktbG9nbyB7XG4gICAgICAgIHdpZHRoOiBlcy10by1yZW0oJGdsb2JhbC1oZWFkZXItY29tcGFueS1sb2dvLXdpZHRoLWRlZmF1bHQgKyAkZXMtc3BhY2UtZGVmYXVsdCk7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgkZ2xvYmFsLWhlYWRlci1jb21wYW55LWxvZ28taW1hZ2UtZGVmYXVsdCkgbm8tcmVwZWF0OyAvL0lFMTAgc3VwcG9ydHMgU1ZHIG9ubHkgYXMgYmFja2dyb3VuZC1pbWFnZVxuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmVzLWxhYmVsLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuZXMtZ2xvYmFsLWhlYWRlci1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuICB9XG4gIFxuICBcbiAgQGluY2x1ZGUgZXMtdmlld3BvcnQtcmFuZ2UoZGVza3RvcC11cCkge1xuICAgICAgLmVzLWxhYmVsLXRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgICB9XG4gICAgICAgIFxuICBcbiAgICAgIC5lcy1nbG9iYWwtaGVhZGVyLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogODAlO1xuICBcbiAgICAgICAgLmVzLWRyb3Bkb3duIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogZXMtdG8tcmVtKCRlcy1zcGFjZS1kZWZhdWx0KTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGVzLXRvLXJlbSgkZXMtc3BhY2UtZGVmYXVsdCk7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDI1JSAtICN7ZXMtdG8tcmVtKDIqJGVzLXNwYWNlLWRlZmF1bHQpfSk7XG4gICAgICAvLyAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmID4gLmVzLWxhYmVsLXN0YWNrIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogZXMtdG8tcmVtKCRlcy1zcGFjZS1kZWZhdWx0KTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGVzLXRvLXJlbSgkZXMtc3BhY2UtZGVmYXVsdCk7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDI1JSAtICN7ZXMtdG8tcmVtKDIqJGVzLXNwYWNlLWRlZmF1bHQpfSk7XG4gICAgLy8gICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICBcbiAgfVxuXG4gIEBpbXBvcnQgJ25hdmlnYXRpb24vcXVpY2tsaW5rcyc7XG4gIC8qKlxuICAgKiBOYXZpZ2F0b3IgbGlua3NcbiAgICogQGRlcGVuZHMgb24gY29tcG9uZW50cy9uYXZpZ2F0aW9uL3F1aWNrbGlua3NcbiAgICovXG4gIC5lcy1hcHAtbGF1bmNoZXItbGlua3Mge1xuICAgIEBleHRlbmQgLmVzLXF1aWNrbGlua3M7XG5cbiAgICAkZXMtYXBwLWxhdW5jaGVyLWxpbmtzLWNvbnRhaW5lci1zaXplOiA5MHB4O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgLmVzLWFwcC1sYXVuY2hlci1saW5rIHtcbiAgICAgIEBleHRlbmQgLmVzLXF1aWNrbGlua3MtaXRlbTtcbiAgICAgIFxuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLmVzLXBsYWNlaG9sZGVyLFxuICAgICAgYSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgaGVpZ2h0OiBlcy10by1yZW0oJGVzLWFwcC1sYXVuY2hlci1saW5rcy1jb250YWluZXItc2l6ZSk7XG4gICAgICAgIHdpZHRoOiBlcy10by1yZW0oJGVzLWFwcC1sYXVuY2hlci1saW5rcy1jb250YWluZXItc2l6ZSk7XG4gICAgICAgIC8vIHRvZG86IG1heWJlIHdlIG5lZWQgdGhpcyB0byB1c2UgYW5jaG9ycyBhbmQgYnV0dG9uc1xuICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcblxuICAgICAgICBzcGFuICsgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZXMtdmlld3BvcnQtcmFuZ2UobW9iaWxlLWxhcmdlLXVwKSB7XG4gICAgICB3aWR0aDogZXMtdG8tcmVtKCRlcy1hcHAtbGF1bmNoZXItbGlua3MtY29udGFpbmVyLXNpemUgKiAzKTtcbiAgICB9XG4gIH1cblxufVxuXG4vLyBHbG9iYWwgSGVhZGVyIGluIE5hdmlnYXRvciBNb2RlIChuZWVkcyByZWZhY3RvcmluZyB3aGVuIG9sZCBoZWFkZXIgaXMgcmV0aXJlZClcbi8vIFBsZWFzZSBub3RlOiBXaXRoIDMueCB3ZSBzaG91bGQgY29uc2lkZXIgc3dpdGNoaW5nIHRoaXMgbGF5b3V0IGVsZW1lbnRcbi8vIHRvIGZsZXhib3ggdG8gYmV0dGVyIG1ha2UgdXNlIG9mIHRoZSByZW1haW5pbmcgc3BhY2Vcbi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmVzLWdsb2JhbC1oZWFkZXIge1xuICAvLyBuYXZpZ2F0b3IgbW9kZSByZWxhdGVkIHN0eWxlc1xuXHQmLi1lcy1tb2RlLW5hdmlnYXRvciB7XG5cbiAgICAuZXMtY29tcGFueS1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuZXMtZ2xvYmFsLWhlYWRlci1jb250ZW50IHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBlcy10by1yZW0oJGVzLXNwYWNlLXNtYWxsKTtcbiAgICB9XG5cbiAgICAvLyBpbiBuYXZpZ2F0b3IgbW9kZSAnZXMtbGFiZWwtdGl0bGUnIGlzIGNvbnNpZGVyZWQgYXMgYW4gZWxlbWVudCB0aXRsZSAocHJlcGFyYXRpb24gZm9yIFNHMy54KVxuXHRcdC5lcy1sYWJlbC10aXRsZSB7XG4gICAgICAvLyBpbnRlZ3JhdGVkIHNlcGFyYXRvclxuXHRcdFx0JjpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRlcy1ib3JkZXItbGlnaHQtY29sb3I7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICBsZWZ0OiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIC8vIFRPRE86IE5lZWRzIHJlZmFjdG9yaW5nIGluIFNHMy54LCBzaG91bGQgZWl0aGVyIHVzZSB0aGUgZ2xvYmFsIFxuICAgICAgLy8gZXh0ZW5zaW9uIGNsYXNzZXMgb3IgbWl4aW5zIGluc3RlYWQgb2YgZGlyZWN0IGZvbnQgYXR0cmlidXRlc1xuICAgICAgZm9udC1mYW1pbHk6ICRlcy1mb250LWhlYWRpbmdzO1xuICAgICAgZm9udC1zaXplOiBlcy10by1yZW0oJGdsb2JhbC1oZWFkZXItdGl0bGUtZm9udC1zaXplLXNtYWxsKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZXMtZm9udC13ZWlnaHQtaGVhZGluZ3M7XG4gICAgICBsaW5lLWhlaWdodDogZXMtdG8tcmVtKCRnbG9iYWwtaGVhZGVyLWNvbnRlbnQtaGVpZ2h0KTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIGVzLXRvLXJlbSgkZXMtc3BhY2Utc21hbGwpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9XG4gIH1cblxuICBAaW5jbHVkZSBlcy12aWV3cG9ydC1yYW5nZShtb2JpbGUtbGFyZ2UtdXApIHtcbiAgICAmLi1lcy1tb2RlLW5hdmlnYXRvciB7XG5cbiAgICAgIC5lcy1maXhlZC1nbG9iYWwtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogZXMtdG8tcmVtKCRnbG9iYWwtaGVhZGVyLWluc2V0LXNtYWxsKTtcbiAgICAgIH1cblxuICAgICAgLmVzLWxhYmVsLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBlcy12aWV3cG9ydC1yYW5nZSh0YWJsZXQtdXApIHtcbiAgICAmLi1lcy1tb2RlLW5hdmlnYXRvciB7XG5cbiAgICAgIC5lcy1maXhlZC1nbG9iYWwtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogZXMtdG8tcmVtKCRnbG9iYWwtaGVhZGVyLWluc2V0LWRlZmF1bHQpO1xuICAgICAgfVxuXG4gICAgICAuZXMtZ2xvYmFsLWhlYWRlci1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogZXMtdG8tcmVtKCRlcy1zcGFjZS1kZWZhdWx0KTtcbiAgICAgIH1cblxuICAgICAgLmVzLWxhYmVsLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBlcy10by1yZW0oJGdsb2JhbC1oZWFkZXItdGl0bGUtZm9udC1zaXplLW1lZGl1bSk7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIGVzLXRvLXJlbSgkZXMtc3BhY2UtZGVmYXVsdCk7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBlcy12aWV3cG9ydC1yYW5nZShkZXNrdG9wLXVwKSB7XG4gICAgJi4tZXMtbW9kZS1uYXZpZ2F0b3Ige1xuICAgICAgLmVzLWxhYmVsLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBlcy10by1yZW0oJGdsb2JhbC1oZWFkZXItdGl0bGUtZm9udC1zaXplLWxhcmdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gIFxufVxuXG5cbi8vIEFwcCBMYXVuY2hlciAoRHJvcCBEb3duIENvbnRlbnQpXG4vLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5lcy1hcHAtbGF1bmNoZXIgeyAgXG4gICRhcHAtbGF1bmNoZXItd2lkdGgtc21hbGw6IDUwMHB4O1xuICAkYXBwLWxhdW5jaGVyLXdpZHRoLWxhcmdlOiA2MDBweDtcbiAgJGFwcC1sYXVuY2hlci1kZWZhdWx0LWJhY2tncm91bmQtY29sb3I6IGVzLWNvbG9yKCdtb25vJywgJ3doaXRlJyk7XG4gICRhcHAtbGF1bmNoZXItc2VydmljZS1pY29uLXNpemU6ICRlcy1pY29uLXNpemUteGxhcmdlO1xuICAkYXBwLWxhdW5jaGVyLW1haW4tY29udGVudC1taW4taGVpZ2h0OiAzMDBweDtcbiAgJGFwcC1sYXVuY2hlci1zaWRlLWJhY2tncm91bmQtaW1hZ2U6ICcjeyRlcy1wYXRoLXRvLWFzc2V0c31pbWFnZXMvYmFja2dyb3VuZGltYWdlLWFwcGxhdW5jaGVyLmpwZyc7XG4gICRhcHAtbGF1bmNoZXItc2lkZS1iYWNrZ3JvdW5kLW92ZXJsYXktY29sb3I6IHJnYmEoMCwxNDYsMTg4LC4zKTtcbiAgJGFwcC1sYXVuY2hlci1zaWRlLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiBlcy1jb2xvcignYmx1ZScsICdkYXJrLWJsdWUnKTtcbiAgXG4gIEBpbmNsdWRlIGVzLWNsZWFyZml4OyBcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFwcC1sYXVuY2hlci1kZWZhdWx0LWJhY2tncm91bmQtY29sb3I7IC8vIG5lZWRlZCBmb3IgSUVcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogZXMtdG8tcmVtKCRlcy1zcGFjZS1zbWFsbCAqIC0xKTtcbiAgbWluLWhlaWdodDogZXMtdG8tcmVtKCRhcHAtbGF1bmNoZXItbWFpbi1jb250ZW50LW1pbi1oZWlnaHQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmVzLWNvbHVtbi1tYWluLFxuICAuZXMtY29sdW1uLXNpZGUgeyAgXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZzogZXMtdG8tcmVtKCRlcy1zcGFjZS1pbnNldC1zbWFsbCk7XG4gIH0gIFxuXG4gIC5lcy1jb2x1bW4tbWFpbiB7ICBcbiAgICBhLFxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICRlcy1mb250LWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiBlcy10by1yZW0oJGVzLWdsb2JhbC1oZWFkZXItbG9nby1mb250LXNpemUpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtaW4taGVpZ2h0OiBlcy10by1yZW0oJGVzLWNvbnRyb2wtaGVpZ2h0KTtcbiAgICAgICAgcGFkZGluZzogZXMtdG8tcmVtKCRlcy1zcGFjZS1pbnNldC1zcXVpc2gtZGVmYXVsdCk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAuZXMtaWNvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IGVzLXRvLXJlbSgkYXBwLWxhdW5jaGVyLXNlcnZpY2UtaWNvbi1zaXplKTtcbiAgICAgICAgICAgIG1hcmdpbjogZXMtdG8tcmVtKCRlcy1zcGFjZS1ndXR0ZXItcmlnaHQtc21hbGwpO1xuICAgICAgICAgICAgLy9oYXJtb25pemUgaWNvbnMgYW5kIHRleHQgdmVydGljYWxseVxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAtKGVzLXRvLWVtKDEpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhOmhvdmVyLFxuICAgIGJ1dHRvbjpmb2N1cyxcbiAgICBidXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZXMtY29udHJvbC1ob3Zlci1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRlcy1jb250cm9sLXRleHQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmVzLWNvbHVtbi1zaWRlIHsgIFxuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCN7JGFwcC1sYXVuY2hlci1zaWRlLWJhY2tncm91bmQtb3ZlcmxheS1jb2xvcn0sICN7JGFwcC1sYXVuY2hlci1zaWRlLWJhY2tncm91bmQtb3ZlcmxheS1jb2xvcn0pLCBcbiAgICAgICAgICAgICAgICB1cmwoI3skYXBwLWxhdW5jaGVyLXNpZGUtYmFja2dyb3VuZC1pbWFnZX0pIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7ICAgIFxuICB9ICBcblxuICAuZXMtY29sdW1uLXNpZGUtZm9vdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogJGFwcC1sYXVuY2hlci1zaWRlLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIHBhZGRpbmc6IGVzLXRvLXJlbSgkZXMtc3BhY2UtaW5zZXQtbGFyZ2UpO1xuICAgIFxuICAgIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbjogZXMtdG8tcmVtKCRlcy1zcGFjZS1zdGFjay1kZWZhdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH0gIFxuICBcbiAgQGluY2x1ZGUgZXMtdmlld3BvcnQtcmFuZ2UoJ21vYmlsZS1sYXJnZS11cCcpIHtcbiAgICB3aWR0aDogZXMtdG8tcmVtKCRhcHAtbGF1bmNoZXItd2lkdGgtc21hbGwpO1xuICB9XG5cbiAgQGluY2x1ZGUgZXMtdmlld3BvcnQtcmFuZ2UoJ21vYmlsZS1sYXJnZS11cCcpIHtcbiAgICBtYXgtd2lkdGg6IDkwdnc7XG4gICAgXG4gICAgLmVzLWNvbHVtbi1tYWluIHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICBtYXJnaW4tbGVmdDogNDAlO1xuICAgIH1cbiAgICAuZXMtY29sdW1uLXNpZGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuICAgICAgXG4gICAgLmVzLWNvbHVtbi1zaWRlLWZvb3RlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBlcy12aWV3cG9ydC1yYW5nZSgnbW9iaWxlLWxhcmdlLXVwJykge1xuICAgIHdpZHRoOiBlcy10by1yZW0oJGFwcC1sYXVuY2hlci13aWR0aC1sYXJnZSk7XG4gIH1cblxufVxuXG4iLCIvLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vL1xuLy8vIGNvbnZlcnNpb24gbWl4aW5zL2Z1bmN0aW9uc1xuLy8vXG4vLy8gQGdyb3VwIG1vZHVsZXNcbi8vLyBAbW9kdWxlIHNhc3MvbW9kdWxlcy9jb3JlL2NvbnZlcnNpb25cbi8vL1xuLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vXG4vLy8gQ29udmVydHMgYSBnaXZlbiBwaXhlbCB2YWx1ZSBiYXNlZCBvbiBhIGNvbnRleHQgdG8gYSBzcGVjaWZpZWQgYmFzZXVuaXQuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSBweCB8IG51bWJlciBvciBsaXN0ICRwaXhlbHMgQSBwaXhlbCB2YWx1ZSBvciBsaXN0IG9mIHBpeGVsIHZhbHVlcyB0byBjYWxjdWxhdGVcbi8vLyBAcGFyYW0gcHggfCBudW1iZXIgWyRjb250ZXh0XSBBIHBpeGVsIHZhbHVlIHRvIGVxdWFsIDEgYmFzZXVuaXRcbi8vLyBAcGFyYW0gdW5pdCBbJGJhc2VVbml0XSBBIGJhc2UgdW5pdDogMWVtIG9yIDFyZW1cbi8vLyBAb3V0cHV0cyBUaGUgY2FsY3VsYXRlZCBiYXNldW5pdCB2YWx1ZS5cblxuQGZ1bmN0aW9uIGVzLXRvLXVuaXQoJHBpeGVscywgJGNvbnRleHQsICRiYXNlVW5pdCkge1xuICBcbiAgICAvLyBjb250ZXh0IHdpdGggbm8gdW5pdD9cbiAgICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xuICAgICAgLy8gY29udmVydCB0byBwaXhlbHNcbiAgICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcbiAgICB9XG4gICAgXG4gICAgLy8gSXMgdGhlcmUgb25seSBvbmUgKG51bWVyaWMpIHZhbHVlP1xuICAgIEBpZiB0eXBlLW9mKCRwaXhlbHMpID09ICdudW1iZXInIHtcbiAgIFxuICAgICAgJGNvbnZlcnRlZFZhbHVlOiAwO1xuICBcbiAgICAgIC8vIFBlcmZvcm0gY29udmVyc2lvbiBpZiB2YWx1ZSBub3QgemVyb1xuICAgICAgQGlmICgkcGl4ZWxzICE9IDApIHsgXG4gIFxuICAgICAgICAvLyBubyB1bml0cyBmb3IgcGl4ZWwgdmFsdWUgc3BlY2lmaWVkP1xuICAgICAgICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XG4gICAgICAgICAgLy8gY29udmVydCB0byBwaXhlbFxuICAgICAgICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XG4gICAgICAgIH1cbiAgXG4gICAgICAgICRjb252ZXJ0ZWRWYWx1ZTogZGVjaW1hbC1yb3VuZCgkcGl4ZWxzIC8gJGNvbnRleHQsIDQpICogJGJhc2VVbml0O1xuICAgICAgfVxuICAvLyAgICBAZGVidWcgXCJDb252ZXJ0ZWQgVmFsdWUgPSAjeyRjb252ZXJ0ZWRWYWx1ZX1cIjtcbiAgICAgIEByZXR1cm4gJGNvbnZlcnRlZFZhbHVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBlbXB0eSByZXN1bHQgbGlzdCB3aGljaCB3ZSB1c2UgdG8gYWRkIGFsbCAoY29udmVydGVkKSB2YWx1ZXNcbiAgICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgICAvLyBJZiBtb3JlIHRoYW4gb25lIHZhbHVlLCBwZXJmb3JtIGNvbnZlcnNpb24gb24gZWFjaCB2YWx1ZVxuICAgICAgQGVhY2ggJHBpeGVsVmFsdWUgaW4gJHBpeGVscyB7XG4gIFxuICAgICAgICAkY29udmVydGVkVmFsdWU6IDA7XG4gIFxuICAgICAgICAvLyBQZXJmb3JtIGNvbnZlcnNpb24gaWYgdmFsdWUgbm90IHplcm9cbiAgICAgICAgQGlmICgkcGl4ZWxWYWx1ZSAhPSAwKSB7IFxuICAgICAgICAgIC8vIG5vIHVuaXRzIGZvciBwaXhlbCB2YWx1ZSBzcGVjaWZpZWQ/XG4gICAgICAgICAgQGlmICh1bml0bGVzcygkcGl4ZWxWYWx1ZSkpIHtcbiAgICAgICAgICAgIC8vIGNvbnZlcnQgdG8gcGl4ZWxcbiAgICAgICAgICAgICRwaXhlbFZhbHVlOiAkcGl4ZWxWYWx1ZSAqIDFweDtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgICRjb252ZXJ0ZWRWYWx1ZTogZGVjaW1hbC1yb3VuZCgkcGl4ZWxWYWx1ZSAvICRjb250ZXh0LCA0KSAqICRiYXNlVW5pdDtcbiAgICAgICAgfVxuICAvLyAgICBAZGVidWcgXCJDb252ZXJ0ZWQgVmFsdWUgPSAjeyRjb252ZXJ0ZWRWYWx1ZX1cIjtcbiAgICAgICAgXG4gICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAoJGNvbnZlcnRlZFZhbHVlKSApO1xuICAgICAgfVxuLy8gICAgICBAZGVidWcgXCJJbnB1dCA9ICN7JHBpeGVsc30sIEJhc2VVbml0ID0gI3skYmFzZVVuaXR9LCBDb250ZXh0ID0gI3skY29udGV4dH0sIFJlc3VsdCA9ICN7JHJlc3VsdH1cIjtcbiAgICAgIEByZXR1cm4gJHJlc3VsdDtcbiAgICB9XG4gXG4gIH1cblxuICBcbi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vXG4vLy8gQ2FsY3VsYXRlcyBlbSB2YWx1ZSBmb3IgYSBnaXZlbiBwaXhlbCB2YWx1ZSBiYXNlZCBvbiBhIGNvbnRleHQgdGhhdCBlcXVhbHMgMWVtLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0gcHggfCBudW1iZXIgJHBpeGVscyBUaGUgcGl4ZWwgdmFsdWUgdG8gY2FsY3VsYXRlXG4vLy8gQHBhcmFtIHB4IHwgbnVtYmVyIFskY29udGV4dF0gQSBwaXhlbCB2YWx1ZSB0byBlcXVhbCAxZW1cbi8vLyBAcmVxdWlyZSB2YXJpYWJsZSAkZXMtZm9udC1zaXplLWRlZmF1bHRcbi8vLyBAb3V0cHV0cyBUaGUgY2FsY3VsYXRlZCBlbSB2YWx1ZS5cbkBmdW5jdGlvbiBlcy10by1lbSgkcGl4ZWxzLCAkY29udGV4dDogJGVzLWJhc2UtdW5pdCkge1xuICBAcmV0dXJuIGVzLXRvLXVuaXQoJHBpeGVscywgJGNvbnRleHQsIDFlbSk7XG59XG5cbkBmdW5jdGlvbiBlcy1lbS1jYWxjKCRwaXhlbHMsICRjb250ZXh0OiAkZXMtYmFzZS11bml0KSB7XG4gIEByZXR1cm4gZXMtdG8tdW5pdCgkcGl4ZWxzLCAkY29udGV4dCwgMWVtKTtcbn1cblxuQGZ1bmN0aW9uIGVzLXRvLXJlbSgkcGl4ZWxzLCAkY29udGV4dDogJGVzLWJhc2UtdW5pdCkge1xuICBAcmV0dXJuIGVzLXRvLXVuaXQoJHBpeGVscywgJGNvbnRleHQsIDFyZW0pO1xufVxuXG5cbiIsIi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vXG4vLy8gZ2VuZXJhbCB2YXJpYWJsZXNcbi8vL1xuLy8vIEBncm91cCBjb25maWd1cmF0aW9uXG4vLy8gQG1vZHVsZSBzYXNzL2NvbmZpZ3VyYXRpb24vZ2VuZXJhbFxuLy8vXG4vLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIGJhc2VwYXRoXG4kZXMtcGF0aC10by1hc3NldHM6ICcuLi8nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB1bml0cyAoZm9yIGRlcGVuZGVudCBjYWxjdWxhdGlvbnMpXG4vLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRlcy1iYXNlLXVuaXQ6IDEwcHg7ICAgICAgICAvLyB0aGlzIHVuaXQgcmVwcmVzZW50cyB0aGUgbnVtYmVyIG9mIHBpeGVscyBwZXIgMS4wcmVtXG4kZXMtcGl4ZWwtdW5pdDogMTBweDtcbi8vJGVzLWdyaWQtdW5pdDogOHB4OyAgICAgICAgIC8vIGJhc2VsaW5lIGdyaWQgdW5pdCAobnVtYmVyIG9mIHBpeGVscylcblxuLy8gWi1pbmRpY2VzXG4kZXMtei1pbmRleC10b3Btb3N0OiAxMDAwO1xuJGVzLXotaW5kZXgtb3ZlcmxheTogJGVzLXotaW5kZXgtdG9wbW9zdCAtIDE7XG5cbi8vLyBWaXN1YWwgc3R5bGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCb3ggc2hhZG93c1xuJGVzLXNoYWRvdzogMHB4IDJweCA1cHggMHB4ICRlcy1zaGFkb3ctY29sb3I7XG5cbi8vc2VwYXJhdG9yIC0+IG9ubHkgdXNlZCBpbiBncmlkLCBtb3ZlIGl0IHRoZXJlP1xuJGVzLXNlcGFyYXRvci1ib3JkZXI6IDFweCBzb2xpZCAkZXMtYm9yZGVyLWxpZ2h0LWNvbG9yOyIsIi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vXG4vLy8gbWlzY2VsbGFuZW91cyBoZWxwZXIgbW9kdWxlc1xuLy8vXG4vLy8gQGdyb3VwIG1vZHVsZXNcbi8vLyBAbW9kdWxlIHNhc3MvbW9kdWxlcy9jb3JlL2hlbHBlclxuLy8vXG4vLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy9cbi8vLyBNaXhpbiB0aGF0IGdlbmVyYXRlcyBjbGVhcmZpeFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGVzLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4lZXMtY2xlYXJmaXh7XG4gIEBpbmNsdWRlIGVzLWNsZWFyZml4O1xufVxuXG4vLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vL1xuLy8vIE1peGlucyB0aGF0IGFuaW1hdGUgaGlkaW5nIGFuZCBzaG93aW5nXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5cbkBtaXhpbiBlcy10cmFuc2l0aW9uLWhpZGUge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbkBtaXhpbiBlcy10cmFuc2l0aW9uLXNob3cge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuXG4vLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vL1xuLy8vIE1peGluIGZvciBib3JkZXJsZXNzIG92ZXJsYXlcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5AbWl4aW4gZXMtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRlcy1tb2RhbC1vdmVybGF5LWJnLWNvbG9yO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogJGVzLXotaW5kZXgtb3ZlcmxheTtcbn1cblxuLy9icmVhayB3b3Jkc1xuJWVzLXdvcmQtd3JhcC1icmVhay13b3Jke1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59IiwiLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy9cbi8vLyBjb2xvciBwYWxldHRlIGNvbmZpZ3VyYXRpb24gZmlsZVxuLy8vXG4vLy8gQGdyb3VwIGNvbmZpZ3VyYXRpb25cbi8vLyBAbW9kdWxlIHNhc3MvY29uZmlndXJhdGlvbi9mb3VuZGF0aW9uL2NvbG9yLXBhbGV0dGVcbi8vL1xuLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyB1c2VkIGNvbG9yIHBhbGV0dGVcbiRlcy1jb2xvci1wYWxldHRlOiAoXG4gICAgICAgICdibHVlJzogKFxuICAgICAgICAgICAgICAgICdkYXJrLWJsdWUnOiAjMDAzODY1LCAvLyBFUlQgTG9nbyBDb2xvcjogRGFyay1CbHVlXG4gICAgICAgICAgICAgICAgJ2F0b2xsJzogIzBkNjY4ZixcbiAgICAgICAgICAgICAgICAnbGlnaHQtYmx1ZSc6ICMwMDkyYmMsIC8vIEVSVCBMb2dvIENvbG9yOiBMaWdodC1CbHVlXG4gICAgICAgICAgICAgICAgJ3NlYWd1bGwnOiAjMzFhYWNjLFxuICAgICAgICAgICAgICAgICdwaWN0b24tYmx1ZSc6ICM0ZWMzZTAsXG4gICAgICAgICAgICAgICAgJ2JsaXp6YXJkLWJsdWUnOiAjYTllMWVmLFxuICAgICAgICAgICAgICAgICdwb2xhcic6ICNkNGYwZjZcbiAgICAgICAgKSxcbiAgICAgICAgJ3R1cnF1b2lzZSc6IChcbiAgICAgICAgICAgICAgICAnZWRlbic6ICMwMDZkNjgsXG4gICAgICAgICAgICAgICAgJ2JsdWUtY2hpbGwnOiAjMTQ4ZjgwLFxuICAgICAgICAgICAgICAgICdtaW50JzogIzAwYjM5OCxcbiAgICAgICAgICAgICAgICAncHVlcnRvLXJpY28nOiAjM2ZjMmFmLFxuICAgICAgICAgICAgICAgICdkb3dueSc6ICM2Y2QzYzcsXG4gICAgICAgICAgICAgICAgJ3Bvd2Rlci1taW50JzogI2I4ZTllMyxcbiAgICAgICAgICAgICAgICAnaWNlYmVyZyc6ICNkYmY0ZjFcbiAgICAgICAgKSxcbiAgICAgICAgJ2dyZWVuJzogKFxuICAgICAgICAgICAgICAgICdkYXJrLWdyZWVuJzogIzAwN2EzMyxcbiAgICAgICAgICAgICAgICAnZXVrYWx5cHR1cyc6ICM0NjliMjYsXG4gICAgICAgICAgICAgICAgJ3Bpc3RhY2hpbycgOiAjODRCRDAwLFxuICAgICAgICAgICAgICAgICdhdGxhbnRpcyc6ICNhNWM3MjcsXG4gICAgICAgICAgICAgICAgJ2xpbWUnOiAjYzRkNjAwLCAvLyBFUlQgTG9nbyBDb2xvcjogTGltZVxuICAgICAgICAgICAgICAgICd3aWxkLXJpY2UnOiAjZTJlYTg2LFxuICAgICAgICAgICAgICAgICd0dXNrJzogI2YwZjRjMVxuICAgICAgICApLFxuICAgICAgICAncmVkJzogKFxuICAgICAgICAgICAgICAgICdkYXJrLXJlZCc6ICNiZTNhMzQsXG4gICAgICAgICAgICAgICAgJ3B1bmNoJzogI2RkNGMzZCxcbiAgICAgICAgICAgICAgICAnb3JhbmdlJyA6ICNmZjVjMzksXG4gICAgICAgICAgICAgICAgJ2J1cm5pbmcnOiAjZmQ3MzQ0LFxuICAgICAgICAgICAgICAgICdjYXJyb3QnOiAjZmY4YTNkLFxuICAgICAgICAgICAgICAgICdwYXN0ZWxsJzogI2ZlYzVhMSxcbiAgICAgICAgICAgICAgICAndHVmdC1idXNoJzogI2ZlZTJjZlxuICAgICAgICApLFxuICAgICAgICAndmlvbGV0JzogKFxuICAgICAgICAgICAgICAgICdkYXJrLXZpb2xldCc6IzY1MzE2NSxcbiAgICAgICAgICAgICAgICAnd2luZS1iZXJyeSc6ICM3YjM1NzksXG4gICAgICAgICAgICAgICAgJ3BsdW0nOiAjOTMzMjhlLFxuICAgICAgICAgICAgICAgICd0YXBlc3RyeSc6ICNhODUwYTYsXG4gICAgICAgICAgICAgICAgJ2FtZXRoeXN0JzogI2MwNjljMixcbiAgICAgICAgICAgICAgICAncHJlbHVkZSc6ICNkZmI1ZTAsXG4gICAgICAgICAgICAgICAgJ3ByaW0nOiAjZWZkYWVmXG4gICAgICAgICksXG4gICAgICAgICdtb25vJzogKFxuICAgICAgICAgICAgICAgICdibGFjayc6ICMxZTFlMWUsXG4gICAgICAgICAgICAgICAgJ2FiYmV5JzogIzQ5NGE0YixcbiAgICAgICAgICAgICAgICAnZGFyay1ncmV5JzogIzc0NzY3OCxcbiAgICAgICAgICAgICAgICAnb3Nsby1ncmV5JzogIzk4OTk5YSxcbiAgICAgICAgICAgICAgICAnbGlnaHQtZ3JleSc6ICNiY2JkYmMsXG4gICAgICAgICAgICAgICAgJ2FsdG8nOiAjZGVkZWRlLFxuICAgICAgICAgICAgICAgICdnYWxsZXJ5JzogI2VlZWVlZSxcbiAgICAgICAgICAgICAgICAnYWxhYmFzdGVyJzogI2Y5ZjlmOSxcbiAgICAgICAgICAgICAgICAnd2hpdGUnOiAjZmZmZmZmXG4gICAgICAgIClcbikgIWRlZmF1bHQ7XG5cbi8vLyBBY2NlcHRhYmxlL2FsbG93ZWQgb3BhY2l0aWVzLlxuJGVzLWNvbG9yLW9wYWNpdGllczogKDAsIDAuMSwgMC4yLCAwLjMsIDAuNCwgMC41LCAwLjYsIDAuNywgMC44LCAwLjksIDEpICFkZWZhdWx0O1xuXG4vLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vL1xuLy8vIGZ1bmN0aW9uIGZvciB1bmlmaWVkIGNvbG9yIHVzc2FnZVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgICAgTmFtZSBvZiBjb2xvciwgc2VlIFwiQCRlcy1jb2xvci1wYWxldHRlXCJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhcmlhbnQgTmFtZSBvZiBjb2xvciB2YXJpYW50LCBzZWUgXCJAJGVzLWNvbG9yLXBhbGV0dGVcIiwgaWYgbm90IHNwZWNpZmllZCwgbmFtZSBpcyB1c2VkIGFzIGEgdmFyaWFudCBuYW1lLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3BhY2l0eSBPcGFjaXR5LCBmb3IgYWxsb3dlZCBvcGFjaXRpZXMgc2VlIFwiQCRlcy1jb2xvci1vcGFjaXRpZXNcIlxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgIGVzLWNvbG9yKCdkYXJrJywgJ2Jhc2UnLCAxLjApO1xuLy8vXG5AZnVuY3Rpb24gZXMtY29sb3IoXG4gICRuYW1lLFxuICAkdmFyaWFudDogbnVsbCxcbiAgJG9wYWNpdHk6IG51bGxcbikge1xuICAkY29sb3I6IG51bGw7XG5cbiAgLy8gR2V0IHRoZSBjb2xvciBzcGVjdHJ1bVxuICAkY29sb3Itc3BlY3RydW06IG1hcC1nZXQoJGVzLWNvbG9yLXBhbGV0dGUsICRuYW1lKTtcblxuICAvLyBHZXQgdGhlIGNvbG9yIHZhcmlhbnRcbiAgQGlmICRjb2xvci1zcGVjdHJ1bSB7XG5cbiAgICAvLyBubyB2YXJpYW50IHNwZWNpZmllZD8gdXNlIG5hbWUgYXMgdmFyaWFudFxuICAgIEBpZiAoJHZhcmlhbnQgPT0gbnVsbCkge1xuICAgICAgJHZhcmlhbnQ6ICRuYW1lO1xuICAgIH1cblxuICAgICRjb2xvcjogbWFwLWdldCgkY29sb3Itc3BlY3RydW0sICR2YXJpYW50KTtcbiAgfVxuXG4gIC8vIGNoZWNrIGFscGhhL29wYWNpdHkgaWYgcGFyYW1ldGVyIGV4aXN0c1xuICBAaWYgJG9wYWNpdHkge1xuXG4gICAgLy8gY2hlY2sgaWYgc3BlY2lmaWVkIG9wYWNpdHkgaXMgYWxsb3dlZFxuICAgIEBpZiBpbmRleCgkZXMtY29sb3Itb3BhY2l0aWVzLCAkb3BhY2l0eSkgPT0gbnVsbCB7XG4gICAgICAvLyBwYXJhbWV0ZXIgaXMgbm90IGFsbG93ZWQsIHNvIGR1bXAgdGhlIHBvc3NpYmxlL2FsbG93ZWQgdmFsdWVzXG4gICAgICBAZXJyb3IgXCJOb3QgYWxsb3dlZCBvcGFjaXR5IHZhbHVlOiAjeyRvcGFjaXR5fS4gT25seSBmb2xsb3dpbmcgb3BhY2l0eSB2YWx1ZXMgYXJlIGFsbG93ZWQ6ICN7JGVzLWNvbG9yLW9wYWNpdGllc31cIjtcbiAgICB9XG5cbiAgICAvLyBvcGFjaXRpeSBhbGxvd2VkLCB1c2UgaXRcbiAgICAkY29sb3I6IHJnYmEoJGNvbG9yLCAkb3BhY2l0eSk7XG4gIH1cblxuICBAcmV0dXJuICRjb2xvcjtcbn1cblxuIiwiLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy9cbi8vLyBNaXhpbiBmb3IgZWFzaWVyIG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gKHNjcmVlbiBvbmx5KVxuLy8vXG4vLy8gQGdyb3VwIG1vZHVsZXNcbi8vLyBAbW9kdWxlIHNhc3MvbW9kdWxlcy9jb3JlL3ZpZXdwb3J0LXJhbmdlXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmlld3BvcnQtbmFtZSAgICBOYW1lIG9mIHZpZXdwb3J0IGNvbnRhaW5lZCBpbiB2aWV3cG9ydCBjb25maWd1cmF0aW9uIFwiQCRlcy12aWV3cG9ydC1yYW5nZXNcIlxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgIGVzLXZpZXdwb3J0LXNjcmVlbignbm90ZWJvb2stb25seScpO1xuLy8vXG5cbkBtaXhpbiBlcy12aWV3cG9ydC1yYW5nZShcbiAgJHZpZXdwb3J0LW5hbWVcbilcbntcbiAgLy8gQ29uc3RhbnRzXG4gICRtaW46IG1pbi13aWR0aDtcbiAgJG1heDogbWF4LXdpZHRoO1xuICAkc2NyZWVuLWRldmljZS1jb25zdHJhaW50OiBcInNjcmVlblwiO1xuXG4gIC8vIHByZXBhcmUgbWVkaWEgcXVlcnlcbiAgJG1lZGlhLXF1ZXJ5OiAkc2NyZWVuLWRldmljZS1jb25zdHJhaW50O1xuXG4gIC8vIGdldCB2aWV3cG9ydCBzZXR0aW5ncyAobWluLW1heC1yYW5nZSlcbiAgJHZpZXdwb3J0LXNldHRpbmdzOiBtYXAtZ2V0KCRlcy12aWV3cG9ydC1yYW5nZXMsICR2aWV3cG9ydC1uYW1lKTtcblxuICAvLyBleHBlY3QgYWx3YXlzIHR3byBwYXJhbWV0ZXJzXG4gIEBpZiBsZW5ndGgoJHZpZXdwb3J0LXNldHRpbmdzKSAhPSAyIHtcbiAgICBAZXJyb3IgXCJNaW4tIGFuZCBtYXhpbXVtIHZhbHVlIGZvciAjeyR2aWV3cG9ydC1uYW1lfSBtdXN0IGJlIHNwZWNpZmllZC5cIjtcbiAgfVxuXG4gIC8vIGdldCBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlIGZyb20gdGhlIHNldHRpbmdzXG4gICR2aWV3cG9ydC1taW46IG50aCgkdmlld3BvcnQtc2V0dGluZ3MsIDEpOyAvLyBtaW5pbXVtIHZhbHVlXG4gICR2aWV3cG9ydC1tYXg6IG50aCgkdmlld3BvcnQtc2V0dGluZ3MsIDIpOyAvLyBtYXhpbXVtIHZhbHVlXG5cbiAgLy8gbWluaW11bSB2YWx1ZSBzcGVjaWZpZWQ/XG4gIEBpZiAkdmlld3BvcnQtbWluIHtcbiAgICAvLyBhcHBlbmQgbWluIGNvbmRpdGlvblxuICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCIgYW5kIChcIiArICRtaW4gKyBcIjogXCIgKyAkdmlld3BvcnQtbWluICsgXCIpXCI7XG4gIH1cblxuICAvLyBtYXhpbXVtIHZhbHVlIHNwZWNpZmllZD9cbiAgQGlmICR2aWV3cG9ydC1tYXgge1xuICAgIC8vIGFwcGVuZCBtYXggY29uZGl0aW9uXG4gICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcIiBhbmQgKFwiICsgJG1heCArIFwiOiBcIiArICR2aWV3cG9ydC1tYXggKyBcIilcIjtcbiAgfVxuXG4gIC8vIG91dHB1dCBtZWRpYSBxdWVyeVxuICBAbWVkaWEgI3skbWVkaWEtcXVlcnl9XG4gIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy9cbi8vLyBRdWlja2xpbmtzIGNvbXBvbmVudFxuLy8vXG4vLy8gQGdyb3VwIG5hdmlnYXRpb25cbi8vLyBAbW9kdWxlIHNhc3MvY29tcG9uZW50cy9uYXZpZ2F0aW9uL3F1aWNrbGlua3Ncbi8vL1xuLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5lcy1xdWlja2xpbmtzIHtcblx0JGVzLXF1aWNrbGlua3MtY29udGFpbmVyLXNpemU6IDkwcHg7XG5cdCRlcy1xdWlja2xpbmtzLWNvbnRhaW5lci1zaXplLW1vYmlsZTogNTBweDtcblxuXHQkZXMtcXVpY2tsaW5rcy1ib3JkZXItd2lkdGg6IDRweDtcblx0JGVzLXF1aWNrbGlua3MtYm9yZGVyLXdpZHRoLW1vYmlsZTogMnB4O1xuXG5cdCRlcy1xdWlja2xpbmtzLWljb24tZm9udC1zaXplOiAzMHB4O1xuXHQkZXMtcXVpY2tsaW5rcy1pY29uLXBhZGRpbmc6ICRlcy1zcGFjZS1zbWFsbCAwO1xuXHQkZXMtcXVpY2tsaW5rcy1pY29uLXBhZGRpbmctbW9iaWxlOiAkZXMtc3BhY2UteHNtYWxsIDA7XG5cblx0JGVzLXF1aWNrbGlua3MtaXRlbS1pbnNldDogJGVzLXNwYWNlLWluc2V0LWRlZmF1bHQ7XG5cdCRlcy1xdWlja2xpbmtzLWl0ZW0taW5zZXQtbW9iaWxlOiAkZXMtc3BhY2UtaW5zZXQtc21hbGw7XG5cdCRlcy1xdWlja2xpbmtzLWl0ZW0tYmFja2dyb3VuZC1jb2xvcjogZXMtY29sb3IoJ21vbm8nLCAnd2hpdGUnKTtcblx0JGVzLXF1aWNrbGlua3MtaXRlbS1jb2xvci1ob3ZlcjogZXMtY29sb3IoJ2JsdWUnLCAncGljdG9uLWJsdWUnKTtcblx0JGVzLXF1aWNrbGlua3MtaXRlbS1jb2xvcjogZXMtY29sb3IoJ2JsdWUnLCAnbGlnaHQtYmx1ZScpO1xuXG5cdCRlcy1xdWlja2xpbmtzLWFuY2hvci1pbnNldDogJGVzLXNwYWNlLWRlZmF1bHQgJGVzLXNwYWNlLXNtYWxsO1xuXHQkZXMtcXVpY2tsaW5rcy1hbmNob3ItaW5zZXQtbW9iaWxlOiAkZXMtc3BhY2Utc21hbGwgJGVzLXNwYWNlLXhzbWFsbDtcblx0XG5cdCRlcy1xdWlja2xpbmtzLXRleHQtY29sb3ItaG92ZXI6IGVzLWNvbG9yKCdtb25vJywgJ29zbG8tZ3JleScpO1xuXHQkZXMtcXVpY2tsaW5rcy10ZXh0LWNvbG9yOiBlcy1jb2xvcignbW9ubycsICdhYmJleScpO1xuXHQkZXMtcXVpY2tsaW5rcy10ZXh0LWZvbnQtc2l6ZTogJGVzLWZvbnQtc2l6ZS1kZWZhdWx0O1xuXHQkZXMtcXVpY2tsaW5rcy10ZXh0LW1heC1udW0tbGluZXM6IDI7XG5cblx0JGVzLXF1aWNrbGlua3Mtc2VydmljZS10eXBlLWNvbG9yLWhvdmVyOiBlcy1jb2xvcignZ3JlZW4nLCAnbGltZScpO1xuXHQkZXMtcXVpY2tsaW5rcy1zZXJ2aWNlLXR5cGUtY29sb3I6IGVzLWNvbG9yKCdncmVlbicsICdwaXN0YWNoaW8nKTtcblxuXHQkZXMtcXVpY2tsaW5rcy1kcm9wZG93bi1jaGV2cm9uLXNpemU6IDhweDtcblx0JGVzLXF1aWNrbGlua3MtZHJvcGRvd24tY2hldnJvbi1ib3R0b20tcG9zaXRpb246IDRweDtcblx0JGVzLXF1aWNrbGlua3MtZHJvcGRvd24tY2hldnJvbi1ib3R0b20tcG9zaXRpb24tbW9iaWxlOiAycHg7XG5cblx0JGVzLXF1aWNrbGlua3MtcGxhY2Vob2xkZXItaWNvbi1mb250LXNpemUtbW9iaWxlOiAzNnB4O1xuXHQkZXMtcXVpY2tsaW5rcy1wbGFjZWhvbGRlci1pY29uLWZvbnQtc2l6ZTogNzBweDtcblx0JGVzLXF1aWNrbGlua3MtcGxhY2Vob2xkZXItdGV4dC1jb2xvcjogZXMtY29sb3IoJ21vbm8nLCAnYWx0bycpO1xuXG5cblx0dWwge1xuXHRcdEBleHRlbmQgJWVzLXJlc2V0LXVsO1xuXHRcdC8vIHJlbW92ZSBvdXRlciBzcGFjaW5nXG5cdFx0bWFyZ2luOiBlcy10by1yZW0oJGVzLXF1aWNrbGlua3MtaXRlbS1pbnNldC1tb2JpbGUgKiAtMSk7XG5cdH1cblxuXHRcblxuXHQuZXMtcXVpY2tsaW5rcy1pdGVtIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogZXMtdG8tcmVtKCRlcy1xdWlja2xpbmtzLWl0ZW0taW5zZXQtbW9iaWxlKTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblxuXHRcdD4gLmVzLXBsYWNlaG9sZGVyLFxuXHRcdD4gLmVzLWRyb3Bkb3duID4gYSxcblx0XHQ+IGEge1xuXHRcdFx0Ly8gYm9yZGVyIGNvbG9yIG5vdCBleHBsaWNpdGx5IHNldCwgaXQncyBhdXRvbWF0aWNhbGx5XG5cdFx0XHQvLyBpbmhlcml0ZWQgZnJvbSB0aGUgZWxlbWVudCdzIGNvbG9yIGJ5IGRlZmF1bHQuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZXMtcXVpY2tsaW5rcy1pdGVtLWJhY2tncm91bmQtY29sb3I7XG5cdFx0XHRib3JkZXI6ICRlcy1xdWlja2xpbmtzLWJvcmRlci13aWR0aC1tb2JpbGUgc29saWQ7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGhlaWdodDogZXMtdG8tcmVtKCRlcy1xdWlja2xpbmtzLWNvbnRhaW5lci1zaXplLW1vYmlsZSk7XG5cdFx0XHR3aWR0aDogZXMtdG8tcmVtKCRlcy1xdWlja2xpbmtzLWNvbnRhaW5lci1zaXplLW1vYmlsZSk7XG5cblx0XHRcdHNwYW4gKyBzcGFuIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0Y29sb3I6ICRlcy1xdWlja2xpbmtzLXRleHQtY29sb3I7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkZXMtZm9udC1zZWNvbmRhcnk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogZXMtdG8tcmVtKCRlcy1xdWlja2xpbmtzLXRleHQtZm9udC1zaXplKTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDFlbTtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0bWF4LWhlaWdodDogZXMtdG8tcmVtKCRlcy1xdWlja2xpbmtzLXRleHQtZm9udC1zaXplICogJGVzLXF1aWNrbGlua3MtdGV4dC1tYXgtbnVtLWxpbmVzKTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXHRcblx0XHRcdC5lcy1pY29uIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQvLyBxdWljayBsaW5rIHNwZWNpZmljXG5cdFx0PiAuZXMtZHJvcGRvd24gPiBhLFxuXHRcdD4gYSB7XG5cdFx0XHRjb2xvcjogJGVzLXF1aWNrbGlua3MtaXRlbS1jb2xvcjtcblx0XHRcdHBhZGRpbmc6IGVzLXRvLXJlbSgkZXMtcXVpY2tsaW5rcy1hbmNob3ItaW5zZXQtbW9iaWxlKTtcblx0XHRcdFxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkZXMtcXVpY2tsaW5rcy1pdGVtLWNvbG9yLWhvdmVyO1xuXHRcdFx0XHQvLyBjaGFuZ2UgaG92ZXIgY29sb3Igb2YgdGV4dCBzcGFuIGJlbG93IGljb24gYXMgd2VsbFxuXHRcdFx0XHRzcGFuICsgc3BhbiB7XG5cdFx0XHRcdFx0Y29sb3I6ICRlcy1xdWlja2xpbmtzLXRleHQtY29sb3ItaG92ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHQuZXMtaWNvbiB7XG5cdFx0XHRcdHBhZGRpbmc6IGVzLXRvLXJlbSgkZXMtcXVpY2tsaW5rcy1pY29uLXBhZGRpbmctbW9iaWxlKTtcblx0XHRcdFx0Zm9udC1zaXplOiBlcy10by1yZW0oJGVzLXF1aWNrbGlua3MtaWNvbi1mb250LXNpemUpO1xuXHRcdFx0fVxuXHRcdH1cdFx0XG5cblx0XHQvLyBwbGFjZWhvbGRlciBzcGVjaWZpY1xuXHRcdD4gLmVzLXBsYWNlaG9sZGVyIHtcblx0XHRcdGNvbG9yOiAkZXMtcXVpY2tsaW5rcy1wbGFjZWhvbGRlci10ZXh0LWNvbG9yO1xuXHRcdFx0LmVzLWljb24ge1xuXHRcdFx0XHRmb250LXNpemU6IGVzLXRvLXJlbSgkZXMtcXVpY2tsaW5rcy1wbGFjZWhvbGRlci1pY29uLWZvbnQtc2l6ZS1tb2JpbGUpO1xuXHRcdFx0fVxuXHRcdH1cblxuXG5cdFx0PiAuZXMtZHJvcGRvd24gPiBhIHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRAaW5jbHVkZSBlcy1jb250cm9sLWljb24oY2FyZXQtZG93biwgJGVzLXF1aWNrbGlua3MtZHJvcGRvd24tY2hldnJvbi1zaXplKTtcblx0XHRcdFx0Ym90dG9tOiBlcy10by1yZW0oJGVzLXF1aWNrbGlua3MtZHJvcGRvd24tY2hldnJvbi1ib3R0b20tcG9zaXRpb24tbW9iaWxlKTtcblx0XHRcdFx0Y29sb3I6ICRlcy1xdWlja2xpbmtzLXRleHQtY29sb3I7XG5cdFx0XHRcdGxlZnQ6IGNhbGMoNTAlIC0gI3skZXMtcXVpY2tsaW5rcy1kcm9wZG93bi1jaGV2cm9uLXNpemUvMn0pO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMWVtO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb2xvcjogJGVzLXF1aWNrbGlua3MtdGV4dC1jb2xvci1ob3Zlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0fSBcblxuXHRcdC8vIGFkZGl0aW9uYWwgY29sb3JpbmcgZm9yIHF1aWNrbGlua3Mgb2YgdHlwZSBcInNlcnZpY2VcIlxuXHRcdCYuLWVzLXR5cGUtc2VydmljZSB7XG5cdFx0XHQ+IC5lcy1kcm9wZG93biA+IGEsXG5cdFx0XHQ+IGEge1xuXHRcdFx0XHRjb2xvcjogJGVzLXF1aWNrbGlua3Mtc2VydmljZS10eXBlLWNvbG9yO1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogJGVzLXF1aWNrbGlua3Mtc2VydmljZS10eXBlLWNvbG9yLWhvdmVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYuLWVzLWNsaXAge1xuXHRcdFx0Y2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMjhweCAwLCAzNnB4IDE0cHgsIDMwcHggMjRweCwgMzZweCAzNHB4LCAzMHB4IDQ1cHgsIDM3cHggNTZweCwgMzBweCA2OHB4LCAzN3B4IDc4cHgsIDI0cHggMTAwcHgsIDEwMHB4IDEwMHB4LCAwIDEwMHB4KTtcblx0XHR9XG5cdFx0XHRcdFxuXHR9XG5cblx0QGluY2x1ZGUgZXMtdmlld3BvcnQtcmFuZ2UodGFibGV0LXVwKSB7XG5cdFx0XG5cdFx0dWwge1xuXHRcdFx0Ly8gcmVtb3ZlIG91dGVyIHNwYWNpbmdcblx0XHRcdG1hcmdpbjogZXMtdG8tcmVtKCRlcy1xdWlja2xpbmtzLWl0ZW0taW5zZXQgKiAtMSk7XG5cdFx0fVxuXG5cdFx0LmVzLXF1aWNrbGlua3MtaXRlbSB7XG5cdFx0XHRwYWRkaW5nOiBlcy10by1yZW0oJGVzLXF1aWNrbGlua3MtaXRlbS1pbnNldCk7XG5cblx0XHRcdD4gLmVzLXBsYWNlaG9sZGVyLFxuXHRcdFx0PiAuZXMtZHJvcGRvd24gPiBhLFxuXHRcdFx0PiBhIHtcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAkZXMtcXVpY2tsaW5rcy1ib3JkZXItd2lkdGg7XG5cdFx0XHRcdGhlaWdodDogZXMtdG8tcmVtKCRlcy1xdWlja2xpbmtzLWNvbnRhaW5lci1zaXplKTtcblx0XHRcdFx0d2lkdGg6IGVzLXRvLXJlbSgkZXMtcXVpY2tsaW5rcy1jb250YWluZXItc2l6ZSk7XG5cblx0XHRcdFx0c3BhbiArIHNwYW4ge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIGFuY2hvci9kcm9wZG93biBzcGVjaWZpY1xuXHRcdFx0PiAuZXMtZHJvcGRvd24gPiBhLFxuXHRcdFx0PiBhIHtcblx0XHRcdFx0cGFkZGluZzogZXMtdG8tcmVtKCRlcy1xdWlja2xpbmtzLWFuY2hvci1pbnNldCk7XG5cdFx0XHRcdC5lcy1pY29uIHtcblx0XHRcdFx0XHRwYWRkaW5nOiBlcy10by1yZW0oJGVzLXF1aWNrbGlua3MtaWNvbi1wYWRkaW5nKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQvLyBwbGFjZWhvbGRlciBzcGVjaWZpY1xuXHRcdFx0PiAuZXMtcGxhY2Vob2xkZXIge1xuXHRcdFx0XHQuZXMtaWNvbiB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiBlcy10by1yZW0oJGVzLXF1aWNrbGlua3MtcGxhY2Vob2xkZXItaWNvbi1mb250LXNpemUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdD4gLmVzLWRyb3Bkb3duID4gYSB7XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGJvdHRvbTogZXMtdG8tcmVtKCRlcy1xdWlja2xpbmtzLWRyb3Bkb3duLWNoZXZyb24tYm90dG9tLXBvc2l0aW9uKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLi1lcy1jbGlwIHtcblx0XHRcdFx0Y2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgNTJweCAwLCA2MHB4IDE0cHgsIDU0cHggMjRweCwgNjBweCAzNHB4LCA1NHB4IDQ1cHgsIDYxcHggNTZweCwgNTNweCA2OHB4LCA2MHB4IDc4cHgsIDQ3cHggMTAwcHgsIDEwMHB4IDEwMHB4LCAwIDEwMHB4KTtcblx0XHRcdH1cblx0XG5cdFx0fVxuXHR9XG5cbn1cbiIsIi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vXG4vLy8gSWNvbiByZWxhdGVkIG1peGlucyBhbmQgZnVuY3Rpb25zXG4vLy9cbi8vLyBAZ3JvdXAgbW9kdWxlc1xuLy8vIEBtb2R1bGUgc2Fzcy9tb2R1bGVzL2ZvdW5kYXRpb24vaWNvblxuLy8vXG4vLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy9cbi8vLyBNaXhpbiBmb3IgZm9udCBpY29uc1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgICAgTmFtZSBvZiBmb250XG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vICAgQGluY2x1ZGUgZXMtaWNvbignZXJ0LWljb25zJyk7XG4vLy9cbkBtaXhpbiBlcy1pY29uKCRuYW1lOiBlcnQtaWNvbnMsICRkaXNwbGF5LW1vZGU6IGlubGluZS1ibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheS1tb2RlO1xuICBmb250LWZhbWlseTogJG5hbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vL1xuLy8vIE1peGluIGZvciBzaW5nbGV0b24gaWNvbnNcbi8vL1xuLy8vXG5AbWl4aW4gZXMtaWNvbi1zaW5nbGV0b24oKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxZW07XG4gIC8vaGFybW9uaXplIGljb25zIGFuZCB0ZXh0XG4gIG1hcmdpbi10b3A6IC0oZXMtZW0tY2FsYygxKSk7XG4gIHdpZHRoOiAxZW07XG59XG5cbi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vXG4vLy8gTWl4aW4gYW5kIHBsYWNlaG9sZGVyIGZvciBFUlQgaWNvbnNcbi8vL1xuQG1peGluIGVzLWVydC1pY29uKCl7XG4gIEBpbmNsdWRlIGVzLWljb24oZXJ0LWljb25zKTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG4lZXMtZXJ0LWljb257XG4gIEBpbmNsdWRlIGVzLWVydC1pY29uO1xufVxuJWVzLWVydC1pY29uLXNpbmdsZXRvbntcbiAgQGV4dGVuZCAlZXMtZXJ0LWljb247XG4gIEBpbmNsdWRlIGVzLWljb24tc2luZ2xldG9uO1xufVxuXG4vLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vL1xuLy8vIE1peGluIHRvIGNyZWF0ZSBjbGFzc2VzL3N0eWxlcyBmb3IgMmQgZm9udCBpY29uc1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge09iamVjdH0gJGljb25zICAgIE1hcCBvZiAyZCBpY29uc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaWNvbi1wcmVmaXggICAgUHJlZml4IGZvciBlYWNoIGljb24gY2xhc3MsIGJ5IGRlZmF1bHQgJ2ljb24nXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vICAgQGluY2x1ZGUgZXMtY3JlYXRlLTJkLWZvbnQtaWNvbi1jbGFzc2VzKCdkYXJrJywgJ2Jhc2UnLCAxLjApO1xuLy8vXG5AbWl4aW4gZXMtY3JlYXRlLTJkLWZvbnQtaWNvbi1jbGFzc2VzKFxuICAkaWNvbnMsXG4gICRpY29uLXByZWZpeDogJ2ljb24nXG4pXG57XG4gIEBlYWNoICRpY29uLWtleSwgJGljb24tY2hhcmFjdGVyLXZhbHVlIGluICRpY29uc1xuICB7XG4gICAgLmVzLSN7JGljb24tcHJlZml4fS0jeyRpY29uLWtleX06YmVmb3JlXG4gICAge1xuICAgICAgY29udGVudDogJGljb24tY2hhcmFjdGVyLXZhbHVlOyAvLyBtYWluIGljb25cbiAgICB9XG4gIH1cbn1cblxuLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy9cbi8vLyBGdW5jdGlvbiB0byBnZXQgdGhlIGNoYXJhY3RlciBjb2RlIG9mIGFuIGljb25cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgICAgICAgICAgIE1hcCBvZiBpY29uc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAgICBOYW1lIG9mIGljb24gdG8gYmUgcmV0cmlldmVkXG4vLy9cbkBmdW5jdGlvbiBlcy1nZXQtaWNvbihcbiAgJG5hbWUsXG4gICRtYXA6ICRlcy1pY29ucy0yZFxuKVxue1xuICAvLyBpY29uIGRvZXMgbm90IGV4aXN0P1xuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRuYW1lKSA9PSBmYWxzZSkge1xuICAgIEBlcnJvciBcIkljb24gJyN7JG5hbWV9JyBkb2VzIG5vdCBleGlzdCBpbiBzcGVjaWZpZWQgbWFwLlwiO1xuICB9XG5cbiAgJGljb246IG1hcC1nZXQoJG1hcCwgJG5hbWUpO1xuICBAcmV0dXJuICRpY29uO1xufVxuXG4vKipcbiAqIG1peGluIHRvIGNyZWF0ZSBpY29uIGNvbG9yIG1vZGlmaWVycyAoY29sb3IgYmFzZWQpXG4gKi9cbkBtaXhpbiBlcy1jcmVhdGUtaWNvbi1jb2xvci1tb2RpZmllcnMoXG4gICRpY29uLXN0YXRlcyxcbiAgJGRlZmF1bHQtc3RhdGU6ICdkZWZhdWx0J1xuKVxue1xuICBAZWFjaCAkaWNvbi1zdGF0ZS1rZXksICRpY29uLXN0YXRlLWNvbG9yLXNldHRpbmdzIGluICRpY29uLXN0YXRlc1xuICB7XG4gICAgJGljb24tMmQtY29sb3I6IG1hcC1nZXQoJGljb24tc3RhdGUtY29sb3Itc2V0dGluZ3MsICdpY29uLTJkJyk7XG4gICAgJGljb24tM2Qtc2V0dGluZ3M6IG1hcC1nZXQoJGljb24tc3RhdGUtY29sb3Itc2V0dGluZ3MsICdpY29uLTNkJyk7XG5cbiAgICAvLyBnZW5lcmF0b3IgaWNvbiBzZWxlY3RvciBjbGFzc1xuICAgICRpY29uLXNlbGVjdG9yLWNsYXNzOiBcIiYuLWVzLVwiICsgJGljb24tc3RhdGUta2V5O1xuXG4gICAgLy8ga2V5IGlzIHRoZSBkZWZhdWx0IHN0YXRlP1xuICAgIEBpZiAkaWNvbi1zdGF0ZS1rZXkgPT0gJGRlZmF1bHQtc3RhdGUge1xuICAgICAgLy8gYXBwZW5kIHNlbGVjdG9yIGZvciBsYXllcnNcbiAgICAgICRpY29uLXNlbGVjdG9yLWNsYXNzOiAkaWNvbi1zZWxlY3Rvci1jbGFzcyArIFwiLCAmLi1lcy1zaGFkb3dcIjtcblxuICAgICAgY29sb3I6ICRpY29uLTJkLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIG91dHB1dCBpY29uIHNlbGVjdG9yIGNsYXNzXG4gICAgI3skaWNvbi1zZWxlY3Rvci1jbGFzc31cbiAgICB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmIHNwYW46OmJlZm9yZXtcbiAgICAgICAgY29sb3I6ICRpY29uLTJkLWNvbG9yO1xuICAgICAgfVxuICAgICAgJi4tZXMtc2hhZG93IHNwYW46OmJlZm9yZXsgLy8gYmFzZVxuICAgICAgICBjb2xvcjogbnRoKCRpY29uLTNkLXNldHRpbmdzLCAxKTtcbiAgICAgIH1cbiAgICAgICYuLWVzLXNoYWRvdyBzcGFuICsgc3Bhbjo6YmVmb3JleyAvLyBzaGFkb3dcbiAgICAgICAgY29sb3I6IG50aCgkaWNvbi0zZC1zZXR0aW5ncywgMik7XG4gICAgICB9XG4gICAgICAmLi1lcy1zaGFkb3cgc3BhbiArIHNwYW4gKyBzcGFuOjpiZWZvcmV7IC8vIGljb24tM2RcbiAgICAgICAgY29sb3I6IG50aCgkaWNvbi0zZC1zZXR0aW5ncywgMyk7XG4gICAgICB9XG4gICAgICAvLyBtYWtlIGFsbCBzcGFucyB2aXNpYmxlXG4gICAgICAmIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgICAmLi1lcy1zaGFkb3cgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59IiwiLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy9cbi8vLyBtaXhpbnMsIGZ1bmN0aW9ucyBvciBwbGFjZWhvbGRlciBmb3Igd2lkZ2V0cy9jb250cm9sc1xuLy8vXG4vLy8gQGdyb3VwIG1vZHVsZXNcbi8vLyBAbW9kdWxlIHNhc3MvbW9kdWxlcy9jb21wb25lbnRzL2NvbnRyb2xzXG4vLy9cbi8vLyBAcmVxdWlyZSBtaXhpbiBlcy1jb2xvclxuLy8vIEByZXF1aXJlIG1peGluIGVzLXRvLXJlbVxuLy8vIEByZXF1aXJlIG1peGluIGVzLWdldC1pY29uXG4vLy8gQHJlcXVpcmUgbWl4aW4gZXMtY29udHJvbC1pY29uXG4vLy8gQHJlcXVpcmUgbWl4aW4gZXMtaWNvblxuLy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vL01peGlucyBmb3IgZGlzcGxheWluZyBpY29ucyBuZXh0IHRvIHRoZSBjb250cm9sJ3MgY29udGVudFxuQG1peGluIGVzLWNvbnRyb2wtaWNvbigkaWNvbiwgJHNpemU6ICRlcy1pY29ucy1mb250LXNpemUtYmFzZSl7XG4gIEBpbmNsdWRlIGVzLWljb24oZXJ0LWljb25zKTtcbiAgY29udGVudDogZXMtZ2V0LWljb24oJGljb24pO1xuICBmb250LXNpemU6IGVzLXRvLXJlbSgkc2l6ZSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5AbWl4aW4gZXMtY29udHJvbC1pY29uLWFmdGVyKCRpY29uLCAkaW5zZXQ6ICRlcy1zcGFjZS1pbnNldC1zcXVpc2gtZGVmYXVsdCwgJHNpemU6ICRlcy1pY29ucy1mb250LXNpemUtYmFzZSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGVzLWNvbnRyb2wtaWNvbigkaWNvbiwgJHNpemUpO1xuICAgIHBhZGRpbmc6IGVzLXRvLXJlbSgkaW5zZXQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbi8vIEBUT0RPOiAgIGR1ZSB0byBvcHRpY2FsIGFsaWdubWVudCBpc3N1ZXMgdG9wOjAgd2FzIHJlbW92ZWQgdGVtcG9yYXJpbHlcbi8vICAgICAgICAgIG5lZWRzIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbiBpZiBpY29uIGZvbnQgY3JlYXRpb24gcHJvZHVjZXMgaW5jb3JyZWN0IHJlc3VsdHNcbi8vICAgIHRvcDogMDtcbiAgICAvLyBoYXJtb25pemUgaWNvbnMgYW5kIHRleHQgdmVydGljYWxseVxuICAgIHRvcDogKGVzLXRvLXJlbSgxKSk7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBlcy1jb250cm9sLWljb24tYmVmb3JlKCRpY29uLCAkaW5zZXQ6ICRlcy1zcGFjZS1pbnNldC1zcXVpc2gtZGVmYXVsdCwgJHNpemU6ICRlcy1pY29ucy1mb250LXNpemUtYmFzZSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBlcy1jb250cm9sLWljb24oJGljb24sICRzaXplKTtcbiAgICBwYWRkaW5nOiBlcy10by1yZW0oJGluc2V0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICAvLyBAVE9ETzogICBkdWUgdG8gb3B0aWNhbCBhbGlnbm1lbnQgaXNzdWVzIHRvcDowIHdhcyByZW1vdmVkIHRlbXBvcmFyaWx5XG4gICAgLy8gICAgICAgICAgbmVlZHMgZnVydGhlciBpbnZlc3RpZ2F0aW9uIGlmIGljb24gZm9udCBjcmVhdGlvbiBwcm9kdWNlcyBpbmNvcnJlY3QgcmVzdWx0c1xuICAgIC8vICAgIHRvcDogMDtcbiAgICAvLyBoYXJtb25pemUgaWNvbnMgYW5kIHRleHQgdmVydGljYWxseVxuICAgIHRvcDogKGVzLXRvLXJlbSgxKSk7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG5cbiVlcy1jb250cm9sLWJhc2ljIHtcbiAgJGJvcmRlci1jb2xvcjogJGVzLWNvbnRyb2wtYm9yZGVyLWNvbG9yO1xuICAkY29sb3I6ICRlcy1jb250cm9sLWNvbG9yO1xuXG4gIGJhY2tncm91bmQ6ICRlcy1iYWNrZ3JvdW5kLWNvbG9yO1xuICBib3JkZXI6ICRlcy1jb250cm9sLWJvcmRlci13aWR0aCBzb2xpZCAjeyRib3JkZXItY29sb3J9O1xuICBjb2xvcjogI3skY29sb3J9O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4yNXM7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIEV4dGVuc2lvbnMgZm9yIGNvbnRyb2xzXG5cbiVlcy1jb250cm9sIHtcbiAgQGV4dGVuZCAlZXMtY29udHJvbC1iYXNpYztcbiAgQGV4dGVuZCAlZXMtY29udHJvbC1pb3MtY3NzLXJlc2V0O1xuICAvLyBJRSBzcGVjaWZpYyBzZXR0aW5nOiBcbiAgLy8gQ29udHJvbHMgbG9vayBvZGQgaW4gaGVpZ2h0IGluIElFLCB3aGVuIG5vdCBzZXRcbiAgaGVpZ2h0OiBlcy10by1yZW0oJGVzLWNvbnRyb2wtaGVpZ2h0KTsgXG4gICYuLWVzLWludmFsaWQge1xuICAgIEBleHRlbmQgJWVzLWNvbnRyb2wtaW52YWxpZDtcbiAgfVxuICAmLi1lcy1kaXNhYmxlZCB7XG4gICAgQGV4dGVuZCAlZXMtY29udHJvbC1kaXNhYmxlZDtcbiAgfVxuICAmOmRpc2FibGVkLFxuICAmOmRpc2FibGVkOmhvdmVyIHtcbiAgICBAZXh0ZW5kICVlcy1jb250cm9sLWRpc2FibGVkO1xuICB9XG4gICY6Zm9jdXMge1xuICAgIEBleHRlbmQgJWVzLWNvbnRyb2wtZm9jdXM7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgQGV4dGVuZCAlZXMtY29udHJvbC1ob3ZlcjtcbiAgfVxufVxuXG4lZXMtY29udHJvbC1pbnZhbGlkIHtcbiAgYm9yZGVyOiAkZXMtY29udHJvbC1ib3JkZXItd2lkdGggc29saWQgI3skZXMtY29udHJvbC1ib3JkZXItY29sb3ItaW52YWxpZH07XG59XG5cbiVlcy1jb250cm9sLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGVzLWNvbnRyb2wtZGlzYWJsZWQtY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGVzLWNvbnRyb2wtYm9yZGVyLWNvbG9yLWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAuOTtcbn1cblxuJWVzLWNvbnRyb2wtZm9jdXMge1xuICBib3JkZXItY29sb3I6ICRlcy1jb250cm9sLWJvcmRlci1jb2xvci1mb2N1cztcbiAgYm94LXNoYWRvdzogJGVzLWNvbnRyb2wtc2hhZG93LWZvY3VzO1xufVxuXG4lZXMtY29udHJvbC1ob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogJGVzLWNvbnRyb2wtYm9yZGVyLWNvbG9yLWhvdmVyO1xufVxuXG4lZXMtY2FyZXQge1xuICBAaW5jbHVkZSBlcy1jb250cm9sLWljb24tYWZ0ZXIoY2hldnJvbi1kb3duKTtcbn1cblxuLy8gUmVxdWlyZWQgXCIqXCIgZmllbGQgaW5kaWNhdG9yXG4lZXMtY29udHJvbC1yZXF1aXJlZC1zaWduIHtcbiAgY29sb3I6ICRlcy1jb250cm9sLXJlcXVpcmVkLWNvbG9yO1xuICBjb250ZW50OiBcIipcIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1sZWZ0OiBlcy10by1yZW0oJGVzLXNwYWNlLXNtYWxsKTtcbn1cblxuXG4iLCIvLyBSZW1vdmVkIGZvciBub3csIGJlY2F1c2UgY29uZmlndXJhdGlvbiBpcyBhbHNvIGluIHRoZSB3ZWJmb250cyBzYXNzIGZpbGVcblxuLypAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2VydC1pY29ucyc7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9lcnQtaWNvbnMvZXJ0LWljb25zLmVvdFwiKTtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2VydC1pY29ucy9lcnQtaWNvbnMuPyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZXJ0LWljb25zL2VydC1pY29ucy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2VydC1pY29ucy9lcnQtaWNvbnMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9lcnQtaWNvbnMvZXJ0LWljb25zLnN2ZyNlcnQtaWNvbnNcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuKi9cblxuJGVzLWljb25zLTJkOiAoXG4gICAgYWRkcmVzczogJ1xcRTAwQScsXG5cdGFnZW5kYTogJ1xcRTAxMCcsXG5cdGFsZXJ0LWRhbmdlcjogJ1xcRTAxQScsXG5cdGFsZXJ0LWluZm86ICdcXEUwMjAnLFxuXHRhbGVydC1zdWNjZXNzOiAnXFxFMDJBJyxcblx0YWxlcnQtd2FybmluZzogJ1xcRTAzMCcsXG5cdGFsbC1wb3NzaWJsZS1hbnN3ZXJzOiAnXFxFMDNBJyxcblx0YW5kcm9pZC1hZGQtY2lyY2xlOiAnXFxFMDQwJyxcblx0YW5kcm9pZC1hcnJvdy1kcm9wZG93bjogJ1xcRTA0QScsXG5cdGFwcGxpY2F0aW9uLW1vZGU6ICdcXEUwNTAnLFxuXHRhcmVhLWNoYXJ0OiAnXFxFMDVBJyxcblx0YmFyLWNoYXJ0LXNtYWxsOiAnXFxFMDYwJyxcblx0YmFyLWNoYXJ0OiAnXFxFMDZBJyxcblx0YmFyczogJ1xcRTA3MCcsXG5cdGJhc2U6ICdcXEUwN0EnLFxuXHRiZWxsLWNpcmNsZTogJ1xcRTA4MCcsXG5cdGJlbGw6ICdcXEUwOEEnLFxuXHRicmVhZGNydW1iLWNvdW50cnk6ICdcXEUwOTAnLFxuXHRicmVhZGNydW1iLWV2ZW50OiAnXFxFMDlBJyxcblx0YnJlYWRjcnVtYi1sb2NhdGlvbjogJ1xcRTBBMCcsXG5cdGJyZWFkY3J1bWItc3R1ZHk6ICdcXEUwQUEnLFxuXHRicmVhZGNydW1iLXRlc3QtcmVzdWx0OiAnXFxFMEIwJyxcblx0YnJlYWRjcnVtYi11c2VyOiAnXFxFMEJBJyxcblx0YnJlYWRjcnVtYi12aXNpdDogJ1xcRTBDMCcsXG5cdGNhbGVuZGFyLWNoZWNrOiAnXFxFMENBJyxcblx0Y2FsZW5kYXItZml2ZS1tb250aHM6ICdcXEUwRDAnLFxuXHRjYWxlbmRhci1tdWx0aXBsZS1tb250aHM6ICdcXEUwREEnLFxuXHRjYWxlbmRhci1ub3JtYWw6ICdcXEUwREInLFxuXHRjYWxlbmRhci1ub3JtYWwtb3ZlcmR1ZTogJ1xcRTBFMCcsXG5cdGNhbGVuZGFyLW9uZS1tb250aDogJ1xcRTBFQScsXG5cdGNhbGVuZGFyLXJhbmRvbWl6YXRpb24tb3ZlcmR1ZTogJ1xcRTBGMCcsXG5cdGNhbGVuZGFyLXJhbmRvbWl6YXRpb246ICdcXEUwRkEnLFxuXHRjYWxlbmRhci10ZXJtaW5hdGlvbjogJ1xcRTEwMCcsXG5cdGNhbGVuZGFyLXRocmVlLW1vbnRoczogJ1xcRTEwQScsXG5cdGNhbGVuZGFyLXVuc2NoZWR1bGVkOiAnXFxFMTEwJyxcblx0Y2FsZW5kYXI6ICdcXEUxMUEnLFxuXHRjaGV2cm9uLWRvd246ICdcXEUxMjAnLFxuXHRjaGV2cm9uLWxlZnQ6ICdcXEUxMkEnLFxuXHRjaGV2cm9uLXJpZ2h0OiAnXFxFMTMwJyxcblx0dG8tbGVmdDogJ1xcRTEzNScsXG5cdHRvLXJpZ2h0OiAnXFxFMTM2Jyxcblx0Y2hldnJvbi11cDogJ1xcRTEzQScsXG5cdGNpcmNsZS1vbmU6ICdcXEUxNDAnLFxuXHRjaXJjbGU6ICdcXEUxNEEnLFxuXHRjbGllbnQtdWF0OiAnXFxFMTUwJyxcblx0Y2xpbmljYWwtZGF0YTogJ1xcRTE1QScsXG5cdGNsb3NlOiAnXFxFMTYwJyxcblx0Y29sbGFwc2U6ICdcXEUxNkEnLFxuXHRjb21wbGV0ZTogJ1xcRTE3MCcsXG5cdGNvbnRlbnQtY2FsZW5kYXI6ICdcXEUxN0EnLFxuXHRjb250ZW50LXRpbWU6ICdcXEUxODAnLFxuXHRjb250ZW50LXdhcm5pbmc6ICdcXEUxOEEnLFxuXHRkYXNoYm9hcmQ6ICdcXEUxOTAnLFxuXHRkYXRhLWV4cG9ydDogJ1xcRTE5QScsXG5cdGRhdGEtbWFuYWdlbWVudDogJ1xcRTFBMCcsXG5cdGRvd25sb2FkOiAnXFxFMUFBJyxcblx0ZW1haWw6ICdcXEUxQjAnLFxuXHRyZXBseTogJ1xcRTFCMScsXG5cdGV4cGFuZDogJ1xcRTFCQScsXG5cdGV4cG9ydDogJ1xcRTFDMCcsXG5cdGZheDogJ1xcRTFDQScsXG5cdHFyY29kZTogJ1xcRTFDQicsXG5cdGZ1bmN0aW9uLWFwcHJvdmUtb3ItcmVqZWN0LXJlbW92YWw6ICdcXEUxRDAnLFxuXHRmdW5jdGlvbi1hcHByb3ZlLXJlbW92YWw6ICdcXEUxREEnLFxuXHRmdW5jdGlvbi1kZWxldGU6ICdcXEUxRTAnLFxuXHRmdW5jdGlvbi1lZGl0OiAnXFxFMUVBJyxcblx0ZnVuY3Rpb24tcmVqZWN0LXJlbW92YWw6ICdcXEUxRjAnLFxuXHRmdW5jdGlvbi1zY29yaW5nLXJlc3VsdHM6ICdcXEUxRkEnLFxuXHRnbG9iZTogJ1xcRTIwMCcsXG5cdGdyYXBoOiAnXFxFMjBBJyxcblx0Z3JpZDogJ1xcRTIxMCcsXG5cdGdyb3VwLXZpZXc6ICdcXEUyMUEnLFxuXHRoZWxwOiAnXFxFMjIwJyxcblx0aG9tZTogJ1xcRTIyQScsXG5cdGluY29tcGxldGU6ICdcXEUyMzAnLFxuXHRpbmZvLWNpcmNsZTogJ1xcRTIzQScsXG5cdGluZm86ICdcXEUyNDAnLFxuXHRsYW5kbGluZS1waG9uZTogJ1xcRTI0QScsXG5cdGxpbmUtY2hhcnQ6ICdcXEUyNTAnLFxuXHRsaW5lLWdyYXBoLWRvdHRlZDogJ1xcRTI1QScsXG5cdGxpbmUtZ3JhcGg6ICdcXEUyNjAnLFxuXHRsaW5rLWJyb2tlbjogJ1xcRTI2QScsXG5cdGxpbms6ICdcXEUyNzAnLFxuXHRtYWduaWZpZXI6ICdcXEUyN0EnLFxuXHRtaXNzZWQ6ICdcXEUyODAnLFxuXHRtb2JpbGUtcGhvbmU6ICdcXEUyOEEnLFxuXHRtb3JlOiAnXFxFMjkwJyxcblx0ZWxsaXBzaXM6ICdcXEUyOTEnLFxuXHRuZXctc2l0ZS1xdWFsaWZpY2F0aW9uOiAnXFxFMjlBJyxcblx0bmV4dDogJ1xcRTJBMCcsXG5cdG5vLWRhdGEtc2hhZG93OiAnXFxFMkFBJyxcblx0bm90aWZpY2F0aW9uLWNoZWNrOiAnXFxFMkIwJyxcblx0bm90aWZpY2F0aW9uLWZhaWx1cmU6ICdcXEUyQkEnLFxuXHRub3RpZmljYXRpb24taW5mb3JtYXRpb246ICdcXEUyQzAnLFxuXHRub3RpZmljYXRpb24td2FybmluZzogJ1xcRTJDQScsXG5cdG9uZS1hbnN3ZXJzOiAnXFxFMkQwJyxcblx0b3B0aW9uczogJ1xcRTJEQScsXG5cdHBhcGVyY2xpcDogJ1xcRTJFMCcsXG5cdHBpbjogJ1xcRTJFQScsXG5cdHBvcnRhbC1hZG1pbmlzdHJhdGlvbjogJ1xcRTJGMCcsXG5cdHByZXZpb3VzOiAnXFxFMkZBJyxcblx0cHJpbnQ6ICdcXEUzMDAnLFxuXHRmaWxlLWNvZGU6ICdcXEUzMDEnLFxuXHRmaWxlLWV4Y2VsOiAnXFxFMzAyJyxcblx0ZmlsZS1pbWFnZTogJ1xcRTMwMycsXG5cdGZpbGUtcGRmOiAnXFxFMzA0Jyxcblx0ZmlsZS1wb3dlcnBvaW50OiAnXFxFMzA1Jyxcblx0ZmlsZS10ZXh0OiAnXFxFMzA2Jyxcblx0ZmlsZS13b3JkOiAnXFxFMzA3Jyxcblx0ZmlsZS1hbHQ6ICdcXEUzMDgnLFxuXHRjcmVhdGUtdHJhbnM6ICdcXEUzMDknLFxuXHRwcm9maWNpZW5jeS1tb2RlOiAnXFxFMzBBJyxcblx0cXVlc3Rpb25tYXJrOiAnXFxFMzFBJyxcblx0cmVmZXJlbmNlLW1hdGVyaWFsOiAnXFxFMzIwJyxcblx0cmVwb3J0czogJ1xcRTMyQScsXG5cdHJlcG9ydC1jb25maXJtOiAnXFxFMzJCJyxcblx0cm93LWNoZWNrbWFyazogJ1xcRTMzMCcsXG5cdHJvdy1jbG9zZTogJ1xcRTMzQScsXG5cdHJvdy10cmlhbmdsZTogJ1xcRTM0MCcsXG5cdHNhbXBsZS1tb2RlOiAnXFxFMzRBJyxcblx0c2l0ZS1xdWFsaWZpY2F0aW9uLWZvcm06ICdcXEUzNTAnLFxuXHRzcGlyb21ldHJ5LWFtb3VudC1jaGVja21hcms6ICdcXEUzNUEnLFxuXHRzcGlyb21ldHJ5LWFtb3VudC1kYXNoZWRsaW5lOiAnXFxFMzYwJyxcblx0c3Bpcm9tZXRyeS1maXJzdC1iZXN0cmVzdWx0OiAnXFxFMzZBJyxcblx0c3Bpcm9tZXRyeS1ydW5uaW5nLXNpbXBsZTogJ1xcRTM3MCcsXG5cdHNwaXJvbWV0cnktcnVubmluZzogJ1xcRTM3QScsXG5cdHNwaXJvbWV0cnktc2Vjb25kLWJlc3RyZXN1bHQ6ICdcXEUzODAnLFxuXHRzcGlyb21ldHJ5LXZhbHVlOiAnXFxFMzhBJyxcblx0c3Bpcm9tZXRyeS12aWV3LW1vZGU6ICdcXEUzOTAnLFxuXHRzdHVkeS1uYW1lOiAnXFxFMzlBJyxcblx0c3VwcGx5LWJveDogJ1xcRTNBMCcsXG5cdHN1cHBseS1vcmRlcmluZzogJ1xcRTNBQScsXG5cdHRpbGUtdmlldzogJ1xcRTNCMCcsXG5cdHRyYWluaW5nLWNlcnRpZmljYXRlczogJ1xcRTNCQScsXG5cdHRyYWluaW5nLW1vZGU6ICdcXEUzQzAnLFxuXHR1c2VyLW1hbmFnZW1lbnQtc3R1ZHktcGVybWlzc2lvbjogJ1xcRTNDQScsXG5cdHVzZXItbmFtZTogJ1xcRTNEMCcsXG5cdHdvcmxkOiAnXFxFM0RBJyxcblx0cmVtb3RlLXZpZXdlcjogJ1xcRTNFMCcsXG5cdGNhcmV0LWRvd246ICdcXEUzRjAnLFxuXHRjYXJldC11cDogJ1xcRTQwMCcsXG5cdHNvcnRpbmc6ICdcXEU0MEEnLFxuXHRzb3J0aW5nLWFzY2VuZGluZzogJ1xcRTQwQicsXG5cdHNvcnRpbmctZGVzY2VuZGluZzogJ1xcRTQwQycsXG5cdHNlYXJjaDogJ1xcRTQxMCcsXG5cdHpvb20taW46ICdcXEU0MjAnLFxuXHR6b29tLW91dDogJ1xcRTQzMCcsXG5cdHpvb20tcmVzZXQ6ICdcXEU0NDAnLFxuXHRyZWZyZXNoOiAnXFxFNDQxJyxcblx0cmVkbzogJ1xcRTQ0MicsXG5cdHVuZG86ICdcXEU0NDMnLFxuXHR1bmxvY2s6ICdcXEU0NDQnLFxuXHR0b2dnbGUtb2ZmOiAnXFxFNDQ1Jyxcblx0dG9nZ2xlLW9uOiAnXFxFNDQ2Jyxcblx0YW5ub3VuY2VtZW50czogJ1xcRTQ1MCcsXG5cdGFubm91bmNlbWVudHMtYWN0aXZlOiAnXFxFNDUxJyxcblx0Y2xvdWQtYW5hbHl0aWNzOiAnXFxFNDYwJyxcblx0Y29kZTogJ1xcRTQ3MCcsXG5cdGNvbXBsZXRlLXZpc2l0OiAnXFxFNDcxJyxcblx0ZXhwZWN0ZWQtdmlzaXQ6ICdcXEU0NzInLFxuXHRtaXNzZWQtdmlzaXQ6ICdcXEU0NzMnLFxuXHRwYXJ0aWFsLXZpc2l0OiAnXFxFNDc0Jyxcblx0bm90LWF2YWlsYWJsZTogJ1xcRTQ3NScsXG5cdGV4dGVybmFsLWxpbms6ICdcXEU0ODAnLFxuXHRwaWxsOiAnXFxFNDgxJyxcblx0b3JnYW5pemF0aW9uOiAnXFxFNDgyJyxcblx0aW1hZ2luZzogJ1xcRTQ4MycsXG5cdGNhcmRpYWM6ICdcXEU0ODQnLFxuXHRlY29hOiAnXFxFNDg1Jyxcblx0cmVzcGlyYXRvcnk6ICdcXEU0ODYnLFxuXHRicC1vdmVycmVhZDogJ1xcRTQ4NycsXG5cdGV0bTogJ1xcRTQ4OCcsXG5cdGVweDogJ1xcRTQ5MCcsXG5cdGFkbWluOiAnXFxFNDkxJyxcblx0ZGF0YS1jbGVhbmluZzogJ1xcRTQ5MicsXG5cdGVydC1nbG9iYWwtYWNjb3VudDogJ1xcRTQ5MycsXG5cdGVydC1sZWFybjogJ1xcRTQ5NCcsXG5cdGV4cGVydDogJ1xcRTQ5NScsXG5cdHZhY2F0aW9uLW1vZGU6ICdcXEU0OTYnLFxuXHRwYXRpZW50LXByb2ZpbGU6ICdcXEU0OTcnLFxuXHRzcGlyby1zdXBwb3J0OiAnXFxFNDk4Jyxcblx0Z2F0aGVyOiAnXFxFNDk5Jyxcblx0cGxhY2Vob2xkZXItYXBwOiAnXFxFNTAwJyxcblx0XG4pXG5cbiIsIi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8vXG4vLy8gdHlwb2dyYXBoeSB2YXJpYWJsZXNcbi8vL1xuLy8vIEBncm91cCBjb25maWd1cmF0aW9uXG4vLy8gQG1vZHVsZSBzYXNzL2NvbmZpZ3VyYXRpb24vZm91bmRhdGlvbi90eXBvZ3JhcGh5XG4vLy9cbi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZXMtZm9udC1wcmltYXJ5OiAnTm90byBTYW5zJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRlcy1mb250LXNlY29uZGFyeTogJ0JsZW5kZXIgUHJvJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGVzLWZvbnQtaGVhZGluZ3M6ICRlcy1mb250LXNlY29uZGFyeTtcbiRlcy1mb250LWRhdGE6ICRlcy1mb250LXByaW1hcnk7XG5cbi8vL0B0eXBlIHB4XG4kZXMtZm9udC1zaXplLWRlZmF1bHQ6IDEzcHggIWRlZmF1bHQ7XG4vLy9AdHlwZSBweFxuJGVzLWxpbmUtaGVpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuXG4vLy9AdHlwZSBweFxuJGVzLXNtYWxsLWZvbnQtc2l6ZTogMTFweCAhZGVmYXVsdDtcbi8vL0B0eXBlIHB4XG4kZXMtc21hbGwtbGluZS1oZWlnaHQ6IDE2cHggIWRlZmF1bHQ7XG5cbi8vL2hlYWRpbmdzIGgxL2gyL2gzL2g0XG4kZXMtZm9udC13ZWlnaHQtaGVhZGluZ3M6IDUwMDtcbi8vL0B0eXBlIHB4XG4kZXMtaDEtZm9udC1zaXplOiAzMHB4O1xuLy8vQHR5cGUgcHhcbiRlcy1oMS1saW5lLWhlaWdodDogJGVzLWgxLWZvbnQtc2l6ZSAqIDEuMTU7XG4vLy9AdHlwZSBweFxuJGVzLWgyLWZvbnQtc2l6ZTogMjZweDtcbi8vL0B0eXBlIHB4XG4kZXMtaDItbGluZS1oZWlnaHQ6ICRlcy1oMi1mb250LXNpemUgKiAxLjI1O1xuLy8vQHR5cGUgcHhcbiRlcy1oMy1mb250LXNpemU6IDIwcHg7XG4vLy9AdHlwZSBweFxuJGVzLWgzLWxpbmUtaGVpZ2h0OiAkZXMtaDMtZm9udC1zaXplICogMS4zNTtcbi8vL0B0eXBlIHB4XG4kZXMtaDQtZm9udC1zaXplOiAxOHB4O1xuLy8vQHR5cGUgcHhcbiRlcy1oNC1saW5lLWhlaWdodDogJGVzLWg0LWZvbnQtc2l6ZSAqIDEuMjU7Il19 */
