/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../../node_modules/.pnpm/css-loader@7.1.2_webpack@5.103.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!../../../node_modules/.pnpm/postcss-loader@8.2.0_postcss@8.5.6_webpack@5.103.0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!../../../node_modules/.pnpm/sass-loader@16.0.6_sass-embedded@1.93.3_sass@1.94.2_webpack@5.103.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/fossbilling.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* -------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------- */
/*

------------------------------------------
------------------------------------------

----- WHMCS styles

------------------------------------------
------------------------------------------

*/
/* Reset */
.whmcscontainer .col-12.primary-content {
  padding-left: 0;
  padding-right: 0;
}

.whmcsbody.primary-bg-color {
  background: var(--background-body);
}

.whmcscontainer .container {
  max-width: 100%;
}

.whmcscontainer section#main-body {
  padding: 0;
}

.whmcscontainer a {
  text-decoration: none;
}

.whmcscontainer hr {
  border-top: var(--color-border) 1px solid;
  margin: 0 0 var(--spacing-child) 0;
}

.whmcscontainer .btn { /* WHMCS buttons styled to match .button1 */
  text-transform: capitalize;
  font-weight: bold;
  border-radius: var(--border-radius);
}

.whmcscontainer *:focus { /* Remove glow on click */
  box-shadow: none !important;
}

.whmcscontainer .btn-link {
  color: var(--color-body);
}

.whmcscontainer .text-muted {
  color: var(--color-body);
}

/* Slimmed cart enabled */
.whmcsbody.feature-slimmedcart .subbanner,
.whmcsbody.feature-slimmedcart .partnersmain,
.whmcsbody.feature-slimmedcart .cta-container,
.whmcsbody.feature-slimmedcart .footermain .footermain-background {
  display: none;
}

.whmcsbody.feature-slimmedcart .footermain {
  border-top: none;
}

/* Slimmed login enabled */
.whmcsbody.feature-slimmedlogin .headermain,
.whmcsbody.feature-slimmedlogin .subbanner,
.whmcsbody.feature-slimmedlogin .partnersmain,
.whmcsbody.feature-slimmedlogin .cta-container {
  display: none;
}

.whmcsbody.feature-slimmedlogin .logo-login {
  display: flex;
  justify-content: center;
  margin: 0 0 var(--spacing-child) 0;
}

.whmcsbody.feature-slimmedlogin .logo-login img {
  max-width: 300px;
}

/* Social buttons */
.whmcscontainer .providerPreLinking {
  min-height: 43px;
}

.whmcscontainer .btn-google img {
  display: inline;
}

/* WHMCS colors */
/* Borders */
.whmcscontainer .card-accent-gold,
.whmcscontainer .card-accent-green,
.whmcscontainer .card-accent-red,
.whmcscontainer .card-accent-blue,
.whmcscontainer .card-accent-orange .whmcscontainer .card-accent-pink,
.whmcscontainer .card-accent-purple,
.whmcscontainer .card-accent-lime,
.whmcscontainer .card-accent-magenta,
.whmcscontainer .card-accent-teal,
.whmcscontainer .card-accent-turquoise,
.whmcscontainer .card-accent-emerald,
.whmcscontainer .card-accent-amethyst,
.whmcscontainer .card-accent-wet-asphalt,
.whmcscontainer .card-accent-midnight-blue,
.whmcscontainer .card-accent-sun-flower,
.whmcscontainer .card-accent-pomegranate,
.whmcscontainer .card-accent-silver,
.whmcscontainer .card-accent-asbestos {
  border-color: var(--color-primary-background);
}

/* Backgrounds */
.whmcscontainer .bg-color-gold,
.whmcscontainer .bg-color-green,
.whmcscontainer .bg-color-red,
.whmcscontainer .bg-color-blue,
.whmcscontainer .bg-color-orange,
.whmcscontainer .bg-color-pink,
.whmcscontainer .bg-color-purple,
.whmcscontainer .bg-color-lime,
.whmcscontainer .bg-color-magenta,
.whmcscontainer .bg-color-teal,
.whmcscontainer .bg-color-turquoise,
.whmcscontainer .bg-color-emerald,
.whmcscontainer .bg-color-amethyst,
.whmcscontainer .bg-color-wet-asphalt,
.whmcscontainer .bg-color-midnight-blue,
.whmcscontainer .bg-color-sun-flower,
.whmcscontainer .bg-color-pomegranate,
.whmcscontainer .bg-color-silver,
.whmcscontainer .bg-color-asbestos {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
}

/* Card */
.whmcscontainer .card {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  margin-bottom: var(--spacing-child) !important;
  color: var(--color-box-foreground);
}

.whmcscontainer .card .card-header {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  color: var(--color-box-head-foreground);
}

.whmcscontainer .card .card-header .card-title,
.whmcscontainer .card .card-header .panel-title {
  color: var(--color-box-head-foreground) !important;
}

.whmcscontainer .home .card .card-title {
  color: var(--color-box-foreground-bold);
}

.whmcscontainer .card .card-body {
  padding: var(--spacing-inner) !important;
}

.whmcscontainer .card .card-footer {
  background: var(--color-box-footer-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-footer-background-gradient-top) 0, var(--color-box-footer-background-gradient-bottom) 100%);
  border-color: var(--color-box-footer-background-border);
  border-bottom-width: 0;
  color: var(--color-box-footer-foreground);
}

/* Sidebar */
.whmcscontainer .sidebar .list-group {
  display: block !important;
}

.whmcscontainer .sidebar .list-group-item-action {
  color: var(--color-box-foreground);
}

.whmcscontainer .sidebar .list-group-item {
  border-color: var(--color-box-background-border);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-right-width: 0;
  border-left-width: 0;
}

.whmcscontainer .sidebar .list-group-item:hover {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
}

.whmcscontainer .sidebar .list-group-item.active {
  color: var(--color-box-active-foreground);
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border: none;
}

.whmcscontainer .sidebar .list-group-item .badge {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border: var(--color-box-active-background-border);
  color: var(--color-box-active-foreground);
}

.whmcscontainer .sidebar #Primary_Sidebar-Already_Registered-Already_Registered_Heading:hover,
.whmcscontainer .sidebar #Secondary_Sidebar-Client_Contacts-No_Contacts:hover { /* Remove hover from sidebar elements */
  background-color: transparent;
}

.whmcscontainer .sidebar-secondary { /* Fix spacing bug on mobile */
  padding-right: 0;
  padding-left: 0;
}

.whmcscontainer .list-group-item {
  background-color: transparent;
}

/* Headings */
.whmcscontainer h1,
.whmcscontainer h2,
.whmcscontainer h3,
.whmcscontainer h4,
.whmcscontainer h5,
.whmcscontainer h6 {
  font-weight: bold;
}

/* Alerts */
.whmcscontainer .alert {
  border-radius: 0;
  margin-bottom: var(--spacing-child) !important;
  border-radius: var(--border-radius);
  border-bottom-width: var(--border-bottom-width);
}

.whmcscontainer .network-issue-alert {
  padding: 10px;
}

/* Email Verification */
.whmcscontainer .email-verification {
  padding: 10px;
  margin-bottom: var(--spacing-child);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  color: var(--color-box-foreground);
  font-weight: normal;
  border-radius: var(--border-radius);
}

/* Forms */
.whmcscontainer #registration .field,
.whmcscontainer #registration .form-control,
.whmcs-filename-cart .whmcscontainer #order-standard_cart .field,
.whmcs-filename-cart .whmcscontainer #order-standard_cart .form-control {
  border: var(--color-box-background-border) 1px solid;
  color: var(--color-body);
}

.whmcscontainer .form-control,
.modal-content .form-control {
  border: var(--color-box-background-border) 1px solid;
}

.whmcscontainer .input-group-text { /* Form icons */
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border: var(--color-box-active-background-border) 1px solid;
}

.whmcscontainer .bootstrap-switch { /* Switch form */
  display: block;
  margin-left: auto;
  margin-right: auto;
  border-color: var(--color-box-background-border);
}

.whmcscontainer .md-editor,
.whmcscontainer div.md-editor.active {
  border: var(--color-box-active-background-border) 1px solid;
}

.whmcscontainer .md-editor .form-control {
  border: none !important;
}

.whmcscontainer .md-editor > .md-preview,
.whmcscontainer .md-editor > textarea.markdown-editor {
  border-top: var(--color-box-background-border) 1px solid !important;
  border-bottom: var(--color-box-background-border) 1px solid !important;
}

.whmcscontainer .custom-file-label { /* Ticket Attachment */
  border: var(--color-box-background-border) 1px solid;
  border-radius: 0;
}

/* Pagination */
.whmcscontainer .page-link {
  border: var(--color-box-background-border) 1px solid;
}

.whmcscontainer .page-item:first-child .page-link,
.whmcscontainer .page-item:last-child .page-link {
  border-radius: 0;
}

.whmcscontainer .page-item .page-link {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-color: var(--color-box-background-border);
}

.whmcscontainer .page-item.active .page-link,
.whmcscontainer .pagination > .active > a,
.whmcscontainer .pagination > .active > a:focus,
.whmcscontainer .pagination > .active > a:hover,
.whmcscontainer .pagination > .active > span,
.whmcscontainer .pagination > .active > span:focus,
.whmcscontainer .pagination > .active > span:hover {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border-color: var(--color-box-background-border);
}

.whmcscontainer .page-item.active .page-link {
  color: var(--color-box-foreground);
  font-weight: bold;
}

/* Progress */
.whmcscontainer .progress {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
}

/* Table */
.whmcscontainer .table {
  border: var(--color-box-background-border) 1px solid !important;
  border-bottom-width: 3px !important;
  border-radius: var(--border-radius) !important;
  color: var(--color-box-foreground) !important;
}

.whmcscontainer .table th {
  border-top: none !important;
  border-bottom: none !important;
  background: var(--color-box-head-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%) !important;
  color: var(--color-box-head-foreground) !important;
  border-radius: 0 !important;
}

.whmcscontainer .table th.sorting_asc,
.whmcscontainer .table th.sorting_desc {
  background-color: var(--color-primary-background) !important;
  color: var(--color-primary-foreground) !important;
}

.whmcscontainer .table td {
  background: var(--color-box-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%) !important;
  border-top: var(--color-box-background-border) 1px solid !important;
}

/* Editor */
.whmcscontainer .md-editor {
  background: #fff;
}

/* Modal */
.whmcsbody .modal .modal-content {
  border-color: var(--color-box-background-border);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
}

.whmcsbody .modal .modal-content .copy-to-clipboard img {
  display: inline;
}

.whmcsbody .modal .modal-header.bg-primary {
  background: var(--color-box-head-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%) !important;
  border-bottom: var(--color-box-head-background-border) 1px solid;
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
  color: var(--color-box-head-foreground);
}

.whmcsbody .modal .modal-title {
  color: var(--color-box-head-foreground);
}

.whmcsbody .modal .modal-footer {
  background: var(--color-box-footer-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-footer-background-gradient-top) 0, var(--color-box-footer-background-gradient-bottom) 100%);
  border-top: var(--color-box-footer-background-border) 1px solid;
  border-bottom-right-radius: var(--border-radius);
  border-bottom-left-radius: var(--border-radius);
}

/* Modal - Language selector */
.whmcsbody .modal-localisation .close {
  color: var(--body-default) !important;
}

.whmcsbody .modal-localisation .modal-content .pt-5 {
  padding-top: 0 !important;
}

.whmcsbody .modal-localisation .modal-content h5 {
  color: var(--color-box-foreground-bold);
  font-weight: bold;
  font-size: 1.5em;
}

.whmcsbody .modal-localisation .modal-content .item-selector .item {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  color: var(--color-secondary-foreground);
  border: var(--color-secondary-background-border) 1px solid;
  border-radius: var(--border-radius);
  text-decoration: none;
}

.whmcsbody .modal-localisation .modal-content .item-selector .item:hover,
.whmcsbody .modal-localisation .modal-content .item-selector .item.active {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  color: var(--color-primary-foreground);
  border: var(--color-primary-background-border) 1px solid;
}

/* Modal - Empty cart */
.whmcsbody .modal-remove-item .modal-content .modal-title {
  color: var(--color-box-foreground-bold);
}

/* Navtabs - Used on view cart (promo/taxes) */
.whmcscontainer .nav-tabs {
  border-color: var(--color-box-background-border);
}

.whmcscontainer .nav-tabs .nav-link {
  border-bottom: none;
  background-color: transparent;
}

.whmcscontainer .nav-tabs .nav-link.active {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-color: var(--color-box-background-border) var(--color-box-background-border) #fff;
  color: var(--color-box-foreground);
}

.whmcscontainer #order-standard_cart .view-cart-tabs .tab-content {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
}

/* Sub Menu (/includes/submenu-whmcs.tpl) */
.whmcsbody .whmcssubmenu {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-bottom: var(--color-box-background-border) 3px solid;
}

.whmcsbody .whmcssubmenu::after {
  clear: both;
  display: table;
  content: "";
}

.whmcsbody .whmcssubmenu header.header {
  background-color: transparent;
}

.whmcsbody .whmcssubmenu header.header .navbar a {
  color: var(--color-box-foreground-bold);
}

.whmcsbody .whmcssubmenu header.header .container {
  max-width: 100%;
}

.whmcsbody .whmcssubmenu header.header .navbar-light {
  display: none;
  float: right;
  padding-right: 0;
}

@media (max-width: 1199px) {
  .whmcsbody .whmcssubmenu header.header .navbar-light {
    display: block;
  }
}
/* Primary Button */
.whmcscontainer .btn-primary,
.whmcscontainer .btn-primary:visited,
.whmcscontainer .btn-primary:active,
.whmcscontainer .btn-success,
.whmcscontainer .btn-success:visited,
.whmcscontainer .btn-success:active,
.whmcscontainer .btn-warning,
.whmcscontainer .btn-warning:visited,
.whmcscontainer .btn-warning:active,
.whmcscontainer .btn-outline-primary,
.whmcscontainer .btn-outline-primary:visited,
.whmcscontainer .btn-outline-primary:active {
  color: var(--color-primary-foreground) !important;
  border: solid 1px var(--color-primary-background-border) !important;
  background: var(--color-primary-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%) !important;
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px !important;
}

.whmcscontainer .btn-primary:hover,
.whmcscontainer .btn-success:hover,
.whmcscontainer .btn-warning:hover,
.whmcscontainer .btn-warning:focus,
.whmcscontainer .btn-outline-primary:hover {
  color: var(--color-primary-active-foreground) !important;
  border: solid 1px var(--color-primary-active-background-border) !important;
  background: var(--color-primary-active-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%) !important;
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px !important;
}

/* Secondary Button */
.whmcscontainer .btn-info,
.whmcscontainer .btn-info:active,
.whmcscontainer .btn-info:visited,
.whmcscontainer .btn-danger,
.whmcscontainer .btn-danger:active,
.whmcscontainer .btn-danger:visited,
.whmcscontainer .btn-default,
.whmcscontainer .btn-default:active,
.whmcscontainer .btn-default:visited {
  color: var(--color-secondary-foreground) !important;
  border: solid 1px var(--color-secondary-background-border) !important;
  background: var(--color-secondary-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%) !important;
  text-shadow: var(--color-secondary-foreground-shadow) 1px 1px !important;
}

.whmcscontainer .btn-info:hover,
.whmcscontainer .btn-danger:hover,
.whmcscontainer .btn-default:hover,
.whmcscontainer .btn-default:focus {
  color: var(--color-secondary-active-foreground) !important;
  border: solid 1px var(--color-secondary-active-background-border) !important;
  background: var(--color-secondary-active-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-active-background-gradient-top) 0, var(--color-secondary-active-background-gradient-bottom) 100%) !important;
  text-shadow: var(--color-secondary-active-foreground-shadow) 1px 1px !important;
}

/* Steps - Highlight */
.whmcs-templatefile-products .navmain .steps .step-step1,
.whmcs-templatefile-addons .navmain .steps .step-step1,
.whmcs-templatefile-adddomain .navmain .steps .step-step1,
.whmcs-templatefile-domainregister .navmain .steps .step-step1,
.whmcs-templatefile-domaintransfer .navmain .steps .step-step1,
.whmcs-templatefile-configureproductdomain .navmain .steps .step-step2,
.whmcs-templatefile-configuredomains .navmain .steps .step-step2,
.whmcs-templatefile-configureproduct .navmain .steps .step-step2,
.whmcs-templatefile-domainrenewals .navmain .steps .step-step2,
.whmcs-templatefile-viewcart .navmain .steps .step-step3,
.whmcs-templatefile-store\/order .navmain .steps .step-step2 {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
}

.whmcs-templatefile-products .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-addons .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-adddomain .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-domainregister .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-domaintransfer .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-configureproductdomain .navmain .steps .step-step2 .step-text,
.whmcs-templatefile-configuredomains .navmain .steps .step-step2 .step-text,
.whmcs-templatefile-configureproduct .navmain .steps .step-step2 .step-text,
.whmcs-templatefile-domainrenewals .navmain .steps .step-step2 .step-text,
.whmcs-templatefile-viewcart .navmain .steps .step-step3 .step-text,
.whmcs-templatefile-store\/order .navmain .steps .step-step2 .step-text {
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-configureproductdomain .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-configuredomains .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-configureproduct .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-viewcart .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-viewcart .navmain .steps .step-step2 .step-text,
.whmcs-templatefile-store\/order .navmain .steps .step-step1 .step-text {
  background: url("../images/cart-steps-check.png") right center no-repeat;
  background-size: 20px auto;
  padding-right: var(--spacing-child);
}

@media (max-width: 500px) {
  .whmcs-templatefile-configureproductdomain .navmain .steps .step-step1 .step-text,
  .whmcs-templatefile-configuredomains .navmain .steps .step-step1 .step-text,
  .whmcs-templatefile-configureproduct .navmain .steps .step-step1 .step-text,
  .whmcs-templatefile-viewcart .steps .navmain .step-step1 .step-text,
  .whmcs-templatefile-viewcart .steps .navmain .step-step2 .step-text {
    background-size: 15px auto;
    padding-right: var(--spacing-inner);
  }
}
/* Homepage (homepage.tpl) */
.whmcs-templatefile-homepage .whmcscontainer .action-icon-btns a {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-homepage .whmcscontainer .action-icon-btns a:hover {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border-color: var(--color-box-active-background-border);
  color: var(--color-box-active-foreground-bold);
}

.whmcs-templatefile-homepage .whmcscontainer .action-icon-btns a .ico-container i {
  color: var(--color-primary-background);
}

/* Login (login.tpl) */
.whmcs-templatefile-login .whmcscontainer .card .h3 {
  margin-bottom: 22px;
}

.whmcs-templatefile-login .whmcscontainer .social-signin-btns {
  margin-top: var(--spacing-parent);
}

/* Forgotten password (password-reset-container.tpl) */
.whmcs-templatefile-password-reset-container .whmcscontainer .card .h3 {
  margin-bottom: 22px;
}

/* Client Area Home (clientareahome.tpl) */
.whmcs-templatefile-clientareahome .whmcscontainer .tiles .tile {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-right: var(--color-box-background-border) 1px solid;
}

.whmcs-templatefile-clientareahome .whmcscontainer .tiles .tile i {
  color: var(--color-box-background-divider);
}

.whmcs-templatefile-clientareahome .whmcscontainer .tiles .tile:hover i {
  color: var(--color-box-head-background);
}

.whmcs-templatefile-clientareahome .whmcscontainer .tiles .tile .title {
  color: var(--color-box-foreground);
}

.whmcs-templatefile-clientareahome .whmcscontainer .primary-content .card .card-footer {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
}

.whmcs-templatefile-clientareahome .whmcscontainer .primary-content .client-home-cards .card .card-title .btn {
  padding: 1px 5px;
  margin: 0;
}

.whmcs-templatefile-clientareahome .whmcscontainer .primary-content .client-home-cards .card-body p {
  padding: 0;
  margin: 0;
}

/* Register (clientregister.tpl) */
.whmcs-templatefile-clientregister .whmcscontainer .social-signin-btns {
  margin-bottom: var(--spacing-child);
}

.whmcs-templatefile-clientregister .whmcscontainer .intl-tel-input.separate-dial-code .selected-flag {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
}

.whmcs-templatefile-clientregister .whmcscontainer .offset-md-2 { /* Fix capcha spacing bug */
  margin-left: 0;
}

.whmcs-templatefile-clientregister .sub-heading {
  display: none;
}

.whmcs-templatefile-clientregister #registration label {
  color: var(--color-body);
  font-size: 1em;
  font-weight: normal;
}

/* Affiliates Signup (affiliatessignup.tpl) */
.whmcs-templatefile-affiliatessignup .whmcscontainer .lead {
  text-align: center;
}

.whmcs-templatefile-affiliatessignup .whmcscontainer ul {
  padding: 0 !important;
  margin-bottom: 0;
}

.whmcs-templatefile-affiliatessignup .whmcscontainer ul li {
  background: url("../images/bullet-icon.png") left center no-repeat;
  background-size: auto 20px;
  padding: 15px 0 15px 30px;
}

.whmcs-templatefile-affiliatessignup .whmcscontainer p:last-child {
  margin-bottom: 0;
}

.whmcs-templatefile-affiliatessignup .whmcscontainer .card.extra-padding {
  padding-bottom: 0 !important;
}

/* Affiliates (affiliates.tpl) */
.whmcs-templatefile-affiliates .whmcscontainer .affiliate-stat {
  line-height: 2.2em;
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border: var(--color-secondary-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-affiliates .whmcscontainer .affiliate-stat.alert-warning,
.whmcs-templatefile-affiliates .whmcscontainer .affiliate-stat.alert-info,
.whmcs-templatefile-affiliates .whmcscontainer .affiliate-stat.alert-success {
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-affiliates .whmcscontainer .card .h3 {
  text-align: center;
  margin-bottom: var(--spacing-child);
  font-family: var(--font-heading);
  color: var(--color-black);
  font-weight: bold;
}

.whmcs-templatefile-affiliates .whmcscontainer input[type=text] {
  text-align: center;
  font-weight: bold;
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
  font-size: 1.2em;
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border-color: var(--color-box-active-background-border);
  color: var(--color-box-active-foreground);
}

/* Add Funds (clientareaaddfunds.tpl) */
.whmcs-templatefile-clientareaaddfunds .whmcscontainer .card .table {
  border: none !important;
  margin-bottom: 0;
}

/* Product Details (clientareaproductdetails.tpl) */
.whmcs-templatefile-clientareaproductdetails .whmcscontainer .mb-2 {
  margin-bottom: var(--spacing-child) !important;
}

.whmcs-templatefile-clientareaproductdetails .whmcscontainer .product-details .product-status h3 {
  margin-top: 20px;
}

.whmcs-templatefile-clientareaproductdetails .whmcscontainer .product-details .product-status h4 {
  margin-bottom: 0;
}

.whmcs-templatefile-clientareaproductdetails .whmcscontainer .product-details .product-status h3,
.whmcs-templatefile-clientareaproductdetails .whmcscontainer .product-details .product-status h4 {
  font-size: 0.4em;
}

/* View Ticket (viewticket.tpl) */
.whmcs-templatefile-viewticket .whmcscontainer .ticket-buttons {
  margin-bottom: var(--spacing-child);
  text-align: center;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .posted-by {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border: var(--color-secondary-background-border) 1px solid;
  color: var(--color-secondary-foreground);
  padding: 0.75rem 1.25rem;
  text-align: center;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .posted-by .requestor-badge {
  background: var(--color-secondary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-active-background-gradient-top) 0, var(--color-secondary-active-background-gradient-bottom) 100%);
  color: var(--color-secondary-active-foreground);
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply.staff .posted-by {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply.staff .posted-by .requestor-badge {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  color: var(--color-primary-active-foreground);
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .message {
  padding: var(--spacing-inner) !important;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .message hr {
  clear: both;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .message .ticket-support {
  border-top: var(--color-box-background-divider) 1px solid;
  padding-top: var(--spacing-inner);
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .rating,
.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .rating-done {
  margin: 17px 0 0 0;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .attachments {
  border-top: var(--color-box-background-divider) 1px solid;
  padding: var(--spacing-inner) !important;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .attachment-list li {
  width: 150px;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .attachment-list li a figure {
  margin: 0;
  background-color: transparent;
  line-height: 50px;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .attachment-list li a .caption {
  margin-top: 10px;
  overflow: hidden;
}

/* Client Area Security (clientareasecurity.tpl) */
.whmcs-templatefile-clientareasecurity .whmcscontainer .bootstrap-switch {
  margin-bottom: var(--spacing-child);
}

/* Client Area Details (clientareadetails.tpl) */
.whmcs-templatefile-clientareadetails .whmcscontainer .btn-default {
  display: none;
}

/* Client Area Domain Details (clientareadomaindetails.tpl) */
.whmcs-templatefile-clientareadomaindetails .whmcscontainer .col-lg-6 {
  text-align: center;
  margin-bottom: var(--spacing-child);
}

.whmcs-templatefile-clientareadomaindetails .whmcscontainer .col-lg-6 h5 {
  margin-bottom: 10px;
}

/* Account Contacts New (account-contacts-new.tpl) */
.whmcs-templatefile-account-contacts-new .whmcscontainer .btn-default {
  display: none;
}

/* Announcements (announcements.tpl) */
.whmcs-templatefile-announcements .whmcscontainer .primary-content .card .card-title {
  display: none;
}

.whmcs-templatefile-announcements .whmcscontainer .primary-content .card {
  background: none;
  border: none;
}

.whmcs-templatefile-announcements .whmcscontainer .primary-content .card .card-body {
  padding: 0 !important;
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  margin-bottom: var(--spacing-child) !important;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement::after {
  clear: both;
  display: table;
  content: "";
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement h1 {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  margin: 0 0 var(--spacing-child) 0;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement h1 a {
  color: var(--color-box-head-foreground);
  font-size: 0.8em;
  padding: 5px 0;
  display: block;
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement .list-inline {
  padding: 0 var(--spacing-inner);
  text-align: center;
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement article {
  margin: 0 var(--spacing-inner) var(--spacing-child) var(--spacing-inner);
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement .btn {
  margin: 0 var(--spacing-child) var(--spacing-child) 0;
  float: right;
}

/* View Announcement (announcements.tpl) */
.whmcs-templatefile-viewannouncement .whmcscontainer .primary-content .card {
  background: none;
  border: none;
}

.whmcs-templatefile-viewannouncement .whmcscontainer .primary-content .card .card-body {
  padding: 0 !important;
}

.whmcs-templatefile-viewannouncement .whmcscontainer .primary-content .card h1 {
  display: none;
}

.whmcs-templatefile-viewannouncement .whmcscontainer .py-5 {
  padding-top: 0 !important;
}

.whmcs-templatefile-viewannouncement .whmcscontainer .list-inline {
  text-align: center;
}

.whmcs-templatefile-viewannouncement .whmcscontainer .button1 {
  margin: 5px;
}

/* Marketconnect */
.whmcscontainer .bg-white {
  background: transparent !important;
}

.whmcscontainer .bg-light {
  background: var(--color-box-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%) !important;
}

.whmcscontainer .landing-page .navbar.navbar-expand-lg .navbar-nav > li > a {
  border-left-color: var(--color-box-background-divider) !important;
}

.whmcscontainer .landing-page .navbar.navbar-expand-lg .navbar-nav > li:last-child > a {
  border-right-color: var(--color-box-background-divider) !important;
}

.whmcscontainer .landing-page .navbar .navbar-nav > li > a {
  border-bottom-color: var(--color-box-background-border);
}

.whmcscontainer .navbar-light .navbar-nav .nav-link {
  color: var(--color-box-foreground);
}

.whmcscontainer .landing-page .navbar .navbar-nav > li.active > a {
  color: var(--color-box-active-foreground);
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
}

.whmcscontainer .navbar-light .navbar-nav .nav-link:hover {
  color: var(--color-primary-background);
}

.whmcscontainer .landing-page.marketgoo .feature-wrapper {
  border-radius: var(--border-radius);
}

.whmcscontainer .landing-page .text20 h2 {
  color: var(--color-heading);
}

/* Promo banner (displayed in clientareahome.tpl) */
.whmcscontainer .promo-container {
  border-color: var(--color-border);
}

.whmcscontainer .promo-banner.symantec,
.whmcscontainer .promo-banner.weebly,
.whmcscontainer .promo-banner.spamexperts,
.whmcscontainer .promo-banner.sitelock,
.whmcscontainer .promo-banner.codeguard,
.whmcscontainer .promo-banner.sitelockvpn,
.whmcscontainer .promo-banner.marketgoo,
.whmcscontainer .promo-banner.ox,
.whmcscontainer .promo-banner.sitebuilder {
  border-color: var(--color-primary-background);
}

.whmcscontainer .promo-banner a,
.whmcscontainer .promo-banner a:hover {
  color: var(--color-primary-background);
}

/* SSL Certificates */
.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .validation-levels {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .validation-levels h3 .whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl p.help-me-choose a,
.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl a.help-me-choose {
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .validation-levels .item {
  background-color: #fff;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .validation-levels .item p {
  color: var(--color-body);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .validation-levels .item .btn {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .validation-levels .item .btn:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .ssl-benefits i {
  color: var(--color-secondary-background);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .competitive-upgrade-promo {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  color: var(--color-secondary-foreground);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .standout-2 {
  color: var(--color-body);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .detailed-info {
  padding: 0;
  background-color: transparent;
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .accordion {
  border: none;
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .detailed-info .card {
  border: none;
  border-radius: 0;
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .detailed-info .card-header {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  border-radius: 0;
  border-bottom: none;
  color: var(--color-box-head-foreground);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .detailed-info .card-header h4 {
  color: var(--color-box-head-foreground);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .detailed-info .card-body {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .detailed-info .card-body h4 {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl ul.ssl-certs-all li {
  border-bottom: var(--color-box-background-divider) 1px solid;
}

/* SSL sub pages */
.whmcscontainer .landing-page.ssl .ideal-for.dv i {
  color: var(--color-secondary-background);
}

.whmcscontainer .landing-page.ssl .certificate-options {
  background: var(--color-secondary-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%) !important;
  color: var(--color-secondary-foreground) !important;
  border-radius: var(--border-radius) !important;
}

.whmcscontainer .landing-page.ssl .certificate-options h3,
.whmcscontainer .landing-page.ssl .row-pricing-table .header h4 {
  color: var(--color-secondary-foreground);
}

.whmcscontainer .landing-page.ssl .certificate-options .col-md-3.sidebar ul li,
.whmcscontainer .landing-page.ssl .certificate-options .col-md-4.sidebar ul li,
.whmcscontainer .landing-page.ssl .certificate-options .col-md-6.sidebar ul li {
  color: var(--color-secondary-foreground);
  border-color: #fff !important;
}

.whmcscontainer .landing-page.ssl .row-pricing-table ul li:first-child {
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcscontainer .landing-page.ssl .row-pricing-table ul li:last-child {
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.whmcscontainer .landing-page.ssl .certificate-options .btn {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
}

.whmcscontainer .landing-page.ssl .certificate-options .btn:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

.whmcscontainer .landing-page.ssl .features {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
  padding: 50px var(--spacing-inner) 50px;
}

.whmcscontainer .landing-page.ssl .features h3 {
  color: var(--color-box-foreground-bold);
}

.whmcscontainer .landing-page.ssl .features .feature,
.whmcscontainer .landing-page.ssl .features .feature:hover {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  font-size: 1.2em;
  color: var(--color-box-active-foreground-bold);
  border-radius: var(--border-radius);
}

.whmcscontainer .landing-page.ssl .features .feature i {
  color: var(--color-box-active-foreground-bold);
}

/* VPN */
.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .dividing-line {
  background-color: var(--color-border);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .hero {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .hero-bg {
  padding-left: var(--spacing-child);
  padding-right: var(--spacing-child);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .hero h1 {
  color: var(--color-secondary-foreground);
  text-shadow: var(--color-secondary-foreground-shadow) 1px 1px;
  text-align: left;
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .hero h2 {
  color: var(--color-secondary-foreground);
  text-align: left;
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .btn-start {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .btn-start:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.alternate-bg {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.pricing {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.pricing h2 {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.pricing .pricing-box {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border: var(--color-box-active-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-active-foreground);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.pricing .cycle {
  background: var(--color-box-active-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-head-background-gradient-top) 0, var(--color-box-active-head-background-gradient-bottom) 100%);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  color: var(--color-box-active-head-foreground);
  border-bottom: var(--color-box-active-head-background-border) 1px solid;
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.pricing .price {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.pricing ul li {
  border-color: var(--color-box-background-divider);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature .label-info {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .btn-signup {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  color: var(--color-secondary-foreground);
  border: var(--color-secondary-background-border) 1px solid;
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.world span {
  color: var(--color-primary-background);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.countries {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
}

/* Website Builder */
.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .features {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .features h4 {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .weebly-lite-plan {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  padding: var(--spacing-inner);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .weebly-lite-plan h4,
.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .weebly-lite-plan h5 {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .weebly-lite-plan .btn-signup {
  background: var(--color-primary-background) !important;
  border: var(--color-primary-background-border) 1px solid !important;
  color: var(--color-primary-foreground) !important;
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px !important;
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .weebly-lite-plan .btn-signup:hover {
  background: var(--color-primary-active-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%) !important;
  border: var(--color-primary-active-background-border) 1px solid !important;
  color: var(--color-primary-active-foreground) !important;
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px !important;
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item .header {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  padding: 11px;
  margin-bottom: var(--spacing-child);
  border-bottom: var(--color-box-head-background-border) 1px solid;
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item .header h4,
.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item .header h5 {
  color: var(--color-box-head-foreground);
  margin: 0;
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item .price {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item .feature-heading {
  color: var(--color-box-foreground-bold);
  background-color: transparent;
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item ul li {
  border-color: var(--color-box-background-divider);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .faq {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .faq h3,
.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .faq h4 {
  color: var(--color-box-foreground-bold);
}

/* Website Backup */
.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .strong-green span {
  color: var(--color-primary-background);
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .overview-features li {
  border-color: var(--color-border);
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .overview-features span {
  color: var(--color-body);
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .pricing {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .pricing h2 {
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .order-btn {
  background: var(--color-primary-background) !important;
  border: var(--color-primary-background-border) 1px solid !important;
  color: var(--color-primary-foreground) !important;
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px !important;
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .order-btn:hover {
  background: var(--color-primary-active-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%) !important;
  border: var(--color-primary-active-background-border) 1px solid !important;
  color: var(--color-primary-active-foreground) !important;
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px !important;
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .faqs {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
}

/* Website Security */
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans h2,
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans h3 {
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border: var(--color-box-active-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-active-foreground);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan .header {
  background: var(--color-box-active-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-head-background-gradient-top) 0, var(--color-box-active-head-background-gradient-bottom) 100%);
  border-bottom: var(--color-box-active-head-background-border) 1px solid;
  color: var(--color-box-active-head-foreground);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan .header h4,
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan .header p {
  color: var(--color-box-active-head-foreground);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan .header h4 {
  font-weight: bold;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan ul li {
  color: var(--color-box-active-foreground);
  border-color: var(--color-box-active-background-divider);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan ul li span {
  color: var(--color-box-active-foreground);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan .btn {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan .btn:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .features .fas,
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .features .far {
  color: var(--color-secondary-background);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
  padding: 80px 20px;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency h2.text-danger {
  color: var(--color-box-foreground-bold) !important;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency h3 {
  color: var(--color-box-foreground);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock h4 {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency .fas,
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency .far {
  color: var(--color-box-active-foreground-bold);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency .btn {
  background: var(--color-primary-background) !important;
  border: var(--color-primary-background-border) 1px solid !important;
  color: var(--color-primary-foreground) !important;
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px !important;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency .btn:hover {
  background: var(--color-primary-active-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%) !important;
  border: var(--color-primary-active-background-border) 1px solid !important;
  color: var(--color-primary-active-foreground) !important;
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px !important;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .faq .accordion {
  border: none;
  padding: 0;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .card .card-header h4 {
  color: var(--color-box-head-foreground) !important;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .accordion > .card:not(:last-of-type),
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .accordion > .mc-promo-login:not(:last-of-type),
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .accordion > .mc-promo-manage:not(:last-of-type) {
  border-bottom: var(--color-box-background-border) var(--border-bottom-width) solid;
}

/* Email Security */
.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page.mail-services .product-options {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page.mail-services .product-options .item {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .product-options h4,
.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .product-options i {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page.mail-services .product-options .price {
  color: var(--color-primary-background);
  font-weight: bold;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .product-options .item .btn {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border: var(--color-secondary-background-border) 1px solid;
  color: var(--color-secondary-foreground);
  text-shadow: var(--color-secondary-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .product-options .item .btn:hover {
  background: var(--color-secondary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-active-background-gradient-top) 0, var(--color-secondary-active-background-gradient-bottom) 100%);
  border: var(--color-secondary-active-background-border) 1px solid;
  color: var(--color-secondary-active-foreground);
  text-shadow: var(--color-secondary-active-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page.mail-services .product-options .btn-buy {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page.mail-services .product-options .btn-buy:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .light-grey-bg {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-body);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .tab-content {
  padding: 0;
  background-color: transparent;
  color: var(--color-box-foreground);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page.mail-services .benefits {
  background-color: transparent;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .get-started {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  color: var(--color-box-active-foreground);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .get-started h2,
.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .get-started h4,
.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .get-started .price {
  color: var(--color-box-active-foreground-bold);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .faq h3 {
  color: var(--color-heading);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .get-started .btn-order-now {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .get-started .btn-order-now:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

/* SEO Tools */
.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .video-banner {
  background-color: #46b7fb;
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .plan ul {
  border-top-color: var(--color-border);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .plan.labels ul li {
  border-right-color: var(--color-border);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .plan ul li {
  border-bottom-color: var(--color-border);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .plan.marketgoo_pro .header h4 {
  color: var(--color-primary-background);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .plan .header .best-value {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  color: var(--color-primary-foreground);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .plan.marketgoo_pro ul {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  color: var(--color-box-active-foreground);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .testimonials .testimonial {
  color: var(--color-body);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .carousel .carousel-indicators li {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .faqs {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: var(--border-radius);
}

/* Professional Email */
.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .header {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .header h1 {
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .stand-out {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .stand-out h2 {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox h3 {
  color: var(--color-primary-background);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .faqs {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .pricing table {
  color: var(--color-box-foreground);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .pricing table tr:nth-child(2n) td:first-child {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .pricing td:not(.no-border),
.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .pricing th {
  border-color: var(--color-box-background-border);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .pricing .pricing-label {
  color: var(--color-heading);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .pricing th {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  color: var(--color-box-head-foreground);
}

/* Site Builder */
.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .bold-line {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .hero {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .intro {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .nav-tabs > li > a {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground-bold);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .nav-tabs > li > a:hover,
.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .nav-tabs > li > a.active {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  color: var(--color-box-active-foreground-bold);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .features p {
  color: var(--color-body);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .templates {
  border-top-color: var(--color-border);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .templates .previews img,
.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .templates .previews .show-more div {
  border-color: var(--color-border);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .templates .previews .tplname {
  color: var(--color-heading);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .pricing {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  height: 893px;
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .pricing h2, .landing-page.sitebuilder .pricing p {
  color: var(--color-secondary-foreground);
}

/* Cart - Standard Cart */
.whmcs-filename-cart #order-standard_cart label {
  color: var(--color-body);
  font-size: 1em;
  font-weight: normal;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart {
  font-size: 1em; /* Unset pixel font */
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .cart-sidebar { /* Remove sidebar */
  display: none !important;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .cart-body {
  width: 100%;
  float: none;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .sidebar-collapsed { /* Remove mobile categories */
  display: none;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .font-size-36 { /* H1 */
  font-size: 2em;
  position: relative;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .font-size-36::before {
  content: "";
  position: absolute;
  bottom: -10px;
  width: 40px;
  height: 2px;
  background: url("../images/heading-background.png") left top no-repeat;
  text-align: center;
}

/* Subheading */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .sub-heading,
.whmcs-filename-cart .whmcscontainer #order-standard_cart .sub-heading-borderless {
  height: auto;
  border: none;
  margin: 0;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .sub-heading span,
.whmcs-filename-cart .whmcscontainer #order-standard_cart .sub-heading-borderless span {
  display: block;
  position: static;
  padding: 0;
  font-size: 1.5em;
  line-height: 1.2em;
  text-transform: capitalize;
  color: var(--color-black);
  font-weight: bold;
  margin: 0 0 var(--spacing-child) 0;
  font-family: var(--font-heading);
  text-align: center;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .addon-promo-container {
  border-color: var(--color-border);
  border-radius: var(--border-radius);
}

/* Order Summary */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .order-summary {
  margin: 0 0 20px 0;
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  border: var(--color-box-head-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .order-summary,
.whmcs-filename-cart .whmcscontainer #order-standard_cart #orderSummary {
  margin-top: 0 !important; /* Stops the scroll effect which is too buggy to keep active */
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .order-summary h2 {
  padding: 15px;
  color: var(--color-box-head-foreground);
  font-size: 1.4em;
  font-weight: bold;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .summary-container {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: 0;
  padding: var(--spacing-inner);
  font-size: 0.9em;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .order-summary .summary-totals {
  border-top: var(--color-box-background-divider) 1px solid;
  border-bottom: var(--color-box-background-divider) 1px solid;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .order-summary .loader {
  top: 15px;
  color: var(--color-box-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .order-summary .btn-continue-shopping {
  color: var(--color-box-foreground);
}

/* Product Info */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .product-info {
  margin: 0 0 var(--spacing-child) 0;
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  padding: var(--spacing-child);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .product-info .product-title {
  color: var(--color-box-foreground-bold);
  font-weight: bold;
  margin-bottom: 15px;
}

/* Addons */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon {
  font-size: 0.9em;
  border-bottom-width: 0;
  color: var(--color-box-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon .panel-body {
  border-radius: 0;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon .panel-body label {
  font-size: 1.2em;
  color: var(--color-box-foreground-bold);
  text-transform: capitalize;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon .panel-price {
  padding: 5px var(--spacing-inner);
  background: var(--color-box-footer-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-footer-background-gradient-top) 0, var(--color-box-footer-background-gradient-bottom) 100%);
  border-top: var(--color-box-footer-background-border) 1px solid;
  color: var(--color-box-footer-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon .panel-add {
  padding: 5px var(--spacing-inner);
  border-radius: 0;
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  font-weight: bold;
  text-transform: capitalize;
  border-bottom: var(--color-primary-border) 3px solid;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

/* Selected */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon-selected {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border-color: var(--color-box-active-border);
  color: var(--color-box-active-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon-selected .panel-add {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon-selected .panel-price {
  background: var(--color-box-active-footer-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-footer-background-gradient-top) 0, var(--color-box-active-footer-background-gradient-bottom) 100%);
  border-top: var(--color-box-active-footer-background-border) 1px solid;
  color: var(--color-box-active-footer-foreground);
}

/* Domain Select - Used when ordering a product with domain - also styles the table/results on domainregister.tpl */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .domain-selection-options .option {
  margin-bottom: 15px;
  padding: var(--spacing-inner);
  border-radius: 0;
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .domain-selection-options .option-selected {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border: var(--color-box-active-background-border) 1px solid;
  color: var(--color-box-active-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .domain-selection-options .option label {
  margin-bottom: 0;
  font-size: 1em;
  font-weight: normal;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .domain-selection-options .option-selected label {
  font-weight: bold;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .domain-input-group {
  margin: 20px 0 0 0;
}

/* Domain Results */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .domain-checker-available {
  color: var(--color-primary-background);
  margin-bottom: 10px;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tlds {
  padding: 0;
  background-color: transparent;
  margin: 15px 0 var(--spacing-child) 0;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tld-container-2 {
  width: 33.33%;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tld {
  height: auto;
  padding: var(--spacing-inner);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tld .spotlight-tld-sale,
.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tld .spotlight-tld-hot,
.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tld .spotlight-tld-new {
  width: 105px;
  top: 2px;
  right: -34px;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tld .btn:not(.domain-contact-support) {
  border-radius: var(--border-radius);
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border-color: var(--color-primary-background-border);
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  font-weight: bold;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .panel-heading {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  border: var(--color-box-head-background-border) 1px solid;
  border-bottom-width: 1px;
  font-weight: bold;
  text-align: center;
  color: var(--color-box-head-foreground);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .list-group-item {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-top: none;
  color: var(--color-box-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .list-group-item .extension {
  color: var(--color-box-foreground-bold);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .list-group-item .price {
  color: var(--color-box-foreground-bold);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .list-group-item .btn:not(.domain-contact-support) {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .list-group-item .btn:not(.domain-contact-support):hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .card-footer {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

/* Configure Domains (configuredomains.tpl) */
.whmcs-templatefile-configuredomains .whmcscontainer #order-standard_cart .addon-products {
  margin-bottom: var(--spacing-child);
  border-bottom: var(--color-border) 1px solid;
}

.whmcs-templatefile-configuredomains .whmcscontainer #order-standard_cart .addon-products .panel {
  margin-bottom: var(--spacing-child);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: 0;
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-configuredomains .whmcscontainer #order-standard_cart .addon-products .panel .panel-body {
  padding: var(--spacing-inner);
}

/* Configure Product (configureproduct.tpl) */
.whmcs-templatefile-configureproduct .whmcscontainer #order-standard_cart #inputBillingcycle {
  width: 100%;
}

/* Configure Product Store (store/order) */
.whmcs-templatefile-store\/order .whmcscontainer .btn-default {
  display: none;
}

.whmcs-templatefile-store\/order .whmcscontainer .card.mt-5 {
  display: none;
}

.whmcs-templatefile-store\/order .whmcscontainer .store-promoted-product {
  display: none;
}

.whmcs-templatefile-store\/order .whmcscontainer .store-order-container .nav-tabs {
  border-color: var(--color-border);
}

.whmcs-templatefile-store\/order .whmcscontainer .store-order-container .nav-tabs .nav-link.active {
  border-color: var(--color-border) var(--color-border) #fff;
}

.whmcs-templatefile-store\/order .whmcscontainer .store-order-container .store-domain-tab-content {
  border-color: var(--color-border);
}

/* Products (products.tpl) */
.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-color: var(--color-box-background-border);
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
  padding: 0;
}

.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product header {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  border-bottom: var(--color-box-head-background-border) 1px solid;
  margin: 0 0 5px 0;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product header span {
  color: var(--color-box-head-foreground);
}

.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product div.product-desc {
  font-size: 1em;
}

/* Hover */
.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product:hover {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border-color: var(--color-box-active-background-border);
  color: var(--color-box-active-foreground);
}

.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product:hover header {
  background: var(--color-box-active-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-head-background-gradient-top) 0, var(--color-box-active-head-background-gradient-bottom) 100%);
  border-color: var(--color-box-active-head-background-border);
}

.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product:hover header span {
  color: var(--color-box-active-head-foreground);
}

/* Register Domain (domain-pricing.tpl) */
.whmcs-templatefile-domain-pricing .whmcscontainer .featured-tld {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  margin-bottom: var(--spacing-child);
  box-shadow: var(--shadow);
}

.whmcs-templatefile-domain-pricing .whmcscontainer .tld-filters a {
  padding: 10px;
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border: var(--color-secondary-background-border) 1px solid;
  color: var(--color-secondary-foreground);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domain-pricing .whmcscontainer .tld-filters a.badge-success {
  background: var(--color-secondary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-active-background-gradient-top) 0, var(--color-secondary-active-background-gradient-bottom) 100%);
  border-color: var(--color-secondary-active-background-border);
  color: var(--color-secondary-active-foreground);
}

/* Domain Register (domainregister.tpl) */
.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-checker-container {
  background: var(--background-banner) url("../images/background5.jpg") center center no-repeat;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-checker-container .input-group-box {
  border-radius: 0;
  background-color: transparent;
  padding: 0;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-checker-container .input-group-lg > .form-control {
  border-radius: var(--border-radius) 0 0 var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-checker-bg {
  padding: var(--spacing-parent) 0;
  background-image: none;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .featured-tld {
  margin: 0 0 var(--spacing-child) 0;
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: 0;
  box-shadow: none;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .featured-tld .img-container img {
  display: inline;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .featured-tld .price {
  padding: 5px var(--spacing-inner);
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  font-weight: bold;
  text-transform: capitalize;
  border-bottom: var(--color-primary-background-border) 3px solid;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .font-size-18 {
  font-size: 1.7em;
  line-height: 1.2em;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .tld-filters a {
  padding: 13px 20px;
  color: var(--color-secondary-foreground);
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border: var(--color-secondary-background-border) 1px solid;
  margin: 8px 5px 8px 0;
  font-weight: bold;
  font-size: 1.1em;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .tld-filters a.badge-success { /* Active button */
  color: var(--color-secondary-active-foreground);
  background: var(--color-secondary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-active-background-gradient-top) 0, var(--color-secondary-active-background-gradient-bottom) 100%);
  border-color: var(--color-secondary-active-background-border);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .bg-white {
  margin-bottom: var(--spacing-child);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  background: var(--color-box-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%) !important;
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-pricing .tld-pricing-header div:nth-child(2n+1),
.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-pricing .tld-pricing-header .col-xs-4 {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  color: var(--color-box-head-foreground);
  border: none;
  border-radius: 0;
  font-weight: bold;
  padding: 5px 0;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-pricing .two-row-center {
  border: none !important;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-pricing .tld-row {
  padding: 8px 0;
  border-bottom: var(--color-box-background-divider) 1px solid;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-pricing .tld-row.highlighted {
  background: transparent;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box {
  margin: 0 0 var(--spacing-child) 0;
  padding: var(--spacing-inner);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box h3 {
  font-size: 1.8em;
  line-height: 1.1em;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box h3,
.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box p {
  margin: 0 0 15px 0;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box p {
  font-size: 1em;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box .small {
  margin: 15px 0 0 0;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box .text-primary,
.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box .text-warning {
  color: var(--color-primary-background) !important;
}

/* Domain Transfer (domaintransfer.tpl) */
.whmcs-templatefile-domaintransfer .whmcscontainer #order-standard_cart .font-size-36,
.whmcs-templatefile-domaintransfer .whmcscontainer #order-standard_cart .font-size-30 {
  display: none;
}

.whmcs-templatefile-domaintransfer .whmcscontainer #order-standard_cart p {
  margin-bottom: 0;
}

/* Knowledgebase style */
.whmcs-templatefile-knowledgebasearticle .mainmain article ul li {
  padding: 7px 0 7px 0;
  list-style: disc inside;
}

.whmcs-templatefile-knowledgebasearticle .mainmain article ol li {
  padding: 7px 0 7px 0;
  list-style: numberd inside;
}

.whmcs-templatefile-knowledgebasearticle .mainmain article table td {
  border: #000 1px solid;
  padding: 5px;
}

/* View Cart (viewcart.tpl) */
.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .view-cart-items-header {
  padding: 15px 15px;
  color: var(--color-box-head-foreground);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  border: var(--color-box-head-background-border) 1px solid;
  border-bottom-width: 0;
  font-weight: bold;
  font-size: 1em;
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .view-cart-items {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  color: var(--color-box-foreground);
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .view-cart-items .item {
  background: transparent;
  border-bottom: var(--color-box-background-divider) 1px solid;
  padding: var(--spacing-inner);
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .view-cart-items .item:last-child {
  border-bottom: none;
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .view-cart-items .item-title {
  color: var(--color-box-foreground-bold);
  font-weight: bold;
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .view-cart-items .item-domain {
  color: var(--color-primary-background);
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .empty-cart {
  margin: 0 0 var(--spacing-child) 0;
  text-align: center;
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .empty-cart .btn {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border: var(--color-secondary-background-border) 1px solid;
  color: var(--color-secondary-foreground);
  text-shadow: var(--color-secondary-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .empty-cart .btn:hover {
  background: var(--color-secondary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-active-background-gradient-top) 0, var(--color-secondary-active-background-gradient-bottom) 100%);
  border-color: var(--color-secondary-active-background-border);
  color: var(--color-secondary-active-foreground);
  text-shadow: var(--color-secondary-active-foreground-shadow) 1px 1px;
  text-decoration: none;
}

/* Checkout (viewcart.tpl - even on the checkout page) */
.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .checkout-security-msg {
  display: none;
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .field-container {
  margin-bottom: 0;
}

.whmcs-templatefile-viewcart #order-standard_cart .cc-input-container {
  padding: 0;
  background-color: transparent;
  margin-top: var(--spacing-child);
  padding-top: var(--spacing-child);
  border: unset;
  border-top: var(--color-border) 1px solid;
  border-radius: 0;
}

.whmcs-templatefile-viewcart #order-standard_cart .account-select-container {
  border: none;
}

.whmcs-templatefile-viewcart #order-standard_cart .account-select-container div.account.border-bottom {
  border: none !important;
}

.whmcs-templatefile-viewcart #order-standard_cart .account-select-container div.account {
  padding: 0;
  border: none;
  margin-bottom: 15px;
}

.whmcs-templatefile-viewcart #order-standard_cart .account-select-container div.account.active {
  background: transparent;
}

.whmcs-templatefile-viewcart #order-standard_cart #containerNewUserSecurity {
  margin-top: 15px;
}

.whmcs-templatefile-viewcart #order-standard_cart .marketing-email-optin {
  margin-bottom: var(--spacing-child);
}

/* Cart - Premium Comparison */
.whmcs-templatefile-products #order-premium_comparison .price-table-container ul li {
  background-image: none;
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .price-table {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
  box-shadow: none;
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .price-table .top-head {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .price-table .top-head .top-area h4 {
  color: var(--color-box-head-foreground);
  text-shadow: var(--color-box-head-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .price-table .top-head .top-area {
  border-bottom: var(--color-box-head-background-border) 1px solid;
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .price-table .top-head .price-area {
  background: var(--color-box-footer-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-footer-background-gradient-top) 0, var(--color-box-footer-background-gradient-bottom) 100%);
  border-top: none;
  border-bottom: var(--color-box-footer-background-border) 1px solid;
  color: var(--color-box-footer-foreground);
  text-shadow: var(--color-box-footer-foreground-shadow);
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .order-button {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
  box-shadow: none;
  font-weight: bold;
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .order-button:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
  box-shadow: none;
  font-weight: bold;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2Zvc3NiaWxsaW5nLWJ1bmRsZS4zMjM5YmUuY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBO3FIQUFBO0FBR0E7Ozs7Ozs7Ozs7Q0FBQTtBQVlBO0FBRUE7RUFDQztFQUNBO0FBRkQ7O0FBS0E7RUFDQztBQUZEOztBQUtBO0VBQ0M7QUFGRDs7QUFLQTtFQUNDO0FBRkQ7O0FBS0E7RUFDQztBQUZEOztBQUtBO0VBQ0M7RUFDQTtBQUZEOztBQUtBO0VBQ0M7RUFDQTtFQUNBO0FBRkQ7O0FBS0E7RUFDQztBQUZEOztBQUtBO0VBQ0M7QUFGRDs7QUFLQTtFQUNDO0FBRkQ7O0FBS0E7QUFFQTs7OztFQUlDO0FBSEQ7O0FBTUE7RUFDQztBQUhEOztBQU1BO0FBRUE7Ozs7RUFJQztBQUpEOztBQU9BO0VBQ0M7RUFDQTtFQUNBO0FBSkQ7O0FBT0E7RUFDQztBQUpEOztBQU9BO0FBRUE7RUFDSTtBQUxKOztBQVFBO0VBQ0M7QUFMRDs7QUFRQTtBQUVBO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CQztBQVJEOztBQVdBO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkM7RUFDQTtBQVREOztBQVlBO0FBRUE7RUFDQztFQUNBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVZKOztBQWFBO0VBQ0M7RUFDQTtFQUNBO0FBVkQ7O0FBYUE7O0VBRUM7QUFWRDs7QUFhQTtFQUNDO0FBVkQ7O0FBYUE7RUFDQztBQVZEOztBQWFBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVZEOztBQWFBO0FBRUE7RUFDQztBQVhEOztBQWNBO0VBQ0M7QUFYRDs7QUFjQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFYRDs7QUFjQTtFQUNDO0VBQ0E7QUFYRDs7QUFjQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBWEQ7O0FBY0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQVhEOztBQWNBO2dGQUNnRjtFQUMvRTtBQVhEOztBQWNBO0VBQ0M7RUFDQTtBQVhEOztBQWNBO0VBQ0M7QUFYRDs7QUFjQTtBQUVBOzs7Ozs7RUFNQztBQVpEOztBQWVBO0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQWJEOztBQWdCQTtFQUNDO0FBYkQ7O0FBZ0JBO0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFkRDs7QUFpQkE7QUFFQTs7OztFQUlDO0VBQ0E7QUFmRDs7QUFrQkE7O0VBRUM7QUFmRDs7QUFrQkE7RUFDQztFQUNBO0VBQ0E7QUFmRDs7QUFrQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQWZEOztBQWtCQTs7RUFFQztBQWZEOztBQWtCQTtFQUNDO0FBZkQ7O0FBa0JBOztFQUVDO0VBQ0E7QUFmRDs7QUFrQkE7RUFDQztFQUNBO0FBZkQ7O0FBa0JBO0FBRUE7RUFDQztBQWhCRDs7QUFtQkE7O0VBRUM7QUFoQkQ7O0FBbUJBO0VBQ0M7RUFDQTtFQUNBO0FBaEJEOztBQW1CQTs7Ozs7OztFQU9DO0VBQ0E7RUFDQTtBQWhCRDs7QUFtQkE7RUFDQztFQUNBO0FBaEJEOztBQW1CQTtBQUVBO0VBQ0M7RUFDQTtBQWpCRDs7QUFvQkE7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBbEJEOztBQXFCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWxCRDs7QUFxQkE7O0VBRUM7RUFDQTtBQWxCRDs7QUFxQkE7RUFDQztFQUNBO0VBQ0E7QUFsQkQ7O0FBcUJBO0FBRUE7RUFDQztBQW5CRDs7QUFzQkE7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFwQkQ7O0FBdUJBO0VBQ0M7QUFwQkQ7O0FBdUJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBcEJEOztBQXVCQTtFQUNDO0FBcEJEOztBQXVCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFwQkQ7O0FBdUJBO0FBRUE7RUFDQztBQXJCRDs7QUF3QkE7RUFDQztBQXJCRDs7QUF3QkE7RUFDQztFQUNBO0VBQ0E7QUFyQkQ7O0FBd0JBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBckJEOztBQXdCQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtBQXJCRDs7QUF3QkE7QUFFQTtFQUNDO0FBdEJEOztBQXlCQTtBQUVBO0VBQ0M7QUF2QkQ7O0FBMEJBO0VBQ0M7RUFDQTtBQXZCRDs7QUEwQkE7RUFDQztFQUNBO0VBQ0c7RUFDQTtBQXZCSjs7QUEwQkE7RUFDQztFQUNBO0FBdkJEOztBQTBCQTtBQUVBO0VBQ0M7RUFDQTtFQUNBO0FBeEJEOztBQTJCQTtFQUNDO0VBQ0E7RUFDQTtBQXhCRDs7QUEyQkE7RUFDQztBQXhCRDs7QUEyQkE7RUFDQztBQXhCRDs7QUEyQkE7RUFDQztBQXhCRDs7QUEyQkE7RUFDQztFQUNBO0VBQ0E7QUF4QkQ7O0FBMkJBO0VBRUM7SUFDQztFQXpCQTtBQUNGO0FBNkJBO0FBRUE7Ozs7Ozs7Ozs7OztFQVlDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE1QkQ7O0FBK0JBOzs7OztFQUtDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE1QkQ7O0FBK0JBO0FBRUE7Ozs7Ozs7OztFQVNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE3QkQ7O0FBZ0NBOzs7O0VBSUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTdCRDs7QUFnQ0E7QUFFQTs7Ozs7Ozs7Ozs7RUFXQztFQUNBO0FBOUJEOztBQWlDQTs7Ozs7Ozs7Ozs7RUFXQztBQTlCRDs7QUFpQ0E7Ozs7OztFQU1DO0VBQ0E7RUFDQTtBQTlCRDs7QUFpQ0E7RUFFQzs7Ozs7SUFLQztJQUNBO0VBL0JBO0FBQ0Y7QUFtQ0E7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWxDRDs7QUFxQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQWxDRDs7QUFxQ0E7RUFDQztBQWxDRDs7QUFxQ0E7QUFFQTtFQUNDO0FBbkNEOztBQXNDQTtFQUNDO0FBbkNEOztBQXNDQTtBQUVBO0VBQ0M7QUFwQ0Q7O0FBdUNBO0FBRUE7RUFDQztFQUNBO0VBQ0E7QUFyQ0Q7O0FBd0NBO0VBQ0M7QUFyQ0Q7O0FBd0NBO0VBQ0M7QUFyQ0Q7O0FBd0NBO0VBQ0M7QUFyQ0Q7O0FBd0NBO0VBQ0M7RUFDQTtBQXJDRDs7QUF5Q0E7RUFDQztFQUNBO0FBdENEOztBQXlDQTtFQUNDO0VBQ0E7QUF0Q0Q7O0FBeUNBO0FBRUE7RUFDQztBQXZDRDs7QUEwQ0E7RUFDQztFQUNBO0FBdkNEOztBQTBDQTtFQUNDO0FBdkNEOztBQTBDQTtFQUNDO0FBdkNEOztBQTBDQTtFQUNJO0VBQ0E7RUFDQTtBQXZDSjs7QUEwQ0E7QUFFQTtFQUNDO0FBeENEOztBQTJDQTtFQUNDO0VBQ0E7QUF4Q0Q7O0FBMkNBO0VBQ0M7RUFDQTtFQUNBO0FBeENEOztBQTJDQTtFQUNDO0FBeENEOztBQTJDQTtFQUNDO0FBeENEOztBQTJDQTtBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBekNEOztBQTRDQTs7O0VBR0M7QUF6Q0Q7O0FBNENBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXpDRDs7QUE0Q0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXpDRDs7QUE0Q0E7QUFFQTtFQUNDO0VBQ0E7QUExQ0Q7O0FBNkNBO0FBRUE7RUFDQztBQTNDRDs7QUE4Q0E7RUFDQztBQTNDRDs7QUE4Q0E7RUFDQztBQTNDRDs7QUE4Q0E7O0VBRUM7QUEzQ0Q7O0FBOENBO0FBRUE7RUFDQztFQUNBO0FBNUNEOztBQStDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTVDRDs7QUErQ0E7RUFDQztFQUNBO0VBQ0E7QUE1Q0Q7O0FBK0NBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUE1Q0Q7O0FBK0NBO0VBQ0M7RUFDQTtFQUNBO0FBNUNEOztBQStDQTtFQUNDO0FBNUNEOztBQStDQTtFQUNDO0FBNUNEOztBQStDQTtFQUNDO0VBQ0E7QUE1Q0Q7O0FBK0NBOztFQUVDO0FBNUNEOztBQStDQTtFQUNJO0VBQ0E7QUE1Q0o7O0FBK0NBO0VBQ0k7QUE1Q0o7O0FBK0NBO0VBQ0k7RUFDQTtFQUNBO0FBNUNKOztBQStDQTtFQUNDO0VBQ0E7QUE1Q0Q7O0FBK0NBO0FBRUE7RUFDQztBQTdDRDs7QUFnREE7QUFFQTtFQUNDO0FBOUNEOztBQWlEQTtBQUVBO0VBQ0k7RUFDQTtBQS9DSjs7QUFrREE7RUFDSTtBQS9DSjs7QUFrREE7QUFFQTtFQUNDO0FBaEREOztBQW1EQTtBQUVBO0VBQ0M7QUFqREQ7O0FBb0RBO0VBQ0k7RUFDQTtBQWpESjs7QUFvREE7RUFDQztBQWpERDs7QUFvREE7RUFDQztFQUNBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QUFqREo7O0FBb0RBO0VBQ0M7RUFDQTtFQUNBO0FBakREOztBQW9EQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBakREOztBQW9EQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBakREOztBQW9EQTtFQUNDO0VBQ0E7QUFqREQ7O0FBb0RBO0VBQ0M7QUFqREQ7O0FBb0RBO0VBQ0M7RUFDQTtBQWpERDs7QUFvREE7QUFFQTtFQUNJO0VBQ0E7QUFsREo7O0FBcURBO0VBQ0M7QUFsREQ7O0FBcURBO0VBQ0M7QUFsREQ7O0FBcURBO0VBQ0M7QUFsREQ7O0FBcURBO0VBQ0M7QUFsREQ7O0FBcURBO0VBQ0M7QUFsREQ7O0FBcURBO0FBRUE7RUFDQztBQW5ERDs7QUFzREE7RUFDQztFQUNBO0FBbkREOztBQXNEQTtFQUNJO0FBbkRKOztBQXNEQTtFQUNJO0FBbkRKOztBQXNEQTtFQUNJO0FBbkRKOztBQXFEQTtFQUNJO0FBbERKOztBQXFEQTtFQUNJO0VBQ0g7RUFDQTtBQWxERDs7QUFxREE7RUFDQztBQWxERDs7QUFxREE7RUFDQztBQWxERDs7QUFxREE7RUFDQztBQWxERDs7QUFxREE7QUFFQTtFQUNDO0FBbkREOztBQXNEQTs7Ozs7Ozs7O0VBU0M7QUFuREQ7O0FBc0RBOztFQUVJO0FBbkRKOztBQXNEQTtBQUVBO0VBQ0M7RUFDQTtBQXBERDs7QUF1REE7O0VBR0k7QUFyREo7O0FBd0RBO0VBQ0k7RUFDQTtBQXJESjs7QUF3REE7RUFDQztBQXJERDs7QUF3REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFyREQ7O0FBd0RBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBckREOztBQXdEQTtFQUNDO0FBckREOztBQXdEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBckREOztBQXdEQTtFQUNDO0FBckREOztBQXdEQTtFQUNDO0VBQ0E7QUFyREQ7O0FBd0RBO0VBQ0M7QUFyREQ7O0FBd0RBO0VBQ0M7RUFDQTtBQXJERDs7QUF3REE7RUFDQztFQUNBO0VBQ0c7RUFDQTtFQUNBO0FBckRKOztBQXdEQTtFQUNJO0FBckRKOztBQXdEQTtFQUNDO0VBQ0E7RUFDQTtBQXJERDs7QUF3REE7RUFDQztBQXJERDs7QUF3REE7RUFDSTtBQXJESjs7QUF3REE7QUFFQTtFQUNDO0FBdEREOztBQXlEQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0FBdERKOztBQXlEQTs7RUFFQztBQXRERDs7QUF5REE7OztFQUdDO0VBQ0E7QUF0REQ7O0FBeURBO0VBQ0k7QUF0REo7O0FBeURBO0VBQ0k7QUF0REo7O0FBeURBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBdEREOztBQXlEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF0REQ7O0FBeURBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF0REQ7O0FBeURBO0VBQ0M7QUF0REQ7O0FBeURBOztFQUVDO0VBQ0E7RUFDRztFQUNBO0VBQ0E7QUF0REo7O0FBeURBO0VBQ0M7QUF0REQ7O0FBeURBO0FBRUE7RUFDQztBQXZERDs7QUEwREE7RUFDQztFQUNBO0FBdkREOztBQTBEQTtFQUNDO0VBQ0E7QUF2REQ7O0FBMERBO0VBQ0M7RUFDQTtFQUNBO0FBdkREOztBQTBEQTtFQUNDO0VBQ0E7QUF2REQ7O0FBMERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBdkREOztBQTBEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF2REQ7O0FBMERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUF2REQ7O0FBMERBO0VBQ0M7RUFDQTtFQUNBO0FBdkREOztBQTBEQTtFQUNDO0FBdkREOztBQTBEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXZERDs7QUEwREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBdkREOztBQTBEQTtFQUNDO0FBdkREOztBQTBEQTtFQUNDO0FBdkREOztBQTBEQTtFQUNDO0VBQ0E7RUFDQTtBQXZERDs7QUEwREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQXZERDs7QUEwREE7RUFDQztBQXZERDs7QUEwREE7RUFDQztFQUNBO0FBdkREOztBQTBEQTtBQUVBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0FBeERKOztBQTJEQTtFQUNDO0FBeEREOztBQTJEQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeERKOztBQTJEQTs7RUFFQztBQXhERDs7QUEyREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQXhERDs7QUEyREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeEREOztBQTJEQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0VBQ0E7RUFDQTtBQXhESjs7QUEyREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeEREOztBQTJEQTs7RUFFQztFQUNBO0FBeEREOztBQTJEQTtFQUNDO0FBeEREOztBQTJEQTtFQUNDO0VBQ0E7QUF4REQ7O0FBMkRBO0VBQ0k7QUF4REo7O0FBMkRBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF4REo7O0FBMkRBOztFQUVDO0FBeEREOztBQTJEQTtBQUVBO0VBQ0M7QUF6REQ7O0FBNERBO0VBQ0M7QUF6REQ7O0FBNERBO0VBQ0M7QUF6REQ7O0FBNERBO0VBQ0M7RUFDQTtFQUNBO0FBekREOztBQTREQTtFQUNDO0FBekREOztBQTREQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBekREOztBQTREQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF6REQ7O0FBNERBO0VBQ0M7RUFDQTtFQUNBO0FBekREOztBQTREQTtBQUVBO0VBQ0M7RUFDQTtBQTFERDs7QUE2REE7O0VBRUk7QUExREo7O0FBNkRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMUREOztBQTZEQTtFQUNDO0VBQ0E7RUFDQTtFQUNHO0FBMURKOztBQTZEQTs7RUFFQztBQTFERDs7QUE2REE7RUFDQztBQTFERDs7QUE2REE7RUFDSTtFQUNBO0FBMURKOztBQTZEQTtFQUNJO0FBMURKOztBQTZEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUExREQ7O0FBNkRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTFERDs7QUE2REE7O0VBRUM7QUExREQ7O0FBNkRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUExREQ7O0FBNkRBO0VBQ0M7QUExREQ7O0FBNkRBO0VBQ0M7QUExREQ7O0FBNkRBO0VBQ0M7QUExREQ7O0FBNkRBOztFQUVDO0FBMUREOztBQTZEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBMUREOztBQTZEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUExREQ7O0FBNkRBO0VBQ0M7RUFDQTtBQTFERDs7QUE2REE7RUFDQztBQTFERDs7QUE2REE7OztFQUdDO0FBMUREOztBQTZEQTtBQUVBO0VBQ0M7RUFDQTtFQUNBO0FBM0REOztBQThEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTNERDs7QUE4REE7O0VBRUM7QUEzREQ7O0FBOERBO0VBQ0k7RUFDQTtBQTNESjs7QUE4REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBM0REOztBQThEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEzREQ7O0FBOERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTNERDs7QUE4REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBM0REOztBQThEQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0FBM0RKOztBQThEQTtFQUNJO0VBQ0E7RUFDQTtBQTNESjs7QUE4REE7RUFDQztBQTNERDs7QUE4REE7RUFDQztFQUNBO0VBQ0c7RUFDQTtBQTNESjs7QUE4REE7OztFQUdDO0FBM0REOztBQThEQTtFQUNDO0FBM0REOztBQThEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEzREQ7O0FBOERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTNERDs7QUE4REE7QUFFQTtFQUNDO0FBNUREOztBQStEQTtFQUNJO0FBNURKOztBQStEQTtFQUNJO0FBNURKOztBQThEQTtFQUNJO0FBM0RKOztBQThEQTtFQUNDO0FBM0REOztBQThEQTtFQUNDO0VBQ0E7RUFDQTtBQTNERDs7QUE4REE7RUFDQztFQUNBO0VBQ0c7QUEzREo7O0FBOERBO0VBQ0M7QUEzREQ7O0FBOERBO0VBQ0M7RUFDQTtBQTNERDs7QUE4REE7RUFDQztFQUNBO0VBQ0E7QUEzREQ7O0FBOERBO0FBRUE7RUFDQztFQUNBO0VBQ0c7QUE1REo7O0FBK0RBO0VBQ0M7QUE1REQ7O0FBK0RBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7QUE1REo7O0FBK0RBO0VBQ0M7QUE1REQ7O0FBK0RBO0VBQ0k7QUE1REo7O0FBK0RBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7QUE1REo7O0FBK0RBO0VBQ0M7QUE1REQ7O0FBK0RBO0VBQ0M7RUFDQTtBQTVERDs7QUErREE7O0VBRUk7QUE1REo7O0FBK0RBO0VBQ0M7QUE1REQ7O0FBK0RBO0VBQ0M7RUFDQTtFQUNHO0FBNURKOztBQStEQTtBQUVBO0VBQ0M7RUFDQTtBQTdERDs7QUFnRUE7RUFDQztFQUNBO0FBN0REOztBQWdFQTtFQUNDO0VBQ0E7RUFDRztBQTdESjs7QUFnRUE7RUFDQztFQUNBO0VBQ0c7RUFDQTtBQTdESjs7QUFnRUE7O0VBRUM7RUFDQTtFQUNHO0FBN0RKOztBQWdFQTtFQUNDO0FBN0REOztBQWdFQTtFQUNJO0FBN0RKOztBQWdFQTs7RUFFQztBQTdERDs7QUFnRUE7RUFDQztBQTdERDs7QUFnRUE7RUFDQztFQUNBO0VBQ0c7QUE3REo7O0FBZ0VBO0VBQ0k7QUE3REo7O0FBZ0VBO0FBRUE7RUFDQztFQUNBO0VBQ0E7QUE5REQ7O0FBaUVBO0VBQ0M7QUE5REQ7O0FBaUVBO0VBQ0M7QUE5REQ7O0FBaUVBO0VBQ0M7RUFDQTtBQTlERDs7QUFpRUE7RUFDQztBQTlERDs7QUFpRUE7RUFDQztFQUNBO0FBOUREOztBQWlFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBOUREOztBQWlFQTtBQUVBOztFQUVJO0VBQ0E7RUFDQTtBQS9ESjs7QUFrRUE7O0VBRUM7RUFDQTtFQUNHO0VBQ0g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQS9ERDs7QUFrRUE7RUFDQztFQUNBO0FBL0REOztBQWtFQTtBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0c7RUFDQTtFQUNBO0FBaEVKOztBQW1FQTs7RUFFQztFQUNBO0VBQ0E7QUFoRUQ7O0FBbUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFoRUo7O0FBbUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWhFRDs7QUFtRUE7RUFDSTtFQUNBO0FBaEVKOztBQW1FQTtFQUNJO0VBQ0E7QUFoRUo7O0FBbUVBO0VBQ0k7QUFoRUo7O0FBbUVBO0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBakVEOztBQW9FQTtFQUNDO0VBQ0E7RUFDQTtBQWpFRDs7QUFvRUE7QUFFQTtFQUNJO0VBQ0E7RUFDQTtBQWxFSjs7QUFxRUE7RUFDSTtBQWxFSjs7QUFxRUE7RUFDSTtFQUNBO0VBQ0E7QUFsRUo7O0FBcUVBO0VBQ0k7RUFDSDtFQUNBO0VBQ0c7RUFDQTtBQWxFSjs7QUFxRUE7RUFDSTtFQUNBO0VBQ0g7RUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWxFSjs7QUFxRUE7QUFFQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0FBbkVKOztBQXNFQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0FBbkVKOztBQXNFQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0FBbkVKOztBQXNFQTtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBcEVEOztBQXVFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBcEVEOztBQXVFQTtFQUNDO0VBQ0E7RUFDQTtBQXBFRDs7QUF1RUE7RUFDQztBQXBFRDs7QUF1RUE7RUFDQztBQXBFRDs7QUF1RUE7QUFFQTtFQUNDO0VBQ0E7QUFyRUQ7O0FBd0VBO0VBQ0M7RUFDQTtFQUNBO0FBckVEOztBQXdFQTtFQUNDO0FBckVEOztBQXdFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNHO0VBQ0E7QUFyRUo7O0FBd0VBOzs7RUFHSTtFQUNBO0VBQ0E7QUFyRUo7O0FBd0VBO0VBQ0k7RUFDSDtFQUNBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QUFyRUo7O0FBd0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXJFRDs7QUF3RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBckVEOztBQXdFQTtFQUNDO0FBckVEOztBQXdFQTtFQUNDO0FBckVEOztBQXdFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXJFRDs7QUF3RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBckVEOztBQXdFQTtFQUNDO0VBQ0E7RUFDQTtBQXJFRDs7QUF3RUE7QUFFQTtFQUNDO0VBQ0E7QUF0RUQ7O0FBeUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QUF0RUo7O0FBeUVBO0VBQ0M7QUF0RUQ7O0FBeUVBO0FBRUE7RUFDQztBQXZFRDs7QUEwRUE7QUFFQTtFQUNDO0FBeEVEOztBQTJFQTtFQUNDO0FBeEVEOztBQTJFQTtFQUNDO0FBeEVEOztBQTJFQTtFQUNDO0FBeEVEOztBQTJFQTtFQUNDO0FBeEVEOztBQTJFQTtFQUNDO0FBeEVEOztBQTJFQTtBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF6RUQ7O0FBNEVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXpFRDs7QUE0RUE7RUFDQztBQXpFRDs7QUE0RUE7RUFDQztBQXpFRDs7QUE0RUE7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBMUVEOztBQTZFQTtFQUNDO0VBQ0E7RUFDQTtBQTFFRDs7QUE2RUE7RUFDQztBQTFFRDs7QUE2RUE7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBM0VEOztBQThFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTNFRDs7QUE4RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQTNFRDs7QUE4RUE7QUFFQTtFQUNDO0VBQ0E7QUE1RUQ7O0FBK0VBO0VBQ0M7RUFDQTtFQUNBO0FBNUVEOztBQStFQTtFQUNDO0FBNUVEOztBQStFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBNUVEOztBQStFQTtFQUNJO0VBQ0g7RUFDQTtFQUNBO0VBQ0E7RUFDRztFQUNBO0FBNUVKOztBQStFQTtFQUNDO0FBNUVEOztBQStFQTtFQUNJO0VBQ0g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDRztBQTVFSjs7QUErRUE7RUFDQztFQUNBO0FBNUVEOztBQStFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTVFRDs7QUErRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQTVFRDs7QUErRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTVFRDs7QUErRUE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE1RUQ7O0FBK0VBO0VBQ0M7QUE1RUQ7O0FBK0VBO0VBQ0M7RUFDRztBQTVFSjs7QUErRUE7RUFDQztBQTVFRDs7QUErRUE7RUFDQztFQUNHO0VBQ0g7RUFDQTtFQUNBO0VBQ0E7RUFDRztFQUNBO0FBNUVKOztBQStFQTtFQUNDO0VBQ0E7QUE1RUQ7O0FBK0VBOztFQUVDO0FBNUVEOztBQStFQTtFQUNDO0FBNUVEOztBQStFQTtFQUNDO0FBNUVEOztBQStFQTs7RUFFQztBQTVFRDs7QUErRUE7QUFFQTs7RUFFQztBQTdFRDs7QUFnRkE7RUFDQztBQTdFRDs7QUFnRkE7QUFFQTtFQUNDO0VBQ0E7QUE5RUQ7O0FBaUZBO0VBQ0M7RUFDQTtBQTlFRDs7QUFpRkE7RUFDQztFQUNBO0FBOUVEOztBQWlGQTtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBL0VEOztBQWtGQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0VBQ0E7QUEvRUo7O0FBa0ZBO0VBQ0M7RUFDQTtFQUNBO0FBL0VEOztBQWtGQTtFQUNDO0FBL0VEOztBQWtGQTtFQUNDO0VBQ0E7QUEvRUQ7O0FBa0ZBO0VBQ0M7QUEvRUQ7O0FBa0ZBO0VBQ0M7RUFDQTtBQS9FRDs7QUFrRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEvRUQ7O0FBa0ZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBL0VEOztBQWtGQTtBQUVBO0VBQ0M7QUFoRkQ7O0FBbUZBO0VBQ0M7QUFoRkQ7O0FBbUZBO0VBQ0k7RUFDQTtFQUNIO0VBQ0E7RUFDQTtFQUNBO0VBQ0c7QUFoRko7O0FBbUZBO0VBQ0M7QUFoRkQ7O0FBbUZBO0VBQ0M7QUFoRkQ7O0FBbUZBO0VBQ0M7RUFDQTtFQUNBO0FBaEZEOztBQW1GQTtFQUNDO0FBaEZEOztBQW1GQTtFQUNDO0FBaEZEOztBQW1GQTtFQUNDO0FBaEZEOztBQW1GQTtBQUVBO0VBQ0M7QUFqRkQ7O0FBb0ZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFqRkQ7O0FBb0ZBO0VBQ0M7RUFDQTtBQWpGRDs7QUFvRkE7RUFDQztFQUNBO0FBakZEOztBQW9GQTtFQUNDO0FBakZEOztBQW9GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWpGRDs7QUFvRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBakZEOztBQW9GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFqRkQsQyIsInNvdXJjZXMiOlsid2VicGFjazovL3N1bHRwb2ludC8uL2Fzc2V0cy9zY3NzL2Zvc3NiaWxsaW5nLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKlxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4tLS0tLSBXSE1DUyBzdHlsZXNcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0XG4qL1xuXG4vKiBSZXNldCAqL1xuXG4ud2htY3Njb250YWluZXIgLmNvbC0xMi5wcmltYXJ5LWNvbnRlbnQge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi53aG1jc2JvZHkucHJpbWFyeS1iZy1jb2xvciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtYm9keSk7XG59XG5cbi53aG1jc2NvbnRhaW5lciAuY29udGFpbmVyIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ud2htY3Njb250YWluZXIgc2VjdGlvbiNtYWluLWJvZHkge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ud2htY3Njb250YWluZXIgYSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLndobWNzY29udGFpbmVyIGhyIHtcblx0Ym9yZGVyLXRvcDogdmFyKC0tY29sb3ItYm9yZGVyKSAxcHggc29saWQ7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNwYWNpbmctY2hpbGQpIDA7XG59XG5cbi53aG1jc2NvbnRhaW5lciAuYnRuIHsgLyogV0hNQ1MgYnV0dG9ucyBzdHlsZWQgdG8gbWF0Y2ggLmJ1dHRvbjEgKi9cblx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzY29udGFpbmVyICo6Zm9jdXMgeyAvKiBSZW1vdmUgZ2xvdyBvbiBjbGljayAqL1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jc2NvbnRhaW5lciAuYnRuLWxpbmsge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm9keSk7XG59XG5cbi53aG1jc2NvbnRhaW5lciAudGV4dC1tdXRlZCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib2R5KTtcbn1cblxuLyogU2xpbW1lZCBjYXJ0IGVuYWJsZWQgKi9cblxuLndobWNzYm9keS5mZWF0dXJlLXNsaW1tZWRjYXJ0IC5zdWJiYW5uZXIsXG4ud2htY3Nib2R5LmZlYXR1cmUtc2xpbW1lZGNhcnQgLnBhcnRuZXJzbWFpbixcbi53aG1jc2JvZHkuZmVhdHVyZS1zbGltbWVkY2FydCAuY3RhLWNvbnRhaW5lcixcbi53aG1jc2JvZHkuZmVhdHVyZS1zbGltbWVkY2FydCAuZm9vdGVybWFpbiAuZm9vdGVybWFpbi1iYWNrZ3JvdW5kIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLndobWNzYm9keS5mZWF0dXJlLXNsaW1tZWRjYXJ0IC5mb290ZXJtYWluIHtcblx0Ym9yZGVyLXRvcDogbm9uZTtcbn1cblxuLyogU2xpbW1lZCBsb2dpbiBlbmFibGVkICovXG5cbi53aG1jc2JvZHkuZmVhdHVyZS1zbGltbWVkbG9naW4gLmhlYWRlcm1haW4sXG4ud2htY3Nib2R5LmZlYXR1cmUtc2xpbW1lZGxvZ2luIC5zdWJiYW5uZXIsXG4ud2htY3Nib2R5LmZlYXR1cmUtc2xpbW1lZGxvZ2luIC5wYXJ0bmVyc21haW4sXG4ud2htY3Nib2R5LmZlYXR1cmUtc2xpbW1lZGxvZ2luIC5jdGEtY29udGFpbmVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLndobWNzYm9keS5mZWF0dXJlLXNsaW1tZWRsb2dpbiAubG9nby1sb2dpbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zcGFjaW5nLWNoaWxkKSAwO1xufVxuXG4ud2htY3Nib2R5LmZlYXR1cmUtc2xpbW1lZGxvZ2luIC5sb2dvLWxvZ2luIGltZyB7XG5cdG1heC13aWR0aDogMzAwcHg7XG59XG5cbi8qIFNvY2lhbCBidXR0b25zICovXG5cbi53aG1jc2NvbnRhaW5lciAucHJvdmlkZXJQcmVMaW5raW5nIHtcbiAgICBtaW4taGVpZ2h0OiA0M3B4O1xufVxuXG4ud2htY3Njb250YWluZXIgLmJ0bi1nb29nbGUgaW1nIHtcblx0ZGlzcGxheTogaW5saW5lO1xufVxuXG4vKiBXSE1DUyBjb2xvcnMgKi9cblxuLyogQm9yZGVycyAqL1xuXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LWdvbGQsXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LWdyZWVuLFxuLndobWNzY29udGFpbmVyIC5jYXJkLWFjY2VudC1yZWQsXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LWJsdWUsXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LW9yYW5nZVxuLndobWNzY29udGFpbmVyIC5jYXJkLWFjY2VudC1waW5rLFxuLndobWNzY29udGFpbmVyIC5jYXJkLWFjY2VudC1wdXJwbGUsXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LWxpbWUsXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LW1hZ2VudGEsXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LXRlYWwsXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LXR1cnF1b2lzZSxcbi53aG1jc2NvbnRhaW5lciAuY2FyZC1hY2NlbnQtZW1lcmFsZCxcbi53aG1jc2NvbnRhaW5lciAuY2FyZC1hY2NlbnQtYW1ldGh5c3QsXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LXdldC1hc3BoYWx0LFxuLndobWNzY29udGFpbmVyIC5jYXJkLWFjY2VudC1taWRuaWdodC1ibHVlLFxuLndobWNzY29udGFpbmVyIC5jYXJkLWFjY2VudC1zdW4tZmxvd2VyLFxuLndobWNzY29udGFpbmVyIC5jYXJkLWFjY2VudC1wb21lZ3JhbmF0ZSxcbi53aG1jc2NvbnRhaW5lciAuY2FyZC1hY2NlbnQtc2lsdmVyLFxuLndobWNzY29udGFpbmVyIC5jYXJkLWFjY2VudC1hc2Jlc3RvcyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbn0gXG5cbi8qIEJhY2tncm91bmRzICovXG5cbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3ItZ29sZCxcbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3ItZ3JlZW4sXG4ud2htY3Njb250YWluZXIgLmJnLWNvbG9yLXJlZCxcbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3ItYmx1ZSxcbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3Itb3JhbmdlLFxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1waW5rLFxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1wdXJwbGUsXG4ud2htY3Njb250YWluZXIgLmJnLWNvbG9yLWxpbWUsXG4ud2htY3Njb250YWluZXIgLmJnLWNvbG9yLW1hZ2VudGEsXG4ud2htY3Njb250YWluZXIgLmJnLWNvbG9yLXRlYWwsXG4ud2htY3Njb250YWluZXIgLmJnLWNvbG9yLXR1cnF1b2lzZSxcbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3ItZW1lcmFsZCxcbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3ItYW1ldGh5c3QsXG4ud2htY3Njb250YWluZXIgLmJnLWNvbG9yLXdldC1hc3BoYWx0LFxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1taWRuaWdodC1ibHVlLFxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1zdW4tZmxvd2VyLFxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1wb21lZ3JhbmF0ZSxcbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3Itc2lsdmVyLFxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1hc2Jlc3RvcyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi8qIENhcmQgKi9cblxuLndobWNzY29udGFpbmVyIC5jYXJkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY2hpbGQpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5jYXJkIC5jYXJkLWhlYWRlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5jYXJkIC5jYXJkLWhlYWRlciAuY2FyZC10aXRsZSxcbi53aG1jc2NvbnRhaW5lciAuY2FyZCAuY2FyZC1oZWFkZXIgLnBhbmVsLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1oZWFkLWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jc2NvbnRhaW5lciAuaG9tZSAuY2FyZCAuY2FyZC10aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5jYXJkIC5jYXJkLWJvZHkge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWlubmVyKSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3Njb250YWluZXIgLmNhcmQgLmNhcmQtZm9vdGVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWZvb3Rlci1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtZm9vdGVyLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtZm9vdGVyLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9vdGVyLWJhY2tncm91bmQtYm9yZGVyKTtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb290ZXItZm9yZWdyb3VuZCk7XG59XG5cbi8qIFNpZGViYXIgKi9cblxuLndobWNzY29udGFpbmVyIC5zaWRlYmFyIC5saXN0LWdyb3VwIHtcblx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLndobWNzY29udGFpbmVyIC5zaWRlYmFyIC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5zaWRlYmFyIC5saXN0LWdyb3VwLWl0ZW0ge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1yaWdodC13aWR0aDogMDtcblx0Ym9yZGVyLWxlZnQtd2lkdGg6IDA7XHRcbn1cblxuLndobWNzY29udGFpbmVyIC5zaWRlYmFyIC5saXN0LWdyb3VwLWl0ZW06aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xufVxuXG4ud2htY3Njb250YWluZXIgLnNpZGViYXIgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4ud2htY3Njb250YWluZXIgLnNpZGViYXIgLmxpc3QtZ3JvdXAtaXRlbSAuYmFkZ2Uge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5zaWRlYmFyICNQcmltYXJ5X1NpZGViYXItQWxyZWFkeV9SZWdpc3RlcmVkLUFscmVhZHlfUmVnaXN0ZXJlZF9IZWFkaW5nOmhvdmVyLFxuLndobWNzY29udGFpbmVyIC5zaWRlYmFyICNTZWNvbmRhcnlfU2lkZWJhci1DbGllbnRfQ29udGFjdHMtTm9fQ29udGFjdHM6aG92ZXIgeyAvKiBSZW1vdmUgaG92ZXIgZnJvbSBzaWRlYmFyIGVsZW1lbnRzICovXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ud2htY3Njb250YWluZXIgLnNpZGViYXItc2Vjb25kYXJ5IHsgLyogRml4IHNwYWNpbmcgYnVnIG9uIG1vYmlsZSAqL1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGlzdC1ncm91cC1pdGVtIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEhlYWRpbmdzICovXG5cbi53aG1jc2NvbnRhaW5lciBoMSxcbi53aG1jc2NvbnRhaW5lciBoMixcbi53aG1jc2NvbnRhaW5lciBoMyxcbi53aG1jc2NvbnRhaW5lciBoNCxcbi53aG1jc2NvbnRhaW5lciBoNSxcbi53aG1jc2NvbnRhaW5lciBoNiB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBBbGVydHMgKi9cblxuLndobWNzY29udGFpbmVyIC5hbGVydCB7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY2hpbGQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5uZXR3b3JrLWlzc3VlLWFsZXJ0IHtcblx0cGFkZGluZzogMTBweDtcbn1cblxuLyogRW1haWwgVmVyaWZpY2F0aW9uICovXG5cbi53aG1jc2NvbnRhaW5lciAuZW1haWwtdmVyaWZpY2F0aW9uIHtcblx0cGFkZGluZzogMTBweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLyogRm9ybXMgKi9cblxuLndobWNzY29udGFpbmVyICNyZWdpc3RyYXRpb24gLmZpZWxkLFxuLndobWNzY29udGFpbmVyICNyZWdpc3RyYXRpb24gLmZvcm0tY29udHJvbCxcbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZmllbGQsXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmZvcm0tY29udHJvbCB7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib2R5KTtcbn1cblxuLndobWNzY29udGFpbmVyIC5mb3JtLWNvbnRyb2wsXG4ubW9kYWwtY29udGVudCAuZm9ybS1jb250cm9sIHtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbn1cblxuLndobWNzY29udGFpbmVyIC5pbnB1dC1ncm91cC10ZXh0IHsgLyogRm9ybSBpY29ucyAqL1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcdFxufVxuXG4ud2htY3Njb250YWluZXIgLmJvb3RzdHJhcC1zd2l0Y2ggeyAvKiBTd2l0Y2ggZm9ybSAqL1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpO1xufVxuXG4ud2htY3Njb250YWluZXIgLm1kLWVkaXRvciwgLyogRWRpdG9yICovXG4ud2htY3Njb250YWluZXIgZGl2Lm1kLWVkaXRvci5hY3RpdmUge1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbn1cblxuLndobWNzY29udGFpbmVyIC5tZC1lZGl0b3IgLmZvcm0tY29udHJvbCB7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3Njb250YWluZXIgLm1kLWVkaXRvciA+IC5tZC1wcmV2aWV3LFxuLndobWNzY29udGFpbmVyIC5tZC1lZGl0b3IgPiB0ZXh0YXJlYS5tYXJrZG93bi1lZGl0b3Ige1xuXHRib3JkZXItdG9wOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZCAhaW1wb3J0YW50O1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZCAhaW1wb3J0YW50O1x0XG59XG5cbi53aG1jc2NvbnRhaW5lciAuY3VzdG9tLWZpbGUtbGFiZWwgeyAvKiBUaWNrZXQgQXR0YWNobWVudCAqL1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vKiBQYWdpbmF0aW9uICovXG5cbi53aG1jc2NvbnRhaW5lciAucGFnZS1saW5rIHtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcdFxufVxuXG4ud2htY3Njb250YWluZXIgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rLFxuLndobWNzY29udGFpbmVyIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcblx0Ym9yZGVyLXJhZGl1czogMDtcbn1cblxuLndobWNzY29udGFpbmVyIC5wYWdlLWl0ZW0gLnBhZ2UtbGluayB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmssXG4ud2htY3Njb250YWluZXIgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYSxcbi53aG1jc2NvbnRhaW5lciAucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhOmZvY3VzLFxuLndobWNzY29udGFpbmVyIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4ud2htY3Njb250YWluZXIgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbixcbi53aG1jc2NvbnRhaW5lciAucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBzcGFuOmZvY3VzLFxuLndobWNzY29udGFpbmVyIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcik7XG59XG5cbi53aG1jc2NvbnRhaW5lciAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFByb2dyZXNzICovXG5cbi53aG1jc2NvbnRhaW5lciAucHJvZ3Jlc3Mge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xufVxuXG4vKiBUYWJsZSAqL1xuXG4ud2htY3Njb250YWluZXIgLnRhYmxlIHtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZCAhaW1wb3J0YW50O1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiAzcHggIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1x0XG59XG5cbi53aG1jc2NvbnRhaW5lciAudGFibGUgdGgge1xuXHRib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZCkgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jc2NvbnRhaW5lciAudGFibGUgdGguc29ydGluZ19hc2MsXG4ud2htY3Njb250YWluZXIgLnRhYmxlIHRoLnNvcnRpbmdfZGVzYyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCkgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCkgIWltcG9ydGFudDtcbn1cblxuLndobWNzY29udGFpbmVyIC50YWJsZSB0ZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKSAhaW1wb3J0YW50O1xuXHRib3JkZXItdG9wOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZCAhaW1wb3J0YW50O1xufVxuXG4vKiBFZGl0b3IgKi9cblxuLndobWNzY29udGFpbmVyIC5tZC1lZGl0b3Ige1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4vKiBNb2RhbCAqL1xuXG4ud2htY3Nib2R5IC5tb2RhbCAubW9kYWwtY29udGVudCB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKTsgXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1x0XG59XG5cbi53aG1jc2JvZHkgLm1vZGFsIC5tb2RhbC1jb250ZW50IC5jb3B5LXRvLWNsaXBib2FyZCBpbWcge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi53aG1jc2JvZHkgLm1vZGFsIC5tb2RhbC1oZWFkZXIuYmctcHJpbWFyeSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKSAhaW1wb3J0YW50O1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1x0XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kKTtcdFxufVxuXG4ud2htY3Nib2R5IC5tb2RhbCAubW9kYWwtdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWhlYWQtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jc2JvZHkgLm1vZGFsIC5tb2RhbC1mb290ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtZm9vdGVyLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItdG9wOiB2YXIoLS1jb2xvci1ib3gtZm9vdGVyLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XHRcbn1cblxuLyogTW9kYWwgLSBMYW5ndWFnZSBzZWxlY3RvciAqL1xuXG4ud2htY3Nib2R5IC5tb2RhbC1sb2NhbGlzYXRpb24gLmNsb3NlIHtcblx0Y29sb3I6IHZhcigtLWJvZHktZGVmYXVsdCkgIWltcG9ydGFudDtcbn1cblxuLndobWNzYm9keSAubW9kYWwtbG9jYWxpc2F0aW9uIC5tb2RhbC1jb250ZW50IC5wdC01IHtcblx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLndobWNzYm9keSAubW9kYWwtbG9jYWxpc2F0aW9uIC5tb2RhbC1jb250ZW50IGg1IHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kLWJvbGQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Zm9udC1zaXplOiAxLjVlbTtcbn1cblxuLndobWNzYm9keSAubW9kYWwtbG9jYWxpc2F0aW9uIC5tb2RhbC1jb250ZW50IC5pdGVtLXNlbGVjdG9yIC5pdGVtIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLndobWNzYm9keSAubW9kYWwtbG9jYWxpc2F0aW9uIC5tb2RhbC1jb250ZW50IC5pdGVtLXNlbGVjdG9yIC5pdGVtOmhvdmVyLFxuLndobWNzYm9keSAubW9kYWwtbG9jYWxpc2F0aW9uIC5tb2RhbC1jb250ZW50IC5pdGVtLXNlbGVjdG9yIC5pdGVtLmFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbn1cblxuLyogTW9kYWwgLSBFbXB0eSBjYXJ0ICovXG5cbi53aG1jc2JvZHkgLm1vZGFsLXJlbW92ZS1pdGVtIC5tb2RhbC1jb250ZW50IC5tb2RhbC10aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLyogTmF2dGFicyAtIFVzZWQgb24gdmlldyBjYXJ0IChwcm9tby90YXhlcykgKi9cblxuLndobWNzY29udGFpbmVyIC5uYXYtdGFicyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5uYXYtdGFicyAubmF2LWxpbmsge1xuXHRib3JkZXItYm90dG9tOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLndobWNzY29udGFpbmVyIC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAjZmZmO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7ICAgIFxufVxuXG4ud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnZpZXctY2FydC10YWJzIC50YWItY29udGVudCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi8qIFN1YiBNZW51ICgvaW5jbHVkZXMvc3VibWVudS13aG1jcy50cGwpICovXG5cbi53aG1jc2JvZHkgLndobWNzc3VibWVudSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgM3B4IHNvbGlkO1x0XHRcbn1cblxuLndobWNzYm9keSAud2htY3NzdWJtZW51OjphZnRlciB7XG5cdGNsZWFyOiBib3RoO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0Y29udGVudDogXCJcIjtcbn1cblxuLndobWNzYm9keSAud2htY3NzdWJtZW51IGhlYWRlci5oZWFkZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLndobWNzYm9keSAud2htY3NzdWJtZW51IGhlYWRlci5oZWFkZXIgLm5hdmJhciBhIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kLWJvbGQpO1xufVxuXG4ud2htY3Nib2R5IC53aG1jc3N1Ym1lbnUgaGVhZGVyLmhlYWRlciAuY29udGFpbmVyIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ud2htY3Nib2R5IC53aG1jc3N1Ym1lbnUgaGVhZGVyLmhlYWRlciAubmF2YmFyLWxpZ2h0IHtcblx0ZGlzcGxheTogbm9uZTtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG5cblx0LndobWNzYm9keSAud2htY3NzdWJtZW51IGhlYWRlci5oZWFkZXIgLm5hdmJhci1saWdodCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0XG59XG5cbi8qIFByaW1hcnkgQnV0dG9uICovXG5cbi53aG1jc2NvbnRhaW5lciAuYnRuLXByaW1hcnksXG4ud2htY3Njb250YWluZXIgLmJ0bi1wcmltYXJ5OnZpc2l0ZWQsXG4ud2htY3Njb250YWluZXIgLmJ0bi1wcmltYXJ5OmFjdGl2ZSxcbi53aG1jc2NvbnRhaW5lciAuYnRuLXN1Y2Nlc3MsXG4ud2htY3Njb250YWluZXIgLmJ0bi1zdWNjZXNzOnZpc2l0ZWQsXG4ud2htY3Njb250YWluZXIgLmJ0bi1zdWNjZXNzOmFjdGl2ZSxcbi53aG1jc2NvbnRhaW5lciAuYnRuLXdhcm5pbmcsXG4ud2htY3Njb250YWluZXIgLmJ0bi13YXJuaW5nOnZpc2l0ZWQsXG4ud2htY3Njb250YWluZXIgLmJ0bi13YXJuaW5nOmFjdGl2ZSxcbi53aG1jc2NvbnRhaW5lciAuYnRuLW91dGxpbmUtcHJpbWFyeSxcbi53aG1jc2NvbnRhaW5lciAuYnRuLW91dGxpbmUtcHJpbWFyeTp2aXNpdGVkLFxuLndobWNzY29udGFpbmVyIC5idG4tb3V0bGluZS1wcmltYXJ5OmFjdGl2ZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogc29saWQgMXB4IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ib3JkZXIpICFpbXBvcnRhbnQ7IFxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSkgIWltcG9ydGFudDtcdFxuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweCAhaW1wb3J0YW50O1xufVxuXG4ud2htY3Njb250YWluZXIgLmJ0bi1wcmltYXJ5OmhvdmVyLFxuLndobWNzY29udGFpbmVyIC5idG4tc3VjY2Vzczpob3Zlcixcbi53aG1jc2NvbnRhaW5lciAuYnRuLXdhcm5pbmc6aG92ZXIsXG4ud2htY3Njb250YWluZXIgLmJ0bi13YXJuaW5nOmZvY3VzLFxuLndobWNzY29udGFpbmVyIC5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogc29saWQgMXB4IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSkgIWltcG9ydGFudDtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4ICFpbXBvcnRhbnQ7XHRcbn1cblxuLyogU2Vjb25kYXJ5IEJ1dHRvbiAqL1xuXG4ud2htY3Njb250YWluZXIgLmJ0bi1pbmZvLFxuLndobWNzY29udGFpbmVyIC5idG4taW5mbzphY3RpdmUsXG4ud2htY3Njb250YWluZXIgLmJ0bi1pbmZvOnZpc2l0ZWQsXG4ud2htY3Njb250YWluZXIgLmJ0bi1kYW5nZXIsXG4ud2htY3Njb250YWluZXIgLmJ0bi1kYW5nZXI6YWN0aXZlLFxuLndobWNzY29udGFpbmVyIC5idG4tZGFuZ2VyOnZpc2l0ZWQsXG4ud2htY3Njb250YWluZXIgLmJ0bi1kZWZhdWx0LFxuLndobWNzY29udGFpbmVyIC5idG4tZGVmYXVsdDphY3RpdmUsXG4ud2htY3Njb250YWluZXIgLmJ0bi1kZWZhdWx0OnZpc2l0ZWQge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogc29saWQgMXB4IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpICFpbXBvcnRhbnQ7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHggIWltcG9ydGFudDtcdFxufVxuXG4ud2htY3Njb250YWluZXIgLmJ0bi1pbmZvOmhvdmVyLFxuLndobWNzY29udGFpbmVyIC5idG4tZGFuZ2VyOmhvdmVyLFxuLndobWNzY29udGFpbmVyIC5idG4tZGVmYXVsdDpob3Zlcixcbi53aG1jc2NvbnRhaW5lciAuYnRuLWRlZmF1bHQ6Zm9jdXMge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSkgIWltcG9ydGFudDtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHggIWltcG9ydGFudDtcdFx0XG59XG5cbi8qIFN0ZXBzIC0gSGlnaGxpZ2h0ICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtcHJvZHVjdHMgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxLFxuLndobWNzLXRlbXBsYXRlZmlsZS1hZGRvbnMgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxLFxuLndobWNzLXRlbXBsYXRlZmlsZS1hZGRkb21haW4gLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxLFxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDEsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnRyYW5zZmVyIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMSxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtY29uZmlndXJlcHJvZHVjdGRvbWFpbiAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDIsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNvbmZpZ3VyZWRvbWFpbnMgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAyLFxuLndobWNzLXRlbXBsYXRlZmlsZS1jb25maWd1cmVwcm9kdWN0IC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMixcbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVuZXdhbHMgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAyLFxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDMsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3JkZXIgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDEgLnN0ZXAtdGV4dCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtYWRkb25zIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMSAuc3RlcC10ZXh0LFxuLndobWNzLXRlbXBsYXRlZmlsZS1hZGRkb21haW4gLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxIC5zdGVwLXRleHQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMSAuc3RlcC10ZXh0LFxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW50cmFuc2ZlciAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDEgLnN0ZXAtdGV4dCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtY29uZmlndXJlcHJvZHVjdGRvbWFpbiAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDIgLnN0ZXAtdGV4dCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtY29uZmlndXJlZG9tYWlucyAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDIgLnN0ZXAtdGV4dCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtY29uZmlndXJlcHJvZHVjdCAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDIgLnN0ZXAtdGV4dCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVuZXdhbHMgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAyIC5zdGVwLXRleHQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0IC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMyAuc3RlcC10ZXh0LFxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL29yZGVyIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMiAuc3RlcC10ZXh0IHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jb25maWd1cmVwcm9kdWN0ZG9tYWluIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMSAuc3RlcC10ZXh0LFxuLndobWNzLXRlbXBsYXRlZmlsZS1jb25maWd1cmVkb21haW5zIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMSAuc3RlcC10ZXh0LFxuLndobWNzLXRlbXBsYXRlZmlsZS1jb25maWd1cmVwcm9kdWN0IC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMSAuc3RlcC10ZXh0LFxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDEgLnN0ZXAtdGV4dCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAyIC5zdGVwLXRleHQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3JkZXIgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxIC5zdGVwLXRleHQge1xuXHRiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY2FydC1zdGVwcy1jaGVjay5wbmdcIikgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiAyMHB4IGF1dG87XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctY2hpbGQpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcblx0XG5cdC53aG1jcy10ZW1wbGF0ZWZpbGUtY29uZmlndXJlcHJvZHVjdGRvbWFpbiAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDEgLnN0ZXAtdGV4dCxcblx0LndobWNzLXRlbXBsYXRlZmlsZS1jb25maWd1cmVkb21haW5zIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMSAuc3RlcC10ZXh0LFxuXHQud2htY3MtdGVtcGxhdGVmaWxlLWNvbmZpZ3VyZXByb2R1Y3QgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxIC5zdGVwLXRleHQsXG5cdC53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgLnN0ZXBzIC5uYXZtYWluIC5zdGVwLXN0ZXAxIC5zdGVwLXRleHQsXG5cdC53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgLnN0ZXBzIC5uYXZtYWluIC5zdGVwLXN0ZXAyIC5zdGVwLXRleHQge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMTVweCBhdXRvO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctaW5uZXIpO1xuXHR9XG5cbn1cblxuLyogSG9tZXBhZ2UgKGhvbWVwYWdlLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1ob21lcGFnZSAud2htY3Njb250YWluZXIgLmFjdGlvbi1pY29uLWJ0bnMgYSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XHRcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtaG9tZXBhZ2UgLndobWNzY29udGFpbmVyIC5hY3Rpb24taWNvbi1idG5zIGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpO1x0XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtaG9tZXBhZ2UgLndobWNzY29udGFpbmVyIC5hY3Rpb24taWNvbi1idG5zIGEgLmljby1jb250YWluZXIgaSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xufVxuXG4vKiBMb2dpbiAobG9naW4udHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWxvZ2luIC53aG1jc2NvbnRhaW5lciAuY2FyZCAuaDMge1xuXHRtYXJnaW4tYm90dG9tOiAyMnB4O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWxvZ2luIC53aG1jc2NvbnRhaW5lciAuc29jaWFsLXNpZ25pbi1idG5zIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1wYXJlbnQpO1xufVxuXG4vKiBGb3Jnb3R0ZW4gcGFzc3dvcmQgKHBhc3N3b3JkLXJlc2V0LWNvbnRhaW5lci50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtcGFzc3dvcmQtcmVzZXQtY29udGFpbmVyIC53aG1jc2NvbnRhaW5lciAuY2FyZCAuaDMge1xuXHRtYXJnaW4tYm90dG9tOiAyMnB4O1xufVxuXG4vKiBDbGllbnQgQXJlYSBIb21lIChjbGllbnRhcmVhaG9tZS50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYWhvbWUgLndobWNzY29udGFpbmVyIC50aWxlcyAudGlsZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1yaWdodDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRhcmVhaG9tZSAud2htY3Njb250YWluZXIgLnRpbGVzIC50aWxlIGkge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZGl2aWRlcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYWhvbWUgLndobWNzY29udGFpbmVyIC50aWxlcyAudGlsZTpob3ZlciBpIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudGFyZWFob21lIC53aG1jc2NvbnRhaW5lciAudGlsZXMgLnRpbGUgLnRpdGxlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRhcmVhaG9tZSAud2htY3Njb250YWluZXIgLnByaW1hcnktY29udGVudCAuY2FyZCAuY2FyZC1mb290ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xufVxuXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYWhvbWUgLndobWNzY29udGFpbmVyIC5wcmltYXJ5LWNvbnRlbnQgLmNsaWVudC1ob21lLWNhcmRzIC5jYXJkIC5jYXJkLXRpdGxlIC5idG4ge1xuXHRwYWRkaW5nOiAxcHggNXB4O1xuXHRtYXJnaW46IDA7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYWhvbWUgLndobWNzY29udGFpbmVyIC5wcmltYXJ5LWNvbnRlbnQgLmNsaWVudC1ob21lLWNhcmRzIC5jYXJkLWJvZHkgcCB7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogUmVnaXN0ZXIgKGNsaWVudHJlZ2lzdGVyLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRyZWdpc3RlciAud2htY3Njb250YWluZXIgLnNvY2lhbC1zaWduaW4tYnRucyB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY2hpbGQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudHJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAuaW50bC10ZWwtaW5wdXQuc2VwYXJhdGUtZGlhbC1jb2RlIC5zZWxlY3RlZC1mbGFnIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRyZWdpc3RlciAud2htY3Njb250YWluZXIgLm9mZnNldC1tZC0yIHsgLyogRml4IGNhcGNoYSBzcGFjaW5nIGJ1ZyAqL1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRyZWdpc3RlciAuc3ViLWhlYWRpbmcge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudHJlZ2lzdGVyICNyZWdpc3RyYXRpb24gbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib2R5KTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1x0XG59XG5cbi8qIEFmZmlsaWF0ZXMgU2lnbnVwIChhZmZpbGlhdGVzc2lnbnVwLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hZmZpbGlhdGVzc2lnbnVwIC53aG1jc2NvbnRhaW5lciAubGVhZCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hZmZpbGlhdGVzc2lnbnVwIC53aG1jc2NvbnRhaW5lciB1bCB7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hZmZpbGlhdGVzc2lnbnVwIC53aG1jc2NvbnRhaW5lciB1bCBsaSB7XG5cdGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9idWxsZXQtaWNvbi5wbmdcIikgbGVmdCBjZW50ZXIgbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjBweDtcblx0cGFkZGluZzogMTVweCAwIDE1cHggMzBweDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hZmZpbGlhdGVzc2lnbnVwIC53aG1jc2NvbnRhaW5lciBwOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFmZmlsaWF0ZXNzaWdudXAgLndobWNzY29udGFpbmVyIC5jYXJkLmV4dHJhLXBhZGRpbmcge1xuXHRwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4vKiBBZmZpbGlhdGVzIChhZmZpbGlhdGVzLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hZmZpbGlhdGVzIC53aG1jc2NvbnRhaW5lciAuYWZmaWxpYXRlLXN0YXQge1xuXHRsaW5lLWhlaWdodDogMi4yZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hZmZpbGlhdGVzIC53aG1jc2NvbnRhaW5lciAuYWZmaWxpYXRlLXN0YXQuYWxlcnQtd2FybmluZyxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtYWZmaWxpYXRlcyAud2htY3Njb250YWluZXIgLmFmZmlsaWF0ZS1zdGF0LmFsZXJ0LWluZm8sXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFmZmlsaWF0ZXMgLndobWNzY29udGFpbmVyIC5hZmZpbGlhdGUtc3RhdC5hbGVydC1zdWNjZXNzIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hZmZpbGlhdGVzIC53aG1jc2NvbnRhaW5lciAuY2FyZCAuaDMge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY2hpbGQpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtYWZmaWxpYXRlcyAud2htY3Njb250YWluZXIgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiA0NTBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvcmVncm91bmQpO1xufVxuXG4vKiBBZGQgRnVuZHMgKGNsaWVudGFyZWFhZGRmdW5kcy50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYWFkZGZ1bmRzIC53aG1jc2NvbnRhaW5lciAuY2FyZCAudGFibGUge1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogUHJvZHVjdCBEZXRhaWxzIChjbGllbnRhcmVhcHJvZHVjdGRldGFpbHMudHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudGFyZWFwcm9kdWN0ZGV0YWlscyAud2htY3Njb250YWluZXIgLm1iLTIge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWNoaWxkKSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudGFyZWFwcm9kdWN0ZGV0YWlscyAud2htY3Njb250YWluZXIgLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1zdGF0dXMgaDMge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudGFyZWFwcm9kdWN0ZGV0YWlscyAud2htY3Njb250YWluZXIgLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1zdGF0dXMgaDQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudGFyZWFwcm9kdWN0ZGV0YWlscyAud2htY3Njb250YWluZXIgLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1zdGF0dXMgaDMsIFxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRhcmVhcHJvZHVjdGRldGFpbHMgLndobWNzY29udGFpbmVyIC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3Qtc3RhdHVzIGg0IHtcblx0Zm9udC1zaXplOiAwLjRlbTtcbn1cblxuLyogVmlldyBUaWNrZXQgKHZpZXd0aWNrZXQudHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXd0aWNrZXQgLndobWNzY29udGFpbmVyIC50aWNrZXQtYnV0dG9ucyB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY2hpbGQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld3RpY2tldCAud2htY3Njb250YWluZXIgLnZpZXctdGlja2V0IC50aWNrZXQtcmVwbHkgLnBvc3RlZC1ieSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCk7XG5cdHBhZGRpbmc6IC43NXJlbSAxLjI1cmVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld3RpY2tldCAud2htY3Njb250YWluZXIgLnZpZXctdGlja2V0IC50aWNrZXQtcmVwbHkgLnBvc3RlZC1ieSAucmVxdWVzdG9yLWJhZGdlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld3RpY2tldCAud2htY3Njb250YWluZXIgLnZpZXctdGlja2V0IC50aWNrZXQtcmVwbHkuc3RhZmYgLnBvc3RlZC1ieSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3dGlja2V0IC53aG1jc2NvbnRhaW5lciAudmlldy10aWNrZXQgLnRpY2tldC1yZXBseS5zdGFmZiAucG9zdGVkLWJ5IC5yZXF1ZXN0b3ItYmFkZ2Uge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld3RpY2tldCAud2htY3Njb250YWluZXIgLnZpZXctdGlja2V0IC50aWNrZXQtcmVwbHkgLm1lc3NhZ2Uge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWlubmVyKSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXd0aWNrZXQgLndobWNzY29udGFpbmVyIC52aWV3LXRpY2tldCAudGlja2V0LXJlcGx5IC5tZXNzYWdlIGhyIHtcblx0Y2xlYXI6IGJvdGg7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld3RpY2tldCAud2htY3Njb250YWluZXIgLnZpZXctdGlja2V0IC50aWNrZXQtcmVwbHkgLm1lc3NhZ2UgLnRpY2tldC1zdXBwb3J0IHtcblx0Ym9yZGVyLXRvcDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZGl2aWRlcikgMXB4IHNvbGlkOyBcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctaW5uZXIpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXd0aWNrZXQgLndobWNzY29udGFpbmVyIC52aWV3LXRpY2tldCAudGlja2V0LXJlcGx5IC5yYXRpbmcsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXd0aWNrZXQgLndobWNzY29udGFpbmVyIC52aWV3LXRpY2tldCAudGlja2V0LXJlcGx5IC5yYXRpbmctZG9uZSB7XG5cdG1hcmdpbjogMTdweCAwIDAgMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3dGlja2V0IC53aG1jc2NvbnRhaW5lciAudmlldy10aWNrZXQgLnRpY2tldC1yZXBseSAuYXR0YWNobWVudHMge1xuICAgIGJvcmRlci10b3A6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWRpdmlkZXIpIDFweCBzb2xpZDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWlubmVyKSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXd0aWNrZXQgLndobWNzY29udGFpbmVyIC52aWV3LXRpY2tldCAudGlja2V0LXJlcGx5IC5hdHRhY2htZW50LWxpc3QgbGkge1xuICAgIHdpZHRoOiAxNTBweDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3dGlja2V0IC53aG1jc2NvbnRhaW5lciAudmlldy10aWNrZXQgLnRpY2tldC1yZXBseSAuYXR0YWNobWVudC1saXN0IGxpIGEgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld3RpY2tldCAud2htY3Njb250YWluZXIgLnZpZXctdGlja2V0IC50aWNrZXQtcmVwbHkgLmF0dGFjaG1lbnQtbGlzdCBsaSBhIC5jYXB0aW9uIHtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogQ2xpZW50IEFyZWEgU2VjdXJpdHkgKGNsaWVudGFyZWFzZWN1cml0eS50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYXNlY3VyaXR5IC53aG1jc2NvbnRhaW5lciAuYm9vdHN0cmFwLXN3aXRjaCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY2hpbGQpO1xufVxuXG4vKiBDbGllbnQgQXJlYSBEZXRhaWxzIChjbGllbnRhcmVhZGV0YWlscy50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYWRldGFpbHMgLndobWNzY29udGFpbmVyIC5idG4tZGVmYXVsdCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIENsaWVudCBBcmVhIERvbWFpbiBEZXRhaWxzIChjbGllbnRhcmVhZG9tYWluZGV0YWlscy50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYWRvbWFpbmRldGFpbHMgLndobWNzY29udGFpbmVyIC5jb2wtbGctNiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY2hpbGQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudGFyZWFkb21haW5kZXRhaWxzIC53aG1jc2NvbnRhaW5lciAuY29sLWxnLTYgaDUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8qIEFjY291bnQgQ29udGFjdHMgTmV3IChhY2NvdW50LWNvbnRhY3RzLW5ldy50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtYWNjb3VudC1jb250YWN0cy1uZXcgLndobWNzY29udGFpbmVyIC5idG4tZGVmYXVsdCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFubm91bmNlbWVudHMgKGFubm91bmNlbWVudHMudHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFubm91bmNlbWVudHMgLndobWNzY29udGFpbmVyIC5wcmltYXJ5LWNvbnRlbnQgLmNhcmQgLmNhcmQtdGl0bGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFubm91bmNlbWVudHMgLndobWNzY29udGFpbmVyIC5wcmltYXJ5LWNvbnRlbnQgLmNhcmQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xufSAgICBcblxuLndobWNzLXRlbXBsYXRlZmlsZS1hbm5vdW5jZW1lbnRzIC53aG1jc2NvbnRhaW5lciAucHJpbWFyeS1jb250ZW50IC5jYXJkIC5jYXJkLWJvZHkge1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtYW5ub3VuY2VtZW50cyAud2htY3Njb250YWluZXIgLmFubm91bmNlbWVudHMgLmFubm91bmNlbWVudCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgYm9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWNoaWxkKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFubm91bmNlbWVudHMgLndobWNzY29udGFpbmVyIC5hbm5vdW5jZW1lbnRzIC5hbm5vdW5jZW1lbnQ6OmFmdGVyIHtcblx0Y2xlYXI6IGJvdGg7XG5cdGRpc3BsYXk6IHRhYmxlO1xuXHRjb250ZW50OiBcIlwiO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFubm91bmNlbWVudHMgLndobWNzY29udGFpbmVyIC5hbm5vdW5jZW1lbnRzIC5hbm5vdW5jZW1lbnQgaDEge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zcGFjaW5nLWNoaWxkKSAwO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDA7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtYW5ub3VuY2VtZW50cyAud2htY3Njb250YWluZXIgLmFubm91bmNlbWVudHMgLmFubm91bmNlbWVudCBoMSBhIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1oZWFkLWZvcmVncm91bmQpO1xuXHRmb250LXNpemU6IDAuOGVtO1xuXHRwYWRkaW5nOiA1cHggMDtcblx0ZGlzcGxheTogYmxvY2s7XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hbm5vdW5jZW1lbnRzIC53aG1jc2NvbnRhaW5lciAuYW5ub3VuY2VtZW50cyAuYW5ub3VuY2VtZW50IC5saXN0LWlubGluZSB7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy1pbm5lcik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hbm5vdW5jZW1lbnRzIC53aG1jc2NvbnRhaW5lciAuYW5ub3VuY2VtZW50cyAuYW5ub3VuY2VtZW50IGFydGljbGUge1xuXHRtYXJnaW46IDAgdmFyKC0tc3BhY2luZy1pbm5lcikgdmFyKC0tc3BhY2luZy1jaGlsZCkgdmFyKC0tc3BhY2luZy1pbm5lcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtYW5ub3VuY2VtZW50cyAud2htY3Njb250YWluZXIgLmFubm91bmNlbWVudHMgLmFubm91bmNlbWVudCAuYnRuIHtcblx0bWFyZ2luOiAwIHZhcigtLXNwYWNpbmctY2hpbGQpIHZhcigtLXNwYWNpbmctY2hpbGQpIDA7XG5cdGZsb2F0OiByaWdodDtcdFxufVxuXG4vKiBWaWV3IEFubm91bmNlbWVudCAoYW5ub3VuY2VtZW50cy50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2Fubm91bmNlbWVudCAud2htY3Njb250YWluZXIgLnByaW1hcnktY29udGVudCAuY2FyZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG59ICAgIFxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdhbm5vdW5jZW1lbnQgLndobWNzY29udGFpbmVyIC5wcmltYXJ5LWNvbnRlbnQgLmNhcmQgLmNhcmQtYm9keSB7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3YW5ub3VuY2VtZW50IC53aG1jc2NvbnRhaW5lciAucHJpbWFyeS1jb250ZW50IC5jYXJkIGgxIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3YW5ub3VuY2VtZW50IC53aG1jc2NvbnRhaW5lciAucHktNSB7XG5cdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2Fubm91bmNlbWVudCAud2htY3Njb250YWluZXIgLmxpc3QtaW5saW5lIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdhbm5vdW5jZW1lbnQgLndobWNzY29udGFpbmVyIC5idXR0b24xIHtcblx0bWFyZ2luOiA1cHg7XG59XG5cbi8qIE1hcmtldGNvbm5lY3QgKi9cblxuLndobWNzY29udGFpbmVyIC5iZy13aGl0ZSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cblxuLndobWNzY29udGFpbmVyIC5iZy1saWdodCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAubmF2YmFyLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1kaXZpZGVyKSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAubmF2YmFyLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgPiBsaTpsYXN0LWNoaWxkID4gYSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1kaXZpZGVyKSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpO1xufVxuLndobWNzY29udGFpbmVyIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAubmF2YmFyIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5tYXJrZXRnb28gLmZlYXR1cmUtd3JhcHBlciB7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAudGV4dDIwIGgyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWhlYWRpbmcpO1xufVxuXG4vKiBQcm9tbyBiYW5uZXIgKGRpc3BsYXllZCBpbiBjbGllbnRhcmVhaG9tZS50cGwpICovXG5cbi53aG1jc2NvbnRhaW5lciAucHJvbW8tY29udGFpbmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4ud2htY3Njb250YWluZXIgLnByb21vLWJhbm5lci5zeW1hbnRlYyxcbi53aG1jc2NvbnRhaW5lciAucHJvbW8tYmFubmVyLndlZWJseSxcbi53aG1jc2NvbnRhaW5lciAucHJvbW8tYmFubmVyLnNwYW1leHBlcnRzLFxuLndobWNzY29udGFpbmVyIC5wcm9tby1iYW5uZXIuc2l0ZWxvY2ssXG4ud2htY3Njb250YWluZXIgLnByb21vLWJhbm5lci5jb2RlZ3VhcmQsXG4ud2htY3Njb250YWluZXIgLnByb21vLWJhbm5lci5zaXRlbG9ja3Zwbixcbi53aG1jc2NvbnRhaW5lciAucHJvbW8tYmFubmVyLm1hcmtldGdvbyxcbi53aG1jc2NvbnRhaW5lciAucHJvbW8tYmFubmVyLm94LFxuLndobWNzY29udGFpbmVyIC5wcm9tby1iYW5uZXIuc2l0ZWJ1aWxkZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG59XG5cbi53aG1jc2NvbnRhaW5lciAucHJvbW8tYmFubmVyIGEsXG4ud2htY3Njb250YWluZXIgLnByb21vLWJhbm5lciBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbn1cblxuLyogU1NMIENlcnRpZmljYXRlcyAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3NsXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC52YWxpZGF0aW9uLWxldmVscyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLnZhbGlkYXRpb24tbGV2ZWxzIGgzXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3NsXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIHAuaGVscC1tZS1jaG9vc2UgYSxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgYS5oZWxwLW1lLWNob29zZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAudmFsaWRhdGlvbi1sZXZlbHMgLml0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLnZhbGlkYXRpb24tbGV2ZWxzIC5pdGVtIHAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm9keSk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLnZhbGlkYXRpb24tbGV2ZWxzIC5pdGVtIC5idG4ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAudmFsaWRhdGlvbi1sZXZlbHMgLml0ZW0gLmJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3NsXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC5zc2wtYmVuZWZpdHMgaSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmNvbXBldGl0aXZlLXVwZ3JhZGUtcHJvbW8ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn0gICAgXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLnN0YW5kb3V0LTIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm9keSk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmRldGFpbGVkLWluZm8ge1xuXHRwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuYWNjb3JkaW9uIHtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3NsXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC5kZXRhaWxlZC1pbmZvIC5jYXJkIHtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3NsXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC5kZXRhaWxlZC1pbmZvIC5jYXJkLWhlYWRlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kKTsgICAgXG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmRldGFpbGVkLWluZm8gLmNhcmQtaGVhZGVyIGg0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWhlYWQtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmRldGFpbGVkLWluZm8gLmNhcmQtYm9keSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmRldGFpbGVkLWluZm8gLmNhcmQtYm9keSBoNCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCB1bC5zc2wtY2VydHMtYWxsIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1kaXZpZGVyKSAxcHggc29saWQ7XG59XG5cbi8qIFNTTCBzdWIgcGFnZXMgKi9cblxuLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC5pZGVhbC1mb3IuZHYgaSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuY2VydGlmaWNhdGUtb3B0aW9ucyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmNlcnRpZmljYXRlLW9wdGlvbnMgaDMsXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLnJvdy1wcmljaW5nLXRhYmxlIC5oZWFkZXIgaDQge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmNlcnRpZmljYXRlLW9wdGlvbnMgLmNvbC1tZC0zLnNpZGViYXIgdWwgbGksXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmNlcnRpZmljYXRlLW9wdGlvbnMgLmNvbC1tZC00LnNpZGViYXIgdWwgbGksXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmNlcnRpZmljYXRlLW9wdGlvbnMgLmNvbC1tZC02LnNpZGViYXIgdWwgbGkge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xuXHRib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC5yb3ctcHJpY2luZy10YWJsZSB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLnJvdy1wcmljaW5nLXRhYmxlIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC5jZXJ0aWZpY2F0ZS1vcHRpb25zIC5idG4ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcdFxufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmNlcnRpZmljYXRlLW9wdGlvbnMgLmJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XHRcbn1cblxuLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC5mZWF0dXJlcyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0cGFkZGluZzogNTBweCB2YXIoLS1zcGFjaW5nLWlubmVyKSA1MHB4O1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmZlYXR1cmVzIGgzIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kLWJvbGQpO1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmZlYXR1cmVzIC5mZWF0dXJlLFxuLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC5mZWF0dXJlcyAuZmVhdHVyZTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kLWJvbGQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmZlYXR1cmVzIC5mZWF0dXJlIGkge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kLWJvbGQpO1xufVxuXG4vKiBWUE4gKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmRpdmlkaW5nLWxpbmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2t2cG5cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9ja3ZwbiAuaGVybyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5oZXJvLWJnIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWNoaWxkKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5oZXJvIGgxIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmhlcm8gaDIge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2t2cG5cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9ja3ZwbiAuYnRuLXN0YXJ0IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5idG4tc3RhcnQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2t2cG5cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9ja3ZwbiAuZmVhdHVyZS5hbHRlcm5hdGUtYmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDA7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5mZWF0dXJlLnByaWNpbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5mZWF0dXJlLnByaWNpbmcgaDIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5mZWF0dXJlLnByaWNpbmcgLnByaWNpbmctYm94IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5mZWF0dXJlLnByaWNpbmcgLmN5Y2xlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1oZWFkLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1oZWFkLWZvcmVncm91bmQpO1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWhlYWQtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmZlYXR1cmUucHJpY2luZyAucHJpY2Uge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5mZWF0dXJlLnByaWNpbmcgdWwgbGkge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWRpdmlkZXIpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2t2cG5cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9ja3ZwbiAuZmVhdHVyZSAubGFiZWwtaW5mbyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5idG4tc2lnbnVwIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2t2cG5cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9ja3ZwbiAuZmVhdHVyZS53b3JsZCBzcGFuIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5mZWF0dXJlLmNvdW50cmllcyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi8qIFdlYnNpdGUgQnVpbGRlciAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvd2VlYmx5XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UgLmZlYXR1cmVzIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xuICAgIGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAuZmVhdHVyZXMgaDQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS53ZWVibHkgLndlZWJseS1saXRlLXBsYW4ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWlubmVyKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3dlZWJseVxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLndlZWJseSAud2VlYmx5LWxpdGUtcGxhbiBoNCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS53ZWVibHkgLndlZWJseS1saXRlLXBsYW4gaDUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS53ZWVibHkgLndlZWJseS1saXRlLXBsYW4gLmJ0bi1zaWdudXAge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS53ZWVibHkgLndlZWJseS1saXRlLXBsYW4gLmJ0bi1zaWdudXA6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHggIWltcG9ydGFudDtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvd2VlYmx5XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UgLnByaWNpbmctaXRlbSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbiAgICBib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvd2VlYmx5XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UgLnByaWNpbmctaXRlbSAuaGVhZGVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0cGFkZGluZzogMTFweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAucHJpY2luZy1pdGVtIC5oZWFkZXIgaDQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvd2VlYmx5XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UgLnByaWNpbmctaXRlbSAuaGVhZGVyIGg1IHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1oZWFkLWZvcmVncm91bmQpO1xuXHRtYXJnaW46IDA7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAucHJpY2luZy1pdGVtIC5wcmljZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3dlZWJseVxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5wcmljaW5nLWl0ZW0gLmZlYXR1cmUtaGVhZGluZyB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAucHJpY2luZy1pdGVtIHVsIGxpIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWRpdmlkZXIpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvd2VlYmx5XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uud2VlYmx5IC5mYXEge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvd2VlYmx5XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uud2VlYmx5IC5mYXEgaDMsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvd2VlYmx5XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uud2VlYmx5IC5mYXEgaDQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi8qIFdlYnNpdGUgQmFja3VwICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9jb2RlZ3VhcmRcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5jb2RlZ3VhcmQgLnN0cm9uZy1ncmVlbiBzcGFuIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9jb2RlZ3VhcmRcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5jb2RlZ3VhcmQgLm92ZXJ2aWV3LWZlYXR1cmVzIGxpIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvY29kZWd1YXJkXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UuY29kZWd1YXJkIC5vdmVydmlldy1mZWF0dXJlcyBzcGFuIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJvZHkpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvY29kZWd1YXJkXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UuY29kZWd1YXJkIC5wcmljaW5nIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL2NvZGVndWFyZFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLmNvZGVndWFyZCAucHJpY2luZyBoMiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9jb2RlZ3VhcmRcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5jb2RlZ3VhcmQgLm9yZGVyLWJ0biB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCkgIWltcG9ydGFudDtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHggIWltcG9ydGFudDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL2NvZGVndWFyZFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLmNvZGVndWFyZCAub3JkZXItYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZCkgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZCkgIWltcG9ydGFudDtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9jb2RlZ3VhcmRcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5jb2RlZ3VhcmQgLmZhcXMge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xufVxuXG4vKiBXZWJzaXRlIFNlY3VyaXR5ICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5wbGFucyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5wbGFucyBoMixcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5wbGFucyBoMyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLnBsYW5zIC5wbGFuIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5wbGFucyAucGxhbiAuaGVhZGVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1oZWFkLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1oZWFkLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtaGVhZC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLnBsYW5zIC5wbGFuIC5oZWFkZXIgaDQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAucGxhbnMgLnBsYW4gLmhlYWRlciBwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtaGVhZC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLnBsYW5zIC5wbGFuIC5oZWFkZXIgaDQge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLnBsYW5zIC5wbGFuIHVsIGxpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1kaXZpZGVyKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLnBsYW5zIC5wbGFuIHVsIGxpIHNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAucGxhbnMgLnBsYW4gLmJ0biB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kKTtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLnBsYW5zIC5wbGFuIC5idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5mZWF0dXJlcyAuZmFzLFxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLmZlYXR1cmVzIC5mYXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAuZW1lcmdlbmN5IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xuXHRwYWRkaW5nOiA4MHB4IDIwcHg7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5lbWVyZ2VuY3kgaDIudGV4dC1kYW5nZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCkgIWltcG9ydGFudDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLmVtZXJnZW5jeSBoMyB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgaDQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5lbWVyZ2VuY3kgLmZhcyxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5lbWVyZ2VuY3kgLmZhciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5lbWVyZ2VuY3kgLmJ0biB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCkgIWltcG9ydGFudDtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHggIWltcG9ydGFudDtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAuZW1lcmdlbmN5IC5idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHggIWltcG9ydGFudDtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAuZmFxIC5hY2NvcmRpb24ge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAuY2FyZCAuY2FyZC1oZWFkZXIgaDQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWhlYWQtZm9yZWdyb3VuZCkgIWltcG9ydGFudDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5hY2NvcmRpb24gPiAuY2FyZDpub3QoOmxhc3Qtb2YtdHlwZSksXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmFjY29yZGlvbiA+IC5tYy1wcm9tby1sb2dpbjpub3QoOmxhc3Qtb2YtdHlwZSksXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmFjY29yZGlvbiA+IC5tYy1wcm9tby1tYW5hZ2U6bm90KDpsYXN0LW9mLXR5cGUpIHtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKSBzb2xpZDtcbn1cblxuLyogRW1haWwgU2VjdXJpdHkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NwYW1leHBlcnRzXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UubWFpbC1zZXJ2aWNlcyAucHJvZHVjdC1vcHRpb25zIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3BhbWV4cGVydHNcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5tYWlsLXNlcnZpY2VzIC5wcm9kdWN0LW9wdGlvbnMgLml0ZW0ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5wcm9kdWN0LW9wdGlvbnMgaDQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3BhbWV4cGVydHNcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAucHJvZHVjdC1vcHRpb25zIGkge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm1haWwtc2VydmljZXMgLnByb2R1Y3Qtb3B0aW9ucyAucHJpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3BhbWV4cGVydHNcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAucHJvZHVjdC1vcHRpb25zIC5pdGVtIC5idG4ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5wcm9kdWN0LW9wdGlvbnMgLml0ZW0gLmJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NwYW1leHBlcnRzXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UubWFpbC1zZXJ2aWNlcyAucHJvZHVjdC1vcHRpb25zIC5idG4tYnV5IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcdFx0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm1haWwtc2VydmljZXMgLnByb2R1Y3Qtb3B0aW9ucyAuYnRuLWJ1eTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XHRcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3BhbWV4cGVydHNcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAubGlnaHQtZ3JleS1iZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJvZHkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NwYW1leHBlcnRzXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UgLnRhYi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm1haWwtc2VydmljZXMgLmJlbmVmaXRzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5nZXQtc3RhcnRlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZCk7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3BhbWV4cGVydHNcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAuZ2V0LXN0YXJ0ZWQgaDIsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3BhbWV4cGVydHNcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAuZ2V0LXN0YXJ0ZWQgaDQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3BhbWV4cGVydHNcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAuZ2V0LXN0YXJ0ZWQgLnByaWNlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NwYW1leHBlcnRzXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UgLmZhcSBoMyB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1oZWFkaW5nKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NwYW1leHBlcnRzXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UgLmdldC1zdGFydGVkIC5idG4tb3JkZXItbm93IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcdFx0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5nZXQtc3RhcnRlZCAuYnRuLW9yZGVyLW5vdzpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XHRcdFxufVxuXG4vKiBTRU8gVG9vbHMgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL21hcmtldGdvb1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm1hcmtldGdvbyAudmlkZW8tYmFubmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzQ2YjdmYjtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL21hcmtldGdvb1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm1hcmtldGdvbyAucGxhbiB1bCB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL21hcmtldGdvb1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm1hcmtldGdvbyAucGxhbi5sYWJlbHMgdWwgbGkge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9tYXJrZXRnb29cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5tYXJrZXRnb28gLnBsYW4gdWwgbGkge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9tYXJrZXRnb29cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5tYXJrZXRnb28gLnBsYW4ubWFya2V0Z29vX3BybyAuaGVhZGVyIGg0IHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9tYXJrZXRnb29cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5tYXJrZXRnb28gLnBsYW4gLmhlYWRlciAuYmVzdC12YWx1ZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvbWFya2V0Z29vXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UubWFya2V0Z29vIC5wbGFuLm1hcmtldGdvb19wcm8gdWwge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvbWFya2V0Z29vXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UubWFya2V0Z29vIC50ZXN0aW1vbmlhbHMgLnRlc3RpbW9uaWFsIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJvZHkpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvbWFya2V0Z29vXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UubWFya2V0Z29vIC5jYXJvdXNlbCAuY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9tYXJrZXRnb29cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5tYXJrZXRnb28gLmZhcXMge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLyogUHJvZmVzc2lvbmFsIEVtYWlsICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9veFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm94IC5oZWFkZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL294XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uub3ggLmhlYWRlciBoMSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9veFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm94IC5zdGFuZC1vdXQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpOyAgICBcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL294XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uub3ggLnN0YW5kLW91dCBoMiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL294XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uub3ggaDMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3hcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5veCAuZmFxcyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTsgIFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpOyAgXG59IFxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3hcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5veCAucHJpY2luZyB0YWJsZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9veFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm94IC5wcmljaW5nIHRhYmxlIHRyOm50aC1jaGlsZCgybikgdGQ6Zmlyc3QtY2hpbGQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3hcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5veCAucHJpY2luZyB0ZDpub3QoLm5vLWJvcmRlciksXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3hcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5veCAucHJpY2luZyB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3hcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5veCAucHJpY2luZyAucHJpY2luZy1sYWJlbCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1oZWFkaW5nKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL294XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uub3ggLnByaWNpbmcgdGgge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kKTtcbn1cblxuLyogU2l0ZSBCdWlsZGVyICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlYnVpbGRlclxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC5ib2xkLWxpbmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWJ1aWxkZXJcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlYnVpbGRlciAuaGVybyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlYnVpbGRlclxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC5pbnRybyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWJ1aWxkZXJcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlYnVpbGRlciAubmF2LXRhYnMgPiBsaSA+IGEge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcdFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWJ1aWxkZXJcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlYnVpbGRlciAubmF2LXRhYnMgPiBsaSA+IGE6aG92ZXIsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWJ1aWxkZXJcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlYnVpbGRlciAubmF2LXRhYnMgPiBsaSA+IGEuYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kLWJvbGQpO1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlYnVpbGRlclxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC5mZWF0dXJlcyBwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJvZHkpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWJ1aWxkZXJcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlYnVpbGRlciAudGVtcGxhdGVzIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWJ1aWxkZXJcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlYnVpbGRlciAudGVtcGxhdGVzIC5wcmV2aWV3cyBpbWcsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWJ1aWxkZXJcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlYnVpbGRlciAudGVtcGxhdGVzIC5wcmV2aWV3cyAuc2hvdy1tb3JlIGRpdiB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWJ1aWxkZXJcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlYnVpbGRlciAudGVtcGxhdGVzIC5wcmV2aWV3cyAudHBsbmFtZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1oZWFkaW5nKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVidWlsZGVyXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWJ1aWxkZXIgLnByaWNpbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGhlaWdodDogODkzcHg7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlYnVpbGRlclxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC5wcmljaW5nIGgyLCAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC5wcmljaW5nIHAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCk7XG59XG5cbi8qIENhcnQgLSBTdGFuZGFyZCBDYXJ0ICovXG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0ICNvcmRlci1zdGFuZGFyZF9jYXJ0IGxhYmVsIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJvZHkpO1xuXHRmb250LXNpemU6IDFlbTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IHtcblx0Zm9udC1zaXplOiAxZW07IC8qIFVuc2V0IHBpeGVsIGZvbnQgKi9cbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5jYXJ0LXNpZGViYXIgeyAvKiBSZW1vdmUgc2lkZWJhciAqL1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuY2FydC1ib2R5IHtcblx0d2lkdGg6IDEwMCU7XG5cdGZsb2F0OiBub25lO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnNpZGViYXItY29sbGFwc2VkIHsgLyogUmVtb3ZlIG1vYmlsZSBjYXRlZ29yaWVzICovXG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZm9udC1zaXplLTM2IHsgLyogSDEgKi9cblx0Zm9udC1zaXplOiAyZW07XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5mb250LXNpemUtMzY6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAtMTBweDtcdFxuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiAycHg7XG5cdGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9oZWFkaW5nLWJhY2tncm91bmQucG5nXCIpIGxlZnQgdG9wIG5vLXJlcGVhdDtcdFxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIFN1YmhlYWRpbmcgKi9cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zdWItaGVhZGluZyxcbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuc3ViLWhlYWRpbmctYm9yZGVybGVzcyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuc3ViLWhlYWRpbmcgc3Bhbixcbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuc3ViLWhlYWRpbmctYm9yZGVybGVzcyBzcGFuIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgcGFkZGluZzogMDtcblx0Zm9udC1zaXplOiAxLjVlbTtcblx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNwYWNpbmctY2hpbGQpIDA7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuYWRkb24tcHJvbW8tY29udGFpbmVyIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLyogT3JkZXIgU3VtbWFyeSAqL1xuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLm9yZGVyLXN1bW1hcnkge1xuXHRtYXJnaW46IDAgMCAyMHB4IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgYm9yZGVyOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1x0XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLm9yZGVyLXN1bW1hcnksXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgI29yZGVyU3VtbWFyeSB7XG5cdG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgLyogU3RvcHMgdGhlIHNjcm9sbCBlZmZlY3Qgd2hpY2ggaXMgdG9vIGJ1Z2d5IHRvIGtlZXAgYWN0aXZlICovXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLm9yZGVyLXN1bW1hcnkgaDIge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1oZWFkLWZvcmVncm91bmQpO1xuICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuc3VtbWFyeS1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWlubmVyKTtcblx0Zm9udC1zaXplOiAwLjllbTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5vcmRlci1zdW1tYXJ5IC5zdW1tYXJ5LXRvdGFscyB7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZGl2aWRlcikgMXB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWRpdmlkZXIpIDFweCBzb2xpZDtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5vcmRlci1zdW1tYXJ5IC5sb2FkZXIge1xuICAgIHRvcDogMTVweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLm9yZGVyLXN1bW1hcnkgLmJ0bi1jb250aW51ZS1zaG9wcGluZyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbn1cblxuLyogUHJvZHVjdCBJbmZvICovXG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAucHJvZHVjdC1pbmZvIHtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc3BhY2luZy1jaGlsZCkgMDtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctY2hpbGQpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wcm9kdWN0LWluZm8gLnByb2R1Y3QtdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4vKiBBZGRvbnMgKi9cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wYW5lbC1hZGRvbiB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAucGFuZWwtYWRkb24gLnBhbmVsLWJvZHkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAucGFuZWwtYWRkb24gLnBhbmVsLWJvZHkgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kLWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnBhbmVsLWFkZG9uIC5wYW5lbC1wcmljZSB7XG4gICAgcGFkZGluZzogNXB4IHZhcigtLXNwYWNpbmctaW5uZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtZm9vdGVyLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvb3Rlci1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wYW5lbC1hZGRvbiAucGFuZWwtYWRkIHtcbiAgICBwYWRkaW5nOiA1cHggdmFyKC0tc3BhY2luZy1pbm5lcik7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kKTtcbiAgICB0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJvcmRlcikgM3B4IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLyogU2VsZWN0ZWQgKi9cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wYW5lbC1hZGRvbi1zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJvcmRlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAucGFuZWwtYWRkb24tc2VsZWN0ZWQgLnBhbmVsLWFkZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQpO1xuICAgIHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wYW5lbC1hZGRvbi1zZWxlY3RlZCAucGFuZWwtcHJpY2Uge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvb3Rlci1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvb3Rlci1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb290ZXItYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9vdGVyLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9vdGVyLWZvcmVncm91bmQpO1xufVxuXG4vKiBEb21haW4gU2VsZWN0IC0gVXNlZCB3aGVuIG9yZGVyaW5nIGEgcHJvZHVjdCB3aXRoIGRvbWFpbiAtIGFsc28gc3R5bGVzIHRoZSB0YWJsZS9yZXN1bHRzIG9uIGRvbWFpbnJlZ2lzdGVyLnRwbCAqL1xuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1zZWxlY3Rpb24tb3B0aW9ucyAub3B0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctaW5uZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpOyAgIFxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTsgXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXNlbGVjdGlvbi1vcHRpb25zIC5vcHRpb24tc2VsZWN0ZWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZCk7XHRcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tc2VsZWN0aW9uLW9wdGlvbnMgLm9wdGlvbiBsYWJlbCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1zZWxlY3Rpb24tb3B0aW9ucyAub3B0aW9uLXNlbGVjdGVkIGxhYmVsIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLWlucHV0LWdyb3VwIHtcblx0bWFyZ2luOiAyMHB4IDAgMCAwO1xufVxuXG4vKiBEb21haW4gUmVzdWx0cyAqL1xuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1jaGVja2VyLWF2YWlsYWJsZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnNwb3RsaWdodC10bGRzIHtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdG1hcmdpbjogMTVweCAwIHZhcigtLXNwYWNpbmctY2hpbGQpIDBcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zcG90bGlnaHQtdGxkLWNvbnRhaW5lci0yIHtcblx0d2lkdGg6IDMzLjMzJTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zcG90bGlnaHQtdGxkIHtcblx0aGVpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWlubmVyKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zcG90bGlnaHQtdGxkIC5zcG90bGlnaHQtdGxkLXNhbGUsXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnNwb3RsaWdodC10bGQgLnNwb3RsaWdodC10bGQtaG90LFxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zcG90bGlnaHQtdGxkIC5zcG90bGlnaHQtdGxkLW5ldyB7XG4gICAgd2lkdGg6IDEwNXB4O1xuICAgIHRvcDogMnB4O1xuICAgIHJpZ2h0OiAtMzRweDtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zcG90bGlnaHQtdGxkIC5idG46bm90KC5kb21haW4tY29udGFjdC1zdXBwb3J0KSB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiAgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWJvcmRlcik7XG4gICAgY29sb3I6ICB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpO1xuICAgIHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnN1Z2dlc3RlZC1kb21haW5zIC5wYW5lbC1oZWFkaW5nIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkOyBcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWhlYWQtZm9yZWdyb3VuZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMDtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zdWdnZXN0ZWQtZG9tYWlucyAubGlzdC1ncm91cC1pdGVtIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLXRvcDogbm9uZTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zdWdnZXN0ZWQtZG9tYWlucyAubGlzdC1ncm91cC1pdGVtIC5leHRlbnNpb24ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuc3VnZ2VzdGVkLWRvbWFpbnMgLmxpc3QtZ3JvdXAtaXRlbSAucHJpY2Uge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuc3VnZ2VzdGVkLWRvbWFpbnMgLmxpc3QtZ3JvdXAtaXRlbSAuYnRuOm5vdCguZG9tYWluLWNvbnRhY3Qtc3VwcG9ydCkge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZCA7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuc3VnZ2VzdGVkLWRvbWFpbnMgLmxpc3QtZ3JvdXAtaXRlbSAuYnRuOm5vdCguZG9tYWluLWNvbnRhY3Qtc3VwcG9ydCk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1x0XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuc3VnZ2VzdGVkLWRvbWFpbnMgLmNhcmQtZm9vdGVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vKiBDb25maWd1cmUgRG9tYWlucyAoY29uZmlndXJlZG9tYWlucy50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY29uZmlndXJlZG9tYWlucyAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmFkZG9uLXByb2R1Y3RzIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJvcmRlcikgMXB4IHNvbGlkO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNvbmZpZ3VyZWRvbWFpbnMgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5hZGRvbi1wcm9kdWN0cyAucGFuZWwge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWNoaWxkKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcdFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNvbmZpZ3VyZWRvbWFpbnMgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5hZGRvbi1wcm9kdWN0cyAucGFuZWwgLnBhbmVsLWJvZHkge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWlubmVyKTtcbn1cblxuLyogQ29uZmlndXJlIFByb2R1Y3QgKGNvbmZpZ3VyZXByb2R1Y3QudHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNvbmZpZ3VyZXByb2R1Y3QgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0ICNpbnB1dEJpbGxpbmdjeWNsZSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBDb25maWd1cmUgUHJvZHVjdCBTdG9yZSAoc3RvcmUvb3JkZXIpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9vcmRlciAud2htY3Njb250YWluZXIgLmJ0bi1kZWZhdWx0IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL29yZGVyIC53aG1jc2NvbnRhaW5lciAuY2FyZC5tdC01IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL29yZGVyIC53aG1jc2NvbnRhaW5lciAuc3RvcmUtcHJvbW90ZWQtcHJvZHVjdCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9vcmRlciAud2htY3Njb250YWluZXIgLnN0b3JlLW9yZGVyLWNvbnRhaW5lciAubmF2LXRhYnMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9vcmRlciAud2htY3Njb250YWluZXIgLnN0b3JlLW9yZGVyLWNvbnRhaW5lciAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKSB2YXIoLS1jb2xvci1ib3JkZXIpICNmZmY7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9vcmRlciAud2htY3Njb250YWluZXIgLnN0b3JlLW9yZGVyLWNvbnRhaW5lciAuc3RvcmUtZG9tYWluLXRhYi1jb250ZW50IHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4vKiBQcm9kdWN0cyAocHJvZHVjdHMudHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXByb2R1Y3RzIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAucHJvZHVjdHMgLnByb2R1Y3Qge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcik7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcblx0cGFkZGluZzogMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnByb2R1Y3RzIC5wcm9kdWN0IGhlYWRlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdG1hcmdpbjogMCAwIDVweCAwO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDA7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtcHJvZHVjdHMgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wcm9kdWN0cyAucHJvZHVjdCBoZWFkZXIgc3BhbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnByb2R1Y3RzIC5wcm9kdWN0IGRpdi5wcm9kdWN0LWRlc2Mge1xuXHRmb250LXNpemU6IDFlbTtcbn1cblxuLyogSG92ZXIgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnByb2R1Y3RzIC5wcm9kdWN0OmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtcHJvZHVjdHMgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wcm9kdWN0cyAucHJvZHVjdDpob3ZlciBoZWFkZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWhlYWQtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtaGVhZC1iYWNrZ3JvdW5kLWJvcmRlcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtcHJvZHVjdHMgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wcm9kdWN0cyAucHJvZHVjdDpob3ZlciBoZWFkZXIgc3BhbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWhlYWQtZm9yZWdyb3VuZCk7XG59XG5cbi8qIFJlZ2lzdGVyIERvbWFpbiAoZG9tYWluLXByaWNpbmcudHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbi1wcmljaW5nIC53aG1jc2NvbnRhaW5lciAuZmVhdHVyZWQtdGxkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWluLXByaWNpbmcgLndobWNzY29udGFpbmVyIC50bGQtZmlsdGVycyBhIHtcblx0cGFkZGluZzogMTBweDtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWluLXByaWNpbmcgLndobWNzY29udGFpbmVyIC50bGQtZmlsdGVycyBhLmJhZGdlLXN1Y2Nlc3Mge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcbn1cblxuLyogRG9tYWluIFJlZ2lzdGVyIChkb21haW5yZWdpc3Rlci50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tY2hlY2tlci1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWJhbm5lcikgdXJsKFwiLi4vaW1hZ2VzL2JhY2tncm91bmQ1LmpwZ1wiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tY2hlY2tlci1jb250YWluZXIgLmlucHV0LWdyb3VwLWJveCB7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLWNoZWNrZXItY29udGFpbmVyIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cyk7XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1jaGVja2VyLWJnIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy1wYXJlbnQpIDA7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5mZWF0dXJlZC10bGQge1xuICAgIG1hcmdpbjogMCAwIHZhcigtLXNwYWNpbmctY2hpbGQpIDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTsgICAgXG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5mZWF0dXJlZC10bGQgLmltZy1jb250YWluZXIgaW1nIHtcblx0ZGlzcGxheTogaW5saW5lO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZmVhdHVyZWQtdGxkIC5wcmljZSB7XG4gICAgcGFkZGluZzogNXB4IHZhcigtLXNwYWNpbmctaW5uZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kKTtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgM3B4IHNvbGlkOyAgICBcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5mb250LXNpemUtMTgge1xuXHRmb250LXNpemU6IDEuN2VtO1xuXHRsaW5lLWhlaWdodDogMS4yZW07XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC50bGQtZmlsdGVycyBhIHtcblx0cGFkZGluZzogMTNweCAyMHB4O1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1x0XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XHRcblx0bWFyZ2luOiA4cHggNXB4IDhweCAwO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnRsZC1maWx0ZXJzIGEuYmFkZ2Utc3VjY2VzcyB7IC8qIEFjdGl2ZSBidXR0b24gKi9cblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtZm9yZWdyb3VuZCk7XHRcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKTtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuYmctd2hpdGUge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWNoaWxkKTtcdFxuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXByaWNpbmcgLnRsZC1wcmljaW5nLWhlYWRlciBkaXY6bnRoLWNoaWxkKDJuKzEpLFxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1wcmljaW5nIC50bGQtcHJpY2luZy1oZWFkZXIgLmNvbC14cy00IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1oZWFkLWZvcmVncm91bmQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRwYWRkaW5nOiA1cHggMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1wcmljaW5nIC50d28tcm93LWNlbnRlciB7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXByaWNpbmcgLnRsZC1yb3cge1xuXHRwYWRkaW5nOiA4cHggMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1kaXZpZGVyKSAxcHggc29saWQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tcHJpY2luZyAudGxkLXJvdy5oaWdobGlnaHRlZCB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuIFxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1wcm9tby1ib3gge1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zcGFjaW5nLWNoaWxkKSAwO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctaW5uZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXByb21vLWJveCBoMyB7XG5cdGZvbnQtc2l6ZTogMS44ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjFlbTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1wcm9tby1ib3ggaDMsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXByb21vLWJveCBwIHtcblx0bWFyZ2luOiAwIDAgMTVweCAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXByb21vLWJveCBwIHtcblx0Zm9udC1zaXplOiAxZW07XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tcHJvbW8tYm94IC5zbWFsbCB7XG5cdG1hcmdpbjogMTVweCAwIDAgMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1wcm9tby1ib3ggLnRleHQtcHJpbWFyeSxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tcHJvbW8tYm94IC50ZXh0LXdhcm5pbmcge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xufVxuXG4vKiBEb21haW4gVHJhbnNmZXIgKGRvbWFpbnRyYW5zZmVyLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW50cmFuc2ZlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmZvbnQtc2l6ZS0zNixcbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWludHJhbnNmZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5mb250LXNpemUtMzAge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnRyYW5zZmVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCBwIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogS25vd2xlZGdlYmFzZSBzdHlsZSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWtub3dsZWRnZWJhc2VhcnRpY2xlIC5tYWlubWFpbiBhcnRpY2xlIHVsIGxpIHtcblx0cGFkZGluZzogN3B4IDAgN3B4IDA7XG5cdGxpc3Qtc3R5bGU6IGRpc2MgaW5zaWRlO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWtub3dsZWRnZWJhc2VhcnRpY2xlIC5tYWlubWFpbiBhcnRpY2xlIG9sIGxpIHtcblx0cGFkZGluZzogN3B4IDAgN3B4IDA7XG5cdGxpc3Qtc3R5bGU6IG51bWJlcmQgaW5zaWRlO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWtub3dsZWRnZWJhc2VhcnRpY2xlIC5tYWlubWFpbiBhcnRpY2xlIHRhYmxlIHRkIHtcblx0Ym9yZGVyOiAjMDAwIDFweCBzb2xpZDtcblx0cGFkZGluZzogNXB4O1xufVxuXG4vKiBWaWV3IENhcnQgKHZpZXdjYXJ0LnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnZpZXctY2FydC1pdGVtcy1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDE1cHggMTVweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWhlYWQtZm9yZWdyb3VuZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRmb250LXNpemU6IDFlbTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnZpZXctY2FydC1pdGVtcyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgYm9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAudmlldy1jYXJ0LWl0ZW1zIC5pdGVtIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWRpdmlkZXIpIDFweCBzb2xpZDtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy1pbm5lcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC52aWV3LWNhcnQtaXRlbXMgLml0ZW06bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnZpZXctY2FydC1pdGVtcyAuaXRlbS10aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC52aWV3LWNhcnQtaXRlbXMgLml0ZW0tZG9tYWluIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5lbXB0eS1jYXJ0IHtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc3BhY2luZy1jaGlsZCkgMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZW1wdHktY2FydCAuYnRuIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcdFxuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1x0XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XHRcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5lbXB0eS1jYXJ0IC5idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpO1x0XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWZvcmVncm91bmQpO1x0XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1x0XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogQ2hlY2tvdXQgKHZpZXdjYXJ0LnRwbCAtIGV2ZW4gb24gdGhlIGNoZWNrb3V0IHBhZ2UpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5jaGVja291dC1zZWN1cml0eS1tc2cge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZmllbGQtY29udGFpbmVyIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAjb3JkZXItc3RhbmRhcmRfY2FydCAuY2MtaW5wdXQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWNoaWxkKTtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctY2hpbGQpO1xuXHRib3JkZXI6IHVuc2V0O1xuXHRib3JkZXItdG9wOiB2YXIoLS1jb2xvci1ib3JkZXIpIDFweCBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0ICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5hY2NvdW50LXNlbGVjdC1jb250YWluZXIge1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmFjY291bnQtc2VsZWN0LWNvbnRhaW5lciBkaXYuYWNjb3VudC5ib3JkZXItYm90dG9tIHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmFjY291bnQtc2VsZWN0LWNvbnRhaW5lciBkaXYuYWNjb3VudCB7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogbm9uZTtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAjb3JkZXItc3RhbmRhcmRfY2FydCAuYWNjb3VudC1zZWxlY3QtY29udGFpbmVyIGRpdi5hY2NvdW50LmFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0ICNvcmRlci1zdGFuZGFyZF9jYXJ0ICNjb250YWluZXJOZXdVc2VyU2VjdXJpdHkge1xuXHRtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0ICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5tYXJrZXRpbmctZW1haWwtb3B0aW4ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWNoaWxkKTtcbn1cblxuLyogQ2FydCAtIFByZW1pdW0gQ29tcGFyaXNvbiAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXByb2R1Y3RzICNvcmRlci1wcmVtaXVtX2NvbXBhcmlzb24gLnByaWNlLXRhYmxlLWNvbnRhaW5lciB1bCBsaSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtcHJvZHVjdHMgI29yZGVyLXByZW1pdW1fY29tcGFyaXNvbiAucHJpY2UtdGFibGUtY29udGFpbmVyIC5wcmljZS10YWJsZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0Ym94LXNoYWRvdzogbm9uZTtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXByb2R1Y3RzICNvcmRlci1wcmVtaXVtX2NvbXBhcmlzb24gLnByaWNlLXRhYmxlLWNvbnRhaW5lciAucHJpY2UtdGFibGUgLnRvcC1oZWFkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAjb3JkZXItcHJlbWl1bV9jb21wYXJpc29uIC5wcmljZS10YWJsZS1jb250YWluZXIgLnByaWNlLXRhYmxlIC50b3AtaGVhZCAudG9wLWFyZWEgaDQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWhlYWQtZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAjb3JkZXItcHJlbWl1bV9jb21wYXJpc29uIC5wcmljZS10YWJsZS1jb250YWluZXIgLnByaWNlLXRhYmxlIC50b3AtaGVhZCAudG9wLWFyZWEge1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtcHJvZHVjdHMgI29yZGVyLXByZW1pdW1fY29tcGFyaXNvbiAucHJpY2UtdGFibGUtY29udGFpbmVyIC5wcmljZS10YWJsZSAudG9wLWhlYWQgLnByaWNlLWFyZWEge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtZm9vdGVyLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1x0XG5cdGJvcmRlci10b3A6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb290ZXItZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1ib3gtZm9vdGVyLWZvcmVncm91bmQtc2hhZG93KTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAjb3JkZXItcHJlbWl1bV9jb21wYXJpc29uIC5wcmljZS10YWJsZS1jb250YWluZXIgLm9yZGVyLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1x0XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpO1x0XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1x0XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1x0XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXByb2R1Y3RzICNvcmRlci1wcmVtaXVtX2NvbXBhcmlzb24gLnByaWNlLXRhYmxlLWNvbnRhaW5lciAub3JkZXItYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1x0XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcdFxuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XHRcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XHRcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59Il0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==*/