/* ===================================================================================
 *
 * @project        midcoast_platform
 * @author         Caleb Zahnd <caleb@midcoast.io>
 * @build          Mon, May 5, 2025 3:09 AM CST
 * @release        880542b93499d1ed8674c4a7cb4a96857829a23a [Detached: 880542b93499d1ed8674c4a7cb4a96857829a23a]
 * @copyright      Copyright (c) 2025, Midcoast Collective
 *
 *  Do not edit this file! This file is machine-generated and constantly overwritten.
 *  Any changes you make will be overwritten the next time the /src is compiled.
 *  Edit the /src files to make edits and updates.
 *
 * =================================================================================== */




@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");









.span-1 {
  width: 8.3333333333%;
}

.span-2 {
  width: 16.6666666667%;
}

.span-3 {
  width: 25%;
}

.span-4 {
  width: 33.3333333333%;
}

.span-5 {
  width: 41.6666666667%;
}

.span-6 {
  width: 50%;
}

.span-7 {
  width: 58.3333333333%;
}

.span-8 {
  width: 66.6666666667%;
}

.span-9 {
  width: 75%;
}

.span-10 {
  width: 83.3333333333%;
}

.span-11 {
  width: 91.6666666667%;
}

.span-12 {
  width: 100%;
}



.bottomline {
  position: relative;
  padding-bottom: 20px;
}
.bottomline::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 45px;
  height: 3px;
  background-color: #0077FF;
}




@font-face {
  font-family: "iconfont";
  src: url("../../assets/media/fonts/iconfont/iconfont.eot?t2q987");
  src: url("../../assets/media/fonts/iconfont/iconfont.eot?t2q987#iefix") format("eot"), url("../../assets/media/fonts/iconfont/iconfont.woff2?t2q987") format("woff2"), url("../../assets/media/fonts/iconfont/iconfont.woff?t2q987") format("woff"), url("../../assets/media/fonts/iconfont/iconfont.ttf?t2q987") format("truetype"), url("../../assets/media/fonts/iconfont/iconfont.svg?t2q987#iconfont") format("svg");
  font-weight: normal;
  font-style: normal;
}
.icon-account::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea01";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-down-long::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea02";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-down::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea03";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-left-long::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea04";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-left::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea05";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-right-long::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea06";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-right::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea07";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-up-long::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea08";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-up-right::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea09";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-up::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0a";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-bell::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0b";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-browser::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0c";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-calendar::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0d";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-down::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0e";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-left::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0f";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-right::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea10";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-up::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea11";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chat::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea12";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-check::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea13";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-checkbox-empty::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea14";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-checkbox::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea15";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-down::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea16";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-left::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea17";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-right::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea18";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-up::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea19";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-circle::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1a";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-clock::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1b";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-close-white::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1c";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-close::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1d";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-compose::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1e";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-document::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1f";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-download::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea20";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-email-alt::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea21";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-email::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea22";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-facebook::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea23";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-focus::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea24";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-home::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea25";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-info-alert::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea26";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-info::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea27";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-instagram::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea28";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-learn-alert::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea29";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-lightbulb::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2a";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-linkedin::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2b";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-loan::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2c";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-location::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2d";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-lock::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2e";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-marksmedia::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2f";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-midcoast::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea30";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-minus::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea31";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-person::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea32";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-phone::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea33";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-pinterest::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea34";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-play-circle::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea35";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-play::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea36";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-plus::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea37";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-quote::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea38";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-reset::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea39";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-scroll-down::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3a";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-search::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3b";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-snapchat::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3c";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-star-half::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3d";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-star::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3e";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-three-dots::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3f";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-tiktok::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea40";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-twitter::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea41";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-video::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea42";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-vimeo::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea43";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-website::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea44";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-yelp::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea45";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-youtube::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea46";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bl-gravity-form {
  padding-bottom: 60px;
}
.bl-gravity-form .container {
  justify-content: center;
  width: 100%;
}
.bl-gravity-form__form {
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 60px;
}
@media (min-width: 768px) {
  .bl-gravity-form__form {
    width: 83.3333333333%;
  }
}
@media (min-width: 992px) {
  .bl-gravity-form__form {
    width: 66.6666666667%;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvcm0vc3JjL3Njc3MvYmwtZ3Jhdml0eS1mb3JtLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9ibG9ja3MvX2ltcG9ydC1kZXBlbmRlbmNpZXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9mdW5jdGlvbnMvX2luaXQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL2dyaWQvX2Jsb2NrLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9ncmlkL19jb250YWluZXItYnJlYWtvdXQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL2dyaWQvX2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fcHVsbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fcHVzaC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fc3Bhbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fYmxvY2stZWRpdG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fYm90dG9tbGluZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX2JyaWNrLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fc2hhZGUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL196LWluZGV4LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9wYXJ0aWFscy9faWNvbmZvbnQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL19pY29uZm9udC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX2JyZWFrcG9pbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUNBO0FBQUE7QUF5RFE7QUMxRFI7QUFDQTtBQUFBO0FDREE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTBCQTtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUFFRDtFQUNDOzs7QUM1REQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ2dCQTtFQWZJO0VBQ0g7O0FBRUc7RUFDRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JBSXNCOzs7QUNqQnhCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7O0FBOEVKO0VDakZDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMEVrQztFQ3pFbEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR1RUQ7RUNwRkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q2RTBDO0VDNUUxQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDBFRDtFQ3ZGQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGdGcUM7RUMvRXJDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENkVEO0VDMUZDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEbUYwQztFQ2xGMUMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURnRkQ7RUM3RkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RzRnFDO0VDckZyQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG1GRDtFQ2hHQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHlGMkM7RUN4RjNDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEc0ZEO0VDbkdDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENEZzQztFQzNGdEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR5RkQ7RUN0R0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QrRndDO0VDOUZ4QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDRGRDtFQ3pHQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGtHeUM7RUNqR3pDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEK0ZEO0VDNUdDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEcUdtQztFQ3BHbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURrR0Q7RUMvR0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R3RytCO0VDdkcvQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHFHRDtFQ2xIQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDJHa0M7RUMxR2xDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEd0dEO0VDckhDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEOEdtQztFQzdHbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQyR0Q7RUN4SEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RpSHFDO0VDaEhyQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDhHRDtFQzNIQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG9IcUM7RUNuSHJDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEaUhEO0VDOUhDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEdUhzQztFQ3RIdEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURvSEQ7RUNqSUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QwSG1DO0VDekhuQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHVIRDtFQ3BJQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDZIK0I7RUM1SC9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMEhEO0VDdklDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEZ0lnQztFQy9IaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ2SEQ7RUMxSUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RtSXlDO0VDbEl6QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGdJRDtFQzdJQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHNJbUM7RUNySW5DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEbUlEO0VDaEpDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEeUl1QztFQ3hJdkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURzSUQ7RUNuSkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q0SXVDO0VDM0l2QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHlJRDtFQ3RKQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRCtJd0M7RUM5SXhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENElEO0VDekpDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEa0pxQztFQ2pKckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQrSUQ7RUM1SkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RxSmlDO0VDcEpqQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGtKRDtFQy9KQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHdKZ0M7RUN2SmhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEcUpEO0VDbEtDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMkpzQztFQzFKdEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR3SkQ7RUNyS0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q4SmdDO0VDN0poQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDJKRDtFQ3hLQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGlLa0M7RUNoS2xDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEOEpEO0VDM0tDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEb0ttQztFQ25LbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURpS0Q7RUM5S0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R1S21DO0VDdEtuQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG9LRDtFQ2pMQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDBLb0M7RUN6S3BDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEdUtEO0VDcExDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENktnQztFQzVLaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQwS0Q7RUN2TEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RnTG1DO0VDL0tuQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDZLRDtFQzFMQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG1MZ0M7RUNsTGhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEZ0xEO0VDN0xDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEc0wrQjtFQ3JML0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURtTEQ7RUNoTUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R5THFDO0VDeExyQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHNMRDtFQ25NQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDRMK0I7RUMzTC9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEeUxEO0VDdE1DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEK0xvQztFQzlMcEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ0TEQ7RUN6TUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RrTXNDO0VDak10QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRCtMRDtFQzVNQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHFNb0M7RUNwTXBDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEa01EO0VDL01DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEd01tQztFQ3ZNbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURxTUQ7RUNsTkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QyTStCO0VDMU0vQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHdNRDtFQ3JOQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDhNbUM7RUM3TW5DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMk1EO0VDeE5DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEaU4rQjtFQ2hOL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ4TUQ7RUMzTkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RvTnFDO0VDbk5yQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGlORDtFQzlOQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHVObUM7RUN0Tm5DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEb05EO0VDak9DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEME5nQztFQ3pOaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR1TkQ7RUNwT0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q2TmlDO0VDNU5qQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDBORDtFQ3ZPQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGdPZ0M7RUMvTmhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENk5EO0VDMU9DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEbU9vQztFQ2xPcEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURnT0Q7RUM3T0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RzT3NDO0VDck90QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG1PRDtFQ2hQQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHlPK0I7RUN4Ty9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEc09EO0VDblBDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENE8rQjtFQzNPL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR5T0Q7RUN0UEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QrT2dDO0VDOU9oQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDRPRDtFQ3pQQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGtQZ0M7RUNqUGhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEK09EO0VDNVBDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEcVBzQztFQ3BQdEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURrUEQ7RUMvUEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R3UGlDO0VDdlBqQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHFQRDtFQ2xRQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDJQbUM7RUMxUG5DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEd1BEO0VDclFDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEOFBvQztFQzdQcEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQyUEQ7RUN4UUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RpUStCO0VDaFEvQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDhQRDtFQzNRQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG9RcUM7RUNuUXJDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEaVFEO0VDOVFDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEdVFpQztFQ3RRakMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURvUUQ7RUNqUkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QwUWtDO0VDelFsQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHVRRDtFQ3BSQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDZRZ0M7RUM1UWhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMFFEO0VDdlJDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEZ1JnQztFQy9RaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ2UUQ7RUMxUkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RtUmtDO0VDbFJsQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGdSRDtFQzdSQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHNSK0I7RUNyUi9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEbVJEO0VDaFNDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEeVJrQztFQ3hSbEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QWxCTEQ7RUFDQzs7QUFFQTtFQUNDO0VBQ0E7O0FBR0Q7RVVMQTtFSElBO0VBQ0E7RVBFQzs7QW1CQ0M7RW5CSEY7SUFLRTs7O0FtQkZBO0VuQkhGO0lBU0UiLCJmaWxlIjoiZm9ybS9zcmMvc2Nzcy9ibC1ncmF2aXR5LWZvcm0uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCbG9jazogQ29udGFjdCBGb3JtXG4gKlxuICogQ3VzdG9tIHN0eWxlcyBmb3IgdGhlIENvbnRhY3QgRm9ybSBCbG9ja1xuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cblxuLy8gSW1wb3J0IG5lY2Vzc2FyeSBkZXBlbmRlbmNpZXNcbkBpbXBvcnQgJ19pbXBvcnQtZGVwZW5kZW5jaWVzLnNjc3MnO1xuXG5cbi5ibC1ncmF2aXR5LWZvcm0ge1xuXHRwYWRkaW5nLWJvdHRvbTogNjBweDtcblxuXHQuY29udGFpbmVyIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdCZfX2Zvcm0ge1xuXHRcdEBpbmNsdWRlIHNwYW4oMTIpO1xuXHRcdHBhZGRpbmctdG9wOiA2MHB4O1xuXHRcdFxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcblx0XHRcdHdpZHRoOiBzcGFuKDEwKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG5cdFx0XHR3aWR0aDogc3Bhbig4KTtcblx0XHR9XG5cdH1cbn0iLCIvKipcbiAqIE5lY2Vzc2FyeSBkZXBlbmRlbmNpZXMgZm9yIHRoZSBCbG9jayBzY3NzIHN0eWxlc2hlZXRzLiBUaGlzIGZpbGUgaXMgaW1wb3J0ZWQgaW50byBlYWNoIG9mIHRoZSBidWlsZHMgZm9yIEJsb2NrIHNjc3MuXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgTWlkY29hc3QgUGxhdGZvcm1cbiAqIEBzaW5jZSAxLjBcbiAqL1xuXG4vLyBcbkBpbXBvcnQgJ2NvcmUvX3ZhcmlhYmxlcyc7XG5cbkBpbXBvcnQgJ2NvcmUvZnVuY3Rpb25zL19pbml0JztcblxuQGltcG9ydCAnY29yZS9taXhpbnMvZ3JpZC9fYmxvY2snO1xuQGltcG9ydCAnY29yZS9taXhpbnMvZ3JpZC9fY29udGFpbmVyLWJyZWFrb3V0JztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX2NvbnRhaW5lcic7XG5AaW1wb3J0ICdjb3JlL21peGlucy9ncmlkL19ndXR0ZXJzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX3B1bGwnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvZ3JpZC9fcHVzaCc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9ncmlkL19zcGFuJztcblxuQGltcG9ydCAnY29yZS9taXhpbnMvX2NvbG9yLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2Jsb2NrLWVkaXRvci5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19ib3R0b21saW5lLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2JyZWFrcG9pbnQuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fYnJpY2suc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fYnJvd3Nlci5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19idXR0b25zLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2NvdmVyZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fZmx1aWQtdHlwZS5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19pY29uZm9udC5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19tYXAtZ2V0LW5leHQuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fb3BhY2l0eS5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL190cmFuc2l0aW9ucy5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL193b3Jkd3JhcC5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19jZW50ZXJlci5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19lbGxpcHNpcy5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19mb250LXNpemUuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9faG92ZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fbWFwLWRlZXAtZ2V0LnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX29iamVjdC1maXQuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fc2hhZGUuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fdmlzdWFsbHloaWRkZW4uc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fei1pbmRleC5zY3NzJztcblxuLy9AaW1wb3J0ICdjb3JlL3R5cG9ncmFwaHkvX2ZvbnRzJztcbkBpbXBvcnQgJ2NvcmUvdHlwb2dyYXBoeS9fdHlwb2dyYXBoeS1taXhpbnMuc2Nzcyc7XG5cbkBpbXBvcnQgJ3BhcnRpYWxzL2ljb25mb250JzsiLCIvKi0tLS0tLS0tLS0tKi9cbi8qIFZhcmlhYmxlc1xuLyotLS0tLS0tLS0tLSovXG5cbi8vIEdsb2JhbCBHcmlkLCB2YXJpYWJsZXNcbiRnbG9iYWwtY29uZmlnOlx0KFxuXHR0aGVtZS1uYW1lOlx0XHQnbWlkY29hc3QtcGxhdGZvcm0nLFxuXHRibG9jay0td2lkdGg6XHQxMDB2dyxcblx0d2lkdGg6XHRcdFx0MTYwMHB4LFxuXHRtYXgtd2lkdGg6XHRcdDE0NDBweCxcblx0Y29sdW1uczpcdFx0MTIsXG5cdGd1dHRlcnM6XHRcdDE1cHgsXG4pO1xuXG4kbG9nby1oZWlnaHQ6IChcblx0eHM6ICA0MHB4LFxuXHRzbTogIDY1cHgsXG5cdG1kOiAgNjVweCxcblx0bGc6ICA2NXB4LFxuXHR4bDogIDY1cHgsXG5cdHhsMjogNjVweCxcblx0eGwzOiA2NXB4LFxuKTtcblxuJG5hdi13aWR0aDogKFxuXHR4czogIDkwdncsXG5cdHNtOiAgOTB2dyxcblx0bWQ6ICA3MHZ3LFxuXHRsZzogIDM1dncsXG5cdHhsOiAgMzV2dyxcblx0eGwyOiAzNXZ3LFxuXHR4bDM6IDM1dncsXG4pO1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuXHR4czogIDAsXG5cdHNtOiAgNTQ0cHgsXG5cdG1kOiAgNzY4cHgsXG5cdGxnOiAgOTkycHgsXG5cdHhsOiAgMTIwMHB4LFxuXHR4bDI6IDE0NDBweCxcblx0eGwzOiAxNjAwcHgsXG4pO1xuXG4vLyBDb2xvcnNcbiRjb2xvcnM6IChcblx0cmVkOlx0XHRcdFx0I2MyMzcyNSxcblx0YmxhY2s6XHRcdFx0XHQjMjMyMzI1LFxuXHR3aGl0ZTpcdFx0XHRcdCNGRkZGRkYsXG5cdGJsdWUtZGFyazpcdFx0XHQjMDYxNzJBLFxuXHRibHVlOlx0XHRcdFx0IzAwNzdGRixcblx0Ymx1ZS1taWQ6XHRcdFx0IzAwNzdGRixcblx0Ymx1ZS11bHRyYWxpZ2h0Olx0I0YzRjlGRixcblx0b2ZmLXdoaXRlOlx0XHRcdCNmNGY0ZjQsXG5cdHRyYW5zcGFyZW50Olx0XHR0cmFuc3BhcmVudCxcbik7XG5cbi8vIFR5cG9ncmFwaGljIEltcG9ydHMgYW5kIFZhcmlhYmxlc1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9QmViYXMrTmV1ZSZmYW1pbHk9UG9wcGluczppdGFsLHdnaHRAMCwxMDA7MCwyMDA7MCwzMDA7MCw0MDA7MCw1MDA7MCw2MDA7MCw3MDA7MCw4MDA7MCw5MDA7MSwxMDA7MSwyMDA7MSwzMDA7MSw0MDA7MSw1MDA7MSw2MDA7MSw3MDA7MSw4MDA7MSw5MDAmZGlzcGxheT1zd2FwJyk7XG5cbiRmb250LWljb25mb250Olx0XHRcImljb25mb250XCI7XG5cbiRmb250LWJvZHk6XHRcdCdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiRmb250LWhlYWRsaW5lOlx0J0JlYmFzIE5ldWUnLCBzYW5zLXNlcmlmO1xuXG4kZm9udC1ib2R5LWxpZ2h0Olx0XHRcdDMwMDtcbiRmb250LWJvZHktcmVndWxhcjpcdFx0XHQ0MDA7XG4kZm9udC1ib2R5LXNlbWlib2xkOlx0XHQ2MDA7XG5cbiRmb250LWhlYWRsaW5lLXJlZ3VsYXI6XHRcdDQwMDtcblxuLy8gWi1JbmRleCBNYW5hZ2VtZW50IC0tIHV0aWxpemVzIFNhc3MgTWFwc1xuLy8gRWFzaWVzdCB3YXkgdG8gdXNlIGlzIHZpYSB0aGUgbWl4aW46IEBpbmNsdWRlIHotaW5kZXgoemVybyk7XG4kei1pbmRleDogKFxuXHRoZWF2ZW5cdFx0XHRcdFx0Olx0OTk5OSxcblx0c2VhcmNoXHRcdFx0XHRcdDpcdDEwMDAsXG5cdGhlYWRlclx0XHRcdFx0XHQ6XHQ2MDAsXG5cdGZvb3Rlclx0XHRcdFx0XHQ6XHQ0MDAsXG5cdG1lbnUtb3ZlcmxheVx0XHRcdDpcdDMwMCxcblx0bWVudS1vdmVybGF5LXNjcmltXHRcdDpcdDIwMCxcblx0c2l0ZS1vdmVybGF5LXNjcmltXHRcdDpcdDE5OSxcblx0aGFtYnVyZ2VyXHRcdFx0XHQ6XHQyMDAsXG5cdGFib3ZlZ3JvdW5kXHRcdFx0XHQ6XHQxMDAsXG5cdGdyYXNzXHRcdFx0XHRcdDpcdDIsXG5cdGdyb3VuZFx0XHRcdFx0XHQ6XHQxLFxuXHR6ZXJvXHRcdFx0XHRcdDpcdDAsXG5cdHVuZGVyZ3JvdW5kXHRcdFx0XHQ6XHQtMSxcblx0aGVsbFx0XHRcdFx0XHQ6XHQtOTk5OVxuKTtcblxuJGJveC1zaGFkb3c6IDVweCA1cHggMTZweCAtNnB4IHJnYmEoMCwgMCwgMCwgLjM1KTtcbiRib3JkZXItcmFkaXVzOiAgMHB4O1xuXG4kdHJhbnNpdGlvbnM6IChcblx0ZWFzZVx0XHRcdDogXHRlYXNlLFxuXHRsaW5lYXJcdFx0XHQ6IFx0bGluZWFyLFxuXHRlYXNlLWluXHRcdFx0OiBcdGVhc2UtaW4sXG5cdGVhc2Utb3V0XHRcdDogXHRlYXNlLW91dCxcblx0ZWFzZS1pbi1vdXRcdFx0OiBcdGVhc2UtaW4tb3V0LFxuXHRzdGVwLXN0YXJ0XHRcdDogXHRzdGVwLXN0YXJ0LFxuXHRzdGVwLWVuZFx0XHQ6IFx0c3RlcC1lbmQsXG5cblx0Ly8gU3BlY2lhbCBFZmZlY3RzXG5cdGJvdW5jZVx0XHRcdDpcdGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpLFxuXG5cdC8vIEN1YmljXG5cdGVhc2VJbkN1YmljXHRcdDpcdGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCksXG5cdGVhc2VPdXRDdWJpYyBcdDpcdGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCksXG5cdGVhc2VJbk91dEN1YmljXHQ6XHRjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApLFxuXG5cdC8vIENpcmNcblx0ZWFzZUluQ2lyYyAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KSxcblx0ZWFzZU91dENpcmMgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKSxcblx0ZWFzZUluT3V0Q2lyY1x0Olx0Y3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKSxcblxuXHQvLyBFeHBvXG5cdGVhc2VJbkV4cG8gICBcdDpcdGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSksXG5cdGVhc2VPdXRFeHBvICBcdDpcdGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCksXG5cdGVhc2VJbk91dEV4cG9cdDpcdGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCksXG5cblx0Ly8gUXVhZFxuXHRlYXNlSW5RdWFkICAgICBcdDpcdGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCksXG5cdGVhc2VPdXRRdWFkICAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKSxcblx0ZWFzZUluT3V0UXVhZCAgXHQ6XHRjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpLFxuXG5cdC8vIFF1YXJ0XG5cdGVhc2VJblF1YXJ0ICAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKSxcblx0ZWFzZU91dFF1YXJ0ICAgXHQ6XHRjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApLFxuXHRlYXNlSW5PdXRRdWFydCBcdDpcdGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCksXG5cblx0Ly8gUXVpbnRcblx0ZWFzZUluUXVpbnQgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApLFxuXHRlYXNlT3V0UXVpbnQgICBcdDpcdGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCksXG5cdGVhc2VJbk91dFF1aW50IFx0Olx0Y3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKSxcblxuXHQvLyBTaW5lXG5cdGVhc2VJblNpbmUgICAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KSxcblx0ZWFzZU91dFNpbmUgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApLFxuXHRlYXNlSW5PdXRTaW5lICBcdDpcdGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCksXG5cblx0Ly8gQmFja1xuXHRlYXNlSW5CYWNrICAgICBcdDpcdGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpLFxuXHRlYXNlT3V0QmFjayAgICBcdDpcdGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpLFxuXHRlYXNlSW5PdXRCYWNrICBcdDpcdGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApLFxuKTsiLCIvKioqKioqKioqL1xuLyogU2FzcyBGdW5jdGlvbnNcbi8qKioqKioqKiovXG5cbkBpbXBvcnQgJ19pcy1pbnQuc2Nzcyc7IiwiLyoqXG4gKiBHcmlkIE1peGluOiBibG9jaygpXG4gKlxuICogRGVmaW5lcyB0aGUgYmFzZSBjb250YWluZXIgZm9yIGEgcGFnZSBibG9ja1xuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cblxuQG1peGluIGJsb2NrKCR3aWR0aDogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgYmxvY2stLXdpZHRoKSwgJGd1dHRlcnM6IGZhbHNlLCAkcG9zaXRpb246IHJlbGF0aXZlKSB7XG5cdHBvc2l0aW9uOiAkcG9zaXRpb247XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6ICR3aWR0aDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdEBpZiAoJGd1dHRlcnMgPT0gdHJ1ZSkge1xuXHRcdEBpbmNsdWRlIGd1dHRlcnMoKTtcblx0fVxuXHRAaW5jbHVkZSB6LWluZGV4KHplcm8pO1xufSIsIi8qKlxuICogTWl4aW46IGJsb2NrKClcbiAqXG4gKiBDcmVhdGVzIGEgZnVsbC1icm93c2VyLXdpZHRoIGNvbnRhaW5lciB3aGVuIHlvdSBhcmUgaW5zaWRlIGEgbGltaXRlZC13aWR0aCBwYXJlbnQsIGVnLCBpbnNpZGUgb2YgQG1peGluIGNvbnRhaW5lcigpLlxuICogVGhpcyBpcyBzb21ld2hhdCB1bm5lY2Vzc2FyeSwgc2luY2UgYWxsIGNvbXBvbmVudHMgc3RhcnQgaW5zaWRlIGEgMTAwdncgYmxvY2suIEhvd2V2ZXIsIGl0IGNhbiBiZSBoZWxwZnVsIGlmIHlvdVxuICogbmVlZCB0byBjcmVhdGUgYSBmdWxsIHdpZHRoIGNvbXBvbmVudCB0aGF0IGlzIGluc2lkZSBhIC5jb250YWluZXIgcGFyZW50LlxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cblxuQG1peGluIGNvbnRhaW5lci1icmVha291dCgpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwdnc7XG5cdG1heC13aWR0aDogMTAwdnc7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICAgIG1hcmdpbi1yaWdodDogLTUwdnc7XG59IiwiLyoqXG4gKiBHcmlkIE1peGluOiBjb250YWluZXIoKVxuICpcbiAqIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgcGFnZSBibG9jayB0aGF0IGlzIDEwMCUgb2YgdGhlICRnbG9iYWwtd2lkdGggZGVmaW5lZCBpbiB2YXJpYWJsZXMuc2Nzc1xuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cblxuIEBtaXhpbiBjb250YWluZXIoJGZsZXg6IHRydWUsICRwYWRkaW5nOiAwLCAkbWFyZ2luOiB0cnVlLCAkd2lkdGg6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIHdpZHRoKSwgJGZsZXgtZGlyZWN0aW9uOiByb3csICRtYXgtd2lkdGg6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIHdpZHRoKSkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdEBpZiAoJGZsZXggPT0gdHJ1ZSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246ICRmbGV4LWRpcmVjdGlvbjtcblx0fVxuXHRAaWYgKCRtYXJnaW4gPT0gdHJ1ZSkge1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHR9XG5cdEBpZiAoJHBhZGRpbmcpIHtcblx0XHRAaW5jbHVkZSBndXR0ZXJzKCRwYWRkaW5nKTtcblx0fVxuXHQvL1RoaXMgaXMgZm9yIHRoZSBDaHJvbWUgMTItY29sdW1uIGdyaWQgZXh0ZW5zaW9uLlxuXHQjYm9vdHN0cmFwLWdyaWQtZnJhbWUtamhic2RvdnUgJiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuQG1peGluIGNvbnRhaW5lci1mbHVpZCgpIHtcblx0QGluY2x1ZGUgY29udGFpbmVyKCRtYXgtd2lkdGg6IDEwMCUpO1xufSIsIi8qKlxuICogR3JpZCBNaXhpbjogZ3V0dGVycygpXG4gKlxuICogQ3JlYXRlcyBsZWZ0L3JpZ2h0IGd1dHRlcnMgb24gYW4gZWxlbWVudC4gUHJpbWFyaWx5IHVzZWQgb24gc3BhbigpIGVsZW1lbnRzLCBidXQgY2FuIGJlIHV0aWxpemVkIGFueXdoZXJlLlxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cblxuIEBmdW5jdGlvbiBndXR0ZXJzKCRmYWN0b3I6IDEpIHtcblx0JGd1dHRlcnM6IChtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBndXR0ZXJzKSAqICRmYWN0b3IpO1xuXHRAcmV0dXJuICRndXR0ZXJzO1xufVxuXG5AZnVuY3Rpb24gYnV0dGVycygkZmFjdG9yOiAxKSB7XG5cdCRndXR0ZXJzOiAobWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgZ3V0dGVycykgKiAkZmFjdG9yKTtcblx0QHJldHVybiAkZ3V0dGVycztcbn1cblxuQG1peGluIGd1dHRlcnMoJGZhY3RvcjogMSkge1xuXHRwYWRkaW5nLWxlZnQ6IGd1dHRlcnMoJGZhY3Rvcik7XG5cdHBhZGRpbmctcmlnaHQ6IGd1dHRlcnMoJGZhY3Rvcik7XG59IiwiLyoqXG4gKiBHcmlkIE1peGluOiBwdWxsKClcbiAqXG4gKiBQdWxscyBhbiBpdGVtIGxlZnQgdXNpbmcgbmVnYXRpdmUgbWFyZ2lucywgYmFzZWQgb24gMTItY29sdW1uIGdyaWRcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbkBtaXhpbiBwdWxsKCRjb2x1bW5zOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSwgJGNvbnRhaW5lcjogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucykpIHtcblx0bWFyZ2luLWxlZnQ6IChzcGFuKCRjb2x1bW5zLCAkY29udGFpbmVyKSAqIC0xKTtcbn0iLCIvKipcbiAqIEdyaWQgTWl4aW46IHB1c2goKVxuICpcbiAqIFB1c2hlcyBhbiBpdGVtIHJpZ2h0IHVzaW5nIHBvc2l0aXZlIG1hcmdpbnMsIGJhc2VkIG9uIDEyLWNvbHVtbiBncmlkXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgTWlkY29hc3QgUGxhdGZvcm1cbiAqIEBzaW5jZSAxLjBcbiAqL1xuIFxuIEBtaXhpbiBwdXNoKCRjb2x1bW5zOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSwgJGNvbnRhaW5lcjogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucykpIHtcblx0bWFyZ2luLWxlZnQ6IHNwYW4oJGNvbHVtbnMsICRjb250YWluZXIpO1xufSIsIi8qKlxuICogR3JpZCBNaXhpbjogc3BhbigpXG4gKlxuICogQ3JlYXRlcyBhIGNvbnRhaW5lciBvZiBhIGRlZmluZWQgJSB3aWR0aCwgYmFzZWQgb24gYSAxMiBjb2x1bW4gZ3JpZFxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuXG5AZnVuY3Rpb24gc3BhbigkY29sdW1uczogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucyksICRjb250YWluZXI6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpKSB7XG5cdEByZXR1cm4gcGVyY2VudGFnZShtYXRoLmRpdigkY29sdW1ucywgJGNvbnRhaW5lcikpO1xufVxuXG5AbWl4aW4gc3BhbigkY29sdW1uczogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucyksICRjb250YWluZXI6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpLCAkZmxleDogdHJ1ZSwgJGd1dHRlcnM6IHRydWUpIHtcblx0d2lkdGg6IHNwYW4oJGNvbHVtbnMsICRjb250YWluZXIpO1xuXHRAaWYgKCRmbGV4ID09IGZhbHNlKSB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdH1cblx0QGlmICgkZ3V0dGVycyA9PSB0cnVlKSB7XG5cdFx0QGluY2x1ZGUgZ3V0dGVycygpO1xuXHR9XG59XG5cbi5zcGFuLTEge1xuXHR3aWR0aDogc3BhbigxKTtcbn1cbi5zcGFuLTIge1xuXHR3aWR0aDogc3BhbigyKTtcbn1cbi5zcGFuLTMge1xuXHR3aWR0aDogc3BhbigzKTtcbn1cbi5zcGFuLTQge1xuXHR3aWR0aDogc3Bhbig0KTtcbn1cbi5zcGFuLTUge1xuXHR3aWR0aDogc3Bhbig1KTtcbn1cbi5zcGFuLTYge1xuXHR3aWR0aDogc3Bhbig2KTtcbn1cbi5zcGFuLTcge1xuXHR3aWR0aDogc3Bhbig3KTtcbn1cbi5zcGFuLTgge1xuXHR3aWR0aDogc3Bhbig4KTtcbn1cbi5zcGFuLTkge1xuXHR3aWR0aDogc3Bhbig5KTtcbn1cbi5zcGFuLTEwIHtcblx0d2lkdGg6IHNwYW4oMTApO1xufVxuLnNwYW4tMTEge1xuXHR3aWR0aDogc3BhbigxMSk7XG59XG4uc3Bhbi0xMiB7XG5cdHdpZHRoOiBzcGFuKDEyKTtcbn1cbiIsIi8qKlxuICogRnVuY3Rpb24gYW5kIE1peGluIGZvciBnZXR0aW5nIGNvbG9ycyBmcm9tIHRoZSAkY29sb3IgYXJyYXlcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbkBmdW5jdGlvbiBjb2xvcigkY29sb3IsICRvcGFjaXR5OiAxKSB7XG5cdEBpZiAoJG9wYWNpdHkgIT0gMSkge1xuXHRAcmV0dXJuIHJnYmEobWFwLWdldCgkY29sb3JzLCAkY29sb3IpLCAkb3BhY2l0eSk7XG5cdH0gQGVsc2Uge1xuXHRAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yKTtcblx0fVxufVxuXG5AbWl4aW4gY29sb3IoJGNvbG9yLCAkcHJvcGVydHktbmFtZTogY29sb3IsICRvcGFjaXR5OiAxKSB7XG5cdEBpZiAoJG9wYWNpdHkgIT0gMSkge1xuXHQjeyRwcm9wZXJ0eV9uYW1lfTogcmdiYShjb2xvcigkY29sb3IpLCAkb3BhY2l0eSk7XG5cdH0gQGVsc2Uge1xuXHQjeyRwcm9wZXJ0eV9uYW1lfTogY29sb3IoJGNvbG9yKTtcblx0fVxufSIsIi8qKlxuICogTWl4aW4gZm9yIHdyaXRpbmcgc3R5bGVzIHRoYXQgb25seSBkaXNwbGF5IGluIHRoZSBibG9jayBlZGl0b3JcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbiBAbWl4aW4gYmxvY2stZWRpdG9yKCkge1xuXHQuYWNmLWJsb2NrLXByZXZpZXcgJiB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn0iLCJAbWl4aW4gYm90dG9tbGluZSgkY29sb3I6IGluaGVyaXQpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgJjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogNDVweDtcblx0XHRoZWlnaHQ6IDNweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cdH1cbn1cbi5ib3R0b21saW5lIHtcbiAgICBAaW5jbHVkZSBib3R0b21saW5lKGNvbG9yKGJsdWUtbWlkKSk7XG59IiwiLyoqXG4gKiBNaXhpbiBmb3IgZGlzcGxheSBhIGJyaWNrIHBzZXVkdW8gZWxlbWVudC4gQSBicmljayBpcyB0aGUgbGl0dGxlIGhvcml6b250YWwgbGluZSB1bmRlciBoZWFkbGluZXMuXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgTWlkY29hc3QgUGxhdGZvcm1cbiAqIEBzaW5jZSAxLjBcbiAqL1xuIFxuIEBtaXhpbiBicmljaygkY29sb3I6IGNvbG9yKHBpbmspKSB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogM3B4O1xuXHRtYXJnaW46IDVweCBhdXRvO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbiB9IiwiLyoqXG4gKiBNaXhpbiBmb3IgYXBwbHlpbmcgYmFja2dyb3VuZCBzaGFkZSB0byBhbiBlbGVtZW50XG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgTWlkY29hc3QgUGxhdGZvcm1cbiAqIEBzaW5jZSAxLjBcbiAqL1xuXG4gQG1peGluIHNoYWRlKCRzaGFkZSkge1xuXHRcblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLXVsdHJhbGlnaHQnKSB7XG5cdFx0QGluY2x1ZGUgY29sb3IodWx0cmFsaWdodCwgYmFja2dyb3VuZC1jb2xvcik7XG5cdH1cblxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtYmx1ZS1ncmFkaWVudCcpIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNjBkZWcsIGNvbG9yKGJsdWUsIDEpIDQwJSwgY29sb3IoYmx1ZS1kYXJrLCAxKSA2MCUpO1xuXHR9XG5cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLXB1cnBsZS1ncmFkaWVudCcpIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTMwZGVnLCBjb2xvcihibHVlLWRhcmssIDEpIDQwJSwgY29sb3IocHVycGxlLCAxKSA2MCUpO1xuXHR9XG5cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLWJsdWUnKSB7XG5cdFx0YmFja2dyb3VuZDogY29sb3IoYmx1ZS1kYXJrKTtcblx0fVxuXG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS1wdXJwbGUnKSB7XG5cdFx0YmFja2dyb3VuZDogY29sb3IocHVycGxlKTtcblx0fVxuIH1cblxuIEBtaXhpbiBzaGFkZS10ZXh0KCRzaGFkZSkge1xuXHRcblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLXVsdHJhbGlnaHQnKSB7XG5cdFx0Y29sb3I6IGNvbG9yKGJsYWNrKTtcblx0fVxuXG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS1ibHVlLWdyYWRpZW50Jykge1xuXHRcdGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cdH1cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLXRleHQtZGFyaycpIHtcblx0XHRjb2xvcjogY29sb3IoYmxhY2spO1xuXHR9XG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS10ZXh0LWxpZ2h0Jykge1xuXHRcdGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cdH1cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLWJsdWUnKSB7XG5cdFx0Y29sb3I6IGNvbG9yKHdoaXRlKTtcblx0fVxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtcHVycGxlJykge1xuXHRcdGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cdH1cbiB9XG5cbiBAbWl4aW4gc2hhZGUtY2hpbGQoJHNoYWRlOiBudWxsKSB7XG5cdEBpZiAoJHNoYWRlICE9IG51bGwpIHtcblx0XHQuc2hhZGUuI3skc2hhZGV9ICYge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9XG4gfSIsIi8qKlxuICogTWl4aW46IHotaW5kZXgoJGxldmVsLCAkaW1wb3J0YW50KVxuICpcbiAqIFVzZXMgdGhlIFNhc3MtTWFwIGRlZmluZWQgaW4gcGFydGlhbHMvdmFyaWFibGVzLnNjc3MgdG8gbG9hZCBhIG5hbWVkIHotaW5kZXggbGV2ZWwuIElmIGFuIGludGVnZXIgaXMgcGFzc2VkLCB0aGF0IGludGVnZXIgaXMgdXNlZCBhcyB0aGUgei1pbmRleCBsZXZlbC5cbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbkBtaXhpbiB6LWluZGV4KCRsZXZlbDogZ3JvdW5kLCAkaW1wb3J0YW50OiAnbnVsbCcpIHtcblx0JHppbmRleDogc3RyaW5nO1xuXG5cdEBpZiBpcy1pbnQoJGxldmVsKSB7XG5cdFx0JHppbmRleDogJGxldmVsO1xuXHR9IEBlbHNlIHtcblx0XHQkemluZGV4OiBtYXAtZ2V0KCR6LWluZGV4LCAkbGV2ZWwpO1xuXHR9XG5cdEBpZiAoJGltcG9ydGFudCA9PSAnaW1wb3J0YW50Jylcblx0e1xuXHRcdHotaW5kZXg6ICR6aW5kZXggIWltcG9ydGFudDtcblx0fVxuXHRAZWxzZSB7XG5cdFx0ei1pbmRleDogJHppbmRleDtcblx0fVxufSIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcImljb25mb250XCI7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2Fzc2V0cy9tZWRpYS9mb250cy9pY29uZm9udC9pY29uZm9udC5lb3Q/dDJxOTg3Jyk7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2Fzc2V0cy9tZWRpYS9mb250cy9pY29uZm9udC9pY29uZm9udC5lb3Q/dDJxOTg3I2llZml4JykgZm9ybWF0KCdlb3QnKSxcbiAgICAgIHVybCgnLi4vLi4vYXNzZXRzL21lZGlhL2ZvbnRzL2ljb25mb250L2ljb25mb250LndvZmYyP3QycTk4NycpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgIHVybCgnLi4vLi4vYXNzZXRzL21lZGlhL2ZvbnRzL2ljb25mb250L2ljb25mb250LndvZmY/dDJxOTg3JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICB1cmwoJy4uLy4uL2Fzc2V0cy9tZWRpYS9mb250cy9pY29uZm9udC9pY29uZm9udC50dGY/dDJxOTg3JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQuc3ZnP3QycTk4NyNpY29uZm9udCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbiRmb250LWljb25mb250Olx0XCJpY29uZm9udFwiO1xuXG4kaWNvbi1hY2NvdW50OiBcIlxcRUEwMVwiO1xuJGljb24tYXJyb3ctZG93bi1sb25nOiBcIlxcRUEwMlwiO1xuJGljb24tYXJyb3ctZG93bjogXCJcXEVBMDNcIjtcbiRpY29uLWFycm93LWxlZnQtbG9uZzogXCJcXEVBMDRcIjtcbiRpY29uLWFycm93LWxlZnQ6IFwiXFxFQTA1XCI7XG4kaWNvbi1hcnJvdy1yaWdodC1sb25nOiBcIlxcRUEwNlwiO1xuJGljb24tYXJyb3ctcmlnaHQ6IFwiXFxFQTA3XCI7XG4kaWNvbi1hcnJvdy11cC1sb25nOiBcIlxcRUEwOFwiO1xuJGljb24tYXJyb3ctdXAtcmlnaHQ6IFwiXFxFQTA5XCI7XG4kaWNvbi1hcnJvdy11cDogXCJcXEVBMEFcIjtcbiRpY29uLWJlbGw6IFwiXFxFQTBCXCI7XG4kaWNvbi1icm93c2VyOiBcIlxcRUEwQ1wiO1xuJGljb24tY2FsZW5kYXI6IFwiXFxFQTBEXCI7XG4kaWNvbi1jYXJldC1kb3duOiBcIlxcRUEwRVwiO1xuJGljb24tY2FyZXQtbGVmdDogXCJcXEVBMEZcIjtcbiRpY29uLWNhcmV0LXJpZ2h0OiBcIlxcRUExMFwiO1xuJGljb24tY2FyZXQtdXA6IFwiXFxFQTExXCI7XG4kaWNvbi1jaGF0OiBcIlxcRUExMlwiO1xuJGljb24tY2hlY2s6IFwiXFxFQTEzXCI7XG4kaWNvbi1jaGVja2JveC1lbXB0eTogXCJcXEVBMTRcIjtcbiRpY29uLWNoZWNrYm94OiBcIlxcRUExNVwiO1xuJGljb24tY2hldnJvbi1kb3duOiBcIlxcRUExNlwiO1xuJGljb24tY2hldnJvbi1sZWZ0OiBcIlxcRUExN1wiO1xuJGljb24tY2hldnJvbi1yaWdodDogXCJcXEVBMThcIjtcbiRpY29uLWNoZXZyb24tdXA6IFwiXFxFQTE5XCI7XG4kaWNvbi1jaXJjbGU6IFwiXFxFQTFBXCI7XG4kaWNvbi1jbG9jazogXCJcXEVBMUJcIjtcbiRpY29uLWNsb3NlLXdoaXRlOiBcIlxcRUExQ1wiO1xuJGljb24tY2xvc2U6IFwiXFxFQTFEXCI7XG4kaWNvbi1jb21wb3NlOiBcIlxcRUExRVwiO1xuJGljb24tZG9jdW1lbnQ6IFwiXFxFQTFGXCI7XG4kaWNvbi1kb3dubG9hZDogXCJcXEVBMjBcIjtcbiRpY29uLWVtYWlsLWFsdDogXCJcXEVBMjFcIjtcbiRpY29uLWVtYWlsOiBcIlxcRUEyMlwiO1xuJGljb24tZmFjZWJvb2s6IFwiXFxFQTIzXCI7XG4kaWNvbi1mb2N1czogXCJcXEVBMjRcIjtcbiRpY29uLWhvbWU6IFwiXFxFQTI1XCI7XG4kaWNvbi1pbmZvLWFsZXJ0OiBcIlxcRUEyNlwiO1xuJGljb24taW5mbzogXCJcXEVBMjdcIjtcbiRpY29uLWluc3RhZ3JhbTogXCJcXEVBMjhcIjtcbiRpY29uLWxlYXJuLWFsZXJ0OiBcIlxcRUEyOVwiO1xuJGljb24tbGlnaHRidWxiOiBcIlxcRUEyQVwiO1xuJGljb24tbGlua2VkaW46IFwiXFxFQTJCXCI7XG4kaWNvbi1sb2FuOiBcIlxcRUEyQ1wiO1xuJGljb24tbG9jYXRpb246IFwiXFxFQTJEXCI7XG4kaWNvbi1sb2NrOiBcIlxcRUEyRVwiO1xuJGljb24tbWFya3NtZWRpYTogXCJcXEVBMkZcIjtcbiRpY29uLW1pZGNvYXN0OiBcIlxcRUEzMFwiO1xuJGljb24tbWludXM6IFwiXFxFQTMxXCI7XG4kaWNvbi1wZXJzb246IFwiXFxFQTMyXCI7XG4kaWNvbi1waG9uZTogXCJcXEVBMzNcIjtcbiRpY29uLXBpbnRlcmVzdDogXCJcXEVBMzRcIjtcbiRpY29uLXBsYXktY2lyY2xlOiBcIlxcRUEzNVwiO1xuJGljb24tcGxheTogXCJcXEVBMzZcIjtcbiRpY29uLXBsdXM6IFwiXFxFQTM3XCI7XG4kaWNvbi1xdW90ZTogXCJcXEVBMzhcIjtcbiRpY29uLXJlc2V0OiBcIlxcRUEzOVwiO1xuJGljb24tc2Nyb2xsLWRvd246IFwiXFxFQTNBXCI7XG4kaWNvbi1zZWFyY2g6IFwiXFxFQTNCXCI7XG4kaWNvbi1zbmFwY2hhdDogXCJcXEVBM0NcIjtcbiRpY29uLXN0YXItaGFsZjogXCJcXEVBM0RcIjtcbiRpY29uLXN0YXI6IFwiXFxFQTNFXCI7XG4kaWNvbi10aHJlZS1kb3RzOiBcIlxcRUEzRlwiO1xuJGljb24tdGlrdG9rOiBcIlxcRUE0MFwiO1xuJGljb24tdHdpdHRlcjogXCJcXEVBNDFcIjtcbiRpY29uLXZpZGVvOiBcIlxcRUE0MlwiO1xuJGljb24tdmltZW86IFwiXFxFQTQzXCI7XG4kaWNvbi13ZWJzaXRlOiBcIlxcRUE0NFwiO1xuJGljb24teWVscDogXCJcXEVBNDVcIjtcbiRpY29uLXlvdXR1YmU6IFwiXFxFQTQ2XCI7XG5cblxuXG4uaWNvbi1hY2NvdW50OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hY2NvdW50LCAxNXB4KTtcbn1cbi5pY29uLWFycm93LWRvd24tbG9uZzo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctZG93bi1sb25nLCAxNXB4KTtcbn1cbi5pY29uLWFycm93LWRvd246OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LWRvd24sIDE1cHgpO1xufVxuLmljb24tYXJyb3ctbGVmdC1sb25nOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy1sZWZ0LWxvbmcsIDE1cHgpO1xufVxuLmljb24tYXJyb3ctbGVmdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctbGVmdCwgMTVweCk7XG59XG4uaWNvbi1hcnJvdy1yaWdodC1sb25nOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy1yaWdodC1sb25nLCAxNXB4KTtcbn1cbi5pY29uLWFycm93LXJpZ2h0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy1yaWdodCwgMTVweCk7XG59XG4uaWNvbi1hcnJvdy11cC1sb25nOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy11cC1sb25nLCAxNXB4KTtcbn1cbi5pY29uLWFycm93LXVwLXJpZ2h0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy11cC1yaWdodCwgMTVweCk7XG59XG4uaWNvbi1hcnJvdy11cDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctdXAsIDE1cHgpO1xufVxuLmljb24tYmVsbDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYmVsbCwgMTVweCk7XG59XG4uaWNvbi1icm93c2VyOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1icm93c2VyLCAxNXB4KTtcbn1cbi5pY29uLWNhbGVuZGFyOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jYWxlbmRhciwgMTVweCk7XG59XG4uaWNvbi1jYXJldC1kb3duOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jYXJldC1kb3duLCAxNXB4KTtcbn1cbi5pY29uLWNhcmV0LWxlZnQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNhcmV0LWxlZnQsIDE1cHgpO1xufVxuLmljb24tY2FyZXQtcmlnaHQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNhcmV0LXJpZ2h0LCAxNXB4KTtcbn1cbi5pY29uLWNhcmV0LXVwOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jYXJldC11cCwgMTVweCk7XG59XG4uaWNvbi1jaGF0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaGF0LCAxNXB4KTtcbn1cbi5pY29uLWNoZWNrOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaGVjaywgMTVweCk7XG59XG4uaWNvbi1jaGVja2JveC1lbXB0eTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2hlY2tib3gtZW1wdHksIDE1cHgpO1xufVxuLmljb24tY2hlY2tib3g6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZWNrYm94LCAxNXB4KTtcbn1cbi5pY29uLWNoZXZyb24tZG93bjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2hldnJvbi1kb3duLCAxNXB4KTtcbn1cbi5pY29uLWNoZXZyb24tbGVmdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2hldnJvbi1sZWZ0LCAxNXB4KTtcbn1cbi5pY29uLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZXZyb24tcmlnaHQsIDE1cHgpO1xufVxuLmljb24tY2hldnJvbi11cDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2hldnJvbi11cCwgMTVweCk7XG59XG4uaWNvbi1jaXJjbGU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNpcmNsZSwgMTVweCk7XG59XG4uaWNvbi1jbG9jazo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2xvY2ssIDE1cHgpO1xufVxuLmljb24tY2xvc2Utd2hpdGU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNsb3NlLXdoaXRlLCAxNXB4KTtcbn1cbi5pY29uLWNsb3NlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jbG9zZSwgMTVweCk7XG59XG4uaWNvbi1jb21wb3NlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jb21wb3NlLCAxNXB4KTtcbn1cbi5pY29uLWRvY3VtZW50OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1kb2N1bWVudCwgMTVweCk7XG59XG4uaWNvbi1kb3dubG9hZDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tZG93bmxvYWQsIDE1cHgpO1xufVxuLmljb24tZW1haWwtYWx0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1lbWFpbC1hbHQsIDE1cHgpO1xufVxuLmljb24tZW1haWw6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWVtYWlsLCAxNXB4KTtcbn1cbi5pY29uLWZhY2Vib29rOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1mYWNlYm9vaywgMTVweCk7XG59XG4uaWNvbi1mb2N1czo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tZm9jdXMsIDE1cHgpO1xufVxuLmljb24taG9tZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24taG9tZSwgMTVweCk7XG59XG4uaWNvbi1pbmZvLWFsZXJ0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1pbmZvLWFsZXJ0LCAxNXB4KTtcbn1cbi5pY29uLWluZm86OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWluZm8sIDE1cHgpO1xufVxuLmljb24taW5zdGFncmFtOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1pbnN0YWdyYW0sIDE1cHgpO1xufVxuLmljb24tbGVhcm4tYWxlcnQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWxlYXJuLWFsZXJ0LCAxNXB4KTtcbn1cbi5pY29uLWxpZ2h0YnVsYjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbGlnaHRidWxiLCAxNXB4KTtcbn1cbi5pY29uLWxpbmtlZGluOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1saW5rZWRpbiwgMTVweCk7XG59XG4uaWNvbi1sb2FuOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1sb2FuLCAxNXB4KTtcbn1cbi5pY29uLWxvY2F0aW9uOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1sb2NhdGlvbiwgMTVweCk7XG59XG4uaWNvbi1sb2NrOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1sb2NrLCAxNXB4KTtcbn1cbi5pY29uLW1hcmtzbWVkaWE6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLW1hcmtzbWVkaWEsIDE1cHgpO1xufVxuLmljb24tbWlkY29hc3Q6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLW1pZGNvYXN0LCAxNXB4KTtcbn1cbi5pY29uLW1pbnVzOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1taW51cywgMTVweCk7XG59XG4uaWNvbi1wZXJzb246OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXBlcnNvbiwgMTVweCk7XG59XG4uaWNvbi1waG9uZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tcGhvbmUsIDE1cHgpO1xufVxuLmljb24tcGludGVyZXN0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1waW50ZXJlc3QsIDE1cHgpO1xufVxuLmljb24tcGxheS1jaXJjbGU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXBsYXktY2lyY2xlLCAxNXB4KTtcbn1cbi5pY29uLXBsYXk6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXBsYXksIDE1cHgpO1xufVxuLmljb24tcGx1czo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tcGx1cywgMTVweCk7XG59XG4uaWNvbi1xdW90ZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tcXVvdGUsIDE1cHgpO1xufVxuLmljb24tcmVzZXQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXJlc2V0LCAxNXB4KTtcbn1cbi5pY29uLXNjcm9sbC1kb3duOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1zY3JvbGwtZG93biwgMTVweCk7XG59XG4uaWNvbi1zZWFyY2g6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXNlYXJjaCwgMTVweCk7XG59XG4uaWNvbi1zbmFwY2hhdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tc25hcGNoYXQsIDE1cHgpO1xufVxuLmljb24tc3Rhci1oYWxmOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1zdGFyLWhhbGYsIDE1cHgpO1xufVxuLmljb24tc3Rhcjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tc3RhciwgMTVweCk7XG59XG4uaWNvbi10aHJlZS1kb3RzOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi10aHJlZS1kb3RzLCAxNXB4KTtcbn1cbi5pY29uLXRpa3Rvazo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tdGlrdG9rLCAxNXB4KTtcbn1cbi5pY29uLXR3aXR0ZXI6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXR3aXR0ZXIsIDE1cHgpO1xufVxuLmljb24tdmlkZW86OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXZpZGVvLCAxNXB4KTtcbn1cbi5pY29uLXZpbWVvOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi12aW1lbywgMTVweCk7XG59XG4uaWNvbi13ZWJzaXRlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi13ZWJzaXRlLCAxNXB4KTtcbn1cbi5pY29uLXllbHA6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXllbHAsIDE1cHgpO1xufVxuLmljb24teW91dHViZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24teW91dHViZSwgMTVweCk7XG59IiwiQGZ1bmN0aW9uIHVuaWNvZGUoJHN0cikge1xuXHRAcmV0dXJuIHVucXVvdGUoXCJcXFwiXCIpICsgJHN0ciArIHVucXVvdGUoXCJcXFwiXCIpO1xuICB9XG5cbi8vSWNvbmZvbnRcbkBtaXhpbiBpY29uZm9udCgkY29udGVudDogXCIgXCIsICRmb250LXNpemU6IGluaGVyaXQsICRjb2xvcjogaW5oZXJpdCApIHtcblx0Zm9udC1mYW1pbHk6ICRmb250LWljb25mb250O1xuXHRzcGVhazogbm9uZTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogMTAwO1xuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRjb250ZW50OiB1bmljb2RlKCRjb250ZW50KTtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplO1xuXHRjb2xvcjogJGNvbG9yO1xuXHRcblx0LyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufSIsIi8vQ3VzdG9tIGJyZWFrcG9pbnQgbWl4aW5cbkBtaXhpbiBicmVha3BvaW50KCRicmVha3BvaW50OiAneHMnLCAkcXVlcnk6ICdtaW4nLCAkbWluLXdpZHRoOiBOVUxMLCAkbWF4LXdpZHRoOiBOVUxMKSB7XG5cdEBpZiAoKCRtaW4td2lkdGggIT0gTlVMTCkgb3IgKCRtYXgtd2lkdGggIT0gTlVMTCkpIHtcblx0XHRAaWYgKCgkbWluLXdpZHRoICE9IE5VTEwpIGFuZCAoJG1heC13aWR0aCA9PSBOVUxMKSkge1xuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRtaW4td2lkdGgpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdEBpZiAoKCRtaW4td2lkdGggPT0gTlVMTCkgYW5kICgkbWF4LXdpZHRoICE9IE5VTEwpKSB7XG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogJG1heC13aWR0aCkge1xuXHRcdFx0XHRAY29udGVudDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0QGlmICgoJG1pbi13aWR0aCAhPSBOVUxMKSBhbmQgKCRtYXgtd2lkdGggIT0gTlVMTCkpIHtcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkbWluLXdpZHRoKSBhbmQgKG1heC13aWR0aDogJG1heC13aWR0aCkge1xuXHRcdFx0XHRAY29udGVudDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0XG5cdH1cblx0QGVsc2Uge1xuXHRcdEBpZiAoJHF1ZXJ5ID09ICdtaW4nKSB7XHRcdFxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xuXHRcdFx0XHRAY29udGVudDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGlmICgkcXVlcnkgPT0gJ21heCcpIHtcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiAobWFwLWdldC1uZXh0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkgLSAxKSkge1xuXHRcdFx0XHRAY29udGVudDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0QGlmICgkcXVlcnkgPT0gJ29ubHknKSB7XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpKSBhbmQgKG1heC13aWR0aDogKG1hcC1nZXQtbmV4dCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIC0gMSkpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59Il19 */
